G.10 Optimization Toolbox – LP, QP, NLP and MILP Solvers

Matlab’s Optimization Toolbox [2954], 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.75

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.