稳态进化算法
㈠ 地下水管理模型研究现状
1959年,Todd在他的经典论着《Ground Water Hydrology》中明确提出了地下水管理的概念,20世纪60年代以来,迅速发展起来的地下水数值模拟模型大大推进了地下水的定量化研究[10]。“备选方案法”是一种比较简单的确定地下水管理方案的方法。通常给定多种条件(如开采方案),多次运行数值模拟模型,可以得到不同条件下的地下水状态,在给定的目标下,通过比较各种方案,可选择目标较优的方案作为决策方案,这是20世纪70年代以前最常用的优选地下水开发利用方案的方法。由于要多次运行模拟模型,比较不同方案下的地下水状态,这种方法耗时较多。这不是严格意义上的“最优解”,没有运用运筹学的方法全面、综合地考虑管理的目标和各种约束,从而得不到理论意义上的最优地下水开发利用方案。
地下水管理模型通常由地下水系统的数值模拟模型和优化模型耦合而成。Maddock[11]推导出地下水系统单位脉冲响应函数,提出了建立大规模地下水水力管理模型有效的方法——响应矩阵法。而Aguado和Remson[12]首次将地下水数值模拟模型与线性规划联立,明确提出了建立地下水水力管理模型的嵌入法。20世纪70年代到80年代初,国外以研究地下水水力管理模型为主,并提出了完善的理论和实用的建模方法,Gorelick[13]对分布参数地下水管理模型,特别是水力管理模型进行了综述。
我国科技人员于20世纪80年代中后期开始地下水管理模型的研究与应用工作,公开发表的论着如林学钰、焦雨着《石家庄市地下水资源的科学管理》[14],许涓铭等[15]系统论述了建立分布参数地下水水力管理模型的基本理论和方法。在这一阶段,我国几乎所有以地下水为主要供水水源的大城市,针对不同的问题,都建立了地下水管理模型,如石家庄、西安、哈尔滨、长春、济南、包头等。一些典型地区也建立了区域地下水管理模型,如河北平原、河西走廊、柴达木盆地等。这些研究大大推进了我国地下水科学管理的进程,但由于当时建模所考虑的因素多为水力要素,模型结构也比较简单,多归结为求解线性规划问题,这大大限制了模型的实用性和可操作性。
20世纪90年代以来,由于数值模拟和计算机技术以及数学方法在地下水资源优化开发方面的理论与方法日臻完善,使复杂的水资源管理问题得以有效的解决。这不但促进了地下水管理学科的迅速发展,并在推动水文地质学从定性研究进入定量化研究的过程中作出了应有的贡献。从模型的研究内容看,主要集中在地表水-地下水联合调度、地下水量-水质综合管理、地下水可持续利用管理模型的研究上;从模型的结构看,主要是以非线性规划、动态规划和多目标规划管理模型为研究的热点和难点问题。
1.2.2.1 地下水非线性管理模型研究进展
地下水管理模型的非线性问题是普遍存在的,产生非线性的原因主要有两个:其一是系统状态的非线性,如潜水含水层模拟模型的非线性;其二是管理问题的非线性,如目标函数和某些特殊约束条件的非线性。真实的地下水系统管理问题大多数是非线性的,因此非线性管理模型能更精确地描述这类地下水系统及其管理问题,因而提高模型结果的精度和可信度。由于非线性规划问题没有统一的模式,在可行域内有可能存在多个局部最优解,因而到目前为止,还没有通用的、高效的求解方法,要根据管理模型的结构特点和规模,选择合适的求解方法[10]。
线性化是解决非线性问题最简单的方法,如Gorelick和Remson[16]、Ratzlaff[17]等都应用这种方法解决这类问题。迭代法也是解决非线性问题的有效方法之一,如Aguado和Remson[18]用预测-校正法通过反复迭代求解潜水含水层地下水管理问题;Willis 和Newman[19]用求解一系列线性规划替代非线性目标函数、线性约束条件的非线性规划问题。王洪涛提出了非线性多含水层地下水资源管理的处理方法,并把这一方法应用到唐山市以防治岩溶地面塌陷为目的的水资源管理中[20]。
若非线性规划的目标函数是决策变量的二次多项式,并且模拟模型和其他约束条件又全是线性的,则称这种非线性规划为二次规划。二次规划有统一的表示形式和通用解法,是非线性管理模型中最常用的求解方法之一。如Lefkoff和Gorelick[21]、Misirli和Yazicigil[22]等均是用二次规划求解管理模型。
此外,常用于解非线性规划的方法还有直接搜索法(主要有修正单纯形法、Nelder-Mead单纯形法、并行方向搜索法)和基于导数的优化方法(如约束优化的隐式筛选法等)。人工智能算法(又称进化算法,evolutionary algorithms,EA)也为求解高度非线性规划问题开拓了广阔的前景。
1.2.2.2 地下水动态规划管理模型研究进展
地下水系统本身是一个高度复杂的动态系统。由于管理区的自然条件和人为作用等均在不断地发生变化,尤其当水源地的地下水要进行长期开采时,地下水资源管理模型必须随着时间推进做定期的修正以保证模型的精确性和可靠性,地下水动态规划管理模型的提法便应运而生[23]。这方面的研究可参阅有关文献,如Yakowitz,Andricevic[24,25]等。动态规划方法本身还不够完善,在高维的情况下会产生所谓的“维数灾”问题,目前在求解地下水动态规划管理模型中,用的较普遍的方法是微分动态规划方法,它是由Jacobson和Mayne[26]提出的。微分动态规划方法是一种多维动态规划的改进算法,不需要进行状态变量和决策变量的离散化,克服了计算量呈维数增长这一障碍。因此,它提供了一种解算大型、多时段、非稳态流的地下水资源管理模型的可行的分析计算方法[27]。
Murry 等[28]运用带约束条件的微分动态规划方法成功地实现了多级水库的优化控制;Jones等[29]利用微分动态规划方法求解了最优控制模型,成功地解决了理想模型中8个假设井的最优开采量分配问题;Culver等[30]建立了地下水水质模拟模型并应用有限元法求解,通过应用微分动态规划方法和Quasi-Newton近似法,确定了含水层不同时期的最优抽水方案;Chang等[31]应用微分动态规划方法解决了时变地下水系统污染修复最优控制问题;Chang等[32]联合应用微分动态规划方法和遗传算法解决了地下水管理问题;Chu 等[33]应用人工神经网络方法和微分动态规划方法解决了大规模地下水系统的管理问题。我国学者李文渊等[34]建立了以抽水费用最小为目标的地下水管理模型,应用微分动态规划方法求解,并编制了计算机程序;郝永红等[35]结合阳泉市岩溶地下水系统的实际,应用微分动态规划方法为阳泉市岩溶水的开发提出了最优开采方案;王浩然[36]以位于山东省淄博市境内的孝妇河流域上游地区的地下水系统为研究对象,构造了地下水开采条件下的控制模型,采用微分动态规划方法求解,获得了比较符合实际且容易实施的地下水优化开采量。
1.2.2.3 地下水多目标管理模型研究进展
地下水多目标管理模型是以地下水模拟模型为基础,由两个或两个以上的目标函数及其约束条件组成的,用于对地下水进行统筹规划和有效保护的管理模型。地下水多目标管理模型更能体现地下水系统的层次性和多目标性,模型不仅能提供地下水合理开发利用最优方案,而且可作为宏观经济和环境规划的决策依据,因而更具实用性和可操作性[37]。由于多目标问题类型多,无统一的数学形式,故没有通用的求解方法。针对不同的管理模型和目标评价准则,应采用相应的解法。
20世纪70年代以来,多目标管理模型用于解决水资源的规划问题[38,39];80年代以后,随着对地下水系统研究的不断深入、地下水模拟技术及其与管理模型耦合技术的发展,多目标规划才出现在地下水管理问题中。Willis等[40]首次建立了地下水多目标管理模型;Bogardi等[41]采用一种交互式多目标决策方法求解地下水多目标管理问题,有三个目标函数:总抽水量最大、抽水降深最小以及总抽水费用最低;Ritzel等[42]用遗传算法求解多目标地下水污染控制问题;Park等[43]运用多目标遗传算法对沿海含水层中的抽水量和井位进行优化,以防止海水入侵;Kollat等[44]对4种多目标优化算法进行了对比研究;邵景力等[45,46]运用线性规划方法对包头市地下水多目标管理模型进行了求解,他们还建立了包头市地下水-地表水联合调度多目标管理模型,模型最终归结为求解线性目标规划问题;代振学等[47]建立了济宁-兖州矿区地下水多目标管理模型,采用模糊线性规划法求得了管理模型的最优解,最后通过灵敏度分析和流场模拟,证实了最优解的正确性;孟庆国等[48]进行了城市地下水多目标管理模型的相关研究,建立了内蒙古呼和浩特市地下水多目标管理模型,采用多阶段目标规划法对模型进行求解;王来生等[49]建立了哈尔滨市地下水资源多目标规划管理模型,将求解多目标最优化问题的约束法和线性加权法相结合,给出了一种综合解法;王红旗等[32]根据大庆市西部地区地下水系统的特点,构建了地下水资源多目标动态规划管理模型,采用多目标规划的改进线性加权法和微分动态规划方法相结合的方法进行求解,通过管理模型的运算得出三种规划方案下的地下水最优开采量,并根据管理模型的运算结果对研究区的地下水资源开发利用规划提出合理化建议;贺北方等[50]建立了区域水资源多目标优化配置模型,目标有3个:区域供水净效益最大、区域重要污染物排放量最小、供水系统缺水量最小,应用遗传算法求解了此管理模型。
与单目标管理模型相比,地下水多目标管理模型有如下特点[51]:
(1)各目标间的度量单位多是不可公度的,有些目标甚至很难给出定量指标,如供水的社会效益、环境效应等。用单目标优化方法很难处理不可公度的多目标问题。
(2)各目标间的权益通常是相互矛盾的,这是构成多目标问题存在的基本特征。多目标问题总是以牺牲一部分目标的利益来换取另一些目标的改善。单一目标的最优并不代表系统整体最优。
(3)多目标问题的优化解不是唯一的。多目标规划的任务是考虑经济、社会、环境、技术等因素,权衡各目标的利弊,从多个“有效解”中寻求各目标都能接受的“满意解”。
(4)多目标规划可以充分发挥分析者和决策者各自的作用。在现代管理中,分析者的任务是根据决策者的要求建立管理模型,提供多个各有利弊的方案,作为决策者决策的依据。决策者的任务是站在更高的层次上,兼顾各方面利益,从众多可选方案中确定决策方案。
㈡ 进化算法的特点
进化计算是一种具有鲁棒性的方法,能适应不同的环境不同的问题,而且在大多数情况下都能得到比较满意的有效解。他对问题的整个参数空间给出一种编码方案,而不是直接对问题的具体参数进行处理,不是从某个单一的初始点开始搜索,而是从一组初始点搜索。搜索中用到的是目标函数值的信息,可以不必用到目标函数的导数信息或与具体问题有关的特殊知识。因而进化算法具有广泛的应用性,高度的非线性,易修改性和可并行性。
此外,算法本身也可以采用动态自适应技术,在进化过程中自动调整算法控制参数和编码精度,比如使用模糊自适应法 。 进化策略(ES)是在1965年由Rechenberg和Schwefel独立提出的。
进化策略的一般算法
(1) 问题为寻找实值n维矢量x,使得函数F(x): R→R取极值。不失一般性,设此程序为极小化过程。
(2) 从各维的可行范围内随机选取亲本xi,i = 1, … , p的始值。初始试验的分布一般是均匀分布。
(3) 通过对于x的每个分量增加零均值和预先选定的标准差的高斯随机变量,从每个亲本xi产生子代xi’。
(4) 通过将适应度F(xi)和F(xi’),i=1,…,P进行排序,选择并决定那些矢量保留。具有最小适应度的P个矢量变成下一代的新亲本。
进行新试验,选择具有最小方差的新子代,一直到获得充分解,或者直到满足某个终止条件。
在这个模型中,把试验解的分量看做个体的行为特性,而不是沿染色体排列的基因。假设不管发生什么遗传变换,所造成各个个体行为的变化均遵循零均值和某个标准差的高斯分布。
由于基因多效性和多基因性,特定基因的改变可以影响许多表现型特征。所以在创造新子系时,较为合适的是同时改变亲本所有分量。
(1+1)—ES:
早期的进化策略的种群中只包含一个个体,并且只使用变异操作。在每一代中,变异后的个体与其父代进行比较,并选择较好的一个,这种选择策略被称为(1+1)策略。
(1+1)—ES的缺点:
(1) 各维取定常的标推差使得程序收敛到最优解的速度很慢;
(2) 点到点搜索的脆弱本质使得程序在局部极值附近容易受停滞的影响(虽然此算法表明可以渐近地收敛到全局最优点)。
(μ+λ)—ES:μ个亲本制造λ个子代,所有解均参加生存竞争,选出最好的μ个作为下一代的亲本。
(μ,λ)—ES:只有λ个子代参加生存竞争,在每代中μ个亲本被完全取代。
1.个体的表示法:
每个解矢量不仅包括了n维试验矢量x,而且还包括了扰动矢量σ,后者给出如何变异x以及它本身如何变异的指令。
2.变异:
设x为当前矢量。σ为对应于x每个维的方差矢量,于是新的解矢量x’,σ’可以这样产生:
3.交叉:
4.选择
在进化策略中,选择是按完全确定的方式进行。(μ,λ)—ES是从λ个子代个体集中选择μ(1<μ<λA=个最好的个体;(μ+λ)—ES是从父代和子代个体的并集中选择μ个最好的个体。虽然(μ+λ)—ES保留最优的个体能保证性能单调提高,但这种策略不能处理变化的环境,因此,目前选用最多的还是(μ,λ)—ES。 进化规划(EP)由Fogel在20世纪60年代提出。
1.表示法和适应值度量
进化规划假设—个有界子空间 ,其中ui<vi。搜索区域被扩展到I=R,即个体为目标变量向量,a=x∈I,进化规划把目标函数值通过比例变换到正值,同时加入某个随机改变θ来得到适应值 ,其中δ是比例函数。
2.变异
可简化为:
3.选择
在P个父代个体每个经过一次变异产生P个子代后,进化规划利用一种随机q竞争选择方法从父代和子代的集合中选择P个个体,其中q>1是选择算法的参数。
㈢ 实验进化算法
摘要 在人工智能中,进化算法(EA)是进化计算的子集,[1]是一种基于一般群体的元启发式优化算法。进化算法使用受生物进化启发的机制,例如生殖,突变,复合和选择。优化问题的候选解在种群中发挥个体的作用,适应度函数决定了解的质量。种群的演化会在重复应用上述算子之后发生。
㈣ 博弈均衡的进化稳定策略的算法
计算进化稳定策略的方法主要有两大类:一是从动态过程出发,求出系统的平衡点,然后,再根据进化稳定策略的定义进行验证就可以了;另一种方法就是直接用进化稳定策略定义来求。第一种方法涉及到具体的动态过程,并且只要知道动态过程就很容易求出进化稳定策略,本文略(可以参考张良桥2001)。第二种方法就是通过定义来求,下面给出一种简单的处理方法。
根据纳什均衡的定义可以知道,如果策略 是博弈的纳什均衡,那么,所有以正概率进入最优混合策略的纯策略都是最优的,参与人在所有这些纯策略所得的支付都是无差异的(见《博弈论与信息经济学》102-103页,张维迎),即有:
表示混合策略中非零概率的纯策略。假定存在 且下标为 的纯策略满足 ,令B是矩阵A中对应于非零纯策略的 阶子矩阵。且令C为 矩阵,其中代表元素为: 。那么当且仅当C是负定的, 就是进化稳定策略(见John Haigh 1974)。
证明:假定 ,并且存在 ,有 ,那么很明显有 ,其中 是第 个纯策略,即在与稳定策略者群体博弈时,突变策略者得到的支付比稳定策略者还要大,所以策略 不是进化稳定策略,所以式(6)是进化稳定策略的必要条件。因此,对应于非零概率的纯策略满足: ,对满足条件的策略 有(注意 ):
对任意 ,当且仅当
有: 。综上所述,利用该方法来求进化稳定策略的步骤如下:
首先,令 个非零混合策略,然后解 个方程: ,定义B,C再考察矩阵C的所有特征根是否都为负,若都是负则所得的策略就是进化稳定策略。
如求对称博弈 ,它有两个进化稳定策略: 。
如果某策略组合是严格纳什均衡策略,那么就可以直接得出它就是进化稳定策略,但如果是弱纳什均衡策略,那么就可运用上述的方法来进行判定。由此,可得到求博弈的进化稳定策略步骤:一是求出博弈所有的纳什均衡;二是由支付判断出其中的严格纳什均衡;三对非严格纳什均衡而言就代入上述方程,并判断是否为负定即可以求出博弈中所有进化稳定策略。
㈤ 进化算法的基本步骤
进化计算是基于自然选择和自然遗传等生物进化机制的一种搜索算法。与普通的搜索方法一样,进化计算也是一种迭代算法,不同的是进化计算在最优解的搜索过程中,一般是从原问题的一组解出发改进到另一组较好的解,再从这组改进的解出发进一步改进。而且在进化问题中,要求当原问题的优化模型建立后,还必须对原问题的解进行编码。进化计算在搜索过程中利用结构化和随机性的信息,使最满足目标的决策获得最大的生存可能,是一种概率型的算法。
一般来说,进化计算的求解包括以下几个步骤:给定一组初始解;评价当前这组解的性能;从当前这组解中选择一定数量的解作为迭代后的解的基础;再对其进行操作,得到迭代后的解;若这些解满足要求则停止,否则将这些迭代得到的解作为当前解重新操作。
以遗传算法为例,其工作步骤可概括为:
(1) 对工作对象——字符串用二进制的0/1或其它进制字符编码 。
(2) 根据字符串的长度L,随即产生L个字符组成初始个体。
(3) 计算适应度。适应度是衡量个体优劣的标志,通常是所研究问题的目标函数。
(4) 通过复制,将优良个体插入下一代新群体中,体现“优胜劣汰”的原则。
(5) 交换字符,产生新个体。交换点的位置是随机决定的
(6) 对某个字符进行补运算,将字符1变为0,或将0变为1,这是产生新个体的另一种方法,突变字符的位置也是随机决定的。
(7) 遗传算法是一个反复迭代的过程,每次迭代期间,要执行适应度计算、复制、交换、突变等操作,直至满足终止条件。
将其用形式化语言表达,则为:假设α∈I记为个体,I记为个体空间。适应度函数记为Φ:I→R。在第t代,群体P(t)={a1(t),a2(t),…,an(t)}经过复制r(reproction)、交换c(crossover)及突变m(mutation)转换成下一代群体。这里r、c、m均指宏算子,把旧群体变换为新群体。L:I→{True, Flase}记为终止准则。利用上述符号,遗传算法可描述为:
t=0
initialize P(0):={ a1(0),a2(0),…,an(0)};
while(l(P(t))≠True) do
evaluate P(t):{ Φ(a1(t)), Φ(a2(t)),…,Φ(an(t))};
reproction: P′(t):=r(P(t));
crossover: P″(t):=c(P′(t));
mutation: P(t+1):= m(P″(t));
t=t+1;
end
㈥ 进化算法的简介
进化算法包括遗传算法、遗传规划、进化规划和进化策略等等。进化算法的基本框架还是简单遗传算法所描述的框架,但在进化的方式上有较大的差异,选择、交叉、变异、种群控制等有很多变化,进化算法的大致框图可描述如右图所示:
同遗传算法一样,进化算法的收敛性也有一些结果,文献证明了在保存最优个体时通用的进化计算是收敛的,但进化算法的很多结果是从遗传算法推过去的。
遗传算法对交叉操作要看重一些,认为变异操作是算法的辅助操作;而进化规划和进化策略认为在一般意义上说交叉并不优于变异,甚至可以不要交叉操作。
㈦ 稳态算法的缺点
1、测量时间较长。稳态算法测量一次可能达几小时,测量成本较大。
2、实验条件苛刻。稳态算法对于实验条件要求大,许多条件必须达到一个定量才可以勉强进行实验,实验条件苛刻。
㈧ 进化算法的起源发展
进化计算包括遗传算法(Genetic Algorithms)、遗传规划(Genetic Programming)、进化策略(Evolution Strategies)和进化规划(Evolution Programming)4种典型方法。第一类方法比较成熟,现已广泛应用,进化策略和进化规划在科研和实际问题中的应用也越来越广泛。
遗传算法的主要基因操作是选种、交配和突变,而在进化规则、进化策略中,进化机制源于选种和突变。就适应度的角度来说遗传算法用于选择优秀的父代(优秀的父代产生优秀的子代),而进化规则和进化策略则用于选择子代(优秀的子代才能存在)。
遗传算法与遗传规划强调的是父代对子代的遗传链,而进化规则和进化策略则着重于子代本身的行为特性,即行为链。
进化规则和进化策略一般都不采用编码,省去了运作过程中的编码—解码手续更适用于连续优化问题,但因此也不能进行非数值优化。进化策略可以确定机制产生出用于繁殖的父代,而遗传算法和进化规则强调对个体适应度和概率的依赖。
此外,进化规则把编码结构抽象为种群之间的相似,而进化策略抽象为个体之间的相似。进化策略和进化规则已应用于连续函数优化、模式识别、机器学习、神经网络训练、系统辨识和智能控制的众多领域