《优化算法讲》PPT课件.ppt

上传人:牧羊曲112 文档编号:5461227 上传时间:2023-07-09 格式:PPT 页数:41 大小:238KB
返回 下载 相关 举报
《优化算法讲》PPT课件.ppt_第1页
第1页 / 共41页
《优化算法讲》PPT课件.ppt_第2页
第2页 / 共41页
《优化算法讲》PPT课件.ppt_第3页
第3页 / 共41页
《优化算法讲》PPT课件.ppt_第4页
第4页 / 共41页
《优化算法讲》PPT课件.ppt_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《《优化算法讲》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《优化算法讲》PPT课件.ppt(41页珍藏版)》请在三一办公上搜索。

1、2023/7/9,1,第四章 遗传算法的高级实现技术,2023/7/9,2,主要内容,4.1 倒位算子4.2 二倍体与显性操作算子4.3 变长度染色体遗传算法4.4 小生境遗传算法4.5 混合遗传算法,2023/7/9,3,4.1 倒位算子,4.1.1 定义:什么是倒位操作?所谓倒位操作(Inverse Operation)是指颠倒个体编码串随机指定的二个基因座之间的基因排列顺序,从而形成一个新的染色体。,2023/7/9,4,4.1 倒位算子,4.1.2 具体操作过程:在个体编码串中随机指定二个基因座之后的位置为倒位点;以倒位概率 颠倒这二个倒位点之间的基因排列顺序。,1,2,3,1,2,3

2、,2023/7/9,5,4.1 倒位算子,对二进制编码个体进行倒位操作的示例:A:1 1 0 0 1 0 0 1 1 0,A:1 1 0 1 0 0 1 0 1 0,倒位点1,倒位点2,倒位操作,倒位操作改变了个体编码串的部分基因排列顺序,其目的主要是为了能够使遗传算法更有利于生成较好的模式。,2023/7/9,6,4.1 倒位算子,S,G,4.1.3 倒位算子应用实例,2023/7/9,7,4.1 倒位算子,用遗传算法进行机器人路径规划时,可取机器人移动过程中所经过栅格标号的顺序排列来作为一个个体(一条行走路线)的表现形式,如下所示即表示一条行走路线:PATH:039132939(虚线)若在

3、上述行走路线的第二个路径和第三个路径点之间进行倒位操作,可得到一条新的路线:PATH:093132939(实线),2023/7/9,8,4.2 二倍体与显性操作算子,二倍体结构的生物基础 生物学中,二倍体是指含有二个同源基因组(染色体)的个体。二倍体是由两个同源染色体构成的,其中的每一个染色体都含有相同功能的基因信息。,2023/7/9,9,二倍体结构的生物基础,二倍体结构中各个基因有显性基因和隐性基因之分,这二类基因使个体所呈现出的表现型由下述规则来决定(显性规则):在每个基因座上,当两个同源染色体其中之一的基因是显性时,则该基因所对应的性状表现为显性;而仅当两个同源染色体中对应基因皆为隐性

4、时,该基因所对应的性状才表现为隐性。,A b c D e f GA b C D e f G 二倍体结构,A b C D e f G,个体表现型,2023/7/9,10,二倍体结构的生物基础,二倍体的二个重要特性:1)二倍体的记忆能力,它使得生物能够记忆以前经历过的环境及变化,使得生物的遗传进化过程能够快速地适应环境的变化。这个特点在遗传算法中的应用意义就在于,使用二倍体结构的遗传算法能够解决动态环境下的复杂系统优化问题,而常规的遗传算法却不能很好地应用于动态环境,它难于跟踪环境的动态变化过程。2)显性操作的鲁棒性,它使得即使随机选择了适应度不高的个体,而在显性操作的作用下,能够用其另一同源染色

5、体对其进行校正,从而避免这个有害选择所带来的不利之处。这个特点应用于遗传算法中,能有利于提高遗传算法的运算效率维护好的搜索群体。,2023/7/9,11,4.2.2 二倍体结构在遗传算法中的实现方案,Hollstien提出了二倍体与显性操作的双基因座显性映射方法:每个二进制基因用两个基因来描述,一个称为函数基因,取通常含义的0或1值;另一个称为修饰基因,取值为M或m,其中M表示显性基因,m表示隐性基因。随后,Hollstien将这种映射关系简化为单基因座显性映射方法。Holland对这种单基因座的显性映射描述方法进行了改进。描述基因的字符集为0,1,10,其中10为隐性的1,1为显性的1。,2

