MATLB|电力系统优化运行与市场化

目录

一、按等耗量微增率原则分配发电厂负荷

1.1 算例

 1.2 原理

1.3 编程思路

二、按照等报价策略分配负荷

2.1 算例

2.2 原理

2.3 编程思路

三、Matlab代码实现

一、按等耗量微增率原则分配发电厂负荷

1.1 算例

某发电厂的机组耗量特性及相关参数见表1,系统给定24小时荷见表2,试按等微增率原则分配该发电厂24小时的负荷。

                                 表1 发电厂的机组耗量特性及相关参数

机组

a

b

c

Pmin/MW

Pmax/MW

1

0.000786

0.27

8.00

30

100

2

0.000792

0.3

5.0

20

80

3

0.000764

0.28

6.4

25

120

4

0.000270

0.2657

20

50

150

5

0.000424

0.308

5.8

50

150

6

0.001020

0.28

3.0

15

60

7

0.000578

0.2529

9.8

120

320

8

0.000296

0.2427

16.4

75

200

9

0.000254

0.2791

21.00

250

520

10

0.000522

0.2700

14.40

75

280

                                                            表2 系统给定负荷

时间

1

2

3

4

5

6

7

8

负荷/MW

1022

963

978

993

1037

1066

1095

1124

时间

9

10

11

12

13

14

15

16

负荷/MW

1138

1154

1182

1197

1242

1271

1314

1372

时间

17

18

19

20

21

22

23

24

负荷/MW

1314

1271

1285

1290

1372

1459

1459

1081

 1.2 原理

我们知道每小时消耗量总和=\sum f(P)f(P)为各发电机组每小时消耗量,同时满足\sum P=Pd为各时间段的负荷总量,这就是约束条件。

由此可以建立拉格朗日目标函数L=\sum f(P)-\lambda (\sum P-Pd)

使消耗量最小化的条件是使L最小化,即对L求偏导=0,推出d_{f1}/d_{p1}=d_{f2_{}}/d_{p2}.....d_{fn}/d_{pn}=\lambda

其中df/dp即为耗量微增率,所以满足等耗量微增率。又f=aP^2+bP+c,所以耗量微增率\lambda =2aP+b

1.3 编程思路

根据等耗量微增率原则以及总负荷量的约束条件,可列出以下方程式组:

               

求解上述方程式组可得出P1~P10的初步结果,但由于每台发电机组有最大和最小出力的限制,因此对于上述的初步结果应当进行验证,当1台越限时,用它的边界值代替它的初步结果值,当有多台越限时,首先判断这些越限机组中最大的a值,再取a值最大的机组用它的边界值代替它的初步结果值,从以上可以看出无论1台还是多台越限第一次验证只改变1台越限机组的初步结果,因此将改变初步结果值的越限机组所对应的上述方程改为-bn*Pn/m=-bn,其中m为该机组所对应的边界值,显然Pn即=m,其它方程不变,还是11个方程解11个未知数,求得结果再进行第2次,第3次......反复验证,直到所有发电机组的功率全部在最大和最小出力的限制范围内,最后求出每个小时所对应的所有机组的总消耗量,验证程序结束,最后显示1~24小时内每个时间点的各个发电的出力,等耗量微增率以及总消耗量。

二、按照等报价策略分配负荷

2.1 算例

