Когда вы выполняете оценку параметра, программное обеспечение формулирует задачу оптимизации. Решение для задачи оптимизации является предполагаемым набором значений параметров. Эта задача оптимизации состоит из:
x Design variables. Параметры модели и начальные состояния, которые будут оценены.
F (x) — Objective function. Функция, которая вычисляет меру различия между симулированным и измеренными откликами. Также названный cost function или estimation error.
(Необязательно) границы. Пределы на предполагаемых значениях параметров.
(Необязательно) C (x) — Constraint function. Функция, которая задает ограничения на переменные проекта.
Решатель оптимизации настраивает значения переменных проекта, чтобы удовлетворить заданным целям и ограничениям. Точная формулировка оптимизации зависит от метода оптимизации, который вы используете.
Программное обеспечение настраивает параметры модели, чтобы получить симулированный отклик (ysim), который отслеживает измеренный отклик или опорный сигнал (yref). Для этого решатель минимизирует функцию стоимости или ошибку расчета, меру различия между симулированным и измеренными откликами. Функция стоимости, F (x), является целевой функцией задачи оптимизации.
Необработанная ошибка расчета, e (t), задана как:
e (t) также упоминается как error residuals или, просто, residuals.
Simulink® Программное обеспечение Design Optimization™ предоставляет вам следующие функции стоимости, чтобы обработать e (t):
Функция стоимости | Формулировка | Имя опции в графический интерфейсе пользователя или командной строке |
---|---|---|
Суммарная квадратичная ошибка (значение по умолчанию) |
N является количеством отсчетов. | 'SSE' |
Суммарная абсолютная ошибка |
N является количеством отсчетов. | 'SAE' |
Необработанная ошибка |
N является количеством отсчетов. |
Эта опция доступна только в командной строке. |
Пользовательская функция | N/A |
Эта опция доступна только в командной строке. |
Программное обеспечение оценивает функцию стоимости для определенного временного интервала. Этот интервал зависит от measured signal time base и simulated signal time base.
Измеренная основа времени сигнала состоит из все время точек, для которых задан измеренный сигнал. В случае нескольких измеренных сигналов на этот раз основа является объединением моментов времени всех измеренных сигналов.
Симулированная основа времени сигнала состоит из все время точек, для которых симулирована модель.
Если модель использует решатель переменного шага, то симулированная основа времени сигнала может измениться от одной итерации оптимизации до другого. Симулированные и измеренные основы времени сигнала могут отличаться. Программное обеспечение оценивает функцию стоимости только для временного интервала, который характерен для обоих. По умолчанию программное обеспечение использует только моменты времени, заданные измеренным сигналом в общем временном интервале.
В графический интерфейсе пользователя можно указать, что симуляция запускается и времена остановки в области Simulation time диалогового окна Simulation Options.
В командной строке программное обеспечение задает время остановки симуляции как последнюю точку измеренной основы времени сигнала. Например, следующий код симулирует модель до времени окончания самого длинного рабочего выходного сигнала exp
, sdo.Experiment
объект:
sim_obj = createSimulator(exp); sim_obj = sim(sim_obj);
sim_obj
содержит симулированный отклик для модели, сопоставленной с exp
.
Можно задать границы для переменных проекта (оцененные параметры модели), на основе знания системы. Границы описываются как:
и нижние и верхние границы для переменных проекта.
Например, в эксперименте разряда батареи, предполагаемый первоначальный сбор батареи должен быть больше нуля и меньше, чем Inf
. Эти границы описываются как:
Для примера того, как задать эти типы границ, смотрите Оценочные Параметры модели и начальные состояния (Код).
Можно также задать другие ограничения, C (x), на переменных проекта в командной строке. C (x) может быть линейным или нелинейным и может описать равенства или неравенства. C (x) может также задать ограничения мультипараметра. Например, для простой модели трения, C (x) может указать, что статический коэффициент трения должен быть больше или быть равен динамическому коэффициенту трения. Один способ описать это ограничение:
x 1 и x 2 является динамическими и статическими коэффициентами трения, соответственно.
Для примера того, как задать ограничение, смотрите Оценочные Параметры модели с Ограничениями Параметра (Код).
Задача оптимизации может быть одним из следующих типов:
Проблема минимизации — Минимизирует целевую функцию, F (x). Вы задаете измеренный сигнал, что вы хотите, чтобы выход модели отследил. Можно опционально задать границы для предполагаемых параметров.
Смешанная проблема минимизации и выполнимости — Минимизирует целевую функцию, F (x) согласно заданным границам и ограничениям, C (x). Вы задаете измеренный сигнал, что вы хотите, чтобы модель отследила и границы и ограничения для предполагаемых параметров.
Проблема выполнимости — Находит решение, которое удовлетворяет заданным ограничениям, C (x). Вы задаете только границы и ограничения для предполагаемых параметров. Этот тип проблемы не распространен в оценке параметра.
Метод оптимизации, который вы задаете, определяет формулировку проблемы оценки. Программное обеспечение предоставляет следующие методы оптимизации:
Имя метода оптимизации | Описание | Формулировка задачи оптимизации |
---|---|---|
|
Минимизирует квадраты невязок, рекомендуемые метод для оценки параметра. Этот метод требует вектора из ошибочных остаточных значений, вычисленное использование фиксированной основы времени. Не используйте этот подход, если у вас есть скалярная функция стоимости или если количество ошибочных остаточных значений может измениться от одной итерации до другого. Этот метод использует функцию Optimization Toolbox™, | |
|
Общий нелинейный решатель, использует градиент функции стоимости. Используйте этот подход, если вы хотите задать один или какая-либо комбинация следующего:
Этот метод использует функцию Optimization Toolbox, Для получения информации о том, как вычисляется градиент, смотрите Расчеты Градиента. | |
|
На основе алгоритма Nelder-меда этот подход не использует градиент функции стоимости. Используйте этот подход, если ваша функция стоимости или ограничения не непрерывны или дифференцируемы. Этот метод использует функции Optimization Toolbox, | |
|
Прямой метод поиска, на основе обобщенного алгоритма поиска шаблона, этот метод не использует градиент функции стоимости. Используйте этот подход, если ваша функция стоимости или ограничения не непрерывны или дифференцируемы. Этот метод использует функцию Global Optimization Toolbox, |
sdo.SimulationTest
| sdo.Experiment
| sdo.requirements.SignalTracking
| evalRequirement
| lsqnonlin
| fmincon
| fminsearch
| fminbnd
| patternsearch
(Global Optimization Toolbox)