После создания статистических моделей в соответствии с данными их можно использовать при оптимизации. Можно использовать точную статистическую модель механизма, чтобы заменить моделирование высокой точности и работать гораздо быстрее, позволяя оптимизировать создание калибровок в осуществимое время.
Выполните оптимизацию, чтобы выбрать, использовать ли впрыск пилота в каждой рабочей точке.
Оптимизируйте расход топлива в течение цикла привода и выполните следующие ограничения:
Ограничение общего объема NOx
Ограничение скорости турбокомпрессора
Ограничение сглаживания таблиц
Заполните таблицы поиска для всех управляющих входов.
Для оптимизации необходимо импортировать статистические модели, созданные ранее в браузере моделей.
В MATLAB ® на вкладке Приложения (Apps) в группе Автомобильный (Automotive) щелкните Оптимизация MBC (MBC Optimization).
Чтобы увидеть, как импортировать модели, на главной странице щелкните Импорт из проекта (Import From Project)
Откроется инструмент импорта CAGE. Здесь можно выбрать модели для импорта из файла проекта обозревателя моделей или непосредственно из Диспетчера моделей, если он открыт. Однако панель инструментов предоставляет файл примера с уже импортированными моделями, поэтому щелкните Закрыть (Close), чтобы закрыть инструмент импорта CAGE (CAGE Import Tool).
На домашней странице в списке Истории успеха выберите пример с несколькими инъекциями или выберите «Файл» > «Открыть проект» и перейдите к файлу примера. CI_MultiInject.cag, найдено в matlab\toolbox\mbc\mbctraining.
Щелкните Модели (Models) на левой панели Объекты данных (Data Objects), чтобы просмотреть модели.
Чтобы увидеть, как настроить таблицы для заполнения результатами оптимизации, выберите Инструменты > Создать таблицы подстановки из модели. Откроется мастер Создать таблицы подстановки из модели (Create Lookup Tables from Model).

Выберите модель BSFC и флажок Создать набор данных рабочих точек (Create operating point data set) и нажмите кнопку Далее (Next).
Если оставить значения по умолчанию, для точек останова таблицы будут использоваться рабочие точки модели. Однако необходимо создать различные таблицы для рабочих точек.
Снимите флажок Использовать операционные точки модели (Use model operating points).
Выбрать SPEED и TQ для входных данных оси.
Войти 11 для строк и столбцов таблицы.

Нажмите кнопку Далее.
Просмотрите последний экран, чтобы узнать, сколько таблиц будет создано CAGE после завершения работы мастера.
Нажмите кнопку Отмена, чтобы избежать создания новых ненужных таблиц в файле примера. Файл примера уже содержит все таблицы, необходимые для результатов калибровки.

Выберите представление Таблицы подстановки для просмотра всех таблиц. Обратите внимание, что существуют таблицы с именами _wPilot и _noPilot который будет заполнен результатами оптимизации. Цель состоит в заполнении отдельных таблиц для каждого режима, активного впрыска пилот-сигнала и отсутствия впрыска пилот-сигнала.
Пример файла CI_MultiInject.cag показаны результаты многоступенчатого процесса для завершения этой калибровки.
Щелкните Оптимизация (Optimization) на левой панели Процессы (Processes), чтобы просмотреть оптимизации.

Для завершения калибровки необходимо начать с оптимизации точек, чтобы определить, следует ли использовать впрыск пилота в каждой рабочей точке. Результаты этой точечной оптимизации используются для настройки суммарной оптимизации для оптимизации расхода топлива в течение цикла привода и выполнения следующих ограничений:
Ограничение общего объема NOx
Ограничение скорости турбокомпрессора
Ограничение сглаживания таблиц
Выберите BSFC_PointOpt оптимизация для просмотра настроек.
Просмотрите две цели на панели «Цели». Они настроены на минимизацию BSFC и PEAKPRESS. Дважды щелкните цель, чтобы просмотреть ее параметры.

Обратите внимание, что на панели «Зависимости» отображается ограничение граничной модели.
Узнайте, как проще всего настроить оптимизацию, выбрав Инструменты > Создать оптимизацию из модели.

Выберите модель BSFC и установите флажок Создать набор данных рабочих точек (Create operating point data set) и нажмите кнопку Далее (Next).
Обратите внимание, что параметры по умолчанию создают оптимизацию точек для минимизации BSFC в рабочих точках модели, используя шесть свободных переменных, а не SPEED, TQ, или Modeи ограничена граничной зависимостью модели.

Вы хотите, чтобы оптимизация определила, какой пилотный режим (активный пилотный впрыск или отсутствие пилотного впрыска) лучше всего использовать в каждой рабочей точке. Для этого необходимо выбрать Modal optimization из списка «Алгоритм».
Вы хотите включить Mode как свободная переменная, так что оптимизация может определить, какой режим лучше использовать в каждой рабочей точке. В списке Свободные переменные установите флажок для включения Mode.

