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' - отображение результатов каждой подпрограммы оптимизации.

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

    minxmax(α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® workers (требует программного обеспечения Parallel Computing Toolbox™).

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

'UseParallel'

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

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

  • Если Automatically create a parallel pool отобран в Ваших настройках Parallel Computing Toolbox (Parallel Computing Toolbox), то программное обеспечение начинает параллельный бассейн, используя параметры настройки в тех настройках.

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

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

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

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

'SkipModels'

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

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

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

'SoftTarget'

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

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

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

'SoftTol'

Относительная погрешность для завершения.

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

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

'SoftScale'

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

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

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

'MinDecay'

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

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

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

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

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

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

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

'MaxRadius'

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

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

Если Automatically create a parallel pool не отобран в Ваших настройках Parallel Computing Toolbox (Parallel Computing Toolbox), вручную начните параллельное использование бассейна parpool (Parallel Computing Toolbox). Для примера:

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