第12讲智能优化算法简介
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
应于较低的交叉概率和变异概率,使该个体得以保护进
入下一代;而低于平均适应值的个体,相对于较高的交
叉概率和变异概率,使该个体被淘汰。因此,自适应遗
传算法能过提供相对某个解的最佳交叉概率和变异概率。
自适应遗传算法(7.1.5)
一、 自适应遗传算法的原理
•
Srinvivas等提出一种自适应遗传算法,交叉概率和
智能优化算法简介
二、智能优化算法的产生与发展
1 最优化方法的新的需求 (1)对目标函数,约束函数的要求更为宽松 (2)计算效率比理论上的最优性更重要 (3)算法随时终止都能得到较好的解 (4)对优化模型中数据质量要求更加宽松。 2 智能算法及代表人物 1975年,Holland提出遗传算法(Genetic Algorithms) 1977年,Glover提出禁忌算法(Tabu Search) 1983年,Kirkpatrick提出模拟退火算法 (Simulated Annealing) 90年代初,Dorigo提出蚁群算法 (Ant Colony Optimization) 1995年,Kennedy,Eberhart提出的粒子群算法(Particle Swarm) 1999年,Linhares 提出的捕食搜索(Predatory Search)
一、 大变异遗传算法的原理
• 当某一代的最大适应度Fmax 与平均适应度F avg 满足
•
Fmax Favg
• 其中 0.51,被称为密集因子,表征个体集中的程度。
• 大变异操作要求有两个参数是: 密集因子和大变异概率。
• 密集因子用来决定大变异操作在整个优化过程中所占的比重,其数值越 接近0.5时大变异操作被调用的越频繁。
基本遗传算法(7.1.3)
2 遗传算法的基本操作举例
• (2)遗传运算
•
交叉运算
•
以单点交叉为例,任意挑选经过选择操作后种群中两个个体作为交叉对象,
即两个父个体经过染色体交换重组产生两个子个体,如下图,随机产生一个交叉
点位置,父个体l和父个体2在交叉点位置之有的部分基因码互换,形成子个体1和
子个体2。类似地完成其他个体的交叉操作
遗传算法简介
三、遗传算法特点
1 特点 (1)遗传算法以决策变量的编码作为运算对象。 (2)遗传算法直接以适应度作为搜索信息,无需导数等其它辅助信息。 (3)遗传算法使用多个点的搜索信息,具有隐含并行性。 (4)遗传算法使用概率搜索技术,而非确定性规则。 2 应用领域 (1)函数优化 (2)组合优化 (3)生产调度 (4)自动控制
• 4 按照下式(I)确定交叉概率,并通过交叉生成新个体;
P m k1 f(m fm a x a fx afv)g k2
ffavg (I) ffavg
Pc k3f(m fm a xa x fafv')g k4
f'favg (II) f'favg
5 按照式(II)确定变异概率,并通过变异生成新个体;
佳个体及其代表的最优解,并结束计算,否则转3;
•
3依据适应度选择再生个体,适应的高的个体被选中的概率高,适
应的低的个体可能被淘汰;
•
4对选择出再生个体按一定的交叉概率和交叉方法生成新个体;
•
5如果当代最大适应度与平均适应度满足时,进行大变异操作,否
则进行普通变异操作。
•
6 由交叉和变异产生新一代的种群,返回2。
•
6由交叉和变异产生新一代的种群,返回2。.
遗传算法的软件实现
一、基本遗传算法的Matlab实现
1 计算函数的格式
函数:myGA。
•
功能:用基本遗传算法解一维无约束极值问题
•
调用格式:[xv,fv]=myGA(fitness,a,b,NP,NG,Pc,Pm,eps)
•
其中:fitness:待优化的目标函数;
• 大变异概率越大,含大变异操作的遗传算法的稳定性就越好,但是,这 是以牺牲收敛速度为代价的,当其数值等于0.5时,大变异操作就近似
为随机搜索。
大变异遗传算法(7.1.4)
二、 大变异遗传算法的步骤
•
1 随机产生初始种群,种群个体数目事先给定,每个个体表示为染
色体的基因编码;
•
2计算个体的适应度,并判断是否符合优化准则,若符合,输出最
•
在命令框中输入调用遗传算法函数
•
>> [xv,fv]=myGA(@fitness,0,30,50,100,0.9,0.04,0.01)所得结果
•
xv= 8.8242
•
fv=4.0991e+003
•
该问题的精确最大值点为xv=10,最大值为fv=4100。
遗传算法的软件计算
二、大变异遗传算法的Matlab实现
f'favg f'favg
自适应遗传算法(7.1.5)
二、 自适应遗传算法的步骤
•
1 随机产生初始种群,种群个体数目事先给定,每个个体表示为染色体的基因编码;
•
2 计算个体的适应度,并判断是否符合优化准则,若符合,输出最佳个体及其代表的
最优解,并结束计算,否则转3;
• 3 依据适应度选择再生个体,适应的高的个体被选中的概率高,适应的低的个体可能 被淘汰;
•
●M:群体大小,即群体中所合个体的数量,一般取为20—1000。
•
●T:遗传运算的终止进化代数,一般取为l00一500。
•
●Pc: 交叉概率,—般取为0.4一0.99。
•
●Pm: 变异概率,一般取为0.0001一0.1.
基本遗传算法(7.1.3)
二 、基本遗传算法描述
1 基本遗传算法的形式化定义 • 基本遗传算法可定义为一个8元组,这些参数合理的取值大小或取值范围。
基本遗传算法(7.1.3)
二 、基本遗传算法描述
2 遗传算法的基本操作举例
•
(1)产生 初始种群 括号中的数值为目标函数值
基本遗传算法(7.1.3)
2 遗传算法的基本操作举例
• (2)遗传运算
•
选择运算(轮盘赌)
基本遗传算法(7.1.3)
2 遗传算法的基本操作举例
• (2)遗传运算
•
选择运算(轮盘赌)由计算机产生随机数来实现
f(x ) x 3 6 x 2 0 9x 0 10 ,0 0 x 0 30
• 种群个体数目50,最大进化代数100,离散精度0.01,
• 交叉概率0.9,变异概率0.04。
• 解:首先建立目标函数文件fitness.m
•Hale Waihona Puke Baidu
function F=fitness(x)
•
F=x^3-60*x^2+900*x+100;
1 计算函数格式
• 函数:GMGA。
• 功能:用大变异遗传算法解一维无约束极值问题
•
调用格式:[xv,fv]=GMGA(@fitness,a,b,NP,NG,Pc,Pm, alpha,Pbm, eps)
•
其中:fitness:待优化的目标函数;a:自变量下界;
运算、经多代繁殖,获得适应值最好的个体 作为问题的最优解。
遗传算法简介
二、遗传算法技术问题(7.1.2)
• 遗传算法的主要问题是算法如何实现的技术问题。归结起来有如下一些因素: 1 解的编码和解码 解的编码是遗传算法的最基础工作,只有在编码之后才可能有其他的计算。算法的 最后一 个工作则是通过解码得到问题的一个解。 2 初始群体的选取 在计算开始时,需要产生一些待优化问题的可能解,称为初始群体,初始群体可用 随机 方式产生,也可用用其他的一下启发式算法或经验选择,主要针对实际问题而定。 3 群体规模的确定
自适应遗传算法(7.1.5)
一、 自适应遗传算法的原理
•
Srinvivas等提出一种自适应遗传算法,交叉概率和
变异概率能够随适应度自动改变。当种群个体适应度趋 于一致或者趋于局部最优时,使交叉概率和变异概率二 者增加、而当群体适应度比较分散时,使交叉概率和变 异概率减少。
•
同时,对于适应值高于群体平均适应值的个体,对
•
a:自变量下界;b:自变量上界;
•
NP:种群大小;NG:最大进化代数;
•
Pc:交叉概率;Pm:变异概率;
•
eps::自变量离散精度;
•
xv:目标函数取最大值时的自变量取值;
•
fv:目标函数的最大值。
遗传算法的软件计算
一、基本遗传算法的Matlab实现
2 举例 • 例7-1 用基本遗传算法计算下面函数的最大值
智能优化算法简介
三、如何学习研究智能优化算法
1 应用智能优化方法解决各类问题是重点 2 智能算法的改进有很大的空间 3 多种算法结合是一种很好的途径 4 不提倡刻意追求理论成果 5 算法性能的测试是一项要下真功夫的工作 6 创造出新算法
遗传算法简介
一、遗传算法原理( 7.1.1) 遗传算法是根据问题的目标函数构造的 一个适值函数,对一个由多个解(每个解对 应一个染色体)构成的种群进行评估、遗传
基本遗传算法(7.1.3)
2 遗传算法的基本操作举例
• (2)遗传运算
•
变异算子
•
如图所示采用翻转,对于个体1001110100产生变异,
• 以小概率决定第4个遗传因子翻转,即将1换为0。
遗传算法的进化过程
大变异遗传算法(7.1.4)
一、 大变异遗传原理
•
在遗传算法中,变异操作可以使算法避免“早熟”。
•假设产生随机数序列为 •0.070221,0.545929,0.784567,0.44693,0.507893,0.291198, •0.71634,0.27290l,0.37l 435,0.854641。将该随机序列与计算 •获得的累积概率比较,则依次序号为1,8,9,6,7,5,8,4,6, •10个体被选中。显然适应度高的个体被选中的概率大。而且可能被 •选中;而适应度低的个体则很有可能破淘汰。在第一次生存竞争考 •验中,序号为2的个体(0101111001)和3的个体(0000000101)被淘汰, •代之以适应度较高的个体8和6。
但是,为了保证算法的稳定性,变异操作的变异概率通常
取值很小,所以算法一旦出现“早熟”,单靠传统的变异
操作需很多代才能得到不同于其他个体的新个体。
•
大变异操作的思路是:当某代中所有个体集中在一起
时,我们以一个远大于通常的变异概率的概率进行变异操
作,它能够产生多个新个体,从而使得种群脱离”早熟”。
大变异遗传算法(7.1.4)
(5) 机器人学
(6)图象处理
基本遗传算法(7.1.3)
一、 基本遗传算法的构成要素
• 1 染色体编码方法。
• 2 个体适应度评价。
• 3 遗传算子。基本遗传算法使用下述三种遗传算子
•
●选择运算使用比例选择算子;
•
●交叉运算使用单点交叉算子;
•
●变异运算使用基本位变异算子或均匀变异算子。
• 4 基本遗传算法的运行参数。基本遗传算法有下述4个运行参数需要 提前设定:
变异概率能够随适应度自动改变。当种群个体适应度趋 于一致或者趋于局部最优时,使交叉概率和变异概率二 者增加、而当群体适应度比较分散时,使交叉概率和变 异概率减少。
•
同时,对于适应值高于群体平均适应值的个体,对
应于较低的交叉概率和变异概率,使该个体得以保护进
入下一代;而低于平均适应值的个体,相对于较高的交
第12讲智能优化算法 简介
智能优化算法简介
一、 传统优化算法的步骤及局限性 1 步骤: (1)选择一个初始解, (2)向改进方向移动判断停止准则是否满足,若 满足停止,否则转下一步。 (3)向改进方向移动,得新的解,转回第2步。 2 局限性: (1)单点运算方式限制了计算效率的提高 (2)向改进方向移动限制了跳出局部最优的能力 (3)停止条件仅是局部最优的条件 (4)对目标函数,约束条件的要求限制了算法的应用
叉概率和变异概率,使该个体被淘汰。因此,自适应遗
传算法能过提供相对某个解的最佳交叉概率和变异概率。
自适应遗传算法(7.1.5)
一、 自适应遗传算法的原理
• 自适应遗传算法中交叉概率和变异概率的计算公式如下:
Pm k1f(mfamxaxfafvg) k2
f favg f favg
Pc k3f(mfamxaxfafvg') k4
, 常取个体编码长度数的一个线性倍数。当多个进化代没有改变解的性能,可扩大群体的规 模。若解的改进已经非常好时,就可以减少群体规模,使计算速度加快。 4 适应函数的确定 简单适应函数 目标函数的简单变形,构造简单,与目标函数直接相关,缺点是可能使算 法在迭代过程中出现收敛到一些目标值近似的不同染色体而难以区别。 加速适应函数 有非线性加速适应函数,线性加速适应函数等。它们的思想是希望开始时 每一个状态有较大的选取性,随着计算的步步进行,逐渐拉开目标值不同对应状态的档次。 排序适应函数 为了避开对目标函数进行线性、非线性等加速适应函数的早熟可能,使每 一代当前最好的解以最大的概率遗传。