差分进化算法

差分进化算法,第1张

个人感觉差分进化算法,是对遗传算法的一种优化,他详细定制了变异,交叉的算法,他的改进方向,是取决于种群内其他的个体,而并非基于概率的随机生成。书中原话:差分进化算法是一种自组织最小化方法,用户只需很少的输入。它的关键思想与传统进化方法不同:传统方法是用预先确定的概率分布函数决定向量扰动;而差分进化算法的自组织程序利用种群中两个随机选择的不同向量来干扰一个现有向量,种群中的每一个向量都要进行干扰。差分进化算法利用一个向量种群,其中种群向量的随机扰动可独立进行,因此是并行的。如果新向量对应函数值的代价比它们的前辈代价小,它们将取代前辈向量。

这里的基础理论同之前的遗传算法,这里不再描述,直接介绍不同于遗传算法的部分

对于每个目标向量基本差法进化算法的变异由下式产生:

为了增加干扰参数向量的多样性,引入交叉 *** 作,则试验向量变为:

其中RC表示交叉算子,rnbr是为了保证u中至少有一个v中的个体。

依据贪婪准则,在x和u中选择组合成下一代的种群

主要针对变异算子F的一个计算过程,在每一次迭代的过程中使F都能针对当前的情况来调整数值,书中给了一个算法是

进化首先是生物学的概念。根据达尔文“生物进化论”的观点:生物的发展和演变是根据自然选择的方式进行。生物机能和形态的变化,可从它所处的环境中寻找解释。生物的进化过程也许完全不是随机的,高级生物的进化过程很可能是“合情的产生与检验”的过程,即也许自然界掌握着一种很高明的“自动程序设计”方法进行遗传“程序”的书写。 模仿上述生物进化论所形成的应用算法称为进化论算法。[1]

注册一个CSDN号自己下载吧

>

变异+选择=进化

生物自发地变异,自然自发地选择,没有上帝之手设计,自然自发形成最完美的设计。

基于简单法则和反馈,计算机能够自发进化出没有人编写的复杂程序,正如大自然能自发进化出复杂世界,整个过程不需要一个指手画脚的设计师。

变异+选择+隔离=进化

进化算法特别适合用于以下三件事:

1如何到达你想去却找不到路的领域?

2如何到达你无法想象的领域?

3如何开辟全新领域?

进化算法与创新思维:

1变异:自下而上、多样探索

2选择:一二曲线、自我破坏

3隔离:错位竞争、边缘创新

进化算法与创新思维:

1变异——个体差异:自下而上、多样探索

——企业需要有足够丰富的多样性,多样性是创新的来源。

除非在系统中注入多样性,否则内生增长将彻底消失。

进化算法与创新思维:

2选择——生存竞争:一二曲线、自我破坏

有利于生存的变异会被选择下来,不利于生存的变异会被淘汰,这就是自然选择。

更为究竟的说:自然只会淘汰不利于生存的变异,有利于生存的变异被剩下来而不是被主动选择。

创新的过程往往就是新组合对旧组合通过竞争热加以消灭的过程。熊彼特把这一过程称为“创造性破坏”。

市场经济就是进化经济,它的核心精神是:想生就生,该死就死

市场的创造性破坏,对于企业增长有什么启示呢?

答:将市场的创造性破坏模式引入到企业中去!

问题1:我们都希望第一曲线基业长青,但是任何曲线豆无法避免极限点,这时候怎么办?

答:一次又一次地跨越第二条曲线。

问题2:什么时候启动第二曲线?

答:第一曲线过了破局点;第一曲线还在增长,但增长加速度开始下降;deadline:第一曲线到达财务极限点之前。

问题3:如果第二曲线已经过了破局点,而且和第一曲线之间形成了竞争,该如何选择?

答:创造性自我破坏。像市场淘汰过气企业一样,企业要破坏自己的过气业务和产品。

在企业中,第二曲线终将超越第一曲线;正如在家庭中,儿子终将代替父亲成为家里的顶梁柱。

进化算法与创新思维:

3隔离:错位竞争、边缘创新

如果没有隔离,在原有大种群之中,变异很快就被稀释掉了。

地理隔离——生殖隔离——新物种

