ch2智能优化算法--研究生
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
33
2.2.3 遗传算法的计算机实现
步骤2:产生初始种群 • 产生一定数目的个体组成种群 初始个体的产生方法:随机法、启发法。 • 种群规模是影响算法优化性能和效率的因素之一。 • 种群规模是指种群中个体数目。 • 种群太小,不能提供足够的采样点,导致算法性能很差,甚至得不到问题的 可行解。 • 种群太大,尽管可增加优化信息以阻止早熟收敛的发生,但会增加计算量, 使收敛时间太长。
b 2 1 b 2 0 b 02i 2 1 0 b i 2 i1 0 x
21
x1.0x 2221
32
2.2.3 遗传算法的计算机实现
步骤1:编码 二进制编码的主要优点: • 编码、解码操作简单易行 • 选择、交叉和变异等遗传操作便于实现 • 符合最小符号集编码原则 • 便于利用模式定理对算法进行理论分析。
空间相对应。
24
2.2.3 遗传算法的计算机实现
编码的意义: • 编码方案很大程度上决定了如何进行群体的遗传运算及其运算效率。 • 一个好的编码方案,可以使遗传运算简单地实现和执行。否则,可能使运算难以实现。 • 编码是应用GA时要解决的首要问题,也是设计GA的一个关键步骤,选择或设计一种合适
的编码方案对算法的性能和效率意义重大。
第二章 智能优化算法
第二章 智能优化算法
• 概述 • 进化计算及其应用 • 模拟退火算法及其应用 • 群智能算法及其应用
参考教材
• 王凌, 《智能优化算法及其应用》, 清华大学出版社, 施普林格出版社, 2001年10月第1版. • 王小玉, 《遗传算法—理论、应用与软件实现》, 西安交通大学出版社, 2002年1月第1版 • 王耀南, 《智能信息处理技术》, 高等教育出版社, 2003年8月第1版.
• 构造型算法 • 用构造的方法快速建立问题的解,通常算法的优化质量差,难以满足工程需 要。 • 调度中的典型构造型算法有:Johnson法、Palmer法、基于枚举树的分区法等 。
8
2.1 概述
• 改进型算法,或称邻域搜索算法 • 从任一解出发,通过对其邻域的不断搜索和当前解的替换来实现优化。 • 根据搜索行为,可分为局部搜索法和指导性搜索法(如SA、GA)。
34
2.2.3 遗传算法的计算机实现
步骤3:计算适应度 • 遗传算法在进化搜索中基本不利用外部信息,仅以适应度函数为依据,利用种群中 每个个体的适应度值来进行搜索。 • 一般,适应度函数是由目标函数变换而成。 • 若目标函数为最大化问题:Fit(x)=f(x) • 若目标函数为最小化问题:Fit(x)=-f(x) • 本例的目标函数在定义域内均大于0,而且求函数最大值,可直接引用目标函数作 为适应度函数:f(s)=f(x),式中,二进制串s对应变量x的值。
优化问题中的描述:
─解 ─ 解集/解空间 ─ 评价函数/目标函数/寻优函数
─ 产生新解的方法
19
2.2.3 遗传算法的计算机实现
20世纪60年代中期,J. Holland在前人工作基础上,提出位串编码技术。这种技术 适用于变异和交叉操作,而且强调将交叉作为主要的遗传操作。
随后,Holland将该算法用于自然和人工系统的自适应行为研究中,在1975出版 了开创性著作“Adaptation in Natural and Artifical System”。
3
2.1 概述
一、最优化问题分类 可分为函数优化问题和组合优化问题两大类。
• 函数优化问题:最小化和最大化 • 优化对象:一定区间S内的连续变量 • 最小化问题的一般描述:求XminS使f(Xmin)在S上全局最小 • 符号化表示为:XS: f(Xmin)f(X) • S为Rn上的有界子集,即变量的定义域 • f: S→R为n维实值函数
2.2.1 进化算法简介
三、理论基础 • 进化计算是模拟生物进化理论而形成的一种全局优化自适应概率搜索
的算法理论。 • 具有深厚的生物学理论基础:
1. 遗传:父代利用遗传基因将自身的基因信息交付给下一代(子 代),属性特征相同或相近。
2. 变异:子代和父代,以及子代各个体之间存在着一定的差异,在 进化过程中是随机发生的。
3. 生存斗争和适者生存:适应性变异较强的个体被保留下来,而适 应性变异较弱的个体则被淘汰。
2.2.1 进化算法简介
四、分类说明
从进化的过程性质进行区分,与进化算法相关的算法可细分为:
1. 遗传算法:最具代表性也是最基本的 2. 进化策略:侧重于数值分析 3. 进化规划:介于数值分析与人工智能之间 4. 遗传规划:偏向以程式表现人工智能行为 5. 进化动力学:偏向进化的自组织和系统动力学特性 6. 分类系统:适应动态环境学习 7. 动态模拟系统:用以观察复杂系统交互 8. 元胞自动机:研究人工生命 9. 蚁群系统:模拟蚂蚁群体行为
4
2.1 概述
一、最优化问题分类 • 函数优化问题
• 最大化问题的一般描述:求XmaxS使f(Xmax)在S上全局最大 • 符号化表示为:XS: f(Xmax)f(X)
• S为Rn上的有界子集,即变量的定义域 • f: S→R为n维实值函数
5
2.1 概述
• 经典算法 • 如:线性规划、动态规划、整数规划、分枝定界等运筹学中的传统算法。 • 算法计算复杂性一般很大,只适于求解小规模问题,在工程中往往不实用。
25
2.2.3 遗传算法的计算机实现
例:考虑一元函数求最大值的优化问题
f x x s i n 1 0 x 2 . 0x 1 ,2
26
2.2.3 遗传算法的计算机实现
f(x)在区间[-1, 2]可微,先用微分法求取f(x)的最大值。
f x s i n 1 0 x 1 0 x c o s 1 0 x 0
• 基于系统动态演化的方法 • 将优化过程转化为系统动态的演化过程,基于系统动态的演化来实现优化, 如神经网络、蚁群算法、混沌搜索等。
• 混合型算法 • 上述各算法从结构或操作上混合而产生的各类算法。
9
2.2 进化算法及其应用
2.2.1 进化算法简介 2.2.2 遗传算法与生物进化学说 2.2.3 遗传算法的计算机实现 2.2.4 遗传算法解决TSP问题 2.2.5 遗传算法的特点
1. 有指导搜索:依据是每个个体的适应度值 2. 自适应搜索:通过进化操作改进群体性能 3. 渐进式寻优:每代进化的结果都优于上一代 4. 并行式搜索:对每一代群体所有个体同时进行 5. 黑箱式结构:只要研究输入和输出而不需考虑过程 6. 全局最优解:在整个搜索区域的各个部分同时进行 7. 内在学习型:学习是一种有保留的行为 8. 稳健性强:不同的条件和环境下算法适用和有效性
2.2.2 遗传算法与生物进化学 说
1885年,达尔文用自然选择来解释物种的起源和生物的进化,达尔文的自然选择学说包 括三个方面:
遗传 变异 生存斗争和适者生存
17
2.2.2 遗传算法与生物进化学 说
20世纪20年代,一些学者用统计生物学和种群遗传学的成就重新解释达尔文自然选择理 论,形成现代综合进化论。
2.2.1 进化算法简介
• 进化算法是一种模拟生物进化过程与机制求解问题的自组织、自适应人工智能技术。
进化规则
指导思想
优胜劣汰,适者生存
繁殖、变异、竞争、选择
进化算法是建立在模拟生物进化过程的基础 上而产生的一种随机搜索优化技术
2.2.1 进化算法简介
二、主要特点 在算法中主要表现为全局搜索方式,体现在下面几个方面
35
2.2.3 遗传算法的计算机实现
设某个个体的二进制为:s=(1000101110110101000111)
x 1 0 0 0 1 0 1 1 1 0 1 1 0 1 0 1 0 0 0 1 1 1 2 2 8 8 9 6 7 2 2 1
x 1 .0 2 2 8 8 9 6 7 0 .6 3 7 1 9 7 2 2 2 1
29
2.2.3 遗传算法的计算机实现
设:求解精度为6位小数 • 因为,采用二进制编码方法,不能表示小数和负数 • 所以,将闭区间[-1, 2]改为:[0, 3106] • 又因为: 3106=(1011 0111 0001 1011 0000 00)2
2097152 = 221 < 3×106 < 222 = 4194304 • 所以,编码的二进制串长至少需要22位
21
遗传算法基本流程
22
2.2.3 遗传算法的计算机实现
需要解决的问题: •种群 •适应度函数 •复制(选择) •交叉 •变异 •编码:首先需要解决的问题
遗传操作
23
2.2.3 遗传算法的计算机实现
什么是编码? • 解题过程中,每个具体的解就对应一个个体。 • 简单来说,编码就是将问题的解用一种码来表示,从而将问题的解(状态)空间与GA的码
30
2.2.3 遗传算法的计算机实现
穷尽编码: • 二进制串(0000000000000000000000)
表示区间端点值-1 • 二进制串(1111111111111111111111)
表示区间端点值2
不穷尽编码?
31
2.2.3 遗传算法的计算机实现
• 将一个二进制串(b21b20…b0)转化为区间[-1, 2]内对应的实数,需要采用以下步骤: • 将二进制数转化为十进制数 x’ • 将 x’ 转化为区间[-1,2]内的实数 x
fxxsin10x2.0 0.637197sin100.6371972
2.586345
36
2.2.3 遗传算法的计算机实现
设有三个个体的二进制为:s1=(1000101110110101000111) s2=(0000001110000000010000) s3=(1110000000111111000101)
上• 式i的是• 解一i为有种奇无接数穷近时多于,个0的x:i对实应数局递部减极序大列xx值。i0点;20i20 1 i
•
• i为偶数时,xi对应局部极小 点。
x19是区间[-1,
2]内的最大点。
xi
2i 20
1
Hale Waihona Puke Baidu
i
i 1, 2, i0 i 1, 2,
x193 27 0191.8519
27
2.2.3 遗传算法的计算机实现
种群遗传学认为: • 在一定地域中一个物种的全体成员构成一个种群; • 生物的进化是种群的进化,每一代个体基因型的改变会影响种群基因库的组成,而种
群基因库组成的变化就是这一种群的进化。
18
2.2.2
GA中与生物学相关的 概念与术语:
• 个体 • 种群 • 适应度 • 选择 • 交叉 • 变异
遗传算法与生物进化学 说
步骤1:编码 已有的编码方案: • 二进制编码、Delta编码、格雷码编码、实数编码、自然数编码、符号编码、动态 变量编码、链表编码、矩阵编码、树型编码、量子比特编码……
28
2.2.3 遗传算法的计算机实现
步骤1:编码 最常用的编码方法:二进制编码 • 使用二值编码符号集{0, 1}。 • 每个个体是一个二进制符号串,串长与求解精度有关。 • 根据模式理论,采用二进制编码算法处理的模式最多,几乎任何问题都可以用 二进制编码来表达。因此,二进制编码应用是最早和最广泛的,它是GA中最常 用的一种编码方案。
以后更是将算法进行了推广,并应用到优化以及学习中,正式将其命名为遗传算 法(Genetic Algorithms,简称GA)。
2.2.3 遗传算法的计算机实现
遗传算法基本思路: • 计算开始时,随机初始化一定数目的个体(即种群),并计算每个个体的适应度 值,产生第一代(初始代)。 • 如果不满足优化准则,开始新一代的计算: • 按照适应度值选择个体,产生下一代; • 父代按一定概率进行交叉操作,产生子代; • 所有的子代按一定概率变异,形成新的一代。 • 计算新子代的适应度值。 • 这一过程循环执行,直到满足优化准则为止。
10
2.2.1 进化算法简介
• 产生背景 • 主要特点 • 理论基础 • 分类说明
2.2.1 进化算法简介
一、产生背景 • 对自身的大脑信息处理机制进行模拟----人工神经网络理论 • 对自身模糊性的思维方式进行类比----模糊系统 • 对自然界中动植物的免疫机理进行模拟----免疫系统 • 对自身进化这一更为宏观的过程学习----进化算法(Evolutionary Computation,EC)
2.2.3 遗传算法的计算机实现
步骤2:产生初始种群 • 产生一定数目的个体组成种群 初始个体的产生方法:随机法、启发法。 • 种群规模是影响算法优化性能和效率的因素之一。 • 种群规模是指种群中个体数目。 • 种群太小,不能提供足够的采样点,导致算法性能很差,甚至得不到问题的 可行解。 • 种群太大,尽管可增加优化信息以阻止早熟收敛的发生,但会增加计算量, 使收敛时间太长。
b 2 1 b 2 0 b 02i 2 1 0 b i 2 i1 0 x
21
x1.0x 2221
32
2.2.3 遗传算法的计算机实现
步骤1:编码 二进制编码的主要优点: • 编码、解码操作简单易行 • 选择、交叉和变异等遗传操作便于实现 • 符合最小符号集编码原则 • 便于利用模式定理对算法进行理论分析。
空间相对应。
24
2.2.3 遗传算法的计算机实现
编码的意义: • 编码方案很大程度上决定了如何进行群体的遗传运算及其运算效率。 • 一个好的编码方案,可以使遗传运算简单地实现和执行。否则,可能使运算难以实现。 • 编码是应用GA时要解决的首要问题,也是设计GA的一个关键步骤,选择或设计一种合适
的编码方案对算法的性能和效率意义重大。
第二章 智能优化算法
第二章 智能优化算法
• 概述 • 进化计算及其应用 • 模拟退火算法及其应用 • 群智能算法及其应用
参考教材
• 王凌, 《智能优化算法及其应用》, 清华大学出版社, 施普林格出版社, 2001年10月第1版. • 王小玉, 《遗传算法—理论、应用与软件实现》, 西安交通大学出版社, 2002年1月第1版 • 王耀南, 《智能信息处理技术》, 高等教育出版社, 2003年8月第1版.
• 构造型算法 • 用构造的方法快速建立问题的解,通常算法的优化质量差,难以满足工程需 要。 • 调度中的典型构造型算法有:Johnson法、Palmer法、基于枚举树的分区法等 。
8
2.1 概述
• 改进型算法,或称邻域搜索算法 • 从任一解出发,通过对其邻域的不断搜索和当前解的替换来实现优化。 • 根据搜索行为,可分为局部搜索法和指导性搜索法(如SA、GA)。
34
2.2.3 遗传算法的计算机实现
步骤3:计算适应度 • 遗传算法在进化搜索中基本不利用外部信息,仅以适应度函数为依据,利用种群中 每个个体的适应度值来进行搜索。 • 一般,适应度函数是由目标函数变换而成。 • 若目标函数为最大化问题:Fit(x)=f(x) • 若目标函数为最小化问题:Fit(x)=-f(x) • 本例的目标函数在定义域内均大于0,而且求函数最大值,可直接引用目标函数作 为适应度函数:f(s)=f(x),式中,二进制串s对应变量x的值。
优化问题中的描述:
─解 ─ 解集/解空间 ─ 评价函数/目标函数/寻优函数
─ 产生新解的方法
19
2.2.3 遗传算法的计算机实现
20世纪60年代中期,J. Holland在前人工作基础上,提出位串编码技术。这种技术 适用于变异和交叉操作,而且强调将交叉作为主要的遗传操作。
随后,Holland将该算法用于自然和人工系统的自适应行为研究中,在1975出版 了开创性著作“Adaptation in Natural and Artifical System”。
3
2.1 概述
一、最优化问题分类 可分为函数优化问题和组合优化问题两大类。
• 函数优化问题:最小化和最大化 • 优化对象:一定区间S内的连续变量 • 最小化问题的一般描述:求XminS使f(Xmin)在S上全局最小 • 符号化表示为:XS: f(Xmin)f(X) • S为Rn上的有界子集,即变量的定义域 • f: S→R为n维实值函数
2.2.1 进化算法简介
三、理论基础 • 进化计算是模拟生物进化理论而形成的一种全局优化自适应概率搜索
的算法理论。 • 具有深厚的生物学理论基础:
1. 遗传:父代利用遗传基因将自身的基因信息交付给下一代(子 代),属性特征相同或相近。
2. 变异:子代和父代,以及子代各个体之间存在着一定的差异,在 进化过程中是随机发生的。
3. 生存斗争和适者生存:适应性变异较强的个体被保留下来,而适 应性变异较弱的个体则被淘汰。
2.2.1 进化算法简介
四、分类说明
从进化的过程性质进行区分,与进化算法相关的算法可细分为:
1. 遗传算法:最具代表性也是最基本的 2. 进化策略:侧重于数值分析 3. 进化规划:介于数值分析与人工智能之间 4. 遗传规划:偏向以程式表现人工智能行为 5. 进化动力学:偏向进化的自组织和系统动力学特性 6. 分类系统:适应动态环境学习 7. 动态模拟系统:用以观察复杂系统交互 8. 元胞自动机:研究人工生命 9. 蚁群系统:模拟蚂蚁群体行为
4
2.1 概述
一、最优化问题分类 • 函数优化问题
• 最大化问题的一般描述:求XmaxS使f(Xmax)在S上全局最大 • 符号化表示为:XS: f(Xmax)f(X)
• S为Rn上的有界子集,即变量的定义域 • f: S→R为n维实值函数
5
2.1 概述
• 经典算法 • 如:线性规划、动态规划、整数规划、分枝定界等运筹学中的传统算法。 • 算法计算复杂性一般很大,只适于求解小规模问题,在工程中往往不实用。
25
2.2.3 遗传算法的计算机实现
例:考虑一元函数求最大值的优化问题
f x x s i n 1 0 x 2 . 0x 1 ,2
26
2.2.3 遗传算法的计算机实现
f(x)在区间[-1, 2]可微,先用微分法求取f(x)的最大值。
f x s i n 1 0 x 1 0 x c o s 1 0 x 0
• 基于系统动态演化的方法 • 将优化过程转化为系统动态的演化过程,基于系统动态的演化来实现优化, 如神经网络、蚁群算法、混沌搜索等。
• 混合型算法 • 上述各算法从结构或操作上混合而产生的各类算法。
9
2.2 进化算法及其应用
2.2.1 进化算法简介 2.2.2 遗传算法与生物进化学说 2.2.3 遗传算法的计算机实现 2.2.4 遗传算法解决TSP问题 2.2.5 遗传算法的特点
1. 有指导搜索:依据是每个个体的适应度值 2. 自适应搜索:通过进化操作改进群体性能 3. 渐进式寻优:每代进化的结果都优于上一代 4. 并行式搜索:对每一代群体所有个体同时进行 5. 黑箱式结构:只要研究输入和输出而不需考虑过程 6. 全局最优解:在整个搜索区域的各个部分同时进行 7. 内在学习型:学习是一种有保留的行为 8. 稳健性强:不同的条件和环境下算法适用和有效性
2.2.2 遗传算法与生物进化学 说
1885年,达尔文用自然选择来解释物种的起源和生物的进化,达尔文的自然选择学说包 括三个方面:
遗传 变异 生存斗争和适者生存
17
2.2.2 遗传算法与生物进化学 说
20世纪20年代,一些学者用统计生物学和种群遗传学的成就重新解释达尔文自然选择理 论,形成现代综合进化论。
2.2.1 进化算法简介
• 进化算法是一种模拟生物进化过程与机制求解问题的自组织、自适应人工智能技术。
进化规则
指导思想
优胜劣汰,适者生存
繁殖、变异、竞争、选择
进化算法是建立在模拟生物进化过程的基础 上而产生的一种随机搜索优化技术
2.2.1 进化算法简介
二、主要特点 在算法中主要表现为全局搜索方式,体现在下面几个方面
35
2.2.3 遗传算法的计算机实现
设某个个体的二进制为:s=(1000101110110101000111)
x 1 0 0 0 1 0 1 1 1 0 1 1 0 1 0 1 0 0 0 1 1 1 2 2 8 8 9 6 7 2 2 1
x 1 .0 2 2 8 8 9 6 7 0 .6 3 7 1 9 7 2 2 2 1
29
2.2.3 遗传算法的计算机实现
设:求解精度为6位小数 • 因为,采用二进制编码方法,不能表示小数和负数 • 所以,将闭区间[-1, 2]改为:[0, 3106] • 又因为: 3106=(1011 0111 0001 1011 0000 00)2
2097152 = 221 < 3×106 < 222 = 4194304 • 所以,编码的二进制串长至少需要22位
21
遗传算法基本流程
22
2.2.3 遗传算法的计算机实现
需要解决的问题: •种群 •适应度函数 •复制(选择) •交叉 •变异 •编码:首先需要解决的问题
遗传操作
23
2.2.3 遗传算法的计算机实现
什么是编码? • 解题过程中,每个具体的解就对应一个个体。 • 简单来说,编码就是将问题的解用一种码来表示,从而将问题的解(状态)空间与GA的码
30
2.2.3 遗传算法的计算机实现
穷尽编码: • 二进制串(0000000000000000000000)
表示区间端点值-1 • 二进制串(1111111111111111111111)
表示区间端点值2
不穷尽编码?
31
2.2.3 遗传算法的计算机实现
• 将一个二进制串(b21b20…b0)转化为区间[-1, 2]内对应的实数,需要采用以下步骤: • 将二进制数转化为十进制数 x’ • 将 x’ 转化为区间[-1,2]内的实数 x
fxxsin10x2.0 0.637197sin100.6371972
2.586345
36
2.2.3 遗传算法的计算机实现
设有三个个体的二进制为:s1=(1000101110110101000111) s2=(0000001110000000010000) s3=(1110000000111111000101)
上• 式i的是• 解一i为有种奇无接数穷近时多于,个0的x:i对实应数局递部减极序大列xx值。i0点;20i20 1 i
•
• i为偶数时,xi对应局部极小 点。
x19是区间[-1,
2]内的最大点。
xi
2i 20
1
Hale Waihona Puke Baidu
i
i 1, 2, i0 i 1, 2,
x193 27 0191.8519
27
2.2.3 遗传算法的计算机实现
种群遗传学认为: • 在一定地域中一个物种的全体成员构成一个种群; • 生物的进化是种群的进化,每一代个体基因型的改变会影响种群基因库的组成,而种
群基因库组成的变化就是这一种群的进化。
18
2.2.2
GA中与生物学相关的 概念与术语:
• 个体 • 种群 • 适应度 • 选择 • 交叉 • 变异
遗传算法与生物进化学 说
步骤1:编码 已有的编码方案: • 二进制编码、Delta编码、格雷码编码、实数编码、自然数编码、符号编码、动态 变量编码、链表编码、矩阵编码、树型编码、量子比特编码……
28
2.2.3 遗传算法的计算机实现
步骤1:编码 最常用的编码方法:二进制编码 • 使用二值编码符号集{0, 1}。 • 每个个体是一个二进制符号串,串长与求解精度有关。 • 根据模式理论,采用二进制编码算法处理的模式最多,几乎任何问题都可以用 二进制编码来表达。因此,二进制编码应用是最早和最广泛的,它是GA中最常 用的一种编码方案。
以后更是将算法进行了推广,并应用到优化以及学习中,正式将其命名为遗传算 法(Genetic Algorithms,简称GA)。
2.2.3 遗传算法的计算机实现
遗传算法基本思路: • 计算开始时,随机初始化一定数目的个体(即种群),并计算每个个体的适应度 值,产生第一代(初始代)。 • 如果不满足优化准则,开始新一代的计算: • 按照适应度值选择个体,产生下一代; • 父代按一定概率进行交叉操作,产生子代; • 所有的子代按一定概率变异,形成新的一代。 • 计算新子代的适应度值。 • 这一过程循环执行,直到满足优化准则为止。
10
2.2.1 进化算法简介
• 产生背景 • 主要特点 • 理论基础 • 分类说明
2.2.1 进化算法简介
一、产生背景 • 对自身的大脑信息处理机制进行模拟----人工神经网络理论 • 对自身模糊性的思维方式进行类比----模糊系统 • 对自然界中动植物的免疫机理进行模拟----免疫系统 • 对自身进化这一更为宏观的过程学习----进化算法(Evolutionary Computation,EC)