Установка опций

Установите Опции Используя optimoptions

Можно задать любые доступные опции patternsearch путем передачи options как входного параметра к patternsearch с помощью синтаксиса

[x,fval] = patternsearch(@fitnessfun,nvars, ... 
            A,b,Aeq,beq,lb,ub,nonlcon,options)

Передайте в пустых скобках [] для любых ограничений, которые не появляются в проблеме.

Вы создаете options с помощью функционального optimoptions.

options = optimoptions(@patternsearch)
options = 

  patternsearch options:

   Set properties:
     No options set.

   Default properties:
            AccelerateMesh: 0
       ConstraintTolerance: 1.0000e-06
                   Display: 'final'
         FunctionTolerance: 1.0000e-06
           InitialMeshSize: 1
    MaxFunctionEvaluations: '2000*numberOfVariables'
             MaxIterations: '100*numberOfVariables'
                   MaxTime: Inf
     MeshContractionFactor: 0.5000
       MeshExpansionFactor: 2
             MeshTolerance: 1.0000e-06
                 OutputFcn: []
                   PlotFcn: []
                PollMethod: 'GPSPositiveBasis2N'
        PollOrderAlgorithm: 'consecutive'
                 ScaleMesh: 1
                 SearchFcn: []
             StepTolerance: 1.0000e-06
           UseCompletePoll: 0
         UseCompleteSearch: 0
               UseParallel: 0
             UseVectorized: 0

Функция patternsearch использует эти значения по умолчанию, если вы не передаете в options как входной параметр.

Значение каждой опции хранится в поле options, такого как options.MeshExpansionFactor. Можно отобразить любое из этих значений путем ввода options, сопровождаемого под названием поле. Например, чтобы отобразить фактор расширения mesh для поиска шаблона, войти

options.MeshExpansionFactor
ans =
    2

Чтобы создать options со значением поля, которое отличается от значения по умолчанию, используйте optimoptions. Например, чтобы изменить фактор расширения mesh на 3 вместо его значения по умолчанию 2, войти

options = optimoptions('patternsearch','MeshExpansionFactor',3);

Это создает options со всем набором значений к значениям по умолчанию за исключением MeshExpansionFactor, который установлен в 3.

Если вы теперь вызываете patternsearch с аргументом options, поиск шаблона использует фактор расширения mesh 3.

Если вы впоследствии решаете изменить другое поле в options, таком как установка PlotFcn к @psplotmeshsize, который строит размер mesh в каждой итерации, вызовите optimoptions с синтаксисом

options = optimoptions(options,'PlotFcn',@psplotmeshsize)

Это сохраняет текущие значения всех полей options за исключением PlotFcn, который изменяется на @plotmeshsize. Обратите внимание на то, что, если вы не используете входной параметр options, optimoptions сбрасывает MeshExpansionFactor к своему значению по умолчанию, которое является 2.

Можно также установить и MeshExpansionFactor и PlotFcn с одной командой

options = optimoptions('patternsearch','MeshExpansionFactor',3,'PlotFcn',@psplotmeshsize)

Создайте опции и проблемы Используя приложение оптимизации

Как альтернатива созданию опций с помощью optimoptions, можно установить значения опций в приложении Оптимизации и затем экспортировать опции в рабочую область MATLAB®, как описано в Импорте и Экспорте работы (Optimization Toolbox). Если вы экспортируете опции по умолчанию в приложении Оптимизации, получившийся options имеет те же настройки как опции по умолчанию, возвращенные командой

options = optimoptions('patternsearch')

за исключением значения по умолчанию 'Display', который является 'final', когда создано optimoptions, но 'none', когда создано в приложении Оптимизации.

Можно также экспортировать целую проблему из приложения Оптимизации и запустить его из командной строки. Войти

patternsearch(problem)
где problem является именем экспортируемой проблемы.

Смотрите также

|

Похожие темы