0

我正在尝试使用 NLopt 优化函数。

我尝试使用 NLopt.jl 中的示例,但无法修复错误。

using JuMP
using NLopt

m = Model(solver=NLoptSolver(algorithm=:LD_MMA))

a1 = 2
b1 = 0
a2 = -1
b2 = 1

@variable(m, x1)
@variable(m, x2 >= 0)

@NLobjective(m, Min, sqrt(x2))
@NLconstraint(m, x2 >= (a1*x1+b1)^3)
@NLconstraint(m, x2 >= (a2*x1+b2)^3)

setvalue(x1, 1.234)
setvalue(x2, 5.678)

status = solve(m)

println("got ", getobjectivevalue(m), " at ", [getvalue(x1),getvalue(x2)])


我不知道如何使用 with_optimizer。

4

1 回答 1

0

对于那些仍在寻找的人,目前还没有解决问题的办法。

目前,JuMP 使用语法

model = Model(optimizer) set_optimizer_attribute(model, "attribue", value)

这将是为 NLoptSolver 设置“算法”= 算法属性的正确方法。

但是,NLoptSolver 包尚未更新以允许在没有算法属性的情况下加载优化器,因此目前无法使用 JuMP。

资源

于 2020-03-02T17:54:34.873 回答