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

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

[讨论] matpower3.1b2

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

    连续签到: 1 天

    [LV.1]初来乍到

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

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

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

    ×
    -----------------------------
    5 _4 H0 U( J) B6 I# C4 w7 } Change history for MATPOWER3 ?$ A" f3 v- `! M2 ?# e6 r
    ------------------------------ g% @9 f& H! X
    Version:    3.1b2
    + o, q# y3 W# @9 h% Umaintained by Ray Zimmerman <rz10@cornell.edu>) a* x# F' L6 z) R
    MATPOWER
    / m2 s' [' v2 G/ Y$Id: CHANGES.txt,v 1.27 2006/09/14 18:20:40 ray Exp $3 I  U9 K' u0 _( p* A0 {
    Copyright (c) 1996-2006 by Power System Engineering Research Center (PSERC)$ ^% m3 |3 C# F0 B
    See http://www.pserc.cornell.edu/matpower/ for more info.( d9 c( O0 j: f* i; @& w; }

    1 c9 e2 D* m) R' e( p1 ?; oChanges since 3.1b1
    $ N1 a4 J" ?3 Q-------------------
    , h: f& q1 a7 c9 j9/15/06: X* q+ l) G6 D' |% G; |+ E5 y+ }0 \
        - Released version 3.1b2.
    7 g' @8 g- I7 S1 b8 }" }0 O  `5 r9/12/06* @/ t! {1 @, }' w% b  }( t
        - Added makePDFT.m which builds the DC PTDF matrix for a specified
    / l. s- C5 I; M+ I$ m. y      slack distribution.
    . X3 O' l' W" S* X+ l/ }' W8/16/06
    " D  p( s1 D) `, X* q) g4 _1 U' o    - Added optional outputs xr, pimul to fmincopf and opf.m to make them
    & l. C7 _5 u4 \0 j# k      fully interchangeable with mopf.m.3 B( {, G) k8 {1 s, I
    8/15/06
    4 D! `0 Q$ n& ^    - Added branch angle difference constraints to general OPF formulation2 x! L6 O9 c  |+ ~/ p( R; X1 X
          in fmincopf.m (and mopf.m)., H6 E% P4 |* M
        - Fixed (invisible) bug with multipliers of lower bounded linear
    , b; |4 l& B4 |  r0 T. [      constraints in fmincopf.m.
    " {5 F5 i; L6 v$ d+ @5 w1 f+ c. x! A4 k2 ?( g' o+ m
    Changes since 3.0.0
    " V( x! k' c; a) ?6 ~9 ]-------------------
    ' i* f% Z* N/ j/ j9 ]2 N! n6 r5 F- ]8/1/06
    + |) r' B# |3 k    - Released version 3.1b1.
    9 _/ T% W  i# H3 T+ a% e7 T  }6 K4/28/06
    7 N( z& C1 f5 _" Z    - Fixed mpver.m so it will properly handle case where the Optimization4 {  f) ^) W4 x
          Toolbox is not installed.; ~1 \3 h1 N# u( H3 b
    3/15/06
    1 y9 j0 V! D- u/ x3 P- I    - INCOMPATIBLE CHANGE: Updated opf.m, fmincopf.m, costfmin.m, consfmin.m to; d! _1 B; k3 b* L& v
          be able to be compatible with latest MINOPF. User supplied A matrix for7 u) o1 Z( ^7 l# `( S; w. [
          general linear constraints no longer includes columns for y variables
    % d: u/ p* X, R5 ~5 A" C) M      (helper vars for piecewise linear gen costs), and now requires columns* a" a" N- Y/ X9 V2 D1 t, r1 |
          for all x (OPF) variables. Added generalized cost model and generator PQ
    # |8 {* b9 a1 l" t      capability curves.
    9 I& c' h& @; j3 D" H, N) @0 I$ f& \    - Modified savecase.m to always save MAT files with -V6 under newer MATLAB& P) |$ T% O2 e* E8 U( S
          versions.* U" Y+ n0 U4 `6 Q5 g5 m* o
        - Added a number of tests to t_opf.m for MINOPF and fmincopf for generalized; S: @9 @- C2 J. s7 {
          costs and additional linear constraints. Added test for fmincopf for, w" c$ G7 V3 w1 J- Z; A) q
          generator PQ capability curves.
    8 g3 z, E+ C- H3 v% n; ]5 g6 j, c9 u3/10/060 f+ P$ Y3 o2 L: V# \
        - Added baseKV data to case118.m from PSAP file
    5 N" ^) ]6 J" Z* h: l4 u( K      <http://www.ee.washington.edu/research/pstca/pf118/ieee118psp.txt>.
    ! m& E1 }- t# o4 }3 R3/8/06- B# c1 L5 r8 D6 g" j
       - Renamed col 5 of gencost from N to NCOST everywhere.
    " Y! i/ ^! o) a# b6 @10/14/050 ?# @' V" a5 j: g; [
        - Updated version 2 case file format to modify generator PQ capability
    + `& U7 s2 O" _& f+ F. R      curve specifications.
    ) t( P/ H8 B; o6 c+ g' y! L    - Added hasPQcap.m and test for gen PQ capability curve in OPF.2 `$ v) G, z" W: O
    8/22/05
    " s# B) L# c/ N3 U    - Added OPF_IGNORE_ANG_LIM option to mpoption.m.2 ]0 S! Z0 u& T' h0 n  L
    8/5/05
    / D1 t* y# N) H% q, \# `8 f    - Modified identification of binding constraints in printpf.m. A
    ( Q) ?0 N+ _4 K1 U+ t      constraint is now considered to be binding if the tolerance is less, R6 X/ N% M0 w$ R& Q
          than or equal to OPF_VIOLATION tolerance -OR- if the corresponding
    & t" _8 y1 h1 {7 X      Kuhn-Tucker multiplier is non-zero. This allows binding generator
    / e4 ~: H8 q( s( @      capability curves to be reported via multipliers on Pg and Qg limits.
    3 F2 n2 ~- h/ [: {7/8/05
    ! L7 d9 p0 i  U2 S  M    - Updated loadcase.m, savecase.m, idx_bus.m, idx_gen.m, caseformat.m
    ' p9 w' \5 V  N0 i0 W      and tests for version 2 case file format, which includes piece-wise6 e: z# J! M1 N  z
          linear generator capability curves, generator ramp rates and branch
    3 a* Y6 ?, F+ R0 N7 Q- v3 K: e7 g      angle difference limits.. _% B0 s5 C1 Q: A5 l6 I3 R
        1 B9 g0 b; E& Z) o# _7 a! D' ?
    Changes since 3.0b48 X, ]3 O+ z* x% D
    -------------------0 L5 b5 ~2 N* R7 j( ~3 f6 s
    2/14/05
    : @- \; J, \2 i0 |) O- J    - Released version 3.0.0.
    7 V/ F8 v3 E$ _5 u3 z8 h( W9 }2/3/05
    ! D" Q4 p8 u# ]. B& x    - In mp_lp.m and mp_qp.m, on Windows it now makes sure BPMPD_MEX is not: R  d) A8 P0 K% g
          called in verbose mode which causes a Matlab crash.
    6 i. ~; W4 R3 @8 g& ]. M7 ^
    1 Q; C# [) |0 ]# p5 B: oChanges since 3.0b3# w7 z  o+ Q: ]& \
    -------------------
    . H! k( d- G- ]9 [5 f$ y1/28/05
    - b8 i6 d+ r) L    - Released version 3.0b4.
    % b$ L. l$ ^. @  G; }% b8 C& l1/27/05
    / l; T- k/ n0 V    - Added case6ww.m and case4gs.m.6 _& A2 K+ b9 r9 Z/ c" m( V4 Z
        - Minor modifications to printpf.m to handle larger bus numbers.
    3 k! q. c& P; l- K1/26/052 ?6 e$ `/ K8 H1 x
        - Minor changes to uopf.m to make sure it plays nicely with dispatchable
    - F8 ~; a( P" E: S$ y      loads.9 B# c0 I8 H; ^
    1/25/05
    * h' f/ l4 ?  o: J" _    - Major updates to user manual.4 G' u4 @+ s6 m) w4 ~% c3 U$ j9 M
    1/24/05: w" W( K3 D# S% |1 |! w
        - Switched to using the new isload() to check for dispatchable load.0 K8 g  W  |  \, {
        - For dispatchable loads, switched from using PG and QG to PMIN and either
    / J/ Z6 Y( {2 ]: m: B0 C% K      QMIN (for inductive loads) or QMAX (for capacitive loads) to define the
    ! Q! b3 {3 F; q1 ~+ v7 q& o      constant power factor constraint. This prevents the power factor' n! C- a, X3 |* |3 A  y  Z% ?
          information from being lost when it is dispatched to zero. If the initial2 L( H! L4 A) @) |
          values of PG and QG are not consistent with the ratio defined by PMIN0 c( z8 p5 s% q3 a) l& }
          and the appropriate Q limit it gives an error. This is to prevent a user
    : b) E, U1 @$ e0 j      from unknowingly using a case file which would have defined a different! ^4 V3 P6 J* V
          power factor constraint under previous versions of MATPOWER.
    9 V' C9 Y1 g& N      If both QMIN and QMAX are zero, it no longer includes the redundant- y% h1 j' l+ G8 R
          unity power factor constraint.8 b! U8 ~6 z& s; ~0 S/ ^
    1/20/05
    : N* N' \: R: T    - Updated printpf.m to display dispatchable loads and generators2 v4 E& s" a8 P3 P
          separately. Reorganized the area summary section and corrected the net
    $ l! s* H, |5 |, U. [      exports value (subtracted half of tie-line loss) to make the numbers
    # ?$ m6 ?9 W+ g( I      add up correctly.
    : {' ^, |5 {9 C; T4 g, T1/18/05
    8 F+ B" t8 N' N6 ]4 U- {9 g7 V8 P9 j4 a- B    - Added to runpf.m the ability to enforce generator reactive power limits/ u* ]( ?& k6 A2 E( W9 d
          by allowing the voltage to deviate from the set-point. This option is4 y0 M1 R; t, o+ P. t
          controlled by the new ENFORCE_Q_LIMS option, which is off by default.
    / W) P$ Z3 U( S8 c1 }          (Thanks to Mu Lin of Lincoln University, New Zealand. C1 x6 V; j" F
               whose contributions inspired this feature).8 s2 K* c3 j. p4 Z+ H9 w) J
        - Modified pfsoln.m to divide reactive power dispatch between multiple
    4 i& b9 J% L. S  I      generators at a bus in proportion to each gen's reactive power range,
    & y+ P. X9 k$ R      as opposed to equally. This means that all generators at a bus will
    ) m% o2 v; D! q1 S- I) E& [      reach their upper (or lower) limits simultaneously." X: v7 L3 b0 d$ O: v' g
        - Added generator status column to generator section of printpf.m output.
    4 s4 E) \; N3 P+ Z  R+ I6 p      Fixed bugs where non-zero output of decommitted generators was displayed3 X7 K, J- r$ J8 [5 Y: {% N- y
          and included in generation totals in generator and bus sections.! ?2 J, c. s$ y! S! n, b
    1/14/05
    / P6 V. e$ N, e2 D, n; s    - Moved some setting of MNS_* default options from opf.m to mopf.m.
    . ]" N1 L7 ~/ j; p: A# L! K, p    - Eliminated unused output args in dcopf.m.
    / f/ f/ b/ u6 ]' D" \3 P. x    - Modified printpf.m to zero out reactive generator output for DC cases
    " e9 E. O5 A! [/ \. J% x      and to use OPF_VIOLATION tolerance to detect binding constraints, as
    2 o5 M' w' ~+ s: r# A: j1 b      opposed to non-zero Kuhn-Tucker multipliers.
    ; R% z) Q$ {9 t; I( [1/12/05
    2 w, h; `5 H& @/ `3 S2 a    - Modified bpmpd portion of mp_qp.m and mp_lp.m to use default value for
    8 M4 f& N' o( r; x* _8 x      TFEAS2 and eliminate variable limits which appear to be artificial- r5 U8 C0 d3 E) ?
          large values used to indicate free variables.1 X1 a4 p: d! p
    1/4/05
    * G/ M$ p1 C+ U: S. L% k    - Fixed potential bug in dimensions of Yf and Yt created in makeYbus.m.. G+ u" S8 u5 Q' v( I  q; ?7 W& L
    12/17/04
    * V' Y- {+ [2 G+ j& R+ `5 K/ m    - Added feasibility check to mp_lp.m and mp_qp.m to work around a
    ! f  {9 m2 y8 _& o      recently discovered bug in BPMPD_MEX 2.21 where it sometimes returns an' c/ N3 S$ K7 u. M# b* O
          incorrect (infeasible) solution for a DC OPF problem. This bug has yet
    5 U. q" K  k) ?/ {1 v      to be encountered in any other context.; i% V) ~! g- v. z/ L! Q
    12/13/04
    ( L; K7 V; ?5 N/ `- S1 \3 Y" H5 s    - Added mpver.m to print version information." x+ k) I, ~* ~4 a
    9/23/04
    % l) T% O* ?% S, a+ C% j" g    - Fixed bugs in cdf2matp.m which prevented it from working at all
    , @) ^# F' k0 {      when not specifying both input parameters and caused it to
    " w7 K) ^& O6 N6 D3 o3 q      sometimes not add the warnings at the end of the file.: F, Y5 y, T9 X
        - Fixed typo in name of lower bound input argument in opf.m. Only
    3 g( I* e; v" g( x+ K; F4 u      affected those calling opf directly with extra linear constraints.9 O/ j: ]  b# b# ^. o0 ]

    9 N; L6 |( g- EChanges since 3.0b2
    ) C2 ?# ]6 e! o-------------------( N  g6 T  |: J5 Y% U
    9/20/04
    ! ?& L9 N6 N& z7 z    - Released version 3.0b3.
    ! m8 Z* [5 q0 O6 J' a5 q3 ]6 i    - Generated clean versions of all included case files using latest
    ) e- ?* q. T; _" j1 C0 Z' z3 W      cdf2matp and savecase. Added documentation for source of data+ i! `; M+ X+ q4 J
          for case files.. {0 o% i- x& A1 m; o
        - More enhancements to cdf2matp.m. Adds comments at beginning, appends
    4 ?  W9 D2 h6 ^$ V1 V3 _      conversion warnings as comments at end of file. Uses savecase.m to
    ( R7 F5 V$ s& f      save the data.
    . _) F! n/ R$ Y( w    - Updated savecase.m to use %g instead of %f many places, correctly
    $ n, D% W9 J& i1 U  R7 M! Z9 w      handle multi-line comments, include headers for extra columns for
    ) P) B3 \1 Q/ E4 I      solved cases. Optionally returns filename with extension.* ?- ]  Q  S# e* m; l8 H9 A$ f
    9/17/04% d+ J2 C8 b3 w+ D, U
        - Fixed bug in grad_std.m, introduced in 3.0b2, which prevented constr
    / I/ V1 {7 k9 l: ]      and LP-based OPF solvers from working for polynomial cost functions.
    0 [+ l" r8 n+ r# I* z9/15/04
    2 D# p: W0 l+ z- e7 C# c    - In cdf2matp.m, added input args, updated docs, switched to named
    + A* [7 ~! V+ e      indexing of data matrices, new method for creating gen costs.
    . A- L. k# Q0 w    - Documentation fixes and additions from Pan Wei.  T0 o- U  O4 \3 ]' V+ K
    0 ?! P- k/ R. n: G- P5 L
    Changes since 3.0b15 c' y8 B; e9 O# X. r, M$ h& L- t8 n
    -------------------: n+ q! l; |! Q* X* b, m
    9/7/04
      K7 g1 _. V4 y( s( m7 o    - Released version 3.0b2.
    8 y( w6 o5 M, G% s4 c    - Added OPF_P_LINE_LIM option to mpoptions to use active power, ?. o: s6 b6 V1 ?  L
          instead of apparent power for line limits (thanks to Pan Wei; W' C2 X/ _1 @/ f6 D% m
          for the suggestion and some code).0 d% G1 Z) ]8 m* R% n
    9/1/04) B4 S9 W3 c0 t) `1 w) b. U
        - Fixed bug in savecase.m introduced when making areas and gencost% S2 M0 H5 ]2 Y
          optional., s8 P: u; _  z2 f, H
        - Updated opf_slvr.m with options for MINOS and fmincon.
      b- x( x' a( A& @    - Removed option 15 OPF_NEQ from docs (not a user option). Removed option
    9 ?6 r: L! M3 m0 R$ v! \( b6 P      52 VAR_LOAD_PF (unused, always behaves as if this option were 1).4 e# {" n0 ?' ~9 X) V$ \
          Changed semantics and default value for option 51 SPARSE_QP. By default
    ' X5 H3 p+ u9 H+ J0 s, A  u      (value = 1) it will use sparse matrices if a sparse QP/LP solver is+ W3 F7 N3 T+ C& K8 h- Z
          available and full matrices otherwise. Setting the value to 03 `% R( e4 A# [% y7 Y
          will force it to use full matrices even with a sparse-capable solver.5 R$ n& c3 `; ^3 N& n
        - Cleaned up checking for optional functionality, and fixed a bug. V5 L  Q3 U* Q: g: S; ~' Y6 i
          that would miss MEX files if there was an identically named directory
    , F" A; T- g. ]      by adding have_fcn.m.; C5 e8 y: p$ E: @6 a
            b* T5 I, T6 J7 ^1 j) }7 c3 p
    Changes since 2.0/ a, l" t$ z4 H6 r
    -----------------
    ) }: t/ I4 \( F8/25/04
    ! u4 X4 r# c) e" _0 V    - Released version 3.0b1.
    : R" c7 @- h8 g1 [$ e- R# q8/24/04& [) j) k5 n! d  n8 e' D+ @
        - Made mpoption() throw an error if passed an invalid option name.# J  l6 p8 e6 y4 R+ |% c
    8/23/04! S8 J1 m3 s$ {: C& k1 Q
        - Added an fmincon based OPF solver for the generalized formulation/ M7 F  \2 A5 R5 U: `/ N' d& S
          previously used by mopf (Carlos).$ H& j, i" [/ O
        - Restructured opf.m so all OPF solvers have a similar API based
    1 ~7 _- j1 i* ?8 a      on the one from mopf.m (Carlos).' z) A; G# E: p5 f- j2 _; B3 Z
        - Added some quick tests for runpf and runopf for each algorithm.
    % D7 ]+ h# g4 c) `" v2 M5 r8 E8/13/04" s6 O; ^' ~; _1 c. `
        - Renamed 'area' variable to 'areas' to avoid masking the built-in5 t/ H7 P# C1 O( k* c
          function of the same name.6 w6 P# f  w$ c' n5 ?
        - Made OPF data matrices 'areas' and 'gencost' optional for running- I/ O1 v* S# U* }7 @
          simple power flow.( M& I. b% `* D/ @' [) z2 z8 l8 ?" [% {
    7/15/04
    & V, V, V& S! Y7 R  \! ?) w3 \    - The loadcase function (and therefore all of the run* functions
    5 p' V7 l0 g7 X1 o" g: a; k6 o( a      now optionally accept a struct with the data matrices as fields, i; p, W. E, _& ?9 E6 K3 o) x2 B
          in place of the case file name.
    , Z0 Q) q: d0 }* l* [    - Added t subdirectory with various tests and testing tools.
    6 B3 E$ G, ]! {7/8/04
    $ t  B& h0 d6 F6 o. P0 n    - Updated mp_lp.m and mp_qp.m to try linprog() and quadprog()
    9 f" z' e1 M/ l8 r% l" h      after trying bp, since lp() and qp() are no longer included
    & {9 _6 h1 z7 c# F0 C      in the Optimization Toolbox as of version 3.
    7 K+ Z' M& ^% F# @- A7/7/04
    ' E8 W2 h6 L) S  F7 b4 |- _    - Removed case.m, added caseformat.m, made case9.m the default& ~4 ~0 [5 V  L- f& K" N0 K9 Y! y
          case and fixed function names in other case files to avoid
    5 S" }! _$ Z5 k, t3 ]      use of reserved word 'case'.  I' d5 t2 _8 A, M) ~
        - Fixed bugs in runcomp.m." P# `, }0 [' I4 \2 Q
    6/23/04
    8 `4 d9 O/ Q% Z; ^9 x: L    - Fixed bug in newtonpf.m which caused algorithm to diverge when6 M1 b$ H+ T/ N: E
          the Newton step resulted in a negative voltage magnitude.; l: R' `6 Y" ?8 M
    4/17/03
    & \8 M3 r9 d. x. m& L    - Changed uopf.m to use a dynamic programming approach. More
      i' W1 a/ o/ A8 ~, y      computationally expensive, but should find significanly better
    " g# f# [6 y1 E3 `      results when there are many gens to shut down.
    - K9 s% Z9 `5 a3 G$ F    - Added mp_lp.m and mp_qp.m, equivalents to lp.m and qp.m,
    - n. L; ?+ z) T1 S3 R      respectively that call bpmpd if available. Modified LPrelax.m,
    4 H  _6 V, Q; H3 R. v" B7 _5 `      LPsetup.m and dcopf.m to call these new functions.
    ; `# q0 k, ]  ~4/14/03/ p7 w0 ~  p5 A& K0 R- v
        - Fixed a bug in pfsoln.m which for cases with a single generator.
    1 J9 d' M2 K# o3 b/ ]* y% g10/23/02
    ) g' T9 \6 R" j# S! u- b    - Fixed bus numbering bug in System Summary section of printpf.m.* U/ P. E% G& F2 I( V! n3 c
    6/20/00
    4 o6 t( N4 g( }/ K1 `/ S    - Fixed a bug in printpf.m in the generator section, where9 c; f3 q. ~0 L  Y
          the generator was assumed to be off if it's real power1 d6 g  \' J. F; y9 w
          output was zero, even if the reactive output was non-zero.
    / F5 L$ V! y+ E% a$ [& J; m; j    - Modified printpf.m to print out lambdas in generation section7 z' R4 W  ]8 {- C
          for generators that are shut down.' U: x  P9 m" i1 v1 P& `# f
    6/8/00; W+ z9 ]2 H% [1 [7 x4 z
        - Modified cdf2matp.m so that Pd also includes any generation at
    ; _  f& {0 d$ D0 x      buses specified as PQ buses. Also modified identification of
    * o1 e6 O& I. r2 }! k, [      generator buses to include only PV or reference buses. (Thanks! R, S6 D9 W4 J. D) h
          to Venkat)
    5 v+ X6 }3 V, {: N* g4 x    - Modified cdf2matp.m so that it always treats the input values
    7 l9 v2 t1 X" a      for Gs and Bs as per unit values and converts them to actual
    9 |7 J" W! ~9 }; F      values expected by MATPOWER (Thanks to D. Devaraj)2 Y' L9 d- o! V, m
    version 2.5b3
    6 i5 a3 S% K" ~6 {$ w. }11/9/99
    , [1 B- b; f# H. d9/22/99
    - C$ M- |* o# X3 @2 W    - Modified grad_*.m to return sparse matrices, unless using
    1 c, z7 w1 W$ i      constr.m or an LP/QP solver that doesn't handle sparse: T& A8 B4 }' x/ [, H; ~! G
          matrices. Cleaned up sparse<->full conversions in LPconstr.m,% S0 C% H* r7 X3 V
          LPrelax.m, and LPsetup.m.6 _& v% k6 r6 X% _
    9/21/99& G7 v2 O' x) r! L3 J2 ~9 \
        - Undid a "bug fix" from 3/6/98 in makeYbus.m which zeros out8 j, S' N! K5 u+ v$ m8 L
          charging capacitance for transformers. Apparently some& g' V, n( I* ^  B3 y/ _
          transformer models actually have a non-zero charging parameter( T1 @' [: w; Z
          when using the model used by MATPOWER (ideal transformer in
    # A2 H+ Q: {, H6 \- n: i$ R. D3 m- G& ]      series with a PI model).
    * {& Y1 @6 p3 [: u) g! A) @9 H/ E' _! _    - Added loadcase.m which loads a MATPOWER case from an M-file. y* w; R! ]2 {7 q  s" ~( G
          or from a MAT-file. Changed all of the run*.m files to use this
    . W; _' g& M8 @0 Q4 _& x      as the default way to load case files.
    4 `* v! T6 K- j* E/ A  B    - Renamed print2mp.m to savecase.m and added the ability to
    ! Y3 X. a+ I4 P      save a case as a MAT-file as well as an M-file.
    4 p. u+ Q9 D- ?3 v! V& e9/15/99
    2 |0 D/ n6 c6 f7 c) u8 F; ]" r# S$ D    - Fixed opf.m so that it correctly uses the termination; Q7 J- L, e8 v
          tolerances in the MATPOWER options vector for constr.m.
    ) S3 p8 p& g* @7 ^    - In previous versions, Pmin/Pmax constraints are relaxed by
    3 ?) N' f; D6 _' Q" B      10 * OPF_VIOLATION in opf.m to avoid falsely reporting a; f- G. q3 O  ?" e5 t9 S! S( T
          binding Pmin/Pmax constraint in a case where a piece-wise linear
    , e$ |* Y4 U9 P5 A- P1 ~' {8 t- _/ I      cost function has a corner point exactly at the limit. This* M1 Q9 G+ K. ^# Y8 S
          code was moved out of opf.m (and the standard MATPOWER: Q& j  g" y' }& ]6 ]$ C' H
          distribution) to smartmkt.m and the value was changed to
    . p4 _0 J& A6 v# u8 ?% ^      100 * OPF_VIOLATION.7 K1 n# T9 Y. r' o/ P5 P* B3 V/ p. e
        - Modified opf.m so the MINOS-based solver uses OPF_VIOLATION/ G) R; h5 ^" w" y% ^
          to set the value of MNS_FEASTOL and MNS_ROWTOL if they are% A6 G  [1 c& ^3 I* ^: w8 e3 v
          set to zero.
    * O/ F: C. N: ~; A* p. M9/9/99
    1 e) K5 }" S3 F9 B    - Included MINOS-based OPF with all of its options as
    ! o' Q8 T. j$ z9 y$ k5 f3 g% @      algorithm 500. (involved including 'area' in calls to opf.m
    $ T/ r' T5 n' t0 ^! y      and uopf.m)  _* s3 D, B7 O4 F7 O4 y+ {
        - Removed some unused lines from fun_ccv.m and grad_ccv.m.
      P! V& c6 ]' H7 _# N8/5/99
    - E6 i) j, J  @3 s5 I    - Fixed a bug in the pfsoln.m in the distribution of Q among
    ) h' B$ {/ d, b      generators at the same bus. Initially attempted to distribute
    2 F; F- m, O" s" B# [      Q to generators proportional to each generators' Q "capacity".. [' L# Z# ~* V( h2 _1 K! s
          To do this correctly requires special cases for generators6 N5 A; w2 U8 V& x9 S! D3 h
          with QMIN equal to QMAX. For the sake of simplicity, we now
    * I+ g5 Z, u% K* j+ R. @6 G0 N; l      distribute Q equally among all generators at the bus.( h$ n5 V; K$ Z/ K) e$ o2 {$ E
          Note: As before, the simple power flow does NO feasibility
    . B0 Q$ [# k1 u$ t5 y      checking.
    7 B8 C# Q. h4 J& A/ P6 [3 V! W3 a7/19/99' d7 k; v/ G  l, s, M" m$ y
        - Modified runuopf.m and uopf.m to handle DC opf. Added the
    - y" U3 T( m/ m8 b" K      function runduopf.m which calls runuopf.m with the PF_DC flag3 t! O* U7 H' i
          set to 1.
    1 G: E$ o& d4 M1 M1 |- L( |: p    - Fixed size of 2nd order (all zero) coefficient of objective4 c+ v/ s0 a& p+ x  q" _" C
          for piecewise linear cost case in dcopf.m.
    6 k6 n  V2 ^! K' r( o  Q3 w7/16/99
    & [; V0 \5 F. F+ A    - Added the flag QP_SPARSE to mpoption.m to indicate whether the0 U' |9 s4 c$ o. f  T2 E" p
          QP solver being used can accept sparse matrices. Also modified
    2 j' h  U6 L7 y% a) A      dcopf.m to use this flag.
      u, |" V* w0 P* m, q0 ~! h    - Fixed handling of VERBOSE option in dcopf.m4 I# d+ _( X6 _
        - Added the flag PF_DC to mpoption.m to indicate whether the
    + Z( X/ V; O% A      power flow formulation to be used for power flow and optimal
    , r+ F' o. J. i" a* w! {$ ?: a      power flow is a DC approximation or full AC representation.- p3 t7 F# P# t* |# [: \8 V
          Merged rundcpf.m with runpf.m and rundcopf.m with runopf.m
    . K* \+ i& W: a0 G% {( c8 v      so that the appropriate solver will be used based on the
    + d$ z* A) u3 V* T( `5 V2 a3 r0 D      value of the PF_DC flag in the options. The functions rundcpf.m
    5 v2 j& T/ D7 e% L9 d# `/ X: \      and rundcopf.m were modified to simply call runpf.m and' u: R' t4 W$ ~4 B# F
          runopf.m, respectively, with the PF_DC flag set to 1.' b# t* P3 p0 O7 P2 a3 O% u  u
    7/15/99- u1 Z# T" b8 t: F" z# p4 A0 \/ ^
        - Changed the sign of the phase shifters in printpf.m to be' O+ C5 M$ \  |4 S1 J. L
          consistent with the bug fix to makeYbus.m made on 3/6/98.
    " y( o; a! g! V5 u" m& _2 _7/14/99* |7 r- R2 o1 j8 ~- B9 I
        - Included four new m-files (makeBdc.m, dcopf.m, rundcpf.m,
    3 o, O$ P7 E) r+ C      and rundcopf.m) which implement a DC power flow and DC1 @3 Q  j* M& N0 C+ N" s; m) e/ \
          optimal power flow algorithms.
    " v# }% c* L8 [2 ^7/13/99
    " q- Z' a; i4 _4 q    - Cleaned up variable names in makeYbus to avoid confusion.0 }; W7 X2 b) Y$ z4 m
    6/10/99
    9 R6 M7 {# \& L( |9 g: }    - Changed UOFP to UOPF in print statements uopf.m.8 W$ h; G2 T3 [; ]# h
    6/3/991 _$ ~* h4 `* M/ V1 d
        - Modified print2mp.m overwrite instead of append to an
    ! h: S+ t. s1 g  j4 P" Q      existing file.- p6 j- H1 p8 u
        - Fixed bug in cdf2matp.m to make it always correctly write
    3 v' w; ?( h9 r: j7 N; E# S      a text file output.) T. d9 Q) J6 p) H& E
    version 2.5b2
    % P+ V! e' Z, Q( D6/2/99/ A/ x, l9 c. |) V2 L( A/ c/ V
        - Modified print2mp.m to include line flows and Lagrange
      \' Y' F: Z8 i      and Kuhn-Tucker multipliers in output if available.+ a5 U8 F, b6 ]0 @
    4/29/99% z) J8 ~' ^. X8 Y, t
        - Included a Gauss-Seidel power flow solver gausspf.m, and
    ' i+ m) D' H# u1 J7 o      made corresponding changes to runpf.m and mpoption.m.
    0 X& B" F9 @+ h" A' z; d. ~. U      Code contributed by Alberto Borghetti.$ @( ~  ^: }% m9 G* r
    4/28/99
    . Y% E* e3 f/ X0 L& v; v( L    - Modified newtonpf.m to handle cases with no PQ buses or no6 P+ H% h) y8 }3 ?+ W' C8 D
          PV buses under newer versions of Matlab.
    % q" ?7 S, T$ Z$ X& q4 l! \2/25/99
    ) g/ o! @. R/ G  l) q# `    - Fixed a bug in uopf.m which occurs when two (or more)4 M/ i9 C0 V) d8 j% E+ `
          generators have positive decommitment indices but shutting
    * S% a5 Y5 `1 r% p1 h: |      them down one at a time always results in increased system
    . K+ Z8 j! p/ d) T2 l4 k      cost. In this scenario, it would go into an infinite loop
    $ v! ]& O# i, _* R9 ?0 b) C      of attempting to shut them down one by one.% u* {9 J2 U6 S; t$ D
    2/24/99' K) f- h2 f1 A' `
        - Modified uopf.m to be able to handle the case where the: d9 a1 D' n2 b( a1 e$ M
          sum of the Pmin's is greater than the load. It shuts down
    ) x* p7 t  E7 X0 U$ q      generators in order of decreasing average cost at Pmin  v/ @! G8 F& `) Z" b
          (breaking ties randomly) until this infeasibility is gone.8 ]" q. k. X' z9 B7 `: \
    2/16/99" s# O% Q8 s- B% c9 b0 [& b
        - Fixed bug in pfsoln.m which caused crashes in Matlab 5
    4 p& C  o2 b/ p9 t- B$ N; c, B      for systems with no capacitors.' \2 x% O0 q, u* K$ U
        - Added print2mp.m, which can print out a MATPOWER case file
    ! v, L0 K8 W, I/ K: k      from the data matrices.; h+ j' `( M, g; B
        - Added to run*pf.m ability to save solved case.) d9 U/ U: D: r  X4 y8 A7 _; A
    2/10/99
    5 e- n" }* u7 O6 O. K4 U    - Modified ext2int.m to allow for area matrix to be empty.% N% N6 ~" R/ P% A" x; F! Q5 @
    12/3/98
    1 h/ i5 O/ _. I/ k5 G    - Changed pfsoln.m so that there is only one slack generator.
    ' q  k* f' s4 _) x& Z  i      Instead of dividing the P between multiple gens at the
    . U$ D& C" N2 N& }0 ]# x      slack bus in proportion to capacity (this caused problems
    - q7 d5 e# _7 j. r6 z4 a      for the LPconstr versions of the OPF), it now treats the
    1 x% i) p& H; Y# x' U      first generator at the slack bus as the only slack generator,
    - m2 X) R" P( _! d$ u2 Q  k1 J      leaving the dispatch of the other gens at the bus unchanged.6 F( m6 i. P$ \! u- Q
        - Added generator number to generation constraint printout and
    4 _3 t0 h" F' Z( Y$ p      branch number to branch data and branch flow limit printouts.8 l. G7 x; f2 O$ Q0 ~
    12/2/98
    3 ~$ V3 y9 O( t) k( I2 I# d    - Changed printpf.m to print elapsed time and objective fcn0 \/ ]0 n9 O" a* B/ l* `
          value even when OUT_SYS_SUM is turned off.& H- o  ]" V; I) r
        - Added code to LPconstr.m to explicitly zero out lambdas for; B& k/ v7 w7 t
          non-binding constraints.
    " N7 X9 g+ b+ M1 }, S" d: u5 ]) B12/1/981 Y! C4 b* `- {5 W2 s
        - Made modifications to ...$ Y& P2 ~, F( w$ m) L  ^' C) L
            bustypes.m
    ) W6 A* w7 `9 l4 T        fun_ccv.m. G5 q( t' a& d8 V) F
            fun_std.m
    3 e% n& O% v4 \, I        grad_ccv.m
    4 w/ F* Q/ d( V* e, `) A- g        grad_std.m
    " T9 k1 F, m$ y) V4 \        LPeqslvr.m
    5 k- x) ]4 z7 x4 ^0 E        makeSbus.m
    4 o  r  g  x- u5 {9 E8 I        opf.m
    . `0 c: i* E4 l% [        opfsoln.m- q% y0 w9 \% X" ]8 w
            pfsoln.m
    $ c/ D, O: y) e        printpf.m    3 M% t; A+ e' ~- T. U. p
            runpf.m
    4 W2 u% ~8 E, F# C; W2 E( `) u9 _      ... to allow for multiple generators at each bus. For simple. {  ^: e' v7 t$ }
          power flow, the Q dispatch is divided between multiple gens
    6 i$ P* k- @& O! Q+ m      at a bus in proportion to each gen's Q capacity. Likewise3 @% N5 N5 O; L' [
          with P for multiple gens at the slack bus.
    % T( R4 n0 |0 C: ^( ~10/29/98
    - l8 d7 `. h8 m3 O, g    - Fixed bug in uopf.m which caused it to crash when attempting
    " P" F/ D- |3 u5 H2 T2 i      to restart a generator after more than 2 had been shut down.0 O  l$ l9 z* I9 |' l* Z# `9 m! ?! E  e
    10/19/98: V* U3 s; T8 X$ x2 Y
        - Generalized definition of GEN_STATUS column of gen matrix
      D- l; I) X5 U* d8 Y# \" H6 Q      to allow for distinctions in the status of out-of-service
    9 \, L9 s* x. w2 Z      generators. The default values of 0 => out-of-service and
    4 `! K/ U/ c' D8 q2 T& Q. ^: l      1 => in-service still work, but the logic has been changed
    5 j/ ]& s7 t' \      so that GEN_STATUS > 0 is now in-service and
    8 R2 f5 _4 `  j$ `* [" e4 z      GEN_STATUS <= 0 is now out-of-service, as opposed to4 U2 a  F1 m7 C' N$ W
          GEN_STATUS ~= 0 and GEN_STATUS == 0, respectively, which
    ( P/ x" F. I' q, j" p  c      was used previously. This allows for a GEN_STATUS of -1,
    ) q" Y9 B: m5 \% k3 Y0 r( k1 S$ V      for example, to indicate a generator which is off-line1 X) J$ o+ l; D) K% t# ~
          but could be brought on in case of an emergency." G6 I1 N, l" w6 D! r
    9/2/98
    , t* }3 F# I$ x# |! q9 P& j    - Fixed bug in printpf.m which caused area exports to be# y: m: y9 r3 c  F! k; M6 c
          off slightly.% C, x# q$ r, l  S. q; v. _0 b
    9/1/98
    2 W9 I. k" c( w    - Fixed bug in printpf.m. Total intertie flow was double the
    0 Z8 e8 N. R  Z9 |. X3 F  c      correct value.5 l; W, r( D5 N2 V
    8/31/98
    % a2 [8 @6 [: V& \: _5 v    - Fixed bug which included line flow limits for out-of-service9 ]3 N1 `+ d& S& Y3 B
          lines in OPF.
    3 A/ q7 t4 j3 q$ q# o    - Modified pfsoln.m, opfsoln.m, printpf.m to zero out flow on
    ) p( U: A( |! h8 p% O      lines which are out-of-service (found by Ramazan Caglar).
      H% T9 q9 ]; ~7 L# j9 X7 ]7/28/98
    1 b0 Y: l# d5 l" C9 G! L/ z    - Changed VAR and MVAR to VAr and MVAr everywhere in output.
    % u: \  O1 z: k  u  R3/13/981 I8 n0 R8 G. C; @( Z" y2 R
        - Decreased the default value of LPC_TOL_X option to increase
    : `3 q# t+ O6 X  [" o      solution quality.
    4 l5 z* }6 ]- e8 Y8 v    - Modified fix of 2/10/98 to use a value based on the value of
    $ W. `- y' k4 X* ~5 z% q) j" p( ]      the OPF_VIOLATION option.9 v" h, G: y4 ?3 P
    3/6/98' T  Y. E, B% K! X8 Y/ T  }  D) j
        - Fixed 2 bugs in makeYbus.m. Phase shifters now shift the phase the( T7 s6 e/ j3 t. x! C5 s' L' f
          right direction, the line charging susceptance parameter is now
    % M& h5 Y; k) `      correctly ignored for transformer and phase shifters.! Q% h+ \) G8 n5 C# n
    3/3/98% x2 T0 l, ?) b  E0 \0 e8 g
        - Fixed a bug fun_std.m which caused it to always compute 2nd order
    ! s+ h8 I3 v+ O: C      derivatives. Now it only computes them when requested.
    1 t/ Y" @$ Q4 n, G/ \3 j2/10/98
    2 L: L0 v) i7 y: _+ Y    - In previous versions, Pmin/Pmax constraints are relaxed by 1.0e-60 Z3 M2 d( d" Y- ?
          in opf.m to avoid falsely reporting a binding Pmin/Pmax constraint
      e6 {0 g4 p$ z      in a case where a piece-wise linear cost function has a corner
    7 R* D5 V) F5 N' ^, o3 M4 A& ]( l      point exactly at the limit. Changed the amount of relaxation to* M6 Y1 l3 W: }2 e5 u( ~% t+ q4 ^
          1.0e-4 since the problem still occurred at times.7 J% J2 x0 }7 Y- F- l
    1/29/98/ C# @" l" ~# [; \+ g2 L" Y7 q
        - Changed the value of LPC_MAX_IT from 1000 to 400 to allow for
    ; _; Z1 K, I, j; W% b      earlier detection of infeasible OPF.) c/ |5 d; C( a! U2 L
    Changes since 1.0.1) z8 \9 k9 n+ z: P; r
    -------------------
    7 ~, i0 a- u2 f12/24/97
    2 I- S% `- N) V) I) M$ L    - Released version 2.0.
    % ]( U! R- Z& |- ~12/19/97
    8 f: D* F- p0 V    - Fixed ambiguity in case file data and comments regarding lines
    6 M- Y1 Q  s8 k      vs. transformers. Now a tap ratio of zero means that it's a line8 P5 y7 [  R/ O' X7 b# E
          and a non-zero tap ratio means that it's a transformer.
    - |/ Z4 ]) G" r1 u    - Optimized formation of Ybus (and hence B matrices).
    * {7 D/ Z8 T7 r9 ^5 _# v( ]+ V12/18/979 r2 v3 U3 i/ G  t: O" J
        - Implemented fast decoupled load flow.6 F: D9 w1 l5 O, Q5 z9 D
    12/17/97* Z/ y' Z; ^- t$ ]( _
        - Optimized formation of Jacobian matrix in newtonpf.m (significant
      h4 l) l5 G+ t2 J. v4 M- P, J      improvement for large systems under Matlab 5).
    ( [# @, `7 l" z' q+ M' m    + g% w/ D. S5 n  m
    12/16/974 f2 }3 Z. _: B# _/ ]
        - Fixed another bug in calculation of losses. Previous versions& ]& I- A- E6 K+ q" }7 L) p6 V: F9 o
          did not take into account off-nominal taps for transformers.3 k5 C" t2 ]$ S0 f- D7 n; g
        - Fixed a bug in calculation of losses. Previous versions' ]2 A- c7 ^8 M  u5 P6 d0 C
          included line charging injection in reactive line losses.
    6 H, @: B3 Q: {! `1 F    - Added ability to optionally return solution data from+ n( M7 L4 y  f0 L) x$ `4 k
          run*.m functions.
    # @# N, N8 c/ _( @3 O1 [( `, |    - Added ability to optionally print results to a file.
    , `. n0 G1 z' }* ?7 |; V0 E    - Added system and area summaries to printpf and modified to! T  u( L" K2 M+ \2 Q' B1 r4 Y; H2 G
          handle the new printing options.
    0 P! t+ T, I, R$ d$ ~0 z; G; O$ k12/12/97
    5 D- N0 t5 p+ w" M    - Consolidated printing into printpf.m, eliminated printopf.m.* K  l+ l* S8 o- o3 ]+ `+ b
        - Removed QCCV method (standard formulation solves same problem,# [! t* f* ?- J4 ~: q2 K5 |
          but more efficiently).6 D" U1 m6 a" ^# D$ |8 j# F  [
        - Removed OPF algorithms which use fixed generator voltages
    4 s( w* {5 v) @, d) X      (this can still be done by changing voltage limits in the
    & X+ c* y( D  ]: R      case file), renumbered OPF algorithms, removed CCV.m and  J8 X/ s2 w. v' x  Y6 X" Z, J
          varVg.m.
    * [' ~3 P; o% F12/11/97' O/ D' X9 n) D" }
        - Added 2 more levels of control of verbose output.& P. F$ M& o0 `9 w+ a
        - Put all MATPOWER options into an options vector defined in
    8 I: R+ ?9 @% E% p8 O      mpoption.m.
    7 i* W6 o$ O& S% p/ l12/10/97
    " z: B# o. t* K! O& ]( \0 R! f    - Incorporated new LP-based OPF routines and updated alg codes." Y/ R" ~. T+ o6 A6 M
        - Fixed a bug in the documentation in the case files regarding
    : U8 `0 d& M) [- Q  x* z) ^      the 4th column of gencost. For piece-wise linear cost functions8 D4 v9 `* k0 o' v; ]
          this value is the number of data points, not the number of% S+ F- ?( J" |/ e+ C" I
          parameters (x and y for each point).
    ; e6 t" z" z4 C+ s    - Removed some m-files that are not used (usesOT.m, usesLP.m).
    - ^; f: E( O* e4 I9 c. S' \    - Renamed some m-files (OTfungra.m to fg_names.m, OTSfun.m to
    , E7 ~, R" X  @# K% I! P8 r" ~% v      fun_std.m, OTgra.m to grad_std.m, OTCCVfun.m to fun_ccv.m,
    . o6 K  ]( D( L- F! O      OTCCVgra.m to grad_ccv.m).
    9 l  \9 M- D# z1 a% x. M2 D12/8/97$ S9 J& u( E6 H$ P9 J0 u2 |" ]7 ?
        - Rewrote uopf.m to use a smarter decommitment strategy (see the
    ) L) c* L5 A: `1 C5 `, T( q3 `6 E% g      docs for the details of the new method). Removed ref, pv, pq5 c) B( j; q* {0 v. Q- ~8 n9 |
          from the list of parameters passed in, since they were not used.- U' }0 f- j! o" p7 y& i+ S. O
    11/19/973 a/ F" v; I: }
        - Fixed a bug in previous versions of uopf.m which returned
    ' E" j( ]- z1 \: o9 D* @      incorrect values for Pmin.! Y* N7 y9 Q. o% d
    10/28/97
    . K* w6 e: r% N3 P    - Increased maximum number of iterations for constr-based OPF.1 W8 t2 Z2 B; _" j+ @* s8 Y$ B( U9 C
    10/24/97+ U$ x9 J. G+ Z2 ~1 T+ B# d
        - Fixed a bug in previous versions which may result in incorrectly
    : [2 q5 y) G. K5 ?/ i' X      reporting Pmin or Pmax limits to be binding, possibly with large
    ) ]$ |$ S/ _' Y      multipliers, if the piece-wise linear cost function has a corner$ {8 t- X* t' w6 C) q; x7 j" O
          point exactly at Pmin or Pmax.# [$ [  }- v5 j3 L) n" h2 ]! n4 ~
    10/22/97; M. z4 F5 f; t
        - Added to OTSgra.m (renamed to grad_std.m in 2.0) the ability( \, c+ g3 p/ w' m- F
          to return the second derivatives of the objective function.' d# i3 c' O) Q% v. N" |2 z+ E
    9/24/978 g- q- |" ]1 B$ P
        - Fixed a bug in previous versions of runuopf.m which prevented it
    + f3 ]6 o0 P! F7 i" x      from printing out the raw data needed for our Perl DB interface.
    , l7 y  n4 x2 m1 k$ w9/23/97
    ! v: {7 z8 m$ Z    - Fixed a bug in 1.1b1 in OTCCVgra.m (renamed to grad_ccv.m in 2.0)- k# g  u' \% Y  o5 Z* v" n
          which caused printing of warning message "Concatenation involves
    - e( g( S, X% t4 F% E1 |$ r4 q      an incommensurate empty array" under Matlab 5.
    . d& J4 s8 W2 _2 l9 H9/22/97" _! B+ v) H/ t
        - Fixed a bug in 1.1b1 which prevented runuopf.m from running at all.
    4 Q- r# T2 D) U* }% O      Wrong number of parameters to call opf.m.
    . C2 u1 V$ s( y5 l& a( L9/20/97
    * `* V9 W0 }, \/ A    - Released version 1.1b1.6 ^* ?; J, z6 J' ^2 z( x8 @) P
    9/19/97
    ) t5 A9 O$ y1 \0 r; B    - Modified the formulation of the OT-based OPF. The objective
    2 V8 Z. y3 \: S2 U! }      function may now include costs for reactive power as well as
    8 w6 m, I' I/ Q6 H! [      active power. In previous versions the reactive power variables# j0 L% {1 _" g- |1 P( L
          and reactive power balance equations for generator buses were
    7 O2 ?* V) |; ~# B  i      not included explicitly in the optimization as variables and
    : \/ q/ `( h$ H6 a: D8 ]% p4 Y      equality constraints. Generator reactive powers were computed9 Q- t6 }/ g5 W! G: q7 O5 `
          directly. Now they are included explicitly in the optimization.
    / _  S; y1 m+ T% b, W0 u      Costs for Qg are specified in extra rows int gencost.
    7 V# N' g( Q; K" v$ x: V8 j8 `1 M, z& q1 W6 N; ]' D" m
    Changes since 1.0
    ' J4 p. Q1 g0 Q* r% W4 \( e! L. d% W5 z5 f-----------------
    # P  X8 _8 c; ^1 {3 q6 }+ o5 d, ^9/20/97
    - y/ E0 q, w. D) X3 J9 l: K    - Released version 1.0.1.. I! `$ ^& V8 t
    9/19/97* K) A! W5 K, A( h# ?  ]
        - Fixed a bug in 1.0 OTSgra.m and OTCCVgra.m (renamed to
    4 P! I& V; c) Y8 c' p$ Y      grad_std and grad_ccv.m, respectively, in 2.0).m which used
    / a2 e" M7 B! ?; a' h8 H. u" n& u      incorrect coefficients to compute cost if specified as+ H( U: x; [7 P  z; f# F
          polynomials of different degrees.
    $ M* q7 j4 E: I6 _. z/ H% ^" h3 ?9/18/97
    - C! z* x0 \; Q6 L5 f5 \5 k' v    - Fixed a bug in 1.0 in OTopf.m which caused the last equality. n6 L, }3 j3 b8 H8 r& c. F' l2 q
          constraint (Q mismatch for last pq bus) to be treated as an4 A% j! W) Y) {4 A/ z, {% L
          inequality constraint. It appears that this constraint was
    + ?- l! h& h* R! f  c; h1 M$ |      normally binding (unless Qd was negative) in which case the: e& Y. L0 `) w
          solution was still correct.
    ) @$ y" J( j2 D0 h  b6 D$ X    - Fixed a bug in 1.0 in runpf.m, initial voltage for generators3 n1 `6 D& m0 Q2 w* ?' Y6 n
          which were shut down were taken from gen(:, VG) rather4 A. H/ u$ S  a# x/ Z$ G
          than bus(:, VM).0 V( u( W; D: W
        - Fixed a bug in 1.0 in varVg.m which caused Kuhn-Tucker/ U( ^( j% Y5 D# K$ w1 q6 e
          multipliers to print out in the wrong place for LP-based OPF.
    / m( \1 t$ j3 O
    ! ?  B6 F4 u: E1 x  n. mChanges since 6/25/97 Version
    / Z) K" ?2 q! m& {-----------------------------
    : F# J6 V) T, L1 a9/17/97+ @2 l5 Q/ C. I4 R
        - Released version 1.0 (first widely publicized release).% n: l/ w( H  V/ a- ^; z8 u
        - added placeholders for LP-solvers that we can't re-distribute
    5 P1 m9 y% I3 c. U( u    - updated documentation& l- u3 K. Y* v0 o9 f# [! O, \
    9/12/97
    ' I+ o- a- T5 g( F) C    - added ability to do pretty & ugly printing at the same time8 T! C4 Y! ^- T& r: @  q! x
          also documented that ugly printing is for talking to our6 d1 ?$ P; M, l' a
          our Perl database interface code3 Y" V- f) o3 j* e6 T, z) G
        - included Deqiang (David) Gan's LP IEEE -> matpower data1 N! _: c" o6 w
          conversion code' N5 X+ e$ a4 ^; V
        - included Deqiang (David) Gan's LP based opf code$ v8 N4 L& _. U4 n
        - fixed LAM_Q bug, now computes correctly for generator buses
    9 b; b; G( p* v. F4 X& \, N    - fixed some bugs in totcost.m
    . K" s4 [) B. e0 f. f9/9/97
    2 w! I% Y0 C% A  P2 ~& z    - removed PRICE from idx_gen# J$ V: N8 R* u1 `
    9/4/97) W% J, v+ s: c- }- k! L: S
        - added code to convert from (possibly non-consecutive) external: }! u0 G. ~' c8 H- l
          bus numbering to consecutive internal bus numbering before
    1 p/ e. g% ~+ g6 S' y* F      solving, and back to external before printing results
    , w9 g* H. `8 E" k2 v1 {    - replaced test*pf with run*pf which are now functions, C0 K* y7 _7 V, n
          taking the casefile name as a parameter (among other params)
    0 g% ?: w; d4 X6 G& o3 ?    - made changes necessary to handle new format of case file6 F$ }: X# [( s  r! }! z0 w
          (generator costs moved to gencost variable)( Z. `: G5 y  D& I% e4 |

    , q1 _# K7 S( zChanges since I started keeping track
    5 z7 w; b3 A4 r% a-------------------------------------
    2 C/ z! b" J, F- ]* i6/25/97
    5 _" e) K# b! G( c    - made first public release (not widely publicized)  N/ M0 {, m# G' Y- m" v, u! o
        - documentation updates
    ' @8 ]( W$ z2 c, R; ^" \    - changed names of m-files to fit DOS 8.3 limitation: j- l# c. g& w& {* t
            buildsbus.m     =>  makeSbus.m
    ) v/ E, F2 k+ w) Y0 \7 p! c5 Z        buildybus.m     =>  makeYbus.m
    ' T3 U" P# z. Z        idx_branch.m    =>  idx_brch.m  B; k- Z5 }3 f8 Z* c
            dSbranch_dV.m   =>  dSbr_dV.m& x' `4 I+ U/ z3 Q  i/ v
            dAbranch_dV.m   =>  dAbr_dV.m! z+ b) ^( e" J$ i
            ucopfsoln.m     =>  uopfsoln.m
    ' p. Y, v) `; [  j" Y        testucopf.m     =>  testuopf.m
    ) I0 M% {) @; S( T  c  g        ucopf.m         =>  uopf.m  (for naming consistency)# A/ ^2 x0 l4 |1 v  i, L
        - changed copyright notice
    5 t& s  g, Y6 }/ n% [6/18/97
    5 G3 z) q2 O  u& f2 z! N8 H( z    - modified ucopf.m to allow a generator to be turned back on if
    5 K3 U6 N' e/ \5 U+ n' a: L      shutting it off results in an infeasible (or at least# \, C6 H7 I# g
          non-convergent) OPF, also changed the order of shutting down' B" @% X& l) O- O' f% l8 l
          generators which are dispatched at zero, now chooses one with5 L8 @: }8 [; r/ ?
          largest mu_Pmin     : z) Q& b. @2 O# T5 O) @3 \
    6/12/97+ y& r  ]& r9 L# f1 U* V, ~
        - fixed bug in printpf.m so it doesn't print PG & QG for gens that( {; z" d7 B) R: A! h
          have been shut down" S% B& s1 m1 \. U3 S
        - fixed bug in pfsoln.m to correctly compute the reference bus power3 o) f1 {8 e* r8 x; {
          injection when generators have been shut down$ H) l, Z, h9 _1 G
    6/10/979 ?1 R* L4 q+ Y' y5 l1 d7 a- d
        - fixed Vg initialization bug in testpf.m (not just testopf, etc)
    ! c# t7 X' H4 o9 R& s' J6/9/97
    8 C# R8 _2 v6 |8 U6 F0 x    - fixed bug in PLCCV versions which set the initial values of the$ b2 |- ?7 A7 r* }" H. b
          cost variables wrong (used p.u. Pg instead of actual)9 z& H7 G: Q) n
        - made opfsoln.m copy generator voltages back to gen(:, VG)+ f9 B) [, y* W( [
        - fixed bug in code which initializes generator voltages, it was
    % p4 d% F) G6 p* o* |      always setting the angle to zero, now it uses the value from the- ^4 a. R, ?  k/ I9 |( k9 C" X
          case file+ G: l0 Y% @8 u$ ~3 i
    6/3/97
    7 c( }* {5 g  g+ j9 a    - included opf variations which use cost variables constrained, ~- G  m9 y9 `  V4 R5 ?0 [
          by a piece-wise linear cost function (PLCCV = piece-wise linearly$ H8 E5 T/ A/ P. X% u5 L! S+ B, m
          constrained cost variables); S7 I6 }9 d- }; N7 a! c5 c
    6/2/97
    ) Y; d: p, E$ J5 f3 N6 O* T$ U    - included opf variations which use cost variables constrained
    * X& G( y1 \. R, T8 c6 h      by a quadratic cost function (QCCV = quadratically constrained
    ' I( J. A4 O" J. @  B  P/ u      cost variables)
    % V1 m6 W6 d2 z2 }; J% o9 ^    - included opf variation which allows generator voltage
    , s" V- i& J  E6 @: U( |      magnitudes to vary
    $ T  A- n6 L; M, h, Y3 r# P' ?5 [    - fixed line in test*pf.m scripts which initializes V0 (I'd missed
    6 o' k5 r( Z6 M3 I) i4 j      the sqrt(-1) before
    # J+ ^8 D' `- {4 b+ i' F4/16/97
    5 c( {# `7 B1 v, N* k, ?    - changed line 59 of ucopf.m from "return" to "break" to ensure
    * t" X. Q/ ]& t      return values are correct
    3 m$ k* Z; q' N4/14/97
    ' t2 B& ^- n# z6 p: P    - added some print statements to ucopf.m( }* y% V% ~) D, d
    4/12/97$ D9 g6 D8 k" `: l
        - reduced max iterations to 100 for constr in opf.m- v8 D& ~( Q9 O, |+ M# @
    4/8/97
    # z% {8 e. X7 T7 S    - modified opf.m, ucopf.m, testopf.m, testucopf.m to include( b0 @" X6 D6 ~' F3 {8 [0 q
          "success", a variable which indicates whether opf was solved, z; ]8 _: n" b- X& o& W9 a
          successfully or not* w" w4 q6 \& t" i- s6 c! U6 i7 B
    4/7/97
    & ?) _  o9 k, T1 \, c2 A    - fixed bug in ucopf.m, assumed all generators are initially- y9 x, }% R/ i5 {. A3 h5 U' r
          available

    matpower3.1b2.zip

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

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

    该用户从未签到

    尚未签到

    发表于 2007-3-20 16:33:32 | 显示全部楼层
    我也有一个: V' ^" ?- N, o" ]1 P# I) E1 r
    不过版本好像没有楼主这么新
    : ]# ^" q: L6 ~+ d. h支持一下
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

    该用户从未签到

    尚未签到

    发表于 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 $ f5 ?9 j$ r9 X- X& K+ _; R! i9 L: @, s5 y
    : ^# g7 `& h. ]1 F4 D6 h2 Q% \
    , ~0 O7 [$ m7 \# t5 h
        下载试试,呵呵
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
    您需要登录后才可以回帖 登录 | 立即加入

    本版积分规则

    招聘斑竹

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

    GMT+8, 2026-3-18 09:11

    Powered by Discuz! X3.5 Licensed

    © 2001-2025 Discuz! Team.

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