Нажмите кнопку Готово (Finish), чтобы создать новую оптимизацию.
Сравните новую оптимизацию с примером BSFC_PointOpt. Обратите внимание, что в примере есть вторая цель: минимизировать PEAKPRESS. Чтобы увидеть, как это настроить, щелкните правой кнопкой мыши панель Цели и выберите Добавить цель.
Пример файла CI_MultiInject.cag показаны результаты многоступенчатого процесса для завершения этой калибровки.
Разверните первый узел оптимизации, BSFC_PointOptи выберите узел вывода под ним, BSFC_PointOpt_Output.
Выберите Вид (View) > Выбранное решение (Selected Solution) (или кнопку на панели инструментов), чтобы просмотреть режим оптимизации, выбранный наилучшим образом в каждой рабочей точке. На левой панели представлены все результаты оптимизации. На правой панели представлены результаты текущего прогона.

Просмотрите график горизонталей результатов, чтобы увидеть, какой режим был выбран для всех рабочих точек. Этот вид используется для проверки распределения выбора режима.
Щелкните, чтобы выбрать точку в таблице, или Контур результатов (Results Contour), и можно использовать элементы управления Выбранное решение (Selected solution) вверху, чтобы изменить режим, выбранный в этой точке. Можно изменить выбранный режим, если в этот момент также возможен другой режим. Например, можно изменить режим, чтобы сделать таблицу более гладкой.
Используйте другие цели для изучения результатов. Например, может потребоваться вручную изменить выбранный режим на основе дополнительного целевого значения. Может быть полезно просматривать графики других целевых значений в выбранных решениях. Чтобы отобразить другой график или изменить вид, щелкните правой кнопкой мыши графики для просмотра опций.
Например, щелкните правой кнопкой мыши график «Контуры объекта». Выберите Текущий вид > Целевые графики.

Чтобы увидеть оба решения для определенной операционной точки, используйте вид «Парето срез». Можно проверить целевое значение (и любые дополнительные целевые значения) для каждого решения. При необходимости можно вручную изменить выбранный режим в соответствии с другими критериями, такими как режим в соседних рабочих точках или значение дополнительной цели.
Дополнительные сведения об инструментах для выбора режима в каждой рабочей точке см. в разделе Анализ результатов модальной оптимизации.
Результаты оптимизации точек определяют, следует ли использовать впрыск пилота в каждой рабочей точке. Если вы удовлетворены всеми выбранными решениями для оптимизации модального движения, можно выполнить оптимизацию суммы по всем рабочим точкам. Режим впрыска пилота должен быть зафиксирован в суммарной оптимизации, чтобы избежать оптимизации слишком большого количества комбинаций режимов работы.
Результаты точечной оптимизации были использованы для настройки суммарной оптимизации для оптимизации расхода топлива в течение цикла привода. Чтобы узнать, как это сделать:
Из выходного узла оптимизации точек, BSFC_PointOpt_Outputвыберите «Решение» > «Создать оптимизацию суммы».
Панель инструментов автоматически создает оптимизацию суммы с выбранным наилучшим режимом для каждой рабочей точки. Функция оптимизации создания суммы преобразует модальную оптимизацию в стандартную единственную целевую оптимизацию (fmincon алгоритм) и изменяет Mode Variable к фиксированной переменной.
Сравните новую оптимизацию с примером оптимизации суммы, BSFC_SumOpt. В примере показано, что для завершения калибровки необходимо установить дополнительные ограничения.

Дополнительные ограничения делают оптимизацию соответствующей следующим требованиям:
Ограничение общего объема NOx
Ограничение максимальной скорости турбокомпрессора
Ограничение сглаживания таблиц с зависимостями градиента
Импортируйте все необходимые ограничения в новую оптимизацию, выбрав «Оптимизация» > «Ограничения» > «Импортировать ограничения». Выберите пример оптимизации суммы и импортируйте все ограничения, кроме первой граничной модели.
Дважды щелкните дополнительные зависимости, чтобы открыть диалоговое окно Править зависимость (Edit Constraint) и просмотреть настройку.
Это ограничение суммы управляет общим количеством NOx.

Это ограничение управляет максимальной скоростью турбокомпрессора.

Обратите внимание, что это ограничение не использует VGTSPEED модель непосредственно, но вместо этого использует функциональную модель VGTSPEEDNorm. Эту функциональную модель можно изучить в представлении Модели (Models). Функциональная модель масштабирует ограничение, чтобы помочь подпрограммам оптимизации, которые имеют проблемы, если ограничения имеют очень разные размеры. VGTSPEED имеет порядок 165000, в то время как другие ограничения имеют порядок 1, поэтому функциональная модель VGTSPEEDNorm нормализует VGTSPEED путем деления его на 165000.
Следующая зависимость управляет градиентом через MAINSOI таблица.

