在网上搜了很多过时的英文教程,浪费了很多时间。可能之前用Julia调用SCIP还是比较繁琐的,因为我搜到的教程也都是官方的,可能就是太旧了,但是目前要用Julia调用SCIP就两步:
一、安装SCIP求解器
二、安装SCIP接口的包"SCIP.jl"
一、安装SCIP求解器:
SCIP求解器去官网下载exe文件,下完之后就下一步、下一步安装就行,不需要下载源码再手动编译,需要注意:
1)版本,最新版的求解器可能接口还没做好,所以我下的是7.0.0
2)环境变量一定要设置
具体过程参考:
https://www.cnblogs.com/dengfaheng/p/10041488.html
二、安装“SCIP.jl”
我安装的版本号是0.9.5
(@v1.5) pkg> add SCIP@v0.9.5
(@v1.5) pkg> build SCIP
按道理来讲这样应该就可以运行了
我的测试代码:
using JuMP
using SCIP
gp = Model(SCIP.Optimizer)
@variable(gp, a, Bin)
@variable(gp, b, Bin)
@objective(gp, Min, a+b)
optimize!(gp)
输出:
feasible solution found by trivial heuristic after 0.0 seconds, objective value 0.000000e+00
presolving:
presolving (1 rounds: 1 fast, 0 medium, 0 exhaustive):
2 deleted vars, 0 deleted constraints, 0 added constraints, 0 tightened bounds, 0 added holes, 0 changed sides, 0 changed coefficients
0 implications, 0 cliques
transformed 1/3 original solutions to the transformed problem space
Presolving Time: 0.00
SCIP Status : problem is solved [optimal solution found]
Solving Time (sec) : 0.00
Solving Nodes : 0
Primal Bound : +0.00000000000000e+00 (3 solutions)
Dual Bound : +0.00000000000000e+00
Gap : 0.00 %
但是中途可能会有很多问题,比如报错说没有设置环境变量什么的可以去Julia论坛搜一搜,另外重启电脑、卸载重装都是解决问题的有效方法。。