Следующая таблица описывает опции оптимизации. Создайте опции с помощью функции optimoptions
или optimset
для fminbnd
, fminsearch
, fzero
или lsqnonneg
.
Смотрите отдельные страницы ссылки на функцию для получения информации о значениях доступного параметра и значениях по умолчанию.
Значения по умолчанию для опций отличаются, в зависимости от которой оптимизации функционируют, вы вызываете с options
как входной параметр. Можно определить значения опции по умолчанию для любой из функций оптимизации путем ввода
или эквивалентного optimoptions('solvername')
. Например,optimoptions(@solvername)
optimoptions('fmincon')
возвращает список опций и значений по умолчанию для 'interior-point'
по умолчанию алгоритм fmincon
. Чтобы найти значения по умолчанию для другого алгоритма fmincon
, установите опцию Algorithm
. Например,
opts = optimoptions('fmincon','Algorithm','sqp')
optimoptions
“скрывает” некоторые опции, означая, что он не отображает их значения. Те опции не появляются в этой таблице. Вместо этого они появляются в Скрытых Опциях.
Опции оптимизации
Имя опции | Описание | Используемый функциями | Ограничения |
---|---|---|---|
AbsoluteGapTolerance |
Неотрицательный действительный.
| intlinprog | optimoptions только |
AbsoluteMaxObjectiveCount | Количество F (x), чтобы минимизировать худшие абсолютные значения случая. | ||
Algorithm | Выбирает алгоритм, используемый решателем. | fmincon , fminunc , fsolve , linprog , lsqcurvefit , lsqlin , lsqnonlin , quadprog | |
BranchRule |
Управляйте для выбора компонента для ветвления:
| intlinprog | optimoptions только |
CheckGradients | Сравните предоставленные пользователями аналитические производные (градиенты или якобиан, в зависимости от выбранного решателя) к конечным производным дифференцирования. |
| optimoptions только. Для optimset используйте DerivativeCheck |
ConstraintTolerance | Допуск на ограничительном нарушении. |
| optimoptions только. Для optimset используйте TolCon |
CutGeneration |
Уровень генерации сокращения (см. Генерацию Сокращения):
| intlinprog | optimoptions только |
CutMaxIterations | Количество проходит через все методы генерации сокращения прежде, чем ввести фазу метода ветвей и границ, целое число от 1 до 50 . Отключите генерацию сокращения путем установки опции CutGeneration на 'none' . | intlinprog | optimoptions только |
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 ниже: (сгиб – fnew) / (1 + |fold |)> ObjectiveImprovementThreshold. | intlinprog | optimoptions только |
ObjectiveLimit | Если значение целевой функции понижается | fmincon , fminunc , quadprog | |
OptimalityTolerance | Допуск завершения на оптимальности первого порядка. |
| optimoptions только. Для optimset используйте TolFun |
OutputFcn | Задайте одну или несколько пользовательских функций что вызовы функции оптимизации в каждой итерации. Передайте указатель на функцию или cell-массив указателей на функцию. Смотрите Синтаксис Выходной функции или intlinprog Синтаксис Выходной функции и Функции построения графика. |
| |
PlotFcn | Строит различные меры прогресса, в то время как алгоритм выполняется. Выберите из предопределенных графиков или запишите свое собственное. Дайте имя функции, столь же перечисленное, или как указатель на функцию, такой как
Смотрите Синтаксис Функции построения графика или intlinprog Синтаксис Выходной функции и Функции построения графика. |
| 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. | optimoptions только. Для optimset используйте TolX | |
SubproblemAlgorithm | Определяет, как шаг итерации вычисляется. | fmincon | |
TypicalX | Массив, который задает типичное значение массива параметров |
| |
UseParallel | Когда |
|
optimoptions
“скрывает” некоторые опции, означая, что он не отображает их значения. Изучить, как просмотреть эти опции, и почему они скрыты, Опции вида на море.
Страницы ссылки на функцию перечисляют эти опции курсивом.
Эта таблица приводит скрытые опции Optimization Toolbox™.
Опции, которые Скрывает optimoptions
Имя опции | Описание | Используемый функциями | Ограничения |
---|---|---|---|
Диагностика | Отобразите диагностическую информацию о функции, которая будет минимизирована или решена. | Все кроме | |
DiffMaxChange | Максимальное изменение в переменных для конечного дифференцирования. |
| |
DiffMinChange | Минимальное изменение в переменных для конечного дифференцирования. |
| |
FunValCheck | Проверяйте, допустимы ли целевая функция и ограничительные значения. Примечание
|
| |
HessPattern | Шаблон разреженности Гессиана для конечного дифференцирования. Размер матрицы n на n, где n является числом элементов в | ||
HessUpdate | Схема обновления квазиньютона. | ||
InitBarrierParam | Начальное значение барьера. | fmincon | |
InitDamping | Начальный параметр Levenberg-Marquardt. | fsolve , lsqcurvefit , lsqnonlin | optimoptions только |
InitTrustRegionRadius | Начальный радиус доверительной области. | fmincon | |
JacobPattern | Шаблон разреженности якобиана для конечного дифференцирования. Размером матрицы является | ||
LPPreprocess |
Тип предварительной обработки для решения расслабленной линейной программы (см., что Линейная Программа Предварительно обрабатывает):
| intlinprog | optimoptions только |
MaxPCGIter | Максимальное количество итераций предобусловленного метода сопряженных градиентов позволено. |
| |
MaxProjCGIter | Допуск к количеству спроектированных итераций метода сопряженных градиентов; это - внутренняя итерация, не количество итераций алгоритма. | fmincon | |
MaxSQPIter | Максимальное количество итераций последовательного метода квадратичного программирования позволено. | ||
MeritFunction | Используйте целевую оценочную функцию достижения/минимакса (многоцелевую) по сравнению с | ||
PrecondBandWidth | Верхняя пропускная способность предварительного формирователя для PCG. Установка на |
| |
Предварительно обработать | Уровень предварительной обработки LP до симплексных или двойных симплексных итераций алгоритма. | optimoptions только | |
RelLineSrchBnd | Родственник привязал длину шага поиска строки. | ||
RelLineSrchBndDuration | Количество итераций, для которых связанное, заданное в | ||
ScaleProblem | При использовании опции | fsolve , lsqcurvefit , lsqnonlin | |
TolConSQP | Ограничительный допуск нарушения к внутренней итерации SQP. | fgoalattain , fmincon , fminimax , fseminf | |
TolPCG | Допуск завершения на итерации PCG. |
| |
TolProjCG | Относительный допуск к спроектированному алгоритму метода сопряженных градиентов; это для внутренней итерации, не итерации алгоритма. | fmincon | |
TolProjCGAbs | Абсолютный допуск к спроектированному алгоритму метода сопряженных градиентов; это для внутренней итерации, не итерации алгоритма. | fmincon |
По причинам эти опции скрыты, видят Опции, которые optimoptions Скрывает (Global Optimization Toolbox).
Опции, которые Скрывает optimoptions
Имя опции | Используемый функциями |
---|---|
Кэш |
|
CacheSize |
|
CacheTol |
|
DisplayInterval |
|
FunValCheck |
|
HybridInterval |
|
InitialPenalty |
|
MaxMeshSize |
|
MeshRotate |
|
MigrationDirection |
|
MigrationFraction |
|
MigrationInterval |
|
PenaltyFactor |
|
PlotInterval |
|
StallTest |
|
TolBind | patternsearch |