基于遗传算法和蚂蚁算法求解函数优化问题

合集下载

一种遗传蚁群融合算法的函数优化求解问题

一种遗传蚁群融合算法的函数优化求解问题

一种遗传蚁群融合算法的函数优化求解问题摘要:遗传算法是一种借鉴生物界自然选择和自然遗传机制的随机化搜索方法,可直接对结构对象进行操作,但是如果兼顾收敛速度和解的品质两个指标,单纯的遗传算法未必表现出原理本身的优越性。

针对上述问题,提出一种新的遗传蚁群融合算法,利用蚁群算法的正反馈机制,来提高遗传算法运行的速度和效率,从而更好更快的解决函数优化求解问题。

关键词:遗传算法蚁群算法算法融合函数优化遗传算法[1](genetic algorithm,GA)是一种模拟自然选择和遗传进化机制的优化算法,它是由美国Michigan大学的Holland教授于20世纪70年代提出的。

它的主要特点是简单、通用、鲁棒性强,适用于并行分布处理,应用范围广。

蚁群算法[2](ant colony algorithm,ACA)是由意大利学者Dorigo于20世纪90年代初在他自己的博士论文中提出。

它是一种最新发展的模拟昆虫王国中蚂蚁群体觅食行为的仿生优化算法,该算法采用了正反馈并行自催化机制,具有较强的鲁棒性、优良的分布式计算机制、易于与其它方法结合等优点。

但是它的缺点是运算初期信息素匮乏,求解速度缓慢。

优化问题的求解在遗传算法研究中占很大比重,诸如TSP等组合优化问题一直是遗传算法十分活跃的研究课题。

尽管遗传算法比其它传统搜索方法有更强的鲁棒性,但它对于算法计算过程中的反馈信息却没有利用,往往由此导致无为的冗余迭代,从而使得求解的效率不断降低。

且遗传算法更善长全局搜索而局部搜索能力却不足。

遗传算法可以用极快的速度达到最优解的90%左右,但要达到真正的最优解则要花费很长的时间。

一些对比实验还表明,如果兼顾收敛速度和解的品质两个指标,单纯的遗传算法方法未必比其它搜索方法更优越。

为此,除了要进一步改进基本理论和方法外,还要采用和神经网络、模拟退火或专家系统等其它方法结合的策略。

许多研究结果表明,采用这种混合模型可有效提高遗传算法的局部搜索能力,从而进一步改善其收敛速度和解的品质。

浅谈几种智能优化算法

浅谈几种智能优化算法

浅谈几种智能优化算法智能优化算法是一类通过模拟自然界中生物和群体行为来解决优化问题的算法。

这类算法通常具备全局能力和对复杂问题的适应性,已经在各个领域取得了广泛的应用。

本文将对几种常用的智能优化算法进行简要介绍,包括遗传算法、粒子群优化算法和蚁群算法。

首先是遗传算法(Genetic Algorithm, GA)。

遗传算法是模拟生物进化和遗传的优化算法。

在遗传算法中,问题的解被表示为一组基因,通过交叉、变异和选择等操作进行优化。

交叉操作模拟生物的基因组合,变异操作模拟基因的突变,而选择操作则根据适应度函数来选择生存下来的个体。

遗传算法具有全局能力和对多模态问题的适应性,应用广泛。

但是,遗传算法的计算复杂度相对较高,需要大量的计算资源。

接下来是粒子群优化算法(Particle Swarm Optimization, PSO)。

粒子群优化算法通过模拟鸟群或鱼群等集体行为来进行。

在粒子群优化算法中,问题的解被表示为一群粒子,每个粒子都有自己的位置和速度。

粒子不断根据自身位置和速度调整,同时通过与邻近粒子交换信息来进行优化。

最终,粒子群会在空间中寻找到最优解。

粒子群优化算法具有较好的全局能力和对约束问题的适应性,计算效率也较高。