6、023/7/9,12,4.2.2 二倍体结构在遗传算法中的实现方案,0M 0m 1M 1m,0M0m1M1m,单基因座显性映射方法,双基因座显性映射方法,图 1,图 2,2023/7/9,13,4.2.2 二倍体结构在遗传算法中的实现方案,使用双倍体的遗传算法的算法结构与基本遗传算法的算法结构相类似,不同之处在于:(1)显性性状也能进化,所以同源染色体之间也需进行交叉操作。(2)变异操作需要考虑隐性性状;(3)对个体进行交叉、变异运算之后,要进行显性操作。,2023/7/9,14,4.2.2 二倍体结构在遗传算法中的实现方案,算法DiploidyGA 初始化,并设置进化代数计数器初值:t=1。

7、随机产生具有二倍体结构的初始群体P(0)。对初始群体P(0)进行显性操作。评价初始群体P(0)中各个个体的适应度。交叉操作:P(t)Crossoverp(t)。由每两个随机配对的二倍体个体进行交叉操作时,共可产生四个单倍体个体。变异操作:P(t)Mutationp(t)。在对群体中的各个个体进行变异操作时,需要考虑隐性基因的作用。对群体P(t)进行显性操作。评价群体P(t)中各个个体的适应度。个体选择、复制操作:P(t+1)Reproduction P(t)P(t)终止条件判断。若不满足终止条件,则:tt+1,转到第步,继续进行进化操作过程;若满足终止条件则:输出当前最优个体,算法结束。,20

8、23/7/9,15,4.3 变长度染色体遗传算法,在遗传算法的实际应用中,有时为简要地描述问题的解,也需要使用不同长度的编码串。,结点1和结点6之间的连通路线,可用以下二种方法来描述:,2023/7/9,16,4.3 变长度染色体遗传算法,(1)用二进制编码来表示各个结点是否在连通路线上,其中1表示在连通路线上,0表示不在连通路线上。此时可使用等长度的编码串来表示连通路线,如:PATH1:1 1 0 0 1 1PATH2:1 1 1 1 1 1(2)用连通路线所经过结点的顺序排列来表示该条连通路线,如:PATH1:12 5 6PATH2:1 2 3 4 5 6,2023/7/9,17,4.3.

9、1 变长度染色体遗传算法的编码与解码,编码将常规遗传算法的染色体编码串中各基因座位置及相应基因值组成一个二元组,把这个二元组按一定顺序排列起来,就组成了变长度染色体的一种通用染色体编码方式。一般它可表示为:ik是所描述的基因在原常规染色体中的基因座编号,vk为对应的基因值。,2023/7/9,18,4.3.1 变长度染色体遗传算法的编码与解码,若常规遗传算法中一个个体的基因型是:X:1 0 0 1 0 1其染色体长度为L6。使用变长度染色体编码,该个体就可表示为:Xm:(1,1)(2,0)(3,0)(4,1)(5,0)(6,1)在这种变长度染色体遗传算法中,允许染色体的长度可长可短。如:Xm:

10、(1,1)(2,0)(3,0)(4,1)(5,0)(6,1)(3,1)(1,0)Xm:(1,1)(3,0)(5,0)(6,1)前者称为过剩指定,后者称为缺省指定。而当个体的所有基因都能在编码串中得到唯一的描述时,这种描述称为正常指定。,2023/7/9,19,4.3.1 变长度染色体遗传算法的编码与解码,解码 正常指定没有问题。过剩指定或缺省指定,可按下述规则来进行解码处理:(1)描述过剩时的解码方法。规定取最左边的二元组来进行解码。例如,对于变长度染色体遗传算法中的个体Xm:(1,1)(2,0)(3,0)(4,1)(5,0)(6,1)(3,1)(1,0)它在常规遗传算法中所对应的个体为:X:

11、1 0 0 1 0 1,2023/7/9,20,4.3.1 变长度染色体遗传算法的编码与解码,(2)描述不足时的解码方法。可规定它们取某一项先设定的标准值(或缺省值)。例如,对于变长度染色体遗传算法中的个体Xm:(1,1)(3,0)(5,0)(6,1)若取缺省值为0的话,则它在常规遗传算法中所对应的个体为:X:1 0 0 0 0 1,2023/7/9,21,4.3.2 切断算子与拼接算子,1切断算子(Cut operator)切断算子以某一预先指定的概率,在变长度染色体中随机选择一个基因座,在该处将个体的基因型切断,使之成为二个个体的基因型。2拼接算子(Splice operator)拼按算子

12、以某一预先指定的概率,将二个个体的基因型连接在一起,使它们合并为一个个体的基因型。,2023/7/9,22,4.3.3 变长度染色体遗传算法的算法结构,算法MessyGA(1)初始化。随机产生M个染色体,长度全部为k的个体,以它们作为变长度遗传算法的初始个体集合P(0),其中k为根据问题的不同而设定的一个参数,并且k l。(2)适应度评价。对变长度的染色体进行解码处理后,评价或计算各个个体的适应度。(3)基本处理阶段。对群体P(t)施加选择算子,以保留适应度较高的个体。(4)并列处理阶段。对群体P(t)施加变异算子、切断算子和拼接算子,以生成新的个体。(5)重复第步,直到满足终止条件为止。,2

