APP下载

联供系统在线寻优的遗传算法软件实现

2018-01-02黄振军

软件 2017年12期
关键词:电联水罐能效

江 兵,李 冰,黄振军

(中国船舶重工集团公司第七一一研究所,上海 201108)

联供系统在线寻优的遗传算法软件实现

江 兵,李 冰,黄振军

(中国船舶重工集团公司第七一一研究所,上海 201108)

本文聚焦于实用型热电联供系统。为克服运行调度技术障碍,依据热力学原理建立了联供系统能效优化模型。利用联供系统示范项目实测数据,通过回归计算,并参考所用设备性能规格,确定了该优化模型参数。为适应优化模型非线性、多变量特点,对通用遗传算法适当改进,并用 C#语言开发了智能优化软件,解决了联供系统上述优化模型在线求解难题。最后,用实际算例验证了该遗传算法优化软件,在热电联供系统联线优化调度中的应用价值。

计算机软件;热电联供;能效优化;遗传算法

0 引言

热/电负荷之间不平衡变化,是热电联供系统的一对矛盾[1],引发了机组运行调度困难、能效达不到预期、经济效益下滑等一系列问题。采用图(1)带储热或蓄冷的热电联供方案,虽然可以缓解这对矛盾;但是,储能装置的投入给系统运行调度增加了难度[2]。随着热、电负荷的不平衡变化,联供发电机组最佳输出功率点的实时、在线、自动计算,成为热电联供系统运行控制环节面临的难题[3]。

遗传算法求解复杂非线性优化问题具有普适性[4]。尽管遗传算法应用中还存在着局部搜索能力差和容易出现早熟现象等问题[5-9];但是,以遗传算法为基础的随机优化方法仍然是提高与联供系统类似的复杂系统调度自动化水平、降低运行操作负担的有效途径[10-12]。

本文针对联供系统能效优化模型特点,以及遗传算法的优缺点,从编码方案和遗传算子开发等方面着手,采用通俗易懂的C#语言,和具有跨平台运行优点的.NET技术,实现了联供系统遗传算法寻优技术。

1 热电联供系统结构特点

由天然气内燃机组构成的热电联供系统如图 1所示,其特点如下:

(1)机组缸套水余热利用+容积水箱蓄热。烟气余热单独利用,不参与调度;

(2)机组输出电功率和余热功率之间的比例,与动态变化的热/电负荷比不一致;

(3)系统热负荷变化符合统计规律,可以预测。

2 能效优化原理

以系统热负荷预测为基础;以提高能效,降低天然气消耗为优化目标;通过决策变量(燃气机组运行功率)优化设置,来维持系统热量供求关系动态平衡,避免冷却回水温度超限,提高机组利用率。寻优区间将根据机组容量和经济负荷率确定。能效优化问题形式化描述如下:

(2)约束条件:机组冷却回水温度低于上限,即: Thi<Tmax

(3)决策向量:未来若干时间段机组功率设定

3 能效优化模型实例

3.1 某型号燃气发电机组天然气消耗特性

3.2 某宾馆春秋季热电联供系统热负荷(时间序列)预测模型

热负荷预测模型的阶次和系数由实测数据通过辨识得到。

3.3 机组冷却回水温度数学模型

3.3.1 缸套水换热器热端出口温度与冷端进口温度之间的联系

根据换热器的传热方程 Pi= K× Sh×ΔTmi、热端和冷端热平衡方程可得换热器热端出口温度与冷端进口温度的换算关系:

3.3.2 蓄热水罐热量传递关系

蓄热水罐既通过缸套水换热器吸收热量,又提供生活热水释放热量;其换热过程可以用如下方程描述:

式中:η:蓄热水罐热损失系数;it:第i时段机组运行时间,s;S:水罐横截面积,;h:蓄热水罐水位,m;:蓄热水罐第i时段热负荷预测值,kW。

图1 热电联供系统示意图Fig.1 Cogeneration system schematic diagram

3.3.3 冷却回水温度的数学描述

式(3)既描述蓄热水罐换热过程,又反映热电联供系统热量供需动态平衡。

综合(2)、(3)式可得缸套水回水温度(换热器热端出口温度)与机组运行功率、系统热负荷之间关系如下:

3.3.4 不等式约束条件及处理方式

为保证发电机组稳定运行,提高机组利用率,必须限制缸套冷却水回水温度,以避免机组因超温保护而意外停机。因此要求由(4)式得:

