exponenta event banner

Ссылка на параметры оптимизации

Параметры оптимизации

В следующей таблице описаны параметры оптимизации. Создание параметров с помощью 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 
BarrierParamUpdate

Выбирает алгоритм обновления параметра барьера в 'interior-point' алгоритм, либо 'monotone' или 'predictor-corrector'.

fmincon 
BranchRule

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

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

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

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

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

  • 'maxfun' - Дробная составляющая с максимальной соответствующей составляющей в абсолютном значении целевого вектора f.

intlinprogoptimoptions только
CheckGradients

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

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

optimoptions только. Для optimset, использовать DerivativeCheck
ConstraintTolerance

Допуск для нарушения ограничения.

coneprog, 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

Уровень отображения.

  • '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

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

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

  • 'sparse' - Использовать разреженную линейную алгебру.

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

Для coneprog:

  • 'auto' (по умолчанию) - coneprog выбирает решатель шагов.

    • Если проблема разрежена, решателем шага является 'prodchol'.

    • В противном случае решателем шага является 'augmented'.

  • 'augmented' - Решатель шагов дополненной формы. См. [1].

  • 'normal' - Стандартный решатель шагов формы. См. [1].

  • 'prodchol' - Форма продукта Cholesky шагового решателя. См. разделы [4] и [5].

  • 'schur' - решатель шагов метода дополнения Шура. См. [2].

coneprog, 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

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

coneprog, intlinprog, linprog

 
NodeSelection

Выберите узел для просмотра.

  • 'simplebestproj' - Лучшая проекция. См. раздел Ветвление и привязка.

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

  • 'mininfeas' - Исследуйте узел с минимальной суммой целочисленных несходимостей. См. раздел Ветвление и привязка.

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

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

fmincon, fminunc, lsqlin, quadprog 
OptimalityTolerance

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

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

optimoptions только. Для optimset, использовать TolFun
OutputFcn

Укажите одну или несколько пользовательских функций, вызываемых функцией оптимизации в каждой итерации. Передача дескриптора функции или массива ячеек дескрипторов функции. См. раздел Синтаксис функции вывода и функции печати или Синтаксис функции вывода и функции печати 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 и coneprog

 
SubproblemAlgorithm

Определяет способ вычисления шага итерации.

fmincon, fminunc, fsolve, lsqcurvefit, lsqlin, lsqnonlin 
TypicalX

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

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

 
UseParallel

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

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

 

Скрытые параметры

optimoptions «скрывает» некоторые параметры, то есть не отображает их значения. Сведения о том, как просмотреть эти параметры и почему они скрыты, см. в разделе Параметры просмотра.

На страницах ссылок на функции эти параметры выделены курсивом.

Параметры панели инструментов скрытой оптимизации

В этой таблице перечислены скрытые опции 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' отображает ошибку, когда целевая функция или ограничения возвращают значение, complex, NaN, или Inf.

Примечание

FunValCheck не возвращает ошибку для Inf при использовании с fminbnd, fminsearch, или fzero, какая ручка Inf соответствующим образом.

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

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

 
HessPattern

Узор разреженности гессена для конечных разностей. Размер матрицы - n-by-n, где n - количество элементов в x0, отправная точка.

fmincon, fminunc

 
HessUpdate

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

fminunc

 
InitBarrierParam

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

fmincon 
InitDamping

Начальный параметр Левенберга-Марквардта.

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

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

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

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 

Скрытые параметры панели инструментов глобальной оптимизации

По причинам, по которым эти параметры скрыты, см. раздел Опциональные опционы скрыты (панель инструментов глобальной оптимизации).

Опции, которые 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

Связанные темы