《1 前言》

1 前言

水文科学具有地球物理科学和水利科学的双重属性,在洪涝灾害频繁、水资源短缺、水环境恶化和水土流失严重的今天,水文科学面临着巨大的挑战,使得以数理统计、物理成因法为特点的传统水文学不得不向以应用现代化先进技术和手段为代表的现代水文迈进,这样,以人工智能为代表的一大批先进技术将在水文科学中扮演重要的角色。

水文科学中一类重要的问题是优化问题,如流域水文模型参数优选、水电站经济运行、水库优化调度、水资源优化配置等。传统的优化方法如动态规划( dynamic programming,DP),随着状态空间和决策空间的增加容易出现“维数灾”问题,逐步优化方法(progressive optimality algorithm,POA)虽然能在一定程度上克服“维数灾”的困境,但是在求解的收敛速度上不如人意。即使是具有适者生存和基因遗传思想的遗传算法( genetic algorithm,GA)在求解优化问题时,也有局部寻优能力差,容易出现早熟的现象,且算法流程比较复杂,交叉概率和变异概率的选择对问题的解有较大的影响。因此,人们“师法自然”,提出了许多源于自然界的智能演化算法,如粒子群优化算法( particle swarm optimization,PSO)、蚁群算法、鱼群算法等,PSO 是这些算法中的佼佼者。 PSO 是一种基于群集智能的演化计算技术,由于算法具有依赖的参数少,收敛速度快,编程易实现等特点而在电力系统[1] 、图像分割[2] 、参数估计[3] 、神经网络参数训练[4] 、水电站厂内经济运行、水库调度等领域得到了广泛的应用。

《2 粒子群优化算法》

2 粒子群优化算法

《2.1 PSO 介绍》

2.1 PSO 介绍

PSO 又称微粒群算法,是由 Kennedy 和 Eberhart 等于 1995 年开发的一种演化计算技术,起源于对鸟群简单社会模型的模拟[5 ,6] 。不像其他演化算法对个体使用演化算子,PSO 是将每个个体看作 D 维搜索空间中一个没有体积的微粒(点),根据对环境的适应度将群体中的个体(微粒)移动到好的区域,在搜索空间中以一定的速度飞行。这个速度根据它本身的飞行经验以及同伴的飞行经验进行动态调整。设在 D 维空间中第 i 个微粒的位置表示为 Yi =(y1y2 ,…,yD ),它经历过的最好位置(有最好的适应值)记为 Pi =( p1p2 ,…,pD ),也称 pbest 。群体所有粒子经历过的最好位置记为 Pg ,也称 gbest 。粒子 i 的速度用 Vi =( v1v2 ,…, vD )表示。对每一代粒子,其第 d 维(1  d  D)根据以下方程变化:

式中,ω为惯性权重系数;c1c2 为加速因子(或称学习因子),一般取 c1c2 =2.0;rand()为[ 0,1 ] 之间的随机数;k 为迭代次数;,最大速度 决定当前位置与最好位置之间的区域的分辨率(或精度),目的在于防止计算溢出、实现人工学习和态度转变以及决定问题空间搜索的力度。

《2.2 PSO 标准算法》

2.2 PSO 标准算法

PSO 算法自 1995 年提出以来,随着应用和研究的深入以及粒子群基本算法的某些不足,PSO 有不少改进,产生了很多变体,如协调粒子群算法[7] 、混沌粒子群算法[8] 、两阶段粒子群算法[9] 、自适应粒子群算法[10] 等等,但是不管如何变化,一个最基本的 PSO 算法流程(标准 PSO 算法)没有发生变化。标准 PSO 算法流程如下[11]

步骤 1:初始化一群微粒(种群规模为 M),包括随机位置和速度;

步骤 2:评价每个微粒的适应度;

步骤 3:对每个微粒,将其适应度与其经历过的最好位置 pbest作比较,如果较好,则将其作为当前的最好位置 pbest

步骤 4:对每个微粒,将其适应度与全局所经历的最好位置 gbest 作比较,如果较好,则重新设置 gbest 的索引号;

步骤 5:根据式(1)变化微粒的速度和位置;

步骤 6:如达到结束条件(通常为足够好的适应度或达到一个预设最大代数 Kmax ),则输出 gbest 为问题的解;否则返回步骤 2。

《3 PSO 在水文科学中的应用》

3 PSO 在水文科学中的应用

PSO 由于出色的寻优能力在水文科学有广泛的应用,但是与其在其他领域的应用研究相比,在水文科学领域的应用范围较小。总结其在水文科学中的应用状况,可从以下几个方面对其加以概括:

《3.1 水库优化调度》

3.1 水库优化调度

