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