4 Условная оптимизация
Здесь мы используем функцию MatLab fminbnd(находит минимум функции одной переменной для фиксированного интервала).
Поиск минимума функции одной переменной для фиксированного интервала когда x, x1 и x2 есть скаляры, а f(x) - функция, которая возвращает скаляр
|
-
x = fminbnd(fun,x1,x2) возвращает значение x, которое является локальным минимумом скалярной функции, представленной как fun в интервале x1 < x < x2.
that is a local minimizer of the scalar valued function that is described
-
x = fminbnd(fun,x1,x2,options) производит оптимизацию с параметрами, заданными в структуре опций
-
x = fminbnd(fun,x1,x2,options,P1,P2,...) предусматривает дополнительные аргументы P1, P2, и т.д., которые передаются в целевую функцию fun. Используйте опции =[], как заполнитель, если опции не устанавливаются как таковые.
-
[x,fval] = fminbnd(...) возвращает значение целевой функции, вычисленной fun от как x
-
[x,fval,exitflag] = fminbnd(...) возвращает значение exitflag, которое описывает выходные условия fminbnd.
-
[x,fval,exitflag,output] = fminbnd(...) возвращает выходную структуру с информацией об оптимизации.
fmincon находит минимум для скалярной функции нескольких переменных с ограничениями начиная с начального приближения. В общем случае, эта задача относится к нелинейной оптимизации с ограничениями или к нелинейному программированию.
-
x = fmincon(fun,x0,A,b) начинает с точки x0 и находит минимум от х для функции представленной как fun при условии выполнения линейных неравенств A*x <= b. x0 может быть скаляром, вектором или матрицей.
-
x = fmincon(fun,x0,A,b,Aeq,beq) минимизирует fun при условии выполнения линейных равенств Aeq*x = beq, а так же A*x <= b. Устанавливается A=[] и b=[] в случае отсутствия неравенств.
-
x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub) определяет набор нижних и верхних ограничений на конструируемые переменные х так, что решение всегда находится в диапазоне lb <= x <= ub. Устанавливается Aeq=[] and beq=[] в случае отсутствия равенств.
-
x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon) подчиняет минимизацию определенных в nonlcon fmincon нелинейных неравенств c(x) или равенств ceq(x) такому оптимуму, что c(x) <= 0 и ceq(x) = 0. Устанавливается lb=[] и/илиr ub=[] в случае отсутствия ограничений.
-
x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options) проводит минимизацию с оптимизационными параметрами, определенными в структурной опции.
-
x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options,P1,P2,...) передает зависящие от типа задачи параметры непосредственно в функции fun и nonlcon. Передает пустые матрицы заменители для A, b, Aeq, beq, lb, ub, nonlcon и options в случае, если эти аргументы не являются необходимыми.
-
[x,fval] = fmincon(...) возвращает значение целевой функции fun как решение от х.
-
[x,fval,exitflag] = fmincon(...) возвращает значение exitflag, которое содержит описание выходных условий fmincon.
-
[x,fval,exitflag,output] = fmincon(...) возвращает структурный выход с информацией об оптимизации.
-
[x,fval,exitflag,output,lambda] = fmincon(...) возвращает структурную lambda с полями, содержащими множители Лагранжа в виде решения от х.
-
[x,fval,exitflag,output,lambda,grad] = fmincon(...) возвращает значение градиента от fun в виде решения от х.
-
[x,fval,exitflag,output,lambda,grad,hessian] = fmincon(...) возвращает значения матрицы Гессе от fun в виде решения от х.
5 Безусловная оптимизация
Для решения задач в среде MatLab используются функции fminsearch и fminunc.
Fminsearch использует метод симплексного поиска. Это метод прямого поиска, который в отличие от fminunc не использует численные или аналитические значения градиентов. Однако, когда задача является существенно разрывной, fminsearch может быть более надежной.
Fminunc находит минимум скалярной функции нескольких переменных, стартуя с некоторой начальной точки.
где х есть вектор, а f(x) – возвращающая скаляр функция/
|
Описание:
-
Fminunc находит минимум скалярной функции нескольких переменных, стартуя с некоторой начальной точки. В общем, задача относится к нелинейной оптимизации без ограничений
-
x = fminunc(fun,x0) начинает с точки x0 и находит локальный минимум от х для описанной в fun функции. x0 может быть скаляром, вектором или матрицей.
-
x = fminunc(fun,x0,options) минимизирует с параметрами оптимизации, определенными в структурной опции.
-
x = fminunc(fun,x0,options,P1,P2,...) передает зависимые от задачи параметры P1, P2 и т.д. непосредственно в функцию fun. Передается пустая матрица в случае опции по использованию значений по умолчанию
-
[x,fval] = fminunc(...) возвращает в fval значение целевой функции fun как решение от x.
-
[x,fval,exitflag] = fminunc возвращает значение exitflag, которое содержит выходные условия.
-
[x,fval,exitflag,output] = fminunc(...) возвращает структурный выход с информацией об оптимизации.
-
[x,fval,exitflag,output,grad] = fminunc(...) возвращает в grad значение градиента fun как решение от х.
-
[x,fval,exitflag,output,grad,hessian] = fminunc(...) возвращает в hessian значение матрицы Гессе целевой функции fun как решение от х.
fminsearch
где х есть вектор, а f(x) – возвращающая скаляр функция.
|
Описание:
Fminsearch находит минимум скалярной функции нескольких переменных, стартуя с некоторой начальной точки. В общем, задача относится к нелинейной оптимизации без ограничений
-
x = fminsearch(fun,x0) начинает с точки x0 и находит локальный минимум от х для описанной в fun функции. x0 может быть скаляром, вектором или матрицей.
-
x = fminsearch(fun,x0,options) минимизирует с параметрами оптимизации, определенными в структурной опции.
-
x = fminsearch(fun,x0,options,P1,P2,...) передает зависимые от задачи параметры P1, P2 и т.д. непосредственно в функцию fun. Используется опция = [] как структурный ноль, если опции не определены.
-
[x,fval] = fminsearch(...) возвращает в fval значение целевой функции fun как решение от x.
-
[x,fval,exitflag] = fminsearch(...) возвращает значение exitflag, котрое содержит выходные условия fminsearch.
-
[x,fval,exitflag,output] = fminsearch(...) возвращаетструктурный выход с информацией об оптимизации.
Пример задач целочисленного программирования можно посмотреть в приложении 3.
|