G.10 Optimization Toolbox – LP, QP, NLP and MILP Solvers
Matlab’s Optimization Toolbox [29, 54], available from The MathWorks, provides a
number of high-performance solvers that Matpower can take advantage of.
It includes fmincon for nonlinear programming problems (NLP), and linprog and
quadprog for linear programming (LP) and quadratic programming (QP) problems,
respectively. For mixed-integer linear programs (MILP), it provides intlingprog. Each
solver implements a number of different solution algorithms. More information is available
from The MathWorks, Inc. at https://www.mathworks.com/.
When available, the Optimization Toolbox solvers can be used to solve AC or DC OPF
problems by setting the opf.ac.solver or opf.dc.solver options, respectively, equal to
'OT'.
The solution algorithm used by fmincon for NLP problems can be controlled by
Matpower’s fmincon.alg option. See Table C-10 for other Matpower options
related to fmincon. For linprog, quadprog and intlingprog, the corresponding
Matpower option can be used to pass in native Optimization Toolbox options
directly to the solver. For example, to set the LP solver to use a dual simplex
method, simply set Matpower’s 'linprog.Algorithm' option to 'dual-simplex'.
For details on the full set of Optimization Toolbox options, please refer to their
documentation.
The Optimization Toolbox can also be used to solve general LP and QP problems via
Matpower’s common QP solver interface qps_matpower, or MILP problems via
miqps_matpower, with the algorithm option set to 'OT', or by calling qps_ot or miqps_ot
directly.