1
我使用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 invalid argument
有谁知道这是为什么?我是否缺少一些论点?
您是否尝试过其他全局优化算法?在C中,GN_DIRECT_L对我来说工作得很好,但如果我没有记错的话,在选择未缩放的变体时我有类似的错误。 – Tony
其他全局优化失败。让我检查一下,这可能是设置绑定约束的问题。 – DevShark
谢谢@托尼。这是因为我的约束没有为所有参数定义。 – DevShark