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

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

matpower3.1b2

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

    连续签到: 1 天

    [LV.1]初来乍到

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

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

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

    ×
    -----------------------------  b( ]7 o9 D. Y1 ]- `
    Change history for MATPOWER
      R  h; q, s, S' N-----------------------------1 g! D) R/ U! o( y
    Version:    3.1b2
    - N  k( V" c# p6 S7 N) |% }, |: kmaintained by Ray Zimmerman <rz10@cornell.edu>8 C2 [4 j$ N3 k3 @7 O% j6 t
    MATPOWER8 ]: K( l- `' |/ e9 u
    $Id: CHANGES.txt,v 1.27 2006/09/14 18:20:40 ray Exp $! y/ G! k* E" K$ r1 j
    Copyright (c) 1996-2006 by Power System Engineering Research Center (PSERC)
    0 Q! d, D; |4 aSee http://www.pserc.cornell.edu/matpower/ for more info.
    7 ?1 [8 g$ C# a
    7 I1 s6 r. a4 X! O% g: `9 m- @0 {Changes since 3.1b1! p% P+ s* G/ q# S. L% D- B
    -------------------! ^% @* k" g/ ^
    9/15/069 e+ r# o* }; K4 J. _0 z3 h/ T/ E
        - Released version 3.1b2.
    * r1 c( r$ S5 ^8 {; M: {2 ~9/12/06  t" Q/ |" b  J# Z4 `
        - Added makePDFT.m which builds the DC PTDF matrix for a specified
    ( E  q) v( b, L4 H, H, K6 i1 Q' x      slack distribution.  O0 j' ~" p8 l) A) w
    8/16/06
    ; {/ d% Q9 c0 B+ t    - Added optional outputs xr, pimul to fmincopf and opf.m to make them: n0 n, N; z4 D/ s. E3 {
          fully interchangeable with mopf.m.( a# q' @6 [! m7 Y& o- y1 @. F* d4 b  Z
    8/15/06( {; D+ ]/ `+ e# R
        - Added branch angle difference constraints to general OPF formulation
    1 g/ R( u- O5 |- {2 N0 E& u7 Q" ?4 Z      in fmincopf.m (and mopf.m).
    % Z3 G( O2 Y+ g    - Fixed (invisible) bug with multipliers of lower bounded linear
    2 O+ x8 M. j8 x+ @2 k  P! L      constraints in fmincopf.m.% k: g) }9 C. o1 F2 Q

    ( S1 e/ r6 C( Y& O2 ]2 i6 AChanges since 3.0.05 q9 A6 y+ ~! O% o5 l' s) |
    -------------------- M  q7 v' @: x  k0 O
    8/1/06
    $ x3 U2 Y, E5 L! d% _0 D& g/ m    - Released version 3.1b1.& v2 z0 h* C3 u: q9 _4 W
    4/28/06
    0 j9 i$ V1 M* V) I3 c    - Fixed mpver.m so it will properly handle case where the Optimization
    1 [" f7 a0 r5 O% E' }      Toolbox is not installed./ Y) n: l+ X! P, u9 L' f- `7 d- w' H
    3/15/06" S) t/ y" Q+ H7 N; ?% E
        - INCOMPATIBLE CHANGE: Updated opf.m, fmincopf.m, costfmin.m, consfmin.m to0 D& @* a  I4 n2 F5 t  J
          be able to be compatible with latest MINOPF. User supplied A matrix for$ S* A, `3 o7 {) ^
          general linear constraints no longer includes columns for y variables5 y, V  O! q, |3 L4 w
          (helper vars for piecewise linear gen costs), and now requires columns
    , [: D9 F" I% B, D      for all x (OPF) variables. Added generalized cost model and generator PQ6 N: e! x& A- A# J7 }
          capability curves.
    3 E, G% B+ x/ M' g" p) e    - Modified savecase.m to always save MAT files with -V6 under newer MATLAB
    & r6 g+ U  x8 T) }7 S$ x9 @      versions.
    $ @% J4 Y% c! L    - Added a number of tests to t_opf.m for MINOPF and fmincopf for generalized
    1 G2 c+ K* w9 B8 D7 ]! q* D7 U      costs and additional linear constraints. Added test for fmincopf for
    9 C! F0 n% V+ c5 D& e      generator PQ capability curves./ W& F3 n7 l8 m2 V2 t
    3/10/06
      y  r3 V  _" j- b9 ?    - Added baseKV data to case118.m from PSAP file
    ' ?- B5 ]- U; M4 t& h5 `& f      <http://www.ee.washington.edu/research/pstca/pf118/ieee118psp.txt>.
    * p8 {6 L# g' k- n3/8/06% X5 I8 h8 r+ M! _$ F7 F/ Z% p, r  ]
       - Renamed col 5 of gencost from N to NCOST everywhere.
    * ]4 Z$ V' G- x* H) s7 U10/14/05# y0 r0 v" C" t/ P9 k. q
        - Updated version 2 case file format to modify generator PQ capability
    * S6 h, r3 k% l2 J2 |8 k      curve specifications.
    6 z* j1 G6 e' s2 b) B# a% |    - Added hasPQcap.m and test for gen PQ capability curve in OPF.
    4 f5 q( Z' H1 P' h" }  e: y- u8/22/05
    8 J$ S4 r0 w$ g" {    - Added OPF_IGNORE_ANG_LIM option to mpoption.m.
    ) C2 c9 v- T2 k" b$ H$ L8/5/05
    8 }" G# ]9 s  O4 w. M& Y    - Modified identification of binding constraints in printpf.m. A! D8 p4 T1 X1 o) q1 o# s7 T& j
          constraint is now considered to be binding if the tolerance is less6 F% E/ q, ^6 R  u
          than or equal to OPF_VIOLATION tolerance -OR- if the corresponding5 J0 u2 N, t( |/ B$ G
          Kuhn-Tucker multiplier is non-zero. This allows binding generator
    4 L, [$ p- J" u) m4 |7 f3 j      capability curves to be reported via multipliers on Pg and Qg limits.
    + P4 q4 N& F- P3 L7/8/05
    " L: w' b9 e- i' V9 c1 U2 r% R4 X8 D" @    - Updated loadcase.m, savecase.m, idx_bus.m, idx_gen.m, caseformat.m0 {* [. J" `9 T4 P
          and tests for version 2 case file format, which includes piece-wise
    & \1 {4 W/ e3 `( B7 J      linear generator capability curves, generator ramp rates and branch* C8 ~9 @  e% U* f2 m
          angle difference limits.& S' {% }  ?/ y0 T* }
       
    ; I+ i8 _. g  R! _Changes since 3.0b4
    9 c- x( ^' C" \" _-------------------
    ( [3 a# j- L. e0 F/ V) x5 G8 H* O2/14/05
    8 L8 a! f4 v8 q" k9 k7 ?  {    - Released version 3.0.0.
    * S  w! E/ a9 j8 J6 d9 Z7 @/ ]2/3/05: Z. H' u5 |  r  ?* Q
        - In mp_lp.m and mp_qp.m, on Windows it now makes sure BPMPD_MEX is not
    5 n& O- F0 Y$ {  r; u      called in verbose mode which causes a Matlab crash." k$ Z# q8 q# |7 N/ }; V/ w

    ! @# X4 q8 D' DChanges since 3.0b37 B$ @$ [$ f( T7 Z* f! J5 ^
    -------------------* P4 f, e6 f1 B8 \4 p- D  E) L
    1/28/05
    9 e" Q4 R' m" y! A3 q* V4 K0 j    - Released version 3.0b4.
    3 w4 d  X1 b" e5 `* ?1/27/055 w& ~0 a" h  @6 F- r
        - Added case6ww.m and case4gs.m.6 O6 U. A$ z' D0 ]
        - Minor modifications to printpf.m to handle larger bus numbers.3 i. f) G& [& X$ T. s2 Q. K
    1/26/05( ?3 w2 D& Y1 Z
        - Minor changes to uopf.m to make sure it plays nicely with dispatchable
    7 z* W, d( h7 a      loads.
    / R  j6 U+ Y* U# _3 B  G* @1/25/05
    8 `& P5 l; M2 `; z* X    - Major updates to user manual.1 U' v8 G# G$ L  _( }" Q- E" a
    1/24/05
    ' @, z  w0 _( F3 Y0 t) F: g) o    - Switched to using the new isload() to check for dispatchable load.
    0 v, ~' V& V' D* t1 {0 H) K8 f! o    - For dispatchable loads, switched from using PG and QG to PMIN and either; K6 P4 @0 M# S5 P
          QMIN (for inductive loads) or QMAX (for capacitive loads) to define the7 F# e6 L$ @7 U6 }0 Q
          constant power factor constraint. This prevents the power factor0 J6 E4 R$ D5 r/ T5 f2 G4 o, W( G! z
          information from being lost when it is dispatched to zero. If the initial: D2 m8 R8 \$ p' r2 F" Z
          values of PG and QG are not consistent with the ratio defined by PMIN+ N# v! w" C3 z) C  a8 V
          and the appropriate Q limit it gives an error. This is to prevent a user
    2 v/ `! t  l" I8 V+ U      from unknowingly using a case file which would have defined a different2 ?' |# |! H4 Y
          power factor constraint under previous versions of MATPOWER.9 R, W& B8 S) ~5 W
          If both QMIN and QMAX are zero, it no longer includes the redundant1 W6 V+ l9 S6 ?2 c
          unity power factor constraint.4 O0 ]) z+ F8 g4 f  c
    1/20/05
    ! m' o3 f, c( m) A, t: r    - Updated printpf.m to display dispatchable loads and generators
    ; V$ Q" ~+ w; n' y$ N8 N$ _- C/ Y      separately. Reorganized the area summary section and corrected the net) x/ L2 W; l( Y) ?
          exports value (subtracted half of tie-line loss) to make the numbers6 q5 B3 c7 d1 T/ }& ~- O6 _" B
          add up correctly.
    8 }3 K6 ]' @1 f6 o; x1/18/05
      e! ]! q' z" D, P( V! M    - Added to runpf.m the ability to enforce generator reactive power limits# E# D6 @" V' [/ j" Z- r2 |
          by allowing the voltage to deviate from the set-point. This option is" `# h7 }2 {/ n4 w  z' V1 q
          controlled by the new ENFORCE_Q_LIMS option, which is off by default.& e4 i  e5 u5 k/ Y! {+ `
              (Thanks to Mu Lin of Lincoln University, New Zealand
    8 }* v3 f& S# ]           whose contributions inspired this feature).2 @) F+ h3 H8 C% s& ]# t  B" T. t
        - Modified pfsoln.m to divide reactive power dispatch between multiple9 W6 M2 S+ p# n- W! E" e
          generators at a bus in proportion to each gen's reactive power range,& D: ^5 F5 K% c8 b
          as opposed to equally. This means that all generators at a bus will
    ! u" J4 u2 m. ]& f      reach their upper (or lower) limits simultaneously.
    6 ^/ D5 `9 R& c: a    - Added generator status column to generator section of printpf.m output.
    7 N; ]; u$ L( H( T5 Y7 O! a      Fixed bugs where non-zero output of decommitted generators was displayed% w4 n0 v! e2 q' r. f
          and included in generation totals in generator and bus sections.
    ; ?. U6 H, N( R1 L% F1/14/05/ U5 D3 c; d/ q5 U
        - Moved some setting of MNS_* default options from opf.m to mopf.m.- ~% a2 z( ^4 t3 p$ R
        - Eliminated unused output args in dcopf.m.! Z# W# }; h6 ~# h" b- x$ H7 v) s
        - Modified printpf.m to zero out reactive generator output for DC cases' m1 n% o6 @6 }$ d% S" g
          and to use OPF_VIOLATION tolerance to detect binding constraints, as
    - x! u% G$ m, S1 x% N) {1 ~: c( }" b      opposed to non-zero Kuhn-Tucker multipliers.4 n+ A6 d" X4 J/ z" Q( S$ h3 [. w7 K
    1/12/05
    & ^; v/ ?" V/ i4 @: v    - Modified bpmpd portion of mp_qp.m and mp_lp.m to use default value for
    6 R+ s4 O& i4 W6 c      TFEAS2 and eliminate variable limits which appear to be artificial
    " ~. F' d7 C  h8 }4 o1 U- f      large values used to indicate free variables.
    1 b- z! s& T- L) s  D1/4/05* Y9 @1 O' r  r' o/ L1 N3 t
        - Fixed potential bug in dimensions of Yf and Yt created in makeYbus.m.
    * ~( i" ^, B4 b, ~12/17/04
    9 S& i7 H: b# T( U7 u2 }% y- |    - Added feasibility check to mp_lp.m and mp_qp.m to work around a
    4 a3 p+ {! b9 L8 S- \7 }3 ]      recently discovered bug in BPMPD_MEX 2.21 where it sometimes returns an$ v; ~( S' J  W6 I; k
          incorrect (infeasible) solution for a DC OPF problem. This bug has yet. X; G* t! z) B! r5 ], w
          to be encountered in any other context.
    ( r$ z, Z& ^- V0 _, {5 W$ T12/13/04
    6 W+ C% D9 D3 l9 S- c    - Added mpver.m to print version information.
    / Q& X; T- P6 {/ d" O9 n- F9/23/045 G  g+ q' B1 U3 m
        - Fixed bugs in cdf2matp.m which prevented it from working at all
    . ?  S* i+ Y  v& ]3 M4 m5 E- A      when not specifying both input parameters and caused it to
    + {" m: d4 F% i' }$ v2 _9 l      sometimes not add the warnings at the end of the file.
    3 l2 R+ E& Y5 l    - Fixed typo in name of lower bound input argument in opf.m. Only  s3 a- w& L* [
          affected those calling opf directly with extra linear constraints.
    % b# G5 O' z4 _" M. D' e' r" r/ {. D+ g2 U7 b! |  f
    Changes since 3.0b2' j& S& [7 W* q' u& J
    -------------------
    , ]- j7 z$ B: y8 `  S9/20/04) V  }5 U; p7 X, M) K! ^
        - Released version 3.0b3.
    9 y  }, ^6 d, x    - Generated clean versions of all included case files using latest; \! ^- j7 Y' u0 k4 G! F; |
          cdf2matp and savecase. Added documentation for source of data: H; N' u' Y' d2 M; w; G4 C; I
          for case files.
    9 `8 _9 G0 s% r9 e) u+ A# y    - More enhancements to cdf2matp.m. Adds comments at beginning, appends# ?1 _* J; g+ |! o9 O0 h; H
          conversion warnings as comments at end of file. Uses savecase.m to* i; K( j" J7 S( Y: m
          save the data.
    2 D- E9 c. R( q  U    - Updated savecase.m to use %g instead of %f many places, correctly
    , z, k$ z$ n2 e1 @% j6 p8 _! G4 j* x      handle multi-line comments, include headers for extra columns for
    2 q5 H5 `4 ^7 \+ o0 b      solved cases. Optionally returns filename with extension.& ^) a7 r  p6 Y+ _9 ~8 W
    9/17/044 ?. A; M7 G& v
        - Fixed bug in grad_std.m, introduced in 3.0b2, which prevented constr" x2 l0 u1 q7 ^) O
          and LP-based OPF solvers from working for polynomial cost functions.4 X1 f$ S3 r) n* D5 V
    9/15/04
    - u2 k' R; ~% m/ B    - In cdf2matp.m, added input args, updated docs, switched to named8 e$ k0 h* M% J2 P
          indexing of data matrices, new method for creating gen costs.
    * y0 f* U* x7 H- S1 e0 K# P    - Documentation fixes and additions from Pan Wei.! q7 q- O2 ^0 w  q. W

    . {8 W8 Z$ p  K( {8 E, fChanges since 3.0b1- D& E# e* D. T6 @- b4 k3 b
    -------------------4 q8 y/ Q4 ?' t4 h/ y7 @7 n* K
    9/7/048 Y  R& Z. W2 {
        - Released version 3.0b2.! d+ p! ^0 M- x0 |9 D% R
        - Added OPF_P_LINE_LIM option to mpoptions to use active power
    ! L, J4 ?, P% d& ^* |      instead of apparent power for line limits (thanks to Pan Wei
    6 s9 [0 Q9 Z& }      for the suggestion and some code).
    5 a7 R7 V# T+ ]  B2 L4 f$ v! N9/1/04! }0 k4 q6 x+ f6 l; V/ _  u
        - Fixed bug in savecase.m introduced when making areas and gencost" Z# m& S* Y1 u0 V# A; T
          optional.) ~6 m' Q/ K) W, N  E
        - Updated opf_slvr.m with options for MINOS and fmincon.
    5 A4 G) f' G" ^+ d! j; y    - Removed option 15 OPF_NEQ from docs (not a user option). Removed option4 r+ Q* R3 B! D5 Z+ y$ l
          52 VAR_LOAD_PF (unused, always behaves as if this option were 1).  l+ M6 H' p: C0 t/ b  o
          Changed semantics and default value for option 51 SPARSE_QP. By default
    2 u4 s+ ]: A% G      (value = 1) it will use sparse matrices if a sparse QP/LP solver is
      Z, K# m8 {1 Y$ a7 r6 e( z      available and full matrices otherwise. Setting the value to 0! ~9 i& h( G' S; e
          will force it to use full matrices even with a sparse-capable solver.
    . V  V) G, c9 @& x% k    - Cleaned up checking for optional functionality, and fixed a bug* d! g' R5 J+ R1 R- M) K* i+ c& y! w9 |
          that would miss MEX files if there was an identically named directory: |; E4 o" X& p
          by adding have_fcn.m.+ K- `7 }3 T5 \5 ^& P4 _
          6 {# S' B9 C5 P& U
    Changes since 2.04 n2 K1 H* ]; d+ r% Q) o4 ~$ M
    -----------------2 ~3 _/ A: |9 a  W% \1 Y" Y% [
    8/25/04' m2 i2 }. F6 j( j5 l8 Y9 Q
        - Released version 3.0b1.
    6 }1 R6 D# t; V, f; v8 A8 I8/24/04
    % g7 ^$ a, Z( p, n! m    - Made mpoption() throw an error if passed an invalid option name.+ j4 W  N% E% i( |8 j
    8/23/04- Q! s3 ]& w8 u/ {% U+ q
        - Added an fmincon based OPF solver for the generalized formulation
    ' q8 L% f% D; D7 ~) h4 i9 }      previously used by mopf (Carlos).9 l( N- k" x" B4 u
        - Restructured opf.m so all OPF solvers have a similar API based9 h. ?  ]3 q, J6 B3 G- E
          on the one from mopf.m (Carlos).
    9 O, w2 u+ l! f    - Added some quick tests for runpf and runopf for each algorithm.1 p/ o$ Z' x9 r5 \& E* Y! N
    8/13/04
    3 D& S' a- Z# a- X. l# ^    - Renamed 'area' variable to 'areas' to avoid masking the built-in
    0 \& H$ |$ q. {1 T$ d      function of the same name.
    . j* {1 V1 A4 t; k+ ]    - Made OPF data matrices 'areas' and 'gencost' optional for running3 d4 ~, Y5 v; a, H# m7 o
          simple power flow.) ]$ n7 }. Y* t
    7/15/04
    & z5 h! M* w! g1 |7 C* N    - The loadcase function (and therefore all of the run* functions2 S/ W+ h3 _1 O4 [! q0 d& e
          now optionally accept a struct with the data matrices as fields
    # k- d; E! }8 C6 w* A/ W      in place of the case file name.- E' P; u: |% e/ y1 b$ P$ w
        - Added t subdirectory with various tests and testing tools.- u7 T6 o9 ^1 h
    7/8/04
    ; I2 u& V) W$ `) U  b- k) v. f    - Updated mp_lp.m and mp_qp.m to try linprog() and quadprog()
    ! O) ?% J! k* g      after trying bp, since lp() and qp() are no longer included* c2 K/ ^, J; ~! J
          in the Optimization Toolbox as of version 3.
    " w- Q. I3 r6 {4 q- E7/7/04* I+ ?' E. `* f3 q- \9 J
        - Removed case.m, added caseformat.m, made case9.m the default
    ( ~- Z2 L) R0 y# j% J# u      case and fixed function names in other case files to avoid
    ' b1 z2 H; @+ K5 O* K7 I      use of reserved word 'case'.
    * _. A6 c" y3 {- F- d  O5 v    - Fixed bugs in runcomp.m.
    6 O# q  y2 h+ b; Q6 j1 w6/23/04
    + {' E) ~# q% c6 p$ L$ N7 l    - Fixed bug in newtonpf.m which caused algorithm to diverge when
    ( O7 d/ r! \* _& I$ z! f      the Newton step resulted in a negative voltage magnitude.# X6 b6 \+ e4 \* d0 e- y
    4/17/03/ C# T+ E3 V2 L% l) C0 y6 }( f
        - Changed uopf.m to use a dynamic programming approach. More
    8 a% l' g7 |) e) J- u) _" K      computationally expensive, but should find significanly better
    / p* }  }( Q: n7 c- X& _      results when there are many gens to shut down.
    # x' q* D2 Q0 e: w: N2 r    - Added mp_lp.m and mp_qp.m, equivalents to lp.m and qp.m,7 L. G4 M- L$ s7 C+ f8 R
          respectively that call bpmpd if available. Modified LPrelax.m,4 J9 g8 S3 X, y5 Y
          LPsetup.m and dcopf.m to call these new functions.
    ( U, z7 M- a9 l4/14/037 H/ ?+ c& ]. P3 e) T$ M$ i$ h
        - Fixed a bug in pfsoln.m which for cases with a single generator.9 f) A  M. w/ x1 o0 E5 |
    10/23/02
    1 e0 G9 u5 o3 Y4 ~: C% c" `( N    - Fixed bus numbering bug in System Summary section of printpf.m.6 S. O8 j9 e! m* P: _
    6/20/00
    , T) r5 M* J( S7 u6 u    - Fixed a bug in printpf.m in the generator section, where
    9 L: f) b$ w5 ^3 e      the generator was assumed to be off if it's real power4 S4 h# D6 d, J# J- d
          output was zero, even if the reactive output was non-zero.
    5 v: |! Z. V* {    - Modified printpf.m to print out lambdas in generation section& P* y% [  ?6 E, h( w
          for generators that are shut down.
    7 H' T6 s4 P; `) J! @+ X. R; |6/8/00; ~1 G! Z& a8 k/ X# {5 t1 ?% g7 V
        - Modified cdf2matp.m so that Pd also includes any generation at2 n# ?( U/ U6 ?
          buses specified as PQ buses. Also modified identification of
    5 P: `0 S, r2 i      generator buses to include only PV or reference buses. (Thanks
    " r/ \2 @; O1 [& @4 [/ p* i      to Venkat)
    ! ]1 f5 N0 h2 _" s  r& v4 g! T5 Z    - Modified cdf2matp.m so that it always treats the input values
    6 [# T' L8 ^& N  o+ E0 U* o* h      for Gs and Bs as per unit values and converts them to actual: N! z' I4 i1 |2 z8 `5 m2 H
          values expected by MATPOWER (Thanks to D. Devaraj). W, Q4 c& o. n0 }+ C
    version 2.5b30 l7 i" |! ^$ f
    11/9/99
    & ^2 h' J; l/ T) W0 m8 F9/22/99, e0 ~- K  x/ d1 I4 G
        - Modified grad_*.m to return sparse matrices, unless using
    , m/ ]& w/ s/ B% ?/ c      constr.m or an LP/QP solver that doesn't handle sparse; H' N0 ?/ ?% O7 A3 d: f
          matrices. Cleaned up sparse<->full conversions in LPconstr.m,  H9 ~9 R& M4 N% ~1 J
          LPrelax.m, and LPsetup.m.
    $ h2 |5 F0 U* S2 i/ b5 q9/21/991 F- G7 P7 S9 D9 F% L3 R
        - Undid a "bug fix" from 3/6/98 in makeYbus.m which zeros out' D' w1 V* ?) E
          charging capacitance for transformers. Apparently some: @' ^: x% b4 v
          transformer models actually have a non-zero charging parameter
    2 Y- R6 d4 ^7 y- u0 E& K9 p      when using the model used by MATPOWER (ideal transformer in9 K0 ]  y9 A5 m' t$ |
          series with a PI model).
    4 |1 |/ F1 U* L8 Q: V    - Added loadcase.m which loads a MATPOWER case from an M-file
    % m! b" [3 [3 Y4 E+ D% a7 @      or from a MAT-file. Changed all of the run*.m files to use this( v5 f. ]( b: j1 w) V1 `! b
          as the default way to load case files.
    , ~* H. b7 c+ x6 u# L    - Renamed print2mp.m to savecase.m and added the ability to
    ) }2 b- n7 E6 |9 g. Y1 K" U      save a case as a MAT-file as well as an M-file.
    ; ~  x5 B: k; a& g9/15/99! P+ ^4 B, [  q3 ]: T
        - Fixed opf.m so that it correctly uses the termination, C8 V8 L- P6 ~9 B, i3 N. f0 j+ l, V0 u
          tolerances in the MATPOWER options vector for constr.m.
    1 ?. P- |& ?+ \; \6 W: m    - In previous versions, Pmin/Pmax constraints are relaxed by# i- l; A2 Z9 l) P, C$ X
          10 * OPF_VIOLATION in opf.m to avoid falsely reporting a: a; K, o4 e! A6 ]
          binding Pmin/Pmax constraint in a case where a piece-wise linear$ j$ M, x4 F* X" T$ X/ d. _
          cost function has a corner point exactly at the limit. This- f% o  g% n& V/ _5 l0 \% B
          code was moved out of opf.m (and the standard MATPOWER. t' P3 @4 l- L8 ?3 C
          distribution) to smartmkt.m and the value was changed to0 n1 ?7 I: Y* |2 M& {
          100 * OPF_VIOLATION.7 r/ {) s; h( M+ k
        - Modified opf.m so the MINOS-based solver uses OPF_VIOLATION
    % `0 ^, z/ f* w/ F      to set the value of MNS_FEASTOL and MNS_ROWTOL if they are
    6 n2 m. S# ~2 a3 r      set to zero.3 b& T. q: y: [5 Z# g
    9/9/994 }) X6 h% T) n! T3 @0 `3 r
        - Included MINOS-based OPF with all of its options as5 o3 c" o3 l9 E- b0 d/ I1 A
          algorithm 500. (involved including 'area' in calls to opf.m: M: T$ q7 |- x( k
          and uopf.m)- q; ?* A! j; Y" }: Y# b" F1 v1 w4 }* E
        - Removed some unused lines from fun_ccv.m and grad_ccv.m.  U. k% m. x6 F8 p" `# z8 Z
    8/5/991 z' `& o: a2 Z6 I
        - Fixed a bug in the pfsoln.m in the distribution of Q among
    . L* h; T" Y. x, a" f4 u      generators at the same bus. Initially attempted to distribute; W+ B. Y3 b0 J5 S: ^
          Q to generators proportional to each generators' Q "capacity".$ P: a, k8 Y0 y: f6 Y  }* S
          To do this correctly requires special cases for generators
    & d0 t5 T: W) ^% ^6 H# J      with QMIN equal to QMAX. For the sake of simplicity, we now
    : a: i: V# N" D. E      distribute Q equally among all generators at the bus.
    4 c& W. I4 z9 c$ f: x, G. I8 T      Note: As before, the simple power flow does NO feasibility
    5 `  u+ F1 w& X0 R      checking.
    . y, R' H  P/ P- A, Q. ^: {# b7/19/99
    ' N! V- o, o2 Y( n! r    - Modified runuopf.m and uopf.m to handle DC opf. Added the
      G1 h+ |) L" p, Y! e      function runduopf.m which calls runuopf.m with the PF_DC flag, S1 J9 g# m6 z4 Z
          set to 1.- }  Y& X, H5 {5 i
        - Fixed size of 2nd order (all zero) coefficient of objective
    ) e, y- V* t- s3 ]% \      for piecewise linear cost case in dcopf.m.
    . M8 C4 U0 P2 v5 b3 H* F7/16/99! F5 M) Y1 a* R1 e
        - Added the flag QP_SPARSE to mpoption.m to indicate whether the) C( v+ X: K' c5 N6 e$ c0 R! X! ^. z" ^
          QP solver being used can accept sparse matrices. Also modified+ z" F3 W$ Q  L* A) u% k) P# R
          dcopf.m to use this flag./ A: _3 W* N) A- a
        - Fixed handling of VERBOSE option in dcopf.m$ t! z, S0 G8 L( ]6 Z0 C
        - Added the flag PF_DC to mpoption.m to indicate whether the
    * A0 r+ e& T, g9 q. U- {2 x      power flow formulation to be used for power flow and optimal1 t/ L1 j/ l) G) m, |
          power flow is a DC approximation or full AC representation.0 j! l+ U& F$ \' [' h
          Merged rundcpf.m with runpf.m and rundcopf.m with runopf.m% {: X  T' @, Q$ L/ V) a) f; ?+ `
          so that the appropriate solver will be used based on the  U% \0 ^2 h- n% N% S
          value of the PF_DC flag in the options. The functions rundcpf.m( C/ a4 u5 N0 t& g6 R
          and rundcopf.m were modified to simply call runpf.m and
    3 A' ]! S9 S( \  U- g      runopf.m, respectively, with the PF_DC flag set to 1.
    7 B2 Y% H- h2 ~) ?  `) g7/15/99
    # x5 |' q0 b; K/ ?    - Changed the sign of the phase shifters in printpf.m to be
    - ~( M5 }7 {- _% h. w      consistent with the bug fix to makeYbus.m made on 3/6/98.
    / j( s$ u9 H& L% J* J/ b7/14/99
    2 u- p4 Q: Z$ P0 `+ c/ [    - Included four new m-files (makeBdc.m, dcopf.m, rundcpf.m,
    4 y4 x2 O6 I# D, d0 d% I2 Y* `% M( c, m! Z      and rundcopf.m) which implement a DC power flow and DC
    ) j# o; Q6 t# L" y# |% s      optimal power flow algorithms.
    $ o( w) A4 o9 B; ~+ A) [7/13/99% a# W5 G0 ^) [, T- a
        - Cleaned up variable names in makeYbus to avoid confusion.
    7 k  ~$ H5 i% ]# V4 h4 R3 g" G6/10/99. s, |; f, ?2 I- G: }2 ^
        - Changed UOFP to UOPF in print statements uopf.m.
    9 J: j8 x" o2 p: U$ P# g6/3/99
      ^) U; w: s4 Z  i2 Y2 {# ^    - Modified print2mp.m overwrite instead of append to an
    & E- R" `( ~; E3 {2 c  _      existing file./ C3 E: w6 o& z1 t
        - Fixed bug in cdf2matp.m to make it always correctly write( M" W1 e: O' r/ T; f
          a text file output.: m& o1 Y1 Y& `2 h/ u$ h
    version 2.5b2
    ; B. K+ d3 I; b4 m6/2/99
    $ j5 H# i/ o; P1 V% l    - Modified print2mp.m to include line flows and Lagrange
    + l1 P" z6 D+ I' i: m2 d      and Kuhn-Tucker multipliers in output if available.1 n% @. _* M. Y- H
    4/29/99
    4 v% W% Q3 j$ p9 ]    - Included a Gauss-Seidel power flow solver gausspf.m, and+ E0 X" O* Q- u2 b3 ?
          made corresponding changes to runpf.m and mpoption.m.
    ( m5 E( l2 x1 Y$ D: [3 x0 n; _      Code contributed by Alberto Borghetti., ?. }" v3 y6 Y" L5 z
    4/28/99
    2 Y( [& y1 E& k0 Z    - Modified newtonpf.m to handle cases with no PQ buses or no
    5 c& A6 D' J5 Y( S2 z8 N, U      PV buses under newer versions of Matlab.+ K2 _5 n1 _9 |6 @2 g/ w
    2/25/990 J8 c7 x8 ~# l; k
        - Fixed a bug in uopf.m which occurs when two (or more)" n3 B9 }' \8 C1 o" S  H7 n: k+ o
          generators have positive decommitment indices but shutting
    * ~+ H: h5 r. t) [      them down one at a time always results in increased system
    ' V( }" \$ A( P      cost. In this scenario, it would go into an infinite loop' T6 f. _4 N' ^: ~# Y8 s5 }- n
          of attempting to shut them down one by one.6 P. J5 Z0 P4 ?! t
    2/24/99
    & n! Y; m6 J5 s; ~2 Q4 ?    - Modified uopf.m to be able to handle the case where the
    , r0 J0 U7 ]: I/ k1 Z      sum of the Pmin's is greater than the load. It shuts down# X3 @+ ]3 ], S5 A! t4 l
          generators in order of decreasing average cost at Pmin7 ?8 H. G3 ~0 a+ G6 z7 |
          (breaking ties randomly) until this infeasibility is gone.
    2 g1 {* X+ _) \1 F3 T2 v2/16/994 H2 c4 N! {% {. r, @
        - Fixed bug in pfsoln.m which caused crashes in Matlab 5
    0 {# W! f) u( H$ v) x2 O+ M      for systems with no capacitors." o$ Y1 I+ I8 H; [+ g, d# Z0 G
        - Added print2mp.m, which can print out a MATPOWER case file3 ]& l8 L: }& z$ U9 ]7 b
          from the data matrices.
      P6 X; h! t& _6 T! h8 s6 }, A    - Added to run*pf.m ability to save solved case.9 p1 W$ r8 ?4 J: V
    2/10/99- [( H( t% D/ h9 Q; W- L
        - Modified ext2int.m to allow for area matrix to be empty.- i1 e4 P0 o* Z( l9 ?
    12/3/98$ s! {1 M$ D( @  Q2 h3 L- Q- S
        - Changed pfsoln.m so that there is only one slack generator.
    4 Q- q! ^" H2 t% {& {% }& E      Instead of dividing the P between multiple gens at the
    ( \) x5 s5 l! M% R      slack bus in proportion to capacity (this caused problems5 e' N9 u9 b7 y) i& O
          for the LPconstr versions of the OPF), it now treats the! c; e8 g- @5 G. x7 I
          first generator at the slack bus as the only slack generator,
    # h! |) d. ?6 I* X) O9 q0 E      leaving the dispatch of the other gens at the bus unchanged.
    + Z3 V  Y) t" j7 o' K    - Added generator number to generation constraint printout and
    ; V  h" H0 X: o+ @6 p) T+ y0 D% X      branch number to branch data and branch flow limit printouts.
    & a, m6 r! N% a4 E% o/ W; T: S12/2/98
    " w# ^) r2 n; B- t5 u    - Changed printpf.m to print elapsed time and objective fcn# d3 A9 d0 d; P# h- z; u  d+ y
          value even when OUT_SYS_SUM is turned off.
    / ^9 D- M$ n. m: v    - Added code to LPconstr.m to explicitly zero out lambdas for; V5 x2 [1 q1 X% ?6 |5 Y2 {
          non-binding constraints.
    & Q' m; D0 ?5 R& s12/1/987 X2 V5 G  [! a- s0 W, j) [9 B
        - Made modifications to ...
    + w4 J& W5 U4 B2 @        bustypes.m
    . M$ ]! l9 U, ?1 K; H        fun_ccv.m
    # Q& @3 `  ?8 n+ l6 j        fun_std.m0 \: i* j( c  F7 w+ u: O
            grad_ccv.m8 D4 l% l( M- ?) h! B* z
            grad_std.m
    6 S$ n0 D/ \9 P4 c9 @  x4 Z        LPeqslvr.m  w% E, F8 w; d% g& E9 A
            makeSbus.m
    ; O- V7 l6 r4 H# M        opf.m7 O3 d7 g) s' ]3 X" `9 r; J' D$ y
            opfsoln.m
    ! g- Q& x, o+ p        pfsoln.m
    6 o" O) V5 d( A, `* |        printpf.m   
    ' N! L6 d' F0 h. {$ ^        runpf.m
    , m* O6 \4 ~! B2 @7 _, N( c, Z      ... to allow for multiple generators at each bus. For simple
    ; P! n. }# b& Y# s      power flow, the Q dispatch is divided between multiple gens
    ; s0 w7 G6 H7 k6 P6 r# D! O      at a bus in proportion to each gen's Q capacity. Likewise& C7 n7 l3 y2 J  |' g8 b  \
          with P for multiple gens at the slack bus.
      Q8 R5 ?2 I) j* e2 H: [8 K0 b( k. D10/29/982 l9 z" p8 W& j
        - Fixed bug in uopf.m which caused it to crash when attempting
    * N9 A: ?7 ~  x: `& r, I( w      to restart a generator after more than 2 had been shut down.
    - Q, p; g4 `2 R+ ~9 d5 F10/19/98
    % @, V0 G! `3 r0 U! m    - Generalized definition of GEN_STATUS column of gen matrix6 k- b4 a. W- `/ H  ^) @, @
          to allow for distinctions in the status of out-of-service+ j) O. T/ u; G6 C; ]% W
          generators. The default values of 0 => out-of-service and
    0 z! o9 ?0 e3 I; E( d" R      1 => in-service still work, but the logic has been changed; e' R! i( r. {. D2 |
          so that GEN_STATUS > 0 is now in-service and6 X: }6 ?# M2 v% A1 {4 r
          GEN_STATUS <= 0 is now out-of-service, as opposed to
    # J& u9 W# k( @  a4 b+ J5 S' M      GEN_STATUS ~= 0 and GEN_STATUS == 0, respectively, which
    2 V, Q2 W( p; ~      was used previously. This allows for a GEN_STATUS of -1,# @) l  R1 A( D4 U/ ~" _' q# f
          for example, to indicate a generator which is off-line
    + B4 J! Q0 E& a5 k/ T6 g& _$ y      but could be brought on in case of an emergency.
    , {+ L* |8 ^! G) @9/2/98
    ) A% {( r. a+ H" ~6 d* @5 X, U    - Fixed bug in printpf.m which caused area exports to be
    # t. Y4 c# r0 l# z; H" L5 r+ R- y      off slightly.) D2 \/ g" G, k% B$ _
    9/1/98+ t% `* P- R4 F$ H2 R( o7 D) S% J
        - Fixed bug in printpf.m. Total intertie flow was double the# |% M, G( t- M- D
          correct value.$ q8 t4 l! ^$ i
    8/31/98
    ( R8 e6 \) L- u    - Fixed bug which included line flow limits for out-of-service8 J7 m, ~. S2 e
          lines in OPF.& X- r6 T; |8 s1 u+ n9 T
        - Modified pfsoln.m, opfsoln.m, printpf.m to zero out flow on) R2 S% E& [5 a8 g/ t2 A8 w1 N* e
          lines which are out-of-service (found by Ramazan Caglar).. x1 C9 V* ], h" V* n2 |8 O
    7/28/98
    " ]4 g' W/ h* ?: c+ f/ M& u    - Changed VAR and MVAR to VAr and MVAr everywhere in output.
    / r  \) Y8 G( @! R' \; h+ M: J3/13/98
    3 Q2 }. g% ]" L) @$ |6 ?# }    - Decreased the default value of LPC_TOL_X option to increase& f# G" N* m- N' c& A4 G3 j, u
          solution quality.- o) T9 {, t0 a
        - Modified fix of 2/10/98 to use a value based on the value of
    , {* D+ c. t* ], X0 F      the OPF_VIOLATION option.
    . _7 F( e2 o7 O" u, U3 K( H8 j) Y7 I3/6/98
    ) f. [6 ~1 m- I4 H    - Fixed 2 bugs in makeYbus.m. Phase shifters now shift the phase the
      n- G6 H' Y. b: I      right direction, the line charging susceptance parameter is now& m' B+ Z" J7 K/ e- ^; v
          correctly ignored for transformer and phase shifters.
    ) {, F3 B2 v5 f& K* }3/3/98
    7 v! K9 ?+ f, N5 ], t3 N    - Fixed a bug fun_std.m which caused it to always compute 2nd order
    3 Y0 y' `/ j0 p      derivatives. Now it only computes them when requested.6 d2 a1 f6 _( A9 z1 X
    2/10/98' b  m. j- l, ~& X) Q2 k/ F
        - In previous versions, Pmin/Pmax constraints are relaxed by 1.0e-68 @" o; ^* y& t- \: P( Q* t9 f
          in opf.m to avoid falsely reporting a binding Pmin/Pmax constraint' y1 U0 P% c% E- [" l3 Z% `4 f- |: y' T
          in a case where a piece-wise linear cost function has a corner
    7 {; A2 w3 |# @& f3 O      point exactly at the limit. Changed the amount of relaxation to
    , w, j& m2 G  G- w: w      1.0e-4 since the problem still occurred at times.
    " ^* f5 @( `3 b  q0 `+ h1/29/98% O3 ~8 u* k5 W: i
        - Changed the value of LPC_MAX_IT from 1000 to 400 to allow for; c$ m4 F8 ]. ^# \/ I7 p) ~
          earlier detection of infeasible OPF.
    $ p6 W: z' g: t" c1 }" H9 CChanges since 1.0.14 V2 _. q" y8 a$ a7 }0 J. d
    -------------------; w2 R( `% ?8 S% Q5 q/ |
    12/24/97
    ( d) C$ J5 a+ o" N9 t    - Released version 2.0.
    ! S& T  ?. y5 p! R  x6 F12/19/97) N" _% W( h2 T; k7 w
        - Fixed ambiguity in case file data and comments regarding lines, s: b1 @, B! [5 X( [& G4 n) B
          vs. transformers. Now a tap ratio of zero means that it's a line
    1 X; E( @3 O( {3 ?8 H( j6 |1 k4 C      and a non-zero tap ratio means that it's a transformer.
      G! N0 m) N( A2 n; `    - Optimized formation of Ybus (and hence B matrices).( z* T% K$ @/ Q1 ]; o
    12/18/97
    - y" G* Q) d) W% z    - Implemented fast decoupled load flow.1 S" }( X- k; d; d. s# }
    12/17/97: {7 B. t8 Q6 e* N/ `9 U
        - Optimized formation of Jacobian matrix in newtonpf.m (significant
    8 G9 f% r9 J3 o4 T      improvement for large systems under Matlab 5).- i1 W8 T% e4 t
        1 H6 R( y  o2 S
    12/16/97( |5 a: L$ ^5 J( @7 h4 ^
        - Fixed another bug in calculation of losses. Previous versions4 A1 B; B3 a6 I3 m
          did not take into account off-nominal taps for transformers.0 ^' s; z9 y: k, @
        - Fixed a bug in calculation of losses. Previous versions
    " {# ~" l7 C- k      included line charging injection in reactive line losses.
    ; l8 U, ]: @' q4 K2 c% z0 T% k    - Added ability to optionally return solution data from6 ]- Q7 k) F% s, W$ k  [$ H; t
          run*.m functions.
    $ ]8 C) M/ B. E4 @    - Added ability to optionally print results to a file.
    1 r0 ~$ M+ Y% \" t# i    - Added system and area summaries to printpf and modified to
    + f( N+ q  B+ {3 Y      handle the new printing options.
    % |) o& C. m) ^& d12/12/97
    ( H: R3 e/ Y$ i/ L; b0 E& w    - Consolidated printing into printpf.m, eliminated printopf.m.
    ' @: p# ^+ }; A    - Removed QCCV method (standard formulation solves same problem,+ s8 f  v! ^( N2 q4 b+ J! @
          but more efficiently).
    9 b% M7 M; q5 B: v" x5 q    - Removed OPF algorithms which use fixed generator voltages
    4 \4 n  V0 k) f9 q; c% ^/ F2 {/ Q+ o      (this can still be done by changing voltage limits in the9 Y9 ?- P. v. U7 n& @( |
          case file), renumbered OPF algorithms, removed CCV.m and  f" W4 e8 N* v8 y, }
          varVg.m.
    ; X+ x/ X6 x1 v12/11/97
    $ R6 L4 r  G8 r% B9 _7 G    - Added 2 more levels of control of verbose output.
    $ b  j0 \6 l/ r4 C    - Put all MATPOWER options into an options vector defined in  R" X2 p3 @3 j  [7 o* S* B( ~
          mpoption.m.1 }2 R$ T4 Q( I& K- e
    12/10/97
    / @( E2 Z% L# `9 E& Z) V0 a- L    - Incorporated new LP-based OPF routines and updated alg codes.% @7 m" Q3 q2 g) Y0 L$ K# K
        - Fixed a bug in the documentation in the case files regarding
    1 W( ]( \3 K( Z/ t: u9 x5 G" ]  E      the 4th column of gencost. For piece-wise linear cost functions
    2 Z/ b* q* l/ C# b6 c6 D      this value is the number of data points, not the number of3 \& W* ]# i! Z5 a& P) o* T. Y
          parameters (x and y for each point)./ o0 e3 N) F- G! H: O
        - Removed some m-files that are not used (usesOT.m, usesLP.m).6 r) ?% ?2 t* a  }
        - Renamed some m-files (OTfungra.m to fg_names.m, OTSfun.m to: ~/ O  N, ^7 b, p9 l/ _; y
          fun_std.m, OTgra.m to grad_std.m, OTCCVfun.m to fun_ccv.m,6 j$ }% C+ K5 p; M9 A- t. J
          OTCCVgra.m to grad_ccv.m).
    ) Y" O2 W0 ^4 ]5 ]' Z+ ?/ V9 o12/8/97
    8 a  j# [( _3 _& S8 G6 L6 q  t; d: y    - Rewrote uopf.m to use a smarter decommitment strategy (see the
    8 _" A8 S1 a( j1 G8 B2 ?& D      docs for the details of the new method). Removed ref, pv, pq
    & E) e1 V8 e! X2 T      from the list of parameters passed in, since they were not used.( o( m# U2 ]& H* U9 [" j0 z9 h
    11/19/973 {3 E. Q8 j1 S; ~' J) z
        - Fixed a bug in previous versions of uopf.m which returned- H2 S( m: U! K, c
          incorrect values for Pmin.. N, F+ I3 l) \
    10/28/97* v8 r  h& W9 |7 o6 c7 Y- l
        - Increased maximum number of iterations for constr-based OPF.. ?" t; }( m* j( N/ }$ t% n
    10/24/97& `4 K- v2 |& N; f; z
        - Fixed a bug in previous versions which may result in incorrectly' [+ M0 s' S9 c. N- Q
          reporting Pmin or Pmax limits to be binding, possibly with large
    ( r- k" X# X7 k+ h& G6 S- _' u$ [/ F      multipliers, if the piece-wise linear cost function has a corner' Q- |& |: i. a" y) a+ u( U  B% v
          point exactly at Pmin or Pmax.7 ]7 y7 f, ?& [& `6 [
    10/22/97  `2 \5 [- k# V; ~. d  x4 ]; m# v5 ?
        - Added to OTSgra.m (renamed to grad_std.m in 2.0) the ability) h# |3 d! ~3 e8 @
          to return the second derivatives of the objective function.
    & E% p) q# _8 w( k; C% H& H9/24/979 v' F; e( ]  f( W9 ^0 |
        - Fixed a bug in previous versions of runuopf.m which prevented it
    6 ~1 i! n' M6 _6 Q0 P' x1 V3 Y* i      from printing out the raw data needed for our Perl DB interface.
    6 [9 R7 {3 ?3 G: D+ w5 X! h9/23/97
    2 s" Q4 y3 Q! d: S; C    - Fixed a bug in 1.1b1 in OTCCVgra.m (renamed to grad_ccv.m in 2.0)
    / p: @2 ], O  h2 n      which caused printing of warning message "Concatenation involves; x6 u, T1 L3 Y; O
          an incommensurate empty array" under Matlab 5.
    & w1 t3 p! {8 |( t: w. \6 s9/22/977 V+ f- J! S7 q) [5 Z1 _
        - Fixed a bug in 1.1b1 which prevented runuopf.m from running at all.7 h* A8 `+ E' }
          Wrong number of parameters to call opf.m.
    ' Z$ M  J$ [# ?! q: n9/20/97
    $ o, I) s  M6 P" o' U    - Released version 1.1b1.* E! f1 \0 w) f; o! s$ \
    9/19/97
      _% v+ o+ g3 d  U, m. j    - Modified the formulation of the OT-based OPF. The objective
    6 o; L; }4 X$ E% f* V! P      function may now include costs for reactive power as well as  V, ^  R3 O9 g1 d, K, r* q
          active power. In previous versions the reactive power variables
    - T. ~# X- q2 K4 \4 _      and reactive power balance equations for generator buses were
    % k5 P6 {6 K$ b6 m* s      not included explicitly in the optimization as variables and3 t- P1 j3 q- P0 }/ ]
          equality constraints. Generator reactive powers were computed
    4 e0 a- d4 t: R' m. _0 q5 L+ Q5 d, W      directly. Now they are included explicitly in the optimization.
    8 T1 u/ N/ U: }! \      Costs for Qg are specified in extra rows int gencost.
    4 W+ y* c7 P  Q- X9 Y. w& p
    7 E2 H( b* i& K% Y& XChanges since 1.0
    ( @) L1 T9 r/ Y9 @. \1 H. V) y-----------------8 [+ n1 M! K) ~7 b& n; m5 D
    9/20/97
    * X. `: N  H/ u; l" K& Q    - Released version 1.0.1.- N/ q' }3 q& V: o4 H% y
    9/19/971 v* y) e8 f8 ~) j/ r: u
        - Fixed a bug in 1.0 OTSgra.m and OTCCVgra.m (renamed to
    8 F) v5 Z3 J; }$ h+ A7 V# g+ X1 \1 w      grad_std and grad_ccv.m, respectively, in 2.0).m which used3 J$ c0 _& Q6 t9 w
          incorrect coefficients to compute cost if specified as
    7 b( {- ]2 b! t$ k* Z! }5 ]+ ]      polynomials of different degrees.
    % m$ Y! }. _! J6 i& e* e) a6 {) e9/18/97
      G  T! z- a% d4 q- j4 z8 F) ~    - Fixed a bug in 1.0 in OTopf.m which caused the last equality
    ! d# }$ O0 v9 h( z& m& a      constraint (Q mismatch for last pq bus) to be treated as an
    . k8 H" n4 O7 g5 o. j9 c      inequality constraint. It appears that this constraint was' ?% q- i3 `! Y2 E# u" @
          normally binding (unless Qd was negative) in which case the
    7 e- W5 f9 m- n; }' c      solution was still correct.- @1 g: T+ z9 ]8 I9 m
        - Fixed a bug in 1.0 in runpf.m, initial voltage for generators
    * [! o$ }2 k  u- t$ l" w* Q9 t      which were shut down were taken from gen(:, VG) rather5 T! J. N% l" T0 I5 W. s4 [
          than bus(:, VM).
    4 ?! J, e8 v  |' w% }    - Fixed a bug in 1.0 in varVg.m which caused Kuhn-Tucker2 O- o$ C5 H' f/ L1 D2 O
          multipliers to print out in the wrong place for LP-based OPF.
    & L8 q: d) u, l! I) S
    2 t; y: K" P* U1 Q! a( m& `9 yChanges since 6/25/97 Version" O5 {6 `2 b: r+ T+ }: ~
    -----------------------------
    / H4 v, @1 h. I* v9/17/97
    9 e  U- ^: R5 |7 O1 u, ?    - Released version 1.0 (first widely publicized release).
    " r' Q/ g5 V/ @* j# Y' w    - added placeholders for LP-solvers that we can't re-distribute% O: l# n- q) x: B/ k
        - updated documentation& H! a( f/ U  G& x, M' `
    9/12/97
    7 n$ e7 C2 W* V2 [& {8 K1 u    - added ability to do pretty & ugly printing at the same time
    6 x- \* A6 @& _, w5 g5 I% P  _      also documented that ugly printing is for talking to our
    ! Q) p* ]7 P# }+ ^, d: u      our Perl database interface code
    / a9 l$ J0 C0 }7 t    - included Deqiang (David) Gan's LP IEEE -> matpower data
    2 C) Q$ j4 z# L" {0 A6 C0 |2 h      conversion code
    4 w  s  X) e8 ?% A7 ^; L! R% }; n    - included Deqiang (David) Gan's LP based opf code
    + C( i" I8 x* L! U    - fixed LAM_Q bug, now computes correctly for generator buses
    6 @# U% C- b8 j1 s& ~& I9 h    - fixed some bugs in totcost.m
    - m: s& ^* t; c1 e8 P3 |7 R+ P9/9/97
    + R! v8 p/ U, i    - removed PRICE from idx_gen" }2 r# j$ m. h/ }0 z
    9/4/97
    / m6 ^/ Y  ]0 }6 ~' o* Y+ [# D    - added code to convert from (possibly non-consecutive) external! w* ]. R) k$ w, N4 l
          bus numbering to consecutive internal bus numbering before
    1 k, I; Y( n" d& n8 b; ?      solving, and back to external before printing results
    . i0 z* X  C. f7 y    - replaced test*pf with run*pf which are now functions% I" m$ ^- E% a+ ]
          taking the casefile name as a parameter (among other params)5 p' W4 K6 h; q6 X1 i
        - made changes necessary to handle new format of case file
    0 |7 h: H* Q0 q* d# N      (generator costs moved to gencost variable): m+ j. L) U- K1 Y
    4 B7 m4 E7 N: c1 e: \. r. I
    Changes since I started keeping track' T! S0 y8 o" p- s$ w1 E
    -------------------------------------8 o& l7 ^. P# K: l/ l+ |6 ]
    6/25/972 w, V6 H5 U2 m8 f- R9 P$ ^7 l
        - made first public release (not widely publicized)  w6 e4 S$ t2 B  f6 @8 q* k: z$ u
        - documentation updates
    ' u) {9 t. Q: f# D7 s" q    - changed names of m-files to fit DOS 8.3 limitation0 N- l! ~2 [! P* o
            buildsbus.m     =>  makeSbus.m
    3 p2 @+ y& I8 q  m$ y        buildybus.m     =>  makeYbus.m
    9 {2 o: M9 r$ G" U4 a3 P% m6 A        idx_branch.m    =>  idx_brch.m0 p- y$ B/ j/ ^3 ]  x
            dSbranch_dV.m   =>  dSbr_dV.m
    7 F; T4 M9 s! |4 e        dAbranch_dV.m   =>  dAbr_dV.m$ r/ d: v. X5 N0 s3 E
            ucopfsoln.m     =>  uopfsoln.m6 G8 _8 J6 k$ o* S% l: l
            testucopf.m     =>  testuopf.m: P( k( G- z) z* c
            ucopf.m         =>  uopf.m  (for naming consistency)
    0 u  E) f' Q7 B1 n: `4 {    - changed copyright notice$ r5 Z  G6 B7 T# N$ J, {4 H
    6/18/97
    . s. v0 H5 z$ B0 n7 f+ K7 d# V    - modified ucopf.m to allow a generator to be turned back on if* A- F1 |* `( g5 G7 |, L
          shutting it off results in an infeasible (or at least
    6 G: [- {+ {" w  T7 V' K0 E      non-convergent) OPF, also changed the order of shutting down4 P+ f' {) @3 e9 |: u5 n
          generators which are dispatched at zero, now chooses one with
    - r' g, Z: i' L9 U      largest mu_Pmin     % U! y1 N1 U' _, I8 D4 r8 _
    6/12/97) j0 }. _2 M$ ?
        - fixed bug in printpf.m so it doesn't print PG & QG for gens that
    7 z$ h* \* o+ J& [$ r0 M% f! @! E8 k      have been shut down) J; a$ i% X- L6 J
        - fixed bug in pfsoln.m to correctly compute the reference bus power
    8 d7 i5 |4 ?1 a; b) a/ ?      injection when generators have been shut down
    4 j3 N6 s, V2 ?4 f6/10/97' k2 d" a( u  a& {( D# ?( X9 x+ @
        - fixed Vg initialization bug in testpf.m (not just testopf, etc)* y% ^9 m  t, z
    6/9/97
    3 v2 @5 ^6 ^+ ^' X9 Y4 G7 _# o    - fixed bug in PLCCV versions which set the initial values of the
    - }" L7 T, f: ^" [) M      cost variables wrong (used p.u. Pg instead of actual)
    2 ], S4 x, e+ @$ K) j& z7 k! y% @    - made opfsoln.m copy generator voltages back to gen(:, VG); V/ m  ]# j/ d- t0 [* b' [, F2 l0 x
        - fixed bug in code which initializes generator voltages, it was: z. L! D$ M" S6 U' _+ n6 ~5 @+ ]
          always setting the angle to zero, now it uses the value from the
    ! a" R# D" F: K6 @6 f; M7 a& W0 a      case file
    + `: d6 i' F$ c6 t' v* Z( B6 \' t1 A6/3/97# \) u! t! q0 B
        - included opf variations which use cost variables constrained
    , L7 K! m9 ^- G  w9 I, s      by a piece-wise linear cost function (PLCCV = piece-wise linearly4 b4 U6 ~) h5 r! p; Y2 ~
          constrained cost variables)
    ) H9 [. D  |! Y6/2/97$ k( f! V2 k' ~  Z" |7 C( u- H  Q
        - included opf variations which use cost variables constrained  C: R$ B9 C. Q, i4 i6 }$ k
          by a quadratic cost function (QCCV = quadratically constrained* y" A+ I% ^- F% u( _: l4 E4 h
          cost variables)
    / H3 C* c+ P+ [    - included opf variation which allows generator voltage& I6 S  z, Z6 \2 I2 M7 x: k& a2 p
          magnitudes to vary3 k- X5 u: [8 h" n. R% l
        - fixed line in test*pf.m scripts which initializes V0 (I'd missed
    ; ]; B) ^( ?. J- ^3 y! g      the sqrt(-1) before
    7 s9 z9 s/ V3 `+ g. d5 v7 q0 `. q3 Y4/16/97$ i- E% q* Z& G
        - changed line 59 of ucopf.m from "return" to "break" to ensure
    & \2 k+ ?. i# Y      return values are correct. s6 G; _) m0 m, f
    4/14/97
    1 G, @1 t' j. ~) ^    - added some print statements to ucopf.m
    , Q" C+ Z0 @: d# m5 u+ E  N4/12/97. Y5 b: W) K/ d+ W( U4 [2 b
        - reduced max iterations to 100 for constr in opf.m" C5 t* v) _1 j$ R7 x7 {" B
    4/8/97! A4 e5 E/ y/ v4 x; Q. a
        - modified opf.m, ucopf.m, testopf.m, testucopf.m to include7 w9 `  a8 k) H$ g" R6 O, d
          "success", a variable which indicates whether opf was solved
    1 J& S* ?3 ?/ {% x' ?) V; O% e      successfully or not# L  ~" o- \- n7 [9 m2 d' i$ ~' Q
    4/7/970 h4 x, E' U8 d5 i( y4 X
        - fixed bug in ucopf.m, assumed all generators are initially
    & o9 p# B" z# }% G3 V, V5 S      available

    matpower3.1b2.zip

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

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

    该用户从未签到

    尚未签到

    发表于 2007-3-20 16:33:32 | 显示全部楼层
    我也有一个
    4 x( l3 o4 a, x6 X8 p/ ]不过版本好像没有楼主这么新7 ?2 r; Q: t8 \; j* ~8 c) }& b; Y
    支持一下
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

    该用户从未签到

    尚未签到

    发表于 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
    / Y2 m4 X, m9 y, d4 w0 Q
    1 n1 ]" \# \% U% D0 ^8 ^2 w  b) U
    + }+ @4 a- W! `8 V% _; k. G7 n# T& \    下载试试,呵呵
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
    您需要登录后才可以回帖 登录 | 立即加入

    本版积分规则

    招聘斑竹

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

    GMT+8, 2026-10-30 17:59

    Powered by Discuz! X3.5 Licensed

    © 2001-2026 Discuz! Team.

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