Как программное обеспечение формулирует оценку параметра как задачу оптимизации

Обзор оценки параметра как задача оптимизации

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

  • x Design variables. Параметры модели и начальные состояния, которые будут оценены.

  • F (x) — Objective function. Функция, которая вычисляет меру различия между симулированными и измеренными ответами. Также названный cost function или estimation error.

  • (Необязательно) x¯xx¯ границы. Пределы на предполагаемых значениях параметров.

  • (Необязательно) C (x) — Constraint function. Функция, которая задает ограничения на переменные проекта.

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

Функция стоимости

Программное обеспечение настраивает параметры модели, чтобы получить симулированный ответ (ysim), который отслеживает измеренный ответ или ссылочный сигнал (yref). Для этого решатель минимизирует функцию стоимости или ошибку оценки, меру различия между симулированными и измеренными ответами. Функция стоимости, F (x), является целевой функцией задачи оптимизации.

Типы

Необработанная ошибка оценки, e (t), задана как:

e(t)=yref(t)ysim(t)

e (t) также упоминается как error residuals или, просто, residuals.

Программное обеспечение Simulink® Design Optimization™ предоставляет вам следующие функции стоимости, чтобы обработать e (t):

Функция стоимостиФормулировкаИмя опции в графический интерфейсе пользователя или командной строке
Суммируйте квадратичную невязку (значение по умолчанию)

F(x)=t=0tNe(t)×e(t)

N является количеством выборок.

'SSE'
Суммируйте абсолютную погрешность

F(x)=t=0tN|e(t)|

N является количеством выборок.

'SAE'
Необработанная ошибка

F(x)=[e(0)e(N)]

N является количеством выборок.

'Residuals'

Эта опция доступна только в командной строке.

Пользовательская функцияНет данных

Эта опция доступна только в командной строке.

Основа времени

Программное обеспечение оценивает функцию стоимости для определенного временного интервала. Этот интервал зависит от 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.

Границы и ограничения

Можно задать границы для переменных проекта (оцененные параметры модели), на основе знания системы. Границы выражаются как:

x¯xx¯

x¯ и x¯ нижние и верхние границы для переменных проекта.

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

0<x<

Для примера того, как задать эти типы границ, смотрите Оценочные Параметры модели и начальные состояния (Код).

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

C(x):x1x2C(x)0

x 1 и x 2 является динамическими и статическими коэффициентами трения, соответственно.

Для примера того, как задать ограничение, смотрите Оценочные Параметры модели с Ограничениями Параметра (Код).

Методы оптимизации и формулировки задачи

Задача оптимизации может быть одним из следующих типов:

  • Проблема минимизации — Минимизирует целевую функцию, F (x). Вы задаете измеренный сигнал, что вы хотите, чтобы выход модели отследил. Можно опционально задать границы для предполагаемых параметров.

  • Смешанная проблема минимизации и выполнимости — Минимизирует целевую функцию, F (x) согласно заданным границам и ограничениям, C (x). Вы задаете измеренный сигнал, что вы хотите, чтобы модель отследила и границы и ограничения для предполагаемых параметров.

  • Проблема выполнимости — Находит решение, которое удовлетворяет заданным ограничениям, C (x). Вы задаете только границы и ограничения для предполагаемых параметров. Этот тип проблемы не распространен в оценке параметра.

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

Имя метода оптимизацииОписаниеФормулировка задачи оптимизации
  • Пользовательский интерфейс: Nonlinear Least Squares

  • Командная строка: 'lsqnonlin'

Минимизирует квадраты невязок, рекомендуемые метод для оценки параметра.

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

Этот метод использует функцию Optimization Toolbox™, lsqnonlin.

 Проблема минимизации

 Смешанная проблема минимизации и выполнимости

 Проблема выполнимости

  • Пользовательский интерфейс: Gradient Descent

  • Командная строка: 'fmincon'

Общий нелинейный решатель, использует градиент функции стоимости.

Используйте этот подход, если вы хотите задать один или какая-либо комбинация следующего:

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

  • Основанные на параметре ограничения

  • Основанные на сигнале ограничения

Этот метод использует функцию Optimization Toolbox, fmincon.

Для получения информации о том, как вычисляется градиент, смотрите Расчеты Градиента.

 Проблема минимизации

 Смешанная проблема минимизации и выполнимости

 Проблема выполнимости

  • Пользовательский интерфейс: Simplex Search

  • Командная строка: 'fminsearch'

На основе алгоритма Nelder-меда этот подход не использует градиент функции стоимости.

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

Этот метод использует функции Optimization Toolbox, fminsearch и fminbndfminbnd используется, если один скалярный параметр оптимизируется. В противном случае, fminsearch используется. Вы не можете задать границы параметра, x¯xx¯, с fminsearch.

 Проблема минимизации

 Смешанная проблема минимизации и выполнимости

 Проблема выполнимости

  • Пользовательский интерфейс: Pattern Search

  • Командная строка: 'patternsearch'

Прямой метод поиска, на основе обобщенного алгоритма поиска шаблона, этот метод не использует градиент функции стоимости.

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

Этот метод использует функцию Global Optimization Toolbox, patternsearch.

 Проблема минимизации

 Смешанная проблема минимизации и выполнимости

 Проблема выполнимости

Смотрите также

| | | | | | | |

Связанные примеры

Больше о

Для просмотра документации необходимо авторизоваться на сайте