Следующая таблица описывает опции оптимизации. Создайте опции, используя optimoptions
функции, или optimset
для fminbnd
, fminsearch
, fzero
, или lsqnonneg
.
Для получения информации о доступных значениях опций и значениях по умолчанию см. Страницы с описанием отдельных функций.
Значения по умолчанию для опций варьируются в зависимости от того, с какой оптимизационной функцией вы вызываете options
как входной параметр. Можно определить значения опций по умолчанию для любой из оптимизационных функций путем ввода оптимопций (
или эквивалентные 'solvername
')опции
. Для примера,(@ solvername
)
optimoptions('fmincon')
возвращает список опций и значений по умолчанию для значения по умолчанию 'interior-point'
fmincon
алгоритм. Чтобы найти значения по умолчанию для другого fmincon
алгоритм, установите Algorithm
опция. Для примера,
opts = optimoptions('fmincon','Algorithm','sqp')
optimoptions
«скрывает» некоторые опции, то есть не отображает их значения. Эти опции не отображаются в этой таблице. Вместо этого они появляются в Скрытые опции (Hidden Options).
Опции оптимизации
Имя опции | Описание | Используемые функциями | Ограничения |
---|---|---|---|
AbsoluteGapTolerance | Неотрицательная реальность.
| intlinprog | optimoptions только |
AbsoluteMaxObjectiveCount | Количество F (x) для минимизации наихудших абсолютных значений. | ||
Algorithm | Выбирает алгоритм, используемый решателем. | fmincon , fminunc , fsolve , linprog , lsqcurvefit , lsqlin , lsqnonlin , quadprog | |
BarrierParamUpdate | Выбирает алгоритм обновления барьерного параметра в | fmincon | |
BranchRule | Правило выбора компонента для ответвления:
| intlinprog | optimoptions только |
CheckGradients | Сравните поставляемые пользователем аналитические производные (градиенты или якобианы, в зависимости от выбранного решателя) с конечными дифференциальными производными. |
| optimoptions только. Для optimset , использовать DerivativeCheck |
ConstraintTolerance | Допуск на нарушение ограничений. |
| optimoptions только. Для optimset , использовать TolCon |
CutGeneration | Уровень генерации вырезов (см. «Генерация вырезов»):
| intlinprog | optimoptions только |
CutMaxIterations | Количество проходов через все методы генерации резов перед входом в фазу ветвей и связей, целое число от 1 через 50 . Отключите генерацию реза путем установки CutGeneration опция для 'none' . | intlinprog | optimoptions только |
Display | Level of display.
| Все. Смотрите отдельные страницы с описанием функций для значений, которые применяются. | |
EqualityGoalCount | Укажите количество целей, необходимых для этой цели | optimoptions только. Для optimset , использовать GoalsExactAchieve | |
FiniteDifferenceStepSize |
Скаляр или векторный коэффициент размера для конечных различий. Когда вы задаете
sign′(x) = sign(x) кроме sign′(0) = 1 . Центральные конечные различия
FiniteDifferenceStepSize расширяется до вектора. Значение по умолчанию является sqrt(eps) для прямых конечных различий и eps^(1/3) для центральных конечных различий.
|
| optimoptions только. Для optimset , использовать FinDiffRelStep |
FiniteDifferenceType | Конечные различия, используемые для оценки градиентов, либо |
| optimoptions только. Для optimset , использовать FinDiffType |
FunctionTolerance | Допуск на разрыв значения функции. |
| optimoptions только. Для optimset , использовать TolFun |
HessianApproximation | Метод гессианского приближения: Игнорируется, когда | optimoptions только. Для optimset , использовать Hessian | |
HessianFcn | Поставляемый пользователем Гессиан, заданный как указатель на функцию (см., Включая Гессианы). | fmincon , fminunc | optimoptions только. Для optimset , использовать HessFcn |
HessianMultiplyFcn | Пользовательская функция умножения Гессиана, заданная как указатель на функцию. Игнорируется, когда | optimoptions только. Для optimset , использовать HessMult | |
Heuristics | Алгоритм поиска допустимых точек (см. Эвристику для нахождения возможных решений):
| intlinprog | optimoptions только |
HeuristicsMaxNodes | Строго положительное целое число, которое ограничивает число узлов intlinprog может исследовать в своем разветвленном и связанном поиске допустимые точки. Смотрите Эвристику для нахождения возможных решений. | intlinprog | optimoptions только |
HonorBounds | Значение по умолчанию | fmincon | optimoptions только. Для optimset , использовать AlwaysHonorConstraints |
IntegerPreprocess | Типы предварительной обработки целого числа (см. Смешано-целочисленная предварительная обработка программы):
| intlinprog | optimoptions только |
IntegerTolerance | Реальный из 1e-6 через 1e-3 , где максимальное отклонение от целого числа, которое составляет компонент решения x может иметь и все еще считаться целым числом. IntegerTolerance не является критерием остановки. | intlinprog | optimoptions только |
JacobianMultiplyFcn | Пользовательская функция умножения Якобиана, заданная как указатель на функцию. Проигнорировано, если | ||
LinearSolver | Тип внутреннего линейного решателя в алгоритме. Для
Для
|
| |
LPMaxIterations | Строго положительное целое число, максимальное количество итераций симплексного алгоритма на узел в процессе ветви и связи. | intlinprog | optimoptions только |
LPOptimalityTolerance | Неотрицательная реальность, где снижение затрат должно превышать LPOptimalityTolerance для переменной, которая будет принята в базис. | intlinprog | optimoptions только |
MaxFunctionEvaluations | Максимально допустимое количество вычислений функции. |
| optimoptions только. Для optimset , использовать MaxFunEvals |
MaxIterations | Максимально допустимое количество итераций. | optimoptions только. Для optimset , использовать MaxIter | |
MaxFeasiblePoints | Строго положительное целое число. intlinprog останавливается, если находит MaxFeasiblePoints целочисленные допустимые точки. | intlinprog | optimoptions только |
MaxNodes | Строго положительное целое число, которое является максимальным числом узлов, которые решатель исследует в своем процессе ветви и связи. | ||
MaxTime | Максимально допустимое время в секундах для алгоритма. | ||
NodeSelection | Выберите узел для следующего исследования.
| intlinprog | optimoptions только |
ObjectiveCutOff | Действительное больше -Inf . Значение по умолчанию является Inf . | intlinprog | optimoptions только |
ObjectiveImprovementThreshold | Неотрицательная реальность. intlinprog изменяет текущее возможное решение только, когда оно находит другое со значением целевой функции, которое по крайней мере ObjectiveImprovementThreshold low: (fold - fnew )/( 1 + |fold|) > ObjectiveImprovementThreshold. | intlinprog | optimoptions только |
ObjectiveLimit | Если значение целевой функции идет ниже | fmincon , fminunc , lsqlin , quadprog | |
OptimalityTolerance | Допуск окончания по оптимальности первого порядка. |
| optimoptions только. Для optimset , использовать TolFun |
OutputFcn | Задайте одну или несколько пользовательских функций, которые вызываются функциями оптимизации при каждой итерации. Передайте указатель на функцию или cell-массив указателей на функцию. См. «Синтаксис выходной функции и функции построения графика» или «Синтаксис выходной функции intlinprog» и «Синтаксис функции построения графика». |
| |
PlotFcn | Строит графики различных показателей прогресса во время выполнения алгоритма. Выберите из предопределенных графиков или напишите свои собственные. Задайте имя функции как перечисленное или как указатель на функцию, такой как
Смотрите Функции построения графика или синтаксис Выходной функции и Функции построения графика. |
| optimoptions только. Для optimset , использовать PlotFcns |
RelativeGapTolerance | Реальный из
допуск = | intlinprog | optimoptions только |
RootLPAlgorithm | Алгоритм решения линейных программ:
| intlinprog | optimoptions только |
RootLPMaxIterations | Неотрицательное целое число, которое является максимальным количеством итераций алгоритма симплекса, чтобы решить начальную задачу линейного программирования. | intlinprog | optimoptions только |
ScaleProblem | Для | fmincon | |
SpecifyConstraintGradient | Пользовательские градиенты для нелинейных ограничений. | optimoptions только. Для optimset , использовать GradConstr | |
SpecifyObjectiveGradient | Пользовательские градиенты или якобианы для целевых функций. |
| optimoptions только. Для optimset , использовать GradObj или Jacobian |
StepTolerance | Допуск завершения на x. | ||
SubproblemAlgorithm | Определяет, как вычисляется шаг итерации. | fmincon , fminunc , fsolve , lsqcurvefit , lsqlin , lsqnonlin | |
TypicalX | Массив, который задает типовую величину массива параметров |
| |
UseParallel | Когда |
|
optimoptions
«скрывает» некоторые опции, то есть не отображает их значения. Чтобы узнать, как просмотреть эти опции и почему они скрыты, см. раздел «Опции представления».
Страницы с описанием функций перечисляют эти опции курсивом.
В этой таблице перечислены скрытые опции Optimization Toolbox™.
Опции, которые optimoptions
Скрывается
Имя опции | Описание | Используемые функциями | Ограничения |
---|---|---|---|
Диагностика | Отобразите диагностическую информацию о функции, которая будет минимизирована или решена. | Все, кроме | |
DiffMaxChange | Максимальное изменение переменных для конечного дифференцирования. |
| |
DiffMinChange | Минимальное изменение переменных для конечного дифференцирования. |
| |
FunValCheck | Проверьте, действительны ли целевая функция и значения ограничений. Примечание
|
| |
HessPattern | Шаблон разреженности Гессиана для конечного дифференцирования. Размер матрицы n-на-n, где n - количество элементов в | ||
HessUpdate | Схема обновления Квази-Ньютона. | ||
InitBarrierParam | Начальное значение барьера. | fmincon | |
InitDamping | Начальный параметр Левенберга-Марквардта. | fsolve , lsqcurvefit , lsqnonlin | optimoptions только |
InitTrustRegionRadius | Начальный радиус доверительной области. | fmincon | |
JacobPattern | Разреженность шаблона якобиана для конечного дифференцирования. Размер матрицы | ||
LPPreprocess | Тип предварительной обработки для решения расслабленной линейной программы (см. Линейная предварительная обработка программы):
| intlinprog | optimoptions только |
MaxPCGIter | Максимально допустимое количество итераций предварительно обусловленного метода сопряженных градиентов. |
| |
MaxProjCGIter | Допуск на количество проецируемых сопряженных итераций градиента; это внутренняя итерация, а не количество итераций алгоритма. | fmincon | |
MaxSQPIter | Максимально допустимое количество итераций метода последовательного квадратичного программирования. | ||
MeritFunction | Используйте функцию достижения цели/минимаксных заслуг (мультиобъективную) против | ||
PrecondBandWidth | Верхняя полоса предварительно обусловленного устройства для PCG. Установка значения |
| |
Предварительно обработать | Уровень предварительной обработки НД перед итерациями симплексного или двойного симплексного алгоритма. | optimoptions только | |
RelLineSrchBnd | Относительная граница по длине шага поиска по линии. | ||
RelLineSrchBndDuration | Количество итераций, для которых граница задана в | ||
ScaleProblem | При использовании | fsolve , lsqcurvefit , lsqnonlin | |
TolConSQP | Допуск нарушения ограничений для внутренней итерации SQP. | fgoalattain , fmincon , fminimax , fseminf | |
TolPCG | Допуск завершения на итерации PCG. |
| |
TolProjCG | A относительной погрешности для проектируемого сопряженного алгоритма градиента; это для внутренней итерации, а не для итерации алгоритма. | fmincon | |
TolProjCGAbs | Абсолютная погрешность для проектируемого сопряженного алгоритма градиента; это для внутренней итерации, а не для итерации алгоритма. | fmincon |
По причинам, по которым эти опции скрыты, см. «Параметры, которые скрывает оптимизация» (Global Optimization Toolbox).
Опции, которые optimoptions
Скрывается
Имя опции | Используемые функциями |
---|---|
Кэш |
|
CacheSize |
|
CacheTol |
|
DisplayInterval |
|
FunValCheck |
|
HybridInterval |
|
InitialPenalty |
|
MaxMeshSize |
|
MeshRotate |
|
MigrationDirection |
|
MigrationFraction |
|
MigrationInterval |
|
PenaltyFactor |
|
PlotInterval |
|
StallTest |
|
TolBind | patternsearch |