Создайте структуру задачи оптимизации
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);