Ссылка опций оптимизации

Опции оптимизации

Следующая таблица описывает опции оптимизации. Создайте опции с помощью 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 остановки, если различие между внутренне расчетным верхний (U) и ниже (L) границы на целевой функции меньше чем или равны AbsoluteGapTolerance:

U – L <= AbsoluteGapTolerance.

intlinprogoptimoptions только
AbsoluteMaxObjectiveCount

Количество F (x), чтобы минимизировать худшие абсолютные значения случая.

fminimax

 
Algorithm

Выбирает алгоритм, используемый решателем.

fmincon, fminunc, fsolve, linprog, lsqcurvefit, lsqlin, lsqnonlin, quadprog 
BranchRule

Управляйте для выбора компонента для ответвления:

  • 'maxpscost' — Дробный компонент с максимальной псевдостоимостью. Смотрите Ветвь и Связанный.

  • 'strongpscost' — Дробный компонент с максимальной псевдостоимостью, с осторожной оценкой псевдостоимости. Смотрите Ветвь и Связанный.

  • 'reliability' — Дробный компонент с максимальной псевдостоимостью, с еще более осторожной оценкой псевдостоимости, чем в 'strongpscost'. Смотрите ветвь и связанный.

  • 'mostfractional' — Компонент, дробная часть которого является самой близкой к 1/2.

  • 'maxfun' — Дробный компонент с максимальным соответствующим компонентом в абсолютном значении объективного векторного f.

intlinprogoptimoptions только
CheckGradients

Сравните предоставленные пользователями аналитические производные (градиенты или якобиан, в зависимости от выбранного решателя) к конечным производным дифференцирования.

fgoalattain, fmincon, fminimax, fminunc, fseminf, fsolve, lsqcurvefit, lsqnonlin

optimoptions только. Для optimset, используйте DerivativeCheck
ConstraintTolerance

Допуск на нарушении ограничений.

fgoalattain, fmincon, fminimax, fseminf, intlinprog, linprog, lsqlin, quadprog

optimoptions только. Для optimset, используйте TolCon
CutGeneration

Уровень генерации сокращения (см. Генерацию Сокращения):

  • 'none' — Никакие сокращения. Делает CutMaxIterations не важный.

  • 'basic' — Нормальная генерация сокращения.

  • 'intermediate' — Использование более типы сокращения.

  • 'advanced' — Использование больше всего типы сокращения.

intlinprogoptimoptions только
CutMaxIterationsКоличество проходит через все методы генерации сокращения прежде, чем ввести фазу метода ветвей и границ, целое число от 1 через 50. Отключите генерацию сокращения путем установки CutGeneration опция к 'none'.intlinprogoptimoptions только
Display

Level of display.

  • 'off' не отображает вывода.

  • 'iter' отображает вывод в каждой итерации и дает выходное сообщение по умолчанию.

  • 'iter-detailed' отображает вывод в каждой итерации и дает техническое выходное сообщение.

  • 'notify' отображает вывод, только если функция не сходится и дает выходное сообщение по умолчанию.

  • 'notify-detailed' отображает вывод, только если функция не сходится и дает техническое выходное сообщение.

  • 'final' отображения только окончательный результат, и дают выходное сообщение по умолчанию.

  • 'final-detailed' отображения только окончательный результат, и дают техническое выходное сообщение.

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

 
EqualityGoalCount

Задайте количество целей, требуемых для объективного fun равняться цели набора. Переупорядочьте свои цели, при необходимости, иметь fgoalattain достигните первого EqualityGoalCount цели точно.

fgoalattain

optimoptions только. Для optimset, используйте GoalsExactAchieve
FiniteDifferenceStepSize

Скалярный или векторный фактор размера шага для конечных разностей. Когда вы устанавливаете FiniteDifferenceStepSize к векторному v, прямые конечные разности delta

delta = v.*sign′(x).*max(abs(x),TypicalX);

где sign′(x) = sign(x) кроме sign′(0) = 1. Центральные конечные разности

delta = v.*max(abs(x),TypicalX);

Скалярный FiniteDifferenceStepSize расширяется до вектора. Значением по умолчанию является sqrt(eps) для прямых конечных разностей и eps^(1/3) для центральных конечных разностей.

