显示Julia的JuMP和NLopt优化例程的每个迭代结果
问题描述:
我发现了JuMP和NLopt例子的组合,当我试图看到Julia实现不同的优化例程时。显示Julia的JuMP和NLopt优化例程的每个迭代结果
以下示例(可在此处找到:https://github.com/JuliaOpt/NLopt.jl)为您提供了最终解决方案,而无需其他步骤。
虽然这可能是简单的问题,OK,对于一些我们需要看到每个迭代如何去
我的问题是(例如它在每次迭代收敛?):如何将下面的代码可以被如此修改以显示每次迭代的次数和错误(我们希望它变得越来越小)?
我希望我自己清楚(代码如下):
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)])
顺便说一句:在这里(http://ab-initio.mit.edu/wiki/index.php/NLopt_Algorithms#Nelder-Mead_Simplex),我们可以找到所有NLOpt可能的算法。我想尝试与Nelder-Mead,而不是LD_MMA
我输入NLOPT_LN_NELDERMEAD
,但无济于事。有谁知道所有这些算法的捷径。那可以在Julia中使用?
=>无
您应该问一个单独的问题列出算法符号。 – user4235730 2014-11-22 23:49:59