Использование результатов оптимизации

После запуска оптимизации, Output узел появляется в дереве оптимизации, и появляются выходные представления Оптимизации (Optimization Output). CAGE предоставляет инструменты для анализа результатов с помощью этих представлений.

Выбор приемлемых решений

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

В этой таблице описывается, как можно использовать выбранные решения.

ИспользоватьПосмотрите

Заполнение таблиц с результатами оптимизации.

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

Экспорт решений в набор данных.

Экспорт в набор данных

Импорт решений к другим начальным значениям оптимизации.

Импорт из выхода

CAGE указывает состояние принятия.

СтатусОписание

CAGE автоматически устанавливает флажки Accept для решений, где флаг выхода алгоритма указывает на успех (> 0). Эти решения показывают зеленый квадратный значок рядом с флажком. Обычно ограничения выполняются в пределах допуска .

Решения со значком красного раунда указывают, что выходной флаг алгоритма не сообщает об успехе (< 0). Некоторые ограничения могут не выполняться .

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

Решения, в которых вы изменили статус флажка, показывают звездочку.

CAGE показывает нарушенные ограничения как желтые камеры с перекрестными значками в таблице. Вы можете управлять значением, используемым для этого подсветки, выбрав View > Edit Constraint Tolerance.

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

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

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

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

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

Из выходного узла оптимизации точек выберите Solution > Create Sum Optimization.

CAGE создает оптимизацию (называемую Sum_<reservedrangesplaceholder0 >). Оптимизация имеет следующие характеристики:

  • Цель соответствует вашей исходной оптимизации, но преобразована в суммарную цель.

  • Новая оптимизация имеет идентичные ограничения с вашей исходной оптимизацией. При необходимости отредактируйте или добавьте к ним как обычно.

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

    • Новая оптимизация использует только принятые решения из исходного выхода оптимизации (все выполняются с выбранным Accept флажком).

    • Поэтому количество принятых решений, которые вы имели в исходной оптимизации, определяет количество значений в запуске оптимизации суммы.

  • Начальные значения свободных переменных и фиксированные значения переменных заполняются из точки оптимальных результатов (только для принятых решений).

  • Фиксированные переменные имеют столбец Веса с каждым значением, установленным на 1.

Если вы перезапускаете оптимизацию точек, которая имеет связанную оптимизацию суммы, основанная на модели Toolbox™ калибровки может обновить и повторить оптимизацию суммы с помощью результатов оптимизации точки. Model-Based Calibration Toolbox использует существующие суммарные ограничения оптимизации при повторном запуске оптимизации. Ранее Model-Based Calibration Toolbox создал суммарную оптимизацию.

Экспорт в набор данных

Можно экспортировать выходные результаты оптимизации в новые или существующие наборы данных.

Для экспорта в набор данных:

  1. Выберите Solution > Export to Data Set или используйте кнопку на панели инструментов. Откроется диалоговое окно Экспорт в набор данных (Export to Data Set).

  2. При экспорте в New набор данных (по умолчанию) имя можно отредактировать в поле редактирования.

  3. Если необходимо перезаписать или добавить к существующему набору данных:

    1. Нажмите кнопку опции Modify existing.

    2. Выберите требуемый набор данных в списке.

    3. Выберите из Action списка:

      • Append добавляет данные к выбранному набору данных.

      • Overwrite заменяет все данные в наборе данных новыми данными.

  4. По умолчанию флажок Use acceptable solutions only установлен. Результаты оптимизации с выбранными Accept флажками экспортируются. Снимите флажок Use acceptable solutions only, если хотите экспортировать все результаты оптимизации.

  5. Щелкните OK, и данные будут экспортированы в набор данных.

В этой таблице представлены правила экспорта.

Правила экспорта

Все фиксированные и свободные переменные экспортируются там, где это возможно.

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

При добавлении правила те же, что и при объединении наборов данных:

  • Столбцы входов добавляются к столбцам с именами, совпадающими в наборе данных, к которому вы добавляете.

  • Выходы (модели) и любые другие столбцы без совпадающих имен не добавляются.

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

Пользовательская структура функции заливки

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

Входная/выходная структура пользовательской функции заливки напоминает структуру MATLAB® интерполяция стандартных программ INTERP1 и INTERP2. Чтобы увидеть структуру функции, лучше всего посмотреть на пример:

  1. Найдите и откройте файл griddataTableFill.m в mbctraining папка.

  2. Введите это в командной строке, чтобы открыть пример:

    edit griddataTableFill

Все 2-D пользовательские функции заливки должны взять эти шесть входы:

ВходОписание

col

Координата столбца результатов оптимизации (NF-by-1)

row

Координата строка результатов оптимизации (NF-by-1)

filldata

Оптимизированные результаты в (строка, col) точках (NF-by-1)

colaxis

Контрольные точки столбцов таблицы, подлежащих заполнению (1-by-NCOL)

rowaxis

Строка точек по оси Х таблицы, которая будет заполнена (NROW-by-1)

currtabdata

Существующие табличные значения таблицы, подлежащей заполнению (NROW-by-NCOL)

Функция должна передать три выходных аргументов назад в CAGE, чтобы CAGE мог заполнить таблицу:

ВыходОписание
okЛогический флаг, указывающий на успех заполнения таблицы (TRUE или FALSE)
tabvalНовые табличные значения таблицы, которые будут заполнены (NROW-by-NCOL)
fillmaskЛогическая матрица для указания камер, добавляемых в экстраполяционную маску как следствие заполнения таблицы (NROW-by-NCOL)

В приведенных выше спецификациях:

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

  • NCOL - количество точек по оси Х столбца в таблице.

  • NROW - количество точек по оси Х в таблице.

Ваша функция должна обрабатывать случаи, когда заполнение таблицы успешно или не. В griddataTableFill, это обрабатывается с помощью конструкции try-catch вокруг вызова, чтобы griddata. Если griddata должен потерпеть неудачу, тогда ok флаг устанавливается на false, и функция возвращается.

Пользовательская функция заливки для 1-D таблиц

Можно также записать пользовательские функции заливки для заполнения 1-D таблиц. В этом случае входные и выходные спецификации следующие:

ВходОписание
row Координата строка результатов оптимизации (NF-by-1)
filldataОптимизированные результаты в (строка, col) точках (NF-by-1)
rowaxisСтрока точек по оси Х таблицы, которая будет заполнена (NROW-by-1)
currtabdataСуществующие табличные значения таблицы, подлежащей заполнению (NROW-by-1)

ВыходОписание
ok Логический флаг, указывающий на успех заполнения таблицы (TRUE или FALSE)
tabvalНовые табличные значения таблицы, которые будут заполнены (NROW-by-1)
fillmaskЛогическая матрица для указания камер, добавляемых в экстраполяционную маску как следствие заполнения таблицы (NROW-by-1)

Похожие темы