fgoalattain, fmincon, fminimax, fminunc, fseminf, fsolve, lsqcurvefit, lsqnonlin

optimoptions только. Для optimset, используйте FinDiffRelStep
FiniteDifferenceType

Конечными разностями, используемыми, чтобы оценить градиенты, является любой 'forward' (значение по умолчанию), или 'central' (в центре), который берет вдвое больше вычислений функции, но должен быть более точным. 'central' различия могут нарушить границы во время своей оценки в fmincon оценки внутренней точки, если HonorBounds опция установлена в false.

fgoalattain, fmincon, fminimax, fminunc, fseminf, fsolve, lsqcurvefit, lsqnonlin

optimoptions только. Для optimset, используйте FinDiffType
FunctionTolerance

Допуск завершения на значении функции.

fgoalattain, fmincon, fminimax, fminsearch, fminunc, fseminf, fsolve, lsqcurvefit, lsqlin, lsqnonlin, quadprog 

optimoptions только. Для optimset, используйте TolFun
HessianApproximation

Метод приближения Гессиана: 'bfgs', 'lbfgs', {'lbfgs',Positive Integer}, или 'finite-difference'.

Проигнорированный, когда HessianFcn или HessianMultiplyFcn непусто.

fmincon

optimoptions только. Для optimset, используйте Hessian
HessianFcn

Предоставленный пользователями Гессиан в виде указателя на функцию (см. Включая Гессианы).

fmincon, fminuncoptimoptions только. Для optimset, используйте HessFcn
HessianMultiplyFcn

Предоставленная пользователями функция умножения Гессиана в виде указателя на функцию.

Проигнорированный, когда HessianFcn непусто.

fmincon, fminunc, quadprog

optimoptions только. Для optimset, используйте HessMult
Heuristics

Алгоритм для поиска допустимых точек (см. Эвристику для Нахождения Возможных решений):

  • 'basic'

  • 'intermediate'

  • 'advanced'

  • 'rss'

  • 'rins'

  • 'round'

  • 'diving'

  • 'rss-diving'

  • 'rins-diving'

  • 'round-diving'

  • 'none'

intlinprogoptimoptions только
HeuristicsMaxNodesСтрого положительное целое число, которое ограничивает количество узлов intlinprog может исследовать в его поиске методом ветвей и границ для допустимых точек. Смотрите Эвристику для Нахождения Возможных решений.intlinprogoptimoptions только
HonorBounds

true по умолчанию гарантирует, что связанным ограничениям удовлетворяют в каждой итерации. Выключите путем установки на false.

fminconoptimoptions только. Для optimset, используйте AlwaysHonorConstraints
IntegerPreprocess

Типы целочисленной предварительной обработки (см., что Смешано-целочисленная Программа Предварительно обрабатывает):

  • 'none' — Используйте очень немного целочисленных шагов предварительной обработки.

  • 'basic' — Используйте умеренное количество целочисленных шагов предварительной обработки.

  • 'advanced' — Используйте все доступные целочисленные шаги предварительной обработки.

intlinprogoptimoptions только
IntegerToleranceДействительный от 1e-6 через 1e-3, где максимальное отклонение от целого числа, что компонент решения x может иметь и все еще быть рассмотрен целым числом. IntegerTolerance не останавливающийся критерий.intlinprogoptimoptions только
JacobianMultiplyFcn

Пользовательская функция умножения якобиана в виде указателя на функцию. Проигнорированный, если SpecifyObjectiveGradient true для fsolve, lsqcurvefit, и lsqnonlin.

fsolve, lsqcurvefit, lsqlin, lsqnonlin

 
LinearSolver

Тип внутреннего линейного решателя в алгоритме:

  • 'auto' — Используйте 'sparse' если переданная квадратичная матрица разреженна (H для quadprogC для lsqlin), 'dense' в противном случае.

  • 'sparse' — Используйте линейную алгебру для разреженных матриц.

  • 'dense' — Используйте плотную линейную алгебру.

lsqlin 'interior-point' алгоритм и quadprog 'interior-point-convex' алгоритм

 
LPMaxIterationsСтрого положительное целое число, максимальное количество симплексных итераций алгоритма на узел во время процесса метода ветвей и границ.intlinprogoptimoptions только
LPOptimalityToleranceНеотрицательный действительный, где уменьшаемые затраты должны превысить LPOptimalityTolerance для переменной, которая будет взята в основание.intlinprogoptimoptions только
MaxFunctionEvaluations