水库优化调度是 PSO 在水文科学应用中较为集中的领域,在这一领域里,随着研究的深入,不断有新的改进的粒子群优化算法出现。武新宇等[9] 提出了水电站群优化调度的两阶段粒子群算法,在按目标函数进行进化计算之前,先进行以最小平均出力最大为目标的第一阶段优化,并在粒子群中引入初始可行解,以提高粒子群的质量和求解效率。以云南电网统调的 7 库 14 站主力水电站群系统为计算实例结果表明,该算法能有效克服“维数灾”问题。张双虎等[10] 为了克服标准粒子群算法存在早熟收敛、难以处理问题约束条件等缺点,对递减惯性权值进行了改进,将其表示为粒子群进化速度与群体平均适应度方差的函数,给出了适合 PSO 算法的约束处理机制,提出了一种改进自适应粒子群算法,将其应用于水库调度中,效果较好。李崇浩等[12] 针对算法易陷入局部最优的缺陷,引入遗传算法中的杂交因子和自适应惯性权重来改进全局优化能力,通过对某梯级水电厂短期优化调度研究表明了算法的有效性。杨道辉等[13] 介绍了粒子群算法在水电站优化调度中的应用,通过与动态规划对此水库优化调度分析,PSO 具有收敛速度快,计算精度高的优点。马细霞等[14] 也对粒子群算法在水库调度中的应用进行了分析,通过引入罚函数解决了强约束问题。胡国强等[15] 根据梯级水电站不仅具有电力联系而且具有水力联系的运行特点,提出一种以年发电量和一级水电站耗水量为优化目标的梯级水电站多目标长期优化调度模型。通过定义各目标的隶属度函数,将多目标优化问题模糊化;采用最大模糊满意度法将多目标优化问题转化为单目标非线性规划问题;应用协调粒子群算法(CPSO)求解单目标优化问题。仿真案例表明了这种算法的可行性和合理性。在水库防洪调度方面,袁鹏等[16] 利用粒子群算法的惯性权重模型对南盘江上游水库洪水调度进行了计算,结果合理,证明粒子群优化算法在水库洪水调度上也有较好的应用。在约束条件的处理上,刘群明等[17] 引入了粒子群优化与死亡罚函数(Death Penalty)相结合的混合算法 PSODP 来求解梯级水库防洪优化调度模型,实例计算表明 PSODP 算法是有效的。

《3.2 水电站经济运行》

3.2 水电站经济运行

水电站经济运行主要任务是研究水电系统中各电站之间的负荷最优分配,在短期内就是常说的机组优化组合。水电系统机组优化组合问题是在满足系统供电要求和机组运行技术要求的情况下,确定未来一个调度周期内各机组的开停机时间和负荷的经济分配[18] 。汪新星等[19] 通过引入“分群”和“灾变”思想,对 PSO 进行了改进并将其应用于水火电系统的短期负荷分配问题中,具体算例验证了改进 PSO 算法的有效性,并且收敛速度比 GA 快,求解精度比标准 PSO 和 GA 高。候云鹤等[20] 提出了一种结合广义蚁群算法和粒子群算法的优化算法,该结合算法同时具有广义蚁群算法的大规模寻优特性和粒子群算法的较强局部搜索能力,在确保全局收敛性的基础上,能够快速搜索到高质量的优化解。在电力负荷经济分配的多个算例仿真中显示了较好的有效性。杨俊杰等[21] 提出了一种求解电力系统负荷经济分配的改进粒子群优化算法,该算法考虑了机组的爬坡约束、出力限制区约束、非光滑费用函数曲线等非线性特性,用保留可行解的方法处理负荷平衡约束条件,用自适应罚函数法处理爬坡和出力限制去约束条件,加快了算法的收敛速度,对不活动粒子的处理使算法避免了“早熟”现象。仿真计算表明改进的粒子群优化算法是一种求解负荷经济分配的有效方法。余炳辉等[22] 将 PSO 算法用于水火电系统的机组组合问题中,通过对广泛引用的实例研究,表明 PSO 的优化能力和稳定性优于 GA 和 EP (进化规划),同时对全局搜索 PSO(GPSO)和局部搜索 PSO(LPSO)的动态收敛性及计算效率进行了对比研究,结果表明,LPSO 更适于求解水火电系统短期优化调度问题,在求解精度、保持种群多样性、优化效率等方面都较 GA, EP 和 GPSO 好。刘涌等 [23] 提出了一种基于改进离散粒子群优化算法求解机组组合问题的新方法。首先采用新的策略生成粒子,以保证所有生成的粒子均为满足基本约束条件的可行解,使整个算法只在可行解区域进行优化搜索;然后引入优化窗口的概念和启发式的规则以缩短计算时间和提高优化精度,仿真结果表明提出的算法具有解的质量高、收敛速度快的特点。李崇浩等[24] 结合水电站厂内经济运行问题实际,提出了通过确定微粒群在多维空间中的最优位置来实现机组间的负荷优化分配,并引入了遗传算法的交叉算子来保持种群的多样性,为水电站机组负荷的最优分配提供了一种新的求解途径。

《3.3 参数优选》

3.3 参数优选

