Licensed under the GNU General Public License (GPL).
Added compatibility with GNU Octave, a free, open-source Matlabclone.
Extensive OPF enhancements:
Generalized, extensible OPF formulation applies to all solvers (AC and
DC).
Improved method for modifying OPF formulation and output via a new
user-defined callback function mechanism.
Option to co-optimize reserves based on fixed zonal reserve requirements,
implemented using new callback function mechanism.
Option to include interface flow limits (based on DC model flows),
implemented using new callback function mechanism.
New high performance OPF solvers:
MIPS (MatpowerInterior Point Solver), a new a pure-Matlab
implementation of the primal-dual interior point methods from the
optional package TSPOPF. MIPS is suitable for large systems and is
used as Matpower’s default solver for AC and DC OPF problems if
no other optional solvers are installed. To select MIPS explicitly, use
OPF_ALG = 560/565 and OPF_ALG_DC = 200/250 for AC and DC OPF,
respectively. MIPS can also be used independently of Matpoweras a
solver for general nonlinear constrained optimization problems.
Support for the Ipoptinterior point optimizer for large scale nonlinear
optimization. Use OPF_ALG = 580 and OPF_ALG_DC = 400 for AC and
DC OPF, respectively. Requires the MatlabMEX interface for Ipopt,
available from https://projects.coin-or.org/Ipopt/.
Support for CPLEX
to solve LP and QP problems. Set option OPF_ALG_DC = 500 to use
CPLEX to solve the DC OPF. Requires the Matlabinterface to CPLEX,
available from https://www.ibm.com/analytics/cplex-optimizer. See
help mpoption for more CPLEX options.
Support for MOSEK to solve LP and QP problems. Set option
OPF_ALG_DC = 600 to use MOSEK to solve the DC OPF. Requires the
Matlabinterface to MOSEK, available from https://www.mosek.com/.
See help mpoption for more MOSEK options.
Updated support for MathWorks’ Optimization Toolbox solvers,
fmincon(), linprog() and quadprog().
Help text updates to more closely match MathWorks conventions.
New functions:
load2disp() converts from fixed to dispatchable loads.
makeJac() forms the power flow Jacobian. Optionally returns the system
admittance matrices too.
makeLODF() computes line outage distribution factors.
modcost() shifts/scales generator cost functions.
qps_matpower() provides a consistent, unified interface to all of
Matpower’s available QP/LP solvers, serving as a single wrapper around
qps_bpmpd(), qps_cplex(), qps_ipopt(), qps_mips(), and qps_ot()
(Optimization Toolbox, i.e. quadprog(), linprog()).
scale_load() conveniently modifies multiple loads.
total_load() retreives total load for the entire system, a specific zone or
bus, with options to include fixed loads, dispatchable loads or both.
Option to return full power flow or OPF solution in a single results struct, which is
a superset of the input case struct.
Ability to read and save generalized OPF user constraints, costs and variable limits
as well as other user data in case struct.
Numerous performance optimizations for large scale systems.
Perl script psse2matpower for converting PSS/E data files to Matpowercase
format.
Deprecated areas data matrix (was not being used).
Many new tests in test suite.
Bugs Fixed
Auction code in extras/smartmarket in all previous versions contained a design
error which has been fixed. Prices are now scaled instead of shifted when
modified according to specified pricing rule (e.g. LAO, FRO, LAB, FRB,
split-the-difference, etc.). Auctions with both real and reactive offers/bids must
be type 0 or 5, type 1 = LAO is no longer allowed.
Branch power flow limits could be violated when using the option
OPF_FLOW_LIM = 1.
Incompatible Changes
Renamed functions used to compute AC OPF cost, constraints and hessian, since
they are used by more than fmincon: