遗传算法实验六ppt课件

合集下载

遗传算法课件PPT ppt课件 ppt课件

遗传算法课件PPT ppt课件 ppt课件

2020/4/17
33
五.GA的各种变形(32)
I. 截断选择: 选择最好的前T个个体,让每一个有1/T的 选择概率,平均得到NP/T个繁殖机会。
例:NP=100,T=50 即100名学生,成绩前50名的选出。每人的选
择概率为1/50,有平均2个机会。 缺点:这种方法将花费较多的时间在适应值的
排序上。
c. k的取值: 0 M , k , k1r r0.9,0.99,9
调节 M和 r,从而来调节 k
2020/4/17
28
五.GA的各种变形(27)
d.引入 的k 目的:
调k 节选择压力,即好坏个体选择概率的
差,使广域搜索范围宽保持种群的多样性,而
局域搜索细保持收敛性。如下图表示:
k
2020/4/17
2020/4/17
34
五.GA的各种变形(33)
II. 顺序选择: a. 步骤: ⑴ 从好到坏排序所有个体 ⑵ 定义最好个体的选择概率为 q,则第 j个个
体的选择概率为:
pjq1qj1
2020/4/17
35
五.GA的各种变形(34)
⑶ 由于 N j1P q1qj1 N P q11 1q1
2020/4/17
1
遗传算法
• 五.遗传算法的各种变形 • 5.1其它编码方法 • 5.2遗传运算中的问题 • 5.3适值函数的标定(Scaling) • 5.4选择策略 • 5.5停止准则 • 六. 应用
2020/4/17
2
五.GA的各种变形(1)
5.1 其它编码方法
① 顺序编码:用1到N的自然数的不同顺序来 编码,此种编码不允许重复,即 xi 1,2,,N 且 xi x j,又称自然数编码。 该法适用范围很广:指派问题、旅行商问题和

遗传算法的实例ppt课件.ppt

遗传算法的实例ppt课件.ppt
上述操作反复执行,个体逐渐优化
病 原 体 侵 入 机体, 消弱机 体防御 机能, 破坏机 体内环 境的相 对稳定 性,且 在一定 部位生 长繁殖 ,引起 不同程 度的病 理生理 过程
遗传算法的手工模拟计算示例
为更好地理解遗传算法的运算过程,下面用手工计算来简单地模拟遗传算法的各 个主要执行步骤。
例:求下述二元函数的最大值:
个体
A
B
C
D
病 原 体 侵 入 机体, 消弱机 体防御 机能, 破坏机 体内环 境的相 对稳定 性,且 在一定 部位生 长繁殖 ,引起 不同程 度的病 理生理 过程
步骤三:交叉
• 选中的优势个体进行交叉 ----- 由父个体生成子个体
相同的两个父个体生成相同的两个子个体
病 原 体 侵 入 机体, 消弱机 体防御 机能, 破坏机 体内环 境的相 对稳定 性,且 在一定 部位生 长繁殖 ,引起 不同程 度的病 理生理 过程
• 程序结束时,最优个体即为所求解 • 程序结束的判定
根据循环次数 根据最大适应度 根据种群中相同个体数与总个体数的比值
病 原 体 侵 入 机体, 消弱机 体防御 机能, 破坏机 体内环 境的相 对稳定 性,且 在一定 部位生 长繁殖 ,引起 不同程 度的病 理生理 过程
遗传算法各步骤的评价
• 选择 --- 优胜劣汰
011101 111001 101011 111001
配对情况 交叉点位置
1-2
1-2:2
3-4
3-4:4
交叉结果
011001 111101 101001 111011
变异点 变异结果
4 011101 5 111111 2 111001 6 111010
子代群体p(1) x1 x2

Genetic Algorithms(遗传算法)PPT课件

Genetic Algorithms(遗传算法)PPT课件

Encoding
{0,1}L
(representation)
010001001
011101001 Decoding (inverse representation)
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Genetic Algorithms
Holland’s original GA is now known as the simple genetic algorithm (SGA)
Other GAs use different:
– Representations – Mutations – Crossovers – Selection mechanisms
probability pc , otherwise copy parents 4. For each offspring apply mutation (bit-flip with
probability pm independently for each bit) 5. Replace the whole population with the resulting
Main idea: better individuals get higher chance
– Chances proportional to fitness
– Implementation: roulette wheel technique
– many variants, e.g., reproduction models, operators
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Genetic Algorithms

《遗传算法详解》课件

《遗传算法详解》课件
特点
遗传算法具有全局搜索能力、对问题 依赖性小、可扩展性强、鲁棒性高等 特点。
遗传算法的基本思想
初始化
随机生成一组解作为初始种群。
适应度评估
根据问题的目标函数计算每个解 的适应度值。
选择操作
根据适应度值的大小,选择优秀 的解进行遗传操作。
迭代更新
重复以上过程,直到满足终止条 件。
变异操作
对某些基因进行变异,增加解的 多样性。
《遗传算法详解》 ppt课件
• 遗传算法概述 • 遗传算法的基本组成 • 遗传算法的实现流程 • 遗传算法的优化策略 • 遗传算法的改进方向 • 遗传算法的未来展望
目录
Part
01
遗传算法概述
定义与特点
定义
遗传算法是一种模拟生物进化过程的 优化算法,通过模拟基因遗传和变异 的过程来寻找最优解。
Part
05
遗传算法的改进方向
混合遗传算法的研究
混合遗传算法
结合多种优化算法的优点,提高遗传算法的全局搜索能力和收敛速 度。
混合遗传算法的原理
将遗传算法与其他优化算法(如梯度下降法、模拟退火算法等)相 结合,利用各自的优势,弥补各自的不足。
混合遗传算法的应用
在许多实际问题中,如函数优化、路径规划、机器学习等领域,混 合遗传算法都取得了良好的效果。
自适应交叉率
交叉率控制着种群中新个体的产生速度。自适应交叉率可以根据种群中个体的适应度差 异进行调整,使得适应度较高的个体有更低的交叉率,而适应度较低的个体有更高的交 叉率。这样可以提高算法的搜索效率。
自适应变异率
变异率决定了种群中新个体的产生速度。自适应变异率可以根据种群中个体的适应度进 行调整,使得适应度较高的个体有更低的变异率,而适应度较低的个体有更高的变异率

《遗传算法》PPT课件

《遗传算法》PPT课件

遗传算法
学习过程如下:
选择适应度最好的4个
11 01001101 -4 13 01001101 -4 14 00111001 -4 15 00101111 -5
11与13交叉
16 01001101 -4 17 01001101 -4
14与15交叉
18 00111011 -4 19 00101101 -5
遗传算法
遗传算法是一种通过模拟自然进化过程搜索最优解 的方法。 遗传算法是一类随机算法通过作用于染色体上的基 因,寻找好的染色体来求解问题。 遗传算法对求解问题的本身一无所知,它所需要的 仅是对算法所产生的每个染色体进行评价,并基于适 应值来选择染色体,使适应性好的染色体比适应性差 的染色体有更多的繁殖机会。 遗传算法通过有组织地而且是随机地信息交换来重 新结合那些适应性好的串,在每一个新的串的群体中 作为额外增添,偶尔也要在串结构中尝试用新的位和 段来代替原来的部分。
遗传算法
要做的第一件事是将染色体转换成二进制串, 00表示0 01表示1 10表示2 11表示3 交叉位置:6,即父代染色体被复制下来产生两个后代 然后两个后代交换他们的最后两位 变异:由随机选择一位、求反
遗传算法
例如,染色体0223的适应度为4。 若所有7个规则都满足(也就是当染色体是0133),则 适应度为7。 适应度值可以求负操作,以使任务成为最小化搜索。 因此,目标染色体具有-7的适应度。 要做的第一件事是将染色体转换成二进制串, 这可通过由00表示0,01表示1,10表示2,11表示3来完 成。现在每个基因由两位表示,目标染色体有00011111 表示。 为了简化例子,总是在位置6处应用单点交叉。 父染色体被复制下来产生两个后代,然后两个后代交换 他们的最后两位。 变异由随机选择一位且对他求反组成。

《遗传算法》课件

《遗传算法》课件

