微电网日前优化调度 。算例有代码(2)

在前文中,我已对问题1进行啦求解。本文对问题2 进行求解。

问题2
2) 最优日前调度方案一:
若不计蓄电池作用,且微网与电网交换功率无约束,以平均负荷供电单价最小为目标(允许弃风弃光),分别计算各时段负荷的供电构成(kW)、全天总供电费用(元)和平均购电单价(元/kWh),分析可再生能源的利用情况。

1#读取数据

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Author: yudengwu
# @Date  : 2020/6/3
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
#读取文件
file=pd.read_csv('微电网日前优化调度.csv',header=0,encoding='gbk')
print(file.head())

在这里插入图片描述
2状态
为使平均负荷供电单价最低,我们先将可再生能源发电的价格分别与各时段电网售价以及购电价格进行对比,将风机、光伏发电划分为全部不弃、全部弃、全部自给三种情况,如下表:
在这里插入图片描述
3 根据风机、光伏发电价格以及主网购电、售电价格得到下表
在这里插入图片描述
(1)风机全弃、光伏全弃时各时段风机、光伏的发电功率:
在这里插入图片描述
(2)风机自给,光伏全弃时各时段风机、光伏的发电功率:
在这里插入图片描述
(3)风机不弃、光伏自给时各时段风机、光伏的发电功率:
在这里插入图片描述
由负荷所需功率为各项代数和,得到微网与主网各时段的交换功率:
在这里插入图片描述
4 根据条件,我们编写程序把每一时刻的光伏,风机,主网功率求出来

#风机实时功率求解

#风机功率
file['风机功率']=''
file.loc[file['序号']>=0,'风机功率']=0#1-28风机全弃
file.loc[file['序号']>28,'风机功率']=file[['负荷(kW)','风机(kW)']].min(axis=1)#29-40风机自给
file.loc[file['序号']>40,'风机功率']=file['风机(kW)']#41-60风机不弃
file.loc[file['序号']>60,'风机功率']=file[['负荷(kW)','风机(kW)']].min(axis=1)#61-72风机自给
file.loc[file['序号']>72,'风机功率']=file['风机(kW)']#73-84风机不弃
file.loc[file['序号']>84,'风机功率']=file[['负荷(kW)','风机(kW)']].min(axis=1)#85-96风机自给

#光伏功率求解

#光伏功率求解
#全弃
file['光伏功率']=''
file.loc[file['序号']>=0,'光伏功率']=0#1-40风机全弃
#自给
file['负荷-风机']=file['负荷(kW)']-file['风机功率']

file['max']=file['负荷-风机'].apply(lambda x:x if x>0 else 0)

file.loc[file['序号']>40,'光伏功率']=file[['max','光伏(kW)']].min(axis=1)#41-60光伏自给
#全弃
file.loc[file['序号']>60,'光伏功率']=0#61-72光伏全丢弃
#自给
file.loc[file['序号']>72,'光伏功率']=file[['max','光伏(kW)']].min(axis=1)#73-84光伏自给
#全弃
file.loc[file['序号']>84,'光伏功率']=0#85-96光伏全丢弃

#与主网交换功率

#与主网交换功率
file['主网交换功率']=file['负荷(kW)']-file['风机功率']-file['光伏功率']

#功率实时绘图

import matplotlib.pyplot as plt
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False

plt.plot(file['负荷(kW)'],'g',label='负荷')
plt.plot(file['主网交换功率'],'r',label='主网')
plt.plot(file['风机功率'],'black',label='风机')
plt.plot(file['光伏功率'],'b',label='光伏')
plt.legend()
plt.show()

在这里插入图片描述
5 #费用
风机费用
价格0.52是购买1kw/h的钱
有96个节点,对应1小时有4个节点。所所以对应每点价格应除以4.

#风机费用
file['风机费用']=file['风机功率']*0.52/4
print(file['风机费用'].sum())

风机费用结果:665.8314

光伏费用

#光伏费用
file['光伏费用']=file['光伏功率']*0.75/4
print(file['光伏费用'].sum())

光伏费用结果为:145.186875

微电网向主网购电费用

file['购电价格']=''
file.loc[file['序号']>=1,'购电价格']=0.25/4
file.loc[file['序号']>=29,'购电价格']=0.53/4
file.loc[file['序号']>=41,'购电价格']=0.82/4
file.loc[file['序号']>=61,'购电价格']=0.53/4
file.loc[file['序号']>=73,'购电价格']=0.82/4
file.loc[file['序号']>=85,'购电价格']=0.53/4

file['向主网购电费用']=file['主网交换功率']*file['购电价格']
print(file['向主网购电费用'].sum())

向主网购电费用为964.6166250000002

全天总费用 三者相加:1775.6349000000002

sumprice=file['风机费用'].sum()+file['光伏费用'].sum()+file['向主网购电费用'].sum()
print(sumprice)

平均成本为总供电费用比全天负荷消耗功率:
平均成本为平均1kWh的钱。所以代码里要乘以4
结果 0.5368713556823765

meanprice=sumprice*4/file['负荷(kW)'].sum()
print(meanprice)

本文对问题2进行啦求解,后续会对问题3,4求解。
问题1的求解和介绍见上一博文(1)和上上博文0

猜你喜欢

转载自blog.csdn.net/kobeyu652453/article/details/106525235