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

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

По умолчанию, когда вы создаете объект контроллера использование 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), то есть, никакое изменение. Если продвижение условия к недопустимости не разрешено, недопустимость может продолжиться неопределенно, ведя к потере управления.

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

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

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

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

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

Чтобы смягчить ограничение, установите соответствующее равное беспокойство о релаксации (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.

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

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

Похожие темы