Когда вы создаете оптимизацию, можно настроить начальные цели и граничное ограничение в мастере создания оптимизации из модели. Можно добавлять и редактировать ограничения и цели в главном представлении Optimization CAGE.
Можно запустить два типа оптимизации, оптимизации точек и оптимизации суммы. Оптимизация точек ищет оптимальные значения каждой целевой функции в каждой точке набора рабочих точек. Суммарная оптимизация находит оптимальное значение взвешенной суммы каждой целевой функции. Взвешенная сумма берется по каждой точке, и веса могут быть отредактированы.
Используйте диалоговое окно Править ограничение (Edit Constraint), чтобы настроить суммарные ограничения модели. Вы не можете настроить суммарные ограничения из мастера создания оптимизации из модели или из мастера оптимизации.
Можно также настроить линейную, 1- и 2-D таблицу и эллипсоидные ограничения в диалоговом окне Править ограничение (Edit Constraint).
Дважды кликните или щелкните правой кнопкой мыши цели, чтобы открыть диалоговое окно Править цель (Edit Objective).
Objective type параметр | Описание |
---|---|
Point Objective | Оптимизация точек ищет оптимальные значения каждой целевой функции в каждой точке набора рабочих точек. The Можно также включить ' |
Sum Objective | Оптимизация суммы находит оптимальное значение взвешенной суммы каждой целевой функции. Взвешенная сумма берется по каждой точке, и веса могут быть отредактированы. Используйте только для оптимизации взвешенных сумм. Можно редактировать веса в Optimization представлении, чтобы сделать определенные рабочие точки более важными, предоставляя больше гибкости решениям для других точек. Можно отредактировать веса на панели Fixed Variables. |
Можно переименовать ограничение путем редактирования Constraint name окна редактирования для содействия анализу в представлениях Оптимизации. Это может быть отключено для пользовательской оптимизации.
Constraint Type параметр | Описание |
---|---|
Model | Ограничения оптимизации. |
Range | |
Sum Constraint | |
Table Gradient | |
Linear | Это те же ограничения, которые можно применить к проектам в части Model Browser основанных на модели Toolbox™ калибровки. Для получения дополнительной информации см. раздел «Определение ограничений проекта». Можно выбрать входы ограничения на дополнительной вкладке Inputs. Выберите любую переменную или модель в качестве входов. По умолчанию выбираются свободные переменные, где это возможно. Модели рассматриваются как нелинейные функции, поэтому, если вы принимаете решение подавать модель в линейное ограничение, это делает это ограничение нелинейным. Вы не можете получить к нему доступ как к линейному ограничению в пользовательских скриптах оптимизации. |
Ellipsoid | |
1D Table | |
2D Table |
Чтобы улучшить эффективность для больших оптимизаций, которые используют эти алгоритмы, рассмотрите установка Soft Constraint.
fmincon
modal
GA
patternsearch
gamultiobj
NBI
paretosearch
multistart
Во время оптимизации Model-Based Calibration Toolbox пытается удовлетворить ограничению, но принимает решения, которые близки к ограничению.
Чтобы создать ограничение модели:
Выберите Input model в левом списке.
Для выбора используйте раскрывающийся список Evaluate quantity Evaluation value
, Boundary constraint
, или PEV value
(моделируйте отклонение ошибки предсказания), чтобы задать свое ограничение.
Нажмите соответствующую кнопку опции, чтобы либо ввести значение в Constant поле редактирования, либо выбрать CAGE item из списка моделей или переменных.
Выберите оператор Constraint type, чтобы определить, должен ли выход оптимизации быть ограничен, чтобы быть больше, меньше, чем, или равным константе или значению элемента, заданному справа.
Проверьте отображенные Constraint description и нажатие кнопки OK.
Настройки ограничений модели показаны на следующем рисунке.
Можно задать верхнюю и нижнюю границы для ограничения выражений (которые могут быть переменными, моделями или таблицами). Можно задать границы с константами, векторами, переменными, моделями или таблицами.
Выберите элемент CAGE для ограничения на вкладке «Связанное выражение». Используйте раскрывающееся меню, чтобы переключиться между переменными, моделями или таблицами, а затем выберите элемент для ограничения. Для соответствующих моделей можно также выбрать ограничение либо PEV, либо значение оценки.
На вкладке Нижняя граница (Lower Bound) нажмите кнопку опции, чтобы выбрать, использовать ли элемент константу, вектор или CAGE для задания границы.
Для констант введите значение.
Для векторов можно ввести нижнюю границу для каждой точки на панели Входа Значений переменных в представлении Оптимизации после закрытия диалогового окна Править ограничение (Edit Constraint).
Для элементов CAGE используйте раскрывающееся меню, чтобы переключиться между переменными, моделями или таблицами, а затем выберите элемент, чтобы задать нижнюю границу. Для соответствующих моделей можно также выбрать использование PEV или оценочного значения.
Задайте верхнюю границу на вкладке Верхняя граница так же, как и нижнюю границу на вкладке Нижняя граница.
Проверьте отображенные Constraint description и нажатие кнопки OK.
Используйте их для оптимизации взвешенных сумм. Выберите модель, ограниченное значение и оператор.
Можно иметь смесь ограничений точек и сумм.
Ограничения градиента таблицы должны использоваться в суммарной оптимизации. Если вы не используете пользовательскую оптимизацию, для ограничений Table Gradient используйте суммарную цель. Вы не можете запускать оптимизацию точек, которая содержит ограничения градиента таблицы.
Ограничения градиента таблицы позволяют вам ограничивать градиент свободной переменной или модели сеткой фиксированных переменных.
Выберите свободную переменную или модель для ограничения.
Задайте одну или две фиксированные переменные и сетку точек либо вручную, либо путем выбора осей таблицы.
Введите значения в Maximum change и Axis value change поля редактирования, чтобы задать максимальное изменение свободной переменной или модели на количество фиксированного изменения переменной между камерами. Для примера введите 5
и 1000
для определения максимального изменения угла кулачка на 1000 об/мин на 5 градусов.
Чтобы задать верхние или более низкие пределы в ограничении градиента таблицы, задайте два вектора-строки элемента в Maximum change окне редактирования. например, [-5 20]
.
Использование Inf
если вы хотите задать только нижнюю или верхнюю границу, например, введите [0 Inf]
для задания градиента таблицы > 0 и [-Inf 0]
для задания градиента таблицы < 0.
Проверьте отображенные Constraint description и нажатие кнопки OK.
Рассмотрите определение мягкого ограничения, когда:
Ограничения не совсем понятны.
Оптимизация испытывает трудности с нахождением возможных решений с жесткими ограничениями.
Когда вы задаете мягкое ограничение, Model-Based Calibration Toolbox не требует, чтобы оптимизация удовлетворяла ограничению. Вместо этого Model-Based Calibration Toolbox допускает некоторое ослабление вокруг ограничения. Во время оптимизации алгоритм удовлетворяет мягкому ограничению, минимизируя ослабление и оптимизируя цель.
Чтобы задать мягкое ограничение, в CAGE на панели Constraints выберите Soft Constraint.
Для примера следуйте этому общему рабочему процессу, чтобы найти допустимые решения оптимизации с помощью мягких ограничений.
Запустите оптимизацию с жесткими ограничениями.
Сделайте некоторые ограничения мягкими. Для примера для оптимизации суммы сделайте ограничения градиента таблицы мягкими.
В диалоговом окне «Параметры оптимизации» задайте Soft constraints weighting, чтобы сделать больший или меньший акцент на удовлетворении ограничений. По умолчанию значение равно 1. Увеличение значения заставляет оптимизацию находить возможные решения с учетом жестких ограничений и минимизацией ослабления для мягких ограничений. Если задать значение inf, оптимизация учитывает все ограничения жестких ограничений. Если вы задаете значение 0, оптимизация не пытается удовлетворить никаким мягким ограничениям.
Запустите оптимизацию с мягкими ограничениями. Проверьте результаты оптимизации. CAGE подсвечивает мягкие ограничения, которые не удовлетворяют жесткому ограничению, связанному светло-синим цветом.
Идентифицируйте ограничения, которые не выполняются. Рассмотрите создание жестких ограничений мягких ограничений.