exponenta event banner

sdo. OptimizeOptions

Параметр оптимизации установлен для sdo.optimize функция

    Описание

    Использовать sdo.OptimizeOptions для задания опций для решения задачи оптимизации конструкции с помощью sdo.optimize функция. При оптимизации можно задать такие опции, как метод решателя, опции решателя и использование параллельных вычислений.

    Создание

    Описание

    пример

    opt = sdo.OptimizeOptions создает набор опций по умолчанию для решения задачи оптимизации конструкции с помощью sdo.optimize функция. Чтобы изменить свойства этого набора опций для конкретного приложения, используйте точечную нотацию.

    пример

    opt = sdo.OptimizeOptions(Name,Value) создает набор опций со свойствами, заданными с помощью одного или нескольких аргументов «имя-значение».

    Свойства

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

    Решатель оптимизации, sdo.optimize используется для решения задачи оптимизации, указанной как одно из следующих значений:

    • 'fmincon'

    • 'fminsearch'

    • 'lsqnonlin'

    • 'patternsearch' (требуется программное обеспечение Global Optimization Toolbox)

    Дополнительные сведения об этих решателях см. в документации «Toolbox™ оптимизации» и «Панель инструментов глобальной оптимизации».

    Опции решателя оптимизации, заданные как объект опций оптимизации, созданные с помощью optimoptions. Параметры настраиваются на основе Method собственность. Поскольку 'fmincon' является методом решения оптимизации по умолчанию, значением по умолчанию для этого свойства является optimoptions объект для fmincon решатель. Сведения о доступных опциях решателя оптимизации см. в разделе:

    Чтобы изменить опции решателя, используйте точечную нотацию. Например, opt.MethodOptions.StepTolerance = 1.5e-3.

    Число перезапусков оптимизации, если критерии сходимости не удовлетворяются, указанное как неотрицательное целое число. При каждом перезапуске начальные значения перестраиваемых параметров устанавливаются на конечное значение предыдущего прогона оптимизации.

    Опция остановки оптимизации после нахождения выполнимого решения, удовлетворяющего ограничениям, заданная как одно из следующих значений:

    • 'on' - Прекратить работу, как только будет найдено осуществимое решение.

    • 'off' - продолжить поиск решений, которые обычно располагаются дальше внутри области ограничения.

    Программа игнорирует этот параметр при отслеживании опорного сигнала или при наличии проблемы.

    Параметр, указывающий, что предоставляемая функция затрат или ограничений sdo.optimize предоставляет информацию о градиенте, заданную как одно из следующих значений:

    • 'off' - Функция затрат или ограничений не предоставляет информацию о градиенте. Программа использует центральные различия для вычисления градиентов.

    • 'on' - Функция затрат или ограничений предоставляет информацию о градиенте в качестве одного из своих выходных аргументов.

    Вариант параллельных вычислений для fmincon, lsqnonlin, и patternsearch решатели оптимизации, указанные как один из следующих:

    • false или 0 - Не используйте параллельные вычисления во время оптимизации.

    • true или 1 - Использование параллельных вычислений при оптимизации.

    Чтобы разрешить параллельные вычисления для методов оптимизации, необходимо установить программное обеспечение Parallel Computing Toolbox™.

    Если установлено значение true, методы вычисляют параллельно следующее:

    • fmincon - Градиенты конечных разностей

    • lsqnonlin - Градиенты конечных разностей

    • patternsearch - Оценка набора опроса и поиска

    Примечание

    Параллельные вычисления не поддерживаются для fminsearch.

    Для параллельных вычислений укажите сценарий моделирования модели Simulink ® для оптимизации в качестве sdo.SimulationTest объект в OptimizedModel собственность. Можно указать зависимости файлов модели в ParallelFileDependencies или можно указать пути к зависимостям в ParallelPathDependencies собственность, при необходимости.

    Зависимости файлов для использования при параллельной оптимизации, заданные как массив ячеек символьных векторов. Каждый символьный вектор может указывать абсолютный или относительный путь к файлу. Эти файлы копируются в рабочие во время параллельной оптимизации. Использовать sdo.getModelDependencies для поиска зависимостей модели Simulink.

    Пример: opt.ParallelFileDependencies = {'C:\matlab\work\file1.m','C:\matlab\myProject\file2.m'}

    Пути к зависимостям для использования при параллельной оптимизации, задаваемые как массив ячеек символьных векторов. Если вы не хотите копировать файлы в рабочие, используйте это свойство вместо ParallelFileDependencies собственность. Эти зависимости путей временно добавляются к работникам во время параллельной оптимизации. Использовать sdo.getModelDependencies для поиска зависимостей модели Simulink.

    Пример: opt.ParallelPathDependencies = {'C:\matlab\work','C:\matlab\myProject'}

    Имя модели Simulink для оптимизации, указанное как sdo.SimulationTest объект или символьный вектор с именем модели.

    Определить OptimizedModel как sdo.SimulationTest объект при использовании обеих параллельных оптимизаций (UseParallel = true) и fastRestart.

    Для обеспечения параллельной оптимизации необходимо установить программное обеспечение Parallel Computing Toolbox.

    Пример: Simulator = sdo.SimulationTest('model_demo')

    Функции объекта

    sdo.optimizeРешение задачи оптимизации проекта

    Примеры

    свернуть все

    Создание значения по умолчанию sdo.OptimizeOptions набор опций.

    opt = sdo.OptimizeOptions;

    Задайте опции с помощью точечной нотации.

    opt.Method = 'lsqnonlin';
    opt.GradFcn = 'on';

    Значения свойств, которые не указаны, остаются на уровне значений по умолчанию.

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

    opt = sdo.OptimizeOptions('Method','lsqnonlin')
    opt = 
      OptimizeOptions with properties:
    
                          Method: 'lsqnonlin'
                   MethodOptions: [1x1 optim.options.Lsqnonlin]
                        Restarts: 0
                  StopIfFeasible: 'on'
                         GradFcn: 'off'
                     UseParallel: 0
        ParallelPathDependencies: {}
        ParallelFileDependencies: {}
                  OptimizedModel: ''
    
    

    Опции решателя можно изменить с помощью точечной нотации. Например, задайте для алгоритма решателя метод Левенберга-Марквардта.

    opt.MethodOptions.Algorithm = 'levenberg-marquardt';

    Просмотрите параметры метода.

    opt.MethodOptions
    ans = 
      lsqnonlin options:
    
       Options used by current Algorithm ('levenberg-marquardt'):
       (Other available algorithms: 'trust-region-reflective')
    
       Set properties:
                       Algorithm: 'levenberg-marquardt'
                         Display: 'iter'
               FunctionTolerance: 1.0000e-03
          MaxFunctionEvaluations: Inf
                   MaxIterations: 100
        SpecifyObjectiveGradient: 1
                   StepTolerance: 1.0000e-03
    
       Default properties:
                  CheckGradients: 0
        FiniteDifferenceStepSize: 'sqrt(eps)'
            FiniteDifferenceType: 'forward'
                       OutputFcn: []
                         PlotFcn: []
                        TypicalX: 'ones(numberOfVariables,1)'
                     UseParallel: 0
    
       Show options not used by current Algorithm ('levenberg-marquardt')
    
    

    Значения свойств, которые не указаны, остаются на уровне значений по умолчанию.

    Представлен в R2011a