В представлении Оптимизация (Optimization) на панели Ограничения (Constraints) обратите внимание, что:
Ограничения градиента находятся в парах, один с пилот-сигналом и один без пилот-сигнала. Для различных режимов требуются отдельные ограничения градиента таблиц, поскольку целью является заполнение отдельных таблиц для каждого режима.
Все зависимости градиента имеют запись в столбце «Набор точек приложения».

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

Обратите внимание, что для каждой опции режима выбрана опция Интерполяция (Interpolate). Этот набор точек приложения ограничивает ограничение градиента таблицы до Mode Только 1 (активная) точка. Можно создать такой набор точек приложения, выбрав New subset а затем выберите подмножество точек оптимизации, щелкнув на графике или в таблице. Точки приложения здесь соответствуют рабочим точкам, где оптимизация точек определила, что пилотный режим должен быть активным (Mode = 1). Для сравнения ниже приведен график контуров результатов для результатов оптимизации точек.

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

Оптимизация суммы теперь содержит все необходимые ограничения и готова к выполнению. Далее просмотрите результаты в примере оптимизации суммы.
CAGE запоминает параметры заполнения таблицы подстановки. Чтобы просмотреть, как заполняются таблицы примеров:
Разверните пример узла оптимизации суммы BSFC_SumOpt и выберите BSFC_SumOpt_Output узел.
Выберите Решение > Заполнить таблицы подстановки (или используйте кнопку на панели инструментов), чтобы открыть окно Заполнение таблицы подстановки из мастера результатов оптимизации.
На первом экране просмотрите все таблицы в списке заполняемых таблиц CAGE. Нажмите кнопку Далее.
На втором экране убедитесь, что все таблицы сопоставлены с результатами оптимизации, чтобы заполнить их. Нажмите кнопку Далее.

На третьем экране просмотрите, как некоторые таблицы имеют правило фильтрации, настроенное так, что они заполняются только результатами, где Mode равно 1 или 2. Можно создать такое правило фильтрации, введя Mode==1 в столбце Правило фильтра.

Можно либо нажать кнопку Готово (Finish), чтобы заполнить все таблицы, либо кнопку Отмена (Cancel), чтобы оставить таблицы нетронутыми. Таблицы примеров уже заполнены этими параметрами.
Эти графики показывают результаты, аналогичные результатам калибровки.
Таблица режимов пилот-сигнала

Необходимо заполнить таблицы калибровки для каждой управляющей переменной, описанной в разделе Определение проблемы дизельного топлива с несколькими впрысками, в обоих пилотных режимах - активном и неактивном.
Ниже приведены все активные таблицы пилотов.
Таблица синхронизации основного впрыска (SOI)

Таблица общей массы впрыскиваемого топлива

Таблица дельты давления топлива

Таблица положения клапанов рециркуляции отработавших газов (EGR)

Таблица положения турбоагрегата переменной геометрии (VGT)

Таблица синхронизации ввода пилот-сигнала (дельта SOI пилот-сигнала)

Таблица массовой доли пилотного топлива

Пример файла CI_MultiInject.cag также показан пример многообъективной оптимизации. Это может быть полезно для калибровок, в которых требуется минимизировать несколько целей за один раз, в данном случае: BSFC и NOX. Многообъективная оптимизация использует gamultiobj алгоритм.
Выберите BSFC_NOX для просмотра настройки оптимизации. Соблюдайте 2 цели и информацию об оптимизации: Мультиобъективная оптимизация с использованием генетического алгоритма.
Разверните окно BSFC_NOX и выберите BSFC_NOX_Output для просмотра результатов. Чтобы выбрать вид, который требуется изучить, щелкните правой кнопкой мыши на панели и выберите «Текущий вид». Выберите вид.
Изучите графики Парето. Для просмотра информации о выбранном решении может быть полезно одновременно отобразить представление Информация о решении (Solution Information). Вы можете выбрать доминирующее решение (оранжевый треугольник) над решением парето (зеленый квадрат), чтобы обменяться желаемыми свойствами.

Выберите Sum_BSFC_NOX для просмотра настройки оптимизации суммы. Оптимизация суммы была создана на основе результатов оптимизации точек. Соблюдайте 2 цели и все ограничения.
Разверните окно Sum_BSFC_NOX и выберите Sum_BSFC_NOX_Output для просмотра результатов.
Совет
Узнайте о том, как MathWorks ® Consulting помогает клиентам разрабатывать калибровки двигателей, оптимально сочетающие в себе производительность двигателя, экономию топлива и требования к выбросам. См. раздел Оптимальная калибровка двигателя.