Can we equate or un-equate the two MV's of the MPC controller in command line?

조회 수: 2 (최근 30일)
Hi
I have the system with 2inputs, 1output, in that I need to give the constraints for 2MV's and the constraint range(min&max) of those 2MV's is same. but I need to give the condition that, MV1 should not be equal to the MV2. can I give this condition in MPC command line coding? please suggest me.
Thank you in advance..

채택된 답변

Emmanouil Tzorakoleftherakis
Emmanouil Tzorakoleftherakis 2023년 2월 16일
Hello,
A couple of points first:
1) I am assuming your MVs are continuous (if they are discrete, what you are asking is not supported because you would need a mixed-integer NLP solver and Model Predictive Control Toolbox does not have one out of the box yet).
2) A constraint of the form MV1 ~= MV2 does not make much sense for floating point calculations. So basically you can just design your linear MPC without this constraint and it is very unlikely that MV1 == MV2 considering again numerics etc. So I am assuming that you want the 2 MVs to be significantly different, for example |MV1-MV2|>= 0.1.
This kind of constraint you cannot implement with linear MPC, so you have to use nonlinear MPC (see how to create custom constraints here) With that in mind, you can do something like sqrt((MV1-MV2)^2) >=0.1 or equivalent.
Hope that helps
  댓글 수: 3
Emmanouil Tzorakoleftherakis
Emmanouil Tzorakoleftherakis 2023년 2월 17일
For a constraint like this, you could use linear MPC and set up the constraints as shown here.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Refinement에 대해 자세히 알아보기

제품

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by