精华内容
下载资源
问答
  • 微电网优化调度

    2019-04-29 11:31:59
    使用粒子群算法求微电网优化调度问题,目标函数是其经济性
  • 用遗传算法解决车辆优化调度问题C++ 物流配送 车辆优化调度 遗传算法 时间窗.zip
  • 水库优化调度动态规划程序,调试成功没课直接运行
  • 求解水库优化调度,的C++源代码,直接可以下载应用
  • 若考虑蓄电池作用,且微网与电网允许交换功率不超过 150kW,在可再生能源全额利用的条件下,以负荷平均供电单价最小为目标,建立优化模型,给出最优调度方案,包括各时段负荷的供电构成(kW)、全天总供电费用(元)和...

    个人电气博文传送门
    学好电气全靠它,个人电气博文目录(持续更新中…)

    在前文我对问题1,2进行了解答。
    本文对问题3 进行解答。
    由于本人非研究调度的。问题3求解阐述自己对比赛论文问题3的见解。

    问题3:
    最优日前调度方案二:
    若考虑蓄电池作用,且微网与电网允许交换功率不超过 150kW,在可再生能源全额利用的条件下,以负荷平均供电单价最小为目标,建立优化模型,给出最优调度方案,包括各时段负荷的供电构成(kW)、全天总供电费用(元)和平均购电单价(元/kWh),分析蓄电池参与调节后产生的影响。

    求解思路:
    先从功率方面考虑,显然负荷所消耗的与蓄电池提供的功率之和等于可再生
    能源全额利用功率与交换功率之和:(要求了可再生能源全额利用)

    而对于微网和电网交换功率,受约束即存在最大交换功率:

    其次,对于电池而言,存在充放电次数的约束:

    由于蓄电池的充放电存在时间间隔,因此时间段内蓄电池充放电容量变化量为

    且对于蓄电池充放电功率不同,𝑋𝑡,𝑌𝑡的取值不同:

    单位时间内充放电最大功率有额定容量的约束(𝐸𝑏 = 300):

    且要求在调度周期始末能力状态相等,得:

    结合题目给出的初状态(𝑆0 = 0.4):

    由于上述模型求解较为困难,用一般的解法难以求得全局最优解,结合实际
    问题,我们采用贪心算法对其求解。贪心算法求解的思路是先给出贪心策略。

    为使负荷平均供电成本最低,应令蓄电池带来的放电收入与充电成本之差最大。
    可得到:
    可再生能源充足时 ;蓄电池放电收入=售电价格(蓄电池自己卖给主网);充电成本=售电价格+0.2

    可再生能源不足时;蓄电池放电收入=购电价格;充电成本=购电价格+0.2

    ****#蓄电池分析
    分析各时段电价可得,在充电成本为 0.65+0.2 和 0.82+0.2 无论何时放电都
    不会盈利,而其他时段充电,然后在放电收入为 0.82 时放电都是盈利的,而分析数据可得在放电收入为 0.82 时段负荷许需求足够大,可以使蓄电池的电量放电至放电下限,所以我们采取的贪心策略 1 为:在满足各种约束的前提下,尽可能多在放电收益为 0.82 时放电。同时,在充电成本为 0.22+0.2 时是最低的,所以采取贪心策略 2:在满足各种约束的前提下,尽可能多在充电成本为 0.42 时充电。
    根据贪心策略 2,在 1~55 时段应充满电,在 38,40,41 时段只是强制充电,在 1~28 时段充满其余电量,可以令 6~24 段充电功率为 32.5537,既可满足贪心策略 2,又能满足 6~24 段的强制充电约束,还能使充电次数最小。根据贪心策略 1,在 56~60 时段应以最大功率放电,73~84 时段应该放电至下限(预留 85~88 的强制放电量),61~72 时段除在 66,69,70 时段满足强制放电外,其余时段以最大功率充电,85~96 时段在 85 段以最大功率充电,86~88 段强制放电后,电池电量达到下限(S𝑡=0.3),在 89~96 段内,由于 94~96 段可再生能源充足,充电成本低,在这三时段充电功率为 40kW 即可充电回初始状态S𝑡=0.4。

    此过程不好写代码(故不写)
    得到蓄电池的状态

    结合蓄电池的蓄电池额定容量为 300 kWh,可以得到蓄电池的功率曲线。
    在结合公式

    其中

    是负荷,已知。

    是风机全额利用,已知。

    是光伏全额利用,已知。故可以求出微电网与主网的交换功率

    曲线如图:

    价格:
    价格代码可以参照前文问题2 。求解

    一天供电总费用:2209.88(风机+光伏+蓄电池+主网)
    平均供电单价:0.617

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

    个人电气博文传送门
    学好电气全靠它,个人电气博文目录(持续更新中…)

    在前文中,我已对问题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. ```python #风机费用 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

    展开全文
  • 与电网交换功率无约束,且无可再生能源,所以供电 构成: #读取数据 python 代码 import pandas as pd import numpy as np import matplotlib.pyplot as plt file=pd.read_csv('微电网日前优化调度.csv',header=0,...

    个人电气博文传送门
    学好电气全靠它,个人电气博文目录(持续更新中…)
    符号说明

    问题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()
    
    全天总供电费用: ```python #购电价格 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进行求解。

    展开全文
  • 微电网日前优化调度 。算例有代码(0)

    千次阅读 多人点赞 2020-06-02 15:37:47
    介绍 后续会一一对问题求解,并附上代码。

    个人电气博文传送门
    学好电气全靠它,个人电气博文目录(持续更新中…)
    介绍
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    后续会一一对问题求解,并附上代码。

    展开全文
  • 只能说题目有点长,有时间再看看吧,没看完 ——。。——

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 206,837
精华内容 82,734
关键字:

优化调度