一、粒子群算法求解电联供型微电网经济运行优化简介

0 引言
热电联供 (combined heat and power, CHP) 系统建立在能源梯级利用的概念基础上, 统一解决了电能和热能的供应问题, 是一种经济节能、环境友好的用能方式, 具有良好的社会和经济效益, 在国内外引起广泛关注。在发展低碳绿色经济的背景下, 中国也开始重视CHP系统的发展, 但技术还不成熟, 应用尚处于起步阶段。

CHP型微网是一个复杂的能量系统, 存在多种能量平衡关系。在满足用户热电负荷需求的前提下, 如何根据微源配置 (即参与微源的种类、微源的运行参数等) 制定系统未来一段时间内的运行方案 (即各微源在各时段的功率分配) , 以使系统获得最佳经济效益, 是微网经济运行研究中的一个重要内容。目前, 国内的研究还仅局限在电力微网的层面上, 对CHP系统涉及较少, 国外在此方面已有相关研究展开。文献针对由风电机组和质子交换膜型燃料电池组成的CHP系统, 利用进化算法研究该系统的经济运行问题, 比较了对回收的热能采取4种不同方案得到的结果。研究了由燃气轮机、吸附式制冷机和余热锅炉构成的冷热电三联供系统, 建立简单的线性模型, 对系统运行策略进行优化。以成本最小化为目标, 建立了CHP型微网中各种类型微源的优化配置模型, 并采用粒子群优化 (PSO) 算法进行求解。

本文建立了一种含可再生能源的CHP型微网系统, 由风电机组、光伏电池、燃料电池、余热锅炉、燃气锅炉、蓄电池等微源和热电负荷构成。由于风电、光伏功率以及热电负荷存在很强的随机性, 而且目前的预测水平还远未达到实际应用的要求, 因此这些量将作为未知因素考虑。

1 含可再生能源的CHP型微网系统
本文研究的含可再生能源的CHP型微网系统如图1所示。

图1 含可再生能源的CHP型微网系统
风电机组和光伏电池分别以风能和太阳能为原动力, 作为可再生能源接入微网;燃料电池和燃气锅炉以天然气为燃料, 将化学能直接转化为电能和热能;余热锅炉回收燃料电池产生的废热;蓄电池作为储能装置, 根据系统运行情况, 实时进行充放电。此系统还与大电网进行双向的电功率流动, 当电能不足时从大电网购买电能, 当电能富足时向大电网销售电能。整个系统分成2个部分:用户电负荷由风电机组、光伏电池、燃料电池供给, 并可与大电网和蓄电池进行双向功率交换;用户热负荷由燃气锅炉和余热锅炉供给。

2 CCP理论
CCP主要针对约束条件中含有随机变量, 且必须在观测到随机变量的实现之前作出决策的情况。考虑到所作决策在不利的情况发生时可能不满足约束条件而采取一种原则:允许所作决策在一定程度上不满足约束条件, 但是该决策应该使约束条件成立的概率不小于某一置信水平。
考虑带有随机参数的数学规划模型:

式中:x为决策向量;ξ为随机向量;f (x, ξ) 为目标函数;gi (x, ξ) 为随机约束函数;i=1, 2, …, q。
实际上, 由于随机变量ξ使得目标函数和约束条件的含义并不明确, 因此上述规划模型没有意义。
CCP解决了上述问题, 其模型如下:

式中:Pr{}表示括号中事件成立的概率;α和β分别为事先给定的约束条件和目标函数的置信水平;f-为目标函数f (x, ξ) 在置信水平至少为β时所取的最小值。

3 含可再生能源的CHP型微网经济运行优化模型
本文应用CCP理论建立了含可再生能源的CHP型微网经济运行优化模型, 以系统运行费用最小化为目标, 综合考虑系统的能量平衡约束以及各微源的运行约束, 对系统的运行方案进行优化。

3.1 目标函数
系统运行费用包括:从大电网购电的费用;燃料电池、燃气锅炉的天然气使用费用;风电机组、光伏电池、燃料电池、余热锅炉、燃气锅炉、蓄电池等微源的维护费用;向大电网售电的收入。由于目标函数中含有风电、光伏功率等随机变量, 运行费用也是一个随机量, 因此采用确定性的表达式没有意义。根据式 (2) , 目标函数表示如下:

T为单位时段的时间间隔;n为时段总数;Pex, i为第i时段与大电网交换的电功率, 购电为正, 售电为负;Pfl, i为第i时段燃料电池的发电功率;Pgb, i为第i时段燃气锅炉功率;Pbt, i为第i时段蓄电池充放电功率, 放电为正, 充电为负;Pwt, i为第i时段风电机组功率;Ppv, i为第i时段光伏电池功率;Cph为从大电网购电的价格;Cse为向大电网售电的价格;Cgas为天然气价格;Cfl_om为燃料电池维护费用;Cbl_om为余热锅炉维护费用;Cgb_om为燃气锅炉维护费用;Cbt_om为蓄电池维护费用;Cwt_om为风电机组维护费用;Cpv_om为光伏电池维护费用;ηfl, i为燃料电池第i时段的效率;rfl, i为燃料电池第i时段的热电比值;ηgb为燃气锅炉的效率;ηhr_bl为余热锅炉废热回收效率。

3.2 约束条件
约束条件包括电能、热能的平衡约束以及各微源的运行约束。

  1. 电能平衡约束
    电能平衡约束根据蓄电池充电与放电情况分为如下2种:

    式中:Pel, i为第i时段的电负荷;ηch和ηdis分别为蓄电池充放电效率;i=1, 2, …, n, 下同。

  2. 热能平衡约束

    式中:Pth, i为第i时段的热负荷。

  3. 与大电网功率交换约束

    式中:Pex, max和Pex, min分别为与大电网功率交换的最大和最小值, 即向大电网购电和售电的最大功率。

  4. 燃料电池运行约束

    式中:ΔPfl_up和ΔPfl_down分别为燃料电池单位时段内功率最大增发量和最大减发量;Pfl, max和Pfl, min分别为燃料电池的最大和最小发电功率。

  5. 余热锅炉运行约束

    式中:Pbl, max和Pbl, min分别为余热锅炉的最大和最小功率。

  6. 燃气锅炉运行约束

    式中:Pgb, max和Pgb, min分别为燃气锅炉的最大和最小功率。

  7. 蓄电池运行约束

    式中:j=1, 2, …, n;Pbt, min和Pbt, max分别为蓄电池的最大充放电功率;Wbt, max和Wbt, min分别为蓄电池的最大和最小储能量;式 (13) 表示蓄电池最终储能量与初始储能量Winit相等。

3.3 含随机变量的约束条件处理方法
与传统的优化方法不同, 由于风电、光伏功率以及热电负荷具有随机性, 某些约束条件不再具有确定性。本文根据CCP理论建立模型, 对含有随机变量的不等式约束, 以概率的形式进行描述, 使其能够在一定的置信水平下成立。置信水平的设置根据系统实际的运行要求进行。

根据等式约束 (式 (4) ~式 (6) 和式 (13) ) , 可将Pex, i, Pgb, i表示为含有Pwt, i, Ppv, i, Pel, i, Pth, i等随机变量的函数。一方面消去模型中的等式约束, 将原问题转化为只含有不等式约束的新问题, 便于PSO算法求解过程中的粒子可行性的检验。同时, Pex, i, Pgb, i成为随机量, 因此, 不等式约束 (式 (7) 和式 (11) ) 可以用概率形式描述为:

4 基于随机模拟的PSO算法
4.1 随机模拟

CCP相比于确定性规划的难点在于如何处理机会约束, 如果机会约束比较容易处理, 则可以将机会约束转化为各自的确定性等价类, 然后利用传统方法求解其等价的确定性模型。对于复杂的机会约束, 可以引入随机模拟技术进行处理。

随机模拟, 即Monte Carlo模拟, 其基础是从已知的概率分布中对随机变量进行抽样, 从而为系统决策提供依据或对系统决策进行检验。在求解上述优化模型过程中, 主要在两处引入了随机模拟技术。

  1. 计算目标函数值
    对于带有随机变量ξ的目标函数:

    随机模拟算法如下:①根据随机变量ξ的概率分布Φ (ξ) , 生成N个独立的随机向量ξi (i=1, 2, …, N) ;②置fi=f (x, ξi) ;③取N′=βN, 根据大数定律, 取序列{f1, f2, …, fN}中第N′个最小的元素作为目标函数值。

  2. 检验机会约束
    对于带有随机变量ξ的机会约束:

    随机模拟算法如下:①置计数器N′=0;②根据随机变量ξ的概率分布Φ (ξ) 生成随机变量ξ;③如果g (x, ξ) ≤0成立, 则N′=N′+1;④重复步骤②和③共N次;⑤;果N′/N≥α, 则机会约束成立, 否则不成立。

