遗传算法
遗传算法遗传算法

(5)遗传算法在解空间进行高效启发式搜索,而非盲 目地穷举或完全随机搜索;
(6)遗传算法对于待寻优的函数基本无限制,它既不 要求函数连续,也不要求函数可微,既可以是数学解 析式所表示的显函数,又可以是映射矩阵甚至是神经 网络的隐函数,因而应用范围较广;
(7)遗传算法具有并行计算的特点,因而可通过大规 模并行计算来提高计算速度,适合大规模复杂问题的 优化。
26
(4)基本遗传算法的运行参数 有下述4个运行参数需要提前设定:
M:群体大小,即群体中所含个体的数量,一般取为 20~100; G:遗传算法的终止进化代数,一般取为100~500; Pc:交叉概率,一般取为0.4~0.99;
Pm:变异概率,一般取为0.0001~0.1。
27
10.4.2 遗传算法的应用步骤
遗传算法简称GA(Genetic Algorithms)是1962年 由美国Michigan大学的Holland教授提出的模拟自然 界遗传机制和生物进化论而成的一种并行随机搜索最 优化方法。
遗传算法是以达尔文的自然选择学说为基础发展起 来的。自然选择学说包括以下三个方面:
1
(1)遗传:这是生物的普遍特征,亲代把生物信息交 给子代,子代总是和亲代具有相同或相似的性状。生 物有了这个特征,物种才能稳定存在。
18
(3)生产调度问题 在很多情况下,采用建立数学模型的方法难以对生
产调度问题进行精确求解。在现实生产中多采用一些 经验进行调度。遗传算法是解决复杂调度问题的有效 工具,在单件生产车间调度、流水线生产车间调度、 生产规划、任务分配等方面遗传算法都得到了有效的 应用。
19
(4)自动控制。 在自动控制领域中有很多与优化相关的问题需要求
10
遗传算法

1.3 遗传算法与传统方法的比较
传统算法 起始于单个点 遗传算法 起始于群体
改善 (问题特有的)
否
改善 (独立于问题的) 否
终止?
终止? 是 结束
是
结束
1.3.1遗传算法与启发式算法的比较
启发式算法是通过寻求一种能产生可行解的启发式规则,找到问 题的一个最优解或近似最优解。该方法求解问题的效率较高,但是具有 唯一性,不具有通用性,对每个所求问题必须找出其规则。但遗传算法 采用的是不是确定性规则,而是强调利用概率转换规则来引导搜索过程。
1.2 遗传算法的特点
遗传算法是一种借鉴生物界自然选择和自然遗传机制 的随机搜索法。它与传统的算法不同,大多数古典的优化算 法是基于一个单一的度量函数的梯度或较高次统计,以产生 一个确定性的试验解序列;遗传算法不依赖于梯度信息,而 是通过模拟自然进化过程来搜索最优解,它利用某种编码技 术,作用于称为染色体的数字串,模拟由这些串组成的群体 的进化过程。
1.2.2 遗传算法的缺点
(1)编码不规范及编码存在表示的不准确性。 (2)单一的遗传算法编码不能全面地将优化问题的约束表示 出来。考虑约束的一个方法就是对不可行解采用阈值,这样, 计算的时间必然增加。 (3)遗传算法通常的效率比其他传统的优化方法低。 (4)遗传算法容易出现过早收敛。 (5)遗传算法对算法的精度、可信度、计算复杂性等方面, 还没有有效的定量分析方法。
上述遗传算法的计算过程可用下图表示。
遗传算法流程图
目前,遗传算法的终止条件的主要判据有 以下几种:
• 1) 判别遗传算法进化代数是否达到预定的最大代数; • 2) 判别遗传搜索是否已找到某个较优的染色体; • 3) 判别各染色体的适应度函数值是否已趋于稳定、再上升 否等。
遗传算法

