Решите между основанным на проблеме и основанным на решателе подходом

Используйте решатель Global Optimization Toolbox, чтобы оптимизировать несглаженную функцию, искать глобальное решение или решить многоцелевую задачу. Используйте подход, основанный на проблеме для более простого способа настроить и решить задачи.

Подход, основанный на проблеме имеет эти общие преимущества:

  • Легче настроить и отладить. В подходе, основанном на проблеме вы используете переменные символьного стиля, чтобы создать выражения оптимизации и ограничения. В основанном на решателе подходе необходимо поместить все переменные в один вектор, который может быть неловким, особенно с переменными больших или отличающихся размерностей.

  • Легче запустить другие решатели на той же проблеме. Некоторые решатели имеют различные синтаксисы вызова. Например, синтаксис для нелинейных ограничений в surrogateopt отличается от синтаксиса во всех других решателях. Запускать проблему с помощью обоих surrogateopt и другой решатель в основанном на решателе подходе, необходимо создать различные версии целевой функции. В отличие от этого подход, основанный на проблеме заботится о переводе синтаксисов, таким образом, необходимо поменять только имя решателя и возможно некоторые опции.

  • Способный получить соответствующий решатель автоматически. solve функция автоматически выбирает решатель, который может обработать вашу цель и ограничения. В основанном на решателе подходе необходимо выбрать соответствующий решатель.

  • Способный автоматически ускорить решение проблем, где объективные и нелинейные ограничения вычисляются в той же длительной функции (обычно симуляции). Часто, решатель симуляции или ОДУ вычисляет объективные и нелинейные ограничения в той же функции. Когда вы преобразуете длительную функцию в использование выражения оптимизации fcn2optimexpr, можно сэкономить время решения путем установки 'ReuseEvaluation' аргумент к true. Эта установка заставляет решатель стараться не повторно вычислять длительную функцию при оценке объективных и нелинейных ограничений. При достижении этого экономия времени в основанном на решателе подходе может потребовать дополнительного программирования, как показано в примере Объективные и Нелинейные Ограничения в Той же Функции.

Подход, основанный на проблеме имеет эти ограничения, когда используется с решателями Global Optimization Toolbox:

Похожие темы