自适应罚函数遗传算法对给水管网优化的研究

作者:余嵘 严程 逯佩宁
单位:西安工程大学环境与化学工程学院
摘要:在城镇给水管网优化过程中,针对传统罚函数算法难以求得最经济管径的缺陷,提出一种新的自适应罚函数遗传算法。首先利用Matlab软件建立了基于经济费用的优化模型和管网平差子程序,然后给出自适应罚函数法的概念及原理,将其与遗传算法结合得到一种新的求解管网优化问题的进化算法。利用自适应罚函数遗传算法对陕西某城镇进行给水管网优化计算。结果表明:该方法能够有效地解决有约束条件的给水管网优化问题,具有更强的搜索性能,在满足水压与流速的前提下降低管网建造费用和运行管理费用。
关键词:给水管网优化 自适应罚函数 遗传算法 约束优化问题 Matlab
作者简介:余嵘,通讯处:710048陕西省西安市碑材区金花南路19号西安工程大学环境与化学工程学院; 严程,通讯处:710048陕西省西安市碑材区金花南路19号西安工程大学环境与化学工程学院; 逯佩宁,通讯处:710048陕西省西安市碑材区金花南路19号西安工程大学环境与化学工程学院;
基金: 世界银行贷款陕西省小城镇项目(8425-CN); 陕西省工业科技攻关项目(2015GY101);

 

0 引言

   给水管网是城镇给水系统的重要组成部分,其投资占给水系统总投资的50%~80%,并且影响着水厂的电能消耗、运行管理费用及系统的可靠性。因此,进行给水管网优化具有重要意义。

   在给水管网优化模型的求解中涉及约束条件的处理,罚函数法是处理约束条件最主要的方法,其核心是惩罚因子的选择。实际工程中,通常按照经验选取一个常数作为惩罚因子,由于无法确定惩罚力度的大小,难以求得优化模型的全局最优解,从而无法降低管网的建造及运行管理费用。已有相关研究提出一些改进方法,诸如静态惩罚函数法、动态惩罚函数法、退火惩罚函数法、自适应惩罚函数法协同进化惩罚函数法、死惩罚函数法[1],但均表现出参数过多、选取合理的参数困难、计算强度过高、优化效果一般等缺陷。

   本文针对现有研究的不足,为解决给水管网优化问题提出了一种新优化方法———自适应罚函数遗传算法。 该方法采用遗传算法作为搜索引擎,利用每一代种群中可行解的比例动态地权衡约束违反程度,在算法进化过程中根据需求动态调整惩罚项的大小。 与传统罚函数法相比,自适应罚函数遗传算法具有结构简单、寻优性能强等优点,在解决给水管网优化问题上表现出很大的潜力。

1 管网优化经济数学模型的建立

   给水管网优化设计是指在投资偿还期内求出当管网建造费用与管理费用之和为最小时的管网各管段管径,并且满足用户对节点水压及管段流速的要求。首先应该建立管网优化问题的经济数学模型,它包括经济性目标函数和约束条件两部分。优化的实质即求解经济数学模型的最小值。

1.1 管网经济性目标函数

   管网经济性目标函数应包括在投资偿还期内每年分摊的管网建造费用和年管理费用两部分,其中年管理费用包括管网动力费与折旧大修费两部分[2]。考虑到逐年成本回收增值,年利率i采用动态模型即等额分付资金回收的概念[3]。管网经济性目标函数见式(1)。

    

   式中W (D)———管网的造价,元;

   D———管径行向量;

   p———每年扣除的折旧和大修费,以管网造价的百分比计;

   i———年利率;

   t———投资偿还期,年;

   a,b,α———单位长度管道造价公式的系数,通过遗传算法拟合得到[4];

   Dj、lj———第j管段的管径和管长,m;

   β———供水能量变化系数,取0.5~0.75;

   E———电费,分/(kW·h);

   ρ———水的密度,g/cm3;

   Q———输入管网的总流量,L/s;

   H0———水泵静扬程,m;

   ∑hjk———从管网起点到控制点任意一条管线的水头损失之和,m;

   η———水泵效率,取0.55~0.85。

   式(1)的实际意义是求解管网各管段的管径,使得管网建造费用和年管理费用这两个相互制约的费用之和最小。

