Задайте ограничения проекта

Применение ограничений

Во многих случаях проекты могут не совпадать с рабочей областью тестируемой системы. Для примера автомобильный двигатель обычно не работает в области низкой скорости (n) и высокой рециркуляции выхлопных газов (EGR). Вы не можете запустить 15% EGR при 1000 об/мин. Нет смысла выбирать проектные точки в непрактичных областях, поэтому можно ограничить набор кандидатов для генерации тестовых точек.

Проекты могут иметь любое количество геометрических ограничений, наложенных на них. Каждое ограничение может быть одним из четырех типов: эллипсоид, гиперплоскость, 1D интерполяционная таблица или 2D интерполяционная таблица.

Примечание

Когда вы добавляете ограничения, тип проекта меняется на Custom (кроме оптимальных проектов). Для заполняющих пространство и классических проектов вы больше не можете получить доступ к исходным настройкам генерации проектов в диалоговом окне Свойства проекта (Design Properties). Если необходимо сохранить исходные настройки проекта, создайте дочерний проект для ограничения. Это важно, если вы хотите увеличить заполняющую пространство проект. См. «Увеличение пространства-заполнения проектов».

Чтобы добавить ограничение к проекту:

  1. Выберите Edit > Constraints из меню Design Editor.

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

Если ограничений еще нет, Диспетчер ограничений пуст, и можно нажать кнопку Add, чтобы создать новое ограничение.

Чтобы создать новое ограничение,

  1. Нажмите Add.

  2. Появится диалоговое окно Редактор ограничений с доступными ограничениями. В раскрывающемся меню Constraint Type можно выбрать: Линейный, Эллипсоид, 1D Таблица и 2-Table. См. следующий раздел «Типы ограничений».

  3. После определения любого ограничения нажмите кнопку OK. Новое ограничение появится в списке Диспетчер ограничений (Constraint Manager). Нажмите кнопку OK, чтобы вернуться в Design Editor, или Add, чтобы задать дополнительные ограничения.

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

Примечание

Вы получаете только опцию Replace точек для оптимальных проектов. Если необходимо заменить точки, удаленные ограничениями из других проектов, можно всегда использовать Edit > Add Point, чтобы добавить точки оптимально, случайным образом или в выбранных местах. Однако, если такое количество точек было удалено ограничением, что недостаточно для соответствия текущей модели, оптимальное сложение невозможно. См. раздел «Добавление и редактирование точек проекта».

Чтобы просмотреть ограничения в Design Editor:

  1. Для перехода к контекстному меню щелкните правой кнопкой мыши панель отображения Design Editor.

  2. Выберите Current > View > 3D Constraints. (Можно также выбрать вид 2D ограничений). Пример см. на следующем рисунке.

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

Типы ограничений

Примечание

Эти типы ограничений совпадают в Design Editor и в оптимизации в части CAGE Browser продукта Model-Based Calibration Toolbox™.

1D табличные ограничения

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

  • Выберите соответствующие коэффициенты для X и Y и выберите, следует ли ограничивать заданный контур с помощью списка Constraint inequality.

  • Можно ввести Number of breakpoints, нажать кнопку для Span Factor Range равномерного размещения точек по оси Х, а также ввести в таблицу значения точек Х. Для определения ограничения можно использовать таблицу CAGE или нормализатор. Если CAGE открыт и содержит подходящую таблицу, можно нажать Import Table.

  • На графике можно добавить и удалить точки с помощью кнопок, а также щелкнуть и перетащить точки, чтобы задать контур. Можно также ввести значения в поля редактирования для выбранной точки.

Линейные ограничения

Вы задаете коэффициенты уравнения для (N-1) размерной гиперплоскости в N-факторном пространстве. Форма уравнения A.x = b, где A - заданный вектор коэффициентов, x - вектор значений фактора (ов), который будет ограничен, и b - скаляр. Для примера,

В двух размерностях: A = (1, 2), x = (L, A), b = 3

Затем A.x = b расширяется до

1 * L + 2 * A = 3

Переставляя это, можно записать как

A = -L/2 + 3/2

что соответствует традиционному уравнению 2D прямой линии, y = mx + c, с m = -1/2 и c = 3/2. A.x = b, таким образом, является более высоким размерным расширением этого уравнения.

