📄 changes.txt
字号:
-----------------------------
Change history for MATPOWER
-----------------------------
Version: 3.1b1
maintained by Ray Zimmerman <rz10@cornell.edu>
MATPOWER
$Id: CHANGES.txt,v 1.23 2006/08/01 17:01:34 ray Exp $
Copyright (c) 1996-2006 by Power System Engineering Research Center (PSERC)
See http://www.pserc.cornell.edu/matpower/ for more info.
Changes since 3.0.0
-------------------
8/1/06
- Released version 3.1b1.
4/28/06
- Fixed mpver.m so it will properly handle case where the Optimization
Toolbox is not installed.
3/15/06
- INCOMPATIBLE CHANGE: Updated opf.m, fmincopf.m, costfmin.m, consfmin.m to
be able to be compatible with latest MINOPF. User supplied A matrix for
general linear constraints no longer includes columns for y variables
(helper vars for piecewise linear gen costs), and now requires columns
for all x (OPF) variables. Added generalized cost model and generator PQ
capability curves.
- Modified savecase.m to always save MAT files with -V6 under newer Matlab
versions.
- Added a number of tests to t_opf.m for MINOPF and fmincopf for generalized
costs and additional linear constraints. Added test for fmincopf for
generator PQ capability curves.
3/10/06
- Added baseKV data to case118.m from PSAP file
<http://www.ee.washington.edu/research/pstca/pf118/ieee118psp.txt>.
3/8/06
- Renamed col 5 of gencost from N to NCOST everywhere.
10/14/05
- Updated version 2 case file format to modify generator PQ capability
curve specifications.
- Added hasPQcap.m and test for gen PQ capability curve in OPF.
8/22/05
- Added OPF_IGNORE_ANG_LIM option to mpoption.m.
8/5/05
- Modified identification of binding constraints in printpf.m. A
constraint is now considered to be binding if the tolerance is less
than or equal to OPF_VIOLATION tolerance -OR- if the corresponding
Kuhn-Tucker multiplier is non-zero. This allows binding generator
capability curves to be reported via multipliers on Pg and Qg limits.
7/8/05
- Updated loadcase.m, savecase.m, idx_bus.m, idx_gen.m, caseformat.m
and tests for version 2 case file format, which includes piece-wise
linear generator capability curves, generator ramp rates and branch
angle difference limits.
Changes since 3.0b4
-------------------
2/14/05
- Released version 3.0.0.
2/3/05
- In mp_lp.m and mp_qp.m, on Windows it now makes sure BPMPD_MEX is not
called in verbose mode which causes a Matlab crash.
Changes since 3.0b3
-------------------
1/28/05
- Released version 3.0b4.
1/27/05
- Added case6ww.m and case4gs.m.
- Minor modifications to printpf.m to handle larger bus numbers.
1/26/05
- Minor changes to uopf.m to make sure it plays nicely with dispatchable
loads.
1/25/05
- Major updates to user manual.
1/24/05
- Switched to using the new 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/20/05
- Updated printpf.m to display dispatchable loads and generators
separately. Reorganized the area summary section and corrected the net
exports value (subtracted half of tie-line loss) to make the numbers
add up correctly.
1/18/05
- Added to runpf.m the ability to enforce generator reactive power limits
by allowing the voltage to deviate from the set-point. This option is
controlled by the new ENFORCE_Q_LIMS option, which is off by default.
(Thanks to Mu Lin of Lincoln University, New Zealand
whose contributions inspired this feature).
- Modified pfsoln.m to divide reactive power dispatch between multiple
generators at a bus in proportion to each gen's reactive power range,
as opposed to equally. This means that all generators at a bus will
reach their upper (or lower) limits simultaneously.
- Added generator status column to generator section of printpf.m output.
Fixed bugs where non-zero output of decommitted generators was displayed
and included in generation totals in generator and bus sections.
1/14/05
- Moved some setting of MNS_* default options from opf.m to mopf.m.
- Eliminated unused output args in dcopf.m.
- Modified printpf.m to zero out reactive generator output for DC cases
and to use OPF_VIOLATION tolerance to detect binding constraints, as
opposed to non-zero Kuhn-Tucker multipliers.
1/12/05
- Modified bpmpd portion of mp_qp.m and mp_lp.m to use default value for
TFEAS2 and eliminate variable limits which appear to be artificial
large values used to indicate free variables.
1/4/05
- Fixed potential bug in dimensions of Yf and Yt created in makeYbus.m.
12/17/04
- Added feasibility check to mp_lp.m and mp_qp.m to work around a
recently discovered bug in BPMPD_MEX 2.21 where it sometimes returns an
incorrect (infeasible) solution for a DC OPF problem. This bug has yet
to be encountered in any other context.
12/13/04
- Added mpver.m to print version information.
9/23/04
- Fixed bugs in cdf2matp.m which prevented it from working at all
when not specifying both input parameters and caused it to
sometimes not add the warnings at the end of the file.
- Fixed typo in name of lower bound input argument in opf.m. Only
affected those calling opf directly with extra linear constraints.
Changes since 3.0b2
-------------------
9/20/04
- Released version 3.0b3.
- Generated clean versions of all included case files using latest
cdf2matp and savecase. Added documentation for source of data
for case files.
- More enhancements to cdf2matp.m. Adds comments at beginning, appends
conversion warnings as comments at end of file. Uses savecase.m to
save the data.
- Updated savecase.m to use %g instead of %f many places, correctly
handle multi-line comments, include headers for extra columns for
solved cases. Optionally returns filename with extension.
9/17/04
- Fixed bug in grad_std.m, introduced in 3.0b2, which prevented constr
and LP-based OPF solvers from working for polynomial cost functions.
9/15/04
- In cdf2matp.m, added input args, updated docs, switched to named
indexing of data matrices, new method for creating gen costs.
- Documentation fixes and additions from Pan Wei.
Changes since 3.0b1
-------------------
9/7/04
- Released version 3.0b2.
- Added OPF_P_LINE_LIM option to mpoptions to use active power
instead of apparent power for line limits (thanks to Pan Wei
for the suggestion and some code).
9/1/04
- Fixed bug in savecase.m introduced when making areas and gencost
optional.
- Updated opf_slvr.m with options for MINOS and fmincon.
- Removed option 15 OPF_NEQ from docs (not a user option). Removed option
52 VAR_LOAD_PF (unused, always behaves as if this option were 1).
Changed semantics and default value for option 51 SPARSE_QP. By default
(value = 1) it will use sparse matrices if a sparse QP/LP solver is
available and full matrices otherwise. Setting the value to 0
will force it to use full matrices even with a sparse-capable solver.
- Cleaned up checking for optional functionality, and fixed a bug
that would miss MEX files if there was an identically named directory
by adding have_fcn.m.
Changes since 2.0
-----------------
8/25/04
- Released version 3.0b1.
8/24/04
- Made mpoption() throw an error if passed an invalid option name.
8/23/04
- Added an fmincon based OPF solver for the generalized formulation
previously used by mopf (Carlos).
- Restructured opf.m so all OPF solvers have a similar API based
on the one from mopf.m (Carlos).
- Added some quick tests for runpf and runopf for each algorithm.
8/13/04
- Renamed 'area' variable to 'areas' to avoid masking the built-in
function of the same name.
- Made OPF data matrices 'areas' and 'gencost' optional for running
simple power flow.
7/15/04
- The loadcase function (and therefore all of the run* functions
now optionally accept a struct with the data matrices as fields
in place of the case file name.
- Added t subdirectory with various tests and testing tools.
7/8/04
- Updated mp_lp.m and mp_qp.m to try linprog() and quadprog()
after trying bp, since lp() and qp() are no longer included
in the Optimization Toolbox as of version 3.
7/7/04
- Removed case.m, added caseformat.m, made case9.m the default
case and fixed function names in other case files to avoid
use of reserved word 'case'.
- Fixed bugs in runcomp.m.
6/23/04
- Fixed bug in newtonpf.m which caused algorithm to diverge when
the Newton step resulted in a negative voltage magnitude.
4/17/03
- Changed uopf.m to use a dynamic programming approach. More
computationally expensive, but should find significanly better
results when there are many gens to shut down.
- Added mp_lp.m and mp_qp.m, equivalents to lp.m and qp.m,
respectively that call bpmpd if available. Modified LPrelax.m,
LPsetup.m and dcopf.m to call these new functions.
4/14/03
- Fixed a bug in pfsoln.m which for cases with a single generator.
10/23/02
- Fixed bus numbering bug in System Summary section of printpf.m.
6/20/00
- Fixed a bug in printpf.m in the generator section, where
the generator was assumed to be off if it's real power
output was zero, even if the reactive output was non-zero.
- Modified printpf.m to print out lambdas in generation section
for generators that are shut down.
6/8/00
- Modified cdf2matp.m so that Pd also includes any generation at
buses specified as PQ buses. Also modified identification of
generator buses to include only PV or reference buses. (Thanks
to Venkat)
- Modified cdf2matp.m so that it always treats the input values
for Gs and Bs as per unit values and converts them to actual
values expected by MATPOWER (Thanks to D. Devaraj)
version 2.5b3
11/9/99
9/22/99
- Modified grad_*.m to return sparse matrices, unless using
constr.m or an LP/QP solver that doesn't handle sparse
matrices. Cleaned up sparse<->full conversions in LPconstr.m,
LPrelax.m, and LPsetup.m.
9/21/99
- Undid a "bug fix" from 3/6/98 in makeYbus.m which zeros out
charging capacitance for transformers. Apparently some
transformer models actually have a non-zero charging parameter
when using the model used by MATPOWER (ideal transformer in
series with a PI model).
- Added loadcase.m which loads a MATPOWER case from an M-file
or from a MAT-file. Changed all of the run*.m files to use this
as the default way to load case files.
- Renamed print2mp.m to savecase.m and added the ability to
save a case as a MAT-file as well as an M-file.
9/15/99
- Fixed opf.m so that it correctly uses the termination
tolerances in the MATPOWER options vector for constr.m.
- In previous versions, Pmin/Pmax constraints are relaxed by
10 * OPF_VIOLATION in opf.m to avoid falsely reporting a
binding Pmin/Pmax constraint in a case where a piece-wise linear
cost function has a corner point exactly at the limit. This
code was moved out of opf.m (and the standard MATPOWER
distribution) to smartmkt.m and the value was changed to
100 * OPF_VIOLATION.
- Modified opf.m so the MINOS-based solver uses OPF_VIOLATION
to set the value of MNS_FEASTOL and MNS_ROWTOL if they are
set to zero.
9/9/99
- Included MINOS-based OPF with all of its options as
algorithm 500. (involved including 'area' in calls to opf.m
and uopf.m)
- Removed some unused lines from fun_ccv.m and grad_ccv.m.
8/5/99
- Fixed a bug in the pfsoln.m in the distribution of Q among
generators at the same bus. Initially attempted to distribute
Q to generators proportional to each generators' Q "capacity".
To do this correctly requires special cases for generators
with QMIN equal to QMAX. For the sake of simplicity, we now
distribute Q equally among all generators at the bus.
Note: As before, the simple power flow does NO feasibility
checking.
7/19/99
- Modified runuopf.m and uopf.m to handle DC opf. Added the
function runduopf.m which calls runuopf.m with the PF_DC flag
set to 1.
- Fixed size of 2nd order (all zero) coefficient of objective
for piecewise linear cost case in dcopf.m.
7/16/99
- Added the flag QP_SPARSE to mpoption.m to indicate whether the
QP solver being used can accept sparse matrices. Also modified
dcopf.m to use this flag.
- Fixed handling of VERBOSE option in dcopf.m
- Added the flag PF_DC to mpoption.m to indicate whether the
power flow formulation to be used for power flow and optimal
power flow is a DC approximation or full AC representation.
Merged rundcpf.m with runpf.m and rundcopf.m with runopf.m
so that the appropriate solver will be used based on the
value of the PF_DC flag in the options. The functions rundcpf.m
and rundcopf.m were modified to simply call runpf.m and
runopf.m, respectively, with the PF_DC flag set to 1.
7/15/99
- Changed the sign of the phase shifters in printpf.m to be
consistent with the bug fix to makeYbus.m made on 3/6/98.
7/14/99
- Included four new m-files (makeBdc.m, dcopf.m, rundcpf.m,
and rundcopf.m) which implement a DC power flow and DC
optimal power flow algorithms.
7/13/99
- Cleaned up variable names in makeYbus to avoid confusion.
6/10/99
- Changed UOFP to UOPF in print statements uopf.m.
6/3/99
- Modified print2mp.m overwrite instead of append to an
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -