Настройка оптимизации суммы

Обзор настройки оптимизации суммы

CAGE может решить оптимизацию суммарного типа. Эти оптимизации находят оптимальные настройки параметров управления в нескольких рабочих точках одновременно. Можно использовать оптимизацию суммы для решения задач цикла привода, где необходимо применить ограничения на протяжении всего цикла. Например, ограничение, такое как взвешенный двигатель, специфичный для тормоза, NOx < = 3 г/кВтч.

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

Если у вас нет существующей оптимизации точек, чтобы настроить новую суммарную оптимизацию:

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

    Можно также сконфигурировать цель суммы позже в представлении Оптимизации. См. раздел «Изменение цели».

  2. Добавьте ограничения:

    • Можно добавить ограничение граничной модели в мастер.

    • Для применения других типов ограничений необходимо использовать представление Оптимизации (Optimization). Можно применить линейные, эллипсоидные, 1-D таблицы, 2-D таблицы и ограничения области значений, и некоторые ограничения характерны для суммарной оптимизации - суммарные ограничения и градиентные ограничения таблицы.

    Для получения дополнительной информации обо всех этих ограничениях см. раздел «Редактирование ограничения».

  3. Выберите точки, где вы хотите запустить оптимизацию:

    • Можно использовать мастер для выбора подходящих точек по таблице, наборов данных или моделей «точка за точкой» или использовать переменные заданные точки.

    • Можно также настроить значения переменных оптимизации в представлении Оптимизации. Можно ввести значения вручную или путем импорта из наборов данных, таблиц или выхода существующих оптимизаций. См. Раздел «Редактирование значений переменных»

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

    • Используйте утилиту Create Sum Optimization

    • Воспользуйтесь мастером Create Optimization from Model, а затем выберите цель суммы.

    Если требуется, можно использовать элементы управления длиной в представлении Оптимизации вместо мастера. См. «Выбор скалярных переменных».

  4. (Необязательно) Можно вычислить цели или ограничения для различных рабочих точек, заданные в оптимизации. См. Использование наборов точек приложения.

  5. Запустите оптимизацию. См. Раздел «Оптимизация выполнения»

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

Что такое запуск?

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

В CAGE run ссылается на каждый вызов алгоритма оптимизации. Вы задаете количество запусков, которые должны выполнять CAGE с управлением Number of runs на панели Input Variable Values. Для получения дополнительной информации смотрите Выбор Скалярных Переменных.

Пример задачи для демонстрации элементов управления для оптимизации суммы

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

Скажите, что создали модели для крутящего момента (TQ), остаточной фракции (RESIDFRAC) и температуры выхлопных газов (EXTEMP) для бензинового двигателя.

Входы этих моделей

  • Искровое усовершенствование, S

  • Тайминг кулачка всасывания, INT

  • Время кулачка выхлопа, EXH

  • Скорость вращения двигателя, N

  • Относительная нагрузка, л

Необходимо настроить оптимизацию, чтобы вычислить оптимальные настройки S, INT и EXH для следующих рабочих точек:

NL
1000 0.3
11000.2
1250 0.31
1500 0.25
1625 0.18

Цель этой оптимизации:

Максимизируйте взвешенную сумму TQ по рабочим точкам.

Ограничения для этой оптимизации:

  • Ограничение 1: EXTEMP < = 1290 ° C в каждой рабочей точке

  • Ограничение 2: RESIDENTFRAC < = 17% в каждой рабочей точке

  • Ограничение 3: Изменение в INT составляет не более 5,5 ° на 500 об/мин изменения в N и 5,5 ° на 0,1 изменение в L, оцениваемое по таблице 3 на 3 (N, L).

  • Ограничение 4: Изменение в EXH составляет не более 5,5 ° на 500 об/мин изменения в N и 5,5 ° на 0,1 изменение в L, оцениваемое по таблице 3 на 3 (N, L).

Можно использовать fmincon алгоритм в CAGE, чтобы решить эту задачу.

Этот пример используется, чтобы объяснить элементы управления и выходы в следующих разделах, Выбор скалярных переменных и Интерпретация выхода оптимизации суммы.

Смотрите Ограничения Алгоритма для получения дополнительной информации об ограничениях алгоритма оптимизации в CAGE.

Выбор скалярных переменных

В узле оптимизации на панели Optimization Point Set перечислены свободные и фиксированные переменные. Для суммарной оптимизации:

  • Number of operating points является числом точек, которые оптимизатор суммирует во время оптимизации.

  • Используйте Select Scalar Variables, чтобы задать скалярные значения, которые не зависят от рабочих точек.