Линейные ограничения выполняются путем выбора области под заданной плоскостью (то есть A.x < = b). Чтобы выбрать область над плоскостью, умножьте все ваши значения на -1: A - > -A, b - > -b.

Например, чтобы выбрать простую плоскость, где SPK< 50 как граница ограничения введите 1 рядом с SPK и 50 рядом с b. Можно задать все другие факторы равными 0 (или можно удалить их на вкладке Входы, если вы ограничиваете оптимизацию).

Эллипсоидные ограничения

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

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

Длина оси.  Размер эллипсоида задается путем ввода значений вдоль диагонали матрицы. Значения по умолчанию создают эллипсоид, который касается ребра пространства в каждой из размерностей фактора. В целом для значения входа X в диагонали, размер эллипсоида в этом факторе равен 1/sqrt (X).

Если требуется радиус r в факторе, введите 1/( r ^ 2). Например, если вы хотите ограничить N радиусом 2000 от центральной точки, введите 1/2000 ^ 2 = 2 .5e-7, как показано на примере ниже.

Введите нуль в диагонали, чтобы не ограничиваться этим фактором.

Вращение.  Матричные значения, которые не относятся к основному диагональному повороту управления эллипсоидом.

В следующем примере показано заданное ограничение эллипсоида.

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

В этом примере ввод 2.5e-7 в диагонали ENGSPEED ограничивает эту ось 1/sqrt (2.5e-7) = 2000. Ввод нуля в диагонали INTCAM оставляет INTCAM без ограничений (то есть ограничение является цилиндром, простирающимся до концов области значений коэффициентов INTCAM). Эллипс не поворачивается, так как недиагональ записи матрицы все равны нулю.

Отображение 3D для отображения формы этого примера ограничения в Design Editor можно увидеть ниже.

2D табличные ограничения

2D таблицы являются расширением 1D таблицы. Границы ограничений для фактора заданы по 2D сетке двух других факторов.

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

  • Можно задать количество точек прерывания для X и Y факторы.

  • Можно кликнуть Span Range, чтобы равномерно разместить точки останова в области значений X или Y. Это полезно, если вы добавляете некоторые точки по оси Х, поскольку новые точки часто находятся на максимальном значении для этого фактора. Гораздо быстрее использовать кнопку Span Range, чем менять точки вручную.

  • Можно задать, чтобы сохранить область ниже (< =) или выше (> =) границы ограничений, как для таблицы 1D, с помощью раскрывающегося меню Inequality для Z коэффициент.

  • Вы можете переключиться на кодированные значения с помощью флажка. См. пример.

Граница ограничений между определенными точками сетки вычисляется с помощью билинейной интерполяции.

См. также 1D Table Constraints

Импорт ограничений

Выберите Edit > Constraints. В диалоговом окне «Диспетчер ограничений» нажмите кнопку Import.

В диалоговом окне «Импорт ограничений» выберите, откуда необходимо импортировать ограничения.

Импорт из

Описание

Current designs

Импортируйте все существующие ограничения в дереве проекта.

Design editor file (*.mvd)

Извлечение ограничений из файла проекта.

Boundary constraints (current project)

Импортируйте граничные ограничения из проекта Model Browser.

Boundary constraints (*.mat file)

Извлечение граничных ограничений из файла.

Classifiers

Импортируйте классификаторы из рабочей области.

Используйте классификаторы, чтобы различать хорошие и плохие рабочие условия, когда вы задаете граничные ограничения для проектных экспериментов. Чтобы создать машины опорных векторов (SVM) или дискриминантные классификаторы:

  1. Используйте Statistics and Machine Learning Toolbox™ для классификации данных.

  2. Используйте Приложение Classification Learner, чтобы экспортировать классификационную модель в рабочую область.

Примечание

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

  1. При импорте из файла можно ввести имя файла в поле редактирования или использовать кнопку browse, чтобы найти файл.

  2. Щелкните, чтобы выбрать ограничения в списке Available Constraints, или Ctrl + щелкните, чтобы выбрать несколько ограничений.

  3. Щелкните OK, чтобы импортировать и применить ограничения.

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

Похожие темы