NLopt 无效参数
NLopt invalid argument
我使用 NLopt 库,具有 python 个绑定。
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 invalid argument
有人知道这是为什么吗?我是否遗漏了一些参数?
问题出在并非我的所有变量都定义了约束条件这一事实。对于全局优化,NLopt 要求所有参数都有一个上限和一个下限。
我使用 NLopt 库,具有 python 个绑定。
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 invalid argument
有人知道这是为什么吗?我是否遗漏了一些参数?
问题出在并非我的所有变量都定义了约束条件这一事实。对于全局优化,NLopt 要求所有参数都有一个上限和一个下限。