Hi HowardLaw,
I understand that you are inquiring about the feasibility of employing a QP solver, specifically 'quadprog,' to address a MIQP (Mixed-Integer Quadratic Programming) problem within the context of implementing a Model Predictive Control (MPC) framework for optimizing microgrid operations described by a Mixed Logical Dynamical (MLD) model.
It is important to clarify that utilizing a standard Quadratic Programming (QP) solver, like 'quadprog,' is not equipped to handle the mixed-integer aspect of an MIQP problem. Such a solver is designed primarily for continuous decision variables and is inadequate when discrete decision variables are involved in the optimization problem.
In the context of mixed-integer linear/quadratic programming problems, the optimization objective and constraints encompass both continuous and discrete decision variables. The presence of discrete decision variables introduces combinatorial complexities, rendering the problem more intricate to solve.
However, if your MPC controller formulation does not entail mixed-integer quadratic programming (MIQP), you can indeed implement it with a custom Quadratic Programming (QP) solver in Simulink.
In summary, the use of a QP solver, like 'quadprog' is appropriate when your problem formulation exclusively involves continuous decision variables and does not require handling mixed-integer variables. If your MLD model exclusively pertains to continuous dynamics, the QP solver can effectively find optimal solutions for your given problem.
However, given that your specific problem incorporates both continuous and discrete decision variables, necessitating mixed-integer optimization, relying solely on a QP solver would be unsuitable.
For more details, please refer to the following MATLAB documentations.
- https://www.mathworks.com/help/optim/ug/miqp-portfolio-problem-based.html?s_tid=srchtitle_site_search_1_MIQP%20solvers
- https://www.mathworks.com/help/mpc/ug/simulate-mpc-controller-with-a-custom-qp-solver.html
- https://www.mathworks.com/help/optim/linear-programming-and-mixed-integer-linear-programming.html?s_tid=srchtitle_site_search_4_MIQP%20solvers
Hope this helps.