Создайте структуру задачи оптимизации
problem = createOptimProblem('solverName')
problem = createOptimProblem('solverName','ParameterName',ParameterValue,...)
problem = createOptimProblem('solverName')
создает пустую структуру задачи оптимизации для solverName
решатель.
problem = createOptimProblem('solverName','ParameterName',ParameterValue,...)
принимает одну или несколько пар имя/значение параметра, разделенных запятыми. Задайте ParameterName
внутри одинарные кавычки.
| Имя решателя. Для |
| Матрица для линейных ограничений равенства. Ограничения имеют форму:
|
| Матрица для линейных ограничений неравенства. Ограничения имеют форму:
|
| Вектор для линейных ограничений равенства. Ограничения имеют форму:
|
| Вектор для линейных ограничений неравенства. Ограничения имеют форму:
|
| Вектор нижних границ.
|
| Указатель на функцию для нелинейной функции ограничения. Функция ограничения должна принимать вектор Если на Для получения дополнительной информации см. Раздел «Ограничения записи» |
| Указатель на функцию к целевой функции. Для всех решателей, кроме Для получения дополнительной информации см. «Вычисление целевых функций». |
| Опции оптимизации. Создайте опции с |
| Вектор верхних границ.
|
| Вектор, потенциальная начальная точка для оптимизации. Задает размерность задачи.
|
| Вектор точек данных для |
| Вектор точек данных для |
| Структура задачи оптимизации. |
Создайте структуру задачи, используя функцию Розенбрка как цель (см. Гибридную схему в Генетическом алгоритме), interior-point
алгоритм для fmincon
, и границы с абсолютным значением 2
:
anonrosen = @(x)(100*(x(2) - x(1)^2)^2 + (1-x(1))^2); opts = optimoptions(@fmincon,'Algorithm','interior-point'); problem = createOptimProblem('fmincon','x0',randn(2,1),... 'objective',anonrosen,'lb',[-2;-2],'ub',[2;2],... 'options',opts);