个体选择策略
轮盘赌选择
按照适应度大小进行选择, 适应度越大的个体被选中的 概率越高。
锦标赛选择
随机选择一组个体进行比较, 选择适应度最好的个体。
随机选择
随机选择一部分个体作为下 一代。
杂交操作的实现方法
单点杂交 多点杂交 均匀杂交
从两个个体的某个交叉点将两个个体分割,并交 换剩下的部分。
从两个个体的多个交叉点将两个个体分割,并交 换剩下的部分。
遗传算法的基本流程
1
评估适应度
2
计算每个个体的适应度。
3
交叉操作
4
通过交叉操作产生新的个体。
5
替换操作
6
将新的个体替换种群中的一部分个体。
7
输出结果
8
输出最优解作为最终结果。
初始化种群
生成初始的候选解。
选择操作
根据适应度选择优秀的个体。
变异操作
对个体进行变异以增加多样性。
迭代
重复执行选择、交叉和变异操作直至满足 终止条件。
智能控制
如机器人路径规划和智能决策。
数挖掘
例如聚类、分类和回归分析。
遗传算法的优缺点
1 优点
能够全局搜索、适应复杂问题和扩展性强。
2 缺点
计算量大、收敛速度慢和参数选择的难度。
遗传算法的基本概念
个体
候选解的表示,通常采用二进 制编码。
适应度函数
评价候选解的质量,指导选择 和进化过程。
种群
多个个体组成的集合,通过遗 传操作进行进化。
遗传算法实例分析
旅行商问题
遗传算法可以用于求解旅行商问 题,找到最短路径。
背包问题
调度问题
遗传算法可以用于求解背包问题, 找到最优的物品组合。

第6章 遗传算法及其应用PPT幻灯片

第6章 遗传算法及其应用PPT幻灯片
选择: 从当前群体中选取较优的个体准备进化
遗传算法的基本概念
选择(selection): 适应度越高的个体被选中的概率越大
轮盘赌
pi
fi
N 1
fj
j0
遗传算法的基本概念
选择(selection): 适应度越高的个体被选中的概率越大
轮盘赌 锦标赛 Elitism策略
pi
fi
N 1
fj
确定性算法: 穷举、动态规划、分支限界… 非确定性算法: 近似算法、概率算法…
A
B
C
D
E
C
D
E
D E CE C D
10
7 A
6 9
B8 9 13
C 8
12
E
5
D
问题求解策略
启发式算法
利用问题领域知识: 领域相关 利用一般性启发信息: 领域独立
元启发算法
问题求解策略
启发式算法示例: 蚁群优化算法
问题求解策略
问题求解:解空间搜索
解的表示形式 搜索的策略
问题求解策略
构造式求解: 从部分解逐步构造出完整解
确定性算法: 穷举、动态规划、分支限界…
常常面临 组合爆炸
A
B
C
D
E
C
D
E
D E CE C D
10
7 A
6 9
B8 9 13
C 8
12
E
5
D
问题求解策略
构造式求解: 从部分解逐步构造出完整解
基本思想: 模拟蚁群在寻找食物过程中发现路径的行为 信息素: 蚂蚁会优先选择信息素浓度较大的路径 信息素挥发
。。。。 。
。。。。。。。。。

《遗传算法》课件

《遗传算法》课件
总结词
达到预设迭代次数
详细描述
当遗传算法达到预设的最大迭代次数时,算法终止。此时 需要根据适应度值或其他指标判断是否找到了满意解或近 似最优解。
总结词
达到预设精度
详细描述
当遗传算法的解的精度达到预设值时,算法终止。此时可 以认为找到了近似最优解。
总结词
满足收敛条件
详细描述
当遗传算法的解满足收敛条件时,算法终止。常见的收敛 条件包括个体的适应度值不再发生变化、最优解连续多代 保持不变等。
多目标优化
传统的遗传算法主要用于单目标优化问题。然而 ,实际应用中经常需要解决多目标优化问题。因 此,发展能够处理多目标优化问题的遗传算法也 是未来的一个重要研究方向。
适应性遗传算法
适应性遗传算法是指根据问题的特性自适应地调 整遗传算法的参数和操作,以提高搜索效率和精 度。例如,可以根据问题的复杂度和解的质量动 态调整交叉概率、变异概率等参数。
自适应调整是指根据个体的适应度值动态调整 适应度函数,以更好地引导遗传算法向更优解 的方向进化。
选择操作
总结词
基于适应度选择
详细描述
选择操作是根据个体的适应 度值进行选择,通常采用轮 盘赌、锦标赛等选择策略, 以保留适应度较高的个体。
总结词
多样性保护
详细描述
为了保持种群的多样性,选择操作可以采 用一些多样性保护策略,如精英保留策略 、小生境技术等。
梯度下降法是一种基于函数梯度的优化算法,与遗传算法结合使用可以加快搜索速度, 提高解的质量。
遗传算法的基本思想
初始化
随机生成一组解作为初始种群。
适应度评估
根据问题的目标函数计算每个解 的适应度值。
选择操作
根据适应度值的大小,选择适应 度较高的解进行遗传操作。