Ограничения алгоритма

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

Имя алгоритмаЦелиОграничения
fminconОдин выход Любое количество выходов
NBIДва или более выходовЛюбое количество выходов


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

Тип целиМаксимальное количество значений всех входов в цельКоличество выходовПричина
ТочкаNNЦель точки оценивается в каждой рабочей точке в запуск, и все значения возвращаются.
СуммаNОдинЦель суммы оценивает модель в каждой рабочей точке и возвращает одно значение, которое является взвешенной суммой вычислений модели.


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

Тип ограничения Максимальное количество значений всех входов в ограничение Количество выходов Причина
Линейный NNЭти ограничения оцениваются в каждой рабочей точке в запуск, и все значения возвращаются.
Эллипсоид NN
1D таблица NN
2D таблица NN
Модель NN
Область значений N0, N или 2NОграничение области значений оценивает выражение в каждой рабочей точке в запуск. Ограничение возвращает два значения для каждой точки, расстояние от нижней и верхней границы. В этом случае возвращаются 2N выходы. Если одна из границ бесконечна, то для каждой точки возвращается только расстояние до конечной границы, и возвращаются N выходов. Если обе границы бесконечны, то будет возвращено 0 выходов.
Сумма N1Суммарное ограничение оценивает модель в каждой рабочей точке и возвращает различие между взвешенной суммой модели и границей.
ТаблицаN> = 8 (в зависимости от настроек)Ограничение градиента таблицы ограничивает градиент свободной переменной по сетке. Количество возвращенных выходов зависит от размерностей сетки.


Можно использовать эти три таблицы, чтобы проверить, удовлетворяет ли настройка задачи ограничениям алгоритма. В качестве примера в следующей таблице проверяется, удовлетворяет ли задача примера (подробно описанная в Примере Задача для Демонстрации Элементов Управления для Оптимизации Суммы) ограничению алгоритма, выбранного для его решения, fmincon.

ЦельМаксимальное количество значений всех входовКоличество выходов
Взвешенная сумма TQ по точкам цикла привода51 (использование таблицы Цели)

ОграничениеМаксимальное количество значений всех входовКоличество выходов
EXTEMP < = 1290 ° C в каждой точке цикла привода55 (с использованием таблицы Ограничения)
RESIDFRAC < = 17% в каждой точке цикла привода55 (с использованием таблицы Ограничения)
Изменение в ИНТ составляет не более 5,5 ° на 500 об/мин и 5,5 ° на 0,1 изменение в л524 (это значение является количеством выходов ограничения градиента таблицы, сгенерированных из таблицы 3 на 3)
Изменение в EXH составляет не более 5,5 ° на 500 об/мин и 5,5 ° на 0,1 изменение в L524 (это значение является количеством выходов ограничения градиента таблицы, сгенерированных из таблицы 3 на 3)

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

Использование наборов точек приложения

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

Это может быть полезно для некоторых задач, например:

  • Ваша задача калибровки требует фактора нескольких циклов привода, заданных в различных наборах рабочих точек. Для примера распространено иметь различные циклы привода для эффективности и выбросов.

  • Вы хотите применить некоторые ограничения только в подмножестве точек оптимизации (иногда называемых «многорегионными задачами»). Например, часто существуют различные ограничения, которые следует учитывать при полной нагрузке.

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

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

Чтобы использовать набор точек приложения для оценки цели или ограничения:

  1. Щелкните правой кнопкой мыши цель или ограничение и выберите Select Application Point Set.

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

  2. Выберите пару переменных для использования в наборах точек приложения. Переменные должны быть фиксированными переменными в вашей оптимизации. Вы выбираете переменные только один раз на оптимизацию. Нажмите OK.

    Откроется диалоговое окно «Выбор набора точек приложения».

  3. Выберите набор точек приложения. Можно выбрать набор данных или New subset точек оптимизации. Чтобы выбрать подмножество точек, можно использовать флажки или клики по точкам на графике.

  4. Просмотрите график, отображающий точки приложения и точки оптимизации. CAGE экстраполирует результаты оптимизации, чтобы вычислить цель или ограничение в точках приложения.

  5. Нажмите OK.

Чтобы увидеть примеры графиков, которые иллюстрируют, как CAGE использует наборы точек приложения, введите mbcAppPointSetDemo чтобы загрузить файл примера проекта mbcAppPointSetDemo.cag в CAGE. Запустите оптимизацию в проекте, чтобы просмотреть графики.