1 遗传算法1.1 遗传算法的定义遗传算法(GeneticAlgorithm,GA)是近多年来发展起来的一种全新的全局优化算法,它是基于了生物遗传学的观点,是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。
它通过自然选择、遗传、复制、变异等作用机制,实现各个个体的适应性的提高,从而达到全局优化。
遗传算法151解决一个实际问题通常都是从一个种群开始,而这个种群通常都是含有问题的一个集合。
这个种群是由一定数目的个体所构成的,利用生物遗传的知识我们可以知道这些个体正好组成了我们知道的染色体,也就是说染色体是由一个个有特征的个体组成的。
另外我们还知道,遗传算法是由染色体组成,而染色体是由基因组成,可以这么说,基因就决定了个体的特性,所以对于遗传算法的最开始的工作就需要进行编码工作。
然后形成初始的种群,最后进行选择、交叉和变异的操作。
1.2遗传算法的重要应用在现实应用中,遗传算法在很多领域得到很好的应用,特别是在解决多维并且相当困难的优化问题中时表现出了很大的优势。
在遗传算法的优化问题的应用中,其中最为经典的应用就是我们所熟悉的函数优化问题,它也是对遗传算法的性能进行评价的最普遍的一种算法;另外的一个最重要的应用,也就是我们本文所研究的应用—组合优化问题,一般的算法很难解决组合优化问题的搜索空间不断扩大的局面,而组合优化问题正好是解决这种问题的最有效的方法之一,在本文的研究中,比如求解TSP问题、VRP问题等方面都得到了很好的应用;另外遗传算法在航空控制系统中的应用、在图像处理和模式识别的应用、在生产调度方面的应用以及在工人智能、人工生命和机器学习方面都得到了很好的应用。
其实在当今的社会中,有关于优化方面的问题应用于各行各业中,因此有关于优化问题已经变得非常重要,它对于整个社会的发展来说都是一个不可改变的发展方向,也是社会发展的一个非常重要的需要。
1.3 遗传算法的特点遗传算法不同于传统的搜索与优化方法,它是随着问题种类的不同以及问题规模的扩大,能以有限的代价来很好的解决搜索和优化的方法。
什么是遗传算法

什么是遗传算法遗传算法的基本意思就是说象人的遗传一样,有一批种子程序,它们通过运算得到一些结果,有好有坏,把好的一批取出来,做为下一轮计算的初值进行运算,反复如此,最终得到满意的结果。
举个例子,假如有一个动物群体,如果你能让他们当中越强壮的越能优先交配和产籽,那么千万年后,这个动物群体肯定会变得更加强壮,这是很容易理解的。
同样,对于许多算法问题,特别是NP问题,比如说最短路径,如果有400个城市,让你找出最短的旅游路线,采用穷举比较,复杂度为O(n!),这时,你可以先随机产生100种路径,然后让他们之中路程越短的那些越能优先互相交换信息(比如每条里面随机取出10个位置互相交换一下),那么循环几千次后,算出来的路径就跟最短路径非常接近了(即求出一个近似最优解)。
遗传算法的应用还有很多,基本思想都一样,但实现上可能差别非常大。
现在有许多搞算法的人不喜欢遗传算法,因为,它只给出了一种“有用”的方法,却不能保证有用的程度,与此相反,能保证接近最优程度的概率算法更受青睐。
遗传算法(Genetic Algorithm)是一类借鉴生物界的进化规律(适者生存,优胜劣汰遗传机制)演化而来的随机化搜索方法。
它是由美国的J.Holland教授1975年首先提出,其主要特点是直接对结构对象进行操作,不存在求导和函数连续性的限定;具有内在的隐并行性和更好的全局寻优能力;采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应地调整搜索方向,不需要确定的规则。
遗传算法的这些性质,已被人们广泛地应用于组合优化、机器学习、信号处理、自适应控制和人工生命等领域。
它是现代有关智能计算中的关键技术之一。
1.遗传算法与自然选择 达尔文的自然选择学说是一种被人们广泛接受的生物进化学说。
这种学说认为,生物要生存下去,就必须进行生存斗争。
生存斗争包括种内斗争、种间斗争以及生物跟无机环境之间的斗争三个方面。
在生存斗争中,具有有利变异的个体容易存活下来,并且有更多的机会将有利变异传给后代;具有不利变异的个体就容易被淘汰,产生后代的机会也少的多。
遗传算法