13、023/7/9,23,4.4 小生境遗传算法,4.4.1 小生境与遗传算法 生物学上,小生境(Niche)是指特定环境下的一种生存环境。生物在其进化过程中,一般总是与自己相同的物种生活在一起,共同繁衍后代;它们也都是在某一特定的地理区域中生存。在用遗传算法求解多峰值函数的优化计算问题时,经常是只能找到个别的几个最优解,甚至往往得到的是局部最优解,而有时希望优化算法能够找出问题的所有最忧解,包括局部最优解和全局最优解。基本遗传算法对此无能为力。既然作为遗传算法模拟对象的生物都有其特定的生存环境,那么借鉴此概念,我们也可以让遗传算法中的个体在一个特定的生存环境中进化,即在遗传算法中可以引进小生境的

14、概念,从而解决这类问题,以找出更多的最优解。,2023/7/9,24,4.4.2 遗传算法中小生境的实现方法,1基于预选择机制的小生境实现方法(Cavicchio,1970年)2基于排挤的小生境实现方法(De Jong,1975年)3基于共享函数(Sharing Function)的小生境实现方法(Goldberg和Richardson,1987年),2023/7/9,25,4.4.2 遗传算法中小生境的实现方法,1基于预选择机制的小生境实现方法 1970年,Cavicchio率先在遗传算法中引入了基于预选择机制(Preselection)的小生境实现方法。只有在子代个体的适应度超过其父代个体

15、的情况下,子代个体才能替换其父代个体,进入下一代群体。由于这种方式趋向于替换与其本身相似的个体(父与子之间的性状遗传),因而能够较好地维持群体的多样性,并造就小生境的进化环境。,2023/7/9,26,4.4.2 遗传算法中小生境的实现方法,2基于排挤的小生境实现方法 排挤的思想源与在一个有限的生存空间中,各种不同的生物为了能够延续生存,它们之间必须相互竞争各种有限的生存资源。这种实现方法的基本思想是:设置一排挤因子CF,由群体中随机选取的1CF个个体组成排挤成员然后依据新产生的个体与排挤成员的相似性来排挤掉一些与排挤成员相类似的个体。这里,个体之间的相似性可用个体编码串之间的海明距离来度量。

16、随着排挤过程的进行群体中的个体逐渐被分类,从而形成各个小的生存环境并维持了群体的多样性。,2023/7/9,27,4.4.2 遗传算法中小生境的实现方法,3 基于共享函数(Sharing Function)的小生境实现方法 这种实现方法的基本思想是:通过反映个体之间相似程度的共享函数来调整群体中各个个体的适应度,从而在这以后的群体进化过程中,算法能够依据这个调整后的新适应度来进行选择运算,以维护群体的多样性,创造出小生境的进化环境。,2023/7/9,28,4.4.3 小生境遗传算法在多峰值函数全局最优化中的应用,NicheGA算法:,初始化t=1,根据个体的适应度降序排列,选择运算:P(t)

17、P(t),交叉运算:P(t)P“(t),变异运算:P”(t)P“(t),小生境淘汰运算,根据新的适应度降序排列,终止条件?,t=t+1,否,算法结束,新序列中的前M个做下一代群体P(t),是,2023/7/9,29,4.5 混合遗传算法,混合遗传算法的基本思想,2023/7/9,30,混合遗传算法的基本思想,混合遗传算法的特点:(1)引入局部搜索过程。基于群体中的各个个体所对应的表现型,进行局部搜索,从而找到各个个体在目前的环境下所对应的局部最优解,以便达到改善群体总体性能的目的。(2)增加了编码变换操作过程。对于局部搜索过程所得到的局部最优解,在通过编码过程将它们变换为新的个体,以便能够以一

18、个性能较优的新群体为基础来进行下一代的遗传进化操作。,2023/7/9,31,4.5.2 混合遗传算法的基本构成原则,在构成混合遗传算法时,De Jong提出了下面的三条基本原则:(1)尽量采用原有算法的编码。这样就便于利用原有算法的相关知识,也便于实现混合遗传算法。(2)利用原有算法的优点。这样就可保证由混合遗传算法所求到的解的质量不会低于由原有算法所求到的解的质量。(3)改进遗传算子。设计能适应新的编码方式的遗传算子,并在遗传算子中溶入与问题相关的启发式知识,这样就可使得混合遗传算法既能够保持遗传算法的全局寻优特点,又能够提高其运行效率。,2023/7/9,32,4.5.3 模拟退火算法,

