进化计算及其应用
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.4 进化算法的基本框架
Begin t=0 初始化群体p(0) 评估初始化群体p(0) While 终止条件不满足 do 重组操作:p(t)=r(p(t)) 变异操作:p(t)=m(p(t)) 评估操作:p(t) 选择操作:p(t+1)=s(p(t)Q) t=t+1 end End
1.5 进化算法的分类
适应度值来进行搜索。
一般,适应度函数由目标函数变换而成。
─ 若目标函数为最大化问题:Fit(x)=f(x) ─ 若目标函数为最小化问题:Fit(x)=-f(x)
30
2.2.3 适应度函数
适应度函数设计原则:
单值、非负。
能够正确反映解空间分布情况。
计算量小。 要能够满足某一具体问题下的不同情况,即具 有较强的通用性。
对自身进化这一更为宏观的过程学习 ---- 进化 算法(Evolutionary Computation,EC) 。
1.1 进化算法的产生背景
进化算法以达尔文的进化论思想为基础,
通过模拟生物进化过程与机制来求解问题的自
组织、自适应的人工智能技术。
生物进化是通过繁殖、变异、竞争和选择实现
的。
就是这一种群的进化。
15
2.1 遗传算法与生物进化学说
GA 中与生物学相关 的概念与术语:
─ 个体 ─ 种群 ─ 适应度 ─ 选择
优化问题中的描述:
─解 ─ 解集/解空间 ─ 评价/目标/寻优函数
─ 交叉
─ 变异
─ 产生新解的方法
16
2.2 遗传算法的计算机实现
上世纪60年代中期,Holland提出位串编码技术。 这种技术适用于变异和交叉操作,而且强调将交叉 作为主要的遗传操作。 Holland将该算法用于自然和人工系统的自适应行为 研 究 中 , 在 1975 出 版 了 开 创 性 著 作 “ Adaptation in Natural and Artifical System”。 之后,他将算法应用到优化以及学习中,并将其命 名为遗传算法(简称GA)。
⑤ 黑箱式结构:只要研究输入和输出而不需考虑过程。
⑥ 全局最优解:在整个搜索区域的各个部分同时进行。 ⑦ 稳健性强:不同的条件和环境下,算法都适用且有 效。
1.3 进化算法的理论基础
具有深厚的生物学理论基础。
① 遗传:父代利用遗传基因将自身的基因信息复制
给下一代(子代),属性特征相同或相近。
② 变异:子代和父代,以及子代各个体之间存在着 一定的差异,在进化过程中是随机发生的。 ③ 生存斗争和适者生存:适应性变异较强的个体被 保留下来,而适应性变异较弱的个体则被淘汰。
编码将问题的解用某种码制来表示,从而将问题
的解(状态)空间与GA的码空间相对应。
21
2.3 遗传算法的计算机实现
编码的意义:
很大程度上,编码方案决定了如何进行群体的 遗传运算及其运算效率。 一个好的方案,可以使遗传运算简单易行。 编码是应用 GA时要解决的首要问题,也是设计 GA的关键步骤之一,选择或设计一种合适的编 码方案对算法的性能和效率意义重大。
2097152 = 221 < 3×106 < 222 = 4194304 所以,编码的二进制串长至少需要22位 穷尽编码:
不穷尽编码?
二进制串(0000000000000000000000)表示区间端点值-1 二进制串(1111111111111111111111)表示区间端点值2
25
2.2.1 编码
32
2.2.3 适应度函数
设有三个个体的二进制为:s1=(1000101110110101000111) s2=(0000001110000000010000) s3=(1110000000111111000101) 分别对应于变量:x1=0.637197、x2=-0.958973、x3=1.627888 个体的适应度为:f(s1)=f(x1)=2.586345、f(s2)=f(x2)=1.078878 f(s3)=f(x3)=3.250650
进化算法主要通过选择、重组和变异这三种操
作实现优化问题的求解。
1.2 进化算法的主要特点
是一种全局优化、自适应概率搜索算法,主要特点有:
① 有指导的搜索:依据是每个个体的适应度值。
② 自适应Leabharlann Baidu索:通过进化操作改进群体性能。
③ 渐进式寻优:每代进化的结果都优于上一代。 ④ 并行式搜索:对每一代群体所有个体同时进行。
─ ={s1, s2, …, sn}为所有状态构成的离散解空间。 ─ C(si)为状态si对应的目标函数值。
典型的组合优化问题: TSP 问题、加工调度问题 、0-1背包问题、装箱问题等。
─ 特点:问题的描述很简单,有很强的工程代表性,最 优化求解很困难,主要原因是“组合爆炸”。
4
Ch2 进化算法及其应用
2.2.3 适应度函数
设个体的二进制为:s=(1000101110110101000111)
x 10001011101101010001112 2288967
x 1.0 2288967 2 1 2 1
22
0.637197
f x x sin 10 x 2.0 0.637197 sin 10 0.637197 2 2.586345
三个个体中s3的适应度最大,因此,s3为最佳个体。
33
2.2.4 选择操作
以个体的适应度值为评价指标,对种群中个体 进行优胜劣汰,决定从父代种群中选取哪些个体遗
传到下一代种群中。
选择算子有:比例选择、最优保存策略、确定 性采样选择、排序选择、竞技选择等。 比例选择又分为:轮盘赌选择法、繁殖池选择 法、Boltzmann选择法。
计算新子代的适应度值。
─ 这一过程循环执行,直到满足优化准则为止。
18
遗传算法基本流程
19
2.2 遗传算法的计算机实现
需要解决的问题:
种群
适应度函数
复制(选择)
交叉
变异
遗传操作
编码:首先需要解决的问题
20
2.2.1 编码
什么是编码?
解题过程中,每个具体的解就对应一个个体。
2.2 遗传算法的计算机实现
遗传算法基本思路:
─ 计算开始时,随机初始化一定数目的个体,并计算 每个个体的适应度值,产生第一代(初始种群)。 ─ 如果不满足优化准则,开始新一代的计算:
按照适应度值选择个体,产生下一代; 父代按一定概率进行交叉操作,产生子代; 所有的子代按一定概率变异,形成新的一代。
第一部分 计算智能
引言
Ch2 进化计算及其应用 Ch3 群智能算法及其应用 Ch4 其它近邻搜索算法
优化问题的分类
许多工程问题都可以看成为最优化问题。
根据优化目标,最优化问题可以分为:最小
化问题和最大化问题。
从数学模型的表现形式来看,最优化问题可 以分类为:函数优化问题或组合优化问题。
2
函数优化问题
遗传 变异 生存斗争和适者生存
14
2.1 遗传算法与生物进化学说
上世纪 20 年代,一些学者用统计生物学和种 群遗传学重新解释达尔文自然选择理论,形成现
代综合进化论。
种群遗传学认为:
─ 在一定地域中一个物种的全体成员构成一个种群; ─ 生物的进化是种群的进化,每一代个体基因型的改变
会影响种群基因库的组成,而种群基因库组成的变化
与进化算法相关的算法可细分为:遗传算法(Genetic Algorithms)、遗传规划(Genetic Programming)、进化策
略 (Evolution
Strategies) 和 进 化 规 划 (Evolution
Programming)四种典型方法。 第一类方法比较成熟,现已广泛应用。 进化策略和进化规划在科研和实际问题中的应用也 越来越广泛。
以最小化问题为例,
优化对象:一定区间S内的连续变量。 问题的一般描述:求XminS使f(Xmin)在S上全 局最小。 Xmax 最大 符号化表示为:XS: f(Xmin)f(X)。
─ S为Rn上的有界子集,即变量的定义域。 ─ f: S→R为n维实值函数。
3
组合优化问题
优化对象:解空间中的离散状态 问 题 的 一 般 描 述 : 寻 找 最 优 解 s* , si , C(s*)=minC(si) max
遗传算法最具代表性也是最基本的。
2. 遗传算法的基本理论
1. 遗传算法与生物进化学说
2. 遗传算法的计算机实现 3. 遗传算法解决TSP问题
4. 遗传算法的特点
5. 遗传规划
13
2.1 遗传算法与生物进化学说
1885 年,达尔文用自然选择来解释物种的起源 和生物的进化。
达尔文的自然选择学说包括三个方面:
矩阵编码、树型编码、量子比特编码……
最常用的编码方法:二进制编码
─ 使用二值编码符号集{0, 1}。 ─ 一个二进制符号串代表一个个体,串长与求解精度 有关。
24
2.2.1 编码
设求解精度为6位小数,求解区间[-1, -2]。 ① 将闭区间[-1, 2]改为:[0, 3106]
② 3106=(1011 0111 0001 1011 0000 00)2
─ 便于利用模式定理对算法进行理论分析。
27
2.2.1 编码
二进制编码缺点:
存在Hamming悬崖问题
─ 在某些相邻整数的二进制代码之间有很大的汉明距 离,使得遗传算法的交叉和突变都难以跨越。
算法效率和最优解精度的矛盾问题
28
2.2.2 产生种群
一定数目的个体组成种群。种群中个体的数目 被称为种群规模。
1. 进化算法简介
2. 遗传算法的基本理论 3. 进化策略的基本理论
4. 进化规划的基本理论
5. 进化算法的应用实例
5
1. 进化算法简介
产生背景
主要特点
理论基础 基本框架 分类说明
1.1 进化算法的产生背景
对自身的大脑信息处理机制进行模拟 ---- 人工 神经网络理论。 对自身模糊性的思维方式进行类比 ---- 模糊系 统。 对自然界中动植物的免疫机理进行模拟 ---- 免 疫系统。
将一个二进制串(b21b20…b0)转化为区间[-1, 2]内 对应的实数,需要采用以下步骤:
─ 将二进制数转化为十进制数 x’
b21b20
b0 2
i b 2 i 0 i 21
10
x
─ 将 x’ 转化为区间[-1,2]内的实数 x
x 1.0 x
2 1 222 1
初始个体的产生方法:随机法、启发法。
种群规模会影响算法优化性能和效率。
─ 太小,不能提供足够的采样点,算法性能很差,甚 至得不到问题的可行解。 ─ 太大,可以增加优化信息以阻止早熟收敛,但计算 量增加,使收敛时间变长。
29
2.2.3 适应度函数
GA 在进化搜索中基本不利用外部信息,仅 以适应度函数为依据,利用种群中每个个体的
22
2.3 遗传算法的计算机实现
例:考虑一元函数求最大值的优化问题 f x x sin 10 x 2.0 x 1, 2
23
2.2.1 编码
已有的编码方案:
─ 二进制编码 、 Delta 编码、格雷码编码、 实数编码 、
自然数编码、符号编码、动态变量编码、链表编码、
34
2.2.4 选择操作
轮盘赌选择法:
每个个体被选中的概率与其适应度值成正比。
设种群规模为M,个体i的适应度值为fi,则个体
i被选中的概率Pi为:
Pi fi
f
i 1
M
i
35
2.2.4 选择操作
个体i 适应度值fi 1 2 3 4 5 6 1.24 7 3.348 fi =12.4 1.364 0.868 0.372 3.348 1.736
26
2.2.1 编码
─ 根据模式理论,采用二进制编码处理的模式最多,几 乎任何问题都可以用二进制编码来表达。 ─ 因此,二进制编码应用是最早和最广泛的,它是 GA 中最常用的一种编码方案。
二进制编码的主要优点:
─ 编码、解码操作简单易行。 ─ 选择、交叉和变异等遗传操作便于实现。
─ 符合最小符号集编码原则。
选择概率Pi
0.11
0.07
0.03
0.27
0.14
0.10
0.27
Pi=fi/ fi
当 Pi 给定后,产生 [0, 1] 区间内的均匀随机数来决 定哪个个体参加交叉操作。 即:用赌轮方式决定个体的选择份数。
36
2.1 遗传算法及其应用
37
2.2.4 选择操作
个体i
适应度 fi 1 2 3 4 5 6 7 8 9 10 11