遗传算法原理及其应用PPT课件

遗传算法原理及其应用PPT课件
遗传算法原理及其应 用
目录
• 遗传算法概述 • 遗传算法的基本原理 • 遗传算法的实现步骤 • 遗传算法的应用案例 • 遗传算法的优缺点与改进方向
01
遗传算法概述
定义与特点
01
定义
遗传算法是一种模拟生物进化过程的优化算法, 通过模拟基因遗传和自然选择的过程来寻找最优
解。 02
特点
遗传算法具有全局搜索能力、隐含并行性、自适 应性、对初始条件要求不严格等优点。
排班问题
遗传算法可以用于解决排班问题,如航空公司的航班排班、医院的医 护人员排班等,以实现资源的高效利用和满足各种约束条件。
遗传算法的优缺点与改进方
05

优点
全局搜索能力
遗传算法采用生物进化中的遗传机制, 通过种群搜索的方式进行搜索,能够 跳出局部最优解,寻找全局最优解。
鲁棒性
遗传算法对初始解和参数选择不敏感, 能够在不同领域和问题中应用。
02 多峰值函数优化
遗传算法能够处理多峰值函数,即函数值在多个 点达到最大或最小值的情况,通过全局搜索找到 所有峰值。
03 噪声和异常值处理
遗传算法具有较强的鲁棒性,能够处理噪声和异 常值对优化结果的影响。
组合优化问题
1 2 3
旅行商问题
遗传算法可用于求解旅行商问题,即寻找一条最 短的旅行路线,使得一个推销员能够访问所有指 定的城市并返回出发城市。
交叉操作
单点交叉
在个体基因串中选择一个点作为交叉点,将该点前后的基因进行互换,形成新的 个体。
多点交叉
在个体基因串中选择多个点作为交叉点,将不同个体的对应基因进行互换,形成 新的个体。
变异操作
基因位变异
随机选择个体基因串中的某个基因位,对该 基因位进行取反操作或随机替换。

《遗传算法实例参考》课件

《遗传算法实例参考》课件
定义
遗传算法是一种模拟自然选择和遗传 机制的优化算法,通过模拟生物进化 过程中的基因遗传和变异过程来寻找 最优解。
特点
遗传算法具有全局搜索能力、隐含并 行性、自适应性、对初始条件要求不 高、鲁棒性强等优点。
遗传算法的基本原理
适应度函数
根据问题的目标函数来定义适 应度函数,用于评估每个个体 的适应度。
机器学习
用于支持向量机、神经网络等机器 学习模型的参数优化。
03
02
组合优化
用于求解如旅行商问题、背包问题 等组合优化问题。
调度与控制
用于生产调度、机器人路径规划等 控制系统的优化。
04
PART 02
遗传算法的实现步骤
初始化种群
初始解的产生
在遗传算法的开始阶段,需要随机生成一组初始解,这组解被称为种群。每个解 都是问题的一个潜在解决方案。
交叉操作
单点交叉(One-Point Crossover)
随机选择一个交叉点,将两个父代解在该点后的部分进行交换,形成两个子代解。
优点
能够引入新的解,增加解的多样性。
变异操作
要点一
位反转变异(Bit-Flip Mutation )
随机选择解中的一个位进行取反操作,以增加解的随机性 。
要点二
优点
能够防止算法陷入局部最优解,提高全局搜索能力。
PART 05
遗传算法实例:求解约束 优化问题
问题描述
求解约束优化问题
遗传算法可以用于求解具有约束条件的优 化问题,例如在物流、生产计划、金融等
领域中常见的优化问题。
约束条件
限制决策变量取值的条件,可以是等式或 不等式约束。
目标函数
需要最小化或最大化的目标函数,通常是 一个数学表达式,代表了问题的优化目标 。

遗传算法详解ppt课件