最后是蚁群算法(Ant Colony Optimization, ACO)。

蚁群算法是模拟蚂蚁觅食行为的优化算法。

在蚁群算法中,问题的解表示为蚁群在空间中的路径。

每只蚂蚁都会根据自身的信息素和相邻蚂蚁释放的信息素来选择行动方向,并根据路径上的信息素水平进行跟新。

蚁群算法通过信息素的正反馈和挥发来实现自适应的过程,最终蚂蚁会找到一条较优的路径。

蚁群算法具有强大的全局能力和对动态环境的适应性,但是算法的收敛速度较慢。

综上所述,遗传算法、粒子群优化算法和蚁群算法是几种常用的智能优化算法。

这些算法通过模拟自然界中的生物和群体行为,在求解复杂优化问题时展现了良好的性能和效果。

不同的算法适用于不同类型的问题,选择合适的算法是优化过程中的关键。

基于遗传算法和二进制蚁群算法的DV-Hop定位算法的优化

基于遗传算法和二进制蚁群算法的DV-Hop定位算法的优化

基于遗传算法和二进制蚁群算法的DV-Hop定位算法的优化LIN Feng-de;CHEN Jia-pin;DING Kai;LI Zhen-bo【摘要】无线传感器网络(WSN)是一种由节点组成的无线自组织网络,在很多领域中有广泛的使用.节点定位是无线传感器网络中最重要的部分,使用无测距定位算法中传统的DV-Hop算法来定位误差较大.为了提高DV-Hop算法的精确度,提出了一种基于遗传算法和二进制蚁群算法来改进DV-Hop定位算法.遗传算法中利用了线性交叉和非均匀变异算子在种群中进行搜索,在此基础上,采用二进制蚁群算法进行进一步的搜索,而后比较适应度函数来保留较优的个体,从而产生了新一代种群.二进制蚁群算法中使得每只蚂蚁的智能化比较低,每条路径对应的存储空间相对较小,显著提高了计算效率.仿真的结果表明,提出的算法比传统的DV-Hop算法、基于遗传算法的DV-Hop算法有更快的收敛速度和更高的定位精度.【期刊名称】《仪表技术与传感器》【年(卷),期】2019(000)001【总页数】6页(P86-90,96)【关键词】WSN;DV-Hop算法;遗传算法;二进制蚁群算法;适应度函数;定位精度【作者】LIN Feng-de;CHEN Jia-pin;DING Kai;LI Zhen-bo【作者单位】;;;【正文语种】中文【中图分类】TN9290 引言近年来,随着微机电系统(MEMS)、集成电路系统技术、通信技术以及计算机软件的巨大进步,带动了大规模分布式无线传感器网络的快速发展。

无线传感器网络(wireless sensor network,WSN)是由部署在检测区域内的大量低成本传感器节点通过无线通信方式形成的一种多跳自组织的网络系统。

其目的是协作地感知、采集和处理网络覆盖区域中感知的对象信息,并发送给观察者。

WSN 提供了一种新颖的信息获取和处理方法,在医疗卫生、环境监测、军事作战等方面具有广泛的应用,所以,WSN已经成为21世纪最受瞩目的科技之一[1-2]。

遗传算法与蚁群算法简介