各发电厂的报价函数及相关参数见表1,系统给定24小时负荷见表2,试按等报价法确定各发电厂24小时的交易计划(出力及价格)。

             表1 各发电厂的报价函数系数及技术参数(f=api+b 

电厂

a

b

Pmin/MW

Pmax/MW

1

0.000786

0.27

30

100

2

0.000792

0.3

20

80

3

0.000764

0.28

25

120

4

0.000270

0.2657

50

150

5

0.000424

0.308

50

150

6

0.001020

0.28

15

60

7

0.000578

0.2529

120

320

8

0.000296

0.2427

75

200

9

0.000254

0.2791

250

520

10

0.000522

0.2700

75

280

                                        表2 系统给定负荷

时间

1

2

3

4

5

6

7

8

负荷/MW

1022

963

978

993

1037

1066

1095

1124

时间

9

10

11

12

13

14

15

16

负荷/MW

1138

1154

1182

1197

1242

1271

1314

1372

时间

17

18

19

20

21

22

23

24

负荷/MW

1314

1271

1285

1290

1372

1459

1459

1081

部分代码:

function ans =jiaoyanjieguo(jizucanshu,D,A,geidingfuhe,time)%初步结果进行验证,使各机组功率均在范围内,
                                                            %输出为11行1列的数组,数据包括各机组功率和总耗量
h=0;%标志位,当有越限时,h值为越限机组中a值最大的机组号
l=0;%所有越限机组中最大的a值
m=0;%a值最大的机组的边界值
for i=1:10%对第一到第十的机组验证,若有越限,找出a值最大的机组,把机组号赋值给h,最大的斜率a赋值给l,边界值赋值给m
    if D(i,1)<jizucanshu(i,5)%判断是否小于最小值
        if jizucanshu(i,2)>l
            l=jizucanshu(i,2);
             h=i;
             m=jizucanshu(i,5);
        end
    else if D(i,1)>jizucanshu(i,6)%判断是否大于最大值
          if jizucanshu(i,2)>l
              l=jizucanshu(i,2);
              h=i;
              m=jizucanshu(i,6);
          end
        end
    end
end
  if h>0                                              %有越限,更改A矩阵中a值最大的越限机组座对应的行参数
        A(h,11)=0;
        A(h,h)=-jizucanshu(h,3)/m;
       D=chubujieguo(jizucanshu,geidingfuhe,A,time);  %重新求得各机组的功率
       jiaoyanjieguo(jizucanshu,D,A,geidingfuhe,time);%再次进行验证
  else                      %上述循环后至无越限,G存放总耗量,最后连同各机组功率一起存放至E中,即E为输出结果
        E=zeros(11,1);%存放输出结果
        G=zeros(1,1);%存放总耗量
        for i=1:10
           G(1,1)=G(1,1)+jizucanshu(i,2)*D(i,1)^2+jizucanshu(i,3)*D(i,1)+jizucanshu(i,4);%求总耗量
        end
        E=[D;G];%输出结果
        ans=E;
  end
    end 

2.2 原理

我们知道只要给定边际电价就可以根据等报价策略c=aP+b算出发电各机组的出力

2.3 编程思路

首先必须假定一个初始边际电价c(较小,本次采用0.27)和步长dc,再根据P=(c-b)/a等式循环算出各个机组的出力P,又因为各机组有最大最小出力限制,因此当出力超出限制范围时用边界值最为越限功率,最后算出每个时间点的总功率t,判断若t不满足改时间点的负荷功率要求则根据c=c+dc重新取边际电价,再次计算各功率,直到 该时间点的总功率满足负荷要求,最后显示1~24小时各时间点的各机组功率,边际电价和功率总和t.

三、Matlab代码实现

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
微电网调度是指通过合理地调控微电网中各种能源和负荷的运行,在满足用电需求的前提下,尽可能地降低成本和环境影响。遗传算法是一种以生物进化过程为创作基础的搜索和优化方法,能够模拟自然选择的过程,通过选择和交叉等操作找到最优解。matlb是一种广泛使用的技术计算软件,能够在遗传算法方面提供丰富的工具和函数支持。 为了改进遗传算法优化微电网调度,首先需要考虑环境因素。环境因素包括微电网的气候、资源供给情况等,对于能源的选择和负荷的调度都会产生影响。因此,在使用遗传算法进行优化时,需要将环境因素考虑在内,建立相应的数学模型和适应度函数。 在matlb上,可以利用其丰富的数学计算和图形绘制函数,结合遗传算法工具箱,建立微电网调度的优化模型。模型包括微网中各种能源的发电成本、污染排放量等因素,以及负荷的变化情况。通过遗传算法对这些参数进行优化调整,可以得到最优的微电网调度方案。 在实际应用中,还需要考虑微电网系统的实际运行情况和约束条件,比如设备的技术特性、供电可靠性等。因此,在优化过程中,需要对遗传算法进行相应的改进,以确保得到的调度方案在实际运行中是可行和有效的。 通过以上的改进,可以更好地使用遗传算法优化微电网调度,并在考虑环境因素的前提下,实现微电网系统的高效、低成本、低污染运行

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值