Filter löschen
Filter löschen

Scale Factors and Weights in Model Predictive Control

11 Ansichten (letzte 30 Tage)
Abhishek Varshney
Abhishek Varshney am 8 Okt. 2020
Beantwortet: Matheus WV am 31 Aug. 2022
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 Kommentare
Moran Han
Moran Han am 28 Okt. 2020
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 am 30 Aug. 2022
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?

Melden Sie sich an, um zu kommentieren.

Antworten (2)

fouad koudsi
fouad koudsi am 26 Okt. 2020
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 am 31 Aug. 2022
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.

Community Treasure Hunt

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

Start Hunting!

Translated by