1.2 约束条件

   在建立了经济性目标函数后,管网还必须满足用户对水量和水压的要求以及一系列水力平衡条件,约束条件主要包括水力约束条件和边界约束条件。水力约束条件包括节点连续性方程、管网能量平衡方程、管段压降方程,以上约束条件是在管网水力计算子程序(又称管网平差计算)中实现的;边界约束条件包括可选标准管径、节点最低压力约束、管线最大流速约束,以上约束条件是在目标函数W(D)中增加惩罚项来实现的[5]。限于篇幅,罚函数法处理约束条件具体原理参见文献[6]。综上,管网经济数学模型见式(2)。

    

   式中F———最终满足约束条件的费用,遗传算法中称种群适应度值,其值越小表示管网投资越少,元;

   μ———惩罚因子;

   Vi———各管段流速,m/s;

   Vi max———各管段限制最大流速,m/s;

   Himin———各节点限制最低水压,m;

   Hi———各节点水压,m。

2 惩罚因子的确定

2.1 自适应罚函数法

   应用传统罚函数法处理管网优化模型中的约束条件时,通常采用固定惩罚因子的方法,即使得式(2)中的μ为任意给定的常数。对于不满足边界约束条件的解,由于在目标函数W (D)中增加了惩罚项使得费用函数minF(D,μ)的适应度值F增大,在种群中失去竞争优势而被淘汰,从而迫使解向可行域接近。当μ取一个无穷大的数时,传统罚函数法可以求得原问题的可行解,但由于算法进化过程中固定的μ限制了算法的搜索区域,所以不一定是全局最优解[7]

   针对传统罚函数法的不足,提出一种新的自适应罚函数法,其核心是对惩罚因子μ的处理。在进化的初期,群体中没有或只有少量的可行解,这时应使得μ相对较大以迫使搜索进入可行域;随着算法的进行,一些可行解进入群体,这时应使得μ减小,并且可行解越多,μ越小,这是因为当群体中可行解较多时,搜索的重心要从搜索可行解转移到搜索好的可行解上,较小的μ可以让有较小的目标函数值和较小违反约束条件的非可行解进入群体,这些解的信息对于搜索全局最优解非常重要;当群体中全部是可行解时,μ取最小[8]。可以得出,惩罚因子μ在优化过程中的自适应调整依赖于当前群体的可行解比例。

   综上,可以将μ表示成当前群体中可行解比例ε 的函数μ(ε),其计算方式见式(3)。

    

   式中λ———一个需要调整的常数参数,>0;

   ε———当前群体中可行解比例。

   则(2)式可以转化为式(4)。

    

2.2 参数λ的确定

   μ(ε)函数中含有一个参数λ,在算法进行前首先应确定λ。λ的选取应使得在ε=0时μ可以将任意不可行解淘汰即不存在μ值过小惩罚力度不够使式(2)的解与式(1)的解之间误差精度达不到要求。如果确定出μ后则间接地确定出了λ。

   实用中取惩罚因子μ为递增且趋于无穷大的正数列{μk},k=1,2,3…,将问题转化为求解一系列无约束优化问题minF(D,μk)。如取初始惩罚因子μ0=1和增大系数δ=1.2,有μk=δμk-1=…=δkμ0,在迭代过程中每一个μk均对应当前优化问题minF(D,μk)的最优解,迭代终止条件取‖D(k)-D(k-1)‖<φ,φ为终止误差(0<φ≤1),取μk为最终的μ[9]。当μ确定后,则有μ=10λ,反解得λ=lgμ

3 自适应罚函数遗传算法设计

   当确定μ(ε)函数中的参数λ后,采用遗传算法作为搜索引擎,将它与自适应罚函数结合后成为一种新的求解管网优化问题的进化算法。其特点是:在遗传算法进化的每一代种群中,根据可行解比例ε,由μ(ε)函数计算当前代的惩罚因子μ,称为自适应的μ值。采用自适应μ计算每一代个体适应度值。这样就可以利用有较小违反约束条件的非可行解遗传信息,这些遗传信息对搜索全局最优解很有帮助。这是因为种群多样性是遗传算法必不可少的本质属性,它能使遗传算法搜索一个比较大的解的空间区域。 具体算法流程如图1所示。

4 工程实例

   以西安市阎良区武屯镇给水管网为研究实例。该管网含有9个环,共有25条管段,16个节点,1个水源,供水方向由西北向东南。最高时用水量为380.22L/s,管网控制点最小服务水头为30 m,管段流速要求小于2.5 m/s,管段编号、节点编号、各节点标高、流量、各管段长度等基础数据和水源位置见图2,每年扣除的折旧大修费用比例、年利率、投资偿还期、电费等数据均已知。管材选用标准为:DN300以下为PE管,DN300以上为球墨铸铁管。管径的综合单价见表1,采用遗传算法拟合的单位长度管道造价计算方式见式(5)。

图1 自适应遗传算法流程

   图1 自适应遗传算法流程

    

图2 管网优化布置

   图2 管网优化布置

    

    

   式中D———标准管径,m;

   表1 不同管径综合单价   