4.2 算法流程
PSO算法于1995年被首次提出[19], 具有概念简单、易于实现、调整参数少、收敛速度快、鲁棒性能强等优点, 已逐步渗透到各个应用领域, 并得到广泛应用。文献[20]对PSO算法作了详细介绍, 本文不再赘述。
根据以上模型, 提出基于随机模拟的PSO算法流程如下。
步骤1:输入各微源运行参数、各种费用参数和风电、光伏功率以及热电负荷等随机变量的分布参数。
步骤2:设置目标函数以及含随机变量的约束条件的置信水平;设置PSO算法参数, 包括粒子数、最大迭代次数、学习因子、初始惯性权重、终止惯性权重等。
步骤3:根据各时段风电、光伏功率以及热电负荷等随机变量的分布参数, 随机生成各时段的风电、光伏功率以及热电负荷。
步骤4:随机生成各时段燃料电池功率和蓄电池充放电功率, 组成1个粒子, 根据式 (8) ~式 (10) 、式 (12) 、式 (14) ~式 (16) 检验粒子可行性;若粒子不可行, 则重新生成粒子, 直至初始粒子生成完毕, 并同时随机生成各粒子的初始速度;对于如式 (15) 和式 (16) 所示含有随机变量的约束条件, 需根据步骤3中生成的随机量, 利用随机模拟技术检验约束条件是否成立, 即约束条件是否满足置信水平。
步骤5:利用随机模拟技术计算各个粒子的适应值。
步骤6:对每个粒子, 将其适应值与个体极值进行比较, 如果较优, 则更新当前的个体极值和个体最优位置;再将其适应值与全局极值进行比较, 如果较优, 则更新当前的全局极值和全局最优位置。
步骤7:对每个粒子的速度和位置进行更新, 并检验粒子可行性, 方法同步骤4;若粒子不可行, 则重新生成粒子的速度再更新位置, 直至粒子可行。
步骤8:重复步骤5~步骤7, 直至达到最大迭代次数。
步骤9:输出最优解和目标函数最优值。

二、部分源代码

clear all;
clc;
format short;
tic

XDCRL=10; %蓄电池容量
pgridmax=7;%交互功率
m=100; %种群规模数
dd=500; %迭代次数
c1=1;
c2=1;
vmax=1;
vmin=-1;
wmax=0.9;
wmin=0.4;
d=25;%24时刻蓄电池SOC0
CFX =[];%惩罚项
cfx = 0;%惩罚项

PV=load(‘Ppv2.txt’);%光伏发电量
% Pev=zeros(1,24);
Pev=load(‘PEV.txt’);%电动汽车
LOAD= load(‘Load2.txt’);%负荷
sub=load(‘C_sub2.txt’);
buy=load(‘C_buy2.txt’);
sell=load(‘C_sell2.txt’);
xdccl=zeros(m,24);%蓄电池出力
v=zeros(m,d);%初始化速度
SOC=rand(m,d);%蓄电池的SOC
grid=zeros(m,24);%微网
GRID=zeros(1,24);
fx=zeros(1,m);

%%初始化粒子更新
for n=1:m; %每一次更新粒子群(100个粒子)都有判断是否满足条件
for i=2:d %保证蓄电池的SOC大于0.3,小于0.95
if SOC(n,i)<0.3
SOC(n,i)=0.3;
end
if SOC(n,i)>0.95
SOC(n,i)=0.95;
end
SOC(n,1)=0.4;%蓄电池的SOC不变,都为0.4
SOC(n,25)=0.4;%蓄电池的SOC不变,都为0.4
end

三、运行结果




四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]王锐,顾伟,吴志.含可再生能源的热电联供型微网经济运行优化[J].电力系统自动化. 2011,35(08)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

