Решатели Optimization Toolbox

Optimization Toolbox™ решатели сгруппированы в четыре основные категории:

  • Minimizers

    Решатели в этой группе пытаются найти локальный минимум целевой функции около начальной точки x0. Они решают проблемы без оптимизации без ограничений, линейного программирования, квадратичного программирования, конусного программирования и общего нелинейного программирования.

  • Мультиобъективные минимизаторы

    Решатели в этой группе пытаются либо минимизировать максимальное значение набора функций (fminimax), или найти место, где набор функций ниже некоторых заданных значений (fgoalattain).

  • Решатели уравнений

    Решатели в этой группе пытаются найти решение для скалярно-илей векторно-значных нелинейных уравнение f (x ) = 0 около начальной точки x0. Решение уравнений может быть рассмотрено как форма оптимизации, потому что это эквивалентно нахождению минимальной нормы f (x) около x0.

  • Решатели методом наименьших квадратов (аппроксимирование кривыми)

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

Для получения дополнительной информации см. «Задачи, обрабатываемые функциями Optimization Toolbox». Смотрите Таблицу решений по оптимизации для помощи в выборе решателя для минимизации.

Минимизаторы формулируют задачи оптимизации в форме

minxf(x),

возможно, с учетом ограничений. f (x) называется objective function. В целом f (x) является скалярной функцией типа double, и x является вектором или скаляром типа double. Однако мультиобъективная оптимизация, решение уравнений и некоторые минимизаторы суммы квадратов могут иметь векторные или матричные целевые функции F (x) типа double. Чтобы использовать решатели Optimization Toolbox для максимизации вместо минимизации, смотрите Максимизацию Цели.

Запишите целевую функцию для решателя в виде файла функции или указателя на анонимную функцию. Можно задать градиент ∇f (x) для многих решателей, и можно задать Гессиан для нескольких решателей. См. «Запись целевой функции». Ограничения имеют специальную форму, как описано в Write Constraints.