exponenta event banner

systuneOptions

Задать опции для systune

Синтаксис

options = systuneOptions
options = systuneOptions(Name,Value)

Описание

options = systuneOptions возвращает набор опций по умолчанию для systune команда.

options = systuneOptions(Name,Value) создает набор опций с опциями, заданными одним или несколькими Name,Value аргументы пары.

Входные аргументы

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

systuneOptions принимает следующее Name аргументы:

'Display'

Объем информации, отображаемой во время systune бежит.

Display принимает следующие значения:

  • 'final' - Отображение сводки в одну строку в конце каждого прогона оптимизации. Дисплей включает наилучшие значения для мягких и жестких ограничений, fSoft и gHard. Отображение также включает количество итераций для каждого прогона.

    Пример:

    Final: Soft = 1.09, Hard = 0.68927, Iterations = 58
  • 'sub' - Отображение результатов каждой подпроблемы оптимизации.

    При использовании целей мягкой и жесткой настройки программа решает оптимизацию как последовательность подпроблем вида:

    minx max (αf (x), g (x)).

    Здесь x - вектор перестраиваемых параметров, f (x) - наибольшее нормированное значение мягкого ограничения, и g (x) - наибольшее нормализованное значение жесткого ограничения. (См. раздел «Алгоритмы» документа systune справочная страница для получения дополнительной информации.) Программное обеспечение регулирует множитель α так, что решение подпроблем сходится к решению исходной задачи ограниченной оптимизации. При выборе 'sub', отчет включает результаты каждой из этих подпроблем.

    Пример:

    alpha=0.1: Soft = 3.97, Hard = 0.68927, Iterations = 8
    alpha=0.5036: Soft = 1.36, Hard = 0.68927, Iterations = 8
    alpha=1.47: Soft = 1.09, Hard = 0.68927, Iterations = 42
    Final: Soft = 1.09, Hard = 0.68927, Iterations = 58
  • 'iter' - отображение хода оптимизации после каждой итерации. Отображение включает в себя значение после каждой итерации минимизируемого целевого параметра. Целевой параметр в зависимости от того, какой из них больше, равен αf (x) и g (x). На экране также отображается значение хода выполнения, указывающее процентное изменение ограничений предыдущей итерации.

    Пример:

    Iter 1: Objective = 4.664, Progress = 93%
    Iter 2: Objective = 2.265, Progress = 51.4%
    Iter 3: Objective = 0.7936, Progress = 65%
    Iter 4: Objective = 0.7183, Progress = 9.48%
    Iter 5: Objective = 0.6893, Progress = 4.04%
    Iter 6: Objective = 0.6893, Progress = 0%
    Iter 7: Objective = 0.6893, Progress = 0%
    Iter 8: Objective = 0.6893, Progress = 0%
    alpha=0.1: Soft = 3.97, Hard = 0.68927, Iterations = 8
    Iter 1: Objective = 1.146, Progress = 42.7%
    Iter 2: Objective = 1.01, Progress = 11.9%
    ...
    alpha=1.47: Soft = 1.09, Hard = 0.68927, Iterations = 42
    Final: Soft = 1.09, Hard = 0.68927, Iterations = 58
  • 'off' - Запуск в автоматическом режиме без отображения информации во время или после выполнения.

По умолчанию: 'final'

'MaxIter'

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

По умолчанию: 300

'RandomStart'

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

Если RandomStart = 0, systune выполняет один прогон оптимизации, начиная с начальных значений настраиваемых параметров. Настройка RandomStart = N > 0 выполняет N дополнительных оптимизаций, начиная с N случайным образом сгенерированных значений параметров.

systune настраивается путем нахождения локального минимума проблемы минимизации усиления. Чтобы увеличить вероятность нахождения значений параметров, соответствующих требованиям проекта, установите RandomStart > 0. Затем можно использовать наилучшую конструкцию, которая является результатом нескольких прогонов оптимизации.

Использовать с UseParallel = true для распределения независимых прогонов оптимизации среди работников MATLAB ® (требуется программное обеспечение Parallel Computing Toolbox™).

По умолчанию: 0

'UseParallel'

Флаг параллельной обработки.

Установить в значение true разрешить параллельную обработку путем распределения рандомизированных стартов среди работников в параллельном пуле. Если имеется доступный параллельный пул, программное обеспечение выполняет независимую оптимизацию одновременно среди работников этого пула. Если параллельный пул недоступен, происходит одно из следующих действий:

  • Если Автоматически создают параллельный бассейн, отобран в Ваших Параллельных Вычислительных предпочтениях Комплекта инструментов (Параллельный Вычислительный Комплект инструментов), то программное обеспечение начинает параллельный бассейн, используя параметры настройки в тех предпочтениях.

  • Если параметр Автоматически создавать параллельный пул (Automatically create a parallel pool) не выбран в настройках, то программа выполняет оптимизацию последовательно, без параллельной обработки.

Если параметр Автоматически создавать параллельный пул не выбран в настройках, можно вручную запустить параллельный пул с помощью parpool (Панель параллельных вычислений) перед выполнением команды настройки.

