(最新)智能优化算法简介课件.ppt
《(最新)智能优化算法简介课件.ppt》由会员分享,可在线阅读,更多相关《(最新)智能优化算法简介课件.ppt(55页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 智能优化算法智能优化算法简介智能优化算法简介遗传算法简介遗传算法简介基本遗传算法基本遗传算法改进的遗传算法改进的遗传算法遗传算法软件计算遗传算法软件计算7.1遗传算法1智能优化算法简介一、一、 传统优化算法的步骤及局限性传统优化算法的步骤及局限性 1 步骤步骤: (1)选择一个初始解, (2)向改进方向移动判断停止准则是否满足,若 满足停止,否则转下一步。 (3)向改进方向移动,得新的解,转回第2步。 2 局限性局限性: (1)单点运算方式限制了计算效率的提高 (2)向改进方向移动限制了跳出局部最优的能力 (3)停止条件仅是局部最优的条件 (4)对目标函数,约束条件的要求限制了算法的应用2智
2、能优化算法简介 二、智能优化算法的产生与发展二、智能优化算法的产生与发展 1 1 最优化方法的新的需求最优化方法的新的需求 (1)对目标函数,约束函数的要求更为宽松 (2)计算效率比理论上的最优性更重要 (3)算法随时终止都能得到较好的解 (4)对优化模型中数据质量要求更加宽松。 2 2 智能算法及代表人物智能算法及代表人物 1975年,Holland提出遗传算法(Genetic Algorithms) 1977年,Glover提出禁忌算法(Tabu Search) 1983年,Kirkpatrick提出模拟退火算法 (Simulated Annealing) 90年代初,Dorigo提出蚁群
3、算法 (Ant Colony Optimization) 1995年,Kennedy,Eberhart提出的粒子群算法(Particle Swarm) 1999年,Linhares 提出的捕食搜索(Predatory Search) 3智能优化算法简介三、如何学习研究智能优化算法三、如何学习研究智能优化算法 1 应用智能优化方法解决各类问题是重点 2 智能算法的改进有很大的空间 3 多种算法结合是一种很好的途径 4 不提倡刻意追求理论成果 5 算法性能的测试是一项要下真功夫的工作 6 创造出新算法 4遗传算法简介 一、遗传算法原理(一、遗传算法原理( 7.1.1) 遗传算法是根据问题的目标函数
4、构造的 一个适值函数,对一个由多个解(每个解对 应一个染色体)构成的种群进行评估、遗传 运算、经多代繁殖,获得适应值最好的个体 作为问题的最优解。 5遗传算法简介 二、遗传算法技术问题(二、遗传算法技术问题(7.1.2)遗传算法的主要问题是算法如何实现的技术问题。归结起来有如下一些因素遗传算法的主要问题是算法如何实现的技术问题。归结起来有如下一些因素: 1 解的编码和解码解的编码和解码 解的编码是遗传算法的最基础工作,只有在编码之后才可能有其他的计算。算法的 最后一个工作则是通过解码得到问题的一个解。 2 初始群体的选取初始群体的选取 在计算开始时,需要产生一些待优化问题的可能解,称为初始群体
5、,初始群体可用 随机方式产生,也可用用其他的一下启发式算法或经验选择,主要针对实际问题而定。 3 群体规模的确定群体规模的确定, 常取个体编码长度数的一个线性倍数。当多个进化代没有改变解的性能,可扩大群体的规模。若解的改进已经非常好时,就可以减少群体规模,使计算速度加快。 4 适应函数的确定适应函数的确定 简单适应函数简单适应函数 目标函数的简单变形,构造简单,与目标函数直接相关,缺点是可能使算法在迭代过程中出现收敛到一些目标值近似的不同染色体而难以区别。 加速适应函数加速适应函数 有非线性加速适应函数,线性加速适应函数等。它们的思想是希望开始时每一个状态有较大的选取性,随着计算的步步进行,逐
6、渐拉开目标值不同对应状态的档次。 排序适应函数排序适应函数 为了避开对目标函数进行线性、非线性等加速适应函数的早熟可能,使每一代当前最好的解以最大的概率遗传。6遗传算法简介三、遗传算法特点三、遗传算法特点 1 1 特点特点 (1)遗传算法以决策变量的编码作为运算对象。 (2)遗传算法直接以适应度作为搜索信息,无需导数等其它辅助信息。 (3)遗传算法使用多个点的搜索信息,具有隐含并行性。 (4)遗传算法使用概率搜索技术,而非确定性规则。 2 2 应用领域应用领域 (1)函数优化 (2)组合优化 (3)生产调度 (4)自动控制 (5) 机器人学 (6)图象处理 7基本遗传算法(7.1.3) 一、一
7、、 基本遗传算法的构成要素基本遗传算法的构成要素 1 染色体编码方法。 2 个体适应度评价。 3 遗传算子。基本遗传算法使用下述三种遗传算子 选择运算使用比例选择算子; 交叉运算使用单点交叉算子; 变异运算使用基本位变异算子或均匀变异算子。 4 基本遗传算法的运行参数。基本遗传算法有下述4个运行参数需要提前设定: M:群体大小,即群体中所合个体的数量,一般取为201000。 T:遗传运算的终止进化代数,一般取为l00一500。 Pc: 交叉概率,般取为0.4一0.99。 Pm: 变异概率,一般取为0.0001一0.1.8基本遗传算法(7.1.3)二二 、基本遗传算法描述、基本遗传算法描述 1
8、基本遗传算法的形式化定义基本遗传算法的形式化定义基本遗传算法可定义为一个8元组,这些参数合理的取值大小或取值范围。9基本遗传算法(7.1.3)二二 、基本遗传算法描述、基本遗传算法描述 2 遗传算法的基本操作举例遗传算法的基本操作举例 (1)产生 初始种群 括号中的数值为目标函数值10基本遗传算法(7.1.3) 2 遗传算法的基本操作举例遗传算法的基本操作举例(2)遗传运算 选择运算(轮盘赌) 11基本遗传算法(7.1.3) 2 遗传算法的基本操作举例遗传算法的基本操作举例(2)遗传运算 选择运算(轮盘赌)由计算机产生随机数来实现 假设产生随机数序列为0.070221,0.545929,0.7
9、84567,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。12基本遗传算法(7.1.3) 2 遗传算法的基本操作举例遗传算法的基本操作举例(2)遗传运算 交叉运算 以单点交叉为例,任意挑选经过选择操作后
10、种群中两个个体作为交叉对象,即两个父个体经过染色体交换重组产生两个子个体,如下图,随机产生一个交叉点位置,父个体l和父个体2在交叉点位置之有的部分基因码互换,形成子个体1和子个体2。类似地完成其他个体的交叉操作13基本遗传算法(7.1.3) 2 遗传算法的基本操作举例遗传算法的基本操作举例(2)遗传运算 变异算子 如图所示采用翻转,对于个体1001110100产生变异, 以小概率决定第4个遗传因子翻转,即将1换为0。14遗传算法的进化过程遗传算法的进化过程15大变异遗传算法(7.1.4) 一、一、 大变异遗传原理大变异遗传原理 在遗传算法中,变异操作可以使算法避免“早熟”。但是,为了保证算法的
11、稳定性,变异操作的变异概率通常取值很小,所以算法一旦出现“早熟”,单靠传统的变异操作需很多代才能得到不同于其他个体的新个体。 大变异操作的思路是:当某代中所有个体集中在一起时,我们以一个远大于通常的变异概率的概率进行变异操作,它能够产生多个新个体,从而使得种群脱离”早熟”。16大变异遗传算法(7.1.4) 一、一、 大变异遗传算法的原理大变异遗传算法的原理当某一代的最大适应度 与平均适应度 满足 其中 ,被称为密集因子,表征个体集中的程度。大变异操作要求有两个参数是: 密集因子和大变异概率密集因子和大变异概率。密集因子用来决定大变异操作在整个优化过程中所占的比重,其数值越接近0.5时大变异操作
12、被调用的越频繁。大变异概率越大,含大变异操作的遗传算法的稳定性就越好,但是,这是以牺牲收敛速度为代价的,当其数值等于0.5时,大变异操作就近似为随机搜索。maxFavgFavgFFmax15 . 017大变异遗传算法(7.1.4) 二、二、 大变异遗传算法的步骤大变异遗传算法的步骤 1 随机产生初始种群,种群个体数目事先给定,每个个体表示为染色体的基因编码; 2计算个体的适应度,并判断是否符合优化准则,若符合,输出最佳个体及其代表的最优解,并结束计算,否则转3; 3依据适应度选择再生个体,适应的高的个体被选中的概率高,适应的低的个体可能被淘汰; 4对选择出再生个体按一定的交叉概率和交叉方法生成
13、新个体; 5如果当代最大适应度与平均适应度满足时,进行大变异操作,否则进行普通变异操作。 6 由交叉和变异产生新一代的种群,返回2。18自适应遗传算法(7.1.5) 一、一、 自适应遗传算法的原理自适应遗传算法的原理 Srinvivas等提出一种自适应遗传算法,交叉概率和变异概率能够随适应度自动改变。当种群个体适应度趋于一致或者趋于局部最优时,使交叉概率和变异概率二者增加、而当群体适应度比较分散时,使交叉概率和变异概率减少。 同时,对于适应值高于群体平均适应值的个体,对应于较低的交叉概率和变异概率,使该个体得以保护进入下一代;而低于平均适应值的个体,相对于较高的交叉概率和变异概率,使该个体被淘
14、汰。因此,自适应遗传算法能过提供相对某个解的最佳交叉概率和变异概率。19自适应遗传算法(7.1.5) 一、一、 自适应遗传算法的原理自适应遗传算法的原理 Srinvivas等提出一种自适应遗传算法,交叉概率和变异概率能够随适应度自动改变。当种群个体适应度趋于一致或者趋于局部最优时,使交叉概率和变异概率二者增加、而当群体适应度比较分散时,使交叉概率和变异概率减少。 同时,对于适应值高于群体平均适应值的个体,对应于较低的交叉概率和变异概率,使该个体得以保护进入下一代;而低于平均适应值的个体,相对于较高的交叉概率和变异概率,使该个体被淘汰。因此,自适应遗传算法能过提供相对某个解的最佳交叉概率和变异概
15、率。20自适应遗传算法(7.1.5)一、一、 自适应遗传算法的原理自适应遗传算法的原理 自适应遗传算法中交叉概率和变异概率的计算公式如下自适应遗传算法中交叉概率和变异概率的计算公式如下:avgavgavgmffkffffffkP2maxmax1)(avgavgavgcffkffffffkP) (4maxmax321自适应遗传算法(7.1.5) 二、二、 自适应遗传算法的步骤自适应遗传算法的步骤 1 随机产生初始种群,种群个体数目事先给定,每个个体表示为染色体的基因编码; 2 计算个体的适应度,并判断是否符合优化准则,若符合,输出最佳个体及其代表的最优解,并结束计算,否则转3; 3 依据适应度选
16、择再生个体,适应的高的个体被选中的概率高,适应的低的个体可能被淘汰; 4 按照下式(I)确定交叉概率,并通过交叉生成新个体; 5 按照式(II)确定变异概率,并通过变异生成新个体; 6由交叉和变异产生新一代的种群,返回2。.)()(2maxmax1IffkffffffkPavgavgavgm)() (4maxmax3IIffkffffffkPavgavgavgc22遗传算法的软件实现一、基本遗传算法的一、基本遗传算法的Matlab实现实现 1 计算函数的格式计算函数的格式 函数:myGA。 功能:用基本遗传算法解一维无约束极值问题 调用格式:xv,fv=myGA(fitness,a,b,NP,
17、NG,Pc,Pm,eps) 其中:fitness:待优化的目标函数; a:自变量下界;b:自变量上界; NP:种群大小;NG:最大进化代数; Pc:交叉概率;Pm:变异概率; eps::自变量离散精度; xv:目标函数取最大值时的自变量取值; fv:目标函数的最大值。23遗传算法的软件计算一、基本遗传算法的一、基本遗传算法的Matlab实现实现 2 举例举例 例例7-1 用基本遗传算法计算下面函数的最大值 种群个体数目50,最大进化代数100,离散精度0.01, 交叉概率0.9,变异概率0.04。 解:首先建立目标函数文件fitness.m function F=fitness(x) F=x3
18、-60*x2+900*x+100; 在命令框中输入调用遗传算法函数 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。300 ,10090060)(23xxxxxf24遗传算法的软件计算二、大变异遗传算法的二、大变异遗传算法的Matlab实现实现 1 计算函数格式计算函数格式 函数:GMGA。 功能:用大变异遗传算法解一维无约束极值问题 调用格式:xv,fv=GMGA(fitness,a,b,NP,NG,Pc,Pm, alpha,Pbm
19、, eps) 其中:fitness:待优化的目标函数;a:自变量下界; b:自变量上界;NP:种群大小;NG:最大进化代数; Pc:交叉概率; Pm:变异概率;alpha,:密集因子; Pbm:大变异概率; eps::自变量离散精度; xv:目标函数取最大值时的自变量取值; fv:目标函数的最大值。25遗传算法的软件计算二、大变异遗传算法的二、大变异遗传算法的Matlab实现实现 2 举例举例 例例7-2 用大变异遗传算法求函数 的最大值,个体数目取50,最大进化代数500,交叉概率取0.9, 变异概率取0.03,密集因子取0.6,大变异概率取0.2 ,离散精度取0.01。40 ,10)2co
20、s(10)(3xxxxf解:首先建立目标函数文件fitness.mFunction F = fitness(x)F =x2-10*cos(2*pi*x)+10;在命令框中输入调用大变异遗传算法函数 xv,fv=GMGA(fitness,0,4,50,500,0.9,0.03,0.6,0.2,0.01)运算结果xv = 3.5068fv = 32.2887最大值点为x=3.5178, 最大值为f=32.3124。用大变异算法得到的结果较好。 26遗传算法的软件计算三、自适应遗传算法的三、自适应遗传算法的Matlab实现实现 1 计算函数格式计算函数格式 函数:AdapGA。 功能:用自适应遗传算
21、法解一维无约束极值问题 调用格式:xv,fv=AdapGA(fitness,a,b,NP,NG,Pc1, Pc 2,Pm1, Pm2, eps) 其中:fitness:待优化的目标函数;a:自变量下界; b:自变量上界;NP:种群大小;NG:最大进化代数; Pc1:交叉常数1;Pc2:交叉常数2; Pm1:变异常数1;Pm2:变异常数2; eps::自变量离散精度; xv:目标函数取最大值时的自变量取值; fv:目标函数的最大值。27遗传算法的软件计算三、自适应遗传算法的三、自适应遗传算法的Matlab实现实现 2 举例举例 例例7-3 用自适应遗传算法求函数 的最大值,个体数目取50,最大进
22、化代数500,交叉概率k1取0.5, k2取0.9,变异概率k3取0.02,k4取0.05,离散精度取0.01。40 ,10)2cos(10)(3xxxxf解:首先建立目标函数文件fitness.mFunction F = fitness(x)F =x2-10*cos(2*pi*x)+10;在命令框中输入调用自适应遗传算法函数 xv,fv=AdapGA(fitness,0,4,50,500,0.5,0.9,0.02,0.05, 0.01)运算结果xv = 3.5147fv = 32.3105与例7-2相比自适应遗传算法所求结果更好。 28遗传算法的应用举例文献文献1 一种改进的遗传优化策略在电
23、动机故障诊断中的应用一种改进的遗传优化策略在电动机故障诊断中的应用 文献文献2 基于遗传算法的热管多目优化设计基于遗传算法的热管多目优化设计29粒子群算法简介粒子群算法简介基本粒子群算法基本粒子群算法改进的粒子群算法改进的粒子群算法粒子群算法软件计算粒子群算法软件计算粒子群算法应用粒子群算法应用7.2 粒子群算法30粒子群算法简介 一、粒子群算法原理一、粒子群算法原理粒子群优化算法(Particle Swarm Optimization,PSO)是Eberhart和kennedy博士发明。源于对鸟群捕食的行为研究,PSO同遗传算法类似,是一种基于迭代的优化工具。系统初始化为一组随机解,通过迭代
24、搜索寻最优值。在PSO算法中,每个优化问题的解都是搜索空间中的一只鸟,被抽象为没有质量和体积的微粒,并将其延伸到N维空间,离子i在N维空间中的位置表示为一个矢量,每个粒子的飞行速度也为一个矢量,所有粒子都有一个被优化的函数决定的适应值(fitness),每个粒子还有一个决定他们飞翔的方向和距离。粒子们知道到目前为止发现的最好位置(pbest)和现在的位置,这个可以看做是粒子自己的飞行经验,除此之外,每个粒子还知道目前为止所有粒子发现的最好位置(gbest, gbest是pbest中最好值),着可以看做是粒子同伴的经验。粒子是通过自己的经验和同伴中最好的经验来决定下一步的运动。 31粒子群算法简
25、介 二、粒子群算法技术问题二、粒子群算法技术问题粒子群算法的性能很大程度取决于算法的控制参数,粒子数、最大速度、学习因子、惯性权重等,各个参数的选取原则如下:1 粒子数:粒子数的多少根据问题的复杂度自行决定。对于一般的优化问题取20至40个;对比较简单的问题10个粒子就可以;对于比较复杂的或特定的问题,粒子数可取100以上。2 粒子的维度:由优化问题决定;为解的维度,3 粒子的范围:由优化问题决定,每一维可设定不同的范围;4 最大速度: 决定粒子在一个循环中最大的移动距离,通常设定为粒子的范围宽度;5 学习因子:学习因子使粒子具有自我总结和向群体中优秀个体学习的能力,从而向群体内或邻域内最近点
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 智能 优化 算法 简介 课件
限制150内