




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第12讲智能优化算法智能优化算法简介遗传算法简介基本遗传算法改进的遗传算法遗传算法软件计算
7.1遗传算法第12讲智能优化算法智能优化算法简介7.1遗传算法智能优化算法简介一、传统优化算法的步骤及局限性
1步骤:(1)选择一个初始解,(2)向改进方向移动判断停止准则是否满足,若满足停止,否则转下一步。(3)向改进方向移动,得新的解,转回第2步。
2局限性:(1)单点运算方式限制了计算效率的提高(2)向改进方向移动限制了跳出局部最优的能力(3)停止条件仅是局部最优的条件(4)对目标函数,约束条件的要求限制了算法的应用
智能优化算法简介一、传统优化算法的步骤及局限性智能优化算法简介
二、智能优化算法的产生与发展
1最优化方法的新的需求(1)对目标函数,约束函数的要求更为宽松(2)计算效率比理论上的最优性更重要(3)算法随时终止都能得到较好的解(4)对优化模型中数据质量要求更加宽松。
2智能算法及代表人物
1975年,Holland提出遗传算法(GeneticAlgorithms)1977年,Glover提出禁忌算法(TabuSearch)1983年,Kirkpatrick提出模拟退火算法(SimulatedAnnealing)
90年代初,Dorigo提出蚁群算法(AntColonyOptimization)1995年,Kennedy,Eberhart提出的粒子群算法(ParticleSwarm)1999年,Linhares提出的捕食搜索(PredatorySearch)
智能优化算法简介二、智能优化算法的产生与发展智能优化算法简介三、如何学习研究智能优化算法
1应用智能优化方法解决各类问题是重点
2智能算法的改进有很大的空间
3多种算法结合是一种很好的途径
4不提倡刻意追求理论成果
5算法性能的测试是一项要下真功夫的工作
6创造出新算法
智能优化算法简介三、如何学习研究智能优化算法遗传算法简介
一、遗传算法原理(7.1.1)
遗传算法是根据问题的目标函数构造的一个适值函数,对一个由多个解(每个解对应一个染色体)构成的种群进行评估、遗传运算、经多代繁殖,获得适应值最好的个体作为问题的最优解。
遗传算法简介一、遗传算法原理(7.1.1)遗传算法简介
二、遗传算法技术问题(7.1.2)遗传算法的主要问题是算法如何实现的技术问题。归结起来有如下一些因素:
1解的编码和解码解的编码是遗传算法的最基础工作,只有在编码之后才可能有其他的计算。算法的最后一个工作则是通过解码得到问题的一个解。
2初始群体的选取
在计算开始时,需要产生一些待优化问题的可能解,称为初始群体,初始群体可用随机方式产生,也可用用其他的一下启发式算法或经验选择,主要针对实际问题而定。
3群体规模的确定,常取个体编码长度数的一个线性倍数。当多个进化代没有改变解的性能,可扩大群体的规模。若解的改进已经非常好时,就可以减少群体规模,使计算速度加快。
4适应函数的确定
简单适应函数目标函数的简单变形,构造简单,与目标函数直接相关,缺点是可能使算法在迭代过程中出现收敛到一些目标值近似的不同染色体而难以区别。
加速适应函数有非线性加速适应函数,线性加速适应函数等。它们的思想是希望开始时每一个状态有较大的选取性,随着计算的步步进行,逐渐拉开目标值不同对应状态的档次。
排序适应函数为了避开对目标函数进行线性、非线性等加速适应函数的早熟可能,使每一代当前最好的解以最大的概率遗传。
遗传算法简介二、遗传算法技术问题(7.1.2)遗传算法简介三、遗传算法特点
1特点(1)遗传算法以决策变量的编码作为运算对象。
(2)遗传算法直接以适应度作为搜索信息,无需导数等其它辅助信息。
(3)遗传算法使用多个点的搜索信息,具有隐含并行性。(4)遗传算法使用概率搜索技术,而非确定性规则。
2应用领域(1)函数优化(2)组合优化(3)生产调度(4)自动控制
(5)机器人学
(6)图象处理
遗传算法简介三、遗传算法特点基本遗传算法(7.1.3)
一、
基本遗传算法的构成要素
1染色体编码方法。
2个体适应度评价。
3遗传算子。基本遗传算法使用下述三种遗传算子
●选择运算使用比例选择算子;
●交叉运算使用单点交叉算子;
●变异运算使用基本位变异算子或均匀变异算子。
4基本遗传算法的运行参数。基本遗传算法有下述4个运行参数需要提前设定:
●M:群体大小,即群体中所合个体的数量,一般取为20—1000。
●T:遗传运算的终止进化代数,一般取为l00一500。
●Pc:交叉概率,—般取为0.4一0.99。
●Pm:变异概率,一般取为0.0001一0.1.
基本遗传算法(7.1.3)一、基本遗传算法的构成要素基本遗传算法(7.1.3)二、基本遗传算法描述
1基本遗传算法的形式化定义基本遗传算法可定义为一个8元组,这些参数合理的取值大小或取值范围。基本遗传算法(7.1.3)二、基本遗传算法描述基本遗传算法(7.1.3)二、基本遗传算法描述
2遗传算法的基本操作举例(1)产生初始种群括号中的数值为目标函数值基本遗传算法(7.1.3)二、基本遗传算法描述基本遗传算法(7.1.3)2遗传算法的基本操作举例(2)遗传运算选择运算(轮盘赌)基本遗传算法(7.1.3)2遗传算法的基基本遗传算法(7.1.3)2遗传算法的基本操作举例(2)遗传运算选择运算(轮盘赌)由计算机产生随机数来实现假设产生随机数序列为0.070221,0.545929,0.784567,0.44693,0.507893,0.291198,0.71634,0.27290l,0.37l435,0.854641。将该随机序列与计算获得的累积概率比较,则依次序号为1,8,9,6,7,5,8,4,6,10个体被选中。显然适应度高的个体被选中的概率大。而且可能被选中;而适应度低的个体则很有可能破淘汰。在第一次生存竞争考验中,序号为2的个体(0101111001)和3的个体(0000000101)被淘汰,代之以适应度较高的个体8和6。基本遗传算法(7.1.3)2遗传算法的基基本遗传算法(7.1.3)2遗传算法的基本操作举例(2)遗传运算交叉运算以单点交叉为例,任意挑选经过选择操作后种群中两个个体作为交叉对象,即两个父个体经过染色体交换重组产生两个子个体,如下图,随机产生一个交叉点位置,父个体l和父个体2在交叉点位置之有的部分基因码互换,形成子个体1和子个体2。类似地完成其他个体的交叉操作基本遗传算法(7.1.3)2遗传算法的基基本遗传算法(7.1.3)2遗传算法的基本操作举例(2)遗传运算变异算子如图所示采用翻转,对于个体1001110100产生变异,以小概率决定第4个遗传因子翻转,即将1换为0。基本遗传算法(7.1.3)2遗传算法的基遗传算法的进化过程遗传算法的进化过程大变异遗传算法(7.1.4)
一、大变异遗传原理
在遗传算法中,变异操作可以使算法避免“早熟”。但是,为了保证算法的稳定性,变异操作的变异概率通常取值很小,所以算法一旦出现“早熟”,单靠传统的变异操作需很多代才能得到不同于其他个体的新个体。大变异操作的思路是:当某代中所有个体集中在一起时,我们以一个远大于通常的变异概率的概率进行变异操作,它能够产生多个新个体,从而使得种群脱离”早熟”。大变异遗传算法(7.1.4)一、大变异遗传原理大变异遗传算法(7.1.4)
一、大变异遗传算法的原理当某一代的最大适应度与平均适应度满足
其中,被称为密集因子,表征个体集中的程度。大变异操作要求有两个参数是:密集因子和大变异概率。密集因子用来决定大变异操作在整个优化过程中所占的比重,其数值越接近0.5时大变异操作被调用的越频繁。大变异概率越大,含大变异操作的遗传算法的稳定性就越好,但是,这是以牺牲收敛速度为代价的,当其数值等于0.5时,大变异操作就近似为随机搜索。大变异遗传算法(7.1.4)一、大变异遗传算法的原理大变异遗传算法(7.1.4)
二、
大变异遗传算法的步骤
1随机产生初始种群,种群个体数目事先给定,每个个体表示为染色体的基因编码;
2计算个体的适应度,并判断是否符合优化准则,若符合,输出最佳个体及其代表的最优解,并结束计算,否则转3;
3依据适应度选择再生个体,适应的高的个体被选中的概率高,适应的低的个体可能被淘汰;
4对选择出再生个体按一定的交叉概率和交叉方法生成新个体;
5如果当代最大适应度与平均适应度满足时,进行大变异操作,否则进行普通变异操作。
6由交叉和变异产生新一代的种群,返回2。
大变异遗传算法(7.1.4)二、大变异遗传算法的步骤自适应遗传算法(7.1.5)
一、自适应遗传算法的原理
Srinvivas等提出一种自适应遗传算法,交叉概率和变异概率能够随适应度自动改变。当种群个体适应度趋于一致或者趋于局部最优时,使交叉概率和变异概率二者增加、而当群体适应度比较分散时,使交叉概率和变异概率减少。同时,对于适应值高于群体平均适应值的个体,对应于较低的交叉概率和变异概率,使该个体得以保护进入下一代;而低于平均适应值的个体,相对于较高的交叉概率和变异概率,使该个体被淘汰。因此,自适应遗传算法能过提供相对某个解的最佳交叉概率和变异概率。自适应遗传算法(7.1.5)一、自适应遗传算法的原理自适应遗传算法(7.1.5)
一、自适应遗传算法的原理
Srinvivas等提出一种自适应遗传算法,交叉概率和变异概率能够随适应度自动改变。当种群个体适应度趋于一致或者趋于局部最优时,使交叉概率和变异概率二者增加、而当群体适应度比较分散时,使交叉概率和变异概率减少。同时,对于适应值高于群体平均适应值的个体,对应于较低的交叉概率和变异概率,使该个体得以保护进入下一代;而低于平均适应值的个体,相对于较高的交叉概率和变异概率,使该个体被淘汰。因此,自适应遗传算法能过提供相对某个解的最佳交叉概率和变异概率。自适应遗传算法(7.1.5)一、自适应遗传算法的原理自适应遗传算法(7.1.5)一、自适应遗传算法的原理
自适应遗传算法中交叉概率和变异概率的计算公式如下:自适应遗传算法(7.1.5)一、自适应遗传算法的原理自适应遗传算法(7.1.5)
二、
自适应遗传算法的步骤
1随机产生初始种群,种群个体数目事先给定,每个个体表示为染色体的基因编码;
2计算个体的适应度,并判断是否符合优化准则,若符合,输出最佳个体及其代表的最优解,并结束计算,否则转3;
3依据适应度选择再生个体,适应的高的个体被选中的概率高,适应的低的个体可能被淘汰;
4按照下式(I)确定交叉概率,并通过交叉生成新个体;
5按照式(II)确定变异概率,并通过变异生成新个体;
6由交叉和变异产生新一代的种群,返回2。.
自适应遗传算法(7.1.5)二、自适应遗传算法的步骤遗传算法的软件实现一、基本遗传算法的Matlab实现
1计算函数的格式
函数:myGA。功能:用基本遗传算法解一维无约束极值问题调用格式:[xv,fv]=myGA(fitness,a,b,NP,NG,Pc,Pm,eps)
其中:fitness:待优化的目标函数;
a:自变量下界;b:自变量上界;
NP:种群大小;NG:最大进化代数;
Pc:交叉概率;Pm:变异概率;
eps::自变量离散精度;
xv:目标函数取最大值时的自变量取值;
fv:目标函数的最大值。
遗传算法的软件实现一、基本遗传算法的Matlab实现遗传算法的软件计算一、基本遗传算法的Matlab实现
2举例例7-1用基本遗传算法计算下面函数的最大值种群个体数目50,最大进化代数100,离散精度0.01,交叉概率0.9,变异概率0.04。解:首先建立目标函数文件fitness.mfunctionF=fitness(x)F=x^3-60*x^2+900*x+100;
在命令框中输入调用遗传算法函数
>>[xv,fv]=myGA(@fitness,0,30,50,100,0.9,0.04,0.01)所得结果
xv=8.8242fv=4.0991e+003
该问题的精确最大值点为xv=10,最大值为fv=4100。遗传算法的软件计算一、基本遗传算法的Matlab实现遗传算法的软件计算二、大变异遗传算法的Matlab实现
1计算函数格式
函数:GMGA。功能:用大变异遗传算法解一维无约束极值问题调用格式:[xv,fv]=GMGA(@fitness,a,b,NP,NG,Pc,Pm,alpha,Pbm,
eps)
其中:fitness:待优化的目标函数;a:自变量下界;
b:自变量上界;NP:种群大小;NG:最大进化代数;
Pc:交叉概率;Pm:变异概率;alpha,:密集因子;
Pbm:大变异概率;eps::自变量离散精度;
xv:目标函数取最大值时的自变量取值;
fv:目标函数的最大值。遗传算法的软件计算二、大变异遗传算法的Matlab实现遗传算法的软件计算二、大变异遗传算法的Matlab实现
2举例例7-2
用大变异遗传算法求函数的最大值,个体数目取50,最大进化代数500,交叉概率取0.9,变异概率取0.03,密集因子取0.6,大变异概率取0.2,离散精度取0.01。解:首先建立目标函数文件fitness.mFunctionF=fitness(x)F=x^2-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。用大变异算法得到的结果较好。
遗传算法的软件计算二、大变异遗传算法的Matlab实现解:首遗传算法的软件计算三、自适应遗传算法的Matlab实现
1计算函数格式
函数:AdapGA。功能:用自适应遗传算法解一维无约束极值问题调用格式:[xv,fv]=AdapGA(@fitness,a,b,NP,NG,Pc1,Pc2,Pm1,Pm2,eps)
其中:fitness:待优化的目标函数;a:自变量下界;
b:自变量上界;NP:种群大小;NG:最大进化代数;
Pc1:交叉常数1;Pc2:交叉常数2;
Pm1:变异常数1;Pm2:变异常数2;
eps::自变量离散精度;
xv:目标函数取最大值时的自变量取值;
fv:目标函数的最大值。遗传算法的软件计算三、自适应遗传算法的Matlab实现遗传算法的软件计算三、自适应遗传算法的Matlab实现
2举例例7-3
用自适应遗传算法求函数的最大值,个体数目取50,最大进化代数500,交叉概率k1取0.5,k2取0.9,变异概率k3取0.02,k4取0.05,离散精度取0.01。解:首先建立目标函数文件fitness.mFunctionF=fitness(x)F=x^2-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相比自适应遗传算法所求结果更好。
遗传算法的软件计算三、自适应遗传算法的Matlab实现解:首遗传算法的应用举例文献1一种改进的遗传优化策略在电动机故障诊断中的应用文献2基于遗传算法的热管多目优化设计遗传算法的应用举例文献1一种改进的遗传优化策略在电动机故粒子群算法简介基本粒子群算法改进的粒子群算法粒子群算法软件计算粒子群算法应用
7.2粒子群算法粒子群算法简介7.2粒子群算法粒子群算法简介
一、粒子群算法原理粒子群优化算法(ParticleSwarmOptimization,PSO)是Eberhart和kennedy博士发明。源于对鸟群捕食的行为研究,PSO同遗传算法类似,是一种基于迭代的优化工具。系统初始化为一组随机解,通过迭代搜索寻最优值。在PSO算法中,每个优化问题的解都是搜索空间中的一只鸟,被抽象为没有质量和体积的微粒,并将其延伸到N维空间,离子i在N维空间中的位置表示为一个矢量,每个粒子的飞行速度也为一个矢量,所有粒子都有一个被优化的函数决定的适应值(fitness),每个粒子还有一个决定他们飞翔的方向和距离。粒子们知道到目前为止发现的最好位置(pbest)和现在的位置,这个可以看做是粒子自己的飞行经验,除此之外,每个粒子还知道目前为止所有粒子发现的最好位置(gbest,gbest是pbest中最好值),着可以看做是粒子同伴的经验。粒子是通过自己的经验和同伴中最好的经验来决定下一步的运动。
粒子群算法简介一、粒子群算法原理粒子群算法简介
二、粒子群算法技术问题粒子群算法的性能很大程度取决于算法的控制参数,粒子数、最大速度、学习因子、惯性权重等,各个参数的选取原则如下:1粒子数:粒子数的多少根据问题的复杂度自行决定。对于一般的优化问题取20至40个;对比较简单的问题10个粒子就可以;对于比较复杂的或特定的问题,粒子数可取100以上。2粒子的维度:由优化问题决定;为解的维度,3粒子的范围:由优化问题决定,每一维可设定不同的范围;4最大速度:决定粒子在一个循环中最大的移动距离,通常设定为粒子的范围宽度;5学习因子:学习因子使粒子具有自我总结和向群体中优秀个体学习的能力,从而向群体内或邻域内最近点靠近,通常取为2,也可以相等,取值范围0到4。6惯性权重:决定了对粒子当前速度继承的多少,适合的选择可以使粒子具有均衡的探索能力和开发能力,惯性权重的取法一般有常数法、线性递减法、自适应法等粒子群算法简介二、粒子群算法技术问题粒子群算法简介三、粒子群算法的特点及应用领域
1特点(1)粒子群算法以决策变量的编码作为运算对象。
(2)粒子群算法直接以适应度作为搜索信息,无需导数等其它辅助信息。
(3)粒子群算法使用多个点的搜索信息,具有隐含并行性。(4)粒子群算法使用概率搜索技术,而非确定性规则。
2应用领域(1)函数优化(2)组合优化(3)生产调度(4)自动控制
(5)机器人学
(6)图象处理
粒子群算法简介三、粒子群算法的特点及应用领域基本粒子群算法(7.2.1)
一、基本粒子群算法的构成要素
1粒子数
2最大速度
3学习因子
4惯性权重基本粒子群算法(7.2.1)一、基本粒子群算法的构成要素基本粒子群算法(7.2.1)二、基本粒子群算法步骤
1随机初始化种群中各种微粒的位置和速度;
2评价每个微粒的适应度,将当前各微粒的位置和适应值存储在各微粒的pbest中,将所有pbest中适应值最优个体的位置和适应值存于gbest中;
3用下面的式子更新粒子的速度和位移;
4对每个微粒子;将其适应值与其经历过的最好位置作比较,如果较好,则将其作为当前的最好位置;
5比较当前所有pbest和gbes的值,更新gbes;
6若满足停止条件(通常为预设的运算精度或迭代步数),搜索停止,输出结果,否则返回3,继续搜索。基本粒子群算法(7.2.1)二、基本粒子群算法步骤二阶粒子群算法(7.2.2)一、二阶粒子群算法原理在标准PSO算法中,微粒的飞行速度仅仅是微粒当前位置的函数,而二阶粒子群算法中微粒飞行速度的变化与微粒位置的变化有关,其速度更新公式为:二阶粒子群算法(7.2.2)一、二阶粒子群算法原理二阶粒子群算法(7.2.2)二、二阶粒子群算法步骤
1随机初始化种群中各种微粒的位置和速度;
2评价每个微粒的适应度,将当前各微粒的位置和适应值存储在各微粒的pbest中,将所有pbest中适应值最优个体的位置和适应值存于gbest中;
3用下面的式子更新粒子的速度和位移;
4对每个微粒子;将其适应值与其经历过的最好位置作比较,如果较好,则将其作为当前的最好位置;
5比较当前所有pbest和gbes的值,更新gbes;
6若满足停止条件(通常为预设的运算精度或迭代步数),搜索停止,输出结果,否则返回3,继续搜索。二阶粒子群算法(7.2.2)二、二阶粒子群算法步骤基于选择的粒子群算法(7.2.3)一、基于选择的粒子群算法原理
将遗传算法中的选择机理与粒子群算法相结合就得到基于选择的粒子群算法。基本思想:每次迭代过程将整个粒子群按适应值排序,用群体最好的一半的粒子的速度和位置替换最差的一半的位置和速度,同时保留原来每个个体所记忆的历史最优值。基于选择的粒子群算法(7.2.3)一、基于选择的粒子群算法基于选择的粒子群算法(7.2.3)二、基于选择的粒子群算法步骤
1随机初始化种群中各种微粒的位置和速度;
2评价每个微粒的适应度,将当前各微粒的位置和适应值存储在各微粒的pbest中,将所有pbest中适应值最优个体的位置和适应值存于gbest中;
3用下面的式子更新粒子的速度和位移;
4对每个微粒子;将其适应值与其经历过的最好位置作比较,如果较好,则将其作为当前的最好位置;
5比较当前所有pbest和gbes的值,更新gbes;
6将整个粒子群按适应值排序,用群体中最好的一半的粒子的速度和位置替换最差的一半的位置和速度,保持pbest和gbest不变。
7若满足停止条件(通常为预设的运算精度或迭代步数),搜索停止,输出结果,否则返回3,继续搜索。基于选择的粒子群算法(7.2.3)二、基于选择的粒子群算法基于交叉的粒子群算法(7.2.4)一、基于交叉的粒子群算法原理借鉴遗传算法中的交叉概念,在每次迭代中,根据交叉概率选取制定数量的粒子放入交叉池内,池中的粒子随机两辆交叉,产生同样数目的子代粒子(child),并用子代粒子替换亲代粒子(parent)。子代位置由父代位置进行算术交叉得到:其中
p是0到1之间的随机数。子代的速度由下式计算或或基于交叉的粒子群算法(7.2.4)一、基于交叉的粒子群算法基于交叉的粒子群算法(7.2.4)二、基于交叉的粒子群算法步骤
1随机初始化种群中各种微粒的位置和速度;
2评价每个微粒的适应度,将当前各微粒的位置和适应值存储在各微粒的pbest中,将所有pbest中适应值最优个体的位置和适应值存于gbest中;
3用下面的式子更新粒子的速度和位移;
4对每个微粒子;将其适应值与其经历过的最好位置作比较,如果较好,则将其作为当前的最好位置;
基于交叉的粒子群算法(7.2.4)二、基于交叉的粒子群算法基于交叉的粒子群算法(7.2.4)二、基于交叉的粒子群算法步骤
5比较当前所有pbest和gbes的值,更新gbes;
6根据交叉概率选取指定数量的粒子放入交叉池内,池中的粒子随机两两交叉产生同样数目的子代粒子,子代的位置和速度计算公式如下:
保持pbest和gbest不变。
7若满足停止条件(通常为预设的运算精度或迭代步数),搜索停止,输出结果,否则返回3,继续搜索。基于交叉的粒子群算法(7.2.4)二、基于交叉的粒子群算法粒子群算法的软件实现一、基本粒子群算法的Matlab实现
1计算函数的格式函数:PSO。功能:用基本粒子群算法求解无约束极值问题。调用格式:[xv,fv]=PSO(fitness,N,c1,c2,w,M,D)
其中:fitness:待优化的目标函数;N:粒子数目;c1:学习因子1;c2:学习因子2;w:惯性权重;M:最大迭代次数;D:问题的维数;xv:目标函数的最小值点;fv:目标函数的最小值。
粒子群算法的软件实现一、基本粒子群算法的Matlab实现粒子群算法的软件计算一、基本粒子群算法的Matlab实现
2举例例7-4采用基本粒子群算法求SphereModel的最小值。解:首先建立目标函数文件fitness.m,输入内容如下:
FunctionF=fitness(x)F=0; fori=1:30F=F+x(i)^2;end
在MATLAB命令窗口中输入:>>[xv,fv]=PSO(@fitness,40,2,2,0.5,1000,30)>>[xv,fv]=PSO(@fitness,40,2,2,0.5,5000,30)>>[xv,fv]=PSO(@fitness,40,2,2,0.5,10000,30)粒子群算法的软件计算一、基本粒子群算法的Matlab实现粒子群算法的软件计算一、基本粒子群算法的Matlab实现
表7-1迭代步数不同时粒子群法求解结果比较表粒子群算法的软件计算一、基本粒子群算法的Matlab实现表7粒子群算法的软件计算一、基本粒子群算法的Matlab实现
从表7-1的求解结果可以看出,在其他参数不变的情况下,一般迭代步数越大,求得的精度越高,但这并不是绝对的,因为PSO算法本质上也是一种随机算法,即使用同样的参数,每次求解也可能得出不同的结果,同时如果对于多峰函数,PSO算法还可能陷入局部最优点。
下面再看粒子群规模对结果的影响,学习因子都为2,惯性权重为0.5,迭代步数都为10000,粒子群规模分别取50、60和80。在MATLAB命令窗口中输入:>>[xv,fv]=PSO(@fitness,50,2,2,0.5,10000,30)>>[xv,fv]=PSO(@fitness,60,2,2,0.5,10000,30)>>[xv,fv]=PSO(@fitness,80,2,2,0.5,10000,30)粒子群算法的软件计算一、基本粒子群算法的Matlab实现从表粒子群算法的软件计算一、基本粒子群算法的Matlab实现
表7-2种群数不同时粒子群法求解结果比较表
粒子群算法的软件计算一、基本粒子群算法的Matlab实现表7粒子群算法的软件计算一、基本粒子群算法的Matlab实现
从表7-2的求解结果可以看出,粒子群的规模不是越大越好,关键是各参数之间的搭配,搭配好才能求得比较好的结果。这需要反复试算。粒子群算法的软件计算一、基本粒子群算法的Matlab实现从表粒子群算法的软件实现二、二阶粒子群算法的Matlab实现
1计算函数的格式函数:SecPSO。功能:用基本粒子群算法求解无约束极值问题。调用格式:[xv,fv]=SecPSO(fitness,N,c1,c2,w,M,D)
其中:fitness:待优化的目标函数;N:粒子数目;、
c1:学习因子1;c2:学习因子2;w:惯性权重;M:最大迭代次数;D:问题的维数;xv:目标函数的最小值点;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 重庆车位出租协议书
- 车主雇佣司机协议书
- 锂电窑炉承包协议书
- 道路车辆施救协议书
- 4人入伙合同协议书
- 项目车位预定协议书
- cnc编程学徒协议书
- 雕塑方案保密协议书
- 酒馆出租合作协议书
- 中餐馆合伙合同协议书
- 玉林师范学院《舞蹈心理学》2023-2024学年第一学期期末试卷
- 2025年日历(日程安排-可直接打印)
- 软件项目成果报告范文
- 八角造林项目可行性研究报告-八角种植效益稳步提升
- 【MOOC】心理学-华南师范大学 中国大学慕课MOOC答案
- 脑梗死患者康复期护理
- 【MOOC】奥运裁判教你学规则(排球篮球)-西南交通大学 中国大学慕课MOOC答案
- 大型商场装修施工组织设计方案
- 【MOOC】材料力学-西北工业大学 中国大学慕课MOOC答案
- 维修服务保密协议
- 《大客户销售培训》课件
评论
0/150
提交评论