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

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

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

  • 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 и fminbnd. fminbnd используется, если один скалярный параметр оптимизируется. В противном случае fminsearch используется. Вы не можете задать границы параметра, x¯xx¯, с fminsearch.

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

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

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

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

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

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

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

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

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

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

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

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

| | | | | | | |

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

Больше о

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