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

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

matpower3.1b2

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

    连续签到: 1 天

    [LV.1]初来乍到

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

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

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

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

    ) c) G5 r6 [  P$ z+ hChanges since 6/25/97 Version
    & O. M8 {2 i( d4 e-----------------------------" x8 \  }0 V$ f* B9 f+ u' z  `. B
    9/17/97
    ; Q( {) j6 t0 Y' G* K* P8 L    - Released version 1.0 (first widely publicized release).: {9 s; V" h( N, O( T
        - added placeholders for LP-solvers that we can't re-distribute; _, K7 s* b- a
        - updated documentation* J, k. ~) w6 B3 J9 O; M
    9/12/97+ a: @0 _8 o* I) ?
        - added ability to do pretty & ugly printing at the same time: a. z* M) Y  Q
          also documented that ugly printing is for talking to our, p/ U) m& L7 ]( t
          our Perl database interface code% X+ N+ n  |. L- c: ]
        - included Deqiang (David) Gan's LP IEEE -> matpower data- J0 `( H" k; G2 g
          conversion code( i  }- t6 s' C  Y. |' F) W1 W
        - included Deqiang (David) Gan's LP based opf code
    5 ^0 v# z5 w. Y8 G! i( \& j    - fixed LAM_Q bug, now computes correctly for generator buses
    / z* j; G4 n0 m3 @9 m! I$ p    - fixed some bugs in totcost.m9 c6 f7 \! Z: D& ]5 a% [
    9/9/97
      ^  r4 p! [7 }5 |: ?    - removed PRICE from idx_gen2 B8 Q( \0 X5 t
    9/4/97. H+ |) E9 w* k+ y7 }. j# \/ Z
        - added code to convert from (possibly non-consecutive) external: ]7 ]/ w* Z4 f7 A, A
          bus numbering to consecutive internal bus numbering before
    + t' @3 n) }. M! X      solving, and back to external before printing results" L, \/ E1 n" w9 m5 j; \, G
        - replaced test*pf with run*pf which are now functions
    . ]6 {+ `6 f0 ^% j      taking the casefile name as a parameter (among other params)
    . s3 B; a7 R( \+ x    - made changes necessary to handle new format of case file
    , _$ i9 ^: R  o  G) k" B      (generator costs moved to gencost variable)
    " z% O5 J5 N: _/ P
    * F1 _7 s: j8 r/ H% k9 Y* W! AChanges since I started keeping track. k7 z! G4 p& i# w1 f' ~
    -------------------------------------
    8 l/ N2 B5 D, F6/25/97% Y6 ]( d% r+ P8 F3 P
        - made first public release (not widely publicized)
      Q) C; t, u4 U' O! x& g; X  \! N    - documentation updates% P0 }  J; n; b" K  S1 _3 \# r/ o5 v
        - changed names of m-files to fit DOS 8.3 limitation
    1 B1 k+ ]' v3 }  _1 }/ a        buildsbus.m     =>  makeSbus.m
    ; E- y1 S- j2 Y& p/ a; g        buildybus.m     =>  makeYbus.m/ M, d6 p  R/ s) K0 q& n2 t7 h
            idx_branch.m    =>  idx_brch.m
    ; M1 i$ D3 M% M( `/ j+ a1 y        dSbranch_dV.m   =>  dSbr_dV.m
    , V! u) E6 [  r+ {1 n: _! t" L        dAbranch_dV.m   =>  dAbr_dV.m
    ) X/ i) D* ~/ X& t! q- j! |        ucopfsoln.m     =>  uopfsoln.m, @5 N8 Y! K8 M; c% Y
            testucopf.m     =>  testuopf.m
    1 |) {7 W7 M9 b9 J. y# k1 t2 ]        ucopf.m         =>  uopf.m  (for naming consistency)9 K/ G- F( i- D* Q& j: B
        - changed copyright notice
    , w. M( D! @5 R% v2 ]% c0 @6/18/97
    ! ]; o% r5 C" j9 V: Q4 _7 O3 a" ~    - modified ucopf.m to allow a generator to be turned back on if- q& O8 D7 i" l3 p. {; k) n
          shutting it off results in an infeasible (or at least
    5 K3 m/ @$ r! k0 Y, b6 N% A3 z7 M      non-convergent) OPF, also changed the order of shutting down  D. t$ \6 q/ U! n' R7 _
          generators which are dispatched at zero, now chooses one with
    ) p5 h, o. o+ t  h5 e& c7 ?7 m8 W      largest mu_Pmin       q. y9 C! Y( x+ p+ O. `; w
    6/12/97: o1 ]# x& Y) W+ M2 k+ x
        - fixed bug in printpf.m so it doesn't print PG & QG for gens that
    / e4 C7 }! R- Q4 r) J      have been shut down3 U# ~) j) @& |; |4 Q( u: \
        - fixed bug in pfsoln.m to correctly compute the reference bus power. L, X* T  y) ]
          injection when generators have been shut down# m  h4 N1 q8 E0 w9 n
    6/10/97
    7 O( ]+ B1 L, D' \& U: J    - fixed Vg initialization bug in testpf.m (not just testopf, etc)
    4 @, i6 E6 q  X' A! A6/9/97% L- Y( k" E. s4 P
        - fixed bug in PLCCV versions which set the initial values of the# o: e- j9 {. p8 ~( A2 E
          cost variables wrong (used p.u. Pg instead of actual)3 ]  Y7 v; L8 p) |3 a2 Y
        - made opfsoln.m copy generator voltages back to gen(:, VG)
    , H2 W  J  Q* t% ?, D/ ~    - fixed bug in code which initializes generator voltages, it was$ l/ F/ K( \) O6 y/ r8 a6 j
          always setting the angle to zero, now it uses the value from the4 W  |# b. z7 ?
          case file
    - j4 q; Y$ p2 ^" n+ t6/3/97
    # F+ h( h6 E$ o& y( f, s2 I    - included opf variations which use cost variables constrained
    0 v/ g) t, u# y9 A" J, Y, U. ]      by a piece-wise linear cost function (PLCCV = piece-wise linearly' j& w+ o; c# I+ Y& o
          constrained cost variables)6 X9 d$ B1 C% B- ^
    6/2/97
    + o5 d0 y, h( U0 f    - included opf variations which use cost variables constrained
    1 q. T7 e3 ~/ F      by a quadratic cost function (QCCV = quadratically constrained8 A& V6 X  u/ _. t7 N
          cost variables)" o$ {" p# `( Q7 f" [4 H7 r
        - included opf variation which allows generator voltage
    ' O% R/ L  \+ I+ }* f8 `' m! }      magnitudes to vary
    7 K. ^4 t5 L1 o( ~! J    - fixed line in test*pf.m scripts which initializes V0 (I'd missed/ [* Y2 s+ B; R$ ?
          the sqrt(-1) before* H) ?# l+ X' g/ D
    4/16/97
    " {. G" t1 W: \; G    - changed line 59 of ucopf.m from "return" to "break" to ensure
    6 G% L0 J9 X: Y% |6 g/ ^# g' I      return values are correct6 |: L# n4 L7 i1 q8 F( v# e+ T
    4/14/97
    $ g2 L9 k0 u1 k8 K+ |* b    - added some print statements to ucopf.m
    ' f  g$ n9 X: b% `7 A+ s4/12/97" l7 Z3 F0 _; ]
        - reduced max iterations to 100 for constr in opf.m! E9 a9 \* Z' A, P2 Y) I- ^* c- H
    4/8/97. l# s# U; Y' Y/ k* i
        - modified opf.m, ucopf.m, testopf.m, testucopf.m to include
    / ^; H7 }' k( o) o- z( g2 k      "success", a variable which indicates whether opf was solved
    ( ]# f+ q; ~! ]% Z  ?" j" A      successfully or not
    0 k) w) }0 W2 Q1 k4/7/97
    / O4 ~, N1 k& ~( a; ~    - fixed bug in ucopf.m, assumed all generators are initially
    + G* h  \$ N8 P- m      available

    matpower3.1b2.zip

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

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

    该用户从未签到

    尚未签到

    发表于 2007-3-20 16:33:32 | 显示全部楼层
    我也有一个" Y0 G1 p4 C  v: K
    不过版本好像没有楼主这么新
    1 {& w; C# d6 E2 e; ?支持一下
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

    该用户从未签到

    尚未签到

    发表于 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
    5 M4 \$ ^3 Z0 m7 `
    0 W, }3 _; d5 U0 r* G
    + ]: ~( Y1 s. e) N    下载试试,呵呵
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
    您需要登录后才可以回帖 登录 | 立即加入

    本版积分规则

    招聘斑竹

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

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

    Powered by Discuz! X3.5 Licensed

    © 2001-2026 Discuz! Team.

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