Customized Cost Function and Binary Manipulated Variable in (NL)MPC
9 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Sebastian
il 14 Dic 2023
Commentato: Sebastian
il 18 Dic 2023
Hi everyone!
I am trying to implement MPC to control the compressor of a model similar to the Residential Refrigerator Model (Residential Refrigerator - MATLAB & Simulink - MathWorks Deutschland). I used simulation data (inputs: Compressor on/off and Door open/closed, output: air temperature in the compartment) to derive a data-driven linear state-space model of the plant.
Additionally to temperature setpoint tracking, I want to use information about door openings to lower the energy consumption. Therefore, I thought about using a customized cost function, where an active compressor is penalized during a door opening.
Now to my problem:
To my knowledge, defining a customized cost function is only possible in NLMPC and not in linear MPC. But NLMPC is not really an option, because (to my knowledge) defining a binary MV (0 = compressor off, 1 = compressor on) is not supported in NLMPC. Is there a workaround to consider and lower the power consumption of the compressor without using a customized cost function? Or is there a way to use a customized cost function in linear MPC that I don't know of? Or is there a possibility to use binary MV in NLMPC?
I would be really grateful if someone could help me!
0 Commenti
Risposta accettata
Thomas Kuenzel
il 18 Dic 2023
Hi Sebastian, the following initial answer is not mine but from our colleague Gernot Schraberger, who is an expert on MPC:
1) I would use a constraint to limit the temperature or compressor power during door open phase. Constraints can be defined in matrix form E*u + F*y >=G (E,F,G are matrices, u and y vectors of the plant inputs and outputs). Without knowing in detail, how you want to express this penalty a formulation like -door - compressor >= -1.5 would work (door open=1, closed = 0, compressor on = 1, off =0).
2) Using a nonlinear MPC only for allowing a customized nonlinear cost function is not very efficient, especially the binary inputs cause problems here and NMPC runs typically much slower. I would not use that approach.
3) If for the first case with the constraints in linear MPC a nonlinear constraint will be needed, there are ways to formulate a piecewise linear constraint, but that has a certain complexity. If such an approach is needed, it would make sense to have a more detailed conversation.
Maybe this already helps. Please contact us if you are interested in more in-depth support!
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Controller Creation in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!