遗传算法与蚁群算法简介
*
实数编码的GA通常采用算术交叉: 双个体算术交叉:x1、x2为父代个体,α ∈(0, 1)为随机数 x1' = αx1 + (1 - α)x2 x2' = αx2 + (1 - α)x1 多个体算术交叉: x1, …, x2为父代个体; αi ∈(0, 1)且∑αi = 1 x' = α1x1 + α2x2 + … + αnxn 组合优化中的置换编码GA通常采用 部分映射交叉(partially mapping crossover, PMX):随机选择两个交叉点,交换交叉点之间的片段;对于其他基因,若它不与换过来的片段冲突则保留,若冲突则通过部分映射来确定最后的基因 p1 = [2 6 4 | 7 3 5 8 | 9 1] p1' = [2 3 4 | 1 8 7 6 | 9 5] p2 = [4 5 2 | 1 8 7 6 | 9 3] p2' = [4 1 2 | 7 3 5 8 | 9 6]
北京交通大学计算机与信息技术学院
*
智能优化算法简介
*பைடு நூலகம்
20世纪80年代以来,一些优化算法得到发展 GA、EP、ACO、PSO、SA、TS、ANN及混合的优化策略等 基本思想:模拟或揭示某些自然现象或过程 为用传统的优化方法难以解决的NP-完全问题提供了有效的解决途径 由于算法构造的直观性与自然机理,因而通常被称作智能优化算法(intelligent optimization algorithms),或现代启发式算法(meta-heuristic algorithms) [智能优化算法及其应用,王凌,清华大学出版社,2001]
线性次序交叉(LOX)
单位置次序交叉(C1)
类似于OX。选择一个交叉位置,保留父代个体p1交叉位置前的基因,并在另一父代个体p2中删除p1中保留的基因,将剩余基因填入p1的交叉位置后来产生后代个体p1'。如父代个体同前,交叉位置为4,则后代个体为p1' =[2 6 4 7 | 5 1 8 9 3],p2' =[4 5 2 1 | 6 7 3 8 9]

遗传算法与蚁群算法的效果比较

遗传算法与蚁群算法的效果比较

遗传算法与蚁群算法的效果比较随着计算机技术的发展,人工智能逐渐成为了一个热门话题。

其中,算法是实现人工智能的基础,而遗传算法和蚁群算法则是两种较为流行的算法。

那么,这两种算法的效果如何呢?今天,我们就来比较一下遗传算法与蚁群算法的效果。

一、遗传算法遗传算法,是一种基于自然选择和遗传进化的优化算法。

遗传算法是通过模仿自然界中的进化过程,不断地变异和选择,来获取优良解的算法。

遗传算法最开始是用来解决复杂的优化问题,如函数优化、组合优化等。

遗传算法实现的过程可以简单地分为三个部分:选择、交叉和变异。

选择是在种群中选择合适的个体,使其能够进入下一代;交叉是通过染色体的重组,产生新的个体;变异是在单个个体的染色体中引入一些随机变异。

遗传算法因其在搜索解空间上的出色表现而得到了广泛的应用。

但是,它也存在着一些问题。

如容易陷入局部最优解、算法计算时间长等。

二、蚁群算法蚁群算法是另一种流行的优化算法,它是一种模拟蚂蚁觅食的行为来处理最优解问题的方法。

蚁群算法的灵感来源于蚂蚁在寻找食物时的行为。

蚂蚁会留下信息素,使得其他蚂蚁找到食物的概率也会增大,从而实现了蚂蚁群体的集体智慧。

蚁群算法的优点在于它能够通过局部搜索来帮助找到全局最优解。

它的本质是通过不断调整问题的搜索关键字而找到最优解。

与遗传算法不同,蚁群算法能够通过一步步的迭代来逼近最优解,因此蚁群算法更适用于某些复杂问题的求解。

但是,蚁群算法存在的问题是需要调整参数才能达到最优解。

同时,蚁群算法对问题的输入比较敏感,也容易陷入局部最优。

三、效果比较上述两种算法都能用来解决优化问题,但具体哪一种优化效果更好呢?不同的优化问题需要不同的算法才能得到更加合适的解决方案。

下面,我们以某个实际问题作为例子,来比较一下这两种算法的效果。

假设有一个工厂需要完成一人任务,可以用五台机器加工。

不同的机器之间的加工时间不同,但是任务需要按照固定的顺序加工才能完成。

我们需要确定哪个工序分配给哪个机器,才能使得任务的加工时间最短。

遗传算法与蚁群算法结合

遗传算法与蚁群算法结合

