Задайте ограничения

Ограничения ввода и вывода

По умолчанию, когда вы создаете объект контроллера использование команды mpc, никакие ограничения не существуют. Чтобы включать ограничение, установите соответствующее свойство контроллера. Следующая таблица подводит итог, свойства контроллера раньше задавали большинство ограничений MPC. (МВ = объект управлял переменной; OV = выходная переменная объекта; шаг мВ = u (k) – u (k – 1).

Включать это ограничениеУстановите это свойство контроллераСмягчите ограничение путем установки
Нижняя граница на i th мВMV(i).Min > -InfMV(i).MinECR > 0
Верхняя граница на i th мВMV(i).Max < InfMV(i).MaxECR > 0
Нижняя граница на i th OVOV(i).Min > -InfOV(i).MinECR > 0
Верхняя граница на i th OVOV(i).Max < InfOV(i).MaxECR > 0
Нижняя граница на i th шаг мВMV(i).RateMin > -InfMV(i).RateMinECR > 0
Верхняя граница на i th шаг мВMV(i).RateMax < InfMV(i).RateMaxECR > 0

Чтобы установить ограничительные свойства контроллера с помощью приложения MPC Designer, во вкладке Tuning, нажимают Constraints . В диалоговом окне Constraints задайте ограничительные значения.

Смотрите Ограничения для уравнений, описывающих соответствующие ограничения.

Советы

Для границ мВ:

  • Включайте известные физические пределы на MVS объекта как твердые границы мВ.

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

  • Не включайте и твердые границы мВ и твердые границы шага мВ на том же мВ, как они могут конфликтовать. Если оба типа границ важны, смягчают ту.

Для границ OV:

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

  • Все ограничения OV должны быть смягчены.

  • Рассмотрите отъезд неограниченного OV для некоторых шагов горизонта прогноза. Смотрите Изменяющиеся во времени Веса и Ограничения.

  • Рассмотрите изменяющееся во времени ограничение OV, которое легко удовлетворить рано в горизонте, постепенно заостряясь к более строгому ограничению. Смотрите Изменяющиеся во времени Веса и Ограничения.

  • Не включайте ограничения OV, которые невозможно удовлетворить. Даже если мягкий, такие ограничения могут вызвать неожиданное поведение контроллера. Например, рассмотрите объект SISO с пятью периодами выборки задержки. Ограничение OV перед шестым шагом горизонта прогноза, в целом, невозможно удовлетворить. Можно использовать команду review, чтобы проверять на такие невозможные ограничения и использовать изменяющийся во времени OV, связанный вместо этого. Смотрите Изменяющиеся во времени Веса и Ограничения.

Ограничительное смягчение

Ограничения Hard являются ограничениями, которые должно удовлетворить решение для квадратичного программирования (QP). Если математически невозможно удовлетворить трудное ограничение в данном интервале контроля, k, QP является infeasible. В этом случае контроллер возвращает ошибочное состояние и устанавливает переменные, которыми управляют (MVS) на u (k) = u (k –1), то есть, никакое изменение. Если продвижение условия к infeasibility не разрешено, infeasibility может продолжиться неопределенно, ведя к потере управления.

Воздействия и ошибки прогноза неизбежны на практике. Поэтому ограничительное нарушение могло произойти на объекте даже при том, что диспетчер предсказывает в противном случае. Выполнимое решение QP не гарантирует, что все трудные ограничения будут удовлетворены, когда оптимальный мВ будет использоваться на объекте.

Если единственные ограничения в вашем приложении являются границами на MVS, границы мВ могут быть трудными ограничениями, как они по умолчанию. Одни только границы мВ не могут вызвать infeasibility. То же самое верно, когда единственные ограничения находятся на шаге мВ.

Однако твердый мВ, связанный с трудным ограничением шага мВ, может привести к infeasibility. Например, нарушение или операция при ручном управлении могли заставить фактический мВ, используемый на объекте превышать заданное, связанное во время интервала k –1. Если контроллер находится в автоматическом во время интервала k, он должен возвратить мВ в значение в связанном твердом. Если мВ превышает связанное слишком много, трудное инкрементное ограничение может сделать исправление связанного нарушения в следующем интервале невозможным.

Когда существуют трудные ограничения на объект выходные параметры, или трудно пользовательские ограничения (на линейных комбинациях вводов и выводов объекта, и объект подвергается воздействиям, QP infeasibility вполне возможен.

Всеми ограничениями Model Predictive Control Toolbox™ (кроме слабой переменной неотрицательности) может быть soft. Когда ограничение является мягким, контроллер может считать мВ оптимальным даже при том, что оно предсказывает нарушение того ограничения. Если весь объект, вывод, шаг мВ и пользовательские ограничения являются мягкими (как они по умолчанию), QP infeasibility не происходит. Однако производительность контроллера может быть нестандартной.

Чтобы смягчить ограничение, установите соответствующее значение ECR к положительному значению (нуль подразумевает трудное ограничение). Чем больше значение ECR, тем более вероятно контроллер будет считать его оптимальным, чтобы нарушить ограничение в порядке удовлетворить ваши другие цели производительности. Программное обеспечение Model Predictive Control Toolbox обеспечивает значения ECR по умолчанию, но, что касается весов функции стоимости, вы можете должны быть настроить значения ECR в порядке достигнуть приемлемой производительности.

Чтобы понять, как ограничительное смягчение работает, предположите, что ваша функция стоимости использует wi,ju=wi,jΔu=0, предоставление и мВ и мВ постепенно увеличивает нулевой вес в функции стоимости. Только выходное отслеживание уставки и ограничительные условия нарушения являются ненулевыми. В этом случае функция стоимости:

J(zk)=j=1nyi=1p{wi,jysjy[rj(k+i|k)yj(k+i|k)]}2+ρεεk2.

Предположим, что вы также задали твердые границы мВ с Vj,minu(i)=0 и Vj,maxu(i)=0. Затем эти ограничения упрощают до:

uj,min(i)sjuuj(k+i1 |k)sjuuj,max(i)sju,  i=1:p,    j=1:nu.

Таким образом слабая переменная, εk, больше не появляется в вышеупомянутых уравнениях. Вы также задали мягкие ограничения на объект выходные параметры с Vj,miny(i)>0 и Vj,maxy(i)>0.

yj,min(i)sjyεkVj,miny(i)yj(k+i|k)sjyyj,max(i)sjy+εkVj,maxy(i),  i=1:p,    j=1:ny.

Теперь, предположите, что воздействие продвинуло объект вывод выше его заданной верхней границы, но QP с трудными выходными ограничениями был бы выполним, то есть, всех ограничительных нарушений можно было избежать в решении QP. QP включает компромисс между выходным отслеживанием уставки и ограничительным нарушением. Слабая переменная, εk, должна быть неотрицательной. Его внешний вид в функции стоимости препятствует, но не предотвращает, оптимальный εk> 0. Больший вес ρε, однако, увеличивает вероятность, что оптимальный εk будет маленьким или нуль.

Если оптимальный εk> 0, по крайней мере одно из связанных неравенств должно быть активным (в равенстве). Относительно большое Vj,maxy(i) облегчает удовлетворять ограничение маленьким εk. В этом случае,

yj(k+i|k)sjy

может быть больше, без превышения

yj,max(i)sjy+εkVj,maxy(i).

Заметьте это Vj,maxy(i) не устанавливает верхний предел для ограничительного нарушения. Скорее это - настраивающийся фактор, определяющий, является ли мягкое ограничение легким или трудным удовлетворить.

Советы

  • Использование безразмерных переменных упрощает ограничительную настройку. Задайте соответствующие масштабные коэффициенты для каждой переменной ввода и вывода объекта. Смотрите Задают Масштабные коэффициенты.

  • Чтобы указать на относительное значение терпимого нарушения, используйте параметр ECR, сопоставленный с каждым ограничением. Грубые инструкции следующие:

    • 0 — Никакое нарушение не позволено (трудное ограничение)

    • 0.05 — Очень маленькое позволенное нарушение (почти трудно)

    • 0.2 — Маленькое нарушение позволено (довольно трудно)

    • 1 — средняя мягкость

    • 5 — большее, чем среднее значение нарушение позволило (довольно мягкий)

    • 20 — большое нарушение позволило (очень мягкий)

  • Используйте полное ограничение смягчающий параметр контроллера (свойство объекта контроллера: Weights.ECR), чтобы оштрафовать терпимое мягкое ограничительное нарушение относительно других условий функции стоимости. Установите свойство Weights.ECR, таким образом, что соответствующий штраф является 1–2 порядками величины, больше, чем типичная сумма других трех условий функции стоимости. Если ограничительные нарушения кажутся слишком большими во время тестов симуляции, попытайтесь увеличить Weights.ECR фактором 2–5.

    Следует иметь в виду, однако, что чрезмерно большой Weights.ECR искажает оптимизацию мВ, ведя к несоответствующим корректировкам мВ, когда ограничительные нарушения происходят. Чтобы проверять на это, отобразите значение функции стоимости во время симуляций. Если его увеличения значения больше чем 2 порядками величины, когда ограничительное нарушение произойдет, рассмотрите уменьшающийся Weights.ECR.

  • Воздействия и ошибки прогноза могут привести к неожиданным ограничительным нарушениям в действительной системе. Попытка предотвратить эти нарушения путем создания ограничений тяжелее часто ухудшает производительность контроллера.

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

Похожие темы