概念性流域模型中的参数优选是水文模型研究和应用的一个重要方面,模型模拟效果如何和模型参数的确定紧密相关[25] 。目前关于粒子群在流域水文模型参数优选中的应用成果并不多见。胡铁松等 [26] 对粒子群算法进行了详细分析,将其应用于新安江模型的参数选优中。通过与单纯形混合加速遗传算法( SAGA)和单纯多边形进化算法( SCE -UA)进行比较,发现粒子群算法全局收敛性能较好,计算效率和精度较高,是一种有效的新安江模型参数优选方法。在其后续的研究中[27] ,他们借鉴竞争演化和多种群混合的思想,对粒子群算法( PSO)进行改进,建立了并行种群混合进化的粒子群算法( PMSE -PSO)和序列主-从种群混合进行的粒子群算法(SMSE -PSO)。数值模拟结果表明,这两种改进的粒子群算法具有较高的计算效率、较强的自适应性和稳定性。通过与 PSO 和 SCE -UA 的比较,PMSE -PSO 和 SMSE -PSO 不仅具有较好的全局优化性能和稳定性,而且在调用目标函数次数相同的情况下精度较高,是一种有效的新安江模型参数优选方法。

《3.4 其他》

3.4 其他

水资源优化配置是水文科学中的一个重要问题,特别是在水资源短缺的条件下,水资源的优化配置和可持续发展影响重大,意义深远。仝允桓等[28] 为了构建可持续发展视角下的区域水资源优化配置模型,针对水资源优化配置表现出的主从递阶决策、多目标决策、多阶段决策等特点,构建了优化配置模型,采用逻辑集成多种算法的求解思路。集成引入了多目标满意度计算、主从递阶博弈方法、基于粒子群算法的演化博弈求解方法、动态规划求解方法,研究建立了具有逻辑关系的算法体系。实例研究表明,模型与方法是可行的。水量调度优化问题是在不同用水单元内进行水量的合理分配。胡和平等 [29] 利用粒子群优化算法智能寻优的特点,结合塔里木河流域水资源统一管理和调度实践,对粒子群算法在水量调度方案优化问题的应用进行了研究。在水库泄洪风险计算研究中,黄强等[30] 基于结构可靠度指标的物理含义,建立了水库泄洪风险计算优化模型,并引进了粒子群全局优化算法对该模型进行求解。通过对该模型在具体水库泄洪风险计算的应用举例,表明 PSO 算法在针对这类问题上求解速度有一定的优势。刘起方等[31] 将 PSO 用于 BP 网络模型,对模型参数进行优化来提高模型的收敛速度和精度,将其应用于径流预测中,结果表明模型收敛速度和精度明显提高。同样的道理,王亮等[32] 为解决现有的城市用水量短期预测 BP 神经网络法对初始权值敏感、易陷入局部极小点和收敛速度慢等问题,通过对城市时用水量数据特征的分析,应用基于全局随机优化思想的粒子群优化( PSO)算法对 BP 网络的初始权值进行优化,建立了 PSO -BP 城市时用水量预测模型。在算例分析中与传统 BP 神经网络预测法进行对比,发现该方法的收敛速度明显提高,且平均预测精度提高了 2 %。笔者曾利用粒子群优化算法对洪水分类问题进行研究,通过与加速遗传算法(RAGA)比较,粒子群优化算法在优化效果和速度上略胜一筹[33]

《4 应用中存在的问题和展望》

4 应用中存在的问题和展望

从上面的应用研究情况分析,一方面,PSO 在水文科学中的应用成果比较丰富,但是在应用的范围上略为狭窄,实际上水文科学中存在着大量的优化问题,需要改变看待问题的角度,多方位的了解问题,对问题有深刻的理解和把握后,才能灵活自如的应用各种方法。另一方面,前面已提到,PSO 作为一种随机的智能演化算法也存在一定程度的不足,如局部收敛问题,后期收敛速度较慢的问题,特别是至今为止,PSO 并没有给出收敛性、收敛速度估计等方面的数学证明,这也是其在应用中常被谈起的“诟病”。从 PSO 本身的发展来说,这也是下一步应着力解决的问题。而且,目前无论是在水文科学还是其他领域基本上是将标准的 PSO 做些改进后的应用,从这些改进方法来看,种类较多,但缺少对这些改进方法的机理研究和数学证明及性能测试、比较,这些改进措施可能只是对某一类问题有效,目前并没有形成比较通用的有效的改进算法。进一步的研究还在于拓展其在水文科学中的应用范围,与其他算法或技术相结合,解决 PSO 在应用中易陷入局部最优的问题。

《5 结语》

5 结语

文章主要探讨了 PSO 在水文科学中的应用进展情况,由这些应用研究可知 PSO 算法在寻优能力和收敛速度上有较好的表现,为水文科学中一些优化问题的求解提供了新的思路和途径,随着对水文科学问题研究的深入和 PSO 算法的进一步改进和发展,PSO 算法将在包括水文科学在内的广泛领域内大有作为。