Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
julia中有非线性混合整数解算器吗?_Julia_Julia Jump - Fatal编程技术网

julia中有非线性混合整数解算器吗?

julia中有非线性混合整数解算器吗?,julia,julia-jump,Julia,Julia Jump,你能帮我纠正这个错误吗错误:解算器不支持离散变量。 例如,在下面的代码中 using JuMP,CPUTime, Distributions, Ipopt #parameters-------------------------------------------------------- sig=0.86; #--------------------------------------------------------------------------- ALT=Model(solver=

你能帮我纠正这个错误吗<代码>错误:解算器不支持离散变量。

例如,在下面的代码中

using JuMP,CPUTime, Distributions, Ipopt
#parameters--------------------------------------------------------
sig=0.86;
#---------------------------------------------------------------------------
ALT=Model(solver=IpoptSolver());
# variables-----------------------------------------------------------------
f(x) = cdf(Normal(0, 1), x);
JuMP.register(ALT, :f, 1, f; autodiff = true);
@variable(ALT, h >= 0);
@variable(ALT, L >= 0);
@variable(ALT, n, Int);
#-------------------------------------------------------------------
@NLexpression(ALT,k7,1-f(L-sig*sqrt(n))+f(-L-sig*sqrt(n)));
#constraints--------------------------------------------------------
@NLconstraint(ALT, f(-L) <= 1/400);
#-------------------------------------------------------------------
@NLobjective(ALT, Min, 1/k7)
solve(ALT)
使用跳转、CPUTime、分发、Ipopt
#参数--------------------------------------------------------
sig=0.86;
#---------------------------------------------------------------------------
ALT=Model(solver=IpoptSolver());
#变数-----------------------------------------------------------------
f(x)=cdf(正常值(0,1),x);
寄存器(ALT,:f,1,f;autodiff=true);
@变量(ALT,h>=0);
@变量(ALT,L>=0);
@变量(ALT,n,Int);
#-------------------------------------------------------------------
@NL表达(ALT,k7,1-f(L-sig*sqrt(n))+f(-L-sig*sqrt(n));
#约束条件--------------------------------------------------------

@NLconstraint(ALT,f(-L)此处提供了有关模型类型的跳转求解器及其功能的完整列表

根据此列表,以下解算器支持混合整数非线性规划:

  • KNITRO.jl
  • Juniper.jl
  • SCIP.jl
还有一个值得注意的问题是,跳转文档中没有提到洛斯阿拉莫斯的
Alpine.jl

我建议尝试从
Juniper.jl
开始。因为它使用启发式和其他解算器,所以您的
Model
行可能如下所示:

m = Model(optimizer_with_attributes(Juniper.Optimizer, "nl_solver"=>optimizer_with_attributes(Ipopt.Optimizer, "print_level" => 0), "mip_solver"=>optimizer_with_attributes(Cbc.Optimizer, "logLevel" => 0)))

Thabks非常感谢。你能帮我更多的忙吗。我能用Gurobi或Cplex来代替Cbc吗?我怎样才能应用JuliaPro 0.6.4.1版本的解算器?我真的很感谢你的善意帮助。是的,你可以-那些解算器只是Juniper启发式的参数。关于Julia版本,你可以假设任何超过1.0的解算器都不起作用在当前的软件包生态系统中,您需要更新版本的JuliaPro。