Оптимизация

Обзор оптимизации

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

  1. Запустите оптимизацию, чтобы выбрать, использовать ли Экспериментальную Инжекцию в каждой рабочей точке.

  2. Оптимизируйте расход топлива по ездовому циклу и соответствуйте этим ограничениям:

    • Ограничьте общий NOx

    • Ограничьте скорость турбокомпрессора

    • Ограничьте гладкость таблиц

  3. Заполните интерполяционные таблицы для всех входных параметров управления.

Настройте модели и таблицы для оптимизации

Чтобы выполнить оптимизацию, необходимо импортировать статистические модели, созданные ранее в Model Browser.

  1. В MATLAB®, на вкладке Apps, в группе Automotive, нажимают MBC Optimization.

  2. Чтобы видеть, как импортировать модели на домашней странице, нажмите Import From Project

    Import Tool CAGE открывается. Здесь, можно выбрать модели, чтобы импортировать из файла проекта Model Browser или из Model Browser, если это открыто. Однако тулбокс предоставляет файлу в качестве примера модели, уже импортированные, поэтому нажмите Close, чтобы закрыть Import Tool CAGE.

  3. На домашней странице, в списке Тематических исследований, выбирают мультиинжекционный пример или выбирают File> Open Project и обзор к файлу в качестве примера CI_MultiInject.cag, найденный в matlab\toolbox\mbc\mbctraining.

  4. Нажмите Models в левой панели Data Objects, чтобы просмотреть модели.

  5. Чтобы видеть, как настроить таблицы, чтобы заполнить результатами вашей оптимизации, выберите Tools> Create Lookup Tables from Model. Создать Интерполяционные таблицы от мастера Модели открываются.

  6. Выберите модель BSFC и флажок Create operating point data set, и нажмите Next.

  7. Если бы вы оставили значения по умолчанию, вы использовали бы рабочие точки модели для табличных точек останова. Однако необходимо составить различные таблицы к рабочим точкам.

    1. Снимите флажок Use model operating points.

    2. Выберите SPEED и TQ для входных параметров оси.

    3. Введите 11 для строк таблицы и столбцов.

    Нажмите Next.

  8. Просмотрите последний экран, чтобы видеть, как много таблиц CAGE создадут для вас, если вы закончите мастер.

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

  9. Выберите представление Lookup Tables, чтобы видеть все таблицы. Заметьте, что существуют таблицы под названием _wPilot и _noPilot это будет заполнено результатами оптимизации. Цель состоит в том, чтобы заполнить отдельные таблицы для каждого режима, экспериментальная активная инжекция и никакая экспериментальная инжекция.

Исследуйте Setup оптимизации точки

Файл в качестве примера CI_MultiInject.cag показывает результаты многоступенчатого процесса закончить эту калибровку.

  1. Нажмите Optimization в левой панели Processes, чтобы просмотреть оптимизацию.

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

    • Ограничьте общий NOx

    • Ограничьте скорость турбокомпрессора

    • Ограничьте гладкость таблиц

  2. Выберите BSFC_PointOpt оптимизация, чтобы просмотреть настройку.

  3. Просмотрите эти две цели в панели Целей. Они настраиваются, чтобы минимизировать BSFC и PEAKPRESS. Дважды кликните цель просмотреть ее настройки.

  4. Заметьте, что Ограничительная панель показывает граничное ограничение модели.

  5. Изучите самый легкий способ настроить оптимизацию как это путем выбора Tools> Create Optimization from Model.

  6. Выберите модель BSFC и флажок Create operating point data set, и нажимает Next.

  7. Заметьте, что настройки по умолчанию создадут оптимизацию точки, чтобы минимизировать BSFC в рабочих точках модели, с помощью шести свободных переменных и не SPEED, TQ, или Mode, и ограниченный граничным ограничением модели.

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

  9. Вы хотите включать Mode как свободная переменная, таким образом, оптимизация может идентифицировать, который режим является лучшим, чтобы использовать в каждой рабочей точке. Из списка Free variables установите флажок, чтобы включать Mode.

  10. Нажмите Finish, чтобы создать новую оптимизацию.

  11. Сравните свою новую оптимизацию с примером BSFC_PointOpt. Заметьте, что пример имеет вторую цель, чтобы минимизировать PEAKPRESS. Чтобы видеть, как настроить это, щелкните правой кнопкой по панели Целей и выберите Add Objective.