Tc0:起点时刻换热器冷端入口温度(即:蓄热水罐温度),此前各时段蓄热水罐热负荷与输入热量差额的累积(可测参数),kJ。

如果对所讨论的热电联供系统进行提前2 h的优化调度,并对热负荷作2步预测(每步时长为1 h),则在蓄热水罐已蓄热 30.00 kWh,并且系统热负荷 2步预测值分别为=200 kW前提下,将表1中工艺参数带入(5)式,可得热电联供系统能效优化模型约束条件的参数化实例如下:

式(6)所示能效优化模型约束条件实例为不等式。为便于求解,必须对式(6)作进一步处理。

采用“松弛变量”(松弛系数:0.05),可将不等式约束(6)转化为等式约束(7),以便优化模型的后续求解。

采用“惩罚函数”,可消除优化模型中的等式约束,从而将原优化问题进一步转换为不含约束条件的经典优化问题来求解。具体方法:通过权重系数将约束等式与原目标函数组合,重新构造等价的目标函数(8)。转换后的目标函数最优解将逼近原优化问题的最优解。

表1 热电联供系统工艺参数Tab.1 Cogeneration system technological parameter table

3.3.5 等效目标函数

经过以上处理,与原热电联供系统能效优化问题等效的无约束优化问题目标函数为:

天然气发电机组额定容量为300 kW,经济运行功率下限为150 kW,决策分量的取值范围为[150, 300]。

4 遗传算法寻优的软件实现

遗传算法实现过程需要设计:编码方案、选择策略和遗传算子。

4.1 编码方案

采用二进制编码,将整数格式的2个决策分量分别转换成二进制编码,再连接成长串二进制码序列。决策变量寻优空间为实数[150.0,300.0]之间。偏移-150.0后,待编码的搜索变量取值范围为整数[0,150]之间。为了提高计算精度,搜索变量分别乘10倍,取值范围相应扩大为 0~1500。由于 210能表示的无符号整数范围为0~1024,因此单个搜索变量的二进制编码长度至少为11位,所以2个搜索变量连成串后的二进制编码长度为22位。

4.2 选择策略

采用“比例选择算子”。设计思想:单个个体被选中的概率与其适应度成正比。如果种群规模为n,个体i的适应度为fi,则个体i被选中的概率Pi为:

4.3 遗传算子

采用单点交叉。杂交个体、交叉换位点和变异点都随机选择。杂交概率和变异概率在人机界面设置。交叉换位和变异算法,充分利用了C#语言移位和位逻辑运算指令简洁、高效的优势。

4.4 适应值函数

式(9)作为优化问题的目标函数,需要求的是最小值;而适应值函数通常求最大值。为此,将式(9)改写成式(10)形式:

4.5 联供系统遗传算法寻优的C#语言关键源代码

public class CsGaClass //遗传算法基因类

{

public int PopulationSize; //种群规模

private int CodeSize; //编码长度

public double CrossProbab; //交叉概率

public double MutantProbab; //变异概率

public int[] Popula; //种群

public double Alpha; //权重

public double Belta;

······

public void FitComput() //适应值计算

{

for (int i = 0; i < PopulationSize; i++)

{

·····

mx=0.0007086*System.Math.Pow(p1,2)-0.09694*p1+32.65+0.0007086*System.Math.Pow(p2,2)-0.09694*p2+32.65;

nx=System.Math.Pow(0.085*p1-24.293,2)+System.Math.Pow(0.042*p1+0.085*p2-32.436,2);

Fit[i] = 10000-(Alpha * mx + Belta * nx) ;//适应值公式

}

}

public void PopulaSelect() //选择算子

{

double sel; //[0,1]之间均匀分布的随机数,用于轮盘赌

·····

for (int i = 0; i < PopulationSize; i++)

{

sel = autoRand.NextDouble();

if (sel < accselpro[0])

TransitPopula[i] = Popula[0];

for (int j = 1; j < PopulationSize; j++)

{

if (( accselpro[j - 1] <= sel) && (sel <accselpro[j])) //轮盘赌

{

TransitPopula[i] = Popula[j];

break;

}

}

}

}

public void PopulaCross() //交叉算子

{

·····

while ( i < (int)( crosscount/2 ) )

{

cross

point=(int)(CodeSize*autoRand.NextDouble()); //随机确定交叉位

tp11 = anticrossmask & cross[2 * i];

tp12 = crossmask & cross[2 * i]; //与掩码逐位与,交叉位分离

tp21 = anticrossmask & cross[2 * i + 1];

tp22 = crossmask & cross[2 * i + 1];

cross[2*i] = tp11 | tp22; //逐位逻辑或,完成交叉互换

cross[2*i+1] = tp21 | tp12;

}

}

public void PopulaMutant() //变异算子

{

·····

while(i<mutantcount)

{

l =(int)(PopulationSize*autoRand.NextDouble());

tp = TransitPopula[l]; //随机确定基因变异个体

mutantpoint=(int)(CodeSize*autoRand.Next

Double());//随机定变异位

if (( tp & mutantmask ) != 0 ) //基因变异

tp &= antimutantmask;

else

tp |= mutantmask;

}

}

}

