智能优化搜索算法

智能优化搜索算法
智能优化搜索算法

模拟退火算法

模拟退火(Simulated Annealing,简称SA)是一种通用概率算法,用来在一个大的搜寻空间内找寻命题的最优解。

1、固体退火原理:将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。根据Metropolis准则,粒子在温度T时趋于平衡的概率为e-ΔE/(kT),其中E为温度T时的内能,ΔE为其改变量,k为Boltzmann常数。

2、用固体退火模拟组合优化问题:将内能E模拟为目标函数值f,温度T演化成控制参数t,即得到解组合优化问题的模拟退火算法——由初始解i和控制参数初值t开始,对当前解重复“产生新解→计算目标函数差→接受或舍弃”的迭代,并逐步衰减t值,算法终止时的当前解即为所得近似最优解,这是基于蒙特卡罗迭代求解法的一种启发式随机搜索过程。

3、退火过程:冷却进度表(Cooling Schedule)控制,包括控制参数的初值t及其衰减因子Δt、每个t值时的迭代次数L和停止条件S。

4、模拟退火算法的模型模拟退火算法可以分解为解空间、目标函数和初始解三部分。(1) 初始化:初始温度T(充分大),初始解状态S(是算法迭代的起点),每个T值的迭代次数L

(2) 对k=1,……,L做第(3)至第6步:

(3) 产生新解S′

(4) 计算增量Δt′=C(S′)-C(S),其中C(S)为评价函数

(5) 若Δt′<0则接受S′作为新的当前解,否则以概率exp(-Δt′/T)接受S′作为新的当前解.

(6) 如果满足终止条件则输出当前解作为最优解,结束程序。终止条件常取为连续若干个新解都没有被接受时终止算法。

(7) T逐渐减少,且T->0,然后转第2步。(降温)

5、模拟退火算法新解的产生和接受:

(1)由一个产生函数从当前解产生一个位于解空间的新解:为便于后续的计算和接受,减少算法耗时,通常选择由当前新解经过简单地变换即可产生新解的方法,如对构成新解的全部或部分元素进行置换、互换等,注意到产生新解的变换方法决定了当前新解的邻域结构,因而对冷却进度表的选取有一定的影响。

(2)计算与新解所对应的目标函数差:因为目标函数差仅由变换部分产生,所以目标函数差的计算最好按增量计算。

(3)判断新解是否被接受:判断的依据是一个接受准则,最常用的接受准则是Metropo1is 准则: 若Δt′<0则接受S′作为新的当前解S,否则以概率exp(-Δt′/T)接受S′作为新的当前解S。

(4)当新解被确定接受时,用新解代替当前解,这只需将当前解中对应于产生新解时的变换部分予以实现,同时修正目标函数值即可。此时,当前解实现了一次迭代。可在此基础上开始下一轮试验。而当新解被判定为舍弃时,则在原当前解的基础上继续下一轮试验。6、算法的特点

模拟退火算法与初始值无关,算法求得的解与初始解状态S(是算法迭代的起点)无关;模拟退火算法具有渐近收敛性,已在理论上被证明是一种以概率l 收敛于全局最优解的全局优化算法;模拟退火算法具有并行性。

7、简单应用

作为模拟退火算法应用,讨论货郎担问题(Travelling Salesman Problem,简记为TSP):

设有n个城市,用数码1,…,n代表。城市i和城市j之间的距离为d(i,j) i, j=1,…,n.TSP 问题是要找遍访每个域市恰好一次的一条回路,且其路径总长度为最短.。

求解TSP的模拟退火算法模型可描述如下:

解空间解空间S是遍访每个城市恰好一次的所有回路,是{1,……,n}的所有循环排列的集合,S中的成员记为(w1,w2 ,……,wn),并记wn+1= w1。初始解可选为(1,……,n)

目标函数此时的目标函数即为访问所有城市的路径总长度或称为代价函数:

我们要求此代价函数的最小值。

新解的产生随机产生1和n之间的两相异数k和m,若k

(w1, w2 ,…,wk , wk+1 ,…,wm ,…,wn)

变为:

(w1, w2 ,…,wm , wm-1 ,…,wk+1 , wk ,…,wn).

如果是k>m,则将

(w1, w2 ,…,wk , wk+1 ,…,wm ,…,wn)

变为:

(wm, wm-1 ,…,w1 , wm+1 ,…,wk-1 ,wn , wn-1 ,…,wk).

上述变换方法可简单说成是“逆转中间或者逆转两端”。

也可以采用其他的变换方法,有些变换有独特的优越性,有时也将它们交替使用,得到一种更好方法。

代价函数差设将(w1, w2 ,……,wn)变换为(u1, u2 ,……,un), 则代价函数差为:

根据上述分析,可写出用模拟退火算法求解TSP问题的伪程序:

Procedure TSPSA:

begin

init-of-T; { T为初始温度}

S={1,……,n}; {S为初始值}

termination=false;

while termination=false

begin

for i=1 to L do

begin

generate(S′form S); { 从当前回路S产生新回路S′}

Δt:=f(S′))-f(S);{f(S)为路径总长}

IF(Δt<0) OR (EXP(-Δt/T)>Random-of-[0,1])

S=S′;

IF the-halt-condition-is-TRUE THEN

termination=true;

End;

T_lower;

End;

End

模拟退火算法的应用很广泛,可以较高的效率求解最大截问题(Max Cut Problem)、0-1背包问题(Zero One Knapsack Problem)、图着色问题(Graph Colouring Problem)、调度问题(Scheduling Problem)等等。

8、参数控制问题

模拟退火算法的应用很广泛,可以求解NP完全问题,但其参数难以控制,其主要问题有以下三点:

(1) 温度T的初始值设置问题。

温度T的初始值设置是影响模拟退火算法全局搜索性能的重要因素之一、初始温度高,则搜索到全局最优解的可能性大,但因此要花费大量的计算时间;反之,则可节约计算时间,但全局搜索性能可能受到影响。实际应用过程中,初始温度一般需要依据实验结果进行若干次调整。

(2) 退火速度问题。

模拟退火算法的全局搜索性能也与退火速度密切相关。一般来说,同一温度下的“充分”搜索(退火)是相当必要的,但这需要计算时间。实际应用中,要针对具体问题的性质和特征设置合理的退火平衡条件。

(3) 温度管理问题。

温度管理问题也是模拟退火算法难以处理的问题之一。实际应用中,由于必须考虑计算复杂度的切实可行性等问题,常采用如下所示的降温方式:T(t+1)=k×T(t) 式中k为正的略小于1.00的常数,t为降温的次数。

禁忌算法

禁忌搜索算法(Tabu Search或Taboo Search,简称TS算法)是一种全局性邻域搜索算法,模拟人类具有记忆功能的寻优特征。TS算法通过引入一个灵活的存储结构和相应的禁忌准则来避免迂回搜索,并通过藐视准则来赦免一些被禁忌的优良状态,进而保证多样化的有效探索以最终实现全局优化。

1、基本思想

考虑最优化问题,对于X中每一个解x,定义一个邻域N(x),禁忌搜索算法首先确定一个初始可行解x,初始可行解x可以从一个启发式算法获得或者在可行解集合X中任意选择,确定完初始可行解后,定义可行解x的邻域移动集s(x),然后从

