NLopt无效参数

时间:2016-04-01 14:26:31

标签: python python-2.7 mathematical-optimization nlopt

我使用带有python绑定的NLopt库。

opt = nlopt.opt(nlopt_algorithm, N)
opt.set_max_objective(func_to_maximize)
opt.set_lower_bounds(lower_bounds)
opt.set_upper_bounds(upper_bounds)
opt.set_maxeval(100)
xopt = opt.optimize(x0)

当我使用nlopt_algorithm = nlopt.LN_SBPLX时效果很好。但是,如果我使用nlopt_algorithm = nlopt.GN_DIRECT_L,则会因错误而失败:

  

ValueError:nlopt无效参数

有谁知道为什么会这样?我错过了一些论点吗?

1 个答案:

答案 0 :(得分:1)

问题来自这样一个事实,即并非所有变量都定义了约束约束。对于全局优化,NLopt要求所有参数都具有上限和下限。