Эта тема описывает процесс для анализа результатов одно-объективной оптимизации (например, максимизируя крутящий момент по сравнению с искрой, ICP, ECP в рабочей точке механизма, с помощью fmincon
, ga
и алгоритмов patternsearch
).
Для каждого выполнения оптимизации цель состоит в том, чтобы найти оптимальное решение. Выходное Представление Оптимизации обеспечивает графические инструменты, чтобы помочь вам определить, было ли оптимальное решение найдено для данного шанса. Это представление предоставляет таблице значки, которые указывают на состояние каждой запущенной оптимизации.
Значки таблицы результатов оптимизации
Значок | Описание |
---|---|
Зеленый квадрат Принимает значок | Указывает на успех (выходной флаг алгоритма> 0). |
Оранжевый треугольник Принимает значок | Указывает на оптимизацию, отключенную рано (выходной флаг = 0). Эта ситуация обычно происходит, когда оптимизатор достиг некоторой формы ограничения по времени. Примеры этого включают превышение многих итераций или функционального предела оценки. В таких случаях оптимизация происходила, но была обеспечена, чтобы остановиться, прежде чем оптимальное решение было найдено. |
Красный круг Принимает значок | Указывает на отказ (выходной флаг <0). Обычно это происходит из-за проблемы, являющейся по ограниченному для этого выполнения. |
Процесс для анализа результатов оптимизации точки включает эти задачи:
Переключитесь на представление Optimization Output для оптимизации.
Анализируйте все выполнения с зеленым квадратом, Принимают значки (). Для каждого выполнения:
Осмотрите объективные графики.
Осмотрите Объективные Контурные графики для как можно большего количества пар свободных переменных. Можно сконфигурировать оптимизацию выходное представление, чтобы отобразить несколько контурных графиков одновременно.
Решение нашло локальный оптимум? Много алгоритмов оптимизации разработаны, чтобы определить местоположение локальных оптимумов (например, fmincon
в CAGE). Проверяйте каждое успешное выполнение, чтобы гарантировать, что оптимизатор нашел лучшее решение возможным. Смотрите Локальные оптимумы Обнаружения для получения дополнительной информации и примеры.
Оптимизация, кажется, остановилась рано? В некоторых случаях оптимизация, кажется, возвращает субоптимальные результаты даже при том, что оптимизатор возвратил положительный выходной флаг. Исследуйте такие случаи. Смотрите Исследование Раннее Завершение Оптимизации.
Повторите, что шаги 2a и 2b, чтобы анализировать все выполнения с оранжевым треугольником Принимают значки (), которые указывают на оптимизацию, отключенную рано. Смотрите Исследование Раннее Завершение Оптимизации для получения дополнительной информации и примеров.
Повторите, что шаги 2a и 2b, чтобы анализировать все выполнения с красным кругом Принимают значки (), которые указывают на отказы. Этим выполнениям обычно не удавалось соответствовать ограничениям. Осмотрите графики и определите, приемлемо ли ослабить какое-либо из ограничений.
После того, как вы исследуете свои результаты идентифицировать проблемы, используйте эти предложения, чтобы попытаться улучшить ваши результаты оптимизации:
Если вы обнаруживаете локальные оптимумы, попытайтесь запустить оптимизацию снова, чтобы определить местоположение лучшего оптимума.
Отредактируйте начальное условие вручную для этой рабочей точки оптимизации и повторно выполнитесь.
Для оптимизации точки, которая использует алгоритм fmincon
, установите Number of start points быть больше, чем 1 и повторно выполниться. В этом случае CAGE выполняет оптимизацию несколько раз для каждого выполнения. Чтобы сэкономить время, вы можете хотеть только повторить незаконные выполнения таким образом.
Используйте альтернативный алгоритм для выполнений, которые нашли локальный оптимум. Например, вы могли попробовать ga
или алгоритмы patternsearch
в CAGE (если бы вы попробовали алгоритм fmincon
сначала).
Если оптимизация останавливается рано:
В случаях, где оптимизатор исчерпывает оценки/время итераций/функции и возвращенное решение, выполнимо, определите, приемлемо ли решение для вас.
Чтобы принять решение, установите флажок Accept на таблице Optimization Results.
Если вы отклоняете решение, повторно выполняете оптимизацию с измененными установками параметров. В этом случае, если fmincon
или patternsearch
используются, желательно запустить оптимизатор с решения, которое было только что найдено.
В случаях, где оптимизатор исчерпывает оценки/время итераций/функции и возвращенное решение, неосуществимо, можно попытаться повторно выполнить оптимизацию от различных начальных условий (для fmincon
или patternsearch
) или различные установки параметров (все алгоритмы). Если этот подход не разрешает проблему, определяет, было ли какое-либо ограничение нарушено. Исследуйте нарушенные ограничения, чтобы определить, могут ли они быть ослаблены. Если они могут, повторно выполнить оптимизацию с расслабленными ограничениями; в противном случае оставьте флажок отменявшим, чтобы указать, что решение недопустимо.
См. также Обрабатывающий Плоский Optima.
Эти данные показывают представления для оптимизации, которая нашла оптимальное решение. Цель состоит в том, чтобы максимизировать Крутящий момент (Objective1) против угла искры (S), Выпускной клапан, заключительный (ECP) и клапан Потребления, вводный (ICP).
Когда вы анализируете результаты оптимизации, ищете результаты, которые определили местоположение лучшего оптимума против свободных переменных.
В этом случае индивидуальный участок может только показать, что это очень вероятно, а не определенно оптимальное значение, потому что существует больше чем две свободные переменные. Для проблем больше чем с двумя свободными переменными Объективные Графики и представления Контуров не могут гарантировать, что оптимальное решение было найдено, потому что они обеспечивают проекции модели.
Для дальнейшего подтверждения необходимо осмотреть представление Objective Contour для стольких пар свободных переменных, сколько у вас есть время, чтобы анализировать.
Этот пример показывает, что алгоритм нашел локальный максимум (отмеченным оранжевым крестом). Вы видите глобальный максимум для этой оптимизации в нижнем правом углу контурного графика.
Ограничение, такое как табличное ограничение градиента, могло вызвать локальный максимальный результат. Этот результат мог быть желательным, однако, потому что может быть предпочтительно для табличной гладкости найти локальный максимум с небольшой потерей крутящего момента по сравнению с глобальным максимумом (в этом случае, приблизительно 1,3 морских мили крутящего момента (1%), который является в точности модели).
Чтобы осмотреть контурные графики для многих пар свободных переменных, можно сконфигурировать оптимизацию выходное представление, чтобы отобразить несколько контурных графиков одновременно. Сеанс одновременной игры может помочь определить местоположение тех выполнений, которые сходились к локальному оптимуму.
Эти данные одновременно показывают контурные графики для всех пар свободных переменных для тематического исследования бензина.
Осмотрите Объективные Графики и Представления Контура, чтобы проверять на оптимизацию, которая остановилась рано. Раннее завершение обычно происходит при выполнениях, которые имеют предупреждение, что оранжевый треугольник Принимает значки, но может также произойти, когда оптимизатор возвратился, успешный зеленый квадрат Принимают значок.
Эти данные показывают, что оптимизация, запущенная с предупреждающим оранжевым треугольником, Принимает значок, который был обеспечен, чтобы остановиться, потому что это превысило предел итераций.
В этом случае оптимизатор почти нашел оптимальное решение для этого выполнения. Если этот оптимизатор занял много времени, чтобы запуститься, то, когда это решение почти оптимально, это, вероятно, стоит отметить как приемлемое (выберите Accept, окружают таблицу Optimization Results для этого выполнения).
Эти данные показывают другой пример, где оптимизация остановилась рано, потому что это превысило предел итераций.
В этом случае проблема, кажется, по ограниченному, потому что графики полностью заштрихованы желтые. Можно проверять ограничительную сводную таблицу или выходную таблицу, чтобы идентифицировать, соответствуют ли ограничениям. Также осмотрите ограничительные сводные данные и ограничительные графики.
Ограничительные графики для этого случая показывают в этой фигуре.
Эти ограничительные представления подтверждают, что Constraint2
нарушен для этого выполнения. Поэтому это решение, вероятно, лучше всего оставляют как недопустимое. В случаях как это, если это уже не отмечено как недопустимое, очищают поле Accept в таблице Optimization Results для этого выполнения.
Эти данные показывают оптимизацию, которая, кажется, остановилась рано несмотря на возврат положительного выходного флага. Вы видите, что оптимизатор не определил местоположение максимума. Необходимо исследовать случаи как это.
Существует много причин, почему оптимизация, кажется, останавливается рано. Две частых причины и возможные разрешения обсуждены в этом разделе.
fmincon
не может возвратить локальный оптимум, если эти значения параметров слишком высоки:
Переменный допуск
Функциональный допуск
Допуск ограничения
В этом попытка случая, уменьшающая значения этих параметров, чтобы улучшать производительность. Однако не уменьшайте эти значения параметров слишком низко (меньше чем ~10-10), чтобы избежать внутренних проблем с fmincon
. Модели, которые имеют нефизическую нелинейность, могут также вызвать отказ.
Некоторые основанные на неградиенте алгоритмы не могут возвратить оптимальное решение. Примером этого является генетический алгоритм (ga
) оптимизация в CAGE. Плохой выбор параметров для таких алгоритмов может привести к раннему завершению оптимизации. Например, установка параметра Crossover Fraction алгоритма ga
к 1 может привести к ситуации, где алгоритм преждевременно сходится. В этом случае попытайтесь повторно выполнить оптимизацию при альтернативных установках параметров. Для лучших результатов, повторно выполненных алгоритм с Перекрестной Частью ниже, чем 1 (значение по умолчанию 0.8).
Оптимизация может остановиться рано, потому что модели являются шумными, и вы использовали основанный на градиенте алгоритм (fmincon
), чтобы решить задачу оптимизации.
Если контурные графики или какие-либо результаты подозрительны, что необходимо всегда исследовать тренды модели, чтобы проверять, являются ли они разумными и не сверхподходящими. Исследуйте модели в Средстве просмотра Поверхности CAGE или представлении поверхности ответа Model Browser. Вы, возможно, должны реконструировать.
Чтобы проверять, является ли ваша модель шумной, увеличьте масштаб линейного графика модели в средстве просмотра Поверхности CAGE. Следующее является графиком Objective1 против x вокруг значения x, возвращенного оптимизатором.
Вы видите, что модель является шумной, и оптимизатор (правильно) возвратил локальный максимум модели. Однако этим результатом является максимум шумового компонента в модели а не физического компонента. Если шум не является поведением физической системы, то необходимо реконструировать шумные модели в Model Browser. Инструмент CAGE Import может использоваться, чтобы заменить шумные модели на результаты модернизации, и оптимизация может быть повторно выполнена.
Функции, которые являются плоскими около их optima, может быть трудно оптимизировать. Эти данные показывают пример такой функции, , и его объемная поверхностная диаграмма.
Эта функция имеет глобальный минимум в (0, 0) и является очень плоской около оптимального решения.
Используя алгоритм fmincon
в CAGE, чтобы найти минимум этой функции (от начальных условий ) приводит к результату, показанному в этой фигуре. Оптимизатор находит решение в , который не оптимален. В этих графиках можно ясно видеть, что оптимизатор не определил местоположение минимума в (0, 0).
Чтобы настроить оптимизатор, чтобы найти минимум, можно проявить один из нескольких подходов:
Измените начальные условия.
Для основанного на градиенте алгоритма (fmincon
в CAGE), изменяя начальные условия может помочь оптимизатору определить местоположение минимума, где целевая функция является плоской около минимума. В примере, показанном в предыдущей фигуре, изменяя начальные условия на (x, y) = (1,1), приводит к fmincon
, находящему минимум в (0, 0).
Повторно масштабируйте целевую функцию.
Повторно масштабируйте целевую функцию с операцией, которая не изменяет местоположение никаких оптимальных решений, например, пытается пустить квадратный корень, четвертый корень или журнал, или умножиться положительной скалярной величиной. Проверяйте, что положение оптимума не сменилось. Когда целевая функция является плоской около оптимума, повторно масштабирование целевой функции может помочь основанным на градиенте алгоритмам оптимизации, таким как fmincon
в CAGE. В примере, показанном в предыдущей фигуре, когда fmincon
в CAGE используется, чтобы минимизировать , минимум в (0, 0) расположен.
Используйте основанный на неградиенте алгоритм.
Попробуйте или опции алгоритма поиска или генетического алгоритма шаблона. Когда эти алгоритмы не используют информацию о градиенте, они могут выполнить лучше, когда используется на задачах оптимизации с плоскими минимумами. В примере, показанном в предыдущей фигуре, алгоритм поиска шаблона в CAGE определил местоположение минимума с помощью настроек по умолчанию.
Запустите оптимизацию от нескольких начальных значений условия.
Если вы используете fmincon
затем, другое возможное обходное решение должно установить параметр Number of Start Points, чтобы быть больше, чем 1. Эта установка запускает fmincon
конкретное количество раз от различных условий запуска. Используйте эту опцию только для затронутых выполнений, когда это может быть трудоемким.
Измените допуски.
Для основанного на градиенте алгоритма (fmincon
в CAGE), изменяя переменные или функциональные допуски может помочь оптимизатору определить местоположение минимума, где целевая функция является плоской около минимума. Сокращение variable и допусков function может улучшить сходимость до оптимального значения в этом случае.