遗传算法详解ppt课件
A1=0110 | 1 A2=1100 | 0 交叉操作后产生了两个新的字符串为:
A1’=01100 A2’=11001
一般的交叉操作过程:
图5-2 交叉操作
遗传算法的有效性主要来自于复制和交叉操作。复制虽然能够从旧种 群中选择出优秀者,但不能创造新的个体;交叉模拟生物进化过程中 的繁殖现象,通过两个个体的交换组合,来创造新的优良个体。
遗传算法在以下几个方面不同于传统优化 方法
① 遗传算法只对参数集的编码进行操作,而不是 参数集本身。
② 遗传算法的搜索始于解的一个种群,而不是单 个解,因而可以有效地防止搜索过程收敛于局部 最优解。
③ 遗传算法只使用适值函数,而不使用导数和其 它附属信息,从而对问题的依赖性小。
④ 遗传算法采用概率的、而不是确定的状态转移 规则,即具有随机操作算子。
表6-3列出了交叉操作之后的结果数据,从中可以看出交叉操作 的具体过程。首先,随机配对匹配集中的个体,将位串1、2配对,位
串3、4配对;然后,随机选取交叉点,设位串1、2的交叉点为k=4,
二者只交换最后一位,从而生成两个新的位串,即 串 串 1 2 : : 1 01 11 00 0 1 0 1 01 11 00 01 0 新 新 1 2串 串
图5–3
遗传算法的工作原理示意图
5.2 遗传算法应用中的一些基本问题
5.2.1 目标函数值到适值形式的映射
适值是非负的,任何情况下总希望越大越好;而目标 函数有正、有负、甚至可能是复数值;且目标函数和适值 间的关系也多种多样。如求最大值对应点时,目标函数和 适值变化方向相同;求最小值对应点时,变化方向恰好相 反;目标函数值越小的点,适值越大。因此,存在目标函 数值向适值映射的问题。
5.遗传算法

遗传算法(GeneticAlgorithm)PPT课件

遗传算法(GeneticAlgorithm)PPT课件

