最新差分进化算法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
解
(1) 定义适应度函数,编码染色体。由上面的分析,函数f(x)=x2就可作为空间U上 的适应度函数。显然y=x2是一个单调增函数,其取最大值的点x=31是个整数。另一 方面, 5位二进制数也刚好能表示区间[0, 31]中的全部整数。所以, 我们就仅取 [0,31]中的整数来作为参加进化的个体,并且用5位二进制数作为个体x的基因型 编码, 即染色体。
s1’=11000(24), s2’=01101(13), s3’=11000(24), s4’=10011(19)
可以看出,在第一轮选择中适应度最高的染色体s2被选中两次,因而被复制两 次;而适应度最低的染色体s3一次也没有选中而遭淘汰。
交叉 设交叉率pc=100%,即S1中的全体染色体都参加交叉运算。设s1’与s2’配 对,s2’与s4’配对。分别交换后两位基因,得新染色体:
s1’=11100(28), s2’=11100(28), s3’=11000(24), s4’=10011(19)
然后,做交叉运算,让s1’与s4’,s2’与s3’ 分别交换后两位基因,得
s1’’=11111(31), s2’’=11100(28), s3’’=11000(24), s4’’=10000(16)
差分进化算法
1.2基本遗传 算法
2.1 DE的来源
1.1GA的基本
1.3 举例和应用
2.2DE的标准算
概念
法
单击增加标题内容
GA
遗传算法(Genetic Algorithm)它 是由美国的J.Holland教授1975年首 先提出的模拟达尔文生物进化论的 自然选择和遗传学机理的生物进化 过程的计算模型,是一种通过模拟 自然进化过程搜索最优解的方法。 这个过程将导致种群像自然进化一 样的后生代种群比前代更加适应于 环境,末代种群中的最优个体经过 解码(decoding),可以作为问题 近似最优解。
单击增加标题内容
种群
适应度
编码
遗传操作
演化 算法 共有 的对 象元 素
选择优秀个 体,复制成 为新的群体
初始化种群;
评价种群适应
2
度
1
决定的参加 交叉的染色 体数,配对 进行交叉操 作,并用产 生的新染色 体代替原染 色体
3
进行变异操 作
得到新的子
4 种群
5
遗传算法
1.3 遗传算法应用举例
例: 利用遗传算法求解区间[0,31]上的二次函数y=x2的最大值。
染 色 体
s1=11100 s2=01001 s3=11000 s4=10011
适 应 度 784 81 576 361
选 择 概 率 0.44 0.04 0.32 0.20
积 累 概 率 0.44 0.48 0.80 1.00
估 计 被 选 中 次 数 2 0 1 1
设这一轮的选择-复制结果为:
分析 可以看出,只要能在区间[0,31]中找到函数值最大的点a,则函数y=x2的 最大值也就可以求得。于是, 原问题转化为在区间[0, 31]中寻找能使y取最大值 的点a的问题。显然, 对于这个问题, 任一点x∈[0, 31]都是可能解, 而函数值f(x)= x2也就是衡量x能否为最佳解的一种测度。那么,用遗传算法的眼光来看, 区间[0, 31]就是一个(解)空间,x就是其中的个体对象, 函数值f(x)恰好就可以作为x的适应度 。这样, 只要能给出个体x的适当染色体编码, 该问题就可以用遗传算法来解决。
估 计 被 选 中 次 数 1 2 0 1
选择-复制 设从区间[0, 1]中产生4个随机数如下:
r1=0.450126, r2=0.110347, r3=0.572496, r4=0.98503 按赌轮选择法,染色体s1, s2, s3, s4的被选中次数依次为:1, 2, 0, 1。于是,经复制 得群体:
s1’’=11100(28), s2’’=01001(9), s3’’=11000(24), s4’’=10011(19)
这一轮仍然不会发生变异。于是,得第三代种群S3:
s1=11100(28), s2=01001(9), s3=11000(24), s4=10011(19)
表1.3.3 第三代种群S4中各染色体的情况
计算S1中各染色体的适应度、选择概率、积累概率等并列于表4.1中。
表1.3.1 第一代种群S1中各染色体的情况
染 色ቤተ መጻሕፍቲ ባይዱ体
s1=01101 s2=11000 s3=01000 s4=10011
适 应 度 169 576 64 361
选 择 概 率 0.14 0.49 0.06 0.31
积 累 概 率 0.14 0.63 0.69 1.00
s1’’=11001(25), s2’’=01100(12), s3’’=11011(27), s4’’=10000(16) 变异 设变异率pm=0.001。这样,群体S1中共有540.001=0.02位基因可以变异。 0.02位显然不足1位,所以本轮遗传操作不做变异。
现在,我们得到了第二代种群S2: s1=11001(25), s2=01100(12), s3=11011(27), s4=10000(16)
(2) 设定种群规模 , 产生初始种群 。我们将种群规模设定为 4,取染色体 s1=01101(13),s2=11000(24),s3=01000(8), s4=10011(19)组成初始种群S1。
(3) 计算各代种群中的各染色体的适应度, 并进行遗传操作,直到适应度最高 的染色体(该问题中显然为“11111”=31)出现为止。
表 1.3.2 第二代种群S2中各染色体的情况
染 色 体
s1=11001 s2=01100 s3=11011 s4=10000
适 应 度 625 144 729 256
选 择 概 率 0.36 0.08 0.41 0.15
积 累 概 率 0.36 0.44 0.85 1.00
估 计 被 选 中 次 数 1 0 2 1
假设这一轮选择-复制操作中,种群S2中的4个染色体都被选中(因为选择概 率毕竟只是一种几率,所以4个染色体恰好都被选中的情况是存在的),我们得到 群体:
s1’=11001(25), s2’=01100(12), s3’=11011(27), s4’=10000(16)
然后,做交叉运算,让s1’与s2’,s3’与s4’ 分别交换后三位基因,得