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

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

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

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

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

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

  • (Необязательно) 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, an sdo.Experiment объект:

    sim_obj = createSimulator(exp);
    sim_obj = sim(sim_obj);

    sim_obj содержит симулированный отклик для модели, связанной с exp.

Ограничения и ограничения

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

x¯xx¯

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

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

0<x<

Пример того, как задать эти типы границ, см. В разделе Оценка параметров модели и начальных состояний (Code).

Можно также задать другие ограничения, 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'

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

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

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

 Задача минимизации

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

 Задача выполнимости

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

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

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

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

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

 Задача минимизации

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

 Задача выполнимости

См. также

| | | | | | | | (Global Optimization Toolbox)

Похожие примеры

Подробнее о