null智能控制系统智能控制系统天津大学电气与自动化工程学院
二第二章 遗传算法天津大学自动化学院第二章 遗传算法1. 什么是遗传算法天津大学自动化学院1. 什么是遗传算法1.1 遗传算法的生物学基础
生物在自然界中的生存繁衍,显示出了其对自然环境的自适应能力。遗传算法(Genetic Algorithms,GA)就是这种生物行为的计算机模拟中令人瞩目的重要成果。
遗传算法所借鉴的生物学基础就是生物的遗传和进化。
1.1.1 遗传与变异
遗传(Heredity)——生物从其父代继承特性或性状。
1. 什么是遗传算法天津大学自动化学院1. 什么是遗传算法
细胞(Ce11) :生物的基本结构和功能的单位。
染色体(Chromosome) :细胞核内有结构的线状体,是遗传信息的载体。
基因(Gene): DNA长链结构中占有一定位置的基本遗传单位。
在细胞分裂的过程中,其遗传基因也同时被复制到下一代,从而其性状也被下一代所继承。
1. 什么是遗传算法天津大学自动化学院1. 什么是遗传算法
生物的遗传方式:
复制:遗传过程中,父代的遗传物质DNA被复制到子代。
交叉:细胞进行有性繁殖时,两个同源染色体之间通过交叉而重组。
变异:细胞进行复制时,DNA发生某种变异,产生出新的染色体。
如此这般,遗传基因或染色体在遗传的过程中由于各种各样的原因而发生变化。1. 什么是遗传算法天津大学自动化学院1. 什么是遗传算法1.1.2 选择与进化
达尔文的自然选择学说:适者生存,优胜劣汰
“在繁殖过程中,大多数生物通过遗传,使物种保持相似的后代;部分生物由于变异,后代具有明显差别,甚至形成新物种。”
“生物在生存竞争中,根据对环境的适应能力,适者生存,不适者消亡。自然界中的生物,就是根据这种优胜劣汰的原则,不断地进行进化。”
1. 什么是遗传算法天津大学自动化学院1. 什么是遗传算法1.2 遗传算法简介
优化问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
max f(x) (1-1)
s.t. x∈R (1-2)
R∈U (1-3)
x为决策变量, f(x)为目标
函
关于工期滞后的函关于工程严重滞后的函关于工程进度滞后的回复函关于征求同志党风廉政意见的函关于征求廉洁自律情况的复函
数,式(1-2)、(1-3)为约束 条件,U是基本空间,R是U的一个子集。
满足约束条件的解X称为可行解; 集合R
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示由所有满足约束条件的解所组成的一个集合,叫做可行解集合。1. 什么是遗传算法天津大学自动化学院1. 什么是遗传算法 对于上述最优化问题,目标函数和约束条件种类繁多,求出其近似最优解或满意解是人们的主要着眼点之一。
总的来说,求最优解或近似最优解的
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
主要有三种:
枚举法、解析法和随机搜索法。
随着问题种类的不同,以及问题规模的扩大,要寻求到一种能以有限的代价来解决上述最优化问题的通用方法仍是个难题。而遗传算法却为我们解决这类问题提供了一个有效的途径和通用框架,开创了一种新的全局优化搜索算法。
1. 什么是遗传算法天津大学自动化学院1. 什么是遗传算法
遗传算法是模拟生物在自然环境下的遗传和进化过程而形成的一种自适应全局优化概率搜索方法。
最早由美国密西根大学的H.Holland教授提出;
1967年,Bagley在其论文中首次使用“遗传算法”;
70年代 De Jong在计算机上进行了大量的纯数值函数优化计算实验;
1975年,Holland出版了《Adaption in Natural Artificial System》1. 什么是遗传算法天津大学自动化学院1. 什么是遗传算法1.2.1遗传算法的基本思想
将优胜劣汰的思想引入待优化参数形成的编码串群体中,按照一定的适配值函数及一系列的遗传操作对个体进行筛选,从而使适配值高的个体被保留下来,组成新的群体。
Holland采用二进位串对解个体编码,每个串称为染色体,染色体上的每一位称为基因。
适应度较高的个体(最优)获得更大的生存和繁殖的机会
一对个体通过交换编码串来实现交叉
一个个体通过改变编码串中的某一位实现变异 1. 什么是遗传算法天津大学自动化学院1. 什么是遗传算法1.2.2遗传算法步骤
群体初始化;
评价群体中每一个个体的性能(适配值);
选择下一代个体;
执行简单的操作算子(复制,交叉,变异);
评价下一代群体的性能;
判断终止条件满足否,若不满足,转第三步继续;若满足,退出
1. 什么是遗传算法天津大学自动化学院1. 什么是遗传算法1.2.3遗传算法的操作算子
编码机制
解决如何将最优化问题中的变量用某种编码的形式构成一种遗传规则能够运算的字符串。
基本方法:使用二进制字符串
小数——整数——二进制
[0~1.28]—[0~128 ]—[00000000~10000000]
缺点:字符串长
1. 什么是遗传算法天津大学自动化学院1. 什么是遗传算法
适配值函数
计算适配值的函数
基本方法:越好的个体对应的适配值应该越高。
可将目标函数的正规化。
选择机制
适应能力强的个体将有更多的机会繁殖它们的后代。
基本方法 :比例选择法
记 为群体的平均适配值, 为第 个个体的适应度,则下一代群体中应有 个第 个个体的子代。
1. 什么是遗传算法天津大学自动化学院1. 什么是遗传算法
交叉算子
用适应能力强的父辈个体进行繁殖以得到更优秀的下一代。
基本方法 :提前设定交叉率 随机选择双方个体和交叉点和交叉率 。当
时,双方个体从交叉点断裂互换,完成交叉。
1. 什么是遗传算法天津大学自动化学院1. 什么是遗传算法5 变异算子
模拟生物界中的变异现象。
基本方法 :随机选择染色体中的某个基因进行取反。
确定变异率为 ,则群体中有
个基因发生变异。 N为位串个数,L为位串长度
1. 什么是遗传算法天津大学自动化学院1. 什么是遗传算法1.2.4 遗传算法的特点
对参数的编码进行操作,而非参数本身。
从许多起始点并行操作,防止陷入局部最优解。
通过目标函数计算适配值,对问题本身依赖小。
寻优规则由概率决定,具有非确定性。
高效启发式搜索。
对待寻优的函数没有限制,适合复杂问题。
并行计算。
计算简单。
2. 遗传算法方法介绍天津大学自动化学院2. 遗传算法方法介绍2.1遗传算法的基本操作
例:求下述函数的最大值:
max f(x)=x2
s.t. x∈ [1, 31]
个体编码
因 为 x是 0 ~ 31之间的整数,所以分别用3位无符号二进制整数来表示,将它们连接在一起所组成的5位无符号二进制数就形成了个体的染色体,表示一个可行解。
例如, x=31所对应的编码是 x=11111 。
2. 遗传算法方法介绍天津大学自动化学院2. 遗传算法方法介绍
初始群体的产生
遗传算法是对群体进行的进化操作,需要给其淮备一些表示起始搜索点的初始群体数据。
本例中,群体规模的大小可取为4,即群体由4个个体组成,每个个体可通过随机方法产生。
如:01101,11000,01000,10011
2. 遗传算法方法介绍天津大学自动化学院2. 遗传算法方法介绍
适配值汁算
遗传算法中以个体适应度的大小来评定各个个体的优劣程度,从而决定其遗传机会的大小。
本例中,目标函数总取非负值,并且是以求函数最大值为优化目标,故可直利用目标函数值作为个体的适配值(适应度)。
f(x)=x2
2. 遗传算法方法介绍天津大学自动化学院2. 遗传算法方法介绍 2. 遗传算法方法介绍天津大学自动化学院2. 遗传算法方法介绍复制运算
复制运算把当前群体中适应度较高的个体按某种规则或模型遗传到下一代群体中。
先计算出群体中所有个体的适应度的总和 fi ( i=1.2,…,M );
计算出每个个体的相对适应度的大小 fi / ∑ fi , 即为每个个体被遗传到下一代群体中的概率。(全部概率值之和为1)
依据概率随机决定各个个体被选中的次数。2. 遗传算法方法介绍天津大学自动化学院2. 遗传算法方法介绍2. 遗传算法方法介绍天津大学自动化学院2. 遗传算法方法介绍2. 遗传算法方法介绍天津大学自动化学院2. 遗传算法方法介绍交叉运算
交叉运算是遗传算法中产生新个体的主要操作过程,它以某一概率相互交换某两个个体之间的部分染色体。
本例采用单点交叉的方法,其具体操作过程是:
• 先对群体进行随机配对;
• 其次随机设置交叉点位置;
• 最后再相互交换配对染色体之间的部分基因。2. 遗传算法方法介绍天津大学自动化学院2. 遗传算法方法介绍2. 遗传算法方法介绍天津大学自动化学院2. 遗传算法方法介绍变异运算
变异运算是对个体的某一个的基因值按某一较小的概率进行改变,它也是产生新个体的一种操作方法。
首先确定出各个个体的基因变异位置
然后依照某一概率将变异点的原有基因值取反。
变异的概率一般取0.001,我们这个例子里面没有发生变异。2. 遗传算法方法介绍天津大学自动化学院2. 遗传算法方法介绍 从上表中可以看出,群体经过一代遗传以后,第二代的最大值、平均值都得到了很大的提高:
均值: 293 -> 437
最大值: 576 -> 729
经过一次遗传算法步骤,问题便朝着最优解的方向前进了一步,最终走向全局最优解。
每一步的操作非常的简单,对问题依赖性小。
2. 遗传算法方法介绍天津大学自动化学院2. 遗传算法方法介绍
2. 遗传算法方法介绍天津大学自动化学院2. 遗传算法方法介绍基本遗传算法的运行参数
有下述4个运行参数需要提前设定
M:种群大小,即群体中所含个体的数量,一般取
20~100。
G:遗传算法的终止进化代数,一般取100 ~500 。
Pc:交叉概率,一般取0.4 ~0.99 。
Pm:变异概率,一般取0.0001~0.1。
2. 遗传算法方法介绍天津大学自动化学院2. 遗传算法方法介绍遗传算法的应用步骤
对一个需要优化的实际问题,可按如下步骤:
1.确定决策变量及各种约束条件,即确定出个体的表现型X和问题的解空间;
2.建立优化模型,即确定出目标函数的类型及数学描述形式或量化方法;
3.确定表示可行解的染色体编码方法,即确定出个体的基因型x及遗传算法的搜索空间。
4.确定个体适应度的量化评价方法。
5.
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
遗传算子,即确定复制,交叉,变异算子的具体操作方法;
6.确定遗传算法的4个运行参数;
7.确定解码方法,即确定出有个体表现性X到个体基因型x的对应关系或转换方法。