遗传算法与蚁群算法结合遗传算法1、基本思想2、算法原理3、代码实现4、结果截图5、总结1·基本思想吸取两个算法的优点,优缺互补,克服两个算法的缺点,利⽤了遗传算法的快速时间效率,优于蚂蚁算法的时间效率。

并且求解精度效率优于遗传算法。

这样就提⾼了两个算法结合的算法时间效率和求解精度。

2、算法原理这个算法的原理是先利⽤遗传算法的快速性、全局收敛性和随机性求出结果,结果产⽣有关问题的初始信息素分布,遗传算法执⾏完在运⽤蚁群算法,在⼀定初始信息素分布的情况下,充分利⽤蚁群算法并⾏性、正反馈性、求解精度效率⾼的特点。

3、代码实现%mainclear;clc;%%%%%%%%%%%%%%%输⼊参数%%%%%%%%N=50; %%城市的个数M=100; %%种群的个数ITER=500; %%迭代次数%C_old=C;m=2; %%适应值归⼀化淘汰加速指数Pc=0.8; %%交叉概率Pmutation=0.05; %%变异概率%%⽣成城市的坐标pos=randn(N,2);%%⽣成城市之间距离矩阵D=zeros(N,N);for i=1:Nfor j=i+1:Ndis=(pos(i,1)-pos(j,1)).^2+(pos(i,2)-pos(j,2)).^2;D(i,j)=dis^(0.5);D(j,i)=D(i,j);endend%%⽣成初始群体popm=zeros(M,N);for i=1:Mpopm(i,:)=randperm(N);%随机排列,⽐如[2 4 5 6 1 3]end%%随机选择⼀个种群R=popm(1,:);figure(1);scatter(pos(:,1),pos(:,2),'rx');%画出所有城市坐标axis([-3 3 -3 3]);figure(2);plot_route(pos,R); %%画出初始种群对应各城市之间的连线axis([-3 3 -3 3]);%%初始化种群及其适应函数fitness=zeros(M,1);len=zeros(M,1);for i=1:M%计算每个染⾊体对应的总长度len(i,1)=myLength(D,popm(i,:));endmaxlen=max(len);%最⼤回路minlen=min(len);%最⼩回路fitness=fit(len,m,maxlen,minlen);rr=find(len==minlen);%找到最⼩值的下标,赋值为rrR=popm(rr(1,1),:);%提取该染⾊体,赋值为Rfor i=1:Nfprintf('%d ',R(i));%把R顺序打印出来endfprintf('\n');fitness=fitness/sum(fitness);distance_min=zeros(ITER+1,1); %%各次迭代的最⼩的种群的路径总长nn=M;iter=0;while iter<=ITERfprintf('迭代第%d次\n',iter);%%选择操作p=fitness./sum(fitness);q=cumsum(p);%累加for i=1:(M-1)len_1(i,1)=myLength(D,popm(i,:));r=rand;tmp=find(r<=q);popm_sel(i,:)=popm(tmp(1),:);end[fmax,indmax]=max(fitness);%求当代最佳个体popm_sel(M,:)=popm(indmax,:);%%交叉操作nnper=randperm(M);% A=popm_sel(nnper(1),:);% B=popm_sel(nnper(2),:);%%for i=1:M*Pc*0.5A=popm_sel(nnper(i),:);B=popm_sel(nnper(i+1),:);[A,B]=cross(A,B);% popm_sel(nnper(1),:)=A;% popm_sel(nnper(2),:)=B;popm_sel(nnper(i),:)=A;popm_sel(nnper(i+1),:)=B;end%%变异操作for i=1:Mpick=rand;while pick==0pick=rand;endif pick<=Pmutationpopm_sel(i,:)=Mutation(popm_sel(i,:));endend%%求适应度函数NN=size(popm_sel,1);len=zeros(NN,1);for i=1:NNlen(i,1)=myLength(D,popm_sel(i,:));endmaxlen=max(len);minlen=min(len);distance_min(iter+1,1)=minlen;fitness=fit(len,m,maxlen,minlen);rr=find(len==minlen);fprintf('minlen=%d\n',minlen);R=popm_sel(rr(1,1),:);for i=1:Nfprintf('%d ',R(i));endfprintf('\n');popm=[];popm=popm_sel;iter=iter+1;%pause(1);end%end of whilefigure(3)plot_route(pos,R);axis([-3 3 -3 3]);figure(4)plot(distance_min);%交叉操作函数 cross.mfunction [A,B]=cross(A,B)L=length(A);if L<10W=L;elseif ((L/10)-floor(L/10))>=rand&&L>10W=ceil(L/10)+8;elseW=floor(L/10)+8;end%%W为需要交叉的位数p=unidrnd(L-W+1);%随机产⽣⼀个交叉位置%fprintf('p=%d ',p);%交叉位置for i=1:Wx=find(A==B(1,p+i-1));y=find(B==A(1,p+i-1));[A(1,p+i-1),B(1,p+i-1)]=exchange(A(1,p+i-1),B(1,p+i-1));[A(1,x),B(1,y)]=exchange(A(1,x),B(1,y));endend%连点画图函数 plot_route.mfunction plot_route(a,R)scatter(a(:,1),a(:,2),'rx');hold on;plot([a(R(1),1),a(R(length(R)),1)],[a(R(1),2),a(R(length(R)),2)]);hold on;for i=2:length(R)x0=a(R(i-1),1);y0=a(R(i-1),2);x1=a(R(i),1);y1=a(R(i),2);xx=[x0,x1];yy=[y0,y1];plot(xx,yy);hold on;endend%染⾊体的路程代价函数 mylength.mfunction len=myLength(D,p)%p是⼀个排列[N,NN]=size(D);len=D(p(1,N),p(1,1));for i=1:(N-1)len=len+D(p(1,i),p(1,i+1));endend%变异函数 Mutation.mfunction a=Mutation(A)index1=0;index2=0;nnper=randperm(size(A,2));index1=nnper(1);index2=nnper(2);%fprintf('index1=%d ',index1);%fprintf('index2=%d ',index2);temp=0;temp=A(index1);A(index1)=A(index2);A(index2)=temp;a=A;end%适应度函数fit.m,每次迭代都要计算每个染⾊体在本种群内部的优先级别,类似归⼀化参数。

