如何在 GEKKO 中指定 NLP 求解器设置?

How to specify NLP solver settings in GEKKO?

我有一个简短的问题,

在 GEKKO 的文档中,提到了 "APMonitor provides the following to a Nonlinear Programming Solver (APOPT, BPOPT, IPOPT, MINOS, SNOPT) in sparse form"。

我想知道如何在 GEKKO 中更改这些设置。 默认情况下,我可以在结果摘要中看到 IPOPT。

例如,在this中提到了postm.solver_options。但我不太确定如何使用它来指定求解器类型(APOPT、BPOPT、IPOPT、MINOS、SNOPT)。

有关如何执行此操作的任何建议都会有所帮助

GEKKO 求解器选项可以更改,如 documentation 所示。 APOPT 的求解器可以更改为 m.options.SOVLER=1,BPOPT 的 m.options.SOVLER=2,IPOPT 的 m.options.SOVLER=3。还有其他求解器选项,但不是公开可用的版本。以下是 APOPT 的几个选项:

m.solver_options = ['minlp_gap_tol 1.0e-2',\
                    'minlp_maximum_iterations 10000',\
                    'minlp_max_iter_with_int_sol 500']

Options for IPOPT 同样在每个条目之间用逗号指定。所有选项必须作为一个列表包含在 m.solver_options.