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

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

matpower3.1b2

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

    连续签到: 1 天

    [LV.1]初来乍到

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

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

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

    ×
    -----------------------------
    7 F( O5 k  A9 L# u Change history for MATPOWER
    2 _5 A& {9 e! r: P2 e. o+ L-----------------------------4 H& Q0 a( j) F
    Version:    3.1b2
    ( Y# L& W8 r6 e/ u8 i3 xmaintained by Ray Zimmerman <rz10@cornell.edu>  h6 A7 u. c5 e% t
    MATPOWER0 r8 n4 M/ y- F+ ]
    $Id: CHANGES.txt,v 1.27 2006/09/14 18:20:40 ray Exp $! e+ j7 t" x+ A  K$ P
    Copyright (c) 1996-2006 by Power System Engineering Research Center (PSERC)
    / l1 A0 [2 P! P; A; |See http://www.pserc.cornell.edu/matpower/ for more info.
    5 o. B7 m; [0 q" V& P1 t3 h% U
    , B8 I) p2 |3 g2 I" r+ FChanges since 3.1b1% i' N; [, _/ k
    -------------------
      i/ R9 M6 ~8 K' c9/15/06
    % q; s* o% z3 @    - Released version 3.1b2.
    7 `0 C% C3 ~- W9 G: L9/12/06% {- e/ B$ |. g6 g2 S& p  a1 r2 [; u
        - Added makePDFT.m which builds the DC PTDF matrix for a specified$ j4 f% |% E; i& V6 I
          slack distribution.
    $ h; D: `$ \+ v: |5 B! f# y4 c8/16/068 i  u4 u- ]) p* k7 S" J: ^  m3 b
        - Added optional outputs xr, pimul to fmincopf and opf.m to make them
    ! r4 J9 C9 Q4 V, A; ^; l6 m      fully interchangeable with mopf.m.
    ( Y3 M2 _  H* J) M7 }0 `% A/ O8/15/06
    - F; d% [; |! L    - Added branch angle difference constraints to general OPF formulation" x* R7 c8 V1 A  e" l
          in fmincopf.m (and mopf.m).
    " z* v0 @; G  S/ r2 I" t    - Fixed (invisible) bug with multipliers of lower bounded linear
    9 B6 ^) G3 m* x+ }' Y1 x  J9 Z      constraints in fmincopf.m.
    ; k6 E  G' N* q1 R3 Q9 X8 e% M, y0 Y% ?, `! |; G& j" F9 E( q. F8 q$ l
    Changes since 3.0.0
    % t9 E' U2 {- u3 ?- n' S& r3 F-------------------6 C  w  E5 {6 P. t* @
    8/1/06. C% W5 h0 p7 X" h' F( O
        - Released version 3.1b1.
    ( `# `( i0 c' q/ U% {* {: @4/28/06
    % d& X, ?  v) a( V    - Fixed mpver.m so it will properly handle case where the Optimization
    9 K) r& Q" [2 w  q: {' u- ?      Toolbox is not installed.
    - E7 {: D2 ^1 S+ ~, q3/15/06
    " O  k5 e- h# H4 \. q2 Q4 T0 @    - INCOMPATIBLE CHANGE: Updated opf.m, fmincopf.m, costfmin.m, consfmin.m to
    ( \- s% y: U. [+ T0 ]/ }& c      be able to be compatible with latest MINOPF. User supplied A matrix for
    / l8 l% m' U. V+ Z5 f3 v      general linear constraints no longer includes columns for y variables  S8 F1 j# T/ ?
          (helper vars for piecewise linear gen costs), and now requires columns' B6 u) ?9 I* P7 [0 j0 \* {3 R
          for all x (OPF) variables. Added generalized cost model and generator PQ( V4 e% e8 N2 A1 D" @  L/ t
          capability curves.0 t5 V2 I9 y( n% }7 ?- h; E7 S
        - Modified savecase.m to always save MAT files with -V6 under newer Matlab
    8 {1 t% l$ {& M1 P1 L/ @4 K      versions.
    / K6 K% S2 X5 C  G& A    - Added a number of tests to t_opf.m for MINOPF and fmincopf for generalized" K4 C/ S- C5 V' m" {5 r
          costs and additional linear constraints. Added test for fmincopf for
    ! I2 e4 Q( l$ r5 \7 Z      generator PQ capability curves.4 F( p# O% D4 F6 G  r" P
    3/10/06
    + S$ D7 F' a* d. t- d    - Added baseKV data to case118.m from PSAP file
    1 M0 A5 m& T/ Q7 ~2 ^0 Z      <http://www.ee.washington.edu/research/pstca/pf118/ieee118psp.txt>.
    % p* Q& T" c& l! e" d( t3/8/06: @$ ?2 y/ a1 B* c5 e& k$ B
       - Renamed col 5 of gencost from N to NCOST everywhere.
    8 ?. U: Y* k3 r1 A3 j: A10/14/05
    . I$ o1 z0 T4 _2 J9 {; u& Y6 w6 g    - Updated version 2 case file format to modify generator PQ capability
    7 _+ Q0 w2 d1 I1 I7 B      curve specifications.
    4 {! C) D6 T8 j+ j" |! c    - Added hasPQcap.m and test for gen PQ capability curve in OPF.
    ' r; I& A; Z9 K2 w# i6 H8/22/056 L0 _: N, ^" v8 ^" K- p
        - Added OPF_IGNORE_ANG_LIM option to mpoption.m.% h& N" U" x. P( p! k( `. M
    8/5/05
    : h/ t9 f: \  q8 ?& ^. M    - Modified identification of binding constraints in printpf.m. A3 m( n+ n) L) k' ]
          constraint is now considered to be binding if the tolerance is less$ |: b! m: {0 `. y4 D! s
          than or equal to OPF_VIOLATION tolerance -OR- if the corresponding
    $ T* X# g, h% W1 N  G6 t1 t  P      Kuhn-Tucker multiplier is non-zero. This allows binding generator. @1 I  `& Y  f! o5 T, h
          capability curves to be reported via multipliers on Pg and Qg limits.. X1 M8 n: _5 s" f* ]2 D1 {
    7/8/05
    ! ]& U) ?  `# {$ |- [4 V    - Updated loadcase.m, savecase.m, idx_bus.m, idx_gen.m, caseformat.m5 `, L7 x6 ?2 k: V" [" }; U( [
          and tests for version 2 case file format, which includes piece-wise
    * ^& W+ H# t6 e) ?      linear generator capability curves, generator ramp rates and branch
    " U4 V- s. K# I6 z4 M& `# O      angle difference limits.
    3 r# b. c1 l5 n+ v* b; h    ) z/ j8 P5 e) C1 W
    Changes since 3.0b4
    6 l  v/ r3 |+ C# t! ?( m* u& g1 r-------------------
    * n7 W! |1 L) z  o( h. a2/14/05
    / s8 s) W* a3 \. E' e! S  H) v    - Released version 3.0.0.' D% p$ }8 }% B# n+ H% O
    2/3/05
    1 i9 H6 V9 s5 `, ~    - In mp_lp.m and mp_qp.m, on Windows it now makes sure BPMPD_MEX is not1 }' v9 R( X, _: Q# i# }$ G( S
          called in verbose mode which causes a Matlab crash.
    + F: n9 E$ _& J% `
    ! I5 i2 J3 |* x4 I! O) T! GChanges since 3.0b3- |/ e* S4 n" o4 |4 j5 P& _' Z2 ^
    -------------------4 f% K5 ?) \% T' [/ C1 p
    1/28/05
    + Z0 S1 t4 E0 C& E5 _! `9 T    - Released version 3.0b4.
    : M* N8 e5 m* S7 \* ?# L7 @1/27/05, e" S! H" r4 [' U# {$ C
        - Added case6ww.m and case4gs.m.% Q9 S+ a' P0 c
        - Minor modifications to printpf.m to handle larger bus numbers.
    ) _: r+ b2 p. t; R( Q/ t1/26/05
    ) P2 X' }" M; T( x* e* `    - Minor changes to uopf.m to make sure it plays nicely with dispatchable1 `' k  L- w/ i6 n% _
          loads.. e% r6 E& g2 p+ L. V6 ~
    1/25/05
    ) P# }. `3 _1 {/ p1 g. a% k2 p    - Major updates to user manual.1 W+ g- N& ^7 ^
    1/24/05
    ! E0 o% H* U8 {! C: T    - Switched to using the new isload() to check for dispatchable load.7 O2 y2 K% W1 {$ o* y
        - For dispatchable loads, switched from using PG and QG to PMIN and either, S# Q( k  [) H/ s7 l, L3 `
          QMIN (for inductive loads) or QMAX (for capacitive loads) to define the
    3 m5 p5 N* o7 m5 c2 X, A1 z      constant power factor constraint. This prevents the power factor
    0 V+ i) |& J" F5 F. }8 t+ O9 i+ G3 d      information from being lost when it is dispatched to zero. If the initial7 P  A0 c% E+ l. R
          values of PG and QG are not consistent with the ratio defined by PMIN7 H  i0 S0 z3 d7 C3 n1 b
          and the appropriate Q limit it gives an error. This is to prevent a user5 [5 q1 @: t, M* `; F# H0 x
          from unknowingly using a case file which would have defined a different9 c7 g% c# y$ S3 E& Z% B& H
          power factor constraint under previous versions of MATPOWER.
    % S$ C. k: Z- {7 Q# P- x      If both QMIN and QMAX are zero, it no longer includes the redundant1 W$ ~3 ~5 {+ k4 H8 |( K
          unity power factor constraint.
    0 y' j  V( C# i8 Y# |6 n# a# D1/20/05( q0 b5 D( X4 j4 X* a
        - Updated printpf.m to display dispatchable loads and generators
    & Y. \  ~8 Q( X- m4 F      separately. Reorganized the area summary section and corrected the net7 R$ u* n! o4 m
          exports value (subtracted half of tie-line loss) to make the numbers9 E3 }1 S# r# C0 {
          add up correctly.6 P& Q6 B" j+ O! {2 X; P. N" `
    1/18/054 s) a& v% A6 a3 n4 [
        - Added to runpf.m the ability to enforce generator reactive power limits* d/ V( ]$ m$ |
          by allowing the voltage to deviate from the set-point. This option is
    6 L9 Y+ K7 I1 _      controlled by the new ENFORCE_Q_LIMS option, which is off by default.2 ^0 c8 ?7 g$ v4 j+ ]) B* B8 V
              (Thanks to Mu Lin of Lincoln University, New Zealand
    / o8 J* y4 v7 ]$ {7 i1 m" W, i* l* j           whose contributions inspired this feature).* C: D! D+ W2 K2 Q
        - Modified pfsoln.m to divide reactive power dispatch between multiple
    * L& k) k8 b: ]& A: `5 q/ |      generators at a bus in proportion to each gen's reactive power range,
    # L: {* C3 D7 C  M6 g      as opposed to equally. This means that all generators at a bus will7 p, E. V; [; P" E
          reach their upper (or lower) limits simultaneously.  [6 L* n* g2 {. `/ M/ j
        - Added generator status column to generator section of printpf.m output.
    + _* H6 f* G, N      Fixed bugs where non-zero output of decommitted generators was displayed
    1 T  Q5 C( y0 V4 d* q      and included in generation totals in generator and bus sections.
    & g* E; L5 I( q5 b' _# V# n! T) t1/14/059 M4 F/ G! g! g! D% K* d+ K2 {
        - Moved some setting of MNS_* default options from opf.m to mopf.m.* l6 d; c/ V+ E7 b# L) F- r0 [
        - Eliminated unused output args in dcopf.m.$ p3 Y1 |& `" k5 o1 l' E& ~) R8 j
        - Modified printpf.m to zero out reactive generator output for DC cases
    - M2 I% ~0 F0 ]2 T3 N" p      and to use OPF_VIOLATION tolerance to detect binding constraints, as
    4 L6 K, I  r6 H6 q; E8 R      opposed to non-zero Kuhn-Tucker multipliers.. c3 V8 w; w1 G
    1/12/05
    ' t, n- O9 `$ `: a' n9 H3 h: d* l    - Modified bpmpd portion of mp_qp.m and mp_lp.m to use default value for- }/ E0 l4 k; ?' E( X
          TFEAS2 and eliminate variable limits which appear to be artificial' \; ^1 c7 @% Z( a! g  P
          large values used to indicate free variables.' |9 T- A: `1 c2 K
    1/4/059 A* n- T+ _) d" K# ?8 z* {4 c
        - Fixed potential bug in dimensions of Yf and Yt created in makeYbus.m.
    ! t' x- Z! \+ Z" R* z: b12/17/04# @. L' [7 |! D2 ~1 m
        - Added feasibility check to mp_lp.m and mp_qp.m to work around a
    % @; Q# c& m; H2 Z7 Q7 k# u6 }      recently discovered bug in BPMPD_MEX 2.21 where it sometimes returns an8 J, g: i- e1 ]
          incorrect (infeasible) solution for a DC OPF problem. This bug has yet% [& _$ p( |' h# s3 q
          to be encountered in any other context.
    ' ^5 [, S, I( n12/13/04+ b: A* F4 A4 G0 b9 n7 o
        - Added mpver.m to print version information.6 p* I5 d( C- Q- r: ^2 ]- A' n/ I' M
    9/23/04
    , m- h! W6 \- u. _    - Fixed bugs in cdf2matp.m which prevented it from working at all" p; Z/ z; p$ C. V2 x
          when not specifying both input parameters and caused it to
      y$ U) f1 g1 R      sometimes not add the warnings at the end of the file.
    : G4 O2 T  J0 y7 }: J    - Fixed typo in name of lower bound input argument in opf.m. Only* J! B) f3 F3 E5 x" k
          affected those calling opf directly with extra linear constraints.
    6 [3 i* z" D8 }4 J! i1 E3 e# y5 f  [2 [2 M
    Changes since 3.0b2
    % Y$ p) n3 O1 w/ ]-------------------! ]/ s4 M1 y/ ^  H& Y
    9/20/04
    6 \# l7 r- f8 n" z$ c    - Released version 3.0b3.' N/ _0 v; r2 I( [1 ]5 N3 J
        - Generated clean versions of all included case files using latest
      \  _0 R  q7 B1 ~, G      cdf2matp and savecase. Added documentation for source of data! s) B2 e" p2 v. A* k
          for case files.9 `" @) Y+ q0 n# r6 ]& ]# {/ H, q
        - More enhancements to cdf2matp.m. Adds comments at beginning, appends' b4 P* {6 P4 c3 m+ o
          conversion warnings as comments at end of file. Uses savecase.m to
    : b" a. i! n9 D! z& ]( H1 w5 @% S      save the data.& J& ?( w! \/ X, b
        - Updated savecase.m to use %g instead of %f many places, correctly
    " [6 A/ T- K5 T$ q2 l      handle multi-line comments, include headers for extra columns for
    6 j: x1 f' V( p      solved cases. Optionally returns filename with extension.
      I( C: {/ D- O" K" d1 p9/17/04# K3 S- @$ s. T6 D" ~& h2 `
        - Fixed bug in grad_std.m, introduced in 3.0b2, which prevented constr
    ) A* w5 s3 h& M  J      and LP-based OPF solvers from working for polynomial cost functions.
    / c0 [% j! c6 M) p9/15/04
    7 I0 c) K3 F% L0 G    - In cdf2matp.m, added input args, updated docs, switched to named1 f1 d; C  K6 G8 e2 L' @8 \0 X4 |
          indexing of data matrices, new method for creating gen costs.8 G" f/ q7 x2 ^0 C3 u
        - Documentation fixes and additions from Pan Wei.
    ; W4 ?7 p" M* k6 l
    & E5 T5 p8 q: ]8 WChanges since 3.0b1& A& X7 k  Q3 n0 ]/ c. r  ]
    -------------------
    # S# A1 i* E' ~9 x: S6 [1 g9/7/04
    2 Y% n9 W* g( R    - Released version 3.0b2.- k, g3 [  F* X: z
        - Added OPF_P_LINE_LIM option to mpoptions to use active power
    $ H$ g; C& {7 ]# q      instead of apparent power for line limits (thanks to Pan Wei" p0 [  H( ]  s6 Y1 ]8 ?- c5 H& E
          for the suggestion and some code).
    & d  u0 }7 c6 U8 C4 p9/1/048 A/ W# d+ A& C; D. q) O1 m* @  H
        - Fixed bug in savecase.m introduced when making areas and gencost5 _; S% A4 P( {! _& W9 I& \
          optional.9 t2 I8 ^+ Z/ L! R( ^
        - Updated opf_slvr.m with options for MINOS and fmincon.) ]( N1 q; u4 k2 W3 [9 F7 P6 p
        - Removed option 15 OPF_NEQ from docs (not a user option). Removed option
    + t! S, o( q5 ]8 a2 I8 V$ z  B2 ?      52 VAR_LOAD_PF (unused, always behaves as if this option were 1).
    / `# \1 F2 l# Y* [9 ]- q4 Y6 D      Changed semantics and default value for option 51 SPARSE_QP. By default
    7 l! D9 K2 e  f3 ~* p3 t9 L6 [* n      (value = 1) it will use sparse matrices if a sparse QP/LP solver is
    * Q7 E- [0 G! x9 O4 u% K/ l% q. x      available and full matrices otherwise. Setting the value to 0
    : p# y1 M; F1 \. Z      will force it to use full matrices even with a sparse-capable solver.
    * v# ?, o- `4 n) Y6 n7 @# y7 R    - Cleaned up checking for optional functionality, and fixed a bug! I  M% ]/ ?7 i5 {7 o& r* F
          that would miss MEX files if there was an identically named directory& P8 a! l, t* C+ y8 H' `4 i+ {
          by adding have_fcn.m.+ |5 i$ o" n1 P# F, P
          
    8 g2 S) E7 L: X% N! w* r8 U8 k* EChanges since 2.0
    + t' G. ]6 \" ?-----------------6 M6 P2 i$ I" E! v2 |" t1 V8 x3 K
    8/25/04! z$ T) b" O4 }. C) k8 P  Q
        - Released version 3.0b1.& {, Y, D% i6 `% L) w$ G
    8/24/04
    4 Q* i/ p( g1 t) v    - Made mpoption() throw an error if passed an invalid option name.
    , z1 z" n, @# G+ C8/23/04* B+ e! z" J" h" O
        - Added an fmincon based OPF solver for the generalized formulation
    & g! p0 r/ ]9 t      previously used by mopf (Carlos).. X" E$ e  Y! [
        - Restructured opf.m so all OPF solvers have a similar API based
    ; E6 A: ]3 e9 }  s! _      on the one from mopf.m (Carlos).$ x0 Y3 \0 p. F2 C: x
        - Added some quick tests for runpf and runopf for each algorithm.2 ]& d& ?, k5 H: @3 U3 @
    8/13/04
    & _9 t, _- p1 D  s* ^7 s* _    - Renamed 'area' variable to 'areas' to avoid masking the built-in: F/ y9 h& ]' F$ S# F
          function of the same name.
    3 u( Y  N! e+ }    - Made OPF data matrices 'areas' and 'gencost' optional for running
    9 X! Y6 j$ B5 v6 A! P) R# P      simple power flow.
    0 w* B) j& x/ ]4 x% @7/15/04
    ' ?* v% c& I0 N7 z, |5 [7 {    - The loadcase function (and therefore all of the run* functions8 c+ n- d' ?: r/ q- O$ P8 K
          now optionally accept a struct with the data matrices as fields
    4 O6 |9 g$ {8 b- x; x- [      in place of the case file name.
    ' ]1 j; ^5 {& r! k+ j0 O4 v    - Added t subdirectory with various tests and testing tools.
    1 U' U3 J9 V9 X/ \7/8/04# u9 R. a+ S$ S" k; m* b
        - Updated mp_lp.m and mp_qp.m to try linprog() and quadprog()
    1 ?1 \% v' M0 j      after trying bp, since lp() and qp() are no longer included
    * v& H$ j8 a5 {+ c. U6 P% P8 h8 R      in the Optimization Toolbox as of version 3.1 ^& E+ h0 i  l& Q3 \: U  \8 k
    7/7/049 _- ]& C9 @$ G- a+ _9 v/ s
        - Removed case.m, added caseformat.m, made case9.m the default
    . |  l+ y- }" \7 C4 G      case and fixed function names in other case files to avoid
    $ Q. @( k: ~' R# s# }- B      use of reserved word 'case'.
      v+ D. S) {$ a    - Fixed bugs in runcomp.m.
    7 g. f: @9 W/ d" p" L! K6/23/04
    : G/ R2 m4 V: e+ o, J    - Fixed bug in newtonpf.m which caused algorithm to diverge when5 e- y  W6 [/ D( A7 f4 q; C3 X
          the Newton step resulted in a negative voltage magnitude.# f- S7 G) e7 K+ D
    4/17/03" {. T0 h- F; y
        - Changed uopf.m to use a dynamic programming approach. More# Y. X" J) ^' o- X8 ?  k1 z+ D
          computationally expensive, but should find significanly better0 V! u8 V6 h( m9 c$ t1 t' V
          results when there are many gens to shut down.4 Q9 |. D) G- q! q; i1 J5 c6 j
        - Added mp_lp.m and mp_qp.m, equivalents to lp.m and qp.m,/ d& l9 V0 N3 {1 B) \+ e
          respectively that call bpmpd if available. Modified LPrelax.m,# u) X0 ]# U  X( Y7 Y
          LPsetup.m and dcopf.m to call these new functions.9 y+ k2 J) M2 _& m4 _; F0 o
    4/14/03/ u8 I# m) U% E" @; ~* C
        - Fixed a bug in pfsoln.m which for cases with a single generator.0 p+ p0 o; g) r, F+ D' S. S; A4 s
    10/23/02) A- f% I! d! T, t; N# V
        - Fixed bus numbering bug in System Summary section of printpf.m.% ]& X, c& C6 E- Y
    6/20/009 s+ F$ J3 R* e# }: B' M/ H3 ]8 B* z
        - Fixed a bug in printpf.m in the generator section, where7 r$ I: _! S& ~! W& U
          the generator was assumed to be off if it's real power
    8 P% X1 Q& ?' c1 A/ O      output was zero, even if the reactive output was non-zero.5 v: Q7 h. P7 n+ f. l; s
        - Modified printpf.m to print out lambdas in generation section5 L3 z. K/ j) n: v. K
          for generators that are shut down.1 W: T- Q( y" |: ^8 Q: x* |
    6/8/00
    4 S- V4 |' Z4 x* `+ `    - Modified cdf2matp.m so that Pd also includes any generation at, U1 Z. B' W+ ~; P% Y- R
          buses specified as PQ buses. Also modified identification of9 Q  u) M  q+ s* [# Y* _: A
          generator buses to include only PV or reference buses. (Thanks8 n* v7 V3 c, U! q; \4 }, F: [
          to Venkat)
    1 O; r8 k' p; j/ h& Y    - Modified cdf2matp.m so that it always treats the input values2 k* R: |7 ]7 C( K6 @( E0 |5 S
          for Gs and Bs as per unit values and converts them to actual
    0 {# g5 f, z$ ], E% m2 `/ X      values expected by MATPOWER (Thanks to D. Devaraj)! d6 d) X+ S& C4 h
    version 2.5b3
    8 i% T  P+ U0 N3 {. d1 E11/9/99- ?& G3 L1 o7 p
    9/22/992 v# B/ `' @. l2 ^6 i% d( b
        - Modified grad_*.m to return sparse matrices, unless using
    6 B, j5 ~7 L1 x0 r+ e+ ?- X4 \      constr.m or an LP/QP solver that doesn't handle sparse
    ( @. F6 y" o0 F5 t( k, l      matrices. Cleaned up sparse<->full conversions in LPconstr.m,
    9 J2 |  A3 o  c  `8 ~      LPrelax.m, and LPsetup.m.) V. w. z) Z' |$ m& X
    9/21/99
    # H# m: ^# A8 I2 j% G    - Undid a "bug fix" from 3/6/98 in makeYbus.m which zeros out: Z: \3 Y4 I) X
          charging capacitance for transformers. Apparently some5 d. g) j7 C8 _5 `( q
          transformer models actually have a non-zero charging parameter
    - j4 v, \7 y( h& e      when using the model used by MATPOWER (ideal transformer in, f: G* u1 O1 h4 U) {3 T
          series with a PI model).
    ) M/ u7 \4 V" ]( u    - Added loadcase.m which loads a MATPOWER case from an M-file/ q1 y& C3 [1 x9 J% C
          or from a MAT-file. Changed all of the run*.m files to use this
    - H$ D7 E( @1 W: M# n      as the default way to load case files.( h: B- F* d: A
        - Renamed print2mp.m to savecase.m and added the ability to
    # J, j# I9 g( E- j      save a case as a MAT-file as well as an M-file.
    8 {0 W/ j/ [7 a0 y8 X/ M9/15/99
    $ G5 u  `& L+ V: C9 |6 g) ~    - Fixed opf.m so that it correctly uses the termination
    5 _8 M% b+ g. \      tolerances in the MATPOWER options vector for constr.m.
    * a& _2 P# j" \3 _9 l2 c    - In previous versions, Pmin/Pmax constraints are relaxed by
    & y3 b# y" J  D+ N      10 * OPF_VIOLATION in opf.m to avoid falsely reporting a
    / S) y. |* F3 ~# f0 l% D2 f+ i" d      binding Pmin/Pmax constraint in a case where a piece-wise linear  X" Z( g; y' a9 s# ^
          cost function has a corner point exactly at the limit. This
    8 \7 k" \1 F+ f      code was moved out of opf.m (and the standard MATPOWER- H% s# t3 z* d2 A8 j$ j  _. F
          distribution) to smartmkt.m and the value was changed to' \% f; S" l% I. l9 m7 z% K
          100 * OPF_VIOLATION.: i; c% C5 z. E2 H: E
        - Modified opf.m so the MINOS-based solver uses OPF_VIOLATION0 I; Q) v$ c5 ~- B
          to set the value of MNS_FEASTOL and MNS_ROWTOL if they are
    2 G3 Y, d# o2 t$ [" h      set to zero.2 s) @5 s' T$ n$ @+ a/ P+ H
    9/9/99
    * [1 S' Q( ]- X8 I4 \    - Included MINOS-based OPF with all of its options as* j+ a  s8 H* V7 ~
          algorithm 500. (involved including 'area' in calls to opf.m/ d' J; l, k/ Z9 r
          and uopf.m)
    6 _, I6 e3 y7 A3 B5 R    - Removed some unused lines from fun_ccv.m and grad_ccv.m.) L( E5 u: W1 \* o1 E( h
    8/5/99$ a4 I9 a7 i+ U/ Z& e
        - Fixed a bug in the pfsoln.m in the distribution of Q among
    2 M. V3 e& r1 h: w" E" M6 r      generators at the same bus. Initially attempted to distribute; P2 j' _: _4 j+ s5 L# ?2 M8 r
          Q to generators proportional to each generators' Q "capacity".
    ! q/ ^3 b2 x6 ~4 q# g! U( l      To do this correctly requires special cases for generators7 a# l! n; L% e
          with QMIN equal to QMAX. For the sake of simplicity, we now
      J, l' l& U; S! A! H1 m# z, T6 m# \      distribute Q equally among all generators at the bus.8 R+ x# x3 y! B; v& P7 F8 Z
          Note: As before, the simple power flow does NO feasibility
    % D0 W2 M" ^2 y6 [! G; b$ ]- [& S      checking.9 |2 X; p1 H' @( U3 j: Z6 l* j
    7/19/99
    2 M+ d6 l3 w. o  C7 u3 e+ w0 T    - Modified runuopf.m and uopf.m to handle DC opf. Added the2 r0 h3 T) y5 B  m: E4 V( O/ v
          function runduopf.m which calls runuopf.m with the PF_DC flag
    # q1 j. }( Y# S6 p. S* ]' z$ R" F% L- T      set to 1.
    3 V7 V5 z& M  I, F    - Fixed size of 2nd order (all zero) coefficient of objective3 \% C( Y6 t+ V2 s6 M
          for piecewise linear cost case in dcopf.m.
    % y: N) O5 m( v, A7/16/990 y) D5 w' [5 G
        - Added the flag QP_SPARSE to mpoption.m to indicate whether the' P0 L7 M7 r0 V4 L
          QP solver being used can accept sparse matrices. Also modified3 H* t4 y/ c9 I  X: J" K
          dcopf.m to use this flag.
    % N3 _# n  E6 x* H/ Q) U* X& H    - Fixed handling of VERBOSE option in dcopf.m/ }1 E' ~1 [& F! `
        - Added the flag PF_DC to mpoption.m to indicate whether the9 K/ s8 t5 f5 M, \; J& C
          power flow formulation to be used for power flow and optimal
    - P, m. [; c8 O      power flow is a DC approximation or full AC representation.
    . p- L: }1 S7 T( `      Merged rundcpf.m with runpf.m and rundcopf.m with runopf.m
    7 Z2 F; L9 [# |5 y# m* Q      so that the appropriate solver will be used based on the
    0 p2 b2 o2 B6 H: e1 G5 G5 D' n      value of the PF_DC flag in the options. The functions rundcpf.m3 i4 m! }2 {3 }; z
          and rundcopf.m were modified to simply call runpf.m and' S, \4 g4 n! o5 `
          runopf.m, respectively, with the PF_DC flag set to 1.
    ! D$ r6 l9 B( T8 Q7/15/99, ?  W. A, y# C3 M! h- K$ {
        - Changed the sign of the phase shifters in printpf.m to be6 D8 [/ v  q1 B1 M3 V; a
          consistent with the bug fix to makeYbus.m made on 3/6/98.6 g2 D3 C8 A0 N$ \+ E/ k  s0 C
    7/14/99- H/ f# V) E2 O* t
        - Included four new m-files (makeBdc.m, dcopf.m, rundcpf.m,  ~5 _. F; Q) B" I3 w+ U- w/ Y/ b# Z
          and rundcopf.m) which implement a DC power flow and DC6 C$ s$ y, W' l3 Q/ S
          optimal power flow algorithms.6 |% G, f. ^% E% A" J4 p( ]+ D* }4 i$ P- K
    7/13/99
    ( P2 V4 b% o# ]1 Y    - Cleaned up variable names in makeYbus to avoid confusion.& @( s; e7 j! w# I
    6/10/999 M+ i& ^; |1 {1 c6 [
        - Changed UOFP to UOPF in print statements uopf.m.( ~" g! N& D1 g) d+ ]9 @
    6/3/990 \5 x$ ?  Q, H) G8 Z9 T; _3 {
        - Modified print2mp.m overwrite instead of append to an  z0 e3 ~  F5 \
          existing file.5 n/ O; F( h/ Z: Q% z
        - Fixed bug in cdf2matp.m to make it always correctly write
    6 a+ j7 G* X! G& S0 y* {( D2 Z      a text file output.
    3 X8 `  z7 e4 R; p! Cversion 2.5b2
    + {# g& J; N2 R- q4 A5 Q6/2/99
    9 Q$ S# {, Z, d: e# u- t9 n0 R$ B4 k8 V    - Modified print2mp.m to include line flows and Lagrange$ w, E: U- B( k% A
          and Kuhn-Tucker multipliers in output if available.
    5 w  E1 a) c0 {0 B4/29/991 K6 Q* K. s' G( w/ v4 f2 T4 b* Z5 E
        - Included a Gauss-Seidel power flow solver gausspf.m, and
    ) N; x" [6 L, x      made corresponding changes to runpf.m and mpoption.m.% N; d9 l5 v  [5 [* w$ _2 k
          Code contributed by Alberto Borghetti.
    # V/ n; g: d0 p1 S% I+ M4/28/99
    ) e8 y- t0 c6 E: R5 Z/ T6 s: T    - Modified newtonpf.m to handle cases with no PQ buses or no
    ! W& N" ~6 _: d' ~% x( s      PV buses under newer versions of Matlab.- ?$ {6 O6 x# C6 I5 H& ^8 O% {
    2/25/999 b; t% w: |* m* u( k
        - Fixed a bug in uopf.m which occurs when two (or more)3 E. N- l% q  i+ s7 X) Q% D
          generators have positive decommitment indices but shutting  n. n( Q# L3 l' x, `, W5 R
          them down one at a time always results in increased system3 Q6 j1 a' o$ o* G, ~. L% ]! @$ ]
          cost. In this scenario, it would go into an infinite loop9 I) Y5 Z# h; ?) K+ M
          of attempting to shut them down one by one.6 y. ]% l  H/ v. h& U
    2/24/99
    , y+ E' p' C8 c( |% w    - Modified uopf.m to be able to handle the case where the
    ) ~% l, h. [% u* v: Y$ A      sum of the Pmin's is greater than the load. It shuts down
    : u1 I, M# W  N      generators in order of decreasing average cost at Pmin6 m" y( `6 i0 g$ S
          (breaking ties randomly) until this infeasibility is gone.
    % @' c% I( b# i+ g2/16/99
    2 p. ]' Y3 C% T    - Fixed bug in pfsoln.m which caused crashes in Matlab 5
    : g* h  p! n! T6 ^! a" i- }      for systems with no capacitors.( {) P: H# g: }, N/ `7 p+ A
        - Added print2mp.m, which can print out a MATPOWER case file
    6 N& k% D! p) K  R      from the data matrices.
    4 ~( T% Q. W: l. b& N    - Added to run*pf.m ability to save solved case.
    5 [  v0 L3 {' }4 ^* T0 p2/10/99$ C* f8 r! Z, B# z
        - Modified ext2int.m to allow for area matrix to be empty.
    - l+ f) }4 t, K12/3/98
    6 B$ T, K" x5 j9 q3 ], ?3 e    - Changed pfsoln.m so that there is only one slack generator.
    2 ?+ {1 S& M0 m      Instead of dividing the P between multiple gens at the/ ^9 x# w1 l# u3 W1 m' \4 e3 d
          slack bus in proportion to capacity (this caused problems
    - M! u9 [) G8 S5 E4 w* z' I7 w      for the LPconstr versions of the OPF), it now treats the
    6 s9 _/ j& \* e8 e5 O2 F" b      first generator at the slack bus as the only slack generator,: }! |' i. |: R7 L3 l; e
          leaving the dispatch of the other gens at the bus unchanged.3 d" [# k5 s- _3 W6 e
        - Added generator number to generation constraint printout and
    5 ~7 _" k8 o* j$ T/ @9 Z# v      branch number to branch data and branch flow limit printouts.; A3 l9 G# f3 ~& h; j- c6 k% E
    12/2/98
    ; [+ z$ R/ E& U    - Changed printpf.m to print elapsed time and objective fcn
    ' a4 _1 \, K& r4 s8 J5 |0 b      value even when OUT_SYS_SUM is turned off.
    8 O0 @/ ]! M9 N    - Added code to LPconstr.m to explicitly zero out lambdas for$ q$ c7 b/ a+ |% ]! G
          non-binding constraints.( u4 l+ J8 O. H2 }
    12/1/987 d& t' v5 D2 b8 I6 d
        - Made modifications to ...
    & j3 m3 X% s5 r; l# q# W( P        bustypes.m
    8 V; J4 A. G4 T$ t2 U% o        fun_ccv.m
    3 t$ o. F0 y/ u. y' t. ^        fun_std.m2 t. W. b  E! @6 S1 `" t4 r+ }
            grad_ccv.m# I4 e6 ]; \, e* F: J$ m% B
            grad_std.m: W, ?% F# E% A1 t+ W3 c; F
            LPeqslvr.m
    ' q( [) t: @4 c1 Y8 t3 v! q) P        makeSbus.m4 R3 e( L' C4 f" Z) J
            opf.m
    1 |* ?: y4 L; W' b, ^4 R        opfsoln.m; ^" U( t- b" e+ `' N
            pfsoln.m
    * \% g; H$ {0 ^        printpf.m    5 s' U5 l# \- L  r
            runpf.m- @1 d' {# n2 J+ X6 }7 j: f
          ... to allow for multiple generators at each bus. For simple
    4 e& |0 c0 F  y! e      power flow, the Q dispatch is divided between multiple gens
    # Q7 W& B, S6 C" X1 E      at a bus in proportion to each gen's Q capacity. Likewise
    * \6 g; J6 `5 Q, q! x      with P for multiple gens at the slack bus./ d% e8 I" `7 F+ f
    10/29/98/ v+ G& f; l5 Z4 j- X
        - Fixed bug in uopf.m which caused it to crash when attempting) S8 U. \; j* u- d% q! q: `
          to restart a generator after more than 2 had been shut down.
    0 m4 I) e. u3 }: w  p& S10/19/98
    " K( |: r: X" N- n    - Generalized definition of GEN_STATUS column of gen matrix" u/ n5 v0 b8 X8 T. w4 D
          to allow for distinctions in the status of out-of-service
    - Z) |+ r+ Z8 s$ m7 B      generators. The default values of 0 => out-of-service and! r6 w' [* x( P0 {- j* D
          1 => in-service still work, but the logic has been changed1 q4 D: i" b9 T' W8 h: Z" n* B+ c, i
          so that GEN_STATUS > 0 is now in-service and! M3 n1 B  p7 a7 x  D( i  P4 {
          GEN_STATUS <= 0 is now out-of-service, as opposed to
    " r" P! }1 \4 W      GEN_STATUS ~= 0 and GEN_STATUS == 0, respectively, which
    " Z6 z5 P  b8 X; O1 e      was used previously. This allows for a GEN_STATUS of -1,* |& H& u# }& g' q
          for example, to indicate a generator which is off-line" k. I. T+ w; S6 ?- ^. X! G$ b& _
          but could be brought on in case of an emergency.  s! \0 h/ p: Z* X; `1 s$ ?% k& c
    9/2/98
    0 e; z* z. D! H9 Q7 a$ u" Z    - Fixed bug in printpf.m which caused area exports to be4 M% A: v2 B/ ^1 w) U; K7 L. I
          off slightly.
    0 U5 i% v) s  N% }; c9/1/98+ O6 T* n' U/ j$ S! l
        - Fixed bug in printpf.m. Total intertie flow was double the
    ' x/ W9 P5 Z) G" Q; o      correct value.! e! l( o  K* H& X1 y! Z* i
    8/31/98
    8 c, g$ \: j' J) n    - Fixed bug which included line flow limits for out-of-service
    $ x1 @, W+ g1 ]4 h5 [( }; n0 g) j      lines in OPF.
    ; E. |4 q% s+ r3 _% c/ h    - Modified pfsoln.m, opfsoln.m, printpf.m to zero out flow on
    9 m" ^6 c7 W$ `' O. w9 j6 |0 p      lines which are out-of-service (found by Ramazan Caglar).
    ; }& a) |) F6 s* h$ z6 s' s7/28/98
    . y0 [6 T. L; O! Z$ i' A; j; h    - Changed VAR and MVAR to VAr and MVAr everywhere in output.
    " G! T5 n! E6 ]% W) }5 U% w3/13/98
    2 C" a0 B/ o/ I, G. O1 ?3 y    - Decreased the default value of LPC_TOL_X option to increase
    % C* g' P$ v3 m( J0 s1 i      solution quality.
    ) m/ k9 q: |& M5 ^0 `+ [    - Modified fix of 2/10/98 to use a value based on the value of
    - c6 c9 |) h" U3 u2 S" l& V, e      the OPF_VIOLATION option.
    2 X1 E  i$ h7 F& W  I7 F3/6/98; g' U" d( _% C% J& v
        - Fixed 2 bugs in makeYbus.m. Phase shifters now shift the phase the' ^% i  C: b: u- a8 @4 g
          right direction, the line charging susceptance parameter is now( A" Q, L# y; b# I
          correctly ignored for transformer and phase shifters.
    : m% w: b$ L$ Z  L% _! c3/3/98
    , G0 a5 g$ s& x6 d. Z6 L7 u    - Fixed a bug fun_std.m which caused it to always compute 2nd order" D! e& @. w* i6 l- ?6 ?: C8 u
          derivatives. Now it only computes them when requested.
    * |8 H, L% E! G2/10/98
    , w; j5 F. O. }' c" b    - In previous versions, Pmin/Pmax constraints are relaxed by 1.0e-6, `7 \/ o, o- `: h$ x
          in opf.m to avoid falsely reporting a binding Pmin/Pmax constraint
    # w2 y" |+ `# b4 t5 T' c( ^      in a case where a piece-wise linear cost function has a corner/ c! O8 D  K' o5 \7 z0 p, F) p
          point exactly at the limit. Changed the amount of relaxation to
    # A  _7 D  |% }+ L  Z) t4 I      1.0e-4 since the problem still occurred at times./ j' v0 i3 y5 |4 h  }) c- `
    1/29/98
    0 v) u# l1 j* ^: o4 r    - Changed the value of LPC_MAX_IT from 1000 to 400 to allow for
    8 K) g2 {. m9 }) `/ I      earlier detection of infeasible OPF., P  I& X! M: n" W4 Z7 l" m; e: W
    Changes since 1.0.1# p% x" A( H' C* i
    -------------------
    # L  O6 |0 f5 J6 c2 x12/24/97
    3 G. L/ p" o( E/ a7 t* S    - Released version 2.0.
    9 B& E7 V# ^0 \+ |, _, _12/19/971 p9 I2 b2 j0 O2 y1 a
        - Fixed ambiguity in case file data and comments regarding lines
    5 t, }2 v6 m8 n8 T* F      vs. transformers. Now a tap ratio of zero means that it's a line
    ( |- s9 }( y8 |% @: `& J: m8 s      and a non-zero tap ratio means that it's a transformer.
    3 `$ K  R+ {7 B% k# H    - Optimized formation of Ybus (and hence B matrices).
    ) J5 X- i7 P; J% b12/18/979 P2 G5 Y1 h: D
        - Implemented fast decoupled load flow.
    " }2 s! r8 t% L$ ^  T  S: z- A12/17/972 A4 G# I* E+ G9 @  ^$ [
        - Optimized formation of Jacobian matrix in newtonpf.m (significant* d% h1 Y- Y% m& a# ]* e3 K
          improvement for large systems under Matlab 5).
    5 ~% L/ S) t/ w6 n   
    5 ~% U: V  x) w: s- v; ~1 K& d12/16/978 m% }" q2 a- M+ W  r! Q. C
        - Fixed another bug in calculation of losses. Previous versions
    0 u% e- V: A! B      did not take into account off-nominal taps for transformers.
    , ^# g' t  L) ]4 `' Z    - Fixed a bug in calculation of losses. Previous versions2 D$ a! b$ C& A. n/ A' f# y8 I
          included line charging injection in reactive line losses.+ I& \3 c& q% b, B  I6 U
        - Added ability to optionally return solution data from# s3 \* v/ }9 f% _3 M8 s! D
          run*.m functions.
    + B3 |+ `1 D. ]1 U$ [8 P    - Added ability to optionally print results to a file.
    " m* X1 W! w9 m# W' [8 K    - Added system and area summaries to printpf and modified to  M( d( p3 i) a3 a- r( N
          handle the new printing options.
    ( k+ X' ^. _! G/ i* a; W1 r0 ~$ Y12/12/974 _3 g9 ~2 ~  q- n( C
        - Consolidated printing into printpf.m, eliminated printopf.m.
    % ~) u1 L# |+ Q9 |% K    - Removed QCCV method (standard formulation solves same problem,* @, o1 f* v- n7 V) \2 l; a' A
          but more efficiently).
    . [8 ?# r, k: R1 ]    - Removed OPF algorithms which use fixed generator voltages
    ' L: ^2 M4 e0 p+ `      (this can still be done by changing voltage limits in the3 z7 D) u- {" v/ m5 `' K
          case file), renumbered OPF algorithms, removed CCV.m and
    : E6 z3 y9 L" R- V2 ~- ?( ~      varVg.m.
    ( T  d1 y$ R! j% H8 S6 F+ U12/11/97
    , s9 I% I. c- B3 C& |* ]( U    - Added 2 more levels of control of verbose output.
    0 ~! y+ F- b5 v: T( k. I- Y    - Put all MATPOWER options into an options vector defined in) W% \$ @# Q7 J/ A
          mpoption.m.
    $ V6 w* E- W  w- L12/10/97
    ' q; F4 }  |% L3 k# i5 A# d    - Incorporated new LP-based OPF routines and updated alg codes.
    ; j$ r6 E( _" W; W$ f' j) z    - Fixed a bug in the documentation in the case files regarding
    6 a2 f! V7 n# o9 `8 o" D0 e      the 4th column of gencost. For piece-wise linear cost functions8 q+ u! B; u' I7 H2 s2 I6 O6 E6 U
          this value is the number of data points, not the number of( }3 U* C: O/ D4 F/ \& u1 Z
          parameters (x and y for each point).
    ; j3 E8 W* E3 v    - Removed some m-files that are not used (usesOT.m, usesLP.m).
    , o( @4 \1 U, Z" G2 \    - Renamed some m-files (OTfungra.m to fg_names.m, OTSfun.m to
    % m* j0 ]4 P$ }& ]      fun_std.m, OTgra.m to grad_std.m, OTCCVfun.m to fun_ccv.m,( n+ ?  \$ t9 B
          OTCCVgra.m to grad_ccv.m).
    ' b" b4 |/ \1 \12/8/97; ], ]0 P9 a6 J8 q6 c- I2 W; m: w
        - Rewrote uopf.m to use a smarter decommitment strategy (see the/ `4 t+ S! s/ t6 t9 ^
          docs for the details of the new method). Removed ref, pv, pq
    4 y; u9 D& `2 [7 c4 p7 V( t2 e5 \: M5 p      from the list of parameters passed in, since they were not used.1 @2 u" z- N' V6 S9 @; `7 h
    11/19/97
    * e& P8 g0 S& j* s) z5 G; D0 B    - Fixed a bug in previous versions of uopf.m which returned1 ^+ B  M" S: w$ |5 X; m
          incorrect values for Pmin.
      Y9 }) V/ t0 m' K! u  s' T10/28/97
    . b& x3 j& m; P4 O    - Increased maximum number of iterations for constr-based OPF.+ ~; k8 W, \% c7 O/ @) m
    10/24/97
    0 j+ `" \8 Z7 W6 o- w# c  x    - Fixed a bug in previous versions which may result in incorrectly
    & D! L8 i% w( j) g# U      reporting Pmin or Pmax limits to be binding, possibly with large7 n) X7 b% o5 ?
          multipliers, if the piece-wise linear cost function has a corner
    1 A9 s/ A4 x1 X8 _3 `( d* z0 U      point exactly at Pmin or Pmax.0 `$ Q1 \7 E/ P5 v$ `
    10/22/97
    ) K: X2 o% r* P/ _/ T  H4 d    - Added to OTSgra.m (renamed to grad_std.m in 2.0) the ability0 I6 U( w6 o# z2 D' `( h- c" `, r
          to return the second derivatives of the objective function.5 K* y2 ?5 E# P+ ?- t
    9/24/972 S# Y1 Q1 S, e7 w, Q) ^
        - Fixed a bug in previous versions of runuopf.m which prevented it7 B9 I; l- o$ w  b$ x' H7 G- ?
          from printing out the raw data needed for our Perl DB interface.
    / z! s: y" k4 h1 |# ]  K# N. Q' U( `9/23/97
    8 M/ n9 B$ E- ~: u. k' m% G    - Fixed a bug in 1.1b1 in OTCCVgra.m (renamed to grad_ccv.m in 2.0)) c" i# r# U6 y& D, a
          which caused printing of warning message "Concatenation involves
    0 J8 }9 G( x, i" L( ]      an incommensurate empty array" under Matlab 5.
    " \# [& b% Z: I  e$ \1 h0 |9/22/97
    ' c( i  i  b. u; z2 e" q    - Fixed a bug in 1.1b1 which prevented runuopf.m from running at all.
    ' Z( U) F3 [3 x$ L, W0 Q$ n      Wrong number of parameters to call opf.m.9 l2 a3 b( A, c. a& r
    9/20/97
    . X+ ~3 Y8 e3 Z' w1 X" a: M. {  \8 ^, O    - Released version 1.1b1.# f4 \8 `2 F- b, n) e$ V
    9/19/97
    $ |- ]% Q* ?: Z    - Modified the formulation of the OT-based OPF. The objective
    : m' O% J* B# f- {! j; ~% Y      function may now include costs for reactive power as well as
    9 [5 \# d. b' p8 I4 r. u      active power. In previous versions the reactive power variables; D2 D* c4 U0 J* O( J$ Z4 n
          and reactive power balance equations for generator buses were
    ; k, J  E4 j0 a/ `2 `" c, l      not included explicitly in the optimization as variables and
      p* W* d" u- Q      equality constraints. Generator reactive powers were computed3 q) r& `" V( d) k2 _
          directly. Now they are included explicitly in the optimization.
    ' G1 a8 ^! N& L- W, R3 P; W/ ?  \' }      Costs for Qg are specified in extra rows int gencost.# a- j: w2 Z8 P% }( S2 v/ s+ U2 g. P
    6 D+ m) f- n; q* j- _
    Changes since 1.0* a; Z, U1 F! x8 ~9 ?
    -----------------
    9 d- v. c4 v3 |. ~( u6 N% J9/20/97
    * V, t! R. h) E    - Released version 1.0.1.
    7 j$ W" N( Z/ ]/ W" g9/19/97
    ! b& i5 L& A! p; l" T, I: k, C    - Fixed a bug in 1.0 OTSgra.m and OTCCVgra.m (renamed to
    $ U' [" `# x* [6 ]      grad_std and grad_ccv.m, respectively, in 2.0).m which used9 f8 Z4 h+ a2 r  {- y! [0 O
          incorrect coefficients to compute cost if specified as0 [1 x* H6 s# j
          polynomials of different degrees.2 a9 b, N, g' \1 |2 {: S
    9/18/97& F' |; a# ^* U6 k4 p
        - Fixed a bug in 1.0 in OTopf.m which caused the last equality! y: a) e" A) m
          constraint (Q mismatch for last pq bus) to be treated as an& U/ y$ X3 j0 g% P
          inequality constraint. It appears that this constraint was) ?& J3 ^# O- e9 u2 J6 M
          normally binding (unless Qd was negative) in which case the
    + O. Y) a* m+ M: H      solution was still correct.
    - I+ V8 P+ [  t1 b, d    - Fixed a bug in 1.0 in runpf.m, initial voltage for generators
    : D" N* O- [! H4 Q      which were shut down were taken from gen(:, VG) rather1 ~( h7 `& r) P. P' Q2 t# O; L
          than bus(:, VM)., p" e4 i: U* N2 H& j2 C
        - Fixed a bug in 1.0 in varVg.m which caused Kuhn-Tucker
    6 b2 O2 G; m9 f7 Z; c2 [% f      multipliers to print out in the wrong place for LP-based OPF.
    2 f4 R, O+ [7 L2 @0 {) s
    3 h) b  V+ h, S0 ?) y# |' yChanges since 6/25/97 Version
    $ F, v. `: F" m: ~# R* `-----------------------------
      X/ O  h" i/ x9 W* x6 v0 J9/17/975 m* W( v* Z7 ^$ r; k" g4 z- Q  ^
        - Released version 1.0 (first widely publicized release).' ]' W* \& Q2 }9 ?. y; Q5 B  W
        - added placeholders for LP-solvers that we can't re-distribute
    + R- i  t, G  J  }    - updated documentation
    . N1 V4 _3 @0 f, ^8 N5 D9/12/974 `( J) P0 S3 [( I8 w, y
        - added ability to do pretty & ugly printing at the same time
    ' X7 C9 {: j6 ~0 a# z8 `9 a      also documented that ugly printing is for talking to our; K8 S# ^7 ~# g& ~4 O# n. T( t+ |
          our Perl database interface code+ h! {" e4 }" X+ g' b, X+ {5 S6 c
        - included Deqiang (David) Gan's LP IEEE -> matpower data
    " T- ?3 w* O1 c. w* ]  q6 l1 ?" s      conversion code
    5 K, S! y: x4 m* ^& K6 y    - included Deqiang (David) Gan's LP based opf code
    - X/ b+ e2 }* l0 S& z    - fixed LAM_Q bug, now computes correctly for generator buses5 V" ]* C7 {% |" m
        - fixed some bugs in totcost.m3 L6 l  p/ G- z! z2 N
    9/9/970 c1 h7 y! _6 {! j5 H
        - removed PRICE from idx_gen
    ; S: I: ?! x. X1 X8 C9/4/97$ P! c6 j# x6 G
        - added code to convert from (possibly non-consecutive) external1 h" s1 `/ `- P% k' F. Z
          bus numbering to consecutive internal bus numbering before' h' p4 K6 K. R6 ^* }- K
          solving, and back to external before printing results7 N# L% e8 ~$ }. T- o
        - replaced test*pf with run*pf which are now functions
    ; v) l  e  f, d5 A! z  A      taking the casefile name as a parameter (among other params)
    ) K1 d9 o# N4 L4 C    - made changes necessary to handle new format of case file+ L( W1 ~! k4 g' ]# g  p2 Q' K% E
          (generator costs moved to gencost variable)/ c& C: {1 ~9 k" {( N# e! ]8 k0 d

    ) z" g( o8 E' N' P6 lChanges since I started keeping track
    8 W6 `* w0 ~! ]" |" Q-------------------------------------
    8 s+ d& M* I5 D  [# {* s6/25/97; ~" B) N) k7 w. f  |; z
        - made first public release (not widely publicized)
    ' r: Y% {! I' l& O    - documentation updates' |: t, o  K( v, T, T+ `* I, r2 b0 j
        - changed names of m-files to fit DOS 8.3 limitation
    9 e6 P( h' ?7 q- N        buildsbus.m     =>  makeSbus.m; a! f( Q' j" v6 s+ y) J3 n
            buildybus.m     =>  makeYbus.m
    # E3 G; o  _4 Z7 S$ h: x* v6 K+ `        idx_branch.m    =>  idx_brch.m
    7 d, B5 N) N2 n0 W7 y        dSbranch_dV.m   =>  dSbr_dV.m
    ! x  p5 V0 \7 J        dAbranch_dV.m   =>  dAbr_dV.m2 T) h# [. O7 G( Q
            ucopfsoln.m     =>  uopfsoln.m
    0 K! L. w( R* v' l$ y: a        testucopf.m     =>  testuopf.m# K. f1 l. ]- i9 {
            ucopf.m         =>  uopf.m  (for naming consistency)6 Z7 Y5 L) r! r" b* o
        - changed copyright notice( j. g6 \$ [3 B: R8 ?3 ]0 k4 s: p
    6/18/97
    + M! C9 F* a3 F; T" R9 p4 d2 S    - modified ucopf.m to allow a generator to be turned back on if2 }/ ]; ^- O) s4 l+ C" n: t
          shutting it off results in an infeasible (or at least8 h4 J( i1 b. a# H! ^
          non-convergent) OPF, also changed the order of shutting down/ S: ?1 X8 n" A6 D) e
          generators which are dispatched at zero, now chooses one with
    $ v' r, r5 ^$ L( M& M      largest mu_Pmin     
      S2 F7 m# v- C! e4 I1 S* h6/12/97
      Q, W! r) Q5 q  p. D0 `. J5 x    - fixed bug in printpf.m so it doesn't print PG & QG for gens that) d% P# f$ @! I
          have been shut down
    $ H3 {7 h& C$ X9 f# Y/ H1 x    - fixed bug in pfsoln.m to correctly compute the reference bus power
    + _* V  g) d" Y" p# o, U1 f      injection when generators have been shut down
    & g) ?( @' H3 Y$ x6/10/97. c8 C8 d2 b/ o& P0 I1 Y
        - fixed Vg initialization bug in testpf.m (not just testopf, etc)4 k* D, @/ n1 K/ U' |. {9 Q+ {9 d2 ]
    6/9/978 t0 R& ^+ M  z; U5 z! O$ D0 w
        - fixed bug in PLCCV versions which set the initial values of the
    ; S: x* `; R, k      cost variables wrong (used p.u. Pg instead of actual)- o' n1 y0 j( X
        - made opfsoln.m copy generator voltages back to gen(:, VG): @) ~0 I6 L1 ?" _  l7 x, R) `
        - fixed bug in code which initializes generator voltages, it was
    & x, K% U" k  `' Y% }. I! V      always setting the angle to zero, now it uses the value from the; A+ g$ q2 |  A7 @  B
          case file
    ' ]0 n% ?, t: ?3 x7 I/ v  C6/3/97$ b0 j9 Z! r0 \/ ^8 B8 H! b1 L
        - included opf variations which use cost variables constrained
    7 M1 T. B; g6 G- K" n- j7 U      by a piece-wise linear cost function (PLCCV = piece-wise linearly
    ( j% b6 @8 p3 G      constrained cost variables)4 h. L, F+ Y. G8 B/ V
    6/2/97
    9 C  z( D0 D' @: f    - included opf variations which use cost variables constrained
    . R( ?' n3 V& T$ d      by a quadratic cost function (QCCV = quadratically constrained! w2 w$ v1 F: x
          cost variables)
    5 c6 m8 a4 E$ e4 x    - included opf variation which allows generator voltage
    ) g1 s" p# a$ o1 V      magnitudes to vary% Y4 G) A( \0 j9 g* y
        - fixed line in test*pf.m scripts which initializes V0 (I'd missed% S* u) O$ p0 @( X& P. K
          the sqrt(-1) before7 @( j: }5 \4 z& x! i: j
    4/16/97
    6 q8 i7 b6 j3 N2 {* t    - changed line 59 of ucopf.m from "return" to "break" to ensure: j. B* }- ]. k3 L* q) _  Z
          return values are correct/ q# w0 l; Q- P: N4 j9 W% c& s
    4/14/97
    2 F3 y) L( ]( ^$ ]% {* ~0 ]    - added some print statements to ucopf.m" y# Q, a+ c) H$ A
    4/12/976 W4 ^- K* n9 }" I( q5 K' F$ P
        - reduced max iterations to 100 for constr in opf.m
    ! l. ~9 m( S" Z! _$ W" \4/8/97) M9 e% L& |8 d0 P8 h
        - modified opf.m, ucopf.m, testopf.m, testucopf.m to include
    1 Y9 e2 c8 B1 h+ e2 K      "success", a variable which indicates whether opf was solved& r: C1 W2 p: d' h
          successfully or not
    6 {4 ~4 `! o( A: J9 M8 h4/7/97
    9 c+ e! ^; X; g/ x' g    - fixed bug in ucopf.m, assumed all generators are initially
    ! b; v7 C1 Y/ B' z( f" ]      available

    matpower3.1b2.zip

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

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

    该用户从未签到

    尚未签到

    发表于 2007-3-20 16:33:32 | 显示全部楼层
    我也有一个
    6 @5 j; X$ Y+ j& R/ H不过版本好像没有楼主这么新7 @4 e: |& s7 V
    支持一下
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

    该用户从未签到

    尚未签到

    发表于 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 + n2 B  p6 y2 `* e0 B0 [' N; ?
    $ b0 @, E+ {1 w& m2 z( w

    " S. M) }# Q$ r0 i    下载试试,呵呵
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
    您需要登录后才可以回帖 登录 | 立即加入

    本版积分规则

    招聘斑竹

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

    GMT+8, 2026-10-10 02:58

    Powered by Discuz! X3.5 Licensed

    © 2001-2026 Discuz! Team.

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