createOptimProblem

Создайте структуру задачи оптимизации

Синтаксис

problem = createOptimProblem('solverName')
problem = createOptimProblem('solverName','ParameterName',ParameterValue,...)

Описание

problem = createOptimProblem('solverName') создает пустую структуру задачи оптимизации для solverName решатель.

problem = createOptimProblem('solverName','ParameterName',ParameterValue,...) принимает один или несколько разделенное от запятой название параметра / пары значения. Задайте ParameterName в одинарных кавычках.

Входные параметры

solverName

Имя решателя. Для GlobalSearch проблема, использовать 'fmincon'. Для MultiStart проблема, использовать 'fmincon', 'fminunc', 'lsqcurvefit' или 'lsqnonlin'.

Аргументы name-value

Aeq

Матрица для линейных ограничений равенства. Ограничения имеют форму:

Aeq x = beq

Aineq

Матрица для линейных ограничений неравенства. Ограничения имеют форму:

Aineq xbineq

beq

Вектор для линейных ограничений равенства. Ограничения имеют форму:

Aeq x = beq

bineq

Вектор для линейных ограничений неравенства. Ограничения имеют форму:

Aineq xbineq

lb

Вектор из нижних границ.

lb может также быть массив; смотрите Матричные аргументы.

nonlcon

Указатель на функцию к нелинейной ограничительной функции. Ограничительная функция должна принять векторный x и возвратите два вектора: c, нелинейные ограничения неравенства и ceq, нелинейные ограничения равенства. Если один из этих, ограничение функционирует, пуст, nonlcon должен возвратить [] для этой функции.

Если GradConstr опцией является 'on', затем, кроме того, nonlcon должен возвратить два дополнительных выходных параметра, gradc и gradceq. gradc параметр является матрицей с одним столбцом для градиента каждого ограничения, как gradceq.

Для получения дополнительной информации смотрите Ограничения Записи.

objective

Указатель на функцию к целевой функции. Для всех решателей кроме lsqnonlin и lsqcurvefit, целевая функция должна принять векторный x и возвратите скаляр. Если GradObj опцией является 'on', затем целевая функция должна возвратить второй выходной параметр, вектор, представляя градиент цели. Для lsqnonlin, целевая функция должна принять векторный x и возвратите вектор. lsqnonlin суммирует квадраты значений целевой функции. Для lsqcurvefit, целевая функция должна принять два входных параметров, x и xdata, и возвратите вектор.

Для получения дополнительной информации смотрите, Вычисляют Целевые функции.

options

Опции оптимизации. Создайте опции с optimoptions.

ub

Вектор из верхних границ.

ub может также быть массив; смотрите Матричные аргументы.

x0

Вектор, потенциальная начальная точка для оптимизации. Дает размерность проблемы.

x0 может также быть массив; смотрите Матричные аргументы.

xdata

Вектор из точек данных для lsqcurvefit.

ydata

Вектор из точек данных для lsqcurvefit.

Выходные аргументы

problem

Структура задачи оптимизации.

Примеры

Создайте структуру задачи с помощью функции Розенброка в качестве цели (см. Гибридную Схему в Генетическом алгоритме), 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);
Введен в R2010a