邻域移动中挑选一个能改进当前解x的移动,s(x),再从新解x’开始,重复搜索。

2、算法流程

给定一个当前解(初始解)和一种邻域,然后在当前解的邻域中确定若干候选解;若最佳候选解对应的目标值优于“best so far”状态,则忽视其禁忌特性,用其替代当前解和“best so far”状态,并将相应的对象加入禁忌表,同时修改禁忌表中各对象的任期;若不存在上述候选解,则选择在候选解中选择非禁忌的最佳状态为新的当前解,而无视它与当前解的优劣,同时将相应的对象加入禁忌表,并修改禁忌表中各对象的任期;如此重复上述迭代搜索过程,直至满足停止准则。

(1)给定算法参数,随机产生初始解x,置禁忌表为空。

(2)判断算法终止条件是否满足?若是,则结束算法并输出优化结果;否则,继续以下步骤。

(3)利用当前解中的邻域函数产生其所有(或若干)邻域解,并从中确定若干候选解。(4)对候选解判断藐视准则是否满足?若成立,则用满足藐视准则的最佳状态y替代x成为新的当前解,即x=y,并用与y对应的禁忌对象替换最早进入禁忌表的禁忌对象,同时用y替换“best so far”状态,然后转步骤6;否则,继续以下步骤。

(5)判断候选解对应的各对象的禁忌属性,选择候选解集中非禁忌对象对应的最佳状态为新的当前解,同时用与之对应的禁忌对象替换最早进入禁忌表的禁忌对象元素。

(6)转步骤(2)。

3、算法特点

新解不是在当前解的邻域中随机产生,而或是优于“best so far”的解,或是非禁忌的最佳解,因此选取优良解的概率远远大于其他解。由于TS算法具有灵活的记忆功能和藐视准则,并且在搜索过程中可以接受劣解,所以具有较强的“爬山”能力,搜索时能够跳出局部最优解,转向解空间的其他区域,从而增强获得更好的全局最优解的概率,所以TS算法是一种局部搜索能力很强的全局迭代寻优算法。

4、组合策略

(1)邻域移动:是从一个解产生另一个解的途径。它是保证产生好的解和算法搜索速度的最重要因素之一。通过移动,目标函数值将产生变化,移动前后的目标函数值之差,称之为移动

值。如果移动值是非负的,则称此移动为改进移动;否则称作非改进移动。最好的移动不一定是改进移动,也可能是非改进移动,这一点就保证搜索陷入局部最优时,禁忌搜索算法能自动把它跳出局部最优。

(2)禁忌表:不允许恢复即被禁止的性质称作Tabu。禁忌表的主要目的是阻止搜索过程中出现循环和避免陷入局部最优,它通常记录前若干次的移动,禁止这些移动在近期内返回。在迭代固定次数后,禁忌表释放这些移动,重新参加运算,因此它是一个循环表,每迭代一次,将最近的一次移动放在禁忌表的末端,而它的最早的一个移动就从禁忌表中释放出来。禁忌表记载移动的方式主要有三种:*记录目标值;*移动前的状态;*移禁忌搜索算法.

(3)选择策略:即择优规则,是对当前的邻域移动选择一个移动而采用的准则。当前采用最广泛的两类策略是最好解优先策略(Bestlmprovedstrategy)和第一个改进解优先策略(FirstImProvedstrategy)。最好改进解优先策略就是对当前邻域中选择移动值最好的移动产生的解,作为下一次迭代的开始。而第一个改进解优先策略是搜索邻域移动时选择第一改进当前解的邻域移动产生的解作为下一次迭代的开始。

(4)破禁策略:常指渴望水平(Aspiration)函数选择,当一个禁忌移动在随后T次的迭代内再度出现时,如果它能把搜索带到一个从未搜索过的区域,则应该接受该移动即破禁,不受禁忌表的限制。

(5)停止规则:一种是把最大迭代数作为停止算法的标准,而不以局优为停止规则;另一种是在给定数目的迭代内所发现的最好解无法改进或无法离开它时,算法停止。

(6)长期表:短期记忆用来避免最近所作的一些移动被重复,但是在很多的情况下短期记忆并不足以把算法搜索带到能够改进解的区域。因此在实际应用中常常短期记忆与长期记忆相结合使用,以保持局部的强化和全局多样化之间的平衡,即在加强与好解有关性质的同时还能把搜索带到未搜索过的区域。一种通过惩罚的形式,即用一些评价函数来惩罚在过去的搜索中用得最多或最少的那些选择,并用一些启发方法来产生新的初始点。另一种形式采用频率矩阵,使用两种长期记忆,一种是基于最小频率的长期记忆,另一种是基于最大频率的长期记忆。

遗传算法

遗传算法(Genetic Algorithm,简称GA)是建立在自然选择和群体遗传学基础上,通过自然选择、杂交和变异实现随机化搜索的方法。

1、基本思想

从任意初始种群出发,通过随机选择(使种群中的优秀个体有更多的机会传给下一代)、杂交(体现自然界中种群内个体之间的信息交换)和变异(在种群中引入新的变种确保种群中信息的多样性)等遗传操作,使种群一代一代地进化到搜索空间中越来越好的区域,直至达到最优解。具体的算法流程如下:

a)初始化:设置进化代数计数器t=0,设置最大进化代数T,随机生成M个个体作为初始群体P(0)。

b)种群P(t)经过选择、交叉、变异运算后得到下一代种群P(t+1)

个体评价:计算群体P(t)中各个个体的适应度。

选择运算:将选择算子作用于群体。

交叉运算;将交叉算子作用于群体,在遗传算法中起核心作用。

变异运算:将变异算子作用于群体。

c)终止条件判断若t<=T,则t=t+1,转至b);

d):以进化过程中所得到的具有最大适应度个体作为最优解输出,终止计算。

2、GA算法中的关键问题

1)编码方式:把问题空间中的参数转换成一串空间的由基因按一定结构组成的染色体或个体的操作,也成为问题的表示。目前的几种常用的编码技术有二进制编码[简单异性、符合最小字符集编码规则、易于试用漠视定力进行分析],浮点数编码,字符编码,变成编码等。

评估编码策略常采用以下3个规范:

a)完备性(completeness):问题空间中的所有点(候选解)都能作为GA空间中的点(染色体)表现。

b)健全性(soundness): GA空间中的染色体能对应所有问题空间中的候选解。

c)非冗余性(nonredundancy):染色体和候选解一一对应。

2)初始种群的产生——随机方法,使初始种群的均匀分布于整个解空间,使GA从全局范围内搜索最优解。

初始种群设定可采用以下两个策略:

a)根据问题固有知识,设法把握最优解所占空间在整个问题空间中的分布范围,然后,在此分布范围内设定初始群体。

b)先随机生成一定数目的个体,然后从中挑出最好的个体加到初始群体中。这种过程不断迭代,直到初始群体中个体数达到了预先确定的规模。

3)适应度函数的选取

遗传算法的适应度函数也叫评价函数,是用来判断群体中的个体的优劣程度的指标,它是根据所求问题的目标函数来进行评估的。适应度函数的设计主要满足以下条件:单值、连续、非负、最大化;合理、一致性;计算量小;通用性强。

