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

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

[讨论] matpower3.1b2

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

    连续签到: 1 天

    [LV.1]初来乍到

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

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

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

    ×
    -----------------------------
    8 @! C: q  a+ I/ L4 r- Q* R Change history for MATPOWER$ y& q  D* K, x& g: s" E
    -----------------------------) _0 e9 `: k% f1 d, K
    Version:    3.1b29 Y$ }% E. g: ^1 |/ ?
    maintained by Ray Zimmerman <rz10@cornell.edu>
    & L8 V! B* o3 V+ n- I$ l; u' N8 m4 SMATPOWER
    * _* A% U; m5 Y% N0 h' k4 G+ L$Id: CHANGES.txt,v 1.27 2006/09/14 18:20:40 ray Exp $
    & s+ t- `! F% c5 J5 b+ zCopyright (c) 1996-2006 by Power System Engineering Research Center (PSERC)( w+ I4 C, @( S$ V  Y; f: I
    See http://www.pserc.cornell.edu/matpower/ for more info.+ b8 A( k/ C% q  l5 I+ y

    5 ]6 U8 ^1 a. K  Z; t, g/ q0 ?Changes since 3.1b1. m0 x$ s# O( E# c( O- M4 y
    -------------------
    ; D9 ]  Y6 ^% Z! ?9/15/06; r* Q* ^% U% V% p. x
        - Released version 3.1b2.9 @6 W  T- ?8 l1 z7 j% c; N5 S6 \
    9/12/06
    , x" d% u7 |6 U6 ?# ]    - Added makePDFT.m which builds the DC PTDF matrix for a specified0 g, a, s4 h  ]! v* J
          slack distribution.: q( v) c1 {/ K; M
    8/16/06/ P- O8 K1 J% J# K  @4 ?1 I
        - Added optional outputs xr, pimul to fmincopf and opf.m to make them
    ( r& _* k. R% f0 k! k1 H      fully interchangeable with mopf.m.% s$ O# s/ b4 ~+ y/ r/ V3 Y
    8/15/067 `" H, a$ ]! e
        - Added branch angle difference constraints to general OPF formulation
    / t1 {4 m" K6 J/ r1 @0 C      in fmincopf.m (and mopf.m).
    3 ]  W3 }  F5 {+ F) j    - Fixed (invisible) bug with multipliers of lower bounded linear6 Z) Q6 p- e# K2 T
          constraints in fmincopf.m.
    7 P% b* u  R- s7 \
    : E- M3 q8 z: p+ bChanges since 3.0.0
      X- b, T& b1 m-------------------4 i( j/ l+ n, J) r% d4 L5 f/ M
    8/1/06; X1 a9 q, A* c% G9 v
        - Released version 3.1b1.( n, o# E/ N7 M0 [
    4/28/06
    , W2 s  y% X, N+ x( |0 K* T    - Fixed mpver.m so it will properly handle case where the Optimization
    . c( N  j+ e3 j  m+ Q3 S7 A      Toolbox is not installed.
    " b* a$ @# c; x6 [2 B- X! i$ J( N3/15/06/ z* f% ], w7 s, ?0 w3 b
        - INCOMPATIBLE CHANGE: Updated opf.m, fmincopf.m, costfmin.m, consfmin.m to
    $ j: D5 I4 \5 ?- s! F      be able to be compatible with latest MINOPF. User supplied A matrix for: E* X; Z* U# l4 v
          general linear constraints no longer includes columns for y variables
    . M8 L+ ^! }! r9 W: v& J      (helper vars for piecewise linear gen costs), and now requires columns
    , X$ s( m* Z' _6 X/ f% A, l      for all x (OPF) variables. Added generalized cost model and generator PQ
    " K9 \, {" s+ K, t1 @      capability curves.& q2 z, r) }+ G# \5 I, K8 P
        - Modified savecase.m to always save MAT files with -V6 under newer MATLAB- {) p; J" u& }5 e# O/ E
          versions.
    4 G. O" |$ _/ w9 u, S) ~# \    - Added a number of tests to t_opf.m for MINOPF and fmincopf for generalized* Z" r3 P& D  B  Z7 P' Y  j4 `
          costs and additional linear constraints. Added test for fmincopf for
    ; x; t3 p7 ?. M2 g' Q: {/ p      generator PQ capability curves.
    + a/ w6 g$ T4 u# {3/10/06* s' i9 M% ]1 X$ ]7 v
        - Added baseKV data to case118.m from PSAP file
    # ^. b/ b. \/ m/ R: \      <http://www.ee.washington.edu/research/pstca/pf118/ieee118psp.txt>.7 W6 c- n( d' D! x. I" U
    3/8/06
    * a& ?: n# |, L1 p4 c/ d$ F* o: F, Y   - Renamed col 5 of gencost from N to NCOST everywhere.  U* Y2 D% q+ a) B
    10/14/05% m- c* }, T5 L& X1 O  x
        - Updated version 2 case file format to modify generator PQ capability9 s, }- T/ m- M; T
          curve specifications." U4 V7 Y3 Y' M: D
        - Added hasPQcap.m and test for gen PQ capability curve in OPF.% P& b: v* ~# `1 A4 b/ o
    8/22/05
    8 `0 I# a# m- c7 Y' }9 u1 Y    - Added OPF_IGNORE_ANG_LIM option to mpoption.m.
    + ]+ [3 J7 [" W  S0 h5 e8/5/05
    9 A4 i- g, m& C7 C# d: [  [  e    - Modified identification of binding constraints in printpf.m. A
    * ]$ q- y0 t. Q' ~- q      constraint is now considered to be binding if the tolerance is less. _' U" k$ }$ Y3 [
          than or equal to OPF_VIOLATION tolerance -OR- if the corresponding: R* w3 |5 R6 H  a; O' [- a
          Kuhn-Tucker multiplier is non-zero. This allows binding generator+ }/ l2 g& K( |. \  @6 L
          capability curves to be reported via multipliers on Pg and Qg limits.
    * G9 M& s! s. |4 D) ^: [7/8/050 u- b0 z" H% _0 k0 C4 i3 [- k( }
        - Updated loadcase.m, savecase.m, idx_bus.m, idx_gen.m, caseformat.m
    ) {9 x3 @* S# h/ S7 h      and tests for version 2 case file format, which includes piece-wise& W, G; c! O; O3 a& o
          linear generator capability curves, generator ramp rates and branch  M( E. y! o% z8 ?9 S/ n7 c
          angle difference limits.
    4 ?0 |  N5 q  M' k   
    & v) {2 g( e7 L! C0 DChanges since 3.0b4* s5 X# q9 R% o" o- b
    -------------------
    6 U* c1 D3 C, }+ Q2/14/05
    ' |8 d6 c  `& R! x    - Released version 3.0.0.& ?' x9 B  S" R0 V* m! Q# i4 O
    2/3/05/ S* n) _* h! _
        - In mp_lp.m and mp_qp.m, on Windows it now makes sure BPMPD_MEX is not: o% X0 Y( x. _) [
          called in verbose mode which causes a Matlab crash.0 t9 q3 I2 U4 T$ I
    4 ~" K* v0 D3 n* h7 @$ L
    Changes since 3.0b30 @1 D9 |# p3 T, T$ P; f- y5 s
    -------------------7 p/ }: S0 e; u) P/ @$ O# b
    1/28/05
    # X$ Z9 h: M  j  A3 M' G    - Released version 3.0b4.5 ~* h8 z; z5 l: h8 w% _: M4 o
    1/27/055 F* f# e1 F$ a- x
        - Added case6ww.m and case4gs.m.
    ; d8 C% z+ b' x9 M, ]! ~    - Minor modifications to printpf.m to handle larger bus numbers.
    3 Z* e( B' U' r* T7 l; G1/26/05
    2 |; E* e+ Y) x, {    - Minor changes to uopf.m to make sure it plays nicely with dispatchable0 H4 b; x: M( ]9 B; Y4 f
          loads.- E5 @, _. m1 @" s6 U! s* b$ ~0 f
    1/25/057 s3 H# v! P" t- s: [# `6 W) U7 a
        - Major updates to user manual.
    ) s8 _+ ?' M8 v4 e1/24/05
    ( t. O* z! u* p/ G    - Switched to using the new isload() to check for dispatchable load.3 t* [: k. D) ^8 h/ X+ p: F
        - For dispatchable loads, switched from using PG and QG to PMIN and either2 K( n8 L2 y0 u. G# O
          QMIN (for inductive loads) or QMAX (for capacitive loads) to define the& b7 H% s: z& C0 _: c1 C6 j+ i9 m
          constant power factor constraint. This prevents the power factor4 c8 _1 Y# {& ^, _
          information from being lost when it is dispatched to zero. If the initial' _; Y; \9 E5 m% r% }
          values of PG and QG are not consistent with the ratio defined by PMIN
    4 B# F' \& w, r# @4 d8 b& F5 m$ d# R      and the appropriate Q limit it gives an error. This is to prevent a user
    & g+ K% }8 x2 r  u7 j6 ^% ?      from unknowingly using a case file which would have defined a different
    3 U# ?, J" A  |      power factor constraint under previous versions of MATPOWER.
    - z8 b' j% ^) h7 Q" `; k      If both QMIN and QMAX are zero, it no longer includes the redundant! n8 }9 P, \* e. H" L
          unity power factor constraint.& s2 n3 P  x/ ^; ^1 X
    1/20/05
    / M. @4 G6 a2 h/ H    - Updated printpf.m to display dispatchable loads and generators" j( o6 p. m1 f: `  _1 I8 H2 b# d- d
          separately. Reorganized the area summary section and corrected the net: [. d/ f4 A0 _( U. s
          exports value (subtracted half of tie-line loss) to make the numbers
    0 q8 e& ?- K' H; L$ B      add up correctly.3 i! n' s. S& M( w1 B/ o. M
    1/18/05
    * ^2 L6 {8 U! q/ \3 S    - Added to runpf.m the ability to enforce generator reactive power limits
    / `' U) O: o: ^$ b8 \8 T" |) D      by allowing the voltage to deviate from the set-point. This option is
      R# z5 `5 Z8 K      controlled by the new ENFORCE_Q_LIMS option, which is off by default.& T2 r7 ?9 ]" x8 e$ j
              (Thanks to Mu Lin of Lincoln University, New Zealand
    / f! a5 ~, y  W* E" M3 y6 e           whose contributions inspired this feature).) \* m0 ?* n. j
        - Modified pfsoln.m to divide reactive power dispatch between multiple+ l4 S+ o) i& }9 P- b
          generators at a bus in proportion to each gen's reactive power range,* i' C9 G4 {9 s; A& y
          as opposed to equally. This means that all generators at a bus will
    : u: K+ n& _  M' W      reach their upper (or lower) limits simultaneously.1 M4 J$ |% r# z! Q+ k6 ~
        - Added generator status column to generator section of printpf.m output.
    $ d8 m4 @& d" y: I* o+ A! Q6 x      Fixed bugs where non-zero output of decommitted generators was displayed) ^0 t6 ]! h" I9 _# B
          and included in generation totals in generator and bus sections.2 R- S( d' j% `9 D- [! r
    1/14/05
    6 f2 r; v# H! u2 c    - Moved some setting of MNS_* default options from opf.m to mopf.m.
      ]- p! e7 N: W. c    - Eliminated unused output args in dcopf.m.
    " Y9 J" s/ }4 S9 C# V& n3 |4 ]5 G. B    - Modified printpf.m to zero out reactive generator output for DC cases5 C) ^1 b" N- T' F. B9 l6 e
          and to use OPF_VIOLATION tolerance to detect binding constraints, as7 p5 m& r( ^- y* a
          opposed to non-zero Kuhn-Tucker multipliers.
    9 }* a+ A4 P+ R2 k3 Q  ]5 A: D) s1 M1/12/059 @8 }9 L, U* v0 h- E9 G/ [
        - Modified bpmpd portion of mp_qp.m and mp_lp.m to use default value for# r5 q& p: e* i" p& W
          TFEAS2 and eliminate variable limits which appear to be artificial/ U8 A, @" Y/ V4 g, o0 i) k0 s
          large values used to indicate free variables.
    3 G) s9 {0 U' v3 R( u9 Q9 X4 z/ Q0 g1/4/05
    $ k0 E7 Q" B' d) V% m    - Fixed potential bug in dimensions of Yf and Yt created in makeYbus.m.
    8 w0 I- ~/ S; a$ p* g9 C8 Y12/17/04
    5 }& M" p4 T( ~& F" ]9 j+ N    - Added feasibility check to mp_lp.m and mp_qp.m to work around a
    6 n) x/ I# n5 N5 F  N6 a5 J" u0 |/ b      recently discovered bug in BPMPD_MEX 2.21 where it sometimes returns an5 g5 r6 t$ g5 H
          incorrect (infeasible) solution for a DC OPF problem. This bug has yet3 Q1 j9 _" H5 E0 F
          to be encountered in any other context.
    $ Z: T- L% W% I1 d- a0 p8 O, ]& L8 M12/13/04
    # b& |6 J' y# _8 ^7 p& ?" T- `    - Added mpver.m to print version information.
    * m, Y; J; z6 k4 T7 }9/23/04' r* u& q  [7 G7 E
        - Fixed bugs in cdf2matp.m which prevented it from working at all
    * I: q- Y) y% }; `" |3 x2 q      when not specifying both input parameters and caused it to
    ) w8 R5 t% d& T8 j      sometimes not add the warnings at the end of the file.
    9 Q& q/ l+ c- T8 l# k& ^    - Fixed typo in name of lower bound input argument in opf.m. Only
      b  t/ ^" z/ V# P' x$ y2 T      affected those calling opf directly with extra linear constraints.8 Z/ h& o) \6 K3 W) c& X2 s
    1 x$ Y' [5 K. Y6 m# b( @2 |6 m( Z
    Changes since 3.0b2
    2 K; _4 r! e! w9 r+ z-------------------3 f: G4 R$ N, T7 @2 g
    9/20/048 W( Y  t, x! q! `: }1 D1 X
        - Released version 3.0b3.
    # T" h1 T/ M1 s    - Generated clean versions of all included case files using latest
    1 i3 f' V6 i1 k' E      cdf2matp and savecase. Added documentation for source of data* Z4 X3 H6 \* k0 p0 a/ s  b
          for case files.( x- D- y( O) T. G( d+ m& [
        - More enhancements to cdf2matp.m. Adds comments at beginning, appends
    : v) r$ K+ S9 \      conversion warnings as comments at end of file. Uses savecase.m to1 M, Y+ s; g1 x; R" I: F
          save the data.
    : j9 U! ]6 W; c$ o' g' M" m    - Updated savecase.m to use %g instead of %f many places, correctly
    & `5 |+ K) F) V8 ?. c8 p: F( l      handle multi-line comments, include headers for extra columns for7 E) ]9 R) l. U
          solved cases. Optionally returns filename with extension.1 M$ e# v4 ~- G& z2 a
    9/17/04/ A9 ]1 l. m1 g+ P/ w
        - Fixed bug in grad_std.m, introduced in 3.0b2, which prevented constr
    ( Y; W& Y3 d+ `. b      and LP-based OPF solvers from working for polynomial cost functions.
    , W/ v) o' b& T# f; X9 q! K9/15/04
    7 Y, G9 n5 b; n+ o' G0 T. \    - In cdf2matp.m, added input args, updated docs, switched to named
    + V1 V4 I) u$ Q5 K      indexing of data matrices, new method for creating gen costs.
    5 f: g' }# h. o; Y    - Documentation fixes and additions from Pan Wei." x% |- S: h* t3 i' t7 v

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

    matpower3.1b2.zip

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

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

    该用户从未签到

    尚未签到

    发表于 2007-3-20 16:33:32 | 显示全部楼层
    我也有一个
    & M; B7 y+ t. K& `不过版本好像没有楼主这么新1 h0 k4 s* W7 A( X  `5 B4 r
    支持一下
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

    该用户从未签到

    尚未签到

    发表于 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
    3 x0 @, v+ U' F9 u8 f, I# H/ p+ w7 i5 d; [$ @" P* r

    + ~+ ~+ s! x& u0 F* q    下载试试,呵呵
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
    您需要登录后才可以回帖 登录 | 立即加入

    本版积分规则

    招聘斑竹

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

    GMT+8, 2025-4-20 10:24

    Powered by Discuz! X3.5 Licensed

    © 2001-2025 Discuz! Team.

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