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

符号说明在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
问题1 求解

  1. 经济性评估方案:
    若微网中蓄电池不作用,且微网与电网交换功率无约束,在无可再生能源和
    可再生能源全额利用两种情况下,分别计算各时段负荷的供电构成(kW)、全
    天总供电费用(元)和负荷平均购电单价(元/kWh)。

情况1 无可再生能源
微网中蓄电池不作用,与电网交换功率无约束,且无可再生能源,所以供电
构成:
在这里插入图片描述
#读取数据
python 代码

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())

在这里插入图片描述
添加购电售电价格因素
注意。在前文博客中(微电网日前优化调度 。算例有代码(0))给出的价格是购电电价(元/kWh),和售电电价(元/kWh) ,而负荷给出的是负荷(kW)。有96个节点,对应1小时有4个节点。所所以对应每点价格应除以4.

file['售电价格']=''
file.loc[file['序号']>=1,'售电价格']=0.22/4
file.loc[file['序号']>=29,'售电价格']=0.42/4
file.loc[file['序号']>=41,'售电价格']=0.65/4
file.loc[file['序号']>=61,'售电价格']=0.42/4
file.loc[file['序号']>=73,'售电价格']=0.65/4
file.loc[file['序号']>=85,'售电价格']=0.42/4

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

负荷曲线画图

#负荷曲线
fuhe=file['负荷(kW)']
plt.plot(fuhe)
plt.show()

在这里插入图片描述
全天总供电费用:

#购电价格
file['buyprice']=file['负荷(kW)']*file['购电价格']
buyprice_sum=file['buyprice'].sum()
print(buyprice_sum)

结果:1976.4142499999996

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

#平均成本
buyprice1_mean=buyprice_sum*4/file['负荷(kW)'].sum()
print(buyprice1_mean)

结果为:0.5975779129974677

情况2 可再生能源的全额利用的模型建立与求解
全新代码,不看之前情况1的代码
题中要求可再生能源全额利用:

在这里插入图片描述
微网中可再生能源全额利用,则若较负荷所需功率不足,不足部分向主网购
买;若剩余,则剩余部分售卖给主网,供电构成:
在这里插入图片描述
在这里插入图片描述
#添加是否购电状态

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
#读取文件
file=pd.read_csv('微电网日前优化调度.csv',header=0,encoding='gbk')



file['售电价格']=''
file.loc[file['序号']>=1,'售电价格']=0.22/4
file.loc[file['序号']>=29,'售电价格']=0.42/4
file.loc[file['序号']>=41,'售电价格']=0.65/4
file.loc[file['序号']>=61,'售电价格']=0.42/4
file.loc[file['序号']>=73,'售电价格']=0.65/4
file.loc[file['序号']>=85,'售电价格']=0.42/4

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.loc[file['负荷(kW)']-file['风机(kW)']-file['光伏(kW)']>=0,'状态']=1#向主网购电
file.loc[file['负荷(kW)']-file['风机(kW)']-file['光伏(kW)']<0,'状态']=0#向主网售电
print(file)

在这里插入图片描述
全天总供电费用应为 风机费用 +光伏费用 +主网费用

#风机费用

#风机购电费用
windprice=file['风机(kW)']*0.52/4#除以4和前文一样
print(windprice.sum())

结果为 1447.2224
#光伏费用

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

结果为:471.85875

#主网费用
微网中可再生能源全额利用,则若较负荷所需功率不足,不足部分向主网购
买;若剩余,则剩余部分售卖给主网。
所以主网费用有是否购电这一项 。费用为向主网购电费用-向主网售电费用
计算公式:
在这里插入图片描述
#主网费用
因为file[‘与主网交换负荷’]里有负值,所以向主网购电与向主网售电两项费用采用+号


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

#主网费用 。向主网购电费用-向主网售电费用
main_price=file['与主网交换负荷']*file['购电价格']*file['状态']+(file['与主网交换负荷']*file['售电价格']*(1-file['状态']))
print(main_price.sum())

结果:356.0886250000001

一天总供电费用
三项相加

#一天总供电费用
sumprice=windprice.sum()+sumprice.sum()+main_price.sum()
print(sumprice)

结果为:2275.1697750000003

平均成本 平均1kw/h成本,所以代码要乘以4

#平均成本
buyprice1_mean=sumprice*4/file['负荷(kW)'].sum()
print(buyprice1_mean)

结果为0.6879080161759704

功率画图

import matplotlib.pyplot as plt
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False
#画图
fuhe=file['负荷(kW)']
plt.plot(file['负荷(kW)'],label='负荷')
plt.plot(file['风机(kW)'],'r',label='风机')
plt.plot(file['光伏(kW)'],'g',label='光伏')
plt.plot(file['与主网交换负荷'],'c',label='主网')
plt.legend()
plt.show()

在这里插入图片描述
图中 主网提供功率会出现负值,即微网对电网售电。

问题1 解决啦 ,后续会对问题2,3,4进行求解。

猜你喜欢

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