4.6 遗传算法与遍历搜索算法的比较

为比较算法性能优劣,首先采用基本的遍历搜索算法求解上述优化问题。当 a=b=0.5时,遍历搜索算法求得的精确最优解:P1=273.5,P2=230.6。

当算法关键参数取下图所示经验值,同样在a=b=0.5条件下,用遗传算法求解上述热电联供系统能效优化问题的实测计算性能为:误差<1.0%的命中概率>95.6%。因此,所实现的遗传算法稳定性和计算精度2项衡量指标都可以满足工程实际需要。

采用遗传算法求解上述能效优化问题,平均耗时 0.88 s;而在同一台计算机上,采用遍历算法搜索同样的寻优空间,平均耗时0.63 s。所以,在上述优化问题寻优空间内搜索,遍历算法虽然略微领先,但不具备突出优势。一旦搜索范围扩大至n倍,则遍历算法求解时间将增长至n2倍。而遗传算法求解时间仅受遗传代数影响略大,并且时间增长与遗传代数增加呈线性比例关系。更为重要的是,下图所示遗传算法相关参数已经优化,搜索空间扩大后无须通过增加遗传代数来减小误差或提高命中概率;因此,计算时间不会明显增加。所以,用遗传算法解决上述热电联供系统能效优化问题优势明显。

图2 遗传算法参数设定界面Fig.2 Genetic algorithm parameter setting interface

5 结论

本文根据一种热电联供系统结构建立的能效优化调度模型,不仅重点围绕实际应用中存在的问题而设置优化目标和约束条件,而且模型参数计算也建立在实际测量或工程设计计算基础上,具有切合实际的应用背景,对解决同类热电联供系统运行调度和优化控制问题具有良好的参考价值和借鉴意义。

所开发的遗传算法寻优程序,在计算精度和稳定性方面已得到遍历搜索算法验证。计算速度相对稳定的优势也表明,遗传算法比较适合实际工程应用。

[1] 马瑞, 李文晔, 李晅, 等. 分布式冷热电联供系统负荷随机模糊建模[J]. 电力系统自动化. 2016, 40(15): 53-58.MA R, LI W Y, LI X, et al. Random Fuzzy Model for Load of Distributed Combined Cooling Heating and Power System[J]. Automation of Electric Power Systems, 2016, 40(15):53-58. (in Chinese)

[2] 陆伟, 张士杰, 肖云汉. 有蓄冷器的联供系统优化运行[J].中国电机工程学报. 2007, 27(8): 49-53. LU W, ZHANG S J,XIAO Y H. The Optimal Operational Planning of a Cogeneration System With Storage[J]. Proceedings of the CSEE,2007, 27(8): 49-53. (in Chinese)

[3] 王成山, 武震, 李鹏. 微电网关键技术研究[J]. 电工技术学报. 2014, 29(2): 1-12.WANG C S, WU Z, LI P. Research on Key Technologies of Microgrid [J]. Transactions of China Electrotechnical Society,2014, 29(2): 1-12. (in Chinese)

[4] 杨启文, 蒋静坪, 张国宏. 遗传算法优化速度的改进[J].软件学报. 2001, 12(2): 270-275.YANG Q W, JIANG J P, ZHANG G H. Improving Optimization Speed for Genetic Algorithms[J]. Journal of Software,2001, 12(2): 270-275. (in Chinese)

[5] 边霞, 米良. 遗传算法理论及其应用研究进展[J]. 计算机应用研究. 2010, 27(7): 2425-2429.BIAN X, MI L. Development on genetic algorithm theory and its applications[J]. Application Research of Computers,2010, 27(7): 2425-2429. (in Chinese)