Для параллельной обработки требуется программное обеспечение Parallel Computing Toolbox.

По умолчанию: false

'SkipModels'

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

Эта опция используется для пропуска определенных моделей или игнорирования частей пространства проектирования при настройке систем управления с планированием усиления. Например, может потребоваться пропустить точки сетки за пределами огибающей полета модели самолета или точки за пределами рабочего диапазона для настройки. Определите модели для пропуска по абсолютному индексу в массиве моделей для настройки. Используя SkipModels позволяет сузить область настройки без перенастройки каждой цели настройки. Дополнительные сведения см. в разделе Изменение требований с учетом условий эксплуатации.

По умолчанию: []

'SoftTarget'

Целевое значение для мягких ограничений.

Оптимизация останавливается, когда наибольшее значение мягкого ограничения падает ниже указанного SoftTarget значение. Значение по умолчанию SoftTarget = 0 минимизирует мягкие ограничения, подлежащие удовлетворению жестких ограничений.

По умолчанию: 0

'SoftTol'

Относительный допуск для завершения.

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

По умолчанию: 0,001

'SoftScale'

Априорная оценка наилучшего значения мягкого ограничения.

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

По умолчанию: 1

'MinDecay'

Минимальная скорость распада для стабилизированной динамики.

Большинство целей настройки имеют неявную стабильность по замкнутому контуру или ограничение минимальной фазы. Стабилизированная динамика относится к полюсам и нулям, на которые влияют эти ограничения. MinDecay опция ограничивает все стабилизированные полюса и нули в соответствии с:

  • Re(s) < -MinDecay (непрерывное время).

  • log(|z|) < -MinDecay (дискретное время).

Настройте минимальное значение, если оптимизация не соответствует значению по умолчанию или если значение по умолчанию противоречит другим требованиям. В качестве альтернативы можно использовать TuningGoal.Poles для управления скоростью затухания определенного контура обратной связи.

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

По умолчанию: 1e-7

'MaxRadius'

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

Эта опция ограничивает все стабилизированные полюса и нули для удовлетворения |s| < MaxRadius. Стабилизированная динамика - это полюса и нули, на которые влияют неявная стабильность или ограничения минимальной фазы целей настройки. MaxRadius ограничение полезно для предотвращения перехода этих полюсов и нулей в бесконечность в результате того, что алгебраические петли становятся единственными или усилия управления становятся неограниченными. Настройте максимальный радиус, если оптимизация не соответствует значению по умолчанию или если значение по умолчанию противоречит другим требованиям.

MaxRadius игнорируется при дискретной настройке времени, когда ограничения стабильности уже наложены |z| < 1.

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

По умолчанию: 1e8

Выходные аргументы

options

Набор опций, содержащий указанные опции для systune команда.

Примеры

свернуть все

Создание набора параметров для systune запуск с использованием пяти случайных перезапусков. Также задайте уровень отображения, чтобы показать ход выполнения каждой итерации, и увеличьте относительный допуск значения мягкого ограничения до 0,01.

options = systuneOptions('RandomStart',5,'Display','iter',...
                         'SoftTol',0.01);

Либо используйте точечную нотацию для установки значений options.

options = systuneOptions;
options.RandomStart = 5;
options.Display = 'iter';
options.SoftTol = 0.01;

Настройка набора опций для systune запуск с использованием 20 случайных перезапусков. Выполнение этих независимых прогонов оптимизации одновременно для нескольких работников в параллельном пуле.

Если установлено программное обеспечение Parallel Computing Toolbox, можно использовать параллельные вычисления для ускорения systune настройка систем управления неподвижной структурой. При выполнении нескольких рандомизированных операций systune начинается оптимизация, параллельные вычисления ускоряют настройку, распределяя запуски оптимизации между работниками.

Если параметр Автоматически создавать параллельный пул не выбран в настройках Панели параллельных вычислений (Панель параллельных вычислений), вручную запустите параллельный пул с помощью parpool(Панель инструментов параллельных вычислений). Например:

parpool;

Если в настройках выбран параметр Автоматически создавать параллельный пул (Automatically create a parallel pool), то вручную запускать пул не требуется.

Создать systuneOptions набор, который задает 20 случайных перезапусков для параллельного запуска.

options = systuneOptions('RandomStart',20,'UseParallel',true);

Настройка UseParallel кому true обеспечивает параллельную обработку путем распределения рандомизированных стартов среди доступных работников в параллельном пуле.

Используйте systuneOptions устанавливается при звонке systune. Например, предположим, что вы уже создали настраиваемую модель системы управления, CLO. Для настройки этой системы созданы векторы SoftReqs и HardReqs из TuningGoal объекты требований. Эти векторы представляют мягкие и жесткие зависимости соответственно. В этом случае следующая команда использует параллельные вычисления для настройки системы управления CL0.

[CL,fSoft,gHard] = systune(CL0,SoftReqs,HardReqs,options);

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

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

В R2016a изменилось поведение

См. также

| (Simulink Control Design)

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