gusucode.com > matpower工具箱源码程序 > matpower工具箱源码程序/MP2_0/Changes.txt
----------------------------- Change history for MATPOWER Wed, Dec 24, 1997 ----------------------------- Version: 2.0 maintained by Ray Zimmerman <rz10@cornell.edu> Known Bugs ---------- Please report any bugs you find to Ray Zimmerman <rz10@cornell.edu>. - MathWorks bug: constr does not correctly handle negative lambdas - identification of binding constraints in printpf.m should use OPF_VIOLATION instead of size of MU - 'area' is the name of an m-file in Matlab 5, my variable 'area' masks this m-file Possible Future Changes ------------------------ - allow printing of constraints & violations with power flow - add ability to enable/disable certain constraints - rename m-files to all lower-case to avoid problems when copying from a case insensitive OS to a case-sensitive one - add feasibility constraints to power flow - add security constraints - add objective function to maximize transfer from one area to another (can be done via generator cost functions) - add continuation power flow to solve when no direct solution exists - allow multiple generators at a bus and load "bids" Changes since 1.0.1 ------------------- 12/24/97 - Released version 2.0. 12/19/97 - Fixed ambiguity in case file data and comments regarding lines vs. transformers. Now a tap ratio of zero means that it's a line and a non-zero tap ratio means that it's a transformer. - Optimized formation of Ybus (and hence B matrices). 12/18/97 - Implemented fast decoupled load flow. 12/17/97 - Optimized formation of Jacobian matrix in newtonpf.m (significant improvement for large systems under Matlab 5). 12/16/97 - Fixed another bug in calculation of losses. Previous versions did not take into account off-nominal taps for transformers. - Fixed a bug in calculation of losses. Previous versions included line charging injection in reactive line losses. - Added ability to optionally return solution data from run*.m functions. - Added ability to optionally print results to a file. - Added system and area summaries to printpf and modified to handle the new printing options. 12/12/97 - Consolidated printing into printpf.m, eliminated printopf.m. - Removed QCCV method (standard formulation solves same problem, but more efficiently). - Removed OPF algorithms which use fixed generator voltages (this can still be done by changing voltage limits in the case file), renumbered OPF algorithms, removed CCV.m and varVg.m. 12/11/97 - Added 2 more levels of control of verbose output. - Put all MATPOWER options into an options vector defined in mpoption.m. 12/10/97 - Incorporated new LP-based OPF routines and updated alg codes. - Fixed a bug in the documentation in the case files regarding the 4th column of gencost. For piece-wise linear cost functions this value is the number of data points, not the number of parameters (x and y for each point). - Removed some m-files that are not used (usesOT.m, usesLP.m). - Renamed some m-files (OTfungra.m to fg_names.m, OTSfun.m to fun_std.m, OTgra.m to grad_std.m, OTCCVfun.m to fun_ccv.m, OTCCVgra.m to grad_ccv.m). 12/8/97 - Rewrote uopf.m to use a smarter decommitment strategy (see the docs for the details of the new method). Removed ref, pv, pq from the list of parameters passed in, since they were not used. 11/19/97 - Fixed a bug in previous versions of uopf.m which returned incorrect values for Pmin. 10/28/97 - Increased maximum number of iterations for constr-based OPF. 10/24/97 - Fixed a bug in previous versions which may result in incorrectly reporting Pmin or Pmax limits to be binding, possibly with large multipliers, if the piece-wise linear cost function has a corner point exactly at Pmin or Pmax. 10/22/97 - Added to OTSgra.m (renamed to grad_std.m in 2.0) the ability to return the second derivatives of the objective function. 9/24/97 - Fixed a bug in previous versions of runuopf.m which prevented it from printing out the raw data needed for our Perl DB interface. 9/23/97 - Fixed a bug in 1.1b1 in OTCCVgra.m (renamed to grad_ccv.m in 2.0) which caused printing of warning message "Concatenation involves an incommensurate empty array" under Matlab 5. 9/22/97 - Fixed a bug in 1.1b1 which prevented runuopf.m from running at all. Wrong number of parameters to call opf.m. 9/20/97 - Released version 1.1b1. 9/19/97 - Modified the formulation of the OT-based OPF. The objective function may now include costs for reactive power as well as active power. In previous versions the reactive power variables and reactive power balance equations for generator buses were not included explicitly in the optimization as variables and equality constraints. Generator reactive powers were computed directly. Now they are included explicitly in the optimization. Costs for Qg are specified in extra rows int gencost. Changes since 1.0 ----------------- 9/20/97 - Released version 1.0.1. 9/19/97 - Fixed a bug in 1.0 OTSgra.m and OTCCVgra.m (renamed to grad_std and grad_ccv.m, respectively, in 2.0).m which used incorrect coefficients to compute cost if specified as polynomials of different degrees. 9/18/97 - Fixed a bug in 1.0 in OTopf.m which caused the last equality constraint (Q mismatch for last pq bus) to be treated as an inequality constraint. It appears that this constraint was normally binding (unless Qd was negative) in which case the solution was still correct. - Fixed a bug in 1.0 in runpf.m, initial voltage for generators which were shut down were taken from gen(:, VG) rather than bus(:, VM). - Fixed a bug in 1.0 in varVg.m which caused Kuhn-Tucker multipliers to print out in the wrong place for LP-based OPF. Changes since 6/25/97 Version ----------------------------- 9/17/97 - Released version 1.0 (first widely publicized release). - added placeholders for LP-solvers that we can't re-distribute - updated documentation 9/12/97 - added ability to do pretty & ugly printing at the same time also documented that ugly printing is for talking to our our Perl database interface code - included Deqiang (David) Gan's LP IEEE -> matpower data conversion code - included Deqiang (David) Gan's LP based opf code - fixed LAM_Q bug, now computes correctly for generator buses - fixed some bugs in totcost.m 9/9/97 - removed PRICE from idx_gen 9/4/97 - added code to convert from (possibly non-consecutive) external bus numbering to consecutive internal bus numbering before solving, and back to external before printing results - replaced test*pf with run*pf which are now functions taking the casefile name as a parameter (among other params) - made changes necessary to handle new format of case file (generator costs moved to gencost variable) Changes since I started keeping track ------------------------------------- 6/25/97 - made first public release (not widely publicized) - documentation updates - changed names of m-files to fit DOS 8.3 limitation buildsbus.m => makeSbus.m buildybus.m => makeYbus.m idx_branch.m => idx_brch.m dSbranch_dV.m => dSbr_dV.m dAbranch_dV.m => dAbr_dV.m ucopfsoln.m => uopfsoln.m testucopf.m => testuopf.m ucopf.m => uopf.m (for naming consistency) - changed copyright notice 6/18/97 - modified ucopf.m to allow a generator to be turned back on if shutting it off results in an infeasible (or at least non-convergent) OPF, also changed the order of shutting down generators which are dispatched at zero, now chooses one with largest mu_Pmin 6/12/97 - fixed bug in printpf.m so it doesn't print PG & QG for gens that have been shut down - fixed bug in pfsoln.m to correctly compute the reference bus power injection when generators have been shut down 6/10/97 - fixed Vg initialization bug in testpf.m (not just testopf, etc) 6/9/97 - fixed bug in PLCCV versions which set the initial values of the cost variables wrong (used p.u. Pg instead of actual) - made opfsoln.m copy generator voltages back to gen(:, VG) - fixed bug in code which initializes generator voltages, it was always setting the angle to zero, now it uses the value from the case file 6/3/97 - included opf variations which use cost variables constrained by a piece-wise linear cost function (PLCCV = piece-wise linearly constrained cost variables) 6/2/97 - included opf variations which use cost variables constrained by a quadratic cost function (QCCV = quadratically constrained cost variables) - included opf variation which allows generator voltage magnitudes to vary - fixed line in test*pf.m scripts which initializes V0 (I'd missed the sqrt(-1) before 4/16/97 - changed line 59 of ucopf.m from "return" to "break" to ensure return values are correct 4/14/97 - added some print statements to ucopf.m 4/12/97 - reduced max iterations to 100 for constr in opf.m 4/8/97 - modified opf.m, ucopf.m, testopf.m, testucopf.m to include "success", a variable which indicates whether opf was solved successfully or not 4/7/97 - fixed bug in ucopf.m, assumed all generators are initially available