Максимальное количество вычислений функции позволено.

fgoalattain, fminbnd, fmincon, fminimax, fminsearch, fminunc, fseminf, fsolve, lsqcurvefit, lsqnonlin

optimoptions только. Для optimset, используйте MaxFunEvals
MaxIterations

Максимальное количество итераций позволено.

Все кроме fzero и lsqnonneg

optimoptions только. Для optimset, используйте MaxIter
MaxFeasiblePointsСтрого положительное целое число. intlinprog остановки, если это находит MaxFeasiblePoints целочисленные допустимые точки.intlinprogoptimoptions только
MaxNodesСтрого положительное целое число, которое является максимальным количеством узлов решатель, исследует в его процессе метода ветвей и границ.

intlinprog

 
MaxTime

Максимальное количество времени в секундах допускало алгоритм.

intlinprog, linprog

 
NodeSelection

Выберите узел, чтобы исследовать затем.

  • 'simplebestproj' — Лучшая проекция. Смотрите Ветвь и Связанный.

  • 'minobj' — Исследуйте узел с минимальной целевой функцией.

  • 'mininfeas' — Исследуйте узел с минимальной суммой целого числа infeasibilities. Смотрите Ветвь и Связанный.

intlinprogoptimoptions только
ObjectiveCutOffДействительный больше, чем -Inf. Значением по умолчанию является Inf.intlinprogoptimoptions только
ObjectiveImprovementThresholdНеотрицательный действительный. intlinprog изменяет текущее возможное решение только, когда оно определяет местоположение другого со значением целевой функции, которое является, по крайней мере, ObjectiveImprovementThreshold ниже: (сгиб – fnew) / (1 + |fold |)> ObjectiveImprovementThreshold.intlinprogoptimoptions только
ObjectiveLimit

Если значение целевой функции понижается ObjectiveLimit и выполнение итерации выполнимо, затем останов итераций.

fmincon, fminunc, lsqlin, quadprog 
OptimalityTolerance

Допуск завершения на оптимальности первого порядка.

fgoalattain, fmincon, fminimax, fminsearch, fminunc, fseminf, fsolve, linprog (interior-point только), lsqcurvefit, lsqlin, lsqnonlin, quadprog 

optimoptions только. Для optimset, используйте TolFun
OutputFcn

Задайте одну или несколько пользовательских функций, которые вызывает на каждой итерации оптимизационная функция. Передайте указатель на функцию или cell-массив указателей на функцию. Смотрите Синтаксис Выходной функции и Функции построения графика или intlinprog Синтаксис Выходной функции и Функции построения графика.

fgoalattain, fminbnd, fmincon, fminimax, fminsearch, fminunc, fseminf, fsolve, fzero, intlinprog, lsqcurvefit, lsqnonlin

 
PlotFcn

Строит различные показатели прогресса, в то время как алгоритм выполняется. Выберите из предопределенных графиков или запишите свое собственное. Дайте имя функции, столь же перечисленное, или как указатель на функцию, такой как @optimplotx. Передайте встроенное имя функции построения графика, указатель на функцию или массив ячеек встроенных имен или указателей на функцию. Для пользовательских функций построения графика передайте указатели на функцию.

  • 'optimplotx' строит текущую точку

  • 'optimplotfunccount' строит функциональное количество

  • 'optimplotfval' строит значение функции

  • 'optimplotfvalconstr' строит лучшее выполнимое значение целевой функции, найденное как линейный график. График показывает неосуществимые точки как красные, и допустимые точки как синие, с помощью допуска выполнимости 1e-6.

  • 'optimplotconstrviolation' строит максимальное нарушение ограничений

  • 'optimplotresnorm' строит норму остаточных значений

  • 'optimplotfirstorderopt' строит первый порядок оптимальности

  • 'optimplotstepsize' строит размер шага

  • 'optimplotmilp' строит разрыв для смешано-целочисленных линейных программ

Смотрите Функции построения графика или intlinprog Синтаксис Выходной функции и Функции построения графика.

