设为首页收藏本站|繁體中文 快速切换版块

 找回密码
 立即加入
搜索
查看: 9703|回复: 12

[讨论] matpower3.1b2

[复制链接]
  • TA的每日心情
    愤怒
    2016-4-4 09:34
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    累计签到:1 天
    连续签到:1 天
    发表于 2007-3-6 12:43:58 | 显示全部楼层 |阅读模式

    马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!

    您需要 登录 才可以下载或查看,没有账号?立即加入

    ×
    -----------------------------
    , p! l/ O* m9 ] Change history for MATPOWER2 }9 ]* C" R% m. T0 H
    -----------------------------+ V6 p+ K6 F& L0 X
    Version:    3.1b25 A. S3 F9 h9 z/ O4 j( S& V7 f. Q
    maintained by Ray Zimmerman <rz10@cornell.edu>
    ) u9 Y+ U" ?8 I+ f* P: [; RMATPOWER
    ' }% E5 s* Q9 Q6 _. d8 k, |3 @$Id: CHANGES.txt,v 1.27 2006/09/14 18:20:40 ray Exp $+ j% Y. \8 o8 T5 {5 d
    Copyright (c) 1996-2006 by Power System Engineering Research Center (PSERC)5 j& c8 @; i" D" k" L! d! ]
    See http://www.pserc.cornell.edu/matpower/ for more info.) u$ u5 I6 q7 E
    : f3 M( G0 h, z4 N
    Changes since 3.1b1
    ; Y* |" S' s/ l5 b7 T-------------------
    / Y$ z; A, p) M$ J0 Y. E7 M9/15/06
    & d) B& X: U$ i; c; T1 c% N: `    - Released version 3.1b2.
    9 O0 b* {7 o5 _& h4 P) ~9/12/067 _- X5 R6 Y' L; F& r, Z' A
        - Added makePDFT.m which builds the DC PTDF matrix for a specified5 e+ h+ e6 B- N5 X/ G* P
          slack distribution.( D, _* k7 r1 L) k  Y6 t
    8/16/06/ {% m/ T5 ?8 n* V- Q
        - Added optional outputs xr, pimul to fmincopf and opf.m to make them
    3 ]1 j: I- ^$ E3 z/ |$ f6 x      fully interchangeable with mopf.m., {2 U/ d& T: G/ o7 E' [
    8/15/06
    ; F8 P) y% N/ m1 d4 C6 M- z0 B" I    - Added branch angle difference constraints to general OPF formulation
    1 i3 c: h: e" H* a5 n      in fmincopf.m (and mopf.m).  ]3 ?- O5 T+ M6 Q+ |" W) O2 x
        - Fixed (invisible) bug with multipliers of lower bounded linear
    ' {$ {: Y( S" F+ a: b; E4 j      constraints in fmincopf.m.
    " d& q' U, y( M; O. p4 D: d6 C0 i7 z6 v
    Changes since 3.0.0* W2 L% Z3 H5 T8 |, O9 i
    -------------------- i: _) o: |2 {0 `! n0 a9 E
    8/1/06* z6 p( N3 F# U' O- o; K; Y# z
        - Released version 3.1b1.
    " E5 w: l  _- Q3 X/ ?5 [4/28/069 i$ G, U$ G( K' A7 E  p
        - Fixed mpver.m so it will properly handle case where the Optimization
    0 i/ ]* A: D0 B& F      Toolbox is not installed.
    ; K! \1 `+ H' C3/15/06. ]& {! c7 E' c* X* x# k; Z) e) B
        - INCOMPATIBLE CHANGE: Updated opf.m, fmincopf.m, costfmin.m, consfmin.m to
    7 m% Z6 t* a# N" }      be able to be compatible with latest MINOPF. User supplied A matrix for
    7 A# Y" I/ |7 L0 G      general linear constraints no longer includes columns for y variables# h" Q" }8 P. b8 I+ ~, ^( k
          (helper vars for piecewise linear gen costs), and now requires columns
    4 `+ Y/ P3 {, X6 ]$ b5 `+ @      for all x (OPF) variables. Added generalized cost model and generator PQ% X4 k, K" }* V* W, l! F
          capability curves.$ @8 N/ N5 g, y' {( g2 Q$ Q; }( W# _
        - Modified savecase.m to always save MAT files with -V6 under newer MATLAB6 d9 T0 O% O8 L( f
          versions.
    % ?+ ?. Y: d, \7 d6 a" p5 g3 Y    - Added a number of tests to t_opf.m for MINOPF and fmincopf for generalized, I- ~+ }3 c- P6 r* X* L: H7 r+ |  H$ K
          costs and additional linear constraints. Added test for fmincopf for
    , ^$ ^+ L* A6 A- x8 l, P      generator PQ capability curves.
    " L& V# v4 }8 I0 p3/10/06
    9 t/ ~4 W, s9 r7 t. E    - Added baseKV data to case118.m from PSAP file . Z5 J/ b3 D1 I7 l8 A! y
          <http://www.ee.washington.edu/research/pstca/pf118/ieee118psp.txt>.
    $ n2 F+ @) ]! B5 [/ _3/8/068 t" P& {$ o# Q2 h' G# O
       - Renamed col 5 of gencost from N to NCOST everywhere.
    $ Y1 d# |" z3 ^, S8 m$ d; Z  Q1 f10/14/05
    * Q0 U: M. _) o; u3 J* {3 t    - Updated version 2 case file format to modify generator PQ capability7 ]& c9 T. y! s/ I! u# P1 r
          curve specifications.
    5 R& V4 P& h- y    - Added hasPQcap.m and test for gen PQ capability curve in OPF./ M$ d' t$ E% A6 p2 L! ]
    8/22/05, c' b0 q# _- H/ U) u3 W1 e+ P
        - Added OPF_IGNORE_ANG_LIM option to mpoption.m.' C# R0 L, O+ Y: t4 i; w9 f/ B
    8/5/05
    6 c4 w6 z9 v& [: t* Z. G    - Modified identification of binding constraints in printpf.m. A" {5 c6 k  \. Q5 t" [' A
          constraint is now considered to be binding if the tolerance is less
    + H; A7 q' R( w/ [# ^9 C( T/ g      than or equal to OPF_VIOLATION tolerance -OR- if the corresponding2 d0 Y! y' r7 a" J
          Kuhn-Tucker multiplier is non-zero. This allows binding generator
    & l4 L' S7 q! n  g& j9 m      capability curves to be reported via multipliers on Pg and Qg limits.* V7 [% u, G1 t- y: D7 F( t
    7/8/05* T+ k- f" D1 R5 h
        - Updated loadcase.m, savecase.m, idx_bus.m, idx_gen.m, caseformat.m
    0 N) c& ?  O" x7 K      and tests for version 2 case file format, which includes piece-wise6 ^9 s, a6 X' y
          linear generator capability curves, generator ramp rates and branch. M( b. d5 A+ _+ M3 k0 }
          angle difference limits.
    ; C9 w3 X; r  f8 l& t& c2 b    # l; L- i$ L+ W/ A
    Changes since 3.0b4
      I& G+ [9 ?; j3 g1 F( G& i-------------------
    ( c$ ~. J" u; n2/14/05
    + b' r6 Q9 Z1 u" J+ P/ T    - Released version 3.0.0.  a* L  @( R  M" u8 U" E
    2/3/05/ d; j- \6 T$ P
        - In mp_lp.m and mp_qp.m, on Windows it now makes sure BPMPD_MEX is not
    8 [6 F7 z* G  I2 O      called in verbose mode which causes a Matlab crash.* ]9 b' w% b4 P, d

    * l" `& @6 K1 x% E4 x3 s, [Changes since 3.0b3% v$ V9 L* S5 c) d( E
    -------------------
    4 M' c* r3 B$ q) L4 W$ K0 a5 _1/28/058 y3 C- n& h& [& _
        - Released version 3.0b4., h% s  R6 C$ e# r" Q
    1/27/05
    6 w* |, P$ H. i( M0 g/ H3 ]    - Added case6ww.m and case4gs.m.0 P- V" X7 Y3 Z% ~$ r
        - Minor modifications to printpf.m to handle larger bus numbers.
    / H! a: s/ @$ N5 A, P, [1/26/05( f2 p3 G4 s7 \4 S
        - Minor changes to uopf.m to make sure it plays nicely with dispatchable
    / P  u" v! I  x: w6 E  \0 L      loads.0 I; L( G, U0 A  O9 x# \8 w/ q
    1/25/05
    " I* ~( A7 L6 _- T4 A    - Major updates to user manual.
    5 x' a* t0 f# n+ z1/24/051 I& S1 Y, A! A$ a
        - Switched to using the new isload() to check for dispatchable load.# {, ?; [$ a  B5 @& J  O. c8 b) a- y
        - For dispatchable loads, switched from using PG and QG to PMIN and either
    % G# l: i8 x3 C( \9 Z      QMIN (for inductive loads) or QMAX (for capacitive loads) to define the
    6 ^; e4 Q3 G4 I$ e- h& R      constant power factor constraint. This prevents the power factor1 \9 M# J. G% Q* J
          information from being lost when it is dispatched to zero. If the initial
    " [9 S7 _* C- q      values of PG and QG are not consistent with the ratio defined by PMIN5 b+ \* D8 l: Q  c3 @+ O
          and the appropriate Q limit it gives an error. This is to prevent a user& k) M: l. Y+ {$ y5 \7 \
          from unknowingly using a case file which would have defined a different) I' h% b+ b  J! X
          power factor constraint under previous versions of MATPOWER.# n! T5 r  V, P. P
          If both QMIN and QMAX are zero, it no longer includes the redundant
    2 J$ ]8 J/ C- s/ A      unity power factor constraint.  o0 V+ V1 G4 \; B- d- _+ q6 E3 s8 ]
    1/20/055 @; u4 ~1 K& v
        - Updated printpf.m to display dispatchable loads and generators1 V% ~5 g' S9 V! i3 r+ D  f0 j3 A
          separately. Reorganized the area summary section and corrected the net
    2 f9 k6 Z- ^' ~  F6 U4 ~      exports value (subtracted half of tie-line loss) to make the numbers) {8 ]0 D' S0 H
          add up correctly.
    * G1 l% t/ L; j% @, w1/18/05
    : Y% }$ u) D) g8 w8 U7 f/ m    - Added to runpf.m the ability to enforce generator reactive power limits' `% \  G$ ?: A, d% D
          by allowing the voltage to deviate from the set-point. This option is
    3 r" F% x1 y: N      controlled by the new ENFORCE_Q_LIMS option, which is off by default.
    + k% F( G, b& ^' H& t( F          (Thanks to Mu Lin of Lincoln University, New Zealand3 m/ L$ e) D1 J* |
               whose contributions inspired this feature).7 O0 p3 ~! q1 w/ t9 d& }) w
        - Modified pfsoln.m to divide reactive power dispatch between multiple4 A/ M  e1 B% b) |' t$ X: S7 J
          generators at a bus in proportion to each gen's reactive power range,
    " f' z) S# k; J: Q; X& H; H      as opposed to equally. This means that all generators at a bus will
    $ t3 J2 _0 s3 R+ f* h$ x      reach their upper (or lower) limits simultaneously.
    / a, i* q) n7 C    - Added generator status column to generator section of printpf.m output." V7 R3 a4 N7 p: M0 l9 Y
          Fixed bugs where non-zero output of decommitted generators was displayed
    1 _4 A6 f4 v# M. D3 z      and included in generation totals in generator and bus sections.0 k6 c1 A, G: ?# i, c5 y# D
    1/14/05
    + @- Z) R$ M( _' O6 D: K    - Moved some setting of MNS_* default options from opf.m to mopf.m.8 j# V, V9 G9 R7 d( Z) l; E
        - Eliminated unused output args in dcopf.m.
    , o" n/ q! p  \2 Z$ I    - Modified printpf.m to zero out reactive generator output for DC cases! @5 B4 }3 u! n7 |
          and to use OPF_VIOLATION tolerance to detect binding constraints, as* t* i7 K5 B- p( E% w" n
          opposed to non-zero Kuhn-Tucker multipliers.
    1 G; q4 _+ N# t, {- d" a1/12/05
    " ]8 o8 D3 b' u" N/ t/ b  _    - Modified bpmpd portion of mp_qp.m and mp_lp.m to use default value for
    " D8 [# \! X; p7 Y# m      TFEAS2 and eliminate variable limits which appear to be artificial& t5 X9 ~9 z# y; @) e+ B
          large values used to indicate free variables.2 d' s/ c+ u6 ^$ r) `3 o! A: Z( [
    1/4/05- Q' g0 [; Z; u' [: O! A* N
        - Fixed potential bug in dimensions of Yf and Yt created in makeYbus.m.+ f; G) R. W+ W& z8 m1 b
    12/17/04
    $ t" O$ E5 J7 W, m& G. K8 ]+ H% ]9 C    - Added feasibility check to mp_lp.m and mp_qp.m to work around a; Z* r' ]5 }% S2 b& G) D
          recently discovered bug in BPMPD_MEX 2.21 where it sometimes returns an
    & l, e3 e1 w- n. s      incorrect (infeasible) solution for a DC OPF problem. This bug has yet
    , Q8 U* |5 D5 |& a) b! X( j8 D; K: R      to be encountered in any other context.
    6 O6 I! n" b, F. w7 ^  l: _7 G12/13/04
    + g: Z1 z( M: o- {    - Added mpver.m to print version information.4 R: N+ L0 M$ I5 g# a3 o
    9/23/04
    6 d4 \# I9 |( F! S+ q    - Fixed bugs in cdf2matp.m which prevented it from working at all
    / _- C! F9 h: v: G6 Z      when not specifying both input parameters and caused it to# P1 H1 x! }! i* b! O( C
          sometimes not add the warnings at the end of the file.  U3 E! Z; h" A9 U) ^; Q
        - Fixed typo in name of lower bound input argument in opf.m. Only
    : `3 Z  h6 r4 e/ B      affected those calling opf directly with extra linear constraints.
      `% q& \) d; L, Q
    * d  R- `: [0 O8 {* ^Changes since 3.0b2# L5 f) o& g' s# |" r
    -------------------
    ( Z+ N% D8 v# {- _) R9/20/04  ^2 c% q9 T& P" P: }5 I, x
        - Released version 3.0b3.
    8 e9 A/ I$ g/ v6 |5 y    - Generated clean versions of all included case files using latest
    , d- e% z, }, \6 S9 `5 v% a- G# D      cdf2matp and savecase. Added documentation for source of data
    2 v  e. o# `0 t      for case files.
    ; B; b2 {% F( H! G    - More enhancements to cdf2matp.m. Adds comments at beginning, appends
    : C: [, L3 Y* c. P3 y      conversion warnings as comments at end of file. Uses savecase.m to
    ; ~2 m) F) F# w! y  W7 ^4 t6 c3 o      save the data.
    7 z- h4 W4 o2 V) ?7 _  o; W3 L    - Updated savecase.m to use %g instead of %f many places, correctly* i+ s. V0 }( K  ?4 o9 S3 J
          handle multi-line comments, include headers for extra columns for
    7 K2 W% I/ g% |3 x" }" _3 w9 Y      solved cases. Optionally returns filename with extension.
    + o# g+ t3 o, y0 e7 ^9/17/04
    + c% d$ L1 V7 k4 z    - Fixed bug in grad_std.m, introduced in 3.0b2, which prevented constr" c9 T. A( j- c
          and LP-based OPF solvers from working for polynomial cost functions.
    2 \2 q: m. W; G9 l) {9/15/042 T5 B8 L& o$ c8 O+ B4 }1 U! t
        - In cdf2matp.m, added input args, updated docs, switched to named
    # [5 o7 W, }( Q      indexing of data matrices, new method for creating gen costs.  g$ M& R; s1 y" Z, F6 h+ y
        - Documentation fixes and additions from Pan Wei.( X$ j/ y4 U. \4 y
      F: q. _; I* i3 `( y
    Changes since 3.0b1
    ( H1 R; ?( F2 g) M3 u-------------------
    ; d( v" E5 Y% g$ q/ o; L0 \4 @; K6 e8 @9/7/047 L0 i+ h9 x4 G+ p8 q
        - Released version 3.0b2.
    + g8 ]  t: C$ f    - Added OPF_P_LINE_LIM option to mpoptions to use active power
    * T( ?4 ~+ k* m. V9 \7 u  ?      instead of apparent power for line limits (thanks to Pan Wei2 `/ z1 @9 K" v$ n! }
          for the suggestion and some code).1 O  C0 g3 g# y
    9/1/04
    " |# b& b1 B1 w    - Fixed bug in savecase.m introduced when making areas and gencost. t. d3 l2 Y5 \. K  G5 N* Z
          optional.: X. _$ K; A& U7 j, {( w# ^
        - Updated opf_slvr.m with options for MINOS and fmincon.( l) ]6 T1 m0 K. t' N# G
        - Removed option 15 OPF_NEQ from docs (not a user option). Removed option
    ' w) N% u/ _  E      52 VAR_LOAD_PF (unused, always behaves as if this option were 1).
    . n7 p5 ?  i% J  P  C  T      Changed semantics and default value for option 51 SPARSE_QP. By default
    8 Q: k. u0 B: Q# x- ]2 Y# ?      (value = 1) it will use sparse matrices if a sparse QP/LP solver is! f( {/ m! b5 O/ H0 S
          available and full matrices otherwise. Setting the value to 0
    # H: u' q5 I5 Q7 u" J/ e) H      will force it to use full matrices even with a sparse-capable solver.- ?- p' X, a2 p0 e  ?5 I1 c
        - Cleaned up checking for optional functionality, and fixed a bug
    + ~+ M6 a# K8 J( u5 \      that would miss MEX files if there was an identically named directory6 V# w9 W' q  w. A: X  M
          by adding have_fcn.m.
    + }( g1 S  z# D4 t  B      : L2 {4 F. W( \2 O, d8 }5 T0 T. K
    Changes since 2.0
    3 |9 K! F( q1 v# ?) k2 W* m$ W-----------------
    1 g8 i3 d# }. b" x8/25/04
    * w$ D2 s0 i& n" v    - Released version 3.0b1.; Y1 G% F2 o* P( ], D7 [' r
    8/24/04
    ) Q. b5 v6 l, r6 r7 q! X, [    - Made mpoption() throw an error if passed an invalid option name.
    ' t9 A) o0 U: k0 Q- O$ N8 J8/23/04
    ( f2 [4 ~! N# c    - Added an fmincon based OPF solver for the generalized formulation: D3 O& }) ?9 p" {5 l+ O2 E6 [
          previously used by mopf (Carlos)./ q: q2 R4 i, \4 h3 y3 Q
        - Restructured opf.m so all OPF solvers have a similar API based
    ' {3 r% S4 q% T9 H; w      on the one from mopf.m (Carlos)./ C! H; l/ L1 P' U6 x; P  J
        - Added some quick tests for runpf and runopf for each algorithm.* B: i) r2 ]& p0 y- O
    8/13/04( E& R6 \# @1 d9 }% a
        - Renamed 'area' variable to 'areas' to avoid masking the built-in& T) x1 W1 R1 m# ~9 q* W; T8 d
          function of the same name.3 w% L8 g& n4 J) F1 C4 G- o7 E0 m. j
        - Made OPF data matrices 'areas' and 'gencost' optional for running0 `5 z. b% G! h; p
          simple power flow.$ s0 @8 l4 s& t3 \+ v" _3 O
    7/15/04
    ' n: @' n) p: t    - The loadcase function (and therefore all of the run* functions
    . Z7 `0 A$ u( B5 o# B0 f3 b9 [+ r      now optionally accept a struct with the data matrices as fields
    $ y7 j) M1 ?* @; {4 j. b# x' j      in place of the case file name.: M) {  F# f+ M2 y$ b% e
        - Added t subdirectory with various tests and testing tools.9 l1 A4 {, g9 t1 |& |
    7/8/04! f3 s+ s% |( L5 M9 n( h
        - Updated mp_lp.m and mp_qp.m to try linprog() and quadprog()
    ; }' y7 e- |0 s3 ~/ K( F6 v      after trying bp, since lp() and qp() are no longer included
    - p: e1 @9 ~$ I' O. F) \5 b# |% G      in the Optimization Toolbox as of version 3.
      I* P! X7 H, ]7 V  i. w7/7/04
    - H9 P$ w% w; a    - Removed case.m, added caseformat.m, made case9.m the default
    ' l1 _3 n! ~# H( z! ^9 P  y      case and fixed function names in other case files to avoid1 C0 H% J* P  l7 t3 \
          use of reserved word 'case'.
    " I5 H9 V) b8 A1 b: ]3 ^8 P: k5 W& g    - Fixed bugs in runcomp.m.9 i6 |9 ]6 }8 {, d( c9 @
    6/23/04% |* {( o% A8 y, N
        - Fixed bug in newtonpf.m which caused algorithm to diverge when' S' \, h9 y/ q. v
          the Newton step resulted in a negative voltage magnitude.. r! ^; z4 N" W. }% s
    4/17/038 V  {1 ?2 |( ?8 N0 l: B9 e
        - Changed uopf.m to use a dynamic programming approach. More% m2 E- d% f0 k" V: P* |  u
          computationally expensive, but should find significanly better
      B; d# N3 t) }, M& I/ h3 t* q      results when there are many gens to shut down.: K# v! w& {0 ]+ o3 A
        - Added mp_lp.m and mp_qp.m, equivalents to lp.m and qp.m,
    & F( U; D3 ]- H& k7 C. [8 d4 `      respectively that call bpmpd if available. Modified LPrelax.m,4 l) T" J8 t! l( m/ b# b1 e" e
          LPsetup.m and dcopf.m to call these new functions.
    5 n+ H* K' t4 x9 x+ C4/14/03) a8 Z8 _  `* n. H9 s
        - Fixed a bug in pfsoln.m which for cases with a single generator.0 Z: R( F7 C' d! P
    10/23/02
    0 G: l5 R4 \- u0 ?    - Fixed bus numbering bug in System Summary section of printpf.m.
    9 j+ V; z+ y! K+ I: y( W4 [6/20/00
    & T+ i1 J$ p# G7 _    - Fixed a bug in printpf.m in the generator section, where
    $ e! A" L7 N" S! b      the generator was assumed to be off if it's real power  f9 K8 s% O9 s+ v
          output was zero, even if the reactive output was non-zero.
    + Z8 v) I5 H$ [    - Modified printpf.m to print out lambdas in generation section3 ~) G  N8 M. w3 H  {" O# r+ W
          for generators that are shut down.8 \; P  _5 p$ j+ O) T
    6/8/004 g, K8 h/ Q1 B. V1 L
        - Modified cdf2matp.m so that Pd also includes any generation at# j( @) m2 P. f. Z  ~* l. L' X
          buses specified as PQ buses. Also modified identification of
    : V- E: ]6 j8 I8 S# M" _: E8 n      generator buses to include only PV or reference buses. (Thanks
    5 G' L4 c+ F. e( |( \* s2 L1 H8 a      to Venkat)0 ~' F5 p6 D2 w4 p
        - Modified cdf2matp.m so that it always treats the input values1 D1 m1 q- O& p
          for Gs and Bs as per unit values and converts them to actual# i4 ?  k; ]: Y1 o4 s
          values expected by MATPOWER (Thanks to D. Devaraj)
    9 b( Z* o! q! Cversion 2.5b30 y+ }4 c% q' |  o; F
    11/9/99' t8 i# C% Y: H# f
    9/22/99/ p& L, P. @4 s
        - Modified grad_*.m to return sparse matrices, unless using  {$ L/ U- O- `# r  W
          constr.m or an LP/QP solver that doesn't handle sparse
    2 c: {9 d! w  D& f7 w      matrices. Cleaned up sparse<->full conversions in LPconstr.m,
    * W  D( j1 U" H& X      LPrelax.m, and LPsetup.m.8 a$ r& }9 {2 |% T
    9/21/99
    ! W0 H) `$ i" {; m    - Undid a "bug fix" from 3/6/98 in makeYbus.m which zeros out
    - }& b  t7 a1 N% r  R( y* c  V$ u      charging capacitance for transformers. Apparently some
    6 G; I. e& ]' K! Q) H/ T. |& W/ I      transformer models actually have a non-zero charging parameter
    ! l/ T* i* m+ Y7 {( K- t5 f2 `      when using the model used by MATPOWER (ideal transformer in
    4 Z7 s, y  ?' T$ V1 v& V; |* _5 w      series with a PI model).. Z! t& v) Q/ h  D  H
        - Added loadcase.m which loads a MATPOWER case from an M-file8 F; l8 t; e! e" {
          or from a MAT-file. Changed all of the run*.m files to use this; I; T/ t# c3 m/ F- Q. C
          as the default way to load case files.+ m! o7 F" b+ ~5 L9 h# p! |( K
        - Renamed print2mp.m to savecase.m and added the ability to
    - k! Z. I/ @: s; X; T5 E      save a case as a MAT-file as well as an M-file.! c- O7 K: _% x, [# f5 C( S. R
    9/15/99
    1 o+ e0 N: E- G0 ~0 k! i2 n    - Fixed opf.m so that it correctly uses the termination
    ' i/ s. P2 z* P6 V0 |5 }3 S: f% @      tolerances in the MATPOWER options vector for constr.m.
    8 \' a6 V. J; Y8 y) o; h1 {6 u, m    - In previous versions, Pmin/Pmax constraints are relaxed by; f& J, c" o2 p! i- i% I
          10 * OPF_VIOLATION in opf.m to avoid falsely reporting a. _8 O1 R+ T+ Q& p8 V- f9 G
          binding Pmin/Pmax constraint in a case where a piece-wise linear1 d+ X- p, x$ _1 W3 k
          cost function has a corner point exactly at the limit. This' a% x- H4 I" X, M* i: w9 Z, t
          code was moved out of opf.m (and the standard MATPOWER4 J! \3 Q5 c; x' Q
          distribution) to smartmkt.m and the value was changed to
    : f* \- n; e% [3 d% H      100 * OPF_VIOLATION.( E: F! q  _$ I( g
        - Modified opf.m so the MINOS-based solver uses OPF_VIOLATION
    % d3 C- s; G4 Z! I      to set the value of MNS_FEASTOL and MNS_ROWTOL if they are2 J" r7 l" V" `; R7 r( o
          set to zero.  ^: r0 g9 W* ]; d/ A$ |6 G& P
    9/9/99
    ! p/ Q( D- E* ]1 y2 d& g    - Included MINOS-based OPF with all of its options as9 r2 N7 y) z6 {: N8 w
          algorithm 500. (involved including 'area' in calls to opf.m* _, b+ a; \% H" v% w$ R% a, B1 \$ t
          and uopf.m). _5 B) Z8 `! w* F" l3 Z) Y
        - Removed some unused lines from fun_ccv.m and grad_ccv.m.
    & U/ t6 ~  t# ^" w( K8/5/99
    4 J6 s) [- d- D$ e7 N    - Fixed a bug in the pfsoln.m in the distribution of Q among+ p) ~7 k0 }! k* d% L/ P
          generators at the same bus. Initially attempted to distribute/ o1 Y/ X* W# i9 n$ r/ o& o
          Q to generators proportional to each generators' Q "capacity".
    # @% M& _, D+ I3 D9 p      To do this correctly requires special cases for generators: ]7 c, F0 {5 P" A
          with QMIN equal to QMAX. For the sake of simplicity, we now. s% \3 D# F0 _7 S1 j4 _
          distribute Q equally among all generators at the bus.
    / l1 |$ d' ]; u! v* x0 d4 @      Note: As before, the simple power flow does NO feasibility
    ( D  p. _2 s+ R5 l      checking.
    6 Y$ F7 i( k; S# ?7/19/995 n  s' A# u; t+ f4 V/ |
        - Modified runuopf.m and uopf.m to handle DC opf. Added the5 ^7 y$ g9 m3 p
          function runduopf.m which calls runuopf.m with the PF_DC flag
    $ G5 H2 `7 `1 L/ z3 K( l8 N      set to 1.; T% c6 _; O, L# R* i; ~; n/ t
        - Fixed size of 2nd order (all zero) coefficient of objective8 c! P! a4 E9 G
          for piecewise linear cost case in dcopf.m./ W  I' \$ w6 i# F
    7/16/995 W# Q( l) @4 y: s* u& j* e+ ^0 D
        - Added the flag QP_SPARSE to mpoption.m to indicate whether the
    : q, F9 C  c9 A4 k) l* S+ ^; h      QP solver being used can accept sparse matrices. Also modified4 f1 t7 {5 a! b5 \3 [9 ?' ^. ^
          dcopf.m to use this flag.
    ( V' v6 \) D' f: Y    - Fixed handling of VERBOSE option in dcopf.m
    7 b# C+ e! z+ o4 e' o1 U    - Added the flag PF_DC to mpoption.m to indicate whether the  K  u& n& [6 E, {2 _9 h
          power flow formulation to be used for power flow and optimal
    ; }# a3 g* N" L. S/ C$ q      power flow is a DC approximation or full AC representation.5 H0 d2 O# [1 h# ~' x
          Merged rundcpf.m with runpf.m and rundcopf.m with runopf.m6 G# e+ c  c% s" t& Q
          so that the appropriate solver will be used based on the, u2 [1 {  I2 n' v) o$ K
          value of the PF_DC flag in the options. The functions rundcpf.m0 H* v8 ], X8 \: Z5 {& R6 s
          and rundcopf.m were modified to simply call runpf.m and
    " t# Z9 }, T9 v- V( @      runopf.m, respectively, with the PF_DC flag set to 1.
    0 E& s6 h' S! p( v6 }/ b" G7/15/99( p; F* R/ [: }6 w/ e& q# q
        - Changed the sign of the phase shifters in printpf.m to be2 t3 y2 Z/ O& h: }  ?
          consistent with the bug fix to makeYbus.m made on 3/6/98.
    1 E7 J9 s: P6 D" |7/14/99
    * x# h. s: k; ]1 \. p. w; \% g    - Included four new m-files (makeBdc.m, dcopf.m, rundcpf.m,
    - }: d$ c: H. m      and rundcopf.m) which implement a DC power flow and DC& E% m7 `9 S) X8 `" k
          optimal power flow algorithms.
    6 L9 T" m4 ]. t: c" M6 Z7/13/99
    % Y" R1 S& O7 J7 {    - Cleaned up variable names in makeYbus to avoid confusion.
    : S3 t5 A& H, M/ Z8 o8 |6/10/99
    # B/ u# ~/ e* ^" @  H: G    - Changed UOFP to UOPF in print statements uopf.m.
      v9 U4 }3 t! s% \0 Z7 k6/3/99
    + l2 e$ J. @: o- n8 j2 s    - Modified print2mp.m overwrite instead of append to an/ o3 G+ z" d7 G/ p, V+ k
          existing file.
    0 ]% `$ C& G; s6 u- Q9 ?    - Fixed bug in cdf2matp.m to make it always correctly write( X9 T# A. _$ j$ e5 n
          a text file output.0 j" G8 m; N; r% v1 _  X! V2 l& {
    version 2.5b2) @8 J) t8 E& I3 Q: ^# \7 l2 ~
    6/2/99
    # b: {* y; `$ E1 ]* P* Q: U7 a    - Modified print2mp.m to include line flows and Lagrange/ N, M" ~+ N1 V+ ~' _& F! G: i5 z
          and Kuhn-Tucker multipliers in output if available.
    , F( s5 J7 F7 c4/29/992 {2 r' o# i, T3 H7 X4 q8 ?
        - Included a Gauss-Seidel power flow solver gausspf.m, and0 a  G! z( E/ f* J% R
          made corresponding changes to runpf.m and mpoption.m.3 p8 ~0 @9 N9 q- r3 K# M
          Code contributed by Alberto Borghetti.2 Z# T/ b+ a6 y
    4/28/99
    & L5 h* p4 d8 y- p% R# L6 E    - Modified newtonpf.m to handle cases with no PQ buses or no) a# b5 K; `, i/ E  U3 \
          PV buses under newer versions of Matlab.; n( f: w' m9 u
    2/25/99
    + @- f! b  H' D* ], Y    - Fixed a bug in uopf.m which occurs when two (or more)
    0 O8 P4 d, h' T' q% g      generators have positive decommitment indices but shutting- h# H' @3 y- w9 ^8 Y" y" w
          them down one at a time always results in increased system
    " W% S! N6 G9 r      cost. In this scenario, it would go into an infinite loop0 h3 T/ `( \& G* x
          of attempting to shut them down one by one.* J" j  J% I# ~8 `9 j0 _
    2/24/99* y; f5 b2 q) N: K& g# k) L7 p, L& r
        - Modified uopf.m to be able to handle the case where the
    % R+ y% j" I- g+ x( K. k      sum of the Pmin's is greater than the load. It shuts down
    ' y, B% U7 V, L6 H1 _) B$ m: w/ D      generators in order of decreasing average cost at Pmin) M! g9 G: K( [5 q
          (breaking ties randomly) until this infeasibility is gone.
    ! G, h5 l' z5 o( D& K0 l2/16/99
    9 [6 j) d* v( i    - Fixed bug in pfsoln.m which caused crashes in Matlab 5) C/ o* Z0 N  Y" C/ m
          for systems with no capacitors.
    4 T9 `! r9 J5 W" P    - Added print2mp.m, which can print out a MATPOWER case file
    9 u- A& }) `' J" D3 a& F8 ]      from the data matrices.
    2 o4 o# B2 P( K7 L! H    - Added to run*pf.m ability to save solved case.8 W4 H- r, C1 }7 t4 e
    2/10/997 Y) ?- d) ~" q
        - Modified ext2int.m to allow for area matrix to be empty.: r8 \3 c5 f4 J9 z9 y0 q
    12/3/98% H" ?+ T4 |/ E: H; @
        - Changed pfsoln.m so that there is only one slack generator.
    9 f+ M, [0 }  p7 r3 t2 s- L! v! n      Instead of dividing the P between multiple gens at the5 H' U. h; D: \) m
          slack bus in proportion to capacity (this caused problems
    : J* P5 ?) k# E4 j7 {' n      for the LPconstr versions of the OPF), it now treats the& k/ e! |3 C0 b  i/ g
          first generator at the slack bus as the only slack generator,
    2 E% S& J! e6 t8 t0 |' Q' Y3 `      leaving the dispatch of the other gens at the bus unchanged.+ ]) M. F, L1 R9 m8 y5 g) U4 _
        - Added generator number to generation constraint printout and- X/ p) _6 k. {* h3 \
          branch number to branch data and branch flow limit printouts.: S$ l6 A) n& P, i
    12/2/98
    3 ~6 u0 [6 R0 [* _2 g1 ~5 `    - Changed printpf.m to print elapsed time and objective fcn' V' P# O% e: o1 x' U
          value even when OUT_SYS_SUM is turned off.
    / i% ]; X. K& {1 o+ a    - Added code to LPconstr.m to explicitly zero out lambdas for* A: [9 s! F: L. H8 Y
          non-binding constraints.7 [& q5 O0 n, G
    12/1/98
    8 v; z' N- ]" ~5 @  [3 m' ^( {& A    - Made modifications to ..., I# H( d* U# c
            bustypes.m, |8 B( X' D9 l1 R, a
            fun_ccv.m
    ; k9 K3 k/ |( a2 m7 I        fun_std.m
    : h+ R4 ^6 K8 P3 M$ q' a) j        grad_ccv.m
      M' K  s+ H5 k. L% g- B: ?        grad_std.m2 }! a  l/ o+ z. Y
            LPeqslvr.m
    % Q8 o  d/ ?# H% c! o% B/ Q* l6 f' h        makeSbus.m! [8 e  z7 P0 u8 T' a  W
            opf.m4 N. R4 p* [: ~0 G
            opfsoln.m  `! o7 P5 l' W  h) h' o
            pfsoln.m
    1 e: e, n" x$ j2 u& i) L9 n: x! s        printpf.m   
    : D3 N; h  J2 B/ G% [5 O- d+ G$ z        runpf.m
    3 R+ P  n& @5 z+ p; D1 O      ... to allow for multiple generators at each bus. For simple
    6 S. W% ~/ q3 `2 T9 g/ V      power flow, the Q dispatch is divided between multiple gens1 N  Z) t# f4 u  u9 r4 z
          at a bus in proportion to each gen's Q capacity. Likewise5 b! f( t9 A; J( ?# w+ {
          with P for multiple gens at the slack bus.
    ' z1 {0 e3 ?) v6 b& B3 F1 R% N& m! p10/29/989 p- `( \, r6 o. T0 c
        - Fixed bug in uopf.m which caused it to crash when attempting" X) F3 u3 M1 s# x- s% L
          to restart a generator after more than 2 had been shut down.
    + ]4 Q+ J0 J; B, s6 j10/19/98
    5 y. B5 u4 t" W8 b( E1 l' D5 l    - Generalized definition of GEN_STATUS column of gen matrix& b5 m( e  B* L7 Y* L
          to allow for distinctions in the status of out-of-service  X8 r! y7 e) a. Q
          generators. The default values of 0 => out-of-service and& m% R  q# y/ O; {6 O
          1 => in-service still work, but the logic has been changed
      `/ s: p$ O: K1 e  a      so that GEN_STATUS > 0 is now in-service and& Q# ]- `. }8 {
          GEN_STATUS <= 0 is now out-of-service, as opposed to
    1 n; \8 p) g5 }, m& `, V6 c      GEN_STATUS ~= 0 and GEN_STATUS == 0, respectively, which
    ( C) A$ R) n* I# D3 [! c2 j      was used previously. This allows for a GEN_STATUS of -1,6 |& e7 ~) `0 A* X" H- B
          for example, to indicate a generator which is off-line5 x1 t& b7 e) V* c% e2 K" n& m! `- o# c
          but could be brought on in case of an emergency.
    5 s3 s, D! s1 A) K9 l% J9/2/98
    % }0 T2 H, N- E7 W    - Fixed bug in printpf.m which caused area exports to be" b7 A* {% I% y5 C
          off slightly.
    1 o. T3 v4 j/ l7 Y9/1/98
    $ Y5 A: g5 M6 C7 v0 J    - Fixed bug in printpf.m. Total intertie flow was double the
    , g& L$ W" o6 l' T9 r      correct value.
    0 H3 O9 ?& a$ \. C5 [8/31/98
    ; W4 Z3 }5 ^, O0 ~    - Fixed bug which included line flow limits for out-of-service5 @7 [! `( X' u, e* _( k2 |
          lines in OPF.2 o1 z9 a3 O; i( E! H0 B
        - Modified pfsoln.m, opfsoln.m, printpf.m to zero out flow on
    / E4 U, Y6 y* j4 A. _  X$ R3 [      lines which are out-of-service (found by Ramazan Caglar).
    ) R6 P- b: k2 V1 E+ ?7/28/98" p5 B( N0 Q3 o) G2 E1 D* h7 N
        - Changed VAR and MVAR to VAr and MVAr everywhere in output.
    & d0 b2 U% r3 ?! F# n" D3/13/98
    / G7 m" g# _1 B6 ~    - Decreased the default value of LPC_TOL_X option to increase- b3 t9 ?; ~) J' {
          solution quality.
    % I) `2 o$ F4 K6 {    - Modified fix of 2/10/98 to use a value based on the value of
    $ q5 \" i* e3 L7 M9 ?) O( C* o      the OPF_VIOLATION option.
    $ T" I$ R' i8 j/ V3/6/982 A; f$ O0 E/ L) k+ v5 O
        - Fixed 2 bugs in makeYbus.m. Phase shifters now shift the phase the* i1 ?4 `) i& V) N3 s2 k  f
          right direction, the line charging susceptance parameter is now# S/ K* C1 }9 }+ h) o# w
          correctly ignored for transformer and phase shifters.
    : e0 Y6 \5 w; ?* D3/3/98
    * G9 b: X# v0 C9 g) [8 _    - Fixed a bug fun_std.m which caused it to always compute 2nd order$ J" G8 {/ l6 ?, \
          derivatives. Now it only computes them when requested.9 @$ A% d% D1 h9 s0 @$ \
    2/10/98; y# O) G7 {1 p4 P( ?1 l
        - In previous versions, Pmin/Pmax constraints are relaxed by 1.0e-6* r9 K. L; }9 @2 l& u
          in opf.m to avoid falsely reporting a binding Pmin/Pmax constraint; d2 h: ~9 p8 y# ]; [# Y
          in a case where a piece-wise linear cost function has a corner  Z8 L) j! N, G+ ]& a
          point exactly at the limit. Changed the amount of relaxation to0 Q4 l( ^8 {1 f! w. ^
          1.0e-4 since the problem still occurred at times.& Y: z& H+ M2 |1 C5 F% }
    1/29/98
    4 e" S( l3 m  }) q    - Changed the value of LPC_MAX_IT from 1000 to 400 to allow for- N. @3 {4 j$ `0 g, h: J
          earlier detection of infeasible OPF./ B. l, R' y( K1 [( Z0 F. E. \
    Changes since 1.0.1
    5 @3 _; a! C. t! }' {/ E4 S-------------------. }* @3 m' B  Y: S9 f- W8 T3 U8 |6 j' E
    12/24/977 k  F+ C: `8 g. Q3 s
        - Released version 2.0.
    3 M4 w2 k" ]8 ^4 v! K# @12/19/97  U9 S1 c5 g5 Z1 k' g/ n
        - Fixed ambiguity in case file data and comments regarding lines  [5 S4 b* C1 M- V) o! R
          vs. transformers. Now a tap ratio of zero means that it's a line* h4 Z1 w: ?) Z1 J; X
          and a non-zero tap ratio means that it's a transformer.. n* o& d0 _! ?+ ^# @. d5 Y
        - Optimized formation of Ybus (and hence B matrices).9 P6 a7 h) X3 I9 y& k9 i
    12/18/97
    ) a8 h/ l; t$ i, {, c  |    - Implemented fast decoupled load flow.) P! s- }& _  g# u: p  C- m# J& k
    12/17/97- v& G9 a, [/ `) @
        - Optimized formation of Jacobian matrix in newtonpf.m (significant5 e7 R. {; `: u( W
          improvement for large systems under Matlab 5).
    0 H: _7 V7 }: l   
    % S. e5 L( Q& S* X; }; y5 V12/16/97+ |3 t+ ^. _0 K
        - Fixed another bug in calculation of losses. Previous versions6 A, F8 A# R$ f) Z# f: G( e
          did not take into account off-nominal taps for transformers.
    3 ~1 `. B6 m" c9 J    - Fixed a bug in calculation of losses. Previous versions; E0 h% d! n- I: q: `; y
          included line charging injection in reactive line losses.& K8 D6 h; _8 `4 k3 Q9 B
        - Added ability to optionally return solution data from
    6 s! K7 }/ P+ a9 v3 l      run*.m functions.
    2 j6 a! _* @; B+ }; O    - Added ability to optionally print results to a file.
    5 s0 _8 a" R6 `  ^    - Added system and area summaries to printpf and modified to
    # H0 ]( g' Y( g$ R+ K) \* I- ?      handle the new printing options.9 Z8 d  |4 T# N) W9 f
    12/12/977 F+ O2 M. O  L, y# E6 L. ?% b! c
        - Consolidated printing into printpf.m, eliminated printopf.m.
    $ B! C- \6 T% Q    - Removed QCCV method (standard formulation solves same problem,
    - ?! c3 z" F. g& \      but more efficiently).
    / Z6 S, n$ Q* Y3 k' p6 |5 i    - Removed OPF algorithms which use fixed generator voltages, A& z) g. _& b! g+ t( N9 o
          (this can still be done by changing voltage limits in the3 P! m# q7 C8 n
          case file), renumbered OPF algorithms, removed CCV.m and
    8 ~$ Z4 I$ [3 j( v( g  X: Q      varVg.m.8 G3 i$ {9 w- o: g
    12/11/97
    ' C2 j1 c  U" e$ I    - Added 2 more levels of control of verbose output.( Y& U1 {1 N* [
        - Put all MATPOWER options into an options vector defined in
      t7 @% s3 m7 K4 s, b# e5 I0 @: @      mpoption.m.% q" s: _: f% q7 _5 @0 q: j
    12/10/97
    4 T% |6 j; ^" ]3 o- E! a    - Incorporated new LP-based OPF routines and updated alg codes.9 ^- C$ u' D4 L, v+ {" |
        - Fixed a bug in the documentation in the case files regarding
    ; d1 [! ~7 E- n8 d      the 4th column of gencost. For piece-wise linear cost functions
    ' G; l- H7 S. o2 H/ i7 ^      this value is the number of data points, not the number of5 {7 b( W4 ~) e1 D# X& ~- W; a0 v
          parameters (x and y for each point).
    $ K5 o$ p% r& `2 M9 l7 C+ E6 Y    - Removed some m-files that are not used (usesOT.m, usesLP.m).
    ! l% }# F& x) C2 `; U! M    - Renamed some m-files (OTfungra.m to fg_names.m, OTSfun.m to2 L8 `5 G( N' u0 d" J# f% g
          fun_std.m, OTgra.m to grad_std.m, OTCCVfun.m to fun_ccv.m,- }7 T2 {7 D7 P6 x9 P2 o
          OTCCVgra.m to grad_ccv.m).
    % f0 P8 N+ w% a) k12/8/97" z3 r2 I  m" {
        - Rewrote uopf.m to use a smarter decommitment strategy (see the
    - m2 z: a3 R; m! q+ x      docs for the details of the new method). Removed ref, pv, pq
    + E4 Z" N% |/ K; e$ z3 d" B3 X1 R      from the list of parameters passed in, since they were not used./ @5 @2 w" W" {. x) K7 ^
    11/19/97
    4 s0 Q$ F, b: [1 L( g% S    - Fixed a bug in previous versions of uopf.m which returned" D& K, a$ m" m/ E5 N
          incorrect values for Pmin.
    % f3 S4 a. g* z( s: L- w- c10/28/97
    4 u# S) r/ L2 W1 a9 w- S9 r# Q; r    - Increased maximum number of iterations for constr-based OPF.# j, Z! Q$ C3 U2 W/ G  ?& d* P
    10/24/97
    ) u  n: k; v. \# b    - Fixed a bug in previous versions which may result in incorrectly
    & n  f! W% S( Z8 O" y      reporting Pmin or Pmax limits to be binding, possibly with large: y9 ^) O# L, M( V4 q8 T$ b
          multipliers, if the piece-wise linear cost function has a corner7 c( i' Z. T: s7 q
          point exactly at Pmin or Pmax.: D; i( n( C7 e: T% K" X
    10/22/97
    0 ], f3 H' O0 y- \# |" ]8 P    - Added to OTSgra.m (renamed to grad_std.m in 2.0) the ability/ m, T# ?3 |8 g* i, M- ]6 P
          to return the second derivatives of the objective function.
    ; }2 M- ^' i2 q: S* K- Q( k9/24/97
    ) ~5 V' @$ L' z9 a9 M: P    - Fixed a bug in previous versions of runuopf.m which prevented it
    ' F9 p# Q- J- d5 Q, H8 W/ Q      from printing out the raw data needed for our Perl DB interface.
    , Q7 L$ O( i  D6 K9/23/97
    % {* n* {& H. `: d: x7 f) ^! F    - Fixed a bug in 1.1b1 in OTCCVgra.m (renamed to grad_ccv.m in 2.0)7 j' _- ^0 n5 j$ g
          which caused printing of warning message "Concatenation involves& {/ D  K5 f: B7 @& y  W6 ]
          an incommensurate empty array" under Matlab 5./ o, k1 _+ O1 l5 ^8 E3 p& |
    9/22/97
    7 Q% l* a: V2 Z- Q6 p    - Fixed a bug in 1.1b1 which prevented runuopf.m from running at all.
    4 b5 O. m: _4 t/ e# @8 T/ ^      Wrong number of parameters to call opf.m.
      e- g3 c" i" D0 {2 ~# ~5 z, ^9/20/97; ]  a% V* ^+ U& f" E
        - Released version 1.1b1.7 G  I6 A+ K# Q# @1 _, R
    9/19/97& L6 @! o3 L) ^# o1 Z2 [/ ~
        - Modified the formulation of the OT-based OPF. The objective
    ' H  y% D) ^1 g& _# I7 R      function may now include costs for reactive power as well as
    : ?2 O3 u. \0 p% v1 r7 e' n# u      active power. In previous versions the reactive power variables* f% u7 M0 w6 {  N1 c" V0 C
          and reactive power balance equations for generator buses were
    * \3 P$ g* N6 l5 n0 D% H      not included explicitly in the optimization as variables and
    . q& A6 O% Y5 X" h; C* g      equality constraints. Generator reactive powers were computed
    ' c; g" c9 q4 A; b      directly. Now they are included explicitly in the optimization.2 f9 x! A! x( e( p! m9 q
          Costs for Qg are specified in extra rows int gencost.& p- m+ b. _* L

    * s$ e+ ]' T" a3 D- yChanges since 1.0
    ' y, [$ I  I0 H  I8 l-----------------
    4 |9 g) w0 W1 Q# M+ r! x- D9/20/97+ a1 g$ q" h! e9 \. T1 j
        - Released version 1.0.1.* Y( Q; g* d( t' o* e" B2 B% J
    9/19/97
    " \0 S/ |& M' _, _. _; ^    - Fixed a bug in 1.0 OTSgra.m and OTCCVgra.m (renamed to5 u0 M3 A; d6 v4 m
          grad_std and grad_ccv.m, respectively, in 2.0).m which used/ ?4 F- ?3 F2 T4 |4 g: R
          incorrect coefficients to compute cost if specified as
    ( j; r2 N; S1 E      polynomials of different degrees.
    # p2 t8 l, H* z3 z# C1 _9 i9/18/97
    ( v: T1 A8 S( E    - Fixed a bug in 1.0 in OTopf.m which caused the last equality8 B# h/ h, G" K2 e* E' ?
          constraint (Q mismatch for last pq bus) to be treated as an2 Y1 `1 E; W3 l/ v9 S* [( V
          inequality constraint. It appears that this constraint was# u0 j# W  G  ^3 l# ^
          normally binding (unless Qd was negative) in which case the3 p9 Z" j+ U$ z) j
          solution was still correct.& z" W' n" N( m2 y  P- }& G" t
        - Fixed a bug in 1.0 in runpf.m, initial voltage for generators
    1 g8 c& B* L4 s  t      which were shut down were taken from gen(:, VG) rather4 N1 O' F, _8 B" H# w
          than bus(:, VM).+ p$ m; S+ F$ F: q+ r7 b3 m8 k
        - Fixed a bug in 1.0 in varVg.m which caused Kuhn-Tucker
      ~$ d+ V" A0 j0 l2 V- }      multipliers to print out in the wrong place for LP-based OPF.
    7 L! I% p6 H! E! p+ \# A, P! K- S2 }% }" K( K
    Changes since 6/25/97 Version: N& r# l& j+ |9 B
    -----------------------------7 k6 f' R1 F8 m( X4 o: }6 q6 `7 i
    9/17/97! M( S: G# H+ s- `& k: x! J0 m
        - Released version 1.0 (first widely publicized release).
    , z& |% N  s- V( I+ M. D    - added placeholders for LP-solvers that we can't re-distribute
    0 A" d0 s/ u2 M/ k    - updated documentation1 z3 T8 c0 V# |7 v' |, }+ C9 j
    9/12/97
    ) ^' a4 f% b/ h6 W8 n3 {8 }" D    - added ability to do pretty & ugly printing at the same time
    8 r- E7 ?7 a% y# g; i. s7 e      also documented that ugly printing is for talking to our
    : j6 v/ T/ G8 _  W0 J3 Y      our Perl database interface code* |9 l. Q0 l, k& |  z8 O
        - included Deqiang (David) Gan's LP IEEE -> matpower data. w! z- W; G; Z
          conversion code
    / h) }3 @5 h1 A8 g    - included Deqiang (David) Gan's LP based opf code
      L4 K& W% s+ n) H2 w  t! y    - fixed LAM_Q bug, now computes correctly for generator buses
    / h/ b+ d, m% c$ Y    - fixed some bugs in totcost.m
    6 S6 t/ o7 x6 R% J. l9/9/97
    0 y6 d  j& m; t9 R& @- b4 U    - removed PRICE from idx_gen; p4 [8 B1 p+ y+ g4 M% \: ~$ {
    9/4/97
    ' r& K# T; T" m0 T    - added code to convert from (possibly non-consecutive) external
    $ H* a) ]2 t2 b1 I6 z5 S% S! k+ L" T      bus numbering to consecutive internal bus numbering before
    3 L* }& @# F' H      solving, and back to external before printing results
    : Q" B$ _) {/ p0 _' S/ W    - replaced test*pf with run*pf which are now functions: b) L, y$ e# \1 m: M
          taking the casefile name as a parameter (among other params)5 y5 i/ h/ b8 E
        - made changes necessary to handle new format of case file$ Y" t1 O) E2 {0 P3 X5 i5 Q; U
          (generator costs moved to gencost variable)3 {0 k' R; G/ D/ ]% g! B% N
    ( G+ L! Z' ]7 f" g7 ~! ]
    Changes since I started keeping track
    ; G  S! n; S' P3 P-------------------------------------. A" ~% `0 K- L9 H# X
    6/25/97% T1 W; p! t: M, D. F
        - made first public release (not widely publicized)
    $ B+ Y& F7 [+ q' X* _    - documentation updates% K0 [. p7 b- W2 Q  l8 A
        - changed names of m-files to fit DOS 8.3 limitation
      H  f$ L. B$ `        buildsbus.m     =>  makeSbus.m
    + [% n; R5 `$ J' m) S5 T        buildybus.m     =>  makeYbus.m
    & P7 Z0 a5 x- A: J1 m) P        idx_branch.m    =>  idx_brch.m
    ! b7 @, L. w/ `$ M        dSbranch_dV.m   =>  dSbr_dV.m; b1 @4 V  o, P6 r
            dAbranch_dV.m   =>  dAbr_dV.m" R6 l2 c# Q0 G0 A% z( [
            ucopfsoln.m     =>  uopfsoln.m
    . B2 T/ L/ F9 s/ U. @! p4 E" f0 l        testucopf.m     =>  testuopf.m
    ; b  l8 P& U( [6 I) h/ G        ucopf.m         =>  uopf.m  (for naming consistency)3 }0 L" X& O, u$ v/ U6 p% \
        - changed copyright notice
    9 T* C. z: s' X2 s8 F6/18/97- {5 M/ K8 p9 L3 B1 R) g
        - modified ucopf.m to allow a generator to be turned back on if
    3 K  Y$ c% b& u7 z6 q" _      shutting it off results in an infeasible (or at least
    3 A- d) y1 P( u) r% n6 [/ i* u      non-convergent) OPF, also changed the order of shutting down* i. P, l& D: h3 m7 V7 w
          generators which are dispatched at zero, now chooses one with
    7 c9 s1 k- |! W      largest mu_Pmin     
    3 `* J% s% \5 c% f5 C- G3 I6/12/979 K! ^  p. t# X1 E! L
        - fixed bug in printpf.m so it doesn't print PG & QG for gens that
    7 t6 |+ P6 A# T  g      have been shut down* [* Y7 Z! F& ^# \
        - fixed bug in pfsoln.m to correctly compute the reference bus power
      E% W# U/ k- q. B      injection when generators have been shut down
    6 L/ m0 P; t* I; o6/10/97- a8 y5 }1 g( j1 u0 ^$ X
        - fixed Vg initialization bug in testpf.m (not just testopf, etc)! {+ Z7 {+ q" a8 s+ T) c7 g
    6/9/97/ Z( f0 v. N+ C8 W* V3 |% `
        - fixed bug in PLCCV versions which set the initial values of the
    2 A1 @( a! w% N      cost variables wrong (used p.u. Pg instead of actual)
    9 x; b2 z) D0 E7 Y# y- w. a+ f    - made opfsoln.m copy generator voltages back to gen(:, VG)8 I9 L" K: H1 s9 U4 B) w
        - fixed bug in code which initializes generator voltages, it was6 ^3 }- ?; r( R; p; B
          always setting the angle to zero, now it uses the value from the
    + M( \, O2 N, [8 ~& y      case file
    2 p0 M( e" i* H- {+ [9 P9 Q6/3/97
    / ]2 `/ Y2 E& _: }& ~    - included opf variations which use cost variables constrained
    2 P9 K$ F! m: B      by a piece-wise linear cost function (PLCCV = piece-wise linearly& W/ F9 A4 ]. ^# Q. p; q+ ~7 Q2 Z4 B
          constrained cost variables)5 r1 _4 F- f  Z: Q3 y- r) [
    6/2/97
    7 @/ ]7 y5 N3 r+ f( r- g    - included opf variations which use cost variables constrained. b7 C1 o1 A. Y* O
          by a quadratic cost function (QCCV = quadratically constrained
    # M: s. q2 I+ c# F      cost variables)
    * S0 F* H5 \8 f- o1 w    - included opf variation which allows generator voltage
    - K5 d, t, s, s! E      magnitudes to vary
    ( \1 O( N7 B, |2 B    - fixed line in test*pf.m scripts which initializes V0 (I'd missed) y% N# S) O0 m" z8 _2 P4 f3 W1 w
          the sqrt(-1) before
    " V$ L5 @' n* t' b* L4/16/97* Z+ h8 x) c( t1 p
        - changed line 59 of ucopf.m from "return" to "break" to ensure
    ! Q0 H/ Y! i1 f6 S( s( M, \      return values are correct
    5 F9 C# `3 }/ o& c3 k& p3 _- O4/14/97& D; ]1 b3 M6 K  X2 j, J7 N
        - added some print statements to ucopf.m
    . N' S) r" J2 |8 |1 Z# n7 z  U4/12/97
    " G4 A/ n( k, _( x3 y5 v5 J    - reduced max iterations to 100 for constr in opf.m
    6 A$ P7 |5 F. |* P. E1 k$ b. g; ]* d; L4/8/97; [/ C" z% F( e0 y" s. Z
        - modified opf.m, ucopf.m, testopf.m, testucopf.m to include
      f0 ^3 i( V; `      "success", a variable which indicates whether opf was solved
    ' M1 r* s- G) x' H) U      successfully or not6 P5 C7 R7 e/ i: n1 Y3 |5 A2 X
    4/7/97
    . t! Y2 Y2 I* y' K0 S: V, K    - fixed bug in ucopf.m, assumed all generators are initially
    , f- G0 j( @+ }6 l) }. M1 s. d/ ^      available

    matpower3.1b2.zip

    1.74 MB, 下载次数: 26, 下载积分: 威望 -2 点, 学分 -5 点

    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    楼主热帖
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

    该用户从未签到

    尚未签到

    发表于 2007-3-20 16:33:32 | 显示全部楼层
    我也有一个
    , {) Y- c8 i3 ]) j不过版本好像没有楼主这么新: X$ K- g. P- N# n) n7 k2 i
    支持一下
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

    该用户从未签到

    尚未签到

    发表于 2007-3-20 18:42:21 | 显示全部楼层
    好东东啊。
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

    该用户从未签到

    尚未签到

    发表于 2007-5-5 22:49:08 | 显示全部楼层
    请大侠帮个忙
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

    该用户从未签到

    尚未签到

    发表于 2007-5-7 15:55:15 | 显示全部楼层
    请大侠帮个忙请大侠帮个忙
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    愤怒
    2016-4-4 09:34
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    累计签到:1 天
    连续签到:1 天
     楼主| 发表于 2007-5-16 18:53:01 | 显示全部楼层
    ??????
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    开心
    2018-9-24 01:05
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    累计签到:4 天
    连续签到:1 天
    发表于 2007-5-22 20:20:26 | 显示全部楼层
    还是不知道这是个什么东西,但相信很有用.
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

    该用户从未签到

    尚未签到

    发表于 2007-6-6 22:22:22 | 显示全部楼层
    顶!!!!!!!!!!!!!
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

    该用户从未签到

    尚未签到

    发表于 2010-5-12 10:57:08 | 显示全部楼层
    应该很有用
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

    该用户从未签到

    尚未签到

    发表于 2010-6-15 15:36:20 | 显示全部楼层
    回复 1# cumthk
    , _/ I8 H: Z2 A+ x* d# m7 L, R" v. Y; [
    4 h2 i/ ]8 r) y9 r
        下载试试,呵呵
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
    您需要登录后才可以回帖 登录 | 立即加入

    本版积分规则

    招聘斑竹

    小黑屋|手机版|APP下载(beta)|Archiver|电力研学网 ( 赣ICP备12000811号-1|赣公网安备36040302000210号 )|网站地图

    GMT+8, 2026-3-18 07:20

    Powered by Discuz! X3.5 Licensed

    © 2001-2025 Discuz! Team.

    快速回复 返回顶部 返回列表