GAMS系列分享16—电力系统优化运行—动态经济调度(线性化)
程序员文章站
2022-04-21 20:06:26
...
对“系列分享15”的目标函数进行线性化处理。
1,线性化原理
需要说明一下,这种线性化方法不是增量线性化,在使用的时候如果不是凸的,那么使用的时候会有一定的限制。
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在电力系统(综合能源)的应用!!!
上一篇: SQL函数说明大全(一)