基于研究生阶段的学习和研究,将自己所理解到的知识进行一个记录分享。文中提及的都是个人认为核心的主线,理解清楚能拓展到其他的多目标优化算法。文中或许有些许错误,思虑不周,还望海涵。

基本概念

如果存在若干相互冲突的目标并需要同时处理,即成为多目标优化问题(Multi-objective Optimization Problems, MOPs)。对于MOPs,不可能使得所有的目标同时达到最优状态,只能得到一组均衡解,称之为Pareto最优集合。进化算法(Evolutionary algorithm,EA)是一类基于群体搜索的随机优化方法。EA运行一次可以获得一组解,而且对待复杂问题的数学性质不做严格假设,因而被广泛地应用于求解各类MOPs,并因此产生了许多经典的多目标进化算法(Multi-objective evolutionary algorithm,MOEA)。

非常重要的概念:对于所有子目标,若解xa不比解xb差,且xa至少有一个子目标比解xb好(好坏从目标空间取值来看,下文会举例说明),则称xa支配xb,称xa为非支配解,xb为支配解。若没有解支配xa,则称xa为Pareto最优解。所有Pareto最优解组成的集合被称为Pareto最优集合(Pareto Set, PS)。Pareto最优集合在目标空间的映射称为Pareto前沿(Pareto Front, PF)。

举例说明多目标优化问题:min f1=x2,min f2=(x-1)2

还是举例能最直接清楚阐述问题。首先单独来看,目标 f1和 f2都是单目标最优化问题,最优解分别为x=0和x=1(多目标优化中一般以最小化为最优目标)。但是对于多目标优化来说,最优解并不是一个具体的数值对,而是一组Pareto(帕累托)最优解,即PS。

注:PS是决策空间,也就是变量x;PF是PS在目标空间的映射,也就是目标 f1和 f2。

图1 f 1和 f 2问题空间

在这里插入描述

图 2 目标空间

说明:由图1可以看出没有解可以使f1和 f2同时最小。当一个子目标达到最优时,另一个目标并不是最优。因此,当xϵ[0,1]时,两个函数达成折中解,称xϵ[0,1]为PS。

那估计有家人们要问,其他x取值就不是PS了吗?

显然不是,找个反例就能解释这种情况。例如,x=2就不是Pareto最优解,因为此时的两个函数的取值都没有x=1时好。设x1,x2ϵ[0,1],x3∉[0,1];显然,x1,x2没有被其他解支配,它们互为非支配解。x1,x2支配x3,x3为支配解。图2中加粗部分为此问题的PF(PS在目标空间的映射)。

简单步骤

1 序列的比对,然后将比对好的序列转化成nex格式

2 运行MrBayes,简单步骤如下:(依次输入命令,完成简单也最常用的分

析):Execute filenamenex,打开待分析文件,文件必须和mrbayes程序在同一目录下。Lset nst=6 rates=invgamma,该命令设置进化模型为with gamma-distributed rate variation across sites和a proportion of invariable sites的GTR模型。模型可根据需要更改,不过一般无须更改。

3 mcmc ngen=10000 samplefreq=10,保证在后面的可能性分布中probability distribution至少取到1000个样品。默认取样频率:every 100th generation。

4 如果分裂频率分支频率split frequencies的标准偏差standard deviation在100,000代generations以后低于001,当程序询问:“Continue the analysis (yes/no)”,回答no;如果高于001,yes继续直到该值低于001。

5 sump burnin=250(在此为1000个样品,即任何相当于你取样的25%的值),参数总结summarize the parameter,程序会输出一个关于样品(sample)的替代模型参数的总结表,包括mean,mode和95 % credibility interval of each parameter,要保证所有参数PSRF(the potential scale reduction factor)的值接近10,如果不接近,分析时间要延长。

6 sumt burnin=250,总结树summarize tree。程序会输出一个具有每一个分支的posterior probabilities的树以及一个具有平均枝长mean branch lengths的树。这些树会被保存在一个可以由treeview等读取的树文件中。

以上就是关于差分进化算法全部的内容,包括:差分进化算法、进化论演算法、求一个Java程序,关于差分进化算法,用几个个函数分别测试几种策略等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10112582.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存