2021
14
选择(Selection)
设种群的规模为N xi是i为种群中第i个染色体
1/6 = 17%
A BC
3/6 = 50% 2/6 = 33%
染色体xi被选概率
ps (xi )
F (xi )
N
F(xj)
j 1
fitness(A) = 3 fitness(B) = 1 fitness(C) = 2
假如交叉概率Pc =50%,则交配池中50%的染色体(一半染色体) 将进行交叉操作,余下的50%的染色体进行选择(复制)操作。
GA利用选择和交叉操作可以产生具有更高平均适应值 和更好染色体的群体
2021/3/21
2021
22
变异(Mutation)
➢ 以 编变码异时概,变率P异m改的变基染因色由体0变的成某1一,个或基者因由,1当变以成二0。进制 ➢ 变 间,异平概均率约Pm 1一-2般% 介于1/种群规模与1/染色体长度之
编码(Coding)
10010001
10010010
010001001 011101001
解码(Decoding)
2021/3/21
2021
13
选择(Selection)
➢ 选择(复制)操作把当前种群的染色体按与适应值成正比 例的概率复制到新的种群中
➢ 主要思想: 适应值较高的染色体体有较大的选择(复制) 机会
➢交叉(crossover):
将群体P(t)内的各个个体随机搭配成对,对每一个
个 rat体e),交以换某它个们概之率间P的c (部称分为染交色叉体概。率,crossvoer
➢变异(mutation):
变对异群概体率P,(tm)u中ta的ti每on一r个at个e)体改,变以某某一一个概或率一P些m(基称因为座

遗传算法——遗传算法PPT课件

遗传算法——遗传算法PPT课件
第25页/共81页
(3)遗传算子:基本遗传算法使用下述三种遗传算 子: ① 选择运算:使用比例选择算子; ② 交叉运算:使用单点交叉算子; ③ 变异运算:使用基本位变异算子或均匀变异算子。
第26页/共81页
(4)基本遗传算法的运行参数 有下述4个运行参数需要提前设定:
M:群体大小,即群体中所含个体的数量,一般取为 20~100; G:遗传算法的终止进化代数,一般取为100~500; Pc:交叉概率,一般取为0.4~0.99;
产调度问题进行精确求解。在现实生产中多采用一些 经验进行调度。遗传算法是解决复杂调度问题的有效 工具,在单件生产车间调度、流水线生产车间调度、 生产规划、任务分配等方面遗传算法都得到了有效的 应用。
第19页/共81页
(4)自动控制。 在自动控制领域中有很多与优化相关的问题需要求
解,遗传算法已经在其中得到了初步的应用。例如, 利用遗传算法进行控制器参数的优化、基于遗传算法 的模糊控制规则的学习、基于遗传算法的参数辨识、 基于遗传算法的神经网络结构的优化和权值学习等。
第22页/共81页
(9)机器学习 基于遗传算法的机器学习在很多领域都得到了应
用。例如,采用遗传算法实现模糊控制规则的优化,可 以改进模糊系统的性能;遗传算法可用于神经网络连接 权的调整和结构的优化;采用遗传算法设计的分类器系 统可用于学习式多机器人路径规划。
第23页/共81页
10.4 遗传算法的优化设计
(2)变异:亲代和子代之间以及子代的不同个体之间 的差异,称为变异。变异是随机发生的,变异的选择 和积累是生命多样性的根源。
(3)生存斗争和适者生存:具有适应性变异的个体被 保留下来,不具有适应性变异的个体被淘汰,通过一 代代的生存环境的选择作用,性状逐渐逐渐与祖先有 所不同,演变为新的物种。

《遗传算法简介》幻灯片PPT

《遗传算法简介》幻灯片PPT
〔i〕计算群体中每个个体的适应值; 〔ii〕应用复制、杂交和变异算子产生下一代 群体。
3.把在任一代中出现地最好的个体串指定为遗传 算法的执行结果,这个结果可以表示问题的一个解
GEN=0 产生初始群体
结束

是否满足停止准则
指定结果
否 计算每个个体的适应值
以概率选择遗传算子
pr
pc
pm
i=0
选择一个个体 选择两个个体 选择一个个体
染色体是由基因及其有规律的排列构成,遗传进 化过程发生在染色体上。
生物的繁衍由基因的复制过程完成。 通过同源染色体之间的穿插或染色体的变异会产
生新物种,使生物呈现新性状。 对环境适应性好的基因比适应性差的基因有更多
时机遗传到下一代。
遗传算法的根本概念
由于遗传算法是由进化论和遗传学机理而产生的直接搜索优 化方法,故而在这个算法中要用到各种进化和遗传学的概 念。这些概念如下:
Microstrategy

数据挖掘 (正在流
行)
“下个月波士顿的 销售会怎么样?为 什么?”
目前的数据库系统可以高效地实现数据的录入、查询、 统计等功能,但无法发现数据中存在的关系和规那么, 无法根据现有的数据预测未来的开展趋势。缺乏挖掘 数据背后隐藏的知识的手段,导致了“数据爆炸但知 识贫乏〞的现象。
数据挖掘的概念
数据挖掘就是从大量的数据中挖掘出有用的信 息。
它是根据人们的特定要求,从浩如烟海的数据 中找出所需的信息来,供人们的特定需求使用。
应用遗传算法求解问题需完成四个主要步骤:
1.确定表示方案; 2.确定适应值度量; 3.确定控制算法的参数和变量; 4.确定指定结果的方法和停顿运行的准那么。
根本遗传算法的构成要素
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

程序运行追踪结果
14 15 16 17 18 19 20
13
2.7739 2.6521 2.7844 2.5158 2.7768 2.7907 2.8080
3.8318 3.8274 3.8274 3.8274 3.8285 3.8277 3.8379
.
程序运行追踪结果
21
3.0947
22
3.1525
%遗传算法性能跟踪
trace(1, gen)=max(ObjV); %每一代最优解
trace(2, gen)=sum(ObjV)/length(ObjV);
9 end
.
具有性能跟踪和图像输出功能的程序代码
%最优个体的十进制转换
variable=bs2rv(Chrom, FieldD);
hold on, grid on;
%初始种群的十进制转换
ObjV=variable.*sin(10*pi*variable)+2.0; %计算初始种群目标函数值
while gen<MAXGEN+1
FitnV=ranking(-ObjV);
%分配适应度值
SelCh=select('sus', Chrom, FitnV, GGAP); %选择
23
2.9147
24
2.9144
25
3.0259
3.8489 3.8496 3.8496 3.8493 3.8493
经过25次迭代后最优解及种群均值的变化如下图:
14
.
15
.
16
.
例题中用到的一些绘图函数说明
1、绘制函数图像函数—fplot 调用格式:
FPLOT(FUN,LIMS) FPLOT(FUN,LIMS,TOL) FPLOT(FUN,LIMS,N) FPLOT(FUN,LIMS,'LineSpec') 参数说明: LIMS = [XMIN XMAX]或 LIMS = [XMIN XMAX YMIN YMAX]——给出变量 范围
%定义遗传算法参数
NIND=40;
%群体中个体数目
MAXGEN=25; %最大遗传代数
PRECI=20;
%变量的二进制位数
4
.
具有性能跟踪和图像输出功能的程序代码
%代沟 GGAP=0.9; %寻优结果的初始值 trace=zeros(2, MAXGEN); %建立区域描述器 FieldD=[20;-1;2;1;0;1;1]; %生成初始种群 Chrom=crtbp(NIND, PRECI);
plot(variable,ObjV,'b*');
figure(2);
plot(trace(1,:));
hold on;
plot(trace(2,:),'-.');grid off
legend('解的变化','种群均值的变化')
10
.
程序运行追踪结果:
代序
1 2 3 4 5
11
寻优结果
自变量
函数值
%分配适应度值
FitnV=ranking(-ObjV);
%选择
SelCh=select('sus', Chrom, FitnV, GGAP);
%重组
SelCh=recombin('xovsp', SelCh, 0.7);
%变异
SelCh=mut(SelCh);
7
.
具有性能跟踪和图像输出功能的程序代码
NIND=40;
%定义个体数目
MAXGEN=25;
%定义最大遗传代数
PRECI=20;
%编码长度
GGAP=0.9;
%代沟
FieldD=[20;-1;2;1;0;1;1];
%区域描述器
Chrom=crtbp(NIND, PRECI);
%产生初始种群
gen=0;
%代计数器
variable=bs2rv(Chrom, FieldD);
%子代个体的十进制转换
variable=bs2rv(SelCh, FieldD); %计算子代的目标函数值
ObjVSel=variable.*sin(10*pi*variable)+2.0; %重插入子代的新种群
[Chrom ObjV]=reins(Chrom, SelCh, 1, 1, ObjV, ObjVSel);
[Chrom ObjV]=reins(Chrom,SelCh,1,1,ObjV,ObjVSel); %重插入子代到种群
Y=max(ObjV)
%当前种群最优解
gen=gen+1;
%代计数器增加
end
.
3
具有性能跟踪和图像输出功能的程序代码
figure(1);
%画出函数曲线
fplot('variable.*sin(10*pi*variable)+2.0',[-1,2]);
Matlab遗传算法工具箱应用举例
1
.
§5.1 简单一元函数优化实例
例 1 利用遗传算法计算下面函数的最大值
f ( x) x sin(10 * x) 2.0 x [1,2]
选择二进制编码,种群中个体数目为 40,每个 种群的长度为 20,使用代沟为 0.9,最大遗传代数 为 25
2
.
程序简化代码如下:
SelCh=recombin('xovsp', SelCh, 0.7);
%重组
SelCh=mut(SelCh);
%变异
variable=bs2rv(SelCh, FieldD);%子代Fra bibliotek体的十进制转换
ObjVSel=variable.*sin(10*pi*variable)+2.0; %计算子代的目标函数值
5
.
具有性能跟踪和图像输出功能的程序代码
%代计数器 gen=0; %计算初始种群的十进制转换 variable=bs2rv(Chrom, FieldD); %计算目标函数值 ObjV=variable.*sin(10*pi*variable)+2.0;
6
.
具有性能跟踪和图像输出功能的程序代码
while gen<MAXGEN
variable=bs2rv(Chrom, FieldD);
8
.
具有性能跟踪和图像输出功能的程序代码
%代计数器增加
gen=gen+1;
%输出最优解及其序号,并在目标函数图像
%中标出,Y为最优解,I为种群的序号
[Y, I]=max(ObjV);hold on;
plot(variable(I), Y, 'bo');
2.0292 2.2104 2.3577 2.4881 2.6401
3.8423 3.7819 3.8063 3.815 3.8072
.
程序运行追踪结果
6
7
8
9
10
11
12
12
13
2.6133 2.8658 2.9400 2.9120 2.8677 2.6973 2.7963 2.7317
3.7555 3.8073 3.8043 3.8321 3.8321 3.8320 3.8326 3.83.18
相关文档
最新文档