4)GA算子——选择算子、交叉算子和变异算子

在遗传算法中,通过编码组成初始群体后,遗传操作的任务就是对群体的个体按照它们对环境适应度(适应度评估)施加一定的操作,从而实现优胜劣汰的进化过程。个体遗传算子的操作都是在随机扰动情况下进行的。遗传操作的效果和上述三个遗传算子所取的操作概率,编码方法,群体大小,初始群体以及适应度函数的设定密切相关。

a) 选择(Selection)——竞争选择、排序选择和稳态选择

从群体中选择优胜的个体,淘汰劣质个体的操作叫选择。选择算子有时又称为再生算子(reproduction operator)。选择的目的是把优化的个体(或解)直接遗传到下一代或通过配对交叉产生新的个体再遗传到下一代。选择操作是建立在群体中个体的适应度评估基础上的,目前常用的选择算子有以下几种:适应度比例方法、随机遍历抽样法、局部选择法、局部选择法。

其中轮盘赌选择法(roulette wheel selection)是最简单也是最常用的选择方法。在该方法中,各个个体的选择概率和其适应度值成比例。设群体大小为n,其中个体i的适应度为fi,则i 被选择的概率Pi,为

显然,概率反映了个体i的适应度在整个群体的个体适应度总和中所占的比例.个体适应度越大。其被选择的概率就越高、反之亦然。计算出群体中各个个体的选择概率后,为了选择交配个体,需要进行多轮选择。每一轮产生一个[0,1]之间均匀随机数,将该随机数作为选择指针来确定被选个体。

b)交叉(Crossover)——多点交叉和均匀交叉

遗传算法中起核心作用的是遗传操作的交叉算子。所谓交叉是指把两个父代个体的部

分结构加以替换重组而生成新个体的操作。通过交叉,遗传算法的搜索能力得以飞跃提高。交叉算子根据交叉率将种群中的两个个体随机地交换某些基因,能够产生新的基因组合,期望将有益基因组合在一起。根据编码表示方法的不同,可以有以下的算法:

*实值重组(real valued recombination):离散重组(discrete recombination);中间重组(intermediate recombination);线性重组(linear recombination);扩展线性重组(extended linear recombination);

*二进制交叉(binary valued crossover):单点交叉(single-point crossover);多点交叉(multiple-point crossover);均匀交叉(uniform crossover);洗牌交叉(shuffle crossover);缩小代理交叉(crossover with reduced surrogate)。

最常用的交叉算子为单点交叉(one-point crossover)。具体操作是:在个体串中随机设定一个交叉点,实行交叉时,该点前或后的两个个体的部分结构进行互换,并生成两个新个体。下面给出了单点交叉的一个例子:

个体A:1 0 0 1 ↑1 1 1 → 1 0 0 1 0 0 0 新个体

个体B:0 0 1 1 ↑0 0 0 → 0 0 1 1 1 1 1新个体

c)变异(Mutation)——概率变异和预测变异

变异算子的基本内容是对群体中的个体串的某些基因座上的基因值作变动。依据个体编码表示方法的不同,可以有以下的算法:实值变异;二进制变异。

一般来说,变异算子操作的基本步骤如下:对群中所有个体以事先设定的编译概率判断是否进行变异;对进行变异的个体随机选择变异位进行变异。

遗传算法导引入变异的目的有两个:一是使遗传算法具有局部的随机搜索能力。当遗传算法通过交叉算子已接近最优解邻域时,利用变异算子的这种局部随机搜索能力可以加速向最优解收敛。二是使遗传算法可维持群体多样性,以防止出现未成熟收敛现象。

遗传算法中,交叉算子因其全局搜索能力而作为主要算子,变异算子因其局部搜索能力而作为辅助算子。遗传算法通过交叉和变异这对相互配合又相互竞争的操作而使其具备兼顾全局和局部的均衡搜索能力。所谓相互配合.是指当群体在进化中陷于搜索空间中某个超平面而仅靠交叉不能摆脱时,通过变异操作可有助于这种摆脱。所谓相互竞争,是指当通过交叉已形成所期望的积木块时,变异操作有可能破坏这些积木块。

基本变异算子是指对群体中的个体码串随机挑选一个或多个基因座并对这些基因座的

基因值做变动(以变异概率P.做变动),基因位下方标有*号的基因发生变异。变异率的选取一般受种群大小、染色体长度等因素的影响,通常选取很小的值,一般取0.001-0.1。5)GA参数值——种群规模、染色体长度、杂交概率和变异概率

3、算法特点一类可用于复杂系统优化的具有鲁棒性的搜索算法

遗传算法作为一种快捷、简便、容错性强的算法,在各类结构对象的优化过程中显示出明显的优势。与传统的搜索方法相比,遗传算法具有如下特点:

a)搜索过程不直接作用在变量上,而是在参数集进行了编码的个体。此编码操作,使得遗传算法可直接对结构对象(集合、序列、矩阵、树、图、链和表)进行操作。

b)搜索过程是从一组解迭代到另一组解,采用同时处理群体中多个个体的方法,降低了陷入局部最优解的可能性,并易于并行化。

c)采用概率的变迁规则(概率)来指导搜索方向,而不采用确定性搜索规则。

d)对搜索空间没有任何特殊要求(如连通性、凸性等),只利用适应性信息,不需要导数等其它辅助信息,适应范围更广。

4、遗传算法的应用

1)函数优化——遗传算法的经典应用领域,进行性能评价的常用算例

许多人构造出了各种各样复杂形式的测试函数:连续函数和离散函数、凸函数和凹函数、低维函数和高维函数、单峰函数和多峰函数等。对于一些非线性、多模型、多目标的函数优化问题,用其它优化方法较难求解,而遗传算法可以方便的得到较好的结果。

2)组合优化

遗传算法已经在求解旅行商问题、背包问题、装箱问题、图形划分问题等方面得到成功的应用。

此外,GA也在生产调度问题、自动控制、机器人学、图象处理、人工生命、遗传编码和机器学习等方面获得了广泛的运用。

5、改善算法性能的措施

1)综合优选参数(试探法)

2)采用变参数法(定初值,再改善)

3)选择式单点杂交(高者不变,低者转优)

4)特殊的杂交方法(头尾杂交、头头杂交)

5)终止进化准则(最有个体最少保留代数和最大遗传代数相结合)

6、术语说明

1)染色体(Chronmosome):染色体又可以叫做基因型个体(individuals),对应问题的一个解的编码;一定数量的个体组成了群体(population),群体中个体的数量叫做群体大小。

2)基因(Gene):基因是串中的元素,基因用于表示个体的特征。例如有一个串S=1011,则其中的1,0,1,1这4个元素分别称为基因。它们的值称为等位基因(Alletes)。

3)基因地点(Locus):基因地点在算法中表示一个基因在串中的位置称为基因位置(Gene Position),有时也简称基因位。基因位置由串的左向右计算,始于1,例如在串S=1101 中,0的基因位置是3。

4)基因特征值(Gene Feature):在用串表示整数时,基因的特征值与二进制数的权一致;例如在串S=1011 中,基因位置3中的1,它的基因特征值为2;基因位置1中的1,它的基因特征值为8。

