exponenta event banner

psoptimset

(Не рекомендуется) Создать структуру параметров поиска массива

psoptimset не рекомендуется. Использовать optimoptions вместо этого. Дополнительные сведения см. в разделе Вопросы совместимости.

Синтаксис

psoptimset
options = psoptimset
options = psoptimset(@patternsearch)
options = psoptimset('param1',value1,'param2',value2,...)
options = psoptimset(oldopts,'param1',value1,...)
options = psoptimset(oldopts,newopts)

Описание

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

options = psoptimset (без входных аргументов) создает структуру с именем options который содержит опции или параметры для patternsearchи устанавливает для параметров значение [], с указанием patternsearch использует значения по умолчанию.

options = psoptimset(@patternsearch) создает структуру с именем options который содержит значения по умолчанию для patternsearch.

options = psoptimset('param1',value1,'param2',value2,...) создает структуру options и устанавливает значение 'param1' кому value1, 'param2' кому value2и так далее. Для всех неуказанных параметров устанавливаются значения по умолчанию. Достаточно ввести только первые символы, чтобы однозначно определить имя параметра. Регистр игнорируется для имен параметров.

options = psoptimset(oldopts,'param1',value1,...) создает копию oldopts, изменение указанных параметров с заданными значениями.

options = psoptimset(oldopts,newopts) объединяет существующую структуру опций, oldopts, с новой структурой опций, newopts. Любые параметры в newopts с непустыми значениями перезаписать соответствующие старые параметры в oldopts.

Варианты

В следующей таблице перечислены опции, которые можно задать с помощью psoptimset. Полное описание параметров и их значений см. в разделе Параметры поиска массива. Значения в {} укажите значение по умолчанию. Можно также просмотреть параметры оптимизации и значения по умолчанию, введя psoptimset в командной строке.

optimoptions скрывает варианты, перечисленные курсивом, но psoptimset не имеет. См. раздел Опции, которые оптимизируют Скрытие.

Опции для patternsearch и paretosearch

ВыборОписаниеЦенности

ConstraintTolerance

Допуск на зависимости.

Для структуры опций используйте TolCon.

Положительный скаляр | {1e-6}

Display

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

'off' | 'iter' | 'diagnose' | {'final'}

MaxFunctionEvaluations

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

Для структуры опций используйте MaxFunEvals.

Положительное целое число | {'2000*numberOfVariables'} для patternsearch, {'3000*(numberOfVariables+numberOfObjectives)'} для paretosearch, где numberOfVariables - количество переменных проблемы, и numberOfObjectives - количество объективных функций

MaxIterations

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

Для структуры опций используйте MaxIter.

Положительное целое число | {'100*numberOfVariables'} для patternsearch, {'100*(numberOfVariables+numberOfObjectives)'} для paretosearch, где numberOfVariables - количество переменных проблемы, и numberOfObjectives - количество объективных функций

MaxTime

Общее время (в секундах), допустимое для оптимизации.

Для структуры опций используйте TimeLimit.

Положительный скаляр | {Inf}

MeshTolerance

Допуск для размера сетки.

Для структуры опций используйте TolMesh.

Положительный скаляр | {1e-6}

OutputFcn

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

Для структуры опций используйте OutputFcns.

Дескриптор функции или массив ячеек дескрипторов функции | {[]}

PlotFcn

Графики выходных данных поиска шаблона. Укажите в качестве имени встроенной функции графика, дескриптора функции или массива ячеек имен встроенных функций графика или дескрипторов функции.

Для структуры опций используйте PlotFcns.

{[]} | Для обоих patternsearch и paretosearch: 'psplotfuncount' | 'psplotmaxconstr' | пользовательская функция печати

Для paretosearch только с несколькими целями: 'psplotdistance' | 'psplotparetof' | 'psplotparetox' | 'psplotspread' | 'psplotvolume'

Для patternsearch только или paretosearch с одной целью: 'psplotbestf' | 'psplotmeshsize' | 'psplotbestx'

PollMethod

Стратегия опроса, используемая при поиске шаблона.

{'GPSPositiveBasis2N'} | 'GPSPositiveBasisNp1' | 'GSSPositiveBasis2N' | 'GSSPositiveBasisNp1' | 'MADSPositiveBasis2N' | 'MADSPositiveBasisNp1'

Для paretosearch только: {'GSSPositiveBasis2np2'}

UseParallel

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

Примечание

Необходимо установить UseCompletePoll кому true для patternsearch для использования векторного или параллельного опроса. Аналогично, установить UseCompleteSearch кому true для векторизированного или параллельного поиска.

Начиная с R2019a, при установке UseParallel опция для true, patternsearch внутренне переопределяет UseCompletePoll установка для true так что он опрашивает параллельно.

true | {false}

UseVectorized

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

Примечание

Необходимо установить UseCompletePoll кому true для patternsearch для использования векторного или параллельного опроса. Аналогично, установить UseCompleteSearch кому true для векторизированного или параллельного поиска.

Для структуры опций используйте Vectorized = 'on' или 'off'.

true | {false}

Опции для paretosearch Только

ВыборОписаниеЦенности

InitialPoints

