--------------------------- Change history for MINOPF --------------------------- Version: 5.1 MINOPF for MATPOWER $Id$ Copyright (c) 2004-2015 by Power System Engineering Research Center (PSERC) See http://www.pserc.cornell.edu/minopf/ for more info. Changes since 5.0 ----------------- 3/12/15 - Released version 5.1 (no changes from 5.0). Changes since 5.0b1 ------------------- 12/17/14 - Released version 5.0 (no changes from 5.0b1). Changes since 4.1 ----------------- 7/1/14 - Released version 5.0b1. 1/15/14 - Added mpoption_info_minopf() to define options for this optional package. 12/10/13 - Updated for new MATPOWER options implementation based on options struct instead of options vector. 11/6/13 - Removed BPMPD requirement for sqppf(). Other QP solvers work fine. - Modified sqppf() to call qps_matpower() directly, as opposed to mp_qp(). Changes since 4.0 ----------------- 12/9/11 - Released version 4.1. - Build 20 for Mac OS X (Intel) and Windows (updated version/date strings only). 5/5/10 - Added RETURN_RAW_DER option to control when OPF solver returns constraint, Jacobian and objective function gradient and Hessian information. 3/10/10 - Added optional input arg to minopfver() to trigger return of entire version struct with Name, Version, Release and Date just like MATLAB's ver() function. 2/23/10 - For @opf_model, removed get_var_N(), get_lin_N() and get_nln_N() methods, replaced with single getN() method. Changes since 3.2 ------------------- 12/24/09 - Released version 4.0. 12/8/09 - Misc cleanup based on mlint suggestions. 11/4/09 - Removed unnecessary 'return' statement at end of all M-files. If anything it should be an 'end' statement, but even that is optional, so we just let functions get terminated by the end-of-file or another function declaration. 4/2/09 - Build 19. - Fixed a bug that resulted in incorrect bounds on y and z variables on first run. Subsequent runs of same case were correct. 4/1/09 - Build 18. - Updated calls to obsolete MEX functions: mxCreateFull -> mxCreateDoubleMatrix mxIsString -> mxIsChar mxIsFull -> !mxIsSparse to build version for MATLAB R2009a (7.8). 3/13/09 - Added ability to handle unconstrained lines with RATE_A == 0. 7/3/08 - Fix to allow handling of user variables with any name, not just 'z'. 5/22/08 - Updated for major refactorization of OPF implementation in MATPOWER. 5/21/08 - Build 17. Mac OS Intel only, rebuilt using g95-0.91 to fix issue where, when running MATLAB from the Terminal, after exiting a MATLAB session where the MEX file was called, input is no longer echoed in the terminal window. Also fixes "Alarm clock" issue. - Updated build number to MINOPF Version 3.2, Build 17, 21-May-2008. 5/9/08 - Fixed bug where zu was ignored if zl was not provided. 5/2/08 - Move input arg processing to opf_args.m. 4/10/08 - Build 16. Mac OS Intel only, rebuilt using gfortran to fix issue where, after running the MEX file, MATLAB would die after about 10 minutes with the error "Alarm clock". - Updated build number to MINOPF Version 3.2, Build 16, 10-Apr-2008. Changes since 3.1b2 ------------------- 9/21/07 - Released version 3.2. 8/14/07 - Build 15. - Updated version/date to MINOPF Version 3.2, Build 15, 14-Aug-2007. 7/24/07 - Modified mopf.m to no longer trust return codes 9 and 13 as being successful. 7/5/07 - Build 14. - Added ability to specify initial value and bounds on user variables via new input arguments z0, zl, zh. 6/28/07 - Build 13 (removed extraneous ; from funver.f) 6/27/07 - Build 12. - INCOMPATIBLE CHANGE: Changed the sign convention used for phase shifters to be consistent with PTI, PowerWorld, PSAT, etc. E.g. A phase shift of 10 deg now means the voltage at the "to" end is delayed by 10 degrees. - Changed handling of MNS_VERBOSITY = -1 option to allow all values of VERBOSE option to pass through (not just 0 and 1). - Now prints version info unless MNS_VERBOSITY is 0. 6/7/07 - Fixed bugs in handling of multipliers for general PQ capability curves in mopf.m (also in fmincopf.m and tspopf.m). Changes since 3.1b1 ------------------- 9/15/06 - Released version 3.1b2. 9/1/06 - Modified MEX file (Build 11) to improve initialization of basic/ superbasic variables & increase the allowed size for the reduced Hessian. 8/15/06 - Added branch angle difference constraints to general OPF formulation in mopf.m. These limits are specified by non-zero values in the ANGMIN and/or ANGMAX columns of the branch matrix. If limits are provided in the data, they are enforced by default. This can be overridden by setting the 'OPF_IGNORE_ANG_LIM' option to 1 using mpoption. Changes since 3.0.0 ------------------- 8/1/06 - Released version 3.1b1. 3/15/06 - INCOMPATIBLE CHANGE: Modified mopf.m so that user supplied A matrix no longer includes columns for y variables (helper vars for piecewise linear gen costs), and requires columns for all x (OPF) variables. - Fixed a bug (typo) in calculation of multipliers from generator PQ capability curves in mopf.m. - Rewrote much of the input argument handling/checking to be consistent with code in opf.m and fmincopf.m. - Fixed bug in MEX file in calculation of cost gradients. 10/14/05 - Now depends on hasPQcap.m in MATPOWER for detection of generator PQ capability curve data. 8/19/05 - Modified MEX interface code to handle multiple reference buses and a few other minor modifications to minopf.f, funini.f, funs.f. 8/7/05 - Bug fix: linear constraint coefficients below the theta, V columns of nonlinear Jacobian would unsynchronize the Jacobian's elements order. - Added generalized cost formulation. So far type '1' and type '2' (linear+dead zone and quadratic+dead zone respectively) are recognized for application on the linear combination r=N*[x;y;z]. - Output parameter #8 in minopf.mex is now xr, MINOS' variables and slacks vector. MINOS' Lagrangian multiplier vector PI is now output argument #9. - Added handling of general generator PQ capability curves. Changes since 3.0b4 ------------------- 2/14/05 - Released version 3.0.0. (no changes, other than version number, from version 3.0b4) Changes since 3.0b2 ------------------- 1/28/05 - Released version 3.0b4. (skipped b3 to stay in sync with corresponding MATPOWER version) 1/24/05 - Switched to using isload() to check for dispatchable load. - For dispatchable loads, switched from using PG and QG to PMIN and either QMIN (for inductive loads) or QMAX (for capacitive loads) to define the constant power factor constraint. This prevents the power factor information from being lost when it is dispatched to zero. If the initial values of PG and QG are not consistent with the ratio defined by PMIN and the appropriate Q limit it gives an error. This is to prevent a user from unknowingly using a case file which would have defined a different power factor constraint under previous versions of MATPOWER. If both QMIN and QMAX are zero, it no longer includes the redundant unity power factor constraint. 1/14/05 - Moved code from opf.m to mopf.m that sets some default MNS_* options from values of other OPF options. 1/12/05 - Removed BPMPD_MEX dependency by replacing direct bp() call with equivalent call to mp_qp() in sqppf.m. 1/6/05 - Added minopfver.m to print version information. Changes since 3.0b1 ------------------- 9/7/04 - Released version 3.0b2. - Fixed bug in mopf.m that caused it to die on cases with non-consecutive bus numbering, such as case300.m (thanks to Pan Wei). Version 3.0b1 ------------- 9/3/04 - Released version 3.0b1.