表1 不同管径综合单价

   C———综合单价,元。

   利用Matlab软件编制自适应罚函数遗传算法程序及水力计算子程序。遗传算法的运行参数对求解结果和求解效率具有一定影响,本文利用现有数据对各参数进行反复计算和结果比较后发现如下参数优化效果较好:种群尺寸为100,进化代数为300,交叉概率为0.7,变异概率0.08,算法停止条件为满足最大遗传代数或连续50代适应度值不发生变化。

   确定μ(ε)函数中的参数λ,迭代结果为μ=μkkμ0=1.263×1=97 369≈100 000,则λ= lgμ=5。惩罚因子μ随可行解比例ε 变化的曲线即μ(ε)函数图像见图3。可知μ(ε)为减函数,ε增大随着μ而减小。并且在ε从0到1的初期变化过程中μ急剧下降,后期μ缓慢下降,这样可以让搜索重心从初期搜索可行解迅速转移到后期搜索好的可行解。

图3 μ(ε)函数

   图3 μ(ε)函数

    

   以式(4)为管网优化经济数学模型,分别采用传统罚函数遗传算法和自适应罚函数遗传算法对武屯镇给水管网进行优化计算,图4为两种算法的对应的遗传算法适应度值进化过程曲线,F越小表示管网建造及运行费用越少。采用传统罚函数法优化目标函数的种群最优适应度值F为3.054 2×106,即年平均投资305.42万元;采用自适应罚函数法优化目标函数的种群最优适应度值F为2.886 9×106,即年平均投资288.689万元。这是因为自适应罚函数法能保证算法进化过程中的种群多样性,所以较传统罚函数法有更强的搜索能力并且收敛速度更快,优化效果更好,平均每年节省16.7万元。

图4 传统罚函数法与自适应罚函数法进化过程曲线比较

   图4 传统罚函数法与自适应罚函数法进化过程曲线比较

    

   表2与表3分别为管网的水力计算结果,比较可见:表3中自适应罚函数法设计的给水管网节点压力与管段流速均在经济合理范围内。为了使管网水力计算结果表达直观,分别绘制了管网等水压线,见图5、图6。虽然,传统罚函数法设计的管网等水压线密集,水力坡度陡降,管网负荷大,自适应罚函数法设计的管网等水压线疏密分布均匀,各管段水力坡降在经济合理的界限内。

   表2 传统罚函数法优化给水管网水力计算结果   

表2 传统罚函数法优化给水管网水力计算结果

   表3 自适应罚函数法优化给水管网水力计算结果   

表3 自适应罚函数法优化给水管网水力计算结果
图5 传统罚函数遗传算法等水压线

   图5 传统罚函数遗传算法等水压线

    

图6 自适应罚函数遗传算法等水压线

   图6 自适应罚函数遗传算法等水压线

    

5 结论

   (1)本文研究了给水管网优化问题,提出了一个新的自适应罚函数,并设计了相应的遗传算法。该算法根据当前种群可行解的比例动态的调整惩罚因子,具有较强的搜索性能,保证了群体的多样性,能够引导群体进入可行域并搜索到全局最优解。

   (2)利用该算法设计的给水管网经济性费用更低,水力坡降、节点水压经济合理,等水压线分布均匀管网负荷小,降低了爆管的可能性。该算法应用于有约束的给水管网优化问题是可行的,并表现出明显的优势。

   (3)自适应罚函数遗传算法通用性强,它不仅适用于给水管网优化问题而且也能求解其他与约束相关的优化问题。

  

参考文献

    

    

参考文献[1] Coello C A C.Theoretical and numerical constraint-handling techniques used with evolutionary algorithms:A survey of the state of the art.Computer Methods in Applied Mechanics and Engineering,2002,191(11~12):1245~1287

[2]严煦世,范瑾初.给水工程,第4版.北京:中国建筑工业出版社,1999.78~79

[3]刘书明,王欢欢,信昆仑.城镇给水管网多目标优化设计算法及应用.中国给水排水,2014,30(1):52~53

[4]何忠华,袁一星.用遗传算法拟合给水管网造价公式的研究.给水排水,2011,37(增刊):445~447

[5]陈俊博.自适应惩罚遗传算法的给水管网优化设计:[学位论文].郑州:郑州大学,2006.32~33

[6]王开荣.最优化方法.第1版.科学出版社,2012.125~126

[7]孙文瑜,徐成贤,朱德通.最优化方法.第2版.北京:高等教育出版社,2010.224~226

[8]甘敏,彭辉.一种新的自适应惩罚函数算法求解约束优化问题.信息与控制,2009,2(38):24~26

[9]马昌凤.最优化方法及其Matlab程序设计.北京:科学出版社,2010.114~117

818 1 1
文字:     A-     A+     默认 取消