摘要:将广义简约梯度法(GRG)思想应用于传统遗传算法,提出一种新的混合式遗传算法(HGA),此方法具有很强的全局和局部搜索能力,并且无需复杂的编码、解码过程,可以准确解决多变量、多峰值的给水管网现状分析问题。采用此算法,绝大多数的计算值与实测值的误差可减小到1%以下,能准确反映管网的实际工况。
关键词:混合式遗传算法 广义简约梯度法 遗传算法
随着用水规模的不断扩大及管道使用年限的增长,城市网逐渐暴露出一些问题,例如各水源间不合理调度引起管网压力过高,造成能量浪费,甚至引起爆管问题;管道淤积结垢,阀门未正常开启使管道摩阻增大,管网压力局部降低;管道锈蚀,或接口处漏水造成水资源浪费,管网水量。水压不足等问题。为了解这些情况,及时、准确掌握管网工况,必须进行管网现状分析,并且其结果可为管网优化调度、改建、扩建提供可靠依据。
1 网现状分析常用方法简介
网现状分析是在水源的供水压力和供水量已知,通过部分节点、管段的水压、流量的实际量测值来推断节点流量、管线摩阻及所有的节点水压和管段流量。常用方法有现状平差法、遗传算法和广义简约梯度法。
现状平差法[1]是通过实测与经验得出节点流量和管线摩阻,然后转化为管网平差问题求解节点水压与管段流量,再与实测值相比较得知管网工况。由于节点流量和管段摩阻均很难准确确定,此方法常导致平差计算结果与实际值存在较大偏差,以致现状分析得出错误的结论。
王荣和等[2]提出通过以节点流量和管线摩阻力控制变量的非线性规划来进行管网现状分析,并以遗传算法求解,得到较好的效果。但由于遗传算法中随机抽取样本,存在偶然性,有时对部分节点或管段提供的结论并不准确,只能达到80%的准确率,而且对管网末梢的树状管段和节点,也不能正确控制。由于遗传算法局部收敛能力较差,对于大、中型管网,计算时间很长,且很难逼近最优解。
而文献[3]则尝试采用解决非线性规划的有效方法——广义简约梯度法来求解,其基本思想是利用简约梯度构造一个使目标函数改善的可行方向,然后沿此方向进行搜索,找出一个更优点,从而逐步逼近最优解。此方法具有很强的局部收敛能力,但全局搜索能力欠佳,对于多峰值的规划问题,很容易陷入局部最优解。
本文将提出一种集广义简约梯度法和遗传算法于一体的混合式遗传算法,针对现状分析问题目标函数。约束条件均可微且较易求得的特点,在遗传算法全局搜索的基础上加以沿负梯度方向的变异,以提高其局部搜索能力,很快达到全局最优解。
2 数学模型的建立
依据在满足管网水力条件约束下,在允许的调幅范围内,通过对节点流量q,管段过水能力系数r进行调整,使测压点水压和测流管段流量的计算值与实测值之差降至最小的原则,建立数学模型[3]。
3 数学模型的求解[1,4-5]
3.1 初始群体的产生
样本染色体为 M+N维实向量,由 M个节点流量和N个管段过水能力系数组成。初始种群的产生是在各自的界限值范围内随机选取n组。以下的交叉。变异过程将直接采用控制变量的参数值,而无需编码。解码。另外,本方法样本规模n可适当减小,一般可取传统遗传算法的一半左右。
3.2 样本染色体交叉
对于目标函数值较小的样本,则将其作为父代染色体按算术组合进行交叉得到子代染色体。父代染色体向量从第k代染色体向量集的子集中随机抽取产生。设分别为β1(k)和β2(k),则子代染色体β3(k+1)=α×β1(k)+(1-α)×β2(k)。其中 α可由式α= Zβ1/( Zβ1+ Zβ2)确定(其中 Z为染色体向量所对应的目标函数值)。
3.3 样本染色体变异
对于目标函数值较大的样本,则需进行变异。其中目标函数值超过一定限度的,按照初始群体产生的方法随机选取新的个体,以确保样本的多样性,避免陷入局部收敛,称之为随机变异。另外一部分则沿目标函数的负梯度方向变异,即:q(k+1)=q(k)+λ(k)·Pq(k),r(k+1)=r(k)+λ(k)·Pr(k)其中λ(k)为第k步的步长,Pq(k),Pr(k)为q,r的搜索方向,即目标函数的负梯度方向。
3.4 交叉、变异概率的动态调整
在迭代之初,样本以随机变异为主,目的是进行充分的全局搜索以达到最优解的邻域,并加以少量的交叉和沿负梯度方向变异操作。在以后的过程中将逐步加强交叉和沿负梯度方向变异操作,以加快收敛速度,逐步逼近最优解。本文采用一次函数来动态确定交叉和两种变异的概率。
3.5 终止法则
依经验采用最大迭代步数GENMAX,即迭代步数达到规定值时即停止计算。也可采用限制精度来终止计算,即当q(k)-时终止计算。
4 算例验证
笔者分别采用广义简约梯度法(GRG)、传统遗传算法(GA)以及前述混合式遗传算法(HGA)进行了软件编制,并对如图1简单管网进行计算验证。对于该管网,假设实测值如表1所示。根据此值可计算出各节点流量和管段过水能力系数的准确值,如表2所示。
计算参数 | 计算点 | 实测值 |
节点水压/m | 节点1 | 64.1696 |
节点2 | 62.2248 | |
管段流量/(L·s-1) | 管段1 | 0.1587 |
管段2 | 0.0587 | |
管段3 | 0.0413 |
计算参数 | 计算点 | 准确值 | 计算值 | 误差/% |
节点流量/(L·s-1) | 节点1 | 0.1000 | 0.1000 | 0.00 |
节点2 | 0.1000 | 0.1000 | 0.00 | |
管段过水能力系数 | 管段1 | 0.0462 | 0.0461 | 0.22 |
管段2 | 0.0410 | 0.0418 | 1.95 | |
管段3 | 0.0109 | 0.0109 | 0.00 |
由图2、图3可以看出,利用传统遗传算法计算尽管可以在很短时间内收敛到最优解的邻域,但之后却很难达到最优解,迭代200次后目标函数值为4.7419。而本文所提出的混合式遗传算法则具有很强的局部搜索能力,迭代20次后目标函数值就已达到0.003 9。
另外,尽管广义简约梯度法收敛性较好,但由图4可以看出,其结果与给定初始值有很大关系。在大型管网中,广点流量和管段过水能力系数是很难较准确给定的,初始值误差常会达到百分之几百,随着给定初始值误差的增大,常会收敛到局部最优解,而目标函数值也会急剧增大,准确性较差。
表2给出了利用本文提出的混合式遗传算法的计算结果。
5 结论
通过本文论述可以看出,将广义简约梯度法与传统遗传算法给分的泥公式造着复被收敛查究获决且不容易陷人局部最优解,对于解决网现状分析问题具有很好的效果。笔者将对此方法进行进一步研究,并应用于合肥市网现状分析中,以实践证明其可行件和高效性。
参考文献
[1] 高乃云,彭海清,范瑾初.现状管网平差及其原始数据的准备[J].给水排水,1998,24(8):27-28.
[2]王荣和,姚仁忠,潘振华.遗传算法在网现状分析中的应用[J] 给水排水,2000,26(9):31一36
[3] 许仕荣,邱振华.网的计算理论与电算应用[M].长沙:湖南大学出版计、1997
[4] 唐加福,汪定伟,高振,等.面向非线性规划问题的混合式遗传算法[J].自动化学报,2000,26(5):401-404.
[5] 袁晓辉,张双全,王金文,等.拟梯度遗传算法在水电厂厂内经济运行中的应用研究[J]. 电网技术,2000,24(12):66-69.