5)适应度(Fitness):各个个体对环境的适应程度叫做适应度(fitness)。为了体现染色体的适应能力,引入了对问题中的每一个染色体都能进行度量的函数,叫适应度函数. 这个函数是计算个体在群体中被使用的概率。

基于优化问题的多目标布谷鸟搜索算法

基于优化问题的多目标布谷鸟搜索算法

基于优化问题的多目标布谷鸟搜索算法 关键字:布谷鸟搜索、元启发式算法、多目标、最优化 摘要:在工程设计方面,很多问题都是典型的多目标问题,而且,都是复杂的非线性问题。现在我们研究的优化算法就是为了解决多目标化的问题,使得与单一目标问题的解决有明显的区别,计算结果和函数值有可能会增加多目标问题的特性。此时,元启发式算法开始显示出自己在解决多目标优化问题中的优越性。在本篇文章中,我们构造了一个新的用于解决多目标优化问题的算法——布谷鸟搜索算法。我们通过一系列的多目标检验函数对其的有效性已经做出来检验,发现它可以应用于解决结构设计等问题中去,例如:光路设计、制动器设计等。另外,我么还对该算法的主要特性和应用做了相关的分析。 1.简介 在设计问题中经常会考虑到很多多重的复杂问题,而且这些问题往往都具有很高的非线性性。在实际中,不同的目标之间往往会有分歧和冲突,有时候,实际的最优化解决方案往往不存在,而一些折中的和近似的方案往往也可以使用。除了这些挑战性和复杂性以外,设计问题还会受到不同设计目标的约束,而且还会被设计代码、设计标准、材料适应性、和可用资源的选择,以及

设计花费等所限制,甚至是关于单一目标的全局最优问题也是如此,如果设计函数有着高度的非线性性,那么全局最优解是很难达到的,而且,很多现实世界中的问题经常是NP-hard的,这就意味着没有一个行之有效的算法可以解决我们提出的问题,因此,对于一个已经提出的问题,启发式算法和科学技术与具体的学科交叉知识经常被用于其中,用来作为解决问题的向导。 另一方面,元启发算法在解决此类优化问题方面是非常有效的,而且已经在很多刊物和书籍中得以运用,与单一目标的优化问题相反的是,多目标优化问题具有典型的复杂性和困难性,在单一目标的优化问题中我们必须去找出一个最优化的解决方法,此方法在问题的解决中存在着一个单一的点,并且在此问题中不包括那些多重的、平均优化的点,对于一个多目标的优化问题,存在着名为Pareto-front的多重的复杂的优化问题,为了了解我们所不熟悉的Pareto-front问题,我们需要收集并整理很多不同的方法,从而,此计算结果将会随着近似解的变化、问题的复杂度和解决方法的多样性而有所变化甚至增加。在理论上,此类解决方法应包括问题并且应相对的有一致无分歧的分布情况,然而,还没有科学的方法可以证明这种解决方法可以在实际中得以应用。 从问题的出发点我们可以得知,算法可以在单一目标优化问题中运行的很好,但是却不能在多目标的优化问题中直接的运用,除非是在特殊的环境与条件下才可以应用。例如,使用一些

随机直接搜索优化算法NLJ辨识算法

随机直接搜索优化算法NLJ 辨识算法 NLJ 优化算法是随机直接搜索优化算法的一种,它是由随机数直接搜索算法算法发展而来,可以有效地解决各种复杂的问题。因其结构简单以及收敛迅速使其在随机搜索算法中始终占有一席之地。这种算法的核心思想是利用收缩变量来缩小搜索域,找到次优解,然后再基于次优解重复上述过程直到最终获得最优解。 假设待辨识的系统模型为: 1110 1 ()(0,1,...,)n n n H s i n a s a s a s a -= =++ ++ (3.1) 其中,01,,...,n a a a 表示待辨识模型的系数值。 该算法主要有以下步骤: Step 1、初始化参数。根据辨识数据,通过手工调整模型参数大致拟合出一个初始模型,确定模型初始参数(0)k i a ,其次,确定参数搜索范围c 。()k i a j 表示参数i a 在第k 次迭代的搜索结果,0,1,...,k p =,j 表示迭代组数,0,1,...,j m =。参数的搜索范围可由设定参数初始值的倍数决定,具体规则如下: 0l i i r ca = ,当 时,1k k k i i i r ca v -=?。 (3.2) 其中,根据经验知识,c 取值为2。 Step 2、计算性能指标。选择如式(3.3)所示的输出误差指标,作为辨识性能指标式,将待辨识的参数带入系统模型,求解估计值()y t 。 0[()()]N t J y t y t ==-∑ (3.3) 其中,()y t 为t 时刻的实际数据。 Step 3、计算参数估计值。在第k 代计算参数估计参数k l a ,其中rand 是在 [0.5,0.5]-之间分布的随机数,k i a 由下式给出: 1()()k k k l i i a j a j rand r -=+? (3.4) 在第k 次迭代计算后,计算m 组性能指标,选择使得性能指标最小的参数值作为下一次迭代的初始值: 11min[(())](0)|k i k k i i J a j a a --= (3.5) Step 4、修改搜索范围。在第k 次搜索前需要根据下式(3.6)对搜索范围进行修正防止局限的搜索范围导致搜索陷入局部极值。 (3.6) 在此处引入变化率η,首先,计算判断每组参数幅值的变化率,并选择变化 3k >1k k k i i i r cr v -=

基于云计算环境的蚁群优化计算资源分配算法

