«Недопустимые аргументы NLopt» в JuMP с базовым примером. - PullRequest
0 голосов
/ 29 октября 2018

Я новичок в JuMP, Юлия. Я запускаю очень простой пример и получаю странную ошибку.

using JuMP 
using NLopt

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

@variable(m1, x, start = 0.0) 
@variable(m1, y, start = 0.0)
@NLobjective(m1, Min, (1-x)^2 + 100(y-x^2)^2)
solve(m1)
println("x = ", getvalue(x), " y = ", getvalue(y))

#adding a (linear) constraint
@constraint(m1, x + y == 10) 
solve(m1) 
println("x = ", getvalue(x), " y = ", getvalue(y))

1 Ответ

0 голосов
/ 29 октября 2018

Вы используете решатель, который не поддерживает ограничения равенства. Измените настройку вашей модели, например ::

m1 = Model(solver=NLoptSolver(algorithm=:LD_AUGLAG))

и все должно работать.

Здесь https://nlopt.readthedocs.io/en/latest/NLopt_Algorithms/ у вас есть обзор алгоритмов, доступных в NLopt.

...