-----------------------------
Change history for MATPOWER
-----------------------------
Version: 4.1
maintained by Ray Zimmerman <rz10@cornell.edu>
MATPOWER
$Id: CHANGES.txt,v 1.123 2011/12/14 17:07:17 cvs Exp $
Copyright (c) 1996-2011 by Power System Engineering Research Center (PSERC)
See http://www.pserc.cornell.edu/matpower/ for more info.
Changes since 4.0
-----------------
12/14/11
- Released version 4.1.
- Fixed bug in check for ENFORCE_Q_LIMS with multiple slacks
in runpf().
- Moved printing of power flow solver name into runpf() so it
doesn't get repeated when ENFORCE_Q_LIMS is on.
12/9/11
- Fixed problem with qps_cplex() when H matrix is not
perfectly numerically symmetric.
12/8/11
- Added basic DC line modeling capability. See help for
toggle_dcline() for details.
12/1/11
- Removed deprecated functions in @opf_model, gen_lin_N(),
get_nln_N(), get_var_N(), use getN() instead.
- Removed all references to deprecated option OUT_RAW.
11/15/11
- Fixed a crashing bug in computation of quadratic user-defined
costs. Thanks to Stefanos Delikaraoglou.
11/11/11
- Changed default DC OPF/LP/QP solver precedence in
dcopf_solver() and qps_matpower() to the following:
CPLEX, MOSEK, Gurobi, BPMPD, Opt Tbx, MIPS.
- Minor enhancements to cdf2matp(), including saving of bus
names. Thanks to Alvaro Jaramillo Duque.
11/09/11
- Refactored ext2int() and int2ext() into additional functions
e2i_field(), e2i_data(), i2e_field() and i2e_data() to
clean things up and prepare for the ability to automatically
re-order data in cell arrays.
10/31/11
- Added three case files, all more recent variations of the
Polish system: case3012wp.m, case3120sp.m and case3375wp.m.
9/28/11
- Increased threshold value used to filter constraint shadow
prices in printpf().
- In savecase() increased precision of values saved in M-file
case files
9/16/11
- Fixed that qps_cplex() would not print progress even with
VERBOSE > 0 with CPLEX 12.3.
7/26/11
- Fix in qps_cplex() for changed sign on multipliers with
CPLEX 12.3 vs CPLEX 12.2.
7/25/11
- Fixed bug in compare_case() that would cause some column
names for the branch matrix to be incorrectly reported.
7/7/11
- In scale_load(), when no load_zone is specified, it no longer
incorrectly misses Q-only load buses.
7/5/11
- Added support for the Gurobi optimizer for large-scale linear
and quadratic programming. To use Gurobi for the DC OPF, set
OPF_ALG_DC = 700. Gurobi's various solvers can be selected via
MATPOWER's GRB_METHOD option. Requires the Gurobi libraries
available from http://www.gurobi.com/ and the Gurobi MEX
interface available from http://www.convexoptimization.com/
wikimization/index.php/Gurobi_mex.
- Added function qps_gurobi() for solving QP and LP problems using
the common QP solver interface used in MATPOWER. The qps_matpower()
function also includes the option to use Gurobi.
- Changed order of precendence of installed DC OPF solvers
(i.e. LP/QP solvers) to Gurobi, MOSEK, CPLEX, BPMPD, then MIPS.
6/29/11
- Updated t_is() to properly print when result includes NaNs.
6/17/11
- Changed FMC_ALG option default to 4, fmincon defaults to
using an interior-point method with user-supplied Hessians
instead of an active set method.
- Added support for the KNITRO optimization solver for large
scale non-linear problems. Use OPF_ALG = 600 for AC OPF.
Requires the Optimization Toolbox from The MathWorks and
the KNITRO libraries, available from http://www.ziena.com/.
6/16/11
- Complete rewrite of update_mupq.m. Should fix problems
caused by non-zero multipliers on non-binding generator
limits.
5/17/11
- Updated runpf() and pfsoln() to properly handle slack for
power flow cases with islands and multiple reference buses.
(Note: This does not include the case where ENFORCE_Q_LIMS
results in temporarily converting a reference bus to a
PQ bus and automatically finding a new suitable slack bus.)
5/16/11
- Pretty printed output from printpf() now includes a '*' after
the voltage angle in the bus section for reference buses.
3/31/11
- Default value for ramp rates for dispatchable loads now
set to Inf in load2disp.m.
3/18/11
- Fixed bug in toggle_reserves.m that computed the prices in
results.reserves.prc incorrectly.
Changes since 4.0b5
-------------------
2/16/11
- Oops! Neglected to include Carlos as co-author on User's Manual.
Updated 4.0 distribution and web-site with corrected manual.pdf.
Sorry about that Carlos!
2/7/11
- Released version 4.0.
1/18/11
- Added 'quadprog_ls' option to have_fcn() to check for availability
of version of quadprog() with large scale solver.
- Modified qps_ot() to set default options based on capabilities
of version of Optimization Toolbox.
12/16/10
- Fixed bug in qps_cplex() where an infeasible problem resulted
in a fatal error.
- Fixed bug in qps_mosek() where exit flag was indicating success
for infeasible solutions.
- Fixed bug in dcopf_solver() where an infeasible problem found
by CPLEX would result in a fatal error.
Changes since 4.0b4
-------------------
12/13/10
- Released version 4.0b5.
12/2/10
- Added to opf_setup() a better check on when specified generalized
cost parameters are compatible with DC OPF.
- Improved output of t_is(). Includes only elements violating
tolerance.
11/30/10
- Fixed bug in opf_execute() related to automatic conversion of
single-block piecewise linear costs to linear polynomial costs.
Affected indexing of the Va, Vm, Pg and Qg portions of
results.x and raw.xr.
11/24/10
- Added support for the MOSEK optimizer for large-scale linear and
quadratic programming. To use MOSEK for the DC OPF, set
OPF_ALG_DC = 600. Specific LP algorithms can be selected by
the MOSEK_LP_ALG option. Requires the Matlab interface for MOSEK,
available from http://www.mosek.com/.
- Added function qps_mosek() for solving QP and LP problems using
the common QP solver interface used in MATPOWER. The qps_matpower()
function also includes the option to use MOSEK.
11/16/10
- Fixed bug in opf_setup() where indexing data for branch angle
difference limits was not being saved in the case of DC OPF.
- Added support for the IBM ILOG CPLEX optimizer for
large scale linear and quadratic programming. To use CPLEX
for the DC OPF, set OPF_ALG_DC = 500 and choose the specific
CPLEX solver using options CPLEX_LPMETHOD and CPLEX_QPMETHOD.
Requires the Matlab interface for CPLEX, available from
http://www.ibm.com/software/integration/optimization/cplex-optimizer/.
- Added function qps_cplex() for using CPLEX to solve QP and LP
problems using the common QP solver interface used in MATPOWER. The
qps_matpower() function also includes the option to use CPLEX.
11/9/10
- Fixed an indexing bug in dcopf_solver() affecting cases with a mix
of piecewise linear and polynomial costs (unless the polynomial
costs came after all of the pwl costs).
10/12/10
- Performance optimization in opf_consfcn(). Assign sparse cols
then transpose instead of assigning sparse rows. Results in >2x
speed up for this function on case2935, ~10x on case42k.
7/20/10
- Made some updates to extras/psse2matpower. Added/fixed some comments,
text output, switched to Parse::Text::parse_line for bu