面向方案组合优化设计的混合遗传蚂蚁算法

面向方案组合优化设计的混合遗传蚂蚁算法

g n r l e it n e a n c me f nci n c r ir e e ai d d sa c mo g s he u to a re s.Th ptma c me i g i d by t k n h e r lz d z eo i ls he s ane a i g t e g ne aie
用遗 传算 法 ( e ei a oi m,G 中 的适 应 度 函 gn t l r h c g t A) 数, 对方 案设计 过程 中组 合 出的方案 进行 评价 , 并获 得一 组较 优方 案 , 而 由 于 G 本 身 存 在不 能 利 用 然 A
维普资讯
第 1 卷 第 1 期 8 0
20 0 6年 l 0月
计算 机辅 助设计 与 图形学 学报
J OURNAL OF C OMPUT ER— DE DES GN & C AI D I OM P UTER GRAP CS HI
Vo1 1 . 8.NO. 0 1
su e t did,a h o nd t e c mmi g e l o ih c n ld ag rt m omb n n h wo i r v d ag rt ms i r g or r i i g t e t mp o e l o ih s b ou htf wa d.The e e i nt lr s lss o t tt e c mmi g e l o ihm a fe tvey s v he p o lm xp rme a e u t h w ha h o n ld ag rt c n ef c i l ole t r b e whih i r o c sha d t g i heo i ls l to r m o an t ptma u in fo c mbi d s h me n t e p o e so c me d sg o ne c e s i h r c s fs he e i n. Ke r s s h m ed sgn;ge e i l o ih ;a tag rt m ;c mmi gld ag rt m y wo d c e e i n tc ag rt m n l o ih o n e lo ih

