欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

GAMS系列分享16—电力系统优化运行—动态经济调度(线性化)

程序员文章站 2022-04-21 20:06:26
...

    对“系列分享15”的目标函数进行线性化处理。

 

1,线性化原理

   需要说明一下,这种线性化方法不是增量线性化,在使用的时候如果不是凸的,那么使用的时候会有一定的限制。

                    GAMS系列分享16—电力系统优化运行—动态经济调度(线性化)

                                     GAMS系列分享16—电力系统优化运行—动态经济调度(线性化)

2,线性化增加的参数及变量

         增加了一个集合:k    /1*100/;

         增加了变量        :Pk(i,t,k)  

         增加了参数         :data(k,i,'s')  ,这个是最有用的增加的参数,就是斜率。

3,程序

*linearized cost-based DED
*集合-----------------------------------------------------------------------------------------------
sets t  hours          /t1*t24/
     i  terminal units /g1*g4/
     k                 /1*100/;
*参数-----------------------------------------------------------------------------------------------
scalar lim  /inf/;
table gendata(i,*)
       a     b      c      d      e       f     Pmin    Pmax    RU0    RD0
g1     0.12  14.80  89     1.2    -5      3     28      200     40     40
g2     0.17  16.57  83     2.3    -4.24   6.09  20      290     30     30
g3     0.15  15.55  100    1.1    -2.15   5.69  30      190     30     30
g4     0.19  16.21  70     1.1    -3.99   6.2   20      260     50     50 ;
table tdata(t,*)
      lambda     load     wind      Lr
t1    32.71      510      44.1      25.55
t2    34.72      530      48.5      20.83
t3    32.71      516      65.7      19.68
t4    32.74      510      144.9     21.73
t5    32.96      515      202.3     22.43
t6    34.93      544      317.3     23.94
t7    44.9       646      364.4     42.22
t8    52         686      317.3     36.53
t9    53.03      741      271       21.41
t10   47.26      734      306.9     12.58
t11   44.07      748      424.1     13.86
t12   38.63      760      398       9.58
t13   39.91      754      487.6     7.18
t14   39.45      700      521.9     12.16
t15   41.14      686      541.3     18.20
t16   39.23      720      560       17.83
t17   52.12      714      486.8     24.13
t18   40.85      761      372.6     18.80
t19   41.2       727      367.4     18.02
t20   41.15      714      314.3     17.03
t21   45.76      618      316.6     13.37
t22   45.59      584      311.4     16.94
t23   45.56      578      405.4     19.05
t24   34.72      544      470.4     13.58 ;

parameter  data(k,i,*);
data(k,i,'DP')   = (gendata(i,'Pmax')-gendata(i,'pmin'))/card(k);
data(k,i,'Pini') = (ord(k)-1)*data(k,i,'DP')+gendata(i,'Pmin');
data(k,i,'Pfin') = data(k,i,'pini')+data(k,i,'DP');
data(k,i,'Cini') = gendata(i,'a')*power(data(k,i,'pini'),2)+gendata(i,'b')*data(k,i,'pini')+gendata(i,'c');
data(k,i,'cfin') = gendata(i,'a')*power(data(k,i,'pfin'),2)+gendata(i,'b')*data(k,i,'pfin')+gendata(i,'c');
**下面的才是最终目的
data(k,i,'s')    = (data(k,i,'cfin')-data(k,i,'cini'))/data(k,i,'Dp');

*变量-----------------------------------------------------------------------------------------------
Variables    OF        object(revenue)
             p(i,t)    power generated by thermal power plant
             Pk(i,t,k)
             obj ;


*方程-----------------------------------------------------------------------------------------------
Equations eq1,eq2,eq3,eq4,eq5;
eq1..OF=e=sum((t,i),gendata(i,'a')*gendata(i,'Pmin')*gendata(i,'Pmin')
          +gendata(i,'b')*gendata(i,'Pmin')+gendata(i,'c')+
          sum(k,data(k,i,'s')*pk(i,t,k)));
eq2(i,t)..p(i,t+1)-p(i,t)=l=gendata(i,'RU0');
eq3(i,t)..p(i,t-1)-p(i,t)=l=gendata(i,'RD0');
eq4(t)..  sum(i,p(i,t))=g=tdata(t,'load');
eq5(i,t)..p(i,t)=e=gendata(i,'pmin')+sum(k,pk(i,t,k));

*模型及变量约束-------------------------------------------------------------------------------------
model DEDLP /all/;

p.up(i,t)        = gendata(i,'Pmax');
p.lo(i,t)        = gendata(i,'Pmin');
Pk.up(i,t,k)     = data(k,i,'Dp');
pk.lo(i,t,k)     = 0;

solve DEDLP us LP min OF;
display of.l,pk.l;

4,线性化带来的优势

   计算速度提高,能够得到全局最优解。


 

搜索“GAMS系列分享”,查看GAMS在电力系统(综合能源)的应用!!!

搜索“GAMS系列分享”,查看GAMS在电力系统(综合能源)的应用!!!

搜索“GAMS系列分享”,查看GAMS在电力系统(综合能源)的应用!!!