Optimization Toolbox™ решатели сгруппированы в четыре основные категории:
Решатели в этой группе пытаются найти локальный минимум целевой функции около начальной точки x0
. Они решают проблемы без оптимизации без ограничений, линейного программирования, квадратичного программирования, конусного программирования и общего нелинейного программирования.
Мультиобъективные минимизаторы
Решатели в этой группе пытаются либо минимизировать максимальное значение набора функций (fminimax
), или найти место, где набор функций ниже некоторых заданных значений (fgoalattain
).
Решатели в этой группе пытаются найти решение для скалярно-илей векторно-значных нелинейных уравнение f (x ) = 0 около начальной точки x0
. Решение уравнений может быть рассмотрено как форма оптимизации, потому что это эквивалентно нахождению минимальной нормы f (x) около x0
.
Решатели методом наименьших квадратов (аппроксимирование кривыми)
Решатели в этой группе пытаются минимизировать сумму квадратов. Этот тип проблемы часто возникает в подборе кривой модели к данным. Решатели решают задачи нахождения неотрицательных решений, нахождения ограниченных или линейно ограниченных решений и подбора параметризованных нелинейных моделей к данным.
Для получения дополнительной информации см. «Задачи, обрабатываемые функциями Optimization Toolbox». Смотрите Таблицу решений по оптимизации для помощи в выборе решателя для минимизации.
Минимизаторы формулируют задачи оптимизации в форме
возможно, с учетом ограничений. f (x) называется objective function. В целом f (x) является скалярной функцией типа double
, и x является вектором или скаляром типа double
. Однако мультиобъективная оптимизация, решение уравнений и некоторые минимизаторы суммы квадратов могут иметь векторные или матричные целевые функции F (x) типа double
. Чтобы использовать решатели Optimization Toolbox для максимизации вместо минимизации, смотрите Максимизацию Цели.
Запишите целевую функцию для решателя в виде файла функции или указателя на анонимную функцию. Можно задать градиент ∇f (x) для многих решателей, и можно задать Гессиан для нескольких решателей. См. «Запись целевой функции». Ограничения имеют специальную форму, как описано в Write Constraints.