全局优化问题的几类新算法

全局优化问题的几类新算法

全局优化问题的几类新算法全局优化问题的几类新算法全局优化问题是指在给定约束条件下,寻找最优解的问题,涉及到多个变量和多个约束条件。

这类问题在实际中很常见,比如最小化成本、最大化利润等。

而解决全局优化问题的算法有很多种,本文将介绍几种新的算法。

1. 遗传算法遗传算法是一种模拟自然进化的算法,通过模拟自然界中基因的选择、交叉和变异等过程,来寻找全局最优解。

遗传算法首先生成一组随机解,并根据适应度函数评估每个解的优劣程度。

然后,根据选择、交叉和变异等操作对解进行优化,逐步迭代,最终找到全局最优解。

不同于传统的优化算法,遗传算法具有全局寻优的特点,不容易陷入局部最优解。

2. 蚁群算法蚁群算法是受到蚁群觅食行为的启发而提出的一种算法。

蚁群算法通过模拟蚂蚁寻找食物的行为,来寻找全局最优解。

在蚁群算法中,每只蚂蚁都会留下信息素,其他蚂蚁通过检测信息素的量来选择路径。

路径上的信息素浓度随着蚂蚁经过而增加,从而使其他蚂蚁更可能选择这条路径。

通过不断迭代,蚁群算法能够找到全局最优解。

3. 粒子群算法粒子群算法是受到鸟群觅食行为的启发而提出的一种算法。

粒子群算法通过模拟鸟群中每只鸟根据个体经验和群体经验来调整自己的位置和速度,从而找到全局最优解。

在粒子群算法中,每个粒子代表一个可能的解,每个粒子会根据自己的位置和速度来更新自己的解,并通过比较当前解与历史最优解来调整自己的位置和速度。

通过不断迭代,粒子群算法能够找到全局最优解。

4. 模拟退火算法模拟退火算法受到固体退火原理的启发而提出的一种全局优化算法。

模拟退火算法通过类似于金属退火的过程,从高温状态逐渐降温,来寻找全局最优解。

在模拟退火算法中,会引入一个接受准则,用于决定是否接受新解。

在高温阶段,接受准则较为宽松,能够接受比当前解要差的解,这样可以更好地摆脱局部最优解。

随着温度的降低,接受准则逐渐变严格,直到得到全局最优解。

5. 其他优化算法除了上述几种新的优化算法外,还有一些其他的优化算法也具有一定的应用价值。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

