Scale Factors and Weights in Model Predictive Control

조회 수: 9 (최근 30일)
Abhishek Varshney
Abhishek Varshney 2020년 10월 8일
답변: Matheus WV 2022년 8월 31일
I have been working on Model Predictive Control (MPC), and I went through the optimization problem webpage of MATLAB documentation, which had all the equations related to the working of MPC. But I am confused at one point. Based on the equations, if (weight/scale factor) is same it should give same results but when I run the simulations, the results are not matching. I mean to say that if weight =10 and corresponding scale factor = 2, then weight/scale factor = 5 and if i change weight =5 and change the corresponding scale factor to 1, then again weight/scale factor = 5.
So, according to me in both cases the optimization problem is same, so the results should also be same. Please correct if I am wrong somewhere.
Note: To be more specific, these weight and scale factor are for a manipulated variable out of 2 manipulated variables in the system and the minECR and maxECR values for manipulated variables are set to default only (i.e. 0).
  댓글 수: 2
Moran Han
Moran Han 2020년 10월 28일
I have the same question. When the MD is set constant 0, different scale factor of MD leads to different control performance, it's strange.
Matheus WV
Matheus WV 2022년 8월 30일
I am also having a similar problem. Actually, I am getting better results when using scale factors that are different from the recommended ones (the difference between the upper and lower limit of the variable).
My hypothesis is that the scale factor also modifies the results that the optimizer compares to it internal stopping criteria (https://www.mathworks.com/help/optim/ug/tolerances-and-stopping-criteria.html). I couldn't verify that hypothesis.
Did you make any progress on this issue?

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

답변 (2개)

fouad koudsi
fouad koudsi 2020년 10월 26일
Recommended practice includes specification of scale factors for each plant input and output
variable, which is especially important when certain variables have much larger or smaller
magnitudes than others.
The scale factor should equal (or approximate) the span of the variable. Span is the difference
between its maximum and minimum value in engineering units, that is, the unit of measure specified
in the plant model. Internally, MPC divides each plant input and output signal by its scale factor to
generate dimensionless signals.
Determine Scale Factors
To identify scale factors, estimate the span of each plant input and output variable in engineering
units.
• If the signal has known bounds, use the difference between the upper and lower limit.
• If you do not know the signal bounds, consider running open-loop plant model simulations. You
can vary the inputs over their likely ranges, and record output signal spans.
• If you have no idea, use the default scale factor (=1).

Matheus WV
Matheus WV 2022년 8월 31일
Scale Factors modify other features of the MPC. For instance, it may change the relative magnitude of the disturbance model gain, that is why it is recommended to set the Scale Factors before tuning the disturbance rejection (see https://www.mathworks.com/help/mpc/ug/adjusting-disturbance-and-noise-models.html).
So, yes, the optimization problem is the same, but there is more in the MPC prediction Models tham the plant (https://www.mathworks.com/help/mpc/gs/mpc-modeling.html), and when you change the scale factor of the plant, you change its relation to the other parts of the model, thus changing your simulation results.

카테고리

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