基于云计算环境的蚁群优化计算资源分配算法 华夏渝,郑骏,胡文心 (华东师范大学计算中心,上海200241) 摘要:针对云计算的性质,提出一种基于蚁群优化(Ant Colony Optimization )的计算资源分配算法。分配计算资源时,首先预测潜在可用节点的计算质量,然后根据云计算环境的特点,通过分析诸如带宽占用、线路质量、响应时间等因素对分配的影响,利用蚁群优化得到一组最优的计算资源。通过在Gridsim环境下的仿真分析和比较,这种算法能够在满足云计算环境要求的前提下,获得比其他一些针对网格的分配算法更短的响应时间和更好地运行质量,因而更加适合于云环境。 关键词:云计算;网格;蚁群;资源分配 中图分类号:TP316 文献标识码:A Ant Colony Optimization Algorithm for Computing Resource Allocation Based On Cloud Computing Environment Hua xia-yu, Zheng jun, Hu wen-xin (Computer Center Institute, East China Normal University Shanghai, 200241) Abstract:A new allocation algorithm based on Ant Colony Optimization (ACO) was established to satisfy the property of Cloud Computing. When start, this algorithm first prognosticated the capability of the potential available resource node, and then analyzed some factors such as network qualities or response times to acquire a set of optimal compute resources. This algorithm met the needs of cloud computing more than others for Grid environment with shorter response time and better performance, which were proved by the simulation results in the Gridsim environment. Key words: Cloud Computing; Grid; Ant Colony Optimization; resource allocation 0引言 云计算(Cloud Computing),是指通过互联网连接的超级计算模式,包含了分布式处理(Distributed Computing)、并行处理(Parallel Computing)和网格计算(Grid Computing)的相关技术,或者说是这些计算机科学概念的商业实现。 云计算一种新型的共享基础架构,可以将巨大的系统池连接在一起,以运营商和客户的方式,通过互联网为用户提供各种存储和计算资源。在云计算环境中,用户将自己的个人电脑,PDA或移动电话等其他设备上的大量信息和处理器资源集中在一起,协同工作。这是一个大规模的分布式计算模式,该模式由运营商的经济规模决定,并且是抽象的,虚拟化的以及规模动态可变的。其主要内容为受管理的计算能力,存储,平台和服务。这些内容通过互联网,按需分配给外部用户,其重要意义在于将计算能力作为一种商品在互联网上进行流通。 云计算的主要优势:快速地降低硬件成本和提升计算能力以及存储容量,用户可以以极低的成本投入获得极高的计算能力,而不用再投资购买昂贵的硬件设备,负担频繁的保养与升级 计算资源分配是云计算技术的一个重要组成部分,其效率直接影响整个云计算环境的工作性能。由于云计算有很多独特的特性,使得原有的针对网格计算的资源分配和调度算法已无法在该环境中有效的工作。本文提出的蚁群优化分配算法,综合考虑了云计算的一系列特点,以期在这种环境中能够高效地为用户作业分配合适的计算资源。 1 问题描述 云计算由网格计算演变而成,并将网格计算作为其骨干和基本结构。可以说,云计算是网格计算的一种更高级的形式。但是,这两者之间在现实中存在着巨大的区别,具体可以参见文献[1]。 云计算提供了更多抽象的资源和服务。这些资源和服务可划分为三个类别,分别是软件即服务(Software as a Service),平台即服务(Platform as a Service)和设备即服务(Infrastructure as a Service) [2,3]。 在软件即服务(SaaS)中,用户会得到一个特殊用途的客户端,该客户端允许用户通过互联网进行远程访问,并且基于使用情况来收取费用。

智能优化算法

智能计算读书报告(二) 智能优化算法 姓名:XX 学号:XXXX 班级:XXXX 联系方式:XXXXXX

一、引言 智能优化算法又称为现代启发式算法,是一种具有全局优化性能、通用性强、且适用于并行处理的算法。这种算法一般具有严密的理论依据,而不是单纯凭借专家的经验,理论上可以在一定时间内找到最优解或者近似最优解。所以,智能优化算法是一数学为基础的,用于求解各种工程问题优化解的应用科学,其应用非常广泛,在系统控制、人工智能、模式识别、生产调度、VLSI技术和计算机工程等各个方面都可以看到它的踪影。 最优化的核心是模型,最优化方法也是随着模型的变化不断发展起来的,最优化问题就是在约束条件的限制下,利用优化方法达到某个优化目标的最优。线性规划、非线性规划、动态规划等优化模型使最优化方法进入飞速发展的时代。 20世纪80年代以来,涌现出了大量的智能优化算法,这些新颖的智能优化算法被提出来解决一系列的复杂实际应用问题。这些智能优化算法主要包括:遗传算法,粒子群优化算法,和声搜索算法,差分进化算法,人工神经网络、模拟退火算法等等。这些算法独特的优点和机制,引起了国内外学者的广泛重视并掀起了该领域的研究热潮,并且在很多领域得到了成功地应用。 二、模拟退火算法(SA) 1. 退火和模拟退火 模拟退火算法(Simulated Annealing,SA)最早的思想是由N. Metropolis 等人于1953年提出。1983 年,S. Kirkpatrick 等成功地将退火思想引入到组合优化领域。它是基于Monte-Carlo迭代求解策略的一种随机寻优算法,其出发点是基于物理中固体物质的退火过程与一般组合优化问题之间的相似性。模拟退火算法从某一较高初温出发,伴随温度参数的不断下降,结合概率突跳特性在解空间中随机寻找目标函数的全局最优解,即在局部最优解能概率性地跳出并最终趋于全局最优。模拟退火算法是一种通用的优化算法,理论上算法具有概率的全局优化性能,目前已在工程中得到了广泛应用,诸如VLSI、生产调度、控制工程、机器学习、神经网络、信号处理等领域。 模拟退火算法是通过赋予搜索过程一种时变且最终趋于零的概率突跳性,从而可有效避免陷入局部极小并最终趋于全局最优的串行结构的优化算法。 模拟退火其实也是一种贪心算法,但是它的搜索过程引入了随机因素。模拟

搜索算法比较和优化

深度优先搜索和广度优先搜索的比较和优化 第一节比较 一、深度优先搜索的特点是: 1、从上面几个实例看出,可以用深度优先搜索的方法处理的题目是各种各样的。有的搜索深度是已知和固定的,如例题2-4,2-5,2-6;有的是未知的,如例题2-7、例题2-8;有的搜索深度是有限制的,但达到目标的深度是不定的。 但也看到,无论问题的内容和性质以及求解要求如何不同,它们的程序结构都是相同的,即都是深度优先算法(一)和深度优先算法(二)中描述的算法结构,不相同的仅仅是存储结点数据结构和产生规则以及输出要求。 2、深度优先搜索法有递归以及非递归两种设计方法。一般的,当搜索深度较小、问题递归方式比较明显时,用递归方法设计好,它可以使得程序结构更简捷易懂。当搜索深度较大时,如例题2-5、2-6。当数据量较大时,由于系统堆栈容量的限制,递归容易产生溢出,用非递归方法设计比较好。 3、深度优先搜索方法有广义和狭义两种理解。广义的理解是,只要最新产生的结点(即深度最大的结点)先进行扩展的方法,就称为深度优先搜索方法。在这种理解情况下,深度优先搜索算法有全部保留和不全部保留产生的结点的两种情况。而狭义的理解是,仅仅只保留全部产生结点的算法。本书取前一种广义的理解。不保留全部结点的算法属于一般的回溯算法范畴。保留全部结点的算法,实际上是在数据库中产生一个结点之间的搜索树,因此也属于图搜索算法的范畴。 4、不保留全部结点的深度优先搜索法,由于把扩展出的结点从数据库中弹出删除,这样,一般在数据库中存储的结点数就是深度值,因此它占用的空间较少,所以,当搜索树的结点较多,用其他方法易产生内存溢出时,深度优先搜索不失为一种有效的算法。 5、从输出结果可看出,深度优先搜索找到的第一个解并不一定是最优解。例如例题2-8得最优解为13,但第一个解却是17。 如果要求出最优解的话,一种方法将是后面要介绍的动态规划法,另一种方法是修改原算法:把原输出过程的地方改为记录过程,即记录达到当前目标的路径和相应的路程值,并与前面已记录的值进行比较,保留其中最优的,等全部搜索完成后,才把保留的最优解输出。 二、广度优先搜索法的显著特点是:

智能优化算法综述

智能优化算法的统一框架 指导老师:叶晓东教授 姓名:李进阳 学号:2 班级:电磁场与微波技术5班 2011年6月20日

目录 1 概述 (3) 2群体智能优化算法.................................. 错误!未定义书签。 人工鱼群算法 (4) 蚁群算法 (5) 混合蛙跳算法 (9) 3神经网络算法 (10) 神经网络知识点概述 (10) 神经网络在计算机中的应用 (11) 4模拟退火算法 (15) 5遗传算法.......................................... 错误!未定义书签。 遗传算法知识简介 (17) 遗传算法现状 (18) 遗传算法定义 (19) 遗传算法特点和应用 (20) 遗传算法的一般算法 (21) 遗传算法的基本框架 (26) 6总结 (28) 7感谢 (29)