19、从统计热力学的观点来说,随着温度的降低,物质的能量将逐渐趋近于一个较低的状态,并最终达到某种平衡。模拟退火算法(Simulated Annealing)就是基于金属退火的机理而建立起的一种全局最优化方法,它能够以随机搜索技术从概率的意义上找出目标函数的全局最小点。,2023/7/9,33,4.5.3 模拟退火算法,模拟退火算法的构成要素如下:1搜索空间搜索空间也称为状态空间,它由可行解的集合所组成。2能量函数E(x)能量函数也就是需要进行优化计算的目标函数。3状态转移规则P状态转移规则是指从一个状态xold(一个可行解)向另一个状态xnew(另一个可行解)的转移概率,它与当前的温度参数T有关。

20、,2023/7/9,34,4.5.3 模拟退火算法,4冷却进度表T(t)冷却进度表是指从某一高温状态To向低温状态冷却时的降温管理表。假设时刻t的温度用T(t)来表示,则经典模拟退火算法的降温方式为:而快速模拟退火算法的降温方式为:这两种方式都能够使得模拟退火算法收敛于全局最小点。,2023/7/9,35,4.5.3 模拟退火算法,如果搜索过程陷入局部最优点A,若要使搜索过程脱离这个局部员优点而到达C点,则必须使系统至少要具有B点所对应的能量。亦即,这里必须允许能量函数值可以一时增大。,图3能量函数,2023/7/9,36,4.5.3 模拟退火算法,假设在状态xold时,系统受到某种扰动而可能

21、会使其状态变为xnew。与此相对应,系统的能量也可能会从E(xold)变成E(xnew),系统由状态xold变为状态xnew的接受概率可由下面的Metropolis规则来确定:if E(xnew)E(xold)if E(xnew)E(xold)当新状态使系统的能量函数值减少时,系统一定接受这个新的状态;而当新状态使系统的能量函数值增加时,系统也以某一概率接受这个新的状态。,2023/7/9,37,4.5.3 模拟退火算法,算法Simulated Annealing 随机产生一个初始解,以它作为当前最优解,并计算目标函数值。设置初始温度:To。设置循环计数器初值:t=1。对当前最优解作一随机变动

22、,产生一新的解。计算新的目标函数值,并计算目标函数值的增量。如果 0,则接受该新产生的解为当前最优解;如果 0,则以概率p=exp(-/)接受该新产生的解为当前最优解。如果t终止步效,则:t=t+1,转向第步。如果未到达冷却状态,则:T(t)转向第步;如果已到达冷却状态,则:输出当前最优点,计算结束。,2023/7/9,38,4.5.4 遗传模拟退火算法,遗传模拟退火算法是将遗传算法与模拟退火算法相结合而构成的一种优化算法。遗传算法的局部搜索能力较差、但把握搜索过程总体的能力较强;而模拟退火算法具有较强的局部搜索能力,并能使搜索过程避免陷入局部最优解,但模拟退火算法却对整个搜索空间的状况了解不

23、多,不便于使搜索过程进入最有希望的搜索区域。,2023/7/9,39,4.5.4 遗传模拟退火算法,算法Genetic Simulated Annealing 进化代数计数器初始化:t0;随机产生初始群体P(t)。评价群体P(t)的适应度。个体交叉操作:P(t)CrossoverP(t)个体变异操作:P(t)MutationP(t)个体模拟退火操作:P(t)SimulatedAnnealingP(t)评价群体P(t)的适应度。个体选择、复制操作:P(t+1)ReproductionP(t)P(t)终止条件判断。若不满足终止条件,则:t t+1,转到第步,继续进化过程;若满足终止条件则:输出当前

24、最优个体,算法结束。,2023/7/9,40,4.5.4 遗传模拟退火算法,在模拟退火算法算法中溶入遗传算法:如并行组合模拟退火算法PRSA(Parallel Recombination Simulated Annealing)随机生成含有M个个体的初始群体P(0)。设置初始温度参数:T Tmax 对P(t)中的各个个体进行随机配对,对其中的每一对个体做下述处理:(a)进行交叉和变异运算,由两个父代个体P1、P2生成两个子代个体c1和c2。(b)对由父代个体和子代个体所组成的两个个体组P1和c1,P2和c2,以概率p接受父代个体为下一代群体中的个体,以概率(1-p)接受子代个体为下一代群体中的个体。其中,式中,fp和fc分别为父代个体和子代个体所对应的目标函数值。终止条件判断。若不满足终止条件,则:按降温表更新温度参效T,t=t+1,转向第步;若满足终止条件,则:输出当前最优点,算法结束。,2023/7/9,41,Thank You!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号