Когда вы оптимизируете параметры модели Simulink®, чтобы соответствовать конструктивным требованиям, программное обеспечение Simulink Design Optimization™ автоматически преобразовывает требования в ограниченную задачу оптимизации и затем решает проблему с помощью методов оптимизации. Ограниченная задача оптимизации итеративно моделирует модель Simulink, сравнивает результаты симуляций с ограничительными целями и использует методы оптимизации, чтобы настроить настроенные параметры, чтобы лучше достигнуть целей.
Эта тема описывает, как программное обеспечение формулирует ограниченную задачу оптимизации, используемую алгоритмами оптимизации. Для каждого алгоритма оптимизации программное обеспечение формулирует один из следующих типов проблем минимизации:
Смешанная выполнимость и отслеживание
Для получения дополнительной информации о том, как каждый алгоритм оптимизации формулирует эти проблемы, см.:
Feasibility означает, что алгоритм оптимизации находит значения параметров, которые удовлетворяют все ограничения к в заданных допусках, но не минимизирует целевой функции или функции стоимости при этом.
В следующей фигуре x 1, x 3, и xn представляет комбинацию значений параметров P 1 и P 2 и является выполнимыми решениями, потому что они не нарушают ограничение нижней границы.
В модели Simulink вы ограничиваете сигнал путем определения нижних и верхних границ в блоке Check (Характеристики Переходного процесса Проверки...) или объект требования (sdo.requirements.StepResponseEnvelope
...), как показано в следующей фигуре.
Этими ограничениями является piecewise linear bounds. Кусочный линейный связанный ybnd с ребрами n может быть представлен как:
Программное обеспечение вычисляет расстояние со знаком между моделируемым ответом и ребром. Расстояние со знаком для нижних границ:
где ysim является моделируемым ответом и является функцией оптимизируемых параметров.
Расстояние со знаком для верхних границ:
В командной строке opt_fcn
предоставляет c
непосредственно от поля Cleq
vals
.
Если всем ограничениям соответствуют (c ≤ 0) для некоторой комбинации значений параметров, то то решение, как говорят, выполнимо. В следующей фигуре x 1 и x 3 является выполнимыми решениями.
Когда ваша модель имеет несколько требований или векторных сигналов, питающих требование, ограничительный вектор расширен с ограничительными нарушениями для каждого сигнала и связан:
Кроме того, к нижним и верхним границам, можно задать ссылочный сигнал в блоке Check Against Reference или объекте sdo.requirements.SignalTracking
, который модель Simulink может отследить вывод. Цель отслеживания является целью отслеживания квадратичной невязки суммы.
Вы задаете ссылочный сигнал как последовательность амплитудных временем пар:
Программное обеспечение вычисляет моделируемый ответ как последовательность амплитудных временем пар:
где некоторые значения tsim могут совпадать со значениями tref.
Новая основа времени, tnew, формируется из объединения элементов tref и tsim. Элементы, которые не являются в минимально-максимальной области значений и tref и tsim, не использованы:
Используя линейную интерполяцию, программное обеспечение вычисляет значения yref и ysim в то время точки в tnew и затем вычисляет масштабированную ошибку:
Наконец, программное обеспечение вычисляет взвешенную, интегральную квадратную ошибку:
Вес w (t) равняется 1 по умолчанию. Можно задать различное значение веса только в командной строке.
Когда ваша модель имеет требования или векторные сигналы, питающие требование, цель отслеживания равняется сумме отдельных отслеживающих интегральных ошибок для каждого сигнала:
Метод Спуска Градиента использует функцию Optimization Toolbox™ fmincon
, чтобы оптимизировать параметры модели, чтобы соответствовать конструктивным требованиям.
Проблемный тип | Проблемная формулировка |
---|---|
Проблема выполнимости | Программное обеспечение формулирует ограничение C (x), как описано в проблеме Выполнимости и Ограничительной Формулировке.
|
Отслеживание проблемы |
Программное обеспечение формулирует отслеживающий объективный F (x), как описано в Отслеживании проблемы и минимизирует цель отслеживания:
|
Смешанная проблема выполнимости и отслеживания | Программное обеспечение минимизирует следующую проблемную формулировку: ПримечаниеПри отслеживании ссылочного сигнала программное обеспечение игнорирует максимально выполнимую опцию решения.
|
Симплексный Метод поиска использует функцию Optimization Toolbox fminsearch
и fminbnd
, чтобы оптимизировать параметры модели, чтобы соответствовать конструктивным требованиям. fminbnd
используется, если один скалярный параметр оптимизируется, в противном случае fminsearch
используется. Вы не можете использовать границы параметра с fminsearch
.
Проблемный тип | Проблемная формулировка |
---|---|
Проблема выполнимости | Программное обеспечение формулирует ограничение C (x), как описано в проблеме Выполнимости и Ограничительной Формулировке и затем минимизирует максимальное ограничительное нарушение: |
Отслеживание проблемы |
Программное обеспечение формулирует отслеживающий объективный F (x), как описано в Отслеживании проблемы и затем минимизирует цель отслеживания:
|
Смешанная проблема выполнимости и отслеживания | Программное обеспечение формулирует проблему на двух шагах:
|
Метод поиска Шаблона использует функцию Global Optimization Toolbox patternsearch
, чтобы оптимизировать параметры модели, чтобы соответствовать конструктивным требованиям.
Проблемный тип | Проблемная формулировка |
---|---|
Проблема выполнимости | Программное обеспечение формулирует ограничение C (x), как описано в проблеме Выполнимости и Ограничительной Формулировке и затем минимизирует максимальное ограничительное нарушение: |
Отслеживание проблемы |
Программное обеспечение формулирует отслеживающий объективный F (x), как описано в Отслеживании проблемы и затем минимизирует цель отслеживания:
|
Смешанная проблема выполнимости и отслеживания |
Программное обеспечение формулирует проблему на двух шагах:
|
Для Gradient descent
(fmincon
) решатель оптимизации градиенты вычисляются с помощью числового возмущения:
x является скалярной переменной проекта.
xmin является нижней границей x.
xmax является верхней границей x.
xtypical является масштабированным значением x.
opt_fcn является целевой функцией.
dx является относительно большим, чтобы разместить допуски решателя симуляции.
Если вы хотите вычислить градиенты каким-либо другим способом, можно сделать так в функции стоимости, которую вы пишете для выполнения оптимизации проекта программно. Смотрите sdo.optimize
и GradFcn
sdo.OptimizeOptions
для получения дополнительной информации.