遗传算法的应用
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
111001
表3
14 子代群体P(1) 011001 111111 101001 111011 15 x1 3 7 5 7
解码值
适应度
16 x2 1 7 1 3
fi ( x1 , x2 )
10 98 26 582
10+98+26+58=192
192 / 4 = 48
适应度的最大 值和平均值
M : 种群规模 T : 遗传运算的终止进化代数 Pc : 交叉概率 Pm : 变异概率
3、基本遗传算法描述
基本遗传算法可定义为一个8元组: SGA = ( C , E , Po , M , ф , Г , Ѱ , Т ) 式中 C---个体的编码方法; E---个体适应度评价函数; Po---初始群体 M---群体大小 ф---选择算子 Г---交叉算子 Ѱ---变异算子 Т---遗传运算终止条件
基本遗传算法是一个迭代过程,它模 仿生物在自然环境中的遗传和进化机理, 反复将选择算子、交叉算子、变异算子 作用于群体,最终可得到问题的最优解 或近似最优解。它能够解决一些复杂系 统的优化计算问题。
2、遗传算法的应用步骤
第一步:建立优化模型,即确定出目标函数、 决策变量及各种约束条件以及数学描述形式或 量化方法。 第二步:确定表示可行解的染色体编码方法, 即确定出个体的基因型X及遗传算法的搜索控 件。 第三步:确定解码方法,即确定出个体基因 型X到个体表现型X的对应关系或转换方法。
相对适应度的大小
2
初始群体P(0)
1 2 3 4
011101 101011 011100 111001
3 4 x1 x2 3 5 5 3 3 4 7 1
fi ( x1 , x2 )
5
34 34 25 50
6 f / f 0.24 0.24 0.17 0.35
i
i
2 2 f i ( x1 , x2 ) x1 x2
5 6 x = 101110
主要运算过程
(2)初始群体的产生。 遗传算法是对群体进行遗传操作,需要准备一些表示 起始搜索点的初始群体数据。本例中群体规模的大小M取
为4,即群体由4个个体组成,每个个体可通过随机方法产
生。一个随机产生的初始群体如表1中第2栏所示。
主要运算过程
(3)适应度计算。 本例中,目标函数总取非负值,并且是以求函数最大 值为优化目标,故可直接利用目标函数值作为个体的适应
能够得到较好的结果。在实际运算过程中有可能需要一定的循
环次数才能达到这个结果。
谢谢聆听
适应度的总和 fi 及每个个体的相对适应度的大小
f i / fi ,如表1中5、6栏所示。表2中第7、8栏表示
随机产生的选择结果。
主要运算过程
(5)交叉操作。 本例中采用单点交叉的方法,并取交
叉概率cp=1.00 。表2中第11栏所示为交叉
运算的结果。
主要运算过程
(6)变异操作。 为了能显示变异操作,取变异概率mp=0.25, 并采用基本位变异的方法进行变异运算。由于 mp=0.25,M=4,所以变异个数为mp*M=1. 表2第13栏所示为变异运算的结果。
可以方便的得到较好的结果。
遗传算法应用于组合优化
随着问题规模的增大,组合优化问题的搜 索空间也急剧扩大,有时在计算机上用枚举法很 难甚至不可能求出其最优解。实践证明,遗传算 法已经在求解旅行商问题、背包问题、装箱问题、 布局优化、网络路由等具有NP难度的组合优化 问题上取得了成功的应用。
2、遗传算法的应用步骤
表2
7 选择次数 8 选择结果 9 10 11 配对情况 交叉点位置 交叉结果 12 变异点 13 变异结果
1 1 0
011101 111001 101011 1-2 3-4 1-2:2 3-4:4
011001 111101 101001 5
011011 111111 101011
2
111001
111011
(6)图像处理
(8)遗传编码 (10)数据挖掘
遗传算法应用于函数优化
函数优化是遗传算法的经典应用领域,也是
遗传算法进行性能评价的常用算例。
测试函数:连续函数和离散函数、凸函数和
凹函数、低维函数和高维函数、单峰函数和多峰
函数等。
对于一些非线性、多模型、多目标的函数优
化问题,用其它优化方法较难求解,而遗传算法
2、遗传算法的应用步骤
第四步:确定个体适应度的量化评价方法, 即确定出由目标函数值f(X)到个体适应度F(X)的 转换规则。 第五步:设计遗传算子,即确定出选择运算、 交叉运算、变异运算等遗传算子的具体操作方 法。 第六步:确定遗传算法的有关运行参数, 即确定出遗传算法的M、T、Pc、Pm等参数。
4.求解规划问题
例:求解规划问题
max f ( x1 , x2 ) x x
2 1
2 2
其中
x1 {0,1,2,3,4,5,6,7}
x2 {0,1,2,3,4,5,6,7}
主要运算过程
(1)个体编码
遗传算法的运算对象是表示个体的符号串,所以必 须把变量转换成二进制。该例题中,x1和x2取0~7之间的 整数,可分别用3位无符号二进制整数来表示,将它们连 接在一起所组成的6位无符号二进制整数就形成了个体的 基因型,表示一个可行解。例如,基因型x=101110所对 应的表现型是x=(x1,x2) =(5,6)。个体的表现型x和基因型x 之间可以通过编码和解码相互转换。
遗传算法原理与应用
一、遗传算法概述
二、遗传算法原理
三、遗传算法的应用
三、遗传算法的应用
1、遗传算法的应用领域
2、遗传算法的应用步骤
3、基本遗传算法描述 4、示例:求解规划问题
1、遗传算法的应用领域
(1)函数优化
(3)自动控制
(2)组合优化
(4)生产调度
(5)机器人学
(7)人工生命 (9)机器学习
3、基本遗传算法描述
Procedure SGA begin initialize P(0); //初始群体 t = 0; while ( t <= T ) do for i = 1 to M do Evaluate 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 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
度,即F(x) = f(x)。为计算函数的目标值,需先对个体基
因型x进行解码。表1中第3、第4栏所示为初始群体各个 个体的解码结果,第5栏所示为各个个体所对应的目标函 数值,它也是个体的适应度,表1中还给出了群体中适应 度的最大值和平均值。
表1 1
个体编号
群体规模大小:M = 4
解码结果
目标函数值
f max 98
f 48
运算过程说明
对群体P(t)进行一轮选择、交叉、变异操作之后得到新 一轮群体P(t+1)。如表3第14栏所示。表中第15、16、17栏分 别表示出了新群体的解码值、适应度和适应度的最大值及平均 值等。从表3中可以看出群体经过一代进化以后,其适应度的最 大值、平均值都得到了明显的改进。事实上,这里已经找到了 最佳个体“111111”。 需要说明的是,表中第2、7、9、10、12栏的数据时随机 产生的。这里为了说明问题我们特意选择了一些较好数值以便
32+52=34 , 32+42=25 , 72+12=50 fi 34 34 25 50 143 f max 50
f 35.75
34 / 143 ≈ 0.24 , 25 / 143 ≈ 0.17 , 50 / 143 ≈ 0.35
主要运算过程
(4)选择操作.
其具体操作过程是先计算出群体中所有个体的