1概述 近年来,随着人工智能应用领域的不断拓广,传统的基于符号处理机制的人工智能方法在知识表示、处理模式信息及解决组合爆炸等方面所碰到的问题已变得越来越突出,这些困难甚至使某些学者对强人工智能提出了强烈批判,对人工智能的可能性提出了质疑。众所周知,在人工智能领域中,有不少问题需要在复杂而庞大的搜索空间中寻找最优解或准优解。像货朗担问题和规划问题等组合优化问题就是典型的例子。在求解此类问题时,若不能利用问题的固有知识来缩小搜索空间则会产生搜索的组合爆炸。因此,研究能在搜索过程中自动获得和积累有关搜索空间的知识,并能自适应地控制搜索过程,从而得到最优解或准有解的通用搜索算法一直是令人瞩目的课题。智能优化算法就是在这种背景下产生并经实践证明特别有效的算法。 2群体智能优化算法 自然界中群体生活的昆虫、动物,大都表现出惊人的完成复杂行为的能力。人们从中得到启发,参考群体生活的昆虫、动物的社会行为,提出了模拟生物系统中群体生活习性的群体智能优化算法。在群体智能优化算法中每一个个体都是具有经验和智慧的智能体 (Agent) ,个体之间存在互相作用机制,通过相互作用形成强大的群体智慧来解决复杂的问题。自 20世纪 90年代模拟蚂蚁行为的蚁群算法(ACO)提出以来,又产生了模拟鸟类行为的微粒群算法 ( PSO)、模拟鱼类生存习性的人工鱼群算法、模拟青蛙觅食的混合蛙跳算法 ( SFLA)等。这些群体智能优化算法的出现,使原来一些复杂的、难于用常规的优化算法进行处理的问题可以得到解决,大大增强了人们解决和处理优化问题的能力,这些算法不断地用于解决工程实际中的问题,使得人们投入更大的精力对其理论和实际应用进行研究。群体智能优化算法本质上是一种概率搜索,它不需要问题的梯度信息具有以下不同于传统优化算法的特点: ①群体中相互作用的个体是分布式的,不存在直接的中心控制,不会因为个别个体出现故障而影响群体对问题的求解,具有较强的鲁棒性; ②每个个体只能感知局部信息,个体的能力或遵循规则非常简单,所以群体智能的实现简单、方便; ③系统用于通信的开销较少,易于扩充; ④自

基于人工智能的路径查找优化算法【精品毕业设计】(完整版)

毕业设计[论文] 题目:基于人工智能的路径查找优化算法 学生姓名: Weston 学号:090171021XXX 学部(系):信息科学与技术学部 专业年级:计算机应用技术 指导教师:XXX 职称或学位: XX 2012 年 5 月 18 日

目录 摘要............................................................... II ABSTRACT ........................................................... III KEY WORDS .......................................................... III 1.前言 (1) 2.概述 (2) 2.1遗传算法优缺点 (2) 2.2遗传算法应用领域 (3) 2.3遗传算法基本流程 (3) 3.传统遗传算法解决旅行商问题 (5) 3.1常用概念 (5) 3.2基本过程 (5) 3.3关键步骤 (5) 3.4总结 (8) 4.改进后的遗传算法 (9) 4.1编码、设计遗传算子 (9) 4.2种群初始化 (9) 4.3评价 (10) 4.4选择复制 (10) 4.5交叉 (11) 4.6变异 (12) 4.7终结 (13) 5.系统设计与实现 (14) 5.1系统设计 (14) 5.2系统实现 (17) 5.3结果分析 (20) 6.总结 (21) 参考文献 (22) 致谢 (23)

基于人工智能的路径查找优化算法 摘要 旅行商是一个古老且有趣的问题它可以描述为:给定n个城市以及它们之间的距离(城市i到城市j的距离),求解从其中一个城市出发对每个城市访问,且仅访问一d ij 次,最后回到出发的城市,应当选取怎样的路线才能使其访问完所有的城市后回到初始的城市且走过的路程最短。 旅行商问题已被证明是属优化组合领域的NP难题,而且在现实中的许多问题都可以转化为旅行商问题来加以解决。解决旅行商问题最一般的方法就是枚举出所有可能的路线然后对每一条进行评估最后选取出路程最短的一条即为所求解。 解决旅行商问题的各种优化算法都是通过牺牲解的精确性来换取较少的耗时,其他一些启发式的搜索算法则依赖于特定的问题域,缺乏通用性,相比较而言遗传算法是一种通用性很好的全局搜索算法。 遗传算法GA( genetic algorithm) 最早由美国密歇根大学的John Holland 提出。具有自组织、自适应、自学习和群体进化功能有很强的解决问题的能,在许多领域都得到了应用。 遗传算法以其广泛的适应性渗透到研究与工程的各个领域,已有专门的遗传算法国际会议,每两年召开一次,如今已开了数次,发表了数千篇论文,对其基本的理论、方法和技巧做了充分的研究。今天,遗传算法的研究已成为国际学术界跨学科的热门话题之一。 关键词:人工智能;遗传算法;TSP;旅行商问题

一种新型的智能优化方法—人工鱼群算法

浙江大学 博士学位论文 一种新型的智能优化方法—人工鱼群算法 姓名:李晓磊 申请学位级别:博士 专业:控制科学与工程 指导教师:钱积新 2003.1.1

