Как указать настройки NLP solver в GEKKO? - PullRequest
3 голосов
/ 09 апреля 2020

У меня быстрый вопрос,

В документации GEKKO упоминается: «APMonitor предоставляет следующее для решателя нелинейного программирования (APOPT, BPOPT, IPOPT, MINOS, SNOPT) в разреженной форме».

Я хотел бы знать, как изменить эти настройки в GEKKO. По умолчанию я мог видеть IPOPT в сводке результатов.

Например, в упоминается эта запись m.solver_options. Но я не совсем уверен, как использовать это, чтобы указать тип решателя (APOPT, BPOPT, IPOPT, MINOS, SNOPT).

Любые предложения о том, как это сделать, будут полезны

1 Ответ

2 голосов
/ 10 апреля 2020

Опции решателя GEKKO можно изменить, как показано в документации . Решатель можно изменить с помощью m.options.SOVLER=1 для APOPT, m.options.SOVLER=2 для BPOPT и m.options.SOVLER=3 для IPOPT. Есть и другие варианты решателя, но не в общедоступной версии. Вот несколько параметров для APOPT:

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

Параметры для IPOPT аналогично указываются через запятую между каждой записью. Все опции должны быть включены в единый список с m.solver_options.

...