【微电网优化】基于matlab粒子群优化算法的微电网调度(光伏、储能、电动车、电网交互)【含Matlab源码 2190期】相关推荐

  1. 【Matlab破损识别】机器视觉+SVM玉米种子破损识别(带面板)【含GUI源码 1651期】

    一.代码运行视频(哔哩哔哩) [Matlab破损识别]机器视觉+SVM玉米种子破损识别(带面板)[含GUI源码 1651期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考 ...

  2. 【Matlab答题卡识别】hough变换答题卡判定与成绩统计【含GUI源码 752期】

    一.代码运行视频(哔哩哔哩) [Matlab答题卡识别]hough变换答题卡判定与成绩统计[含GUI源码 752期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [ ...

  3. matlab粒子群优化算法工具箱,MATLAB粒子群优化算法(PSO)

    MATLAB粒子群优化算法(PSO) 一.介绍 粒子群优化算法(Particle Swarm Optimization Algorithm)是一种群智能算法,为了寻求全局最优.群体迭代,粒子在解空间追 ...

  4. 【Matlab电力负荷预测】粒子群优化支持向量机短期电力负荷预测【含GUI源码 751期】

    一.代码运行视频(哔哩哔哩) [Matlab电力负荷预测]粒子群优化支持向量机短期电力负荷预测[含GUI源码 751期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 ...

  5. 【Matlab验证码识别】遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别【含GUI源码 1694期】

    一.代码运行视频(哔哩哔哩) [Matlab验证码识别]遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别[含GUI源码 1694期] 二.matlab版本及参考文献 1 matlab ...

  6. 【Matlab图像融合】小波变换遥感图像融合【含GUI源码 744期】

    一.代码运行视频(哔哩哔哩) [Matlab图像融合]小波变换遥感图像融合[含GUI源码 744期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余 ...

  7. 【Matlab指纹识别】指纹识别门禁系统【含GUI源码 1692期】

    一.代码运行视频(哔哩哔哩) [Matlab指纹识别]指纹识别门禁系统[含GUI源码 1692期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余继 ...

  8. 【Matlab指纹识别】指纹识别匹配门禁系统【含GUI源码 587期】

    一.代码运行视频(哔哩哔哩) [Matlab指纹识别]指纹识别匹配门禁系统[含GUI源码 587期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余 ...

  9. 【Matlab路径规划】改进的遗传算法机器人避障路径规划【含GUI源码 703期】

    一.代码运行视频(哔哩哔哩) [Matlab路径规划]改进的遗传算法机器人避障路径规划[含GUI源码 703期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] ...

  10. 【Matlab肌电信号】肌电信号处理【含GUI源码 966期】

    一.代码运行视频(哔哩哔哩) [Matlab肌电信号]肌电信号处理[含GUI源码 966期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余继周,杨 ...

最新文章

  1. 《面向模式的软件体系结构2-用于并发和网络化对象模式》读书笔记(7)--- 事件处理模式与反应器...
  2. insightface face_preprocess
  3. sublime 解决中文乱码
  4. Python中的eval(),exec()以及其相关函数
  5. java动态添加属性_java – 动态添加对象的属性
  6. MFC 基础知识:对话框背景添加图片和按钮Button添加图片
  7. 分类与回归树(CART)相关知识
  8. TemplateComponent.setContainer Component runAsOwner getStable ID and xml view creation
  9. 客户端连接不上kafka的解决方案
  10. atom 64 linux,英特尔:Android的64位Atom处理器已完工
  11. 【open3d】安装open3d.whl之后,import报错ModuleNotFoundError: No module named ‘open3d.cpu‘
  12. 获取textarea标签中的换行符和空格
  13. vmware上pfSense安装说明
  14. 博彦科技offer到手,但甲方变更,程序员只能忍吞苦果吗
  15. 主板调速风扇电路设计
  16. ASP.NET网站页面加载及运行效率等多方面实战优化
  17. mysql数据库实验报告一
  18. tcpdump命令使用
  19. 电子表格使用的35种技巧
  20. 鸿蒙系统会有新主题吗,华为开发者大会主题确定:鸿蒙系统、HMS及EMUI 11三大升级...

热门文章

  1. Photoshop中的色相混合模式
  2. CVE-2018-4990 漏洞详情分析
  3. 【数字化】推动5大层面变革——BCG和MIT帮你设计卓越数字化组织
  4. cesium接入高德、osm、谷歌、arcgis、mapbox地图(cesium篇.3)
  5. 学人工智能需要什么配置的电脑?AI电脑配置需求
  6. 贪吃的猴子c语言的思路,贪吃的猴子(贪吃的猴子?C语言)
  7. golang学习笔记-1
  8. CAD2021安装完成后,打开弹出白框
  9. java实现随机数抽奖_JAVA使用随机数实现概率抽奖
  10. 手机忘记在出租车上寻回的一次经历