[6] 朱臻, 何清顶, 张博. 大规模测控资源规划问题的改进遗传算法研究[J]. 软件, 2013, 34(2): 82-83.ZHU Z, HE Q D, ZHANG B. An Improved GA to Solve Large Scale TT & C Resource Scheduling Problem[J].Software, 2013, 34(2) : 83-83. (in Chinese)

[7] 薄钧戈, 苏红旗. 一种基于遗传算法的排课方法研究[J].软件, 2014, 35(1): 43-45.BO J G, SU H Q. One Study on the Genetic Algorithms for the Timetabling Problem[J]. Software, 2014, 35(1): 43-45.(in Chinese)

[8] 水勇. 遗传算法的研究与应用[J]. 软件, 2014, 35(3): 107.SHUI Y. The Research and Application of Genetic Algorithm[J]. Software, 2014, 35(3): 107. (in Chinese)

[9] 聂敬云, 李春青, 李威威, 等. 关于遗传算法优化的最小二乘支持向量机在MBR 仿真预测中的研究[J]. 软件,2015, 36(5): 40-44.NIE J Y, LI C Q, LI W W, et al. Research on the Least Squares Support Vector Machine Optimized by Genetic Algorithm in the Simulation MBR Prediction[J]. Software,2015, 36(5): 40-44. (in Chinese)

[10] 李杰煌, 栗元邦. 基于遗传算法的民航机组排班系统[J].软件, 2013, 34(4): 38-39.LI J H, LI Y B. Civil aviation units scheduling system based on genetic algorithm [J]. Software, 2013, 34(4): 38-39. (in Chinese)

[11] 谢佩军. 一种基于膜计算的遗传算法图像分割方法[J]. 软件, 2014, 35(9): 80-85 XIE P J. A GA-Based Image Segmentation Using Membrane Computing[J]. Software, 2014, 35(9): 80-85. (in Chinese)

[12] 陈晓燕, 姚高伟, 张鲲, 等. 基于遗传算法的无线传感器节点定位在农业的应用[J]. 软件, 2015, 36(4): 1-5.CHEN X Y, YAO G W, ZHANG K, et al. The Application of Wireless Sensor Node Localization Based on Genetic Algorithm in Agriculture[J]. Software, 2015, 36(4): 1-5. (in Chinese)

Software Implementation of Genetic Algorithm for Cogeneration System Online Optimization

JIANG Bing, LI Bing, HUANG Zhen-jun
(Shanghai Marine Diesel Engine Research Institute, Shanghai 201108, China)

This paper focuses on the commonly used cogeneration system. Based on the thermodynamics principle, the cogeneration system energy efficiency optimization model is established to resolve the difficulty in the system scheduling. The parameters of the optimization model are determined by regression calculation of the measured datas and consulting the performance specifications of the equipments used in the demonstrative cogeneration system. For adapting the nonlinear and multi-variable characteristics of the optimization model, the general genetic algorithm is improved appropriately. Using C# language, the intelligent optimization software is developed at the same time for solving the cogeneration system online optimization problem. Finally, the application value of the genetic algorithm optimization software for cogeneration system optimal scheduling is verified by a practical example.

Software; Cogeneration; Optimization of energy efficiency; Genetic algorithm

TP273+.1

A

10.3969/j.issn.1003-6970.2017.12.040

本文著录格式:江兵,李冰,黄振军. 联供系统在线寻优的遗传算法软件实现[J]. 软件,2017,38(12):206-210

江兵(1967-),男,高级工程师,主要研究方向为:发动机控制、分布式能源控制和可再生能源优化调度技术;李冰(1966-),男,高级工程师,主要研究方向为:内燃机、分布式供能和可再生能源技术;黄振军(1975-),男,高级工程师,主要研究方向为:特种发动机控制、软件、人工智能。

猜你喜欢

电联水罐能效
热电联供系统复合除湿空调系统动态仿真
热源循环泵流量对热电联供系统优化运行影响
上海:稳中有进 能效趋优
自动化焊接工作站运用于钢水罐焊接中的可行性分析
关注能效
冷电联供系统的多目标运行优化
冷热电联供微网环保经济调度研究
尊重差异 别样人生——《一路花香》的教学启示
浅谈实现高能效制造的未来发展趋势
欧盟:LED照明能效标准将实施