Начальные точки для paretosearch. Используйте один из следующих типов данных:

  • Матрица с nvars , где каждая строка представляет одну начальную точку.

  • Структура, содержащая следующие поля (все поля необязательны, кроме X0):

    • X0 - Матрица с nvars , где каждая строка представляет одну начальную точку.

    • Fvals - Матрица с numObjectives столбцы, где каждая строка представляет значения целевой функции в соответствующей точке в X0.

    • Cineq - Матрица с numIneq столбцы, где каждая строка представляет значения ограничений нелинейного неравенства в соответствующей точке в X0.

paretosearch вычисляет все отсутствующие значения в Fvals и Cineq поля.

Матрица с nvars столбцы | структура | {[]}

MinPollFraction

Минимальная доля образца для опроса.

Скаляр от 0 до 1 | {0}

ParetoSetSize

Количество точек в наборе Парето.

Положительное целое число | {'max(numberOfObjectives, 60)'}, где numberOfObjectives - количество объективных функций

ParetoSetChangeTolerance

Решатель останавливается, когда относительное изменение меры остановки в окне итераций меньше или равно ParetoSetChangeTolerance.

  • Для трех или менее целей, paretosearch использует измерения объема и разброса.

  • Для четырех или более целей, paretosearch использует измерения разброса и расстояния.

См. раздел Определения алгоритма паретосearch.

Решатель останавливается, когда относительное изменение любого применимого измерения меньше ParetoSetChangeToleranceили максимум квадратичных преобразований Фурье временных рядов этих мер относительно мал. См. раздел Алгоритм поиска.

Примечание

Настройка ParetoSetChangeTolerance < sqrt(eps) ~ 1.5e-8 не рекомендуется.

Положительный скаляр | {1e-4}

Опции для patternsearch Только

ВыборОписаниеЦенности
Тайник

С Cache установить в значение 'on', patternsearch сохраняет историю точек сети, которые она опрашивает. При последующих итерациях, patternsearch не опрашивает точки, близкие к уже опрошенным. Используйте этот параметр, если patternsearch выполняется медленно при вычислении целевой функции. Если целевая функция является стохастической, не используйте эту опцию.

Примечание

Cache не работает при параллельном запуске решателя.

'on' | {'off'}

CacheSize

Размер истории.

Положительный скаляр | {1e4}

CacheTol

Наибольшее расстояние от текущей точки сетки до любой точки в истории для patternsearch во избежание опроса текущей точки. Использовать, если Cache параметр имеет значение 'on'.

Положительный скаляр | {eps}

FunctionTolerance

Допуск для функции. Итерации останавливаются, если изменение значения функции меньше FunctionTolerance и размер сетки меньше, чем StepTolerance. Этот параметр не применяется к опросу MADS.

Для структуры опций используйте TolFun.

Положительный скаляр | {1e-6}

InitialMeshSize

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

Положительный скаляр | {1.0}

InitialPenalty

Начальное значение штрафного параметра. См. раздел Алгоритм решателя нелинейных ограничений.

Положительный скаляр | {10}

MaxMeshSize

Максимальный размер сетки, используемый в шаге опроса или поиска. См. раздел Как работает опрос поиска шаблонов.

Положительный скаляр | {Inf}

MeshContractionFactor

Коэффициент сжатия сетки для неудачной итерации.

Для структуры опций используйте MeshContraction.

Положительный скаляр | {0.5}

MeshExpansionFactor

Коэффициент расширения сетки для успешной итерации.

Для структуры опций используйте MeshExpansion.

Положительный скаляр | {2.0}

MeshRotate

Поверните массив, прежде чем объявить точку оптимальной. См. раздел Параметры сетки.

'off' | {'on'}

PenaltyFactor

Параметр обновления штрафов. См. раздел Алгоритм решателя нелинейных ограничений.

Положительный скаляр | {100}

PlotInterval

Указывает, что функции печати вызываются через каждый интервал.

положительное целое число | {1}

PollOrderAlgorithm

Порядок направлений опроса при поиске шаблона.

Для структуры опций используйте PollingOrder.

'Random' | 'Success' | {'Consecutive'}

ScaleMesh

Автоматическое масштабирование переменных.

Для структуры опций используйте ScaleMesh = 'on' или 'off'.

{true}| false

SearchFcn

Тип поиска, используемый при поиске шаблона. Укажите в качестве имени или дескриптора функции.

Для структуры опций используйте SearchMethod.

'GPSPositiveBasis2N' | 'GPSPositiveBasisNp1' | 'GSSPositiveBasis2N' | 'GSSPositiveBasisNp1' | 'MADSPositiveBasis2N' | 'MADSPositiveBasisNp1' | 'searchga' | 'searchlhs' | 'searchneldermead' | {[]} | пользовательская функция поиска

StepTolerance

Допуск для переменной. Итерации останавливаются, если и изменение положения, и размер сетки меньше StepTolerance. Этот параметр не применяется к опросу MADS.

Для структуры опций используйте TolX.

Положительный скаляр | {1e-6}

TolBind

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

Положительный скаляр | {1e-3}

UseCompletePoll

Выполните опрос вокруг текущей точки. См. раздел Как работает опрос поиска шаблонов.

Для структуры опций используйте CompletePoll = 'on' или 'off'.

true | {false}

UseCompleteSearch

Полный поиск вокруг текущей точки, когда метод поиска является методом опроса. См. раздел Поиск и опрос.

Для структуры опций используйте CompleteSearch = 'on' или 'off'.

true | {false}

Вопросы совместимости

развернуть все

Не рекомендуется начинать с R2018b

См. также

|

Представлен до R2006a