fgoalattain, fminbnd, fmincon, fminimax, fminsearch, fminunc, fseminf, fsolve, fzero, intlinprog, lsqcurvefit, lsqnonlin. Смотрите отдельные страницы ссылки на функцию для значений, которые применяются.

optimoptions только. Для optimset, используйте PlotFcns
RelativeGapTolerance

Действительный от 0 через 1. intlinprog остановки, если относительная разница между внутренне расчетным верхний (U) и ниже (L) границы на целевой функции меньше чем или равны RelativeGapTolerance:

(U – L) / (abs(U) + 1) <= RelativeGapTolerance.

intlinprog автоматически изменяет допуск к большому L величины:

допуск = min(1/(1+|L|), RelativeGapTolerance)

intlinprogoptimoptions только
RootLPAlgorithm

Алгоритм для решения линейных программ:

  • 'dual-simplex' — Двойной симплексный алгоритм

  • 'primal-simplex' — Основной симплексный алгоритм

intlinprogoptimoptions только
RootLPMaxIterationsНеотрицательное целое число, которое является максимальным количеством симплексных итераций алгоритма, чтобы решить начальную задачу линейного программирования.intlinprogoptimoptions только
ScaleProblem

Для fmincon interior-point и sqp алгоритмы, true заставляет алгоритм нормировать все ограничения и целевую функцию их начальными значениями. Отключите путем установки на false по умолчанию.

fmincon 
SpecifyConstraintGradient

Пользовательские градиенты для нелинейных ограничений.

fgoalattain, fmincon, fminimax

optimoptions только. Для optimset, используйте GradConstr
SpecifyObjectiveGradient

Пользовательские градиенты или Якобианы для целевых функций.

fgoalattain, fmincon, fminimax, fminunc, fseminf, fsolve, lsqcurvefit, lsqnonlin

optimoptions только. Для optimset, используйте GradObj или Jacobian
StepTolerance

Допуск завершения на x.

Все функции кроме linprog и lsqlin

optimoptions только. Для optimset, используйте TolX
SubproblemAlgorithm

Определяет, как шаг итерации вычисляется.

fmincon 
TypicalX

Массив, который задает типичную величину массива параметров x. Размер массива равен размеру x0, начальная точка. В основном, для масштабирования конечных разностей для оценки градиента.

fgoalattain, fmincon, fminimax, fminunc, fsolve, lsqcurvefit, lsqlin, lsqnonlin, quadprog

 
UseParallel

Когда true, применимые решатели оценивают градиенты параллельно. Отключите путем установки на false.

fgoalattain, fmincon, fminimax, fminunc, fsolve, lsqcurvefit, lsqnonlin.

 

Скрытые опции

optimoptions “скрывает” некоторые опции, означая, что это не отображает их значения. Изучить, как просмотреть эти опции, и почему они скрыты, Опции вида на море.

Страницы ссылки на функцию перечисляют эти опции курсивом.

Скрытые опции Optimization Toolbox

Эта таблица приводит скрытые опции Optimization Toolbox™.

Опции, что optimoptions Скрывается

Имя опцииОписаниеИспользуемый функциямиОграничения
Диагностика

Отобразите диагностическую информацию о функции, которая будет минимизирована или решена.

Все кроме fminbnd, fminsearch, fzero, и lsqnonneg

 
DiffMaxChange

Максимальное изменение в переменных для конечного дифференцирования.

fgoalattain, fmincon, fminimax, fminunc, fseminf, fsolve, lsqcurvefit, lsqnonlin

 
DiffMinChange

Минимальное изменение в переменных для конечного дифференцирования.

fgoalattain, fmincon, fminimax, fminunc, fseminf, fsolve, lsqcurvefit, lsqnonlin

 
FunValCheck

Проверяйте, допустимы ли целевая функция и ограничительные значения. 'on' отображает ошибку, когда целевая функция или ограничения возвращают значение, которое является complexNaN, или Inf.

Примечание

FunValCheck не возвращает ошибку для Inf когда используется с fminbndfminsearch, или fzero, которые обрабатывают Inf соответственно.

'off' отображения никакая ошибка.

fgoalattain, fminbnd, fmincon, fminimax, fminsearch, fminunc, fseminf, fsolve, fzero, lsqcurvefit, lsqnonlin

 
HessPattern