加,,Z掌博士学位论文一III- 摘要 (优化命题的解决存在于许多领域,对于国民经济的发展也有着巨大的应用前景。随着优化对象在复杂化和规模化等方面的提高,基于严格机理模型的传统优化方法在实施方面变得越来越困难。厂吖 本文将基于行为的人工智能思想通过动物自治体的模式引入优化命题的解决中,构造了一种解决问题的架构一鱼群模式,并由此产生了一种高效的智能优化算法一人工鱼群算法。 文中给出了人工鱼群算法的原理和详细描述,并对算法的收敛性能和算法中各参数对收敛性的影响等因素进行了分析;针对组合优化问题,给出了人工鱼群算法在其中的距离、邻域和中心等概念,并给出了算法在组合优化问题中的描述;针对大规模系统的优化问题,给出了基于分解协调思想的人工鱼群算法;给出了人工鱼群算法中常用的一些改进方法;给出了人工鱼群算法在时变系统的在线辨识和鲁棒PID的参数整定中两个应用实例j最后指出了鱼群模式和算法的发展方向。 f在应用中发现,人工鱼群算法具有以下主要特点: ?算法只需要比较目标函数值,对目标函数的性质要求不高; ?算法对初值的要求不高,初值随机产生或设定为固定值均可以; ?算法对参数设定的要求不高,有较大的容许范围; ?算法具备并行处理的能力,寻优速度较快; ?算法具备全局寻优的能力; 鱼群模式和鱼群算法从具体的实施算法到总体的设计理念,都不同于传统的设计和解决方法,同时它又具有与传统方法相融合的基础,相信鱼群模式和鱼群算法有着良好的应用前景。∥ / 关键词人工智能,集群智能,动物自治体,人工鱼群算法,f优∥ ,l/。7

灰 狼 优 化 算 法 ( G W O ) 原 理

智能优化算法 人们总是能从大自然中得到许多启迪,从生物界的各种自然现象或过程中获得各种灵感,由此提出了许多能够解决复杂函数优化的启发式算法,主要分为演化算法和群体智能算法。 演化算法是一种模拟生物进化的随机计算模型,通过反复迭代,那些适应能力强的个体被存活下来,比如遗传算法,进化规划,进化策略等。 群体智能算法是通过观察社会生物群体的各种行为得到启发而提出的一种新型的生物启发式计算方法,比如蚁群、鸟群、狼群、鱼群、萤火虫群等。 2、演化算法 遗传算法(Genetic Algorithm,GA):是基于Darwin进化论和Mendel的遗传学说的随机化自适应搜索算法,最先由美国Michigan 大学的Holland教授于1975年提出。由于采用了类似物种进化过程中基因的选择、交叉和编译等操作手段,使得遗传算法在本质上成为一类非确定性算法,具有全局搜索能力,特别适用于多峰值函数的优化问题。遗传算法思想是从代表问题可能潜在解集的一个种群开始,一个种群由经过基因编码的一定数目的个体组成,初始种群生产之后,按照适者生存和优胜略汰的原理,逐代演化生产出越来越好的近似解。每一代,根据问题域中个体的适应度挑选个体,并借助自然遗传学的遗传算子进行交叉和变异,产生出代表新的解集的种群。这过

程将导致种群像自然进化一样,后代种群比前代更加适应环境,末代种群中的最优个体经过编码可以作为问题的近似解。在人工智能研究中,人们认为遗传算法、自适应系统、细胞自动机、混沌理论与人工智能一样,都是对今后的计算技术有重大影响的关键技术。 差异演化算法(Differential Evolution, DE):是一种基于群体差异的演化算法,该算法是RainerStorn和KennedyPrice在1996年为求解切比雪夫多项式而提出,随后在各个领域得到了广泛应用。差异演化是基于实数编码的进化演化算法,它的群体结构类似于遗传算法,与遗传算法的主要区别在变异操作上,差异演化的变异操作是基于染色体的差异向量进行,其余操作和遗传算法类似。由于差异演化的关键步骤变异操作是基于群体的差异向量信息来修正各个体的值,随着进化代数的增加,各个体之间的差异化信息在逐渐缩小,以至于后期收敛速度变慢,甚至有时会陷入局部最优点。 3、群体智能算法 群体智能优化算法统一框架模式: 群体智能优化算法是一类基于概率的随机搜索进化算法,各个算法之间存在结构、研究内容、计算方法等具有较大的相似性。因此,群体智能优化算法可以建立一个基本的理论框架模式:Step1:设置参数,初始化种群; Step2:生成一组解,计算其适应值; Step3:由个体最有适应着,通过比较得到群体最优适应值; Step4:判断终止条件示否满足?如果满足,结束迭代;否则,转

基于和声搜索算法的云制造服务组合优化研究

ABSTRACT Cloud manufacturing is a new kind of manufacturing model which is service-oriented,networked and intelligent.It mergers some technologies together such as cloud computing,big data,Internet of Things and high performance computing technology and carries through virtualization encapsulation on manufacturing resources and manufacturing capacity,so as to form cloud manufacturing services and make them merger together to form a resource pool of cloud manufacturing services.The cloud manufacturing system combines and calls cloud manufacturing services resources according to the needs which are submitted by users in the cloud manufacturing platform.Therefore,manufacturing services resources can be responded and scheduled more efficiently and can also be configured in a more reasonable way.However,in the process,how to better realize the optimization of cloud manufacturing services combination is the key problem that needs to be further researched. The cloud manufacturing model reorganizes the loosely distributed manufacturing service resources and builds a manufacturing resource pool that is managed and scheduled by the cloud manufacturing platform by integrating large-scale,diversified,discrete manufacturing resources and capabilities.The cloud manufacturing service portfolio is an orderly combination of cloud services according to certain rules. Each tightly-coordinated manufacturing service chain is formed for manufacturing tasks.The appropriate method is used to optimize the composite service so that the combined manufacturing cloud service meets customer satisfaction in terms of manufacturing time,cost,and quality,etc.Among them,the process of portfolio service optimization has become an NP-hard problem due to the large number of selectable manufacturing services and manufacturing service portfolio paths. The optimization problem of cloud manufacturing services combination is a typical NP-hard problem, which is nonlinear,multiple-targeted and uncertain that makes the problem face many challenges when the model is established.This paper modifies the time calculation method of the model in the existing literature, first discriminates the service with the largest service execution time in the parallel service,and then counts it into the total service execution time.The modified model was solved by the harmony search algorithm and the results of different parameters were compared and analyzed.The results show that the combination III

经典优化算法1

经典优化算法:单纯形法、椭球算法(多项式算法),内点法、无约束的优化算法包括:最速下降法(steepest)、共轭梯度法、牛顿法(Newton Algorithm)、拟牛顿法(pseudo Newton Algorithms)、信赖域法。约束优化算法包括:拉格朗日乘子法(Augmented Lagrangian Algorithms),序列二次规划(SQP)等 现代:遗传算法、蚁群算法、模拟退火算法、禁忌搜索、粒子群算法、现代优化算法是人工智能的一个重要分支,这些算法包括禁忌搜索(tabu search)、模拟退火(simulated annealing)、遗传算法(genetic algorithms)人工神经网络(nearal networks)。 贪婪算法和局部搜索、模拟退火算法(Simulated Annealing Algorithm),人工神经网络(Artificial Neural Network),禁忌搜索(Tabu Search)相继出现。最近,演化算法(Evolutionary Algorithm), 蚁群算法(Ant Algorithms),拟人拟物算法,量子算法、混合算法 经典优化算法和启发式优化算法都是迭代算法,但是,它们又有很大区别:1.经典算法是以一个可行解为迭代的初始值,而启发式算法是以一组可行解为初始值;2.经典算法的搜索策略为确定性的,而启发式算法的搜索策略是结构化和随机化;3.经典算法大多都需要导数信息,而启发式算法仅用到目标函数值的信息;4.经典算法对函数性质有着严格要求,而启发式算对函数性质没有太大要求; 5.经典算法的计算量要比启发式算法小很多。比如,对于规模较大且函数性质比较差的优化问题,经典算法的效果不好,但一般的启发式算法的计算量太大。 优化算法的主要由搜索方向和搜索步长组成。搜索方向和搜索步长的选区决定了优化算法的搜索广度和搜索深度。经典优化算法和启发式优化算法的区别主要是由其搜索机制不同造成的。经典算法的搜索方向和搜索步长是由局部信息(如导数)决定的所以只能对局部进行有效的深度搜索,而不能进行有效广度搜索,所以经典的优化算法很难跳出局部最优。启发式优化算法,为了避免像经典优化算法那样陷入局部最优,采用了相对有效的广度搜索,不过这样做使得在问题规模较大的时候计算量难以承受。 纵观优化算法的发展,完美的算法是不存在的。我们评价算法好坏的标准: (1)算法收敛速度; (2)算法使用范围(普适性);

灰 狼 优 化 算 法 ( G W O ) 原 理

GWO(灰狼优化)算法MATLAB源码逐行中文注解 以优化SVM算法的参数c和g为例,对GWO算法MATLAB源码进行了逐行中文注解。 tic % 计时器 %% 清空环境变量 close all format compact %% 数据提取 % 载入测试数据wine,其中包含的数据为classnumber = 3,wine:178*13的矩阵,wine_labes:178*1的列向量 load wine.mat % 选定训练集和测试集 % 将第一类的1-30,第二类的60-95,第三类的131-153做为训练集 train_wine = [wine(1:30,:);wine(60:95,:);wine(131:153,:)]; % 相应的训练集的标签也要分离出来 train_wine_labels = [wine_labels(1:30);wine_labels(60:95);wine_labels(131:153)] ; % 将第一类的31-59,第二类的96-130,第三类的154-178做为测

试集 test_wine = [wine(31:59,:);wine(96:130,:);wine(154:178,:)]; % 相应的测试集的标签也要分离出来 test_wine_labels = [wine_labels(31:59);wine_labels(96:130);wine_labels(154:178 )]; %% 数据预处理 % 数据预处理,将训练集和测试集归一化到[0,1]区间 [mtrain,ntrain] = size(train_wine); [mtest,ntest] = size(test_wine); dataset = [train_wine;test_wine]; % mapminmax为MATLAB自带的归一化函数 [dataset_scale,ps] = mapminmax(dataset',0,1); dataset_scale = dataset_scale'; train_wine = dataset_scale(1:mtrain,:); test_wine = dataset_scale( (mtrain+1):(mtrain+mtest),: ); %% 利用灰狼算法选择最佳的SVM参数c和g SearchAgents_no=10; % 狼群数量,Number of search agents Max_iteration=10; % 最大迭代次数,Maximum numbef of iterations dim=2; % 此例需要优化两个参数c和g,number of your

自适应搜索优化算法

*)国家863计划专项课题(2007AA01Z330),江苏省科技厅高技术研究项目(BG2007022),江苏省高校自然科学基金项目(07KJB510095)。周 晖 博士研究生,副教授,主要研究方向为智能计算、计算机网络等;邵世煌 教授,博士生导师。 计算机科学2008V ol 35 10 自适应搜索优化算法*) 周 晖1,2 徐 晨1 邵世煌2 李丹美2 (南通大学电子信息学院 南通226019)1 (东华大学信息科学与技术学院 上海201620) 2 摘 要 自由搜索算法是一种新的群集智能优化算法,已经成功地应用于函数优化问题。针对该算法所存在的对参数敏感等问题,提出自适应搜索算法。通过自适应实时调整搜索半径、搜索步、灵敏度等参数,提高算法对环境的适应性、鲁棒性和在 探索!和 开发!之间的平衡能力。对典型函数的试验结果证明,新算法不仅降低了对参数的依赖性,而且成功率高、收敛速度快,能有效避免陷入局部次优。关键词 自由搜索(F S),自适应,群集智能,函数优化 Adaptive Free Search Algorithm ZH O U Hui 1,2 X U Chen 1 SH A O Shi huang 2 LI Dan mei 2 (S chool of Electronics and inform ation,Nanton g U nivers ity,Nantong 226019,C hina)1 (College of Inform ation Science and T ech nology,Donghu a University,Shanghai 201620,China)2 Abstract Free search is a novel swar m int elligence a lg or ithm.A new adaptiv e f ree sear ch algo rithm (A FS)w as pr es ented t o solve t he problem that the basic free search algo rithm is sensitive to so me parameter s.T he new alg or ithm (A FS),w hich is based o n adapt ively adjusting neig hbour space and steps,sensitiv ity ,can balance the g lobal sea rch and lo cal sea rch to impro ve A FS ?s co nv erg ence and roboutness.T he ex perimental r esults show that the new alg or ithm no t only solve the pr oblem of the dependence on parameter s but also has g reat adv antag e o f conver gence pro per ty over basic free search alg or ithm and particle sw ar m optimizatio n,and can av oid the premature converg ence pro blem effect ively.Keywords F ree sea rch (FS),A da ptability ,Sw arm intellig ence,Function optimizatio n 1 引言 群集智能(Sw arm Intellig ence)是计算智能领域的重要组成部分,作为一种新兴的演化计算技术已经成为越来越多研究者关注的焦点[1 3]。目前,群集智能的典型实现主要有两种:蚁群优化(A nt co lony optim izat ion,A CO )[4]和微粒群优化(P article sw arm o pt imizatio n,PSO)[5]。 英国学者K.P enev 和G.L ittlefair 基于 以不确定应对不确定,以无穷尽应对无穷尽!的思想,提出一种新的群集智能优化算法###自由搜索(F ree Sear ch,F S)[6]。该算法借鉴动物个体存在各异的嗅觉和机动性,提出了灵敏度和邻域搜索半径的概念,并利用蚂蚁释放信息素的机理,通过信息素和灵敏度的比较确定寻优目标,应用于函数优化,并显示出很好的性能[7] 。目前对自由搜索算法的研究不多,挖掘其寻优潜能很有意义[8]。进一步研究发现,若参数设置不当,该算法收敛速度慢、收敛精度低,甚至易于陷入局部极值区。 针对上述问题,为了提高种群对环境的适应性,本文提出自适应搜索(A daptive F ree Search,A FS)算法,对基本F S 算法做以下改进:实时调整搜索半径、搜索步和灵敏度等参数,精英保留,极值点判断与处理。新算法力图降低算法对设置参数的敏感性,提高其鲁棒性和搜索能力。 2 基本FS 算法 FS 的算法模型中,个体在其搜索半径内随机产生T 个 坐标,找出其中最佳适应度坐标并且计算其信息素,通过信息素和灵敏度的比较,确定个体的新坐标。动物个体在其邻域内的行为描述如下: x tj i =x 0j i - x tj i +2 x tj i ?random tj i (0,1) x tj i =R j ?(x i max -x i min )?r andom tj i (0,1) (1) 这里,r andom tj i (0,1)是(0,1)内均匀分布的随机数;x i max 和x i min 是第i 维变量的最大值和最小值;j 代表第j 只个体(j =1,2,%,m);R j 是第j 只个体在搜索空间邻域的搜索半径(R j &[R min ,R ma x ]);t 是搜索步(w alk )中的当前小步(t =1,2,%,T );T 是搜索步数。 搜索过程中,对目标函数的符号做如下规定:f tj =f (x tj i );f j =max (f tj ),这里f (x tj i )是一个个体完成搜索步后,信息素做标记位置的目标函数值。 信息素定义为 P j = f j max (f j ) (2) 这里,max (f j )是搜索步内所有个体的当前最佳值。 灵敏度定义为S j =S min + S j S j =(S max -S min )?r andom j (0,1) (3) 这里S min ,S max 是灵敏度的最小值和最大值,r andom j (0,1)是均匀分布的随机数。 信息素的最小值和最大值分别为P m in ,P m ax 。规定:S min =P m in ,S ma x =P max 。在一轮搜索结束后,确定个体j 的新坐标, ? 188?

相关文档
最新文档