改进差分算法在供水管网优化设计中的应用
供水管网是城市基础设施的重要组成部分,在城市发展和保障人民生活中发挥着重要作用。随着最优化理论及计算机技术的发展,Simpson等
本文对DE算法中的选择步骤进行了改进,用unique方法将交叉步骤代替,使用变异因子F在[0,1]间随机选择原则,结合sortrows排序选择方法,提出了一种改进差分进化算法,以提高DE算法的全局搜索性和局部收敛性。
1 模型的建立
本文涉及的NYTP管网模型的目标函数如式(1)所示:
式中 Cmin——管网总成本,$;
Di ——第i段管径,in(1 in=25.4 mm);
Li ——第i段管长,ft(1 ft=0.305 m);
np ——管道数量。
与上述目标函数一起使用的连续性约束、节点水头约束、等径约束条件如式(2)~式(4)所示:
式中 Qin——流入节点,CFS(1CFS=0.472 L/s);
Qout ——流出节点,CFS;
Qe ——外部流入或节点的需求量,CFS。
式中 Hj——第j节点水头,ft;
Hjmin ——第j节点最小水头,ft。
式中 Di——第i管道管径,in;
[D] ——市售标准离散管径,in;
np ——管道数量。
在本研究中,使用了组合的模拟优化计算机模型,该模型将DE算法与管网水力模拟软件EPANET 2.0版集成在一起。计算机编程代码是使用MATLAB为DE算法编写的,而EPANET是通过EPANET Toolkit链接。在DE算法中,生成的十进制管径值在传递到水力计算软件之前编码成离它最近的离散管径。
2 改进差分算法
2.1 改进差分算法变异步骤
传统DE算法采用实数编码,进化流程分为3个步骤:变异、交叉和选择。其中,变异操作是通过差分策略实现个体的变异,即通过随机选取种群中的2个不同个体进行加权差(收缩权重因子F)后,扰动第三个待变异的个体,这也是区别于遗传算法的重要标志。本研究选择的差分策略为DE/rand/1/bin,其差分表达式为vi,G=xr1,G+F(xr2,G+xr3,G),其中,F是控制差分向量收缩的权重因子。当F取较大值时,可以保持初期种群个体的多样性,避免早熟,即扩大全局搜索能力,反之,则可以保持种群中优良个体信息,增强全局最优解的搜索概率,即增强局部收敛性。通常的做法是根据供水管网的特性,F在[0.5,1]中取经验值,正是由于供水管网优化问题是非线性问题,而F在寻优过程中没有改变,无法较好地满足变异阶段中算法性能对收缩权重因子F的特殊要求。因此采用参数自适应的DE算法,将F建议为[0,1]间的均匀分布随机数,即F~U[0,1],减少需要调整的参数,随机选择在一定程度上避免控制参数所影响的早熟收敛。改进差分算法的变异策略见式(5):
式中 vi,G——第G代生成的变异向量个体;
xri,G ——第G代种群中选取的随机向量个体,i=1,2,3…N;
rand U ——取[0,1]间的均匀分布随机数。
2.2 改进差分算法交叉步骤
DE算法中的交叉步骤是指变异产生的中间体个体与父代个体进行交叉操作后产生子代的过程,其作用是保持种群的稳定性,并引导进化向最优解方向进行。
基于对上述DE算法交叉操作原理的深入理解,在不破坏算法本身性能的前提下,本研究对交叉操作进行了改进及深化,即用unique算法代替传统的交叉步骤,并结合sortrows排序选择的方法,实现DE算法中的“交叉”和选择这两个步骤。原理如图1所示:首先将变异产生的中间体H与父代X放入空矩阵X-H,使用unique算法剔除矩阵中父代X与中间体H重复的向量组,目的是保持种群的多样性;其次,将剔同后的矩阵X-H按照是否违反设计约束分为违反约束矩阵P1和满足约束矩阵P2;其中,矩阵P1按照违反程度进行sortrows排序,矩阵P2按照目标函数值进行sortrows排序;最后,将新矩阵P1′和P2′按P2′在前的方式合并为一个新矩阵P0。这样,一方面可以克服参数CR固定或线性改变所带来的不足,增加种群的多样性,另一方面可以通过sortrows排序加快向最优解收敛,并提高计算效率。
2.3 算法性能评价指标
为了保证评价算法性能的客观性以及算法间比较的公平性,本研究在保留最低造价方案运行次数和功能评估次数的基础上,添加以下评价指标:①最优解的平均值;②最优解的标准偏差;③全局最优解的百分比。
3 管网测试及结果分析
3.1 NYTP管网模型
NYTP管网是Schaake和Lai
3.2 结果分析
本研究改进DE算法参数种群NP设置为100,最大迭代步数设置为100,独立运行30次,每次运行进行10 000次评估。图3显示出改进DE算法的收敛曲线图,图4表示运行10次时收敛代数,其中,改进DE算法求得的最优造价为3 864万美元。表1对比了改进DE算法与文献中传统DE算法求得的NYTP管网数据,可以看出,改进DE算法运算得到的最小值与其他两种传统DE算法一致,在种群大小一致的情况下,评估次数比传统DE算法低,搜索成功率达到80%,标准差为0.371,说明在搜索空间中,运算结果密集分布在可行域中的可行解附近。所以,改进DE算法能以较小的计算量求得最优解,且搜索成功率较高。
表1 NYTP管网运行结果
Tab.1 Solutions for the NYTP case study
算法 |
种群大小 | 最小值 | 平均值 | 最大值 | 标准差 | 评估次数 | 搜索成功率/% |
DE1[5] |
20 | 38.64 | — | — | — | 5 494 | 71 |
DE2[3] |
100 | 38.64 | — | — | — | 30 701 | — |
改进DE |
100 | 38.64 | 38.77 | 40.03 | 0.371 | 5 342 | 80 |
4 结语
改进DE算法与传统DE算法相比较,改进差分算法具有较快的计算能力,较强的搜索能力与收敛精度,在保证供水安全可靠性的前提下,能达到管网运行经济性的要求,本研究未讨论种群大小对优化问题的影响以及对其它供水管网的适应性,下一步将对以上两个问题做深入研究。