Исследуйте результаты оптимизации точки

Файл в качестве примера CI_MultiInject.cag показывает результаты многоступенчатого процесса закончить эту калибровку.

  1. Расширьте первый узел оптимизации, BSFC_PointOpt, и выберите выходной узел внизу, BSFC_PointOpt_Output.

  2. Выберите View> Selected Solution (или кнопка на панели инструментов), чтобы просмотреть, какой режим оптимизация выбрала как лучше всего в каждой рабочей точке. Левая панель обеспечивает все результаты оптимизации. Правая панель обеспечивает результаты для текущего запуска.

  3. Рассмотрите Контурный график Результатов, чтобы видеть, какой режим был выбран через все рабочие точки. Используйте это представление, чтобы проверить распределение выбора режима.

  4. Щелкните, чтобы выбрать точку в таблице или Контуре Результатов, и можно использовать средства управления Selected solution наверху, чтобы измениться, какой режим выбран в той точке. Вы можете хотеть изменить выбранный режим, если другой режим также выполним в той точке. Например, можно изменить режим, чтобы сделать таблицу более сглаженной.

  5. Используйте другие цели исследовать результаты. Например, вы можете хотеть вручную изменить выбранный режим на основе дополнительного объективного значения. Может быть полезно просмотреть графики других объективных значений в ваших выбранных решениях. Чтобы отобразить другой график или изменить представление, щелкните правой кнопкой по графикам просмотреть опции.

    Например, щелкните правой кнопкой по Объективному графику Контуров. Выберите Current View> Objective Graphs.

  6. Чтобы видеть оба решения для конкретной рабочей точки, используйте представление Pareto Slice. Можно смотреть объективное значение (и любые дополнительные объективные значения) для каждого решения. В случае необходимости можно вручную изменить выбранный режим, чтобы соответствовать другим критериям, таким как режим в смежных рабочих точках или значение дополнительной цели.

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

Создайте оптимизацию суммы из оптимизации точки

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

Результаты оптимизации точки использовались, чтобы настроить оптимизацию суммы, чтобы оптимизировать расход топлива по ездовому циклу. Чтобы видеть, как сделать это:

  1. От точки оптимизация вывела узел, BSFC_PointOpt_Output, выберите Solution> Create Sum Optimization.

    Тулбокс автоматически создает оптимизацию суммы для вас с вашим выбранным лучшим режимом для каждой рабочей точки. Создать оптимизационная функция суммы преобразует модальную оптимизацию в стандартную одну объективную оптимизацию (fmincon алгоритм) и изменения Mode Variable к фиксированной переменной.

  2. Сравните свою новую оптимизацию с оптимизацией суммы в качестве примера, BSFC_SumOpt. Пример показывает, что необходимо настроить больше ограничений, чтобы завершить калибровку.

    Дополнительные ограничения заставляют оптимизацию удовлетворить эти требования:

    • Ограничьте общий NOx

    • Ограничьте максимальную скорость турбокомпрессора

    • Ограничьте гладкость таблиц с ограничениями градиента

  3. Импортируйте все необходимые ограничения к своей новой оптимизации путем выбора Optimization> Constraints> Import Constraints. Выберите оптимизацию суммы в качестве примера и импортируйте все кроме первого граничного ограничения модели.

  4. Дважды кликните дополнительные ограничения, чтобы открыть диалоговое окно Edit Constraint и просмотреть настройку.

    Это ограничение суммы управляет общим NOx.

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

    Заметьте, что это ограничение не использует VGTSPEED смоделируйте непосредственно, но вместо этого использует модель функции VGTSPEEDNorm. Можно исследовать эту модель функции в представлении Models. Модель функции масштабирует ограничение, чтобы помочь стандартным программам оптимизации, которые имеют проблемы, если ограничения имеют совсем другие размеры. VGTSPEED имеет порядок 165000, в то время как другие ограничения имеют порядок 1, таким образом, модель функции VGTSPEEDNorm нормирует VGTSPEED путем деления его на 165000.

    Следующее ограничение управляет градиентом через MAINSOI таблица.

  5. В представлении Optimization, в Ограничительной панели, замечают что:

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

    • Все ограничения градиента имеют запись в столбце Application Point Set.

  6. Щелкните правой кнопкой по табличному ограничению градиента MainSOI_wPilot и нажмите Select Application Point Set, чтобы видеть, как они настраиваются.

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

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

