当前位置:文档之家› 智能控制(第三版)chap10-智能算法及其应用2

智能控制(第三版)chap10-智能算法及其应用2

一点交叉示意图
7
(3)变异(Mutation Operator) • 模拟基因突变现象,以小概率随机改变遗传基因
的值。 • 在染色体以二进制编码的系统中,它随机地将染
色体的某一个基因位由1变为0,或由0变为1。 • 优点:可使进化过程逃离局部最优解。
1011 0011 1011 1011
8
10.2 遗传算法的特点
13
(2)个体适应度评价:每个个体的适应度代表了其遗 传到下一代的概率。为正确计算这个概率,要求所有个 体的适应度必须为正数或零。因此,必须先确定由目标 函数值J到个体适应度f之间的转换规则。
14
(3)遗传算子:三种基本遗传算子包括 ① 选择运算:使用比例选择算子; ② 交叉运算:使用单点交叉算子; ③ 变异运算:使用基本位变异算子或均匀变异算子。
(3)确定编码方法:用2个实数分别表示两个 决策变量x1, x2,分别将x1, x2的定义域离散化 为从离散点-2.048到离散点2.048的Size个实 数。
35
(4)确定个体评价方法: 个体的适应度直接取为对应的目标函数值,
即 F(x) f (x1, x2 )
选个体适应度的倒数作为目标函数
J(x) 1 F(x)
➢ 将x1, x2的定义域离散化为1023个均等的区域,共 获得1024个离散点。
➢ 离散点分别与取值区间的二进制编码相对应。
0000000000(0) -2.048
1111111111(1023) 2.048
24
➢ 将x1, x2的编码串接在一起,得到20位长的参数编码。 这就是该函数优化问题的染色体编码。
第i+1个个体与第i个个体进行交叉
TempE(i,:)=alfa*E(i+1,:)+(1-alfa)*E(i,:); %交叉操作
(1)对参数编码进行操作,而非对参数本身。因此, 在参数优化过程中可借鉴生物学中染色体和基因等概 念,模仿生物进化等机理; (2)同时使用多个搜索点的搜索信息。传统方法往往 是从解空间的单个初始点开始最优解的迭代搜索过程, 效率不高,有时甚至会陷入局部最优解而停滞不前。 以群体为基础进行搜索,效率高。
37
上述六个步骤构成了用于求函数Rosenbrock极大值 的实数编码遗传算法,仿真程序见chap10_2.m。
%************ Step 3 : 交叉操作 ************
Pc=0.90; %交叉概率
for i=1:2:(Size-1)
temp=rand;
if Pc>temp alfa=rand;
遗传算法是以达尔文的自然选择学说为基础,包括 以下三个方面:
2
(1)遗传:亲代把生物信息交给子代,子代总是和亲 代具有相同或相似的性状。生物有了这个特征,物种 才能稳定存在。
(2)变异:亲代和子代之间以及子代的不同个体之间 的差异,称为变异。变异是随机发生的,变异的选择 和积累是生命多样性的根源。
构造遗传算法解决优化问题的步骤: S1:确定决策变量及各种约束条件,即确定个体的表
现形式和问题的解空间; S2:建立优化模型,即确定目标函数的描述形式或量
化方法; S3:确定表示可行解的染色体编码方法,即确定个体
的基因形式及遗传算法的搜索空间;
17
S4:确定个体适应度的量化评价方法,即确定由目标 函数值J(x)到个体适应度函数F(x)的转换规则;
-4
x 10 3.5 3.4 3.3 3.2 3.1
3 2.9 2.8 2.7 2.6
0
20
40
60
Times
80
100
Best F
3900 3800 3700 3600 3500 3400 3300 3200 3100 3000 2900
0
20
40
60
80
100
times
遗传算法的优化过程是目标函数J和适应度函数F 的变化过程。
• 因此,采用寻优算法求极大值时,需要避免陷 入局部最优解。
21
函数f(x1, x2)的三维图
22
10.5.1 二进制编码遗传算法求函数极大值
采用遗传算法求解该问题的构造过程: (1)确定决策变量和约束条件; (2)建立优化模型; (3)确定编码方法。
23
➢ 用长度为10位的二进制编码来分别表示两个决策 变量x1, x2。
由仿真结果可知,随着进化过程的进行,群体中 适应度较低的一些个体被逐渐淘汰掉,而适应度较高 的一些个体会越来越多,并且它们都集中在所求问题 的最优点附近,从而搜索到问题的最优解。
34
10.5.2 实数编码遗传算法求函数极大值
求解该问题遗传算法的构造过程:
(1)确定决策变量和约束条件;
(2)建立优化模型;
5
(2)交叉(Crossover Operator) • 通过两个染色体的交换组合产生新的优良个体。 • 任选两个染色体,随机选择一点或多点交换点位置;
交换双亲染色体在交换点右边的部分,即可得到两 个新的染色体数字串。 • 有一点交叉、多点交叉等。 • 一点交叉:染色体断点仅有一处,例:
6
A: 101100 1110 101100 0101 B: 001010 0101 001010 1110
15
(4)基本遗传算法的运行参数 有下述4个运行参数需要提前设定:
M:群体大小,即群体中所含个体的数量,一般取为 20~100; G:遗传算法的终止进化代数,一般取为100~500; Pc:交叉概率,一般取为0.4~0.99;
Pm:变异概率,一般取为0.0001~0.1。
16
10.4.2 遗传算法的应用步骤
12
10.4 遗传算法的设计
10.4.1 遗传算法的构成要素
(1)染色体编码方法 基本遗传算法使用固定长度的二进制符号来表示群
体中的个体,其等位基因是由二值符号集{0, 1}所组成。 初始个体基因值可用均匀分布的随机值生成,如
x 10 0111 0010 0010 1101
表示一个个体,该个体的染色体长度是18。
书中程序出错!
29
%Generic Algorithm for function f(x1,x2) optimum clear all; close all;
%Parameters Size=80; %种群大小 G=100; %遗传代数 CodeL=10; %每个变量的染色体长度(2进制编码) umax=2.048; %两个变量的取值范围是相同的 umin=-2.048;
• 周而复始,使群体中个体适应度不断提高,直到 满足一定的条件。
• 遗传算法可并行处理,得到全局最优解。
4
遗传算法的基本操作为: (1)复制(Reproduction Operator) • 从旧种群中选择生命力强的个体产生新种群。 • 通过随机方法实现。若设定复制概率阈值为40%,
当产生的随机数在0.4~1之间时,该个体被复制到子 代,否则该个体被淘汰。
9
(3)遗传算法直接以目标函数作为搜索信息,无需目 标函数的导数值等其他一些辅助信息。适用于目标函 数无法求导数或导数不存在的优化问题,或者组合优 化问题等。 (4)遗传算法使用概率搜索技术。各种操作:选择、 交叉、变异等都是以概率的方式进行的。 (5)遗传算法在解空间进行高效启发式搜索,而非盲 目地穷举或完全随机搜索;
第10章 智能算法及其应用
1. 随着优化理论的发展,一些智能算法成为解决传 统系统辨识问题的新方法,如遗传算法、 蚁群 算法、 粒子群算法、差分进化算法等。
2. 都是通过模拟揭示自然现象来实现的。 3. 本章介绍遗传算法的基本概念和方法。
10.1 遗传算法的基本原理
遗传算法简称GA(Genetic Algorithms)是1962年 由美国Holland教授提出的模拟自然界生物进化机制 的一种并行随机搜索最优化方法。
10
(6)遗传算法对于待寻优的函数基本无限制,它既不 要求函数连续,也不要求函数可微,既可以是数学解 析式所表示的显函数,又可以是映射矩阵甚至是神经 网络的隐函数,因而应用范围较广; (7)遗传算法具有并行计算的特点,因而可通过大规 模并行计算来提高计算速度,适合大规模复杂问题的 优化。
11
10.3 遗传算法的发展及应用 自学。
(3)生存斗争和适者生存:具有适应性变异的个体被 保留下来,不具有适应性变异的个体被淘汰,通过一 代代的生存环境的选择作用,性状逐渐与祖先有所不 同,演变为新的物种。
3
• 遗传算法引入“优胜劣汰,适者生存”的生物进 化机制,按所选择的适应度函数对个体进行筛选。
• 适应度高的个体被保留下来,组成新的群体,新 的群体既继承了上一代的信息,又优于上一代。
%初始种群的染色体 E=round(rand(Size, 2*CodeL));
for k=1:1:G time(k)=k;
for s=1:1:Size m=E(s,:); y1=0; y2=0;
m1=m(1:1:CodeL); %取第1个变量x1的染色体 for i=1:1:CodeL
y1=y1+m1(i)*2^(i-1); %求对应的十进制数 end x1=(umax-umin)*y1/1023+umin; %解码,求变量x1的值
F(x) f (x1, x2 )
选择个体适应度的倒数作为目标函数 min J ( x) 1 F(x)
27
(6)设计遗传算子:选择运算使用比例选择算子,交 叉运算使用单点交叉算子,变异运算使用基本位变异 算子。 (7)确定遗传算法的运行参数:群体大小M=80,终 止 进 化 代 数 G=100 , 交 叉 概 率 Pc=0.60 , 变 异 概 率 Pm=0.10。
为:
xi
4.096 yi 2.048 1023
相关主题