6H,V$$#一圈中只有最短路径的蚂蚁才进行信息素 修 改 增 加 !这 与 蚁 周 系 统 %,+879781H!Q;#模 型 调 整 方 法 相 似 $##为 了 避 免 算 法 过 早 收 敛 于 非 全 局 最 优 解 !
将各路径的信息素轨迹强度限制 在&6H3+!6H,V’之 间! 超出这个范围的被强制设为6H3+或 者6H,V!从 实 验 结 果看!@@Q;算法在防止算法过早停滞及 有效性 方
处 !要 么 进 行 邻 域 搜 索 9
可 见 一 旦 蚂 蚁 个 数 足 够 多 !搜 索 半 径 足 够 小 !这
种搜寻方式相当于一 群 蚂 蚁 对 区 间 %.!A#做 穷 尽 的
面对 Q;算法有较大的改进>
$!基于 ‘Q 与 QQ 的混合算法的设计
;>:!函数优化问题的 QQ 模型 在函 数 优 化 问 题 中!由 于 最 初 的 蚂 蚁 算 法 思 想
源于离散型的网络 路 径 问 题!因 此 必 须 对 模 型 中 的 实 施 细 节 加 以 修 正&A’>本 文 主 要 研 究 的 是 一 维 函 数 的优化问题>
65-*)(,*%Q3H1D,8801W*(I-1H7(.-(B7(-)83(+W*1<373(+I941+183<,-4(*380H,+D7-(B*17(-63+47W11DI9 ,+8,-4(*380H$,09I*3D,-4(*380HI,71D(+41+183<,-4(*380H,+D,+8,-4(*380H B,7W*171+81D>J01H1*38 (.,Y)3<[,+D*,+D(H4-(I,-71,*<03+43+41+183<,-4(*380H B,7)71D3+8(801W*(W(71D09I*3D,-4(*380H> J01<(D3+4,+D.38+177.)+<83(+ B,7D1734+1D$,+DW(W)-,83(+W*(D)<3+4,+D<0*(H(7(H171-1<83(+ B1*1 W1*.(*H1D>J01D1734+(.<*(77(61*(W1*,8(*,+D H)8,83(+(W1*,8(*B,7D181*H3+1D$,+D801+W01*(H(+1 D378*3I)83(+B,7,<03161D>J01 H1*387(.W(738361.11DI,<[3+,+8,-4(*380H$801W,*,--1-W*(<1773+4,+D 4-(I,-71,*<03+4B1*1)83-3C1D3+801W*(W(71D09I*3D,-4(*380H$,+D8013+383,-6,-)1(.,88*,<83(+3+81+7389 B,7<(+.3*H1D>J01H(D1-(.3+81+7389)WD,83+4B,7718)W$,+D801+8011V,<87(-)83(+B,7(I8,3+1D>J01 ,-4(*380H B,7,WW-31D8(7(-61.)+<83(+(W83H3C,83(+W*(I-1H7>J01*17)-8770(B80,8<(HW,*1DB38041G +183<,-4(*380H ,+D ,+8,-4(*380H$801 W*(W(71D ,-4(*380H <(+61*417.,781*,+D 0,7 I1881*71,*<03+4 ,I3-389> 7&8.")9-%41+183<,-4(*380H&,+8,-4(*380H&.)+<83(+(W83H3C,83(+
摘!要#针对遗传算法求解精度低以及蚂蚁算法求解速度慢的 问 题$提 出 一 种 基 于 遗 传 算 法 和 蚂 蚁 算 法 的 混 合 算 法>该混合算法利用了遗传算法快速随机的全局搜索能力的优点$设计了编码与 适 应 度 函 数$进 行 了 种 群 生 成 与 染 色 体 的 选 择 $并 通 过 设 定 交 叉 算 子 和 变 异 算 子 $生 成 了 信 息 素 分 布 >该 混 合 算 法 利 用 了 蚂 蚁 算 法 正 反 馈 以 及 具 有 分 布式并行全局搜索能力的优点$通过确定吸引强度 的 初 始 值$建 立 了 强 度 更 新 的 模 型$从 而 求 得 精 确 解>并 将 该 算 法 应 用 于 求 解 函 数 优 化 问 题 >结 果 表 明 $该 混 合 算 法 与 遗 传 算 法 和 蚂 蚁 算 法 相 比 $收 敛 速 度 快 $寻 优 性 能 好 > 关 键 词 #遗 传 算 法 &蚂 蚁 算 法 &函 数 优 化 中图分类号#JK"#!!!!!文献标识码#Q!!!!!文章编号#"%%P E&#R"$%%&#%# %!$& %!
第 !" 卷 第 # 期 $%%& 年 # 月
浙! 江 ! 大 ! 学 ! 学 ! 报 !工 学 版 "
’()*+,-(./0123,+4 5+361*7389!:+43+11*3+4;<31+<1"
=(->!" ?(># @,*>$%%&
基于遗传算法和蚂蚁算法求解函数优化问题
杨剑峰
"浙江大学 电气工程学院$浙江 杭州 #"%%$&#
!! 函数优化 问 题 是 在 工 程’控 制’决 策 中 普 遍 存 在的一类优化问题$其 优 化 目 标 函 数 可 能 包 含 多 个 在一定范围内的连 续 变 量$传 统 的 优 化 手 段 对 目 标 函 数 要 求 苛 刻 $如 需 要 满 足 可 导 或 者 可 微 等 >导 致 有 些函数难以优化$容 易 陷 入 局 部 解 而 难 以 得 到 全 局 最优解$收敛速度 较 慢>近 年 来$人 们 从 仿 生 学 的 机
理中受到启发$提出 了 许 多 用 于 求 解 函 数 优 化 问 题 的 新 方 法 $如 模 拟 退 火 算 法 ’遗 传 算 法 ’蚁 群 算 法 等 > 然而对于函数优化 问 题 的 复 杂 性$每 种 算 法 都 表 现 出各自的优势和缺陷>
遗传 算 法 "41+183<,-4(*380H$‘Q#是 T(--,+D 教授首 先 提 出 来 的 一 类 仿 生 型 优 化 算 法>在 使 用
因此本 文 算 法 吸 取 了 ‘Q 和 QQ 的 优 点!采 用 ‘Q 生成信息素分布!利用 QQ 求 精 确 解!力 求 将 两 种算法优势互补!期 望 同 时 获 得 较 好 的 优 化 性 能 和 时间性能>
. &6%2%$#’!&’%2’& $2 "3!
0 C%2!= I - *"3 &6%*%$#’!&’%*’&
!$P
ห้องสมุดไป่ตู้
浙!江!大!学!学!报!工学版"!!!!!!!!!! !第!"卷!
‘Q 算法求解 函 数 优 化 问 题 时!一 般 先 将 实 际 问 题 进行数学建模!将其 抽 象 为 一 个 数 值 函 数 的 优 化 问 题>‘Q 提供了一种求解这种优 化 问 题 的 通 用 框 架> ‘Q 通过对群 体 所 施 加 的 迭 代 优 化 过 程!不 断 将 当 前群体中具有较高适应度的个体遗传到下一代群体
循环中)%E#的 变 化 量!定 义 为 )%E_,#F)%E#!
%&(&"!于 是 函 数 优 化 就 借 助 - 个 蚂 蚁 的 不 断 移
动来进行9当’%2$% 时!蚂蚁%按概率C%2 从其邻 域% 移至 蚂 蚁2 的 邻 域$当’%2 &% 时!蚂 蚁% 做 邻 域 搜
索!搜索半径为,!即每个 蚂 蚁 要 么 转 移 至 其 他 蚂 蚁
中 !并 且 不 断 地 淘 汰 适 应 度 低 的 个 体 !从 而 最 终 寻 找 出适应度最大的 个 体>其 优 点 是""#具 有 大 范 围 全 局搜索的能力!与 问 题 领 域 无 关$$#搜 索 从 群 体 出 发 !具 有 潜 在 的 并 行 性 $可 进 行 多 值 比 较 !鲁 棒 性 强 $ 搜索使用评价函 数 启 发!过 程 简 单$##使 用 概 率 机 制进行迭代!具有 随 机 性$具 有 可 扩 展 性!容 易 与 其 他算法结合>但是缺点是 ‘Q 算 法对 于 系统 中 的 反 馈信息利用不够!当 求 解 到 一 定 范 围 时 往 往 做 大 量 无 为 的 冗 余 迭 代 !求 解 效 率 低 >
如路径%%!2#在$时 刻 信 息 素 轨 迹 强 度 为6%2!蚂 蚁= 在路径%%!2#上 留 下 的 单 位 长 度 轨 迹 信 息 素 轨 迹 强 度 $6%2!=!轨迹的持久 性(%%&(&"#!则 轨 迹 强 度 的 更新方程为
0 6%2%$L"#I((6%2%$#L $6%2!=%$#9 %"#
相关文档
最新文档