Ваша оптимизация суммы теперь содержит все необходимые ограничения и готова запустить. Затем просмотрите результаты в оптимизации суммы в качестве примера.

Заполните интерполяционные таблицы от результатов оптимизации

CAGE помнит настройки заполнения интерполяционной таблицы. Чтобы просмотреть, как таблицы в качестве примера заполнены:

  1. Расширьте узел оптимизации суммы в качестве примера BSFC_SumOpt и выберите BSFC_SumOpt_Output узел.

  2. Выберите Solution> Fill Lookup Tables (или используйте кнопку на панели инструментов) открыть Интерполяционную таблицу, Заполняющую от Мастера Результатов оптимизации.

  3. На первом экране наблюдайте все таблицы в CAGE tables to be filled list. Нажмите Next.

  4. На втором экране заметьте, что все таблицы подходятся в результатах оптимизации, чтобы заполнить их. Нажмите Next.

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

    Можно или нажать Finish, чтобы заполнить все таблицы или Cancel, чтобы встать из-за нетронутых столов. Таблицы в качестве примера уже заполнены этими настройками.

Эти графики показывают результаты, похожие на калибровочные результаты.

Экспериментальная таблица режима

Эта диаграмма показы график таблицы выбрать активный или неактивный экспериментальный режим в зависимости от скорости и управляла крутящим моментом

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

Следующее является всеми экспериментальными активными таблицами.

Основная инжекция, синхронизирующая (SOI) таблица

Общая введенная топливная таблица массы

Топливное давление таблица Delta

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

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

Экспериментальная синхронизация инжекции (экспериментальный SOI Delta) таблица

Экспериментальная топливная масса фракционировала таблицу

Исследуйте многоцелевую оптимизацию

Файл в качестве примера CI_MultiInject.cag также показывает примеру многоцелевую оптимизацию. Это может полезный для калибровок, где вы хотите минимизировать больше чем одну цель за один раз, в этом случае, BSFC и NOX. Многоцелевая оптимизация использует gamultiobj алгоритм.

  1. Выберите BSFC_NOX узел, чтобы видеть, как оптимизация настраивается. Наблюдайте эти 2 цели и информацию об оптимизации: Многоцелевая оптимизация с помощью генетического алгоритма.

  2. Расширьте BSFC_NOX узел и выбирает BSFC_NOX_Output просмотреть результаты. Чтобы выбрать представление, что вы хотите исследовать, щелкните правой кнопкой по панели и выберите Current View. Выберите представление.

  3. Исследуйте графики Парето. Может быть полезно отобразить представление Solution Information одновременно, чтобы просмотреть информацию о выбранном решении. Вы можете хотеть выбрать решение, над которым доминируют (оранжевый треугольник) по решению Парето (зеленый квадрат), чтобы обменять желаемые свойства.

  4. Выберите Sum_BSFC_NOX узел, чтобы видеть, как оптимизация суммы настраивается. Оптимизация суммы была создана из результатов оптимизации точки. Наблюдайте эти 2 цели и все ограничения.

  5. Расширьте Sum_BSFC_NOX узел и выбирает Sum_BSFC_NOX_Output просмотреть результаты.

Совет

Узнать, как MathWorks® Консультация помогает клиентам разработать калибровки механизма, которые оптимально балансируют производительность двигателя, экономию топлива и требования эмиссии: смотрите Оптимальную Калибровку Engine.