软计算方法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第0代情况表
序 号 1 2 3 4 群体 01101 11000 01000 10011 适应 值 169 576 64 361 选择概率 (%) 14.44 49.23 5.47 30.85 期望次 数 0.58 1.97 0.22 1.23 选中次 数 1 2 0 1
第0代种群的交叉情况
序 号
1 2 3 4 种群 0110 1 1100 0 1100 0 1001 1
交叉对 象
2 1 4 3
交叉位 4 4 2 2
子代 01100 11001 11011 10000
适应值 144 625 729 256
第1代情况表
序 号 1 2 3 4
群体
0110 0 1100 1
适应 值 144 625 729 256
2.7 遗传算法思想的其他用法
遗传算法是用字符串表达问题,而字符串的长度常常是 固定的,这就限制了它的应用.自然界的问题往往很复杂, 通常不能用简单的字符串表达所有的性质.因此有必要改 进遗传算法的表达形式.
例 下图是一个实验结果,需要确定函数关系y=f(x)
第三章 基本遗传算法
基本遗传算法(Simple Genetic Algorithms) (SGA) 是由美国教授Holland的学生Goldberg在八十年代总结 出来的 SGA只使用了选择算子,交叉算子和变异算子等三种基 本遗传算子,是其他一些遗传算法的基础
(3)遗传算子 选择运算——使用比例选择算子 交叉运算——使用单点交叉算子 变异运算——使用基本位变异算子或均匀变异算子 (4) 基本遗传算法运行的参数(目前没有合理的依据) M——群体大小 T——遗传算法的终止代数,一般取100-500 Pc——交叉概率,一般取0.4-0.99 Pm——变异概率,一般取0.0001-0.1
遗传算法
(1)给定群体规模N,交配概率Pc和变异概率Pm t=0; (2)随机生成N个染色体作为初始群体; (3)对于群体来自百度文库的每一个染色体xi分别计算其适应 值F(xi); (4)如果算法满足停止准则,则转(10); (5)对群体中的每一个染色体xi计算概率; (6)依据计算得到的概率值,从群体中随机的选取 N个染色体,得到种群;
p ( xi ) F ( xi )
N
F (x j )
j 1
x1 x6 x2
x5 x4
x3
比例选择算子的执行过程为: Step1 计算出群体中所有个体的适应度总和. Step2 计算出每个个体的相对适应度大小,它即为各 个个体被遗传到下一代群体中的概率. Step3 使用模拟赌盘操作来确定各个个体被选中的次 数
(3)单点交叉算子
交叉概率Pc
a1 a2 ... ai ai+1 ... an b1 b2 ... bi bi+1 ... bn a1 a2 ... ai bi+1 ... bn b1 b2 ... bi ai+1 ... an
所谓交叉运算,是指对两个相互配对的染色体依 据交叉概率 Pc 按某种方式相互交换其部分基因, 从而形成两个新的个体。交叉运算是遗传算法区 别于其他进化算法的重要特征,它在遗传算法中 起关键作用,是产生新个体的主要方法。 SGA 中交叉算子采用单点交叉算子。
选择概率 (%) 8.21 35.62 41.56 14.60
期望次 数 0.33 1.42 1.66 0.58
选中次 数 0 1 2 1
1101 1
1000 0
第1代种群的交叉情况
序 号 1 2 3 4 种群 1100 1 1101 1 1101 1 1000 0 交叉对 象 2 1 4 3 交叉位 3 3 1 1 子代 11011 11001 10000 11011 适应值 729 625 256 729
3.1 SGA的构成要素 (1)染色体编码方法:SGA使用固定长度的二进制符号 串来表示群体中的个体,等位基因是由{0,1}组成. 初始群体中的各个个体的基因值可用均匀分布的 随机数来生成. (2)个体的适应度评价:SGA按与个体适应度成正比的 概率来决定当前群体中每个个体遗传到下一代群 体中的机会多少.为计算这个概率,要求所有个体 的适应度必须是正数和零.
(4)基本位变异算子
是指对个体编码串依变异概率Pm随机指定的某一
位或某几位基因作变异运算。对于基本遗传算法
中用二进制编码符号串所表示的个体,若需要进 行变异操作的某一基因座上的原有基因值为0, 则变异操作将其变为1;反之,若原有基因值为 1,则变异操作将其变为0 。
变异点
变异前: 000001110000000010000 变异后: 000001110001000010000
for i=1 to M do
Mutation operation to P(t) end for for i=1 to M do P(t+1)=p(t) end for t=t+1 end while end
3.4 基本遗传算法的实现 (1)个体适应度评价 SGA按与个体适应度成正比的概率来决定当前群 体中每个个体遗传到下一代群体中的机会多少.为 计算这个概率,要求所有个体的适应度必须是正数 和零. 为满足适应度取非负数的要求,SGA一般采用下 面两种方法之一将目标函数f(x)变换为个体适应 度F(X)
(7)依据交配概率Pc从种群中选择染色体进行交 配,其子代进入新的群体,种群中未进行交配 的染色体,直接复制到新群体中; (8)依据变异概率Pm从新群体中选择染色体进行 变异,用变异后的染色体代替新群体中的原染 色体; (9)用新群体代替旧群体,t=t+1,转(3); (10)进化过程中适应值最大的染色体,经解码后 作为最优解输出; (11)结束。
程序的停止条件最简单的有如下二种:
——完成了预先给定的进化代数则停止; ——种群中的最优个体在连续若干代没有改进或 平均适应度在连续若干代基本没有改进时停止。
Procedure SGA Begin initialize p(0) t=0 while(t<=T) do for i=1 to M do Evaluation fitness of P(t) end for for i=1 to M do select operation to p(t) end for for i=1 to M/2 do Crossover operation to p(t) end for
例:求函数的最大值
f ( x) x 2
其中x为[0, 31]间的整数 编码:采用二进制形式编码 适应函数:直接使用函数f(x)作为适应函数。 假设群体的规模N=4,交叉概率pc=100%,变异 概率pm=1%。 设随机生成的初始群体为: 01101,11000,01000,10011 选择方法:“确定性”法
第2代种群的交叉情况
序 号 1 2 种群 交配对 象 2 1 交叉位 3 3 子代 11001 11111 适应值 625 961
3 4
1101 1 1110 1 1000 0 1101 1
4 3
2 2
10001 11010
289 676
第三讲 软计算方法
2.5 应用举例
某快餐店有四个连锁店.其经营方式有下列几个方案:
价格
饮料种类
服务方式
2.6 遗传算法的特点 仿照生物进化和遗传的规律,利用复制、交换、 突变等操作,使优胜者繁殖。劣败者消失,一代一 代重复操作,最终找出最优解。 从数学角度讲,遗传算法是一种搜索寻优技术。 它从某一初始群提出发,按照一定的操作规则,不 断迭代计算,逐步逼近最优解。
1)对求目标函数最小值的优化问题,建立如下适应函数F(x) 和目标函数关系
2)对求目标函数最大值的优化问题,建立如下适应函数F(x) 和目标函数关系
(2)比例选择算子:
个体被选中并被遗传到下一代群体中的概率与该 个体的适应度成正比例.也称赌盘选择. “轮盘赌”法 : 设群体的规模为N, F (xi) (i=1, ..., N)是其中N个染 色体的适应值。则第i个染色体被选中的概率由 下式给出:
3.2 基本遗传算法描述 (1) 初始化群体。 (2) 计算群体上每个个体的适应度值。 (3) 按由个体适应度值所决定的某个规则选择将进入 下一代的个体。 (4) 按概率Pc进行交叉操作。 (5) 按概率Pm进行突变操作。 (6) 没有满足某种停止条件,则转第(2)步,否则进入 下步。 (7) 输出种群中适应度值最优的染色体作为问题的满 意解或最优解。
相关文档
最新文档