Шаблон разреженности Гессиана для конечного дифференцирования. Размер матрицы n на n, где n является числом элементов в x0, начальная точка.

fmincon, fminunc

 
HessUpdate

Схема обновления квазиньютона.

fminunc

 
InitBarrierParam

Начальное значение барьера.

fmincon 
InitDamping

Начальный параметр Levenberg-Marquardt.

fsolve, lsqcurvefit, lsqnonlinoptimoptions только
InitTrustRegionRadius

Начальный радиус доверительной области.

fmincon 
JacobPattern

Шаблон разреженности якобиана для конечного дифференцирования. Размером матрицы является m- n, где m количество значений в первом аргументе, возвращенном заданным пользователями функциональным fun, и n число элементов в x0, начальная точка.

fsolve, lsqcurvefit, lsqnonlin

 
LPPreprocess

Тип предварительной обработки для решения расслабленной линейной программы (см., что Линейная Программа Предварительно обрабатывает):

  • 'none' — Никакая предварительная обработка.

  • 'basic' — Используйте предварительную обработку.

intlinprogoptimoptions только
MaxPCGIter

Максимальное количество итераций предобусловленного метода сопряженных градиентов позволено.

fmincon, fminunc, fsolve, lsqcurvefit, lsqlin, lsqnonlin, quadprog

 
MaxProjCGIter

Допуск к количеству спроектированных итераций метода сопряженных градиентов; это - внутренняя итерация, не количество итераций алгоритма.

fmincon 
MaxSQPIter

Максимальное количество итераций последовательного метода квадратичного программирования позволено.

fgoalattain, fmincon, fminimax

 
MeritFunction

Используйте целевую оценочную функцию достижения/минимакса (многоцелевую) по сравнению с. fmincon (одна цель).

fgoalattain, fminimax

 
PrecondBandWidth

Верхняя пропускная способность предварительного формирователя для PCG. Установка на 'Inf' использует прямую факторизацию вместо CG.

fmincon, fminunc, fsolve, lsqcurvefit, lsqlin, lsqnonlin, quadprog

 
Предварительно обработать

Уровень предварительной обработки LP до симплексных или двойных симплексных итераций алгоритма.

linprog

optimoptions только
RelLineSrchBnd

Относительная граница на линии ищет длину шага.

fgoalattain, fmincon, fminimax, fseminf

 
RelLineSrchBndDuration

Количество итераций, для который связанное, заданное в RelLineSrchBnd должно быть активным.

fgoalattain, fmincon, fminimax, fseminf

 
ScaleProblem

При использовании Algorithm опция 'levenberg-marquardt', установка ScaleProblem опция к 'jacobian' иногда помогает решателю на плохо масштабируемых проблемах.

fsolve, lsqcurvefit, lsqnonlin 
TolConSQP

Допуск нарушения ограничений к внутренней итерации SQP.

fgoalattain, fmincon, fminimax, fseminf 
TolPCG

Допуск завершения на итерации PCG.

fmincon, fminunc, fsolve, lsqcurvefit, lsqlin, lsqnonlin, quadprog

 
TolProjCG

Относительная погрешность для спроектированного алгоритма метода сопряженных градиентов; это для внутренней итерации, не итерации алгоритма.

fmincon 
TolProjCGAbs

Абсолютная погрешность для спроектированного алгоритма метода сопряженных градиентов; это для внутренней итерации, не итерации алгоритма.

fmincon 

Скрытые опции Global Optimization Toolbox

По причинам эти опции скрыты, видят Опции, которые optimoptions Скрывает (Global Optimization Toolbox).

Опции, что optimoptions Скрывается

Имя опцииИспользуемый функциями
Кэш

patternsearch

CacheSize

patternsearch

CacheTol

patternsearch

DisplayInterval

particleswarm, simulannealbnd

FunValCheck

particleswarm

HybridInterval

simulannealbnd

InitialPenalty

ga, patternsearch

MaxMeshSize

patternsearch

MeshRotate

patternsearch

MigrationDirection

ga

MigrationFraction

ga

MigrationInterval

ga

PenaltyFactor

ga, patternsearch

PlotInterval

ga, patternsearch, simulannealbnd

StallTest

ga

TolBindpatternsearch

Похожие темы