数学建模专题之遗传算法
(1)函数优化(经典应用) (2)组合优化(旅行商问题——已成为衡量算法优劣的标准、背包问 题、装箱问题等) (3)生产调度问题 (4)自动控制(如航空控制系统的优化设计、模糊控制器优化设计和 在线修改隶属度函数、人工神经网络结构优化设计和调整人工神 经网络的连接权等优化问题) (5)机器人智能控制(如移动机器人路径规划、关节机器人运动轨迹 规划、机器人逆运动学求解等) (6)图像处理和模式识别(如图像恢复、图像边缘特征提取、几何形 Hotspot 状识别等) (7)机器学习(将GA用于知识获取,构建基于GA的机器学习系统) 此外,遗传算法在人工生命、遗传程序设计、社会和经济领域等 方面的应用尽管不是很成熟,但还是取得了一定的成功。在日后,必 定有更深入的发展。
内容 应用Walsh函数分析模式 研究遗传算法中的选择和支配问题 遗传算法应用于非稳定问题的粗略研究 用遗传算法解决旅行商问题(TSP) 基本遗传算法中用启发知识维持遗传多样性
1985
1985 1985 1985 1985
Baker
Booker Goldberg, Lingle Grefenstette, Fitzpattrick Schaffer
试验基于排序的选择方法
建议采用部分分配计分、分享操作和交配限制法 TSP问题中采用部分匹配交叉 对含噪声的函数进行测试 多种群遗传算法解决多目标优化问题
1 遗传算法概述
续表1.1
年份 1986 贡献者 Goldberg 最优种群大小估计
数学建模专题之遗传算法
内容
1986
1987 1987 1987 1987
2 标准遗传算法
2.4 遗传算法的应用步骤
遗传算法

j=0 选择两个交叉个体 执行交叉 将交叉后的两个新个体 添入新群体中 j = j+2
将复制的个体添入 新群体中
j = j+1
N
j = M? Y
N
j = pc· M? Y
Gen=Gen+1
N
j = pm· M? L· Y
遗传算法应用举例 ——在函数优化中的应用
[例] Rosenbrock函数的全局最大值计算。
bi 2i1 )
i 1
U max U min 2 1
0.3 70352 (12.1 3) /(218 1) 1.052426
二)个体适应度评价
如前所述,要求所有个体的适应度必须为正数或零,不能是负数。
(1) 当优化目标是求函数最大值,并且目标函数总取正值时,可以直接设定
max s.t. 如图所示: 该函数有两个局部极大点, 分别是: f(2.048, -2048) =3897.7342 f(-2.048,-2.0048) =3905.9262 其中后者为全局最大点。 f(x1,x2) = 100 (x12-x22)2 + (1-x1)2 -2.048 ≤ xi ≤ 2.048 (xi=1,2)
变异操作示例
变异字符的位置是随机确定的,如下表所示。某群体有3个个体,每个体含4 个基因。针对每个个体的每个基因产生一个[0, 1] 区间具有3位有效数字的值产生变异。表 中3号个体的第4位的随机数为0.001,小于0.01,该基因产生变异,使3号个体由
下面介绍求解该问题的遗传算法的构造过程:
第一步:确定决策变量及其约束条件。 s.t. 第二步:建立优化模型。 max 第三步:确定编码方法。 用长度为l0位的二进制编码串来分别表示二个决策变量x1,x2。 lO位二进制编码串可以表示从0到1023之间的1024个不同的数,故将x1,x2的 定义域离散化为1023个均等的区域,包括两个端点在内共有1024个不同的离散点。 从离散点-2.048到离散点2.048,依次让它们分别对应于从0000000000(0)到 f(x1,x2) = 100 (x12-x22)2 + (1-x1)2 -2.048 ≤ xi ≤ 2.048 (xi=1,2)
遗传算法

5.3.3 多交配位法
单交配位方法只能交换一个片段的基 因序列,但多交配位方法能够交换多 个片段的基因序列 1101001 1100010 1100000 1101011
交配前
交配后
5.3.4 双亲单子法
两个染色体交配后,只产生一个子染 色体。通常是从一般的交配法得到的 两个子染色体中随机地选择一个,或 者选择适应值较大的那一个子染色体
6.1.4 基于共享函数的小生境实现方 法
6.1.1 小生境遗传算法的生物 学背景
•小生境是特定环境下的生存环境
•相同的物种生活在一起,共同繁 衍后代 •在某一特定的地理区域内,但也 能进化出优秀的个体 •能够帮助寻找全部全局最优解和 局部最优解(峰顶)
6.1.2 基于选择的小生境实现 方法
•只有当新产生的子代适应度超过 其父代个体的适应度时,才进行 替换,否则父代保存在群体中 •这种选择方式有利于保持群体的 多样性 •这种方法有利于使得某些个体成 为它所在区域中的最优个体
5.1.3 实数编码的实现方法(续)
•适合于精度要求较高的问题 •便于较大空间的遗传搜索 •改善了遗传算法的计算复杂性, 提高了效率 •便于遗传算法与经典优化算法混 合使用 •便于设计针对问题的专门知识型 算子 •便于处理复杂的决策约束条件
5.2 选择算子
5.2.1 概率选择算子
5.2.2 适应值变换选择算子
•pm: 变异概率,一般取0.0001—0.1
4.1 问题描述 4.2 问题转换和参数设定 4.3 第0代情况 4.4 第0代交配情况 4.5 第1代情况 4.6 第1代交配情况 4.7 第1代变异情况 4.8 第2代情况 4.9 第2代交配情况
4. 基本遗传算法举例
4.1 问题描述
遗传算法

2. 遗传算法在电磁优化中的应用
在电磁场工程中,许多电磁优化问题的目标 函数往往是高度非线性的、多极值的、不可 微分的和多参数的。同时,这些目标函数的 计算成本往往很高。在这些复杂电磁问题的 优化设计中,高效的优化算法对于实现高性 价比的设计具有举足轻重的作用。
例 用GPS/铱星系统的圆极化弯钩天线。 全球定位系统(GPS)的工作频率有两个,一个是 1575.4MHz,另一个是1227.6MHz,信号采用圆极化 方式传输。铱星系统也采用圆极化方式传输,其工 作频带1225~1630MHz。 为了使天线同时接收GPS/铱星两个系统的信号,天 线的工作频带应该为1225~1630MHz,采用圆极化 工作方式,在相对于水平面大于5°的准半球空间 具有均匀的辐射方向图。下图为一个弯钩天线,它 有7段直导线串联而成,整个天线被限定在边长为 0.5λmax 的立方体空间内。通过遗传算法,调节7个 连接点的坐标,可以得到满足设计要求的最佳弯钩 天线结构。在优化过程中,价值函数取为
2 杂交策略 在自然界生物进化过程中,起核心作用的是生物遗传基因的 重组(加上变异)。 同样,遗传算法中起核心作用的是遗传操作的杂交算子。对于 占主流地位的二值编码而言,各种杂交算子都包括两个基本 内容:①从由选择操作形成的配对库中,对个体两两配对, 按预先设定的杂交概率来决定每对是否需要进行杂交操作; ②设定配对个体的杂交点,并对这些点前后的配对个体的部 分结构进行相互交换。 就配对的方式来看,可分为随机配对和确定式配对。 3 变异策略 变异算子的基本内容是对群体中个体串的某些基因座上的基 因值作变动。就二值码串而言,变异操作就是把某些基因座 上的基因值取反,即1→0或0→1.
5.杂交操作:遗传算子(有性重组)可以产 生新的个体,从而检测搜索空间的新点。简 单的杂交可分2步进行:随机配对,交换杂交 点后的基因信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(3) 计算各代种群中的各个体的适应度, 并对其染色体进行 遗传操作,直到适应度最高的个体(即31(11111))出现为止。
P( xi )
a f ( xi )
第0代情况表
序 号 群体
01101(13) 11000(24)
f (x )
j 1 j
N
适应值
选择概率(%)
期望次数
选中次数
1 2 3 4
遗传算法的三个主要操作
选择 交配 变异
选择
“轮盘赌”法 :
设群体的规模为N,F(xi)(i=1, ..., N)是其中N个染色体的适应值。则第i个染 色体被选中的概率由下式给出:
p( xi )
F ( xi )
F (x )
j 1 j
NБайду номын сангаас
x1 x6
x2
x5 x4
x3
“确定性”法 对于规模为N的群体,一个选择概率为p(xi)的染色体xi被选择次数的期 望值e(xi): e( xi ) p( xi ) N 1. 对于群体中的每一个xi,首先选择 e( xi ) 个染色体。
交配位臵
a1 a2 ... ai ai+1 ... an b1 b2 ... bi bi+1 ... bn
交配前
a1 a2 ... ai bi+1 ... bn b1 b2 ... bi ai+1 ... an
交配后
变异
变异发生在染色体的某一个基因上,当以二进制编码时,变异的基 因由0变成1,或者由1变成0。如对于染色体x=11001,如果变异位发生 在第三位,则变异后的染色体变成了y=11101。
适应值
729
选择概率(%)
期望次数
选中次数
1
2 3 4
28.53
1.14
1
(29)
841
256 729
32.92
10.02 28.53
1.31
0.40 1.14
1
1 1
10000 (16)
11011 (27)
第2代种群的交配情况
序号 种群 11011 (27) 11101 (29) 交配对像 交配位 子代 适应值
2 1 4 3
3 3 1 1
11011 (27) 11001 (25) 10000 (16) 11011 (27)
729 625 256 729
最大适应值=729,平均适应值=584.75 过早地陷入局部最优解的现象称为早熟。 防止出现早熟现象的方式有:1.扩大群体规模 2.变异
第1代变异情况
序号 种群 是否变异 变异位 新群体 适应值
e( xi ) 个染色体。 i 1
N i 1
从大到小对染色体排序,依次取出 N e( xi ) 个染色体.
3.两次得到的染色体合起来就得到了N个染色体。
第0代种群的交配情况
序号 种群 交配对像 交配位
子代
01100(12)
11001(25) 11011(27) 10000(16)
适应值 144 625 729 256
1 2 3 4
01101 (13) 11000 (24) 11000 (24) 10011 (19)
2 1
4 3
4 4
2 2
第1代情况表
序 号 群体 适应值
选择概率(%)
期望次数
选中次数
1
2 3 4
01100( 12) 11001( 25) 11011 (27) 10000 (16)
6.计算智能(2) --遗传算法
遗传算法(Genetic Algorithm)是 一种搜索寻优技术。它仿效生物的进化与 遗传,根据“生存竞争”和“优胜劣汰” 的原则,借助复制、交换、突变等操作, 使所要解决的问题从初始解一步步地逼近 最优解。因此,它又被称为进化计算的算 法。
一. 生物的进化
地球上的生物,都是经过长期进化而形成的,解释生物进化 的学说,主要是达尔文的自然选择学说,其主要内容为: (1)不断繁殖。地球上的生物具有很强的繁殖能力,能产生许 多后代。 (2)生存竞争。生物的不断繁殖使后代的数目大量增加,而在 自然界中生物赖以生存的资源是有限的。因此,为了生存,生物 就需要竞争。 (3)适者生存。生物在生存竞争中,根据对环境的适应能力, 适者生存,不适者消亡,这是自然选择的结果。 (4)遗传和变异。生物在繁殖过程中,通过遗传,使物种保持 相似。与此同时,由于变异,物种会产生差别,甚至形成新物种 。 遗传算法就是借用生物进化的规律,通过繁殖、遗传、变异 、竞争,实现优胜劣汰,一步一步地逼近问题的最优解。
9.用新群体代替旧群体,t=t+1,转3;
10.进化过程中适应值最大的染色体,经解码后作为最优解输出; 11.结束。
例. 利用遗传算法求解区间[0,31]上的二次函数
y=x2的最大值。
Y
y=x2
31
X
分析 原问题可转化为在区间[0, 31]中搜索能使y取 最大值的点a的问题。那么,[0, 31] 中的点x就是 个体, 函数值f(x)恰好就可以作为x的适应度,区间 [0, 31]就是一个(解)空间 。这样, 只要能给出个 体x的适当染色体编码, 该问题就可以用遗传算法来解 决。
解
(1) 设定种群规模,编码染色体,产生初始种群。 将种群规模设定为4;用5位二进制数编码染色体;取下列个 体组成初始种群S1:
s1= 13 (01101), s2= 24 (11000) s3= 8 (01000),
(2) 定义适应度函数, 取适应度函数:f (x)=x2
s4= 19 (10011)
遗传算法:
1.给定群体规模N,交配概率pc和变异概率pm,t=0; 2.随机生成N个染色体作为初始群体; 3.对于群体中的每一个染色体xi分别计算其适应值F(xi);
4.如果算法满足停止准则,则转(10);
5.对群体中的每一个染色体xi计算概率; 6.依据计算得到的概率值,从群体中随机的选取N个染色体,得到种群; 7.依据交配概率pc从种群中选择染色体进行交配,其子代进入新的群体,种群中 未进行交配的染色体,直接复制到新群体中; 8.依据变异概率pm从新群体中选择染色体进行变异,用变异后的染色体代替新群 体中的原染色体;
1 2
2 1 4
3
3 3 4
4
3 4
10000 (16) 11011 (27)
11001 (25) 11111 (31) 10001 (17) 11010 (26)
625 961 289
676
最大适应值=961,平均适应值=637.75,刚好找到了该问题的最优解, 其对应的染色体是11111,x=31
(1)定义适应度函数
我们将一个合法的城市序列s=(c1, c2, …, cn, cn+1)(cn+1就是c1) 作为一个个体。这个序列中相邻两城之间的距离之和的倒数就可作为相应
个体s的适应度,从而适应度函数就是
f (s)
1
d (c , c
i 1 i
n
i 1
)
(2)对个体s=(c1, c2, …, cn, cn+1)进行编码。 但对于这样的个体如何编码却不是一件直截了当的事情。 因为如果编码不当,就会在实施交叉或变异操作时出现 非法城市序列即无效解。 例如,对于5个城市的TSP,我们用符号A、B、C、D、 E代表相应的城市,用这5个符号的序列表示可能解即染 色体。
qi P( x j )
j 1 i
赌轮选择示意
赌轮选择法的例子:
设从区间[0, 1]中产生4个随机数如下: r1 = 0.450126, r2 = 0.110347 r3 = 0.572496, r4 = 0.98503
染色体
适应度
选择概率
积累概率
选中次数
01101
11000 01000
169
Y
Y
y=x2
y=x2
8 Y
13
19 24
X Y
12 16
25 27
X
第0代种群及其适应度
第1代种群及其适应度
y=x2
y=x2
16 19 27 29
第2代种群及其适应度
X
17 2526 31 X
第3代种群及其适应度
最大适应值、平均适应值进化曲线
1200 1000 800 600 400 200 0 0 1 2 3 最大值 平均值
为此,对TSP必须设计合适的染色体和相应的遗传 运算。 事实上,人们针对TSP提出了许多编码方法和相应的 特殊化了的交叉、变异操作,如顺序编码或整数编码、 随机键编码、部分映射交叉、顺序交叉、循环交叉、位 臵交叉、反转变异、移位变异、互换变异等等。从而巧 妙地用遗传算法解决了TSP。
遗传算法的收敛性
2.按照
N i 1
次。这样共得到
i 1
e( xi )
N
e( xi ) e( xi )
从大到小对染色体排序,依次取出
N e( xi )
个染色体.
3.两次得到的染色体合起来就得到了N个染色体。
交配
交配发生在两个染色体之间,由两个被称之为双亲的父代染色体, 经杂交以后,产生两个具有双亲的部分基因的新的染色体。当染色体 采用二进制形式编码时,交配过程是以这样一种形式进行的:
144
625 729 256
8.21
35.62 41.56 14.60
0.33
1.42 1.66 0.58
0
1 2 1
交配后1代最大适应值=729,平均适应值=438.5
已经不可能通过交配达到最优解, 出现早熟现象。 第1代种群的交配情况
序号