Некоторые примечания:
(1) " Ipopt сначала ищет глобальный ответ и, если он не находит, что предоставит локальный ответ "
Это, вероятно, некак бы я это сформулировал.IPOPT находит локальные решения.Для некоторых проблем это будет глобальное решение.Для выпуклых задач это всегда так (кроме числовых вопросов).
(2) Bonmin - местный решатель MINLP, Couenne - глобальный решатель NLP / MINLP.Обычно Bonmin может решать более крупные задачи, чем Couenne, но вы получаете локальные решения.
(3) " ПРИМЕЧАНИЕ. По умолчанию вы используете Ipopt с линейным решателем MUMPS. Другие линейные решатели могут быть более эффективными (см. документацию Ipopt)."
Это просто уведомление о том, что вы используете IPOPT с процедурами линейной алгебры из MUMPS.Существуют и другие линейные вспомогательные решатели, которые IPOPT может использовать и которые могут лучше работать при больших проблемах.Часто процедуры HARWELL (обычно называемые MAnn) дают лучшую производительность.MUMPS бесплатен, в то время как процедурам Harwell требуется лицензия.
В последующем ответе (ну, это вообще не ответ) указано:
Относительно Ipoptкак я могу понять, что это поиск глобального решения или локального оптимума?код сообщит что?Что касается Бонмина в соответствии со страницей AMPL, AMPL предоставляет глобальное решение для выпуклой задачи «Находит глобально оптимальные решения выпуклых нелинейных задач в непрерывных и дискретных переменных и может применяться эвристически к невыпуклым задачам».И вы говорили, что получено местное решение, я немного запутался в этой части.Но общий вопрос обо всех этих кодах таков: как я могу узнать, что ответ является глобальным оптимумом?
(а) Ипопт не знает, является ли решение локальным или глобальным оптимальным решением.Для выпуклых задач локальный оптимум является глобальным оптимальным решением.Вам нужно будет убедить себя, что проблема, которую вы передаете Ipopt, является выпуклой (Ipopt не сделает этого за вас).
(b) Бонмин: то же самое: если проблема выпуклая, она найдет глобальные решения.В противном случае вы получите местное решение.Вы не получите уведомления о том, является ли решение глобальным решением: Bonmin не знает, является ли решение глобальным оптимумом.
(c) При поиске гарантированных глобальных решений вы можете использовать локальный решатель, только когда проблемавыпуклыйДля других проблем вам нужен глобальный решатель.Другой подход заключается в использовании многозапускаемого алгоритма с локальным решателем.Это дает вам уверенность в том, что вы не получите плохой локальный оптимум.
Если возможно, предлагаю обсудить это с вашим учителем.Эти понятия важно понять (и большинство руководств по набору решений предполагают, что вы о них знаете).