遗传算法与蚂蚁算法的融合

合集下载

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

动态蚁群遗传混合算法1

动态蚁群遗传混合算法1

动态蚁群遗传混合算法的研究及应用(河北工程学院,河北邯郸056038)摘要:蚁群算法是一种源于大自然生物世界的仿生类算法,该算法采用分布式并行计算和正反馈机制。

易于与其他方法结合,具有很强的鲁棒性和适应性,但存在搜素时间长、易陷入局部最优解的缺点。

为了克服这一缺点, 文中给出一种新的蚁群算法——动态蚂蚁遗传混合算法。

在基本蚁群算法中引入变异机制, 采用最佳融合点评估策略来交叉地调用两种算法。

动态地控制遗传算法与蚂蚁算法的调用时机,并设计了相应的信息素更新方法,有效减少了算法的冗余迭代次数,提高了搜索速度,同时引入迭代调整阈值控制算法后期的遗传操作和蚂蚁规模,加快了种群进化速度,从而更快地找到最优解。

该法具有较快的收敛速度,节省计算时间,实验结果表明该方法是行之有效的。

关键词:蚁群算法; TSP问题; 遗传算法; 动态蚂蚁遗传混合算法1 引言蚁群算法 (Ant Colony Algorithms,ACO)又称蚂蚁算法。

是一种用来在图中寻找优化路径的机率型技术。

蚂蚁在寻找食物时,总是能找到较短的路径。

受到蚁群系统信息共享机制的启发,意大利学者Macro Dorigo于1992年在他的博士论文中首次系统提出了蚁群算法,并成功地将该算法应用到求解旅行商问题(TSP)和二次分配问题(QAP)中。

取得了一系列较好的实验结果。

解决一些实际问题也有很好的效果。

但蚁群算法同其它生物进化算法一样存在过早收敛易陷入局部极小值等问题。

结合其它优化算法形成混合蚁群算法是克服这些缺点的有效手段。

遗传算法(genetic algorithm,GA)以决策变量的编码作为运算对象,在优化过程中借鉴生物学中染色体和基因的概念,模拟自然界中生物和遗传进化等机理,通过个体适应度来进行概率选择操作,通过交叉变异产生新的个体,从而遗传算法具有较强的全局性。

为克服蚁群算法搜索速度慢、易陷入局部最优等缺点。

本文提出了一种新的动态蚁群遗传混合算法(Dynamic Ant Algorithm -Genetic Algorithm,DAAGA)。

遗传算法与蚁群算法的融合研究

遗传算法与蚁群算法的融合研究
第 1 0卷
第l 6期
2 1 6月 0 0年







Vo. 0 No 1 J n 0 0 11 .6 u e2 1
17 —8 5 2 1 )6 4 1 —4 6 11 1 ( 00 1—0 70
S in e T c n l g n gn ei g ce c e h o o y a d En i e rn
D r o等最早 提 出的 , 群 算 法 主要 是 通 过 蚂 蚁 oi g 蚁 群体 之 间 的 信 息 传 递 而 达 到 寻 优 的 目 的 。其 优
点是:
① 其原 理是 一种正 反馈机 制 , 过信 息 素 的不 通 断更新 达 到最终 收敛 于最 优路径 上 ;
成 一个初始 种群 , 后 模拟 遗 传 选 择 和 自然 淘 汰 的 然
而蚁群算法是通过信息素的累积和 更新来收敛 于最优 路径 , 具有分 布、 并行、 局 收敛 能力 , 全 但是搜 索初期信 息素 匮乏 , 导致 算法速度慢。通 过将 两种 算法进行 融合 , 克服两种算法各 自的缺 陷, 优势 互补 , 成一种 时 间效 率和求解效 率都 比较好 的启 形
发 式 算 法 。 并通 过 仿 真计 算 , 明融 合 算 法 的 性 能优 于 遗传 算 法和 蚁 群 算 法 。 表
成为 提高算 法优 化性 能 的一 个重 要 且 有 效 的途 径 ,
③ 具有 可扩展 性 , 以与其他 算法相 结合 。 可
其 缺 点是 : 系 统 中 的反 馈 信 息 利 用 不 够 , 对 当
求解 到一定 范 围时往 往 做 大量 无 为 的冗余 迭代 , 求
精确解 效率 低 。 蚁 群算 法 ( n o n pi i t n 是 近几 年逐 A t l yO t z i ) Co m ao 渐 发展起 来 的 随机 优 化 方 法 , 是 意 大 利 学 者 M. 它

融入遗传算法的混合蚁群算法

融入遗传算法的混合蚁群算法
L U — o g CAIHu i I Li n , d a
( stt o Ifr t nS i c dT cn lg, S u wetio n n esy hn d 10 1 C ia I tue fnomao c n e n eh ooy o t sJ t gU i ri ,C eg u6 0 3 , hn ) ni i e a h a o v t
atrr s r i g t ei t re t n o ef s b s s l t n a d t e s c n e ts l t n i v r v l t n T e ma i u a i n o s r ig fe e vn e s c i ft r t e t ou i e o d b s ou i e e y e o u i . h n p lt fr e v n e h n o h i o n h o n o o e t ei t re t n a c lr tsc n e g n es e d T ema i u a i no o t g c o so e ao d mu t no e ao r a s h ou o h es c i c e e ae o v r e c e . h n p lt f mp r n r s p r t r n o p o i i n a t i p r t rb o d es l t n a o t i
0 引 言
蚁 群 算 法 ( t ooya o tm, A) 19 年 意 大 利 学 a l l rh AC 是 9 1 n c n gi
1 基 本蚁 群 算 法 原 理
蚁 群 算 法 最 先 用 于 求 解 T P问 题 , 面 就 以 T P问题 为 S 下 S 例 来 说 明 蚁 群 系 统 。 有 n个 城 市 组 成 的 集 合 C 蚂 蚁 数 目为 设 , m, d i 一1 , n表 示 城 市 i 城 市 j 间 的距 离 , ) 示 用 i, , …,) jj 2 ( 和 之 tt (表 在 时 刻 t 市 i 城 市 j 间 的 路 径 上 的 残 留 信 息 素 强 度 ,以 城 和 之 此 来 模 拟 实 际 蚂 蚁 的分 泌 物 。蚂 蚁 kk , …, 在 运 动 过 程 ( =1 , m) 2 中 , 据 各 条 路 径 上 的信 息 量 决 定 其 转 移 方 向, 时 用 禁 忌 表 根 同 a k t u k= 1 , n 来 记 录 蚂 蚁 k当 前 所 走 过 的城 市 , 合 随 着 b( , …,) 2 集 t u进 化 过 程 作 动 态 调 整 。在 搜 索 过 程 中 ,蚂 蚁 根 据 各 条 路 a k b 径 上 的信 息 量 及 路 径 的 启 发 信 息 来 计 算 状 态 转 移 概 率 。 t ) 表 示在 t 时刻 蚂 蚁 k由城 市 i 移 到城 市 J的状 态 转 移 概 率 , 转

基于遗传和蚁群算法融合的聚类新方法

基于遗传和蚁群算法融合的聚类新方法
邹远强 李国徽
1 *
赵梓屹
2
( 湖南大学 软件学院 , 长沙 410082; 华中科技大学 计算机科学与技术学院 2 , 武汉 430074; 中南大学 生物医学工程研究院 , 长沙 410008 )


遗传算法具有快速良 好的全局搜索能力 , 而蚁 群聚类 算法具 有良好 的分布 式并行 性和正反 馈能力 。 将两种 算法进
第 6 卷 第 23 期 2006 年 12月 1671 1815( 2006) 23 4700 06







Sc ience T echno logy and Eng ineer ing
V o.l 6 N o . 23 Dec . 2006 2006 Sc.i T ech. Engng.
基于遗传和蚁群算法融合的聚类新方法
方向 : 数据仓库、 数据挖掘。 E - m ai: l yuan qiangzou@ 126 . com * 通信作者 简介 : 李国徽 ( 1973 ) , 男 , 湖北人 , 教授 , 博士生 导
师 , 研究方向 : 主动、 实时、 移动数据库系统 理论及集成技 术。 E - m ai: l guohu il@ i m ai. l hust . edu . cn
的融合应用于解决组合爆炸及 NP 类问题 , 无论在 优化性能还 是时间 性能都 取得 了非 常好 的效果。 本文算法旨在聚类分析, 是将遗传算法和蚁群聚类 算法融合 , 利用遗传算法快速随机的群体性全局搜 索能力生成数据对象的初始聚类中心 , 再通过蚁群 算法的并行性、 正反 馈、 求精解 效率高的特点 完善 聚类结构。
所示。遗传算法在搜索的初期 ( t0 ~ ta 时间段 )

《基于遗传—蚁群融合算法的聚类算法研究》范文

《基于遗传—蚁群融合算法的聚类算法研究》范文

《基于遗传—蚁群融合算法的聚类算法研究》篇一基于遗传-蚁群融合算法的聚类算法研究一、引言聚类算法作为数据挖掘和机器学习领域的重要技术,广泛应用于图像处理、模式识别、生物信息学等多个领域。

然而,传统的聚类算法在处理大规模、高维度的数据时,往往存在计算复杂度高、聚类效果不佳等问题。

为了解决这些问题,本文提出了一种基于遗传-蚁群融合算法的聚类算法,通过融合遗传算法和蚁群算法的优点,提高聚类的准确性和效率。

二、相关技术背景1. 遗传算法:遗传算法是一种模拟自然进化过程的优化算法,通过模拟生物进化过程中的选择、交叉、变异等操作,实现对问题空间的搜索和优化。

2. 蚁群算法:蚁群算法是一种模拟蚂蚁觅食过程中信息素传递的优化算法,通过模拟蚂蚁的信息素传递和协作行为,实现对问题的求解。

3. 聚类算法:聚类算法是一种无监督学习方法,将数据划分为若干个簇,使得同一簇内的数据相似度高,不同簇间的数据相似度低。

三、基于遗传-蚁群融合算法的聚类算法1. 算法思想本算法融合了遗传算法和蚁群算法的优点,通过遗传算法的全局搜索能力和蚁群算法的局部优化能力,实现对聚类问题的求解。

具体思想如下:(1)初始化:随机生成一定数量的聚类中心,作为初始解集。

(2)编码与解码:将聚类中心编码为染色体,通过遗传操作生成新的染色体,解码得到新的聚类中心。

(3)适应度评价:根据聚类效果评价函数,计算每个染色体的适应度。

(4)选择、交叉、变异:根据适应度选择优秀的染色体进行交叉、变异操作,生成新的解集。

(5)蚁群局部优化:在遗传算法的基础上,利用蚁群算法对聚类结果进行局部优化,提高聚类的准确性。

2. 具体实现步骤(1)初始化聚类中心,形成初始解集。

(2)将聚类中心编码为染色体,进行遗传操作,生成新的染色体。

(3)解码得到新的聚类中心,计算每个染色体的适应度。

(4)根据适应度选择优秀的染色体进行交叉、变异操作,生成新的解集。

(5)利用蚁群算法对聚类结果进行局部优化,得到最终的聚类结果。

遗传算法与蚁群算法结合

遗传算法与蚁群算法结合

遗传算法与蚁群算法结合遗传算法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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
交叉算子 :采用 Davis 提出的顺序交叉方法 ,先 进行常规的双点交叉 ,再进行维持原有相对访问顺 序的巡回路线修改1 具体交叉如下 :
①随机在父串上选择一个交配区域 ,如两父串 选定为
ol d1 = 1 2 | 3 4 5 6 | 7 8 9 ,
ol d2 = 9 8 | 7 6 5 4 | 3 2 11 ②将 ol d2 的交配区域加到 ol d1 前面 , 将 ol d1 的交配区域加到 ol d2 的前面 : ol d1′= 7 6 5 4 | 1 2 3 4 5 6 7 8 9 , ol d2′= 3 4 5 6 | 9 8 7 6 5 4 3 2 11 ③依次删除 ol d1′, ol d2′中与交配区相同的数 码 ,得到最终的两子串 :
[τil
]α[ηij ]β ( t) ]α[ηil

,
j
∈U ,
0,
其他1
213 MMAS( max2min ant system) 算法
MMAS 算法是比利时学者 Thomas St utzle 提
出的[8] ,它对基本蚂蚁算法 (AS) 进行了 3 点改进[9] :
①为了更加充分地进行寻优 ,各路径信息素初值设
第 40 卷 第 9 期 2003 年 9 月
计算机研究与发展 J OU RNAL OF COM PU TER RESEARCH AND DEV ELOPM EN T
Vol140 ,No19 Sep1 2003
遗传算法与蚂蚁算法的融合
丁建立 陈增强 袁著祉
(南开大学信息技术科学学院 天津 300071) (jianliding @yahoo1com1cn)
图 1 GAAA 算法总体框架
312 GAAA 中遗传算法的定义与设置 编码与适应值函数 :结合解决问题 ,采用十进制
实数编码 ,适应值函数结合目标函数而定1 如 TSP 问题 ,以城市的遍历次序作为遗传算法的编码 ,适应 度函数取为哈密顿圈的长度的倒数1
种群生成与染色体选择 :利用 rand 函数随机生 成一定数量的十进制实数编码种群 ,根据适应值函 数选择准备进行交配的一对染色体父串1
Key words genetic algorit hm ; ant algorit hm ; combination
1 引 言
启发式智能化方法近年来愈来愈引起了众多学 者的关注和兴趣1 诸如神经网络、模拟退火 、禁忌搜 索 、遗传算法 、蚂蚁算法 、DNA 计算等 ,它们毫无争 议地成为解决组合爆炸及 N P 类问题的锐利工具1 然而 ,面对各种问题的特殊性和复杂性 ,每一种算法 都表现其自身的优势和缺陷 ,都会面临时间性能和 优化性能的双重挑战[1 ]1
On the Combinatio来自 of Genetic Algorithm and Ant Algorithm
D IN G J ian2Li , CHEN Zeng2Qiang , and YUAN Zhu2Zhi
( College of Inf orm ation Technology and Science , N ankai U niversity , Tianji n 300071)
新方程[6 ,8 ]为
∑ τij ( t + 1) = ρ·πij ( t) + Δτkij ( t) 1
设 Zk 为第 k 只蚂蚁在本次循环中所走的路径
的长度 ,则Δτkij ( t) = Q/ Zk , 其中 Q 是一个常数[5 ,6 ]1 如果 设 ηij 为 边 路 径 ( i , j ) 的 能 见 度 , 一 般 取 为
对 AS 算法有较大的改进1
3 遗传算法与蚂蚁算法的融合( GAAA)
311 GAAA 算法的设计思想及总体框架 遗传算法与蚂蚁算法的融合 (genetic algorithm2
ant algorithm , GAAA) ,其基本思想是汲取两种算法的 优点 ,克服各自的缺陷 ,优势互补1 在时间效率上优于 蚂蚁算法 ,在求精解效率上优于遗传算法 ,是时间效 率和求解效率都比较好的一种新的启发式方法1
new 1 = 7 6 5 4 1 2 3 8 9 ,
①具有大范围全局搜索的能力 ,与问题领域无 关;
②搜索从群体出发 ,具有潜在的并行性 ; 可进 行多值比较 ,鲁棒性强 ;
收稿日期 :2002210223 ;修回日期 :2003206212 基金项目 :国家自然科学基金 (60174021) ;天津自然科学基金重点项目 (013800711) ;河南科技攻关项目 (0124140141)
最短路径1 特别地 ,当蚂蚁巢穴与食物源之间出现 障碍物时 ,蚂蚁不仅可以绕过障碍物 ,而且通过蚁群 信息素轨迹在不同路径上的变化 ,经过一段时间的 正反馈 ,最终收敛到最短路径上[6 ,7 ]1 212 蚂蚁圈模型
蚂蚁圈模型是全局优化较好的蚂蚁算法 , 假如 路径 ( i , j) 在 t 时刻信息素轨迹强度为τij , 蚂蚁 k 在路径 ( i , j) 上留下的单位长度轨迹信息素数量 Δτkij ,轨迹的持久性 ρ(0 ≤ρ< 1) , 则轨迹强度的更
Abstract Genetic algorit hm has t he ability of doing a global searching quickly and stochastically1 But it can’t make use of enough system output information1 It has to do a large redundancy repeat for t he result when solving to certain scope1 So t he efficiency to solve precision result s is reduced1 Ant algorit hm con2 verges on t he optimization pat h t hrough information pheromone accumulation and renewal1 It has t he abili2 ty of parallel processing and global searching1 The speed at which t he ant algorit hm gives t he solution is slow , because t here is little information pheromone on t he pat h early1 The algorit hm in t his paper is based on t he combination of genetic algorit hm and ant algorit hm1 First , it adopt s genetic algorit hm to give infor2 mation pheromone to dist ribute1 Second , it makes use of t he ant algorit hm to give t he precision of t he solu2 tion1 Finally , it develops enough advantage of t he two algorit hms1 The simulation result s show t hat very nice effect s are obtained1
遗传算法是由美国密执安大学的 John Holland 教授于 1975 年首先提出的一类仿生型优化算法1 它是以达尔文的生物进化论“适者生存 、优胜劣汰” 和孟德尔的遗传变异理论“生物遗传进化主要在染 色体上 ,子代是父代遗传基因在染色体上的有序排 列”为基础 ,模拟生物界进化过程1 其优点是 :
为最大值τmax ; ②一圈中只有最短路径的蚂蚁才进
行信息素修改增加 ,这与 AS 蚂蚁圈模型调整方法
相似 ; ③为了避免算法过早收敛非全局最优解 ,将各
路经的信息素浓度限制在 [τmin , τmax ]之间 ,超出这 个范围的值被强制设为 τmin或者 τmax1 从实验结果
看 ,MMAS 算法在防止算法过早停滞及有效性方面
1/ dij , 这里 dij为路径 ( i , j) 的长度 , 路径可见度的
相对重要性β(β≥0) , 路径轨迹的相对重要性 α(α
≥0) , U 为可行顶点集 , 蚂蚁 k 在 t 时刻的转移概
率为
p
k ij
(
t)
,则
p
k ij
(
t)
可定义[6
,8
]如下
p
k ij
(
t)
=
∑[τij l ∈U
( t)
摘 要 遗传算法具有快速随机的全局搜索能力 ,但对于系统中的反馈信息利用却无能为力 ,当求解到一定范围时往往 做大量无为的冗余迭代 ,求精确解效率低1 蚂蚁算法是通过信息素的累积和更新收敛于最优路径上 ,具有分布式并行全 局搜索能力1 但初期信息素匮乏 ,求解速度慢1 算法是将遗传算法与蚂蚁算法融合 ,采用遗传算法生成信息素分布 ,利用 蚂蚁算法求精确解 ,优势互补1 仿真表明取得了非常好的效果1 关键词 遗传算法 ;蚂蚁算法 ;融合 ; 中图法分类号 TP301 ; TP18
其基本思路是算法前过程采用遗传算法 ,充分 利用遗传算法的快速性 、随机性 、全局收敛性 ,其结
9期
丁建立等 :遗传算法与蚂蚁算法的融合
1353
果是产生有关问题的初始信息素分布1 算法后过程 采用蚂蚁算法 ,在有一定初始信息素分布的情况下 ,
充分利用蚂蚁算法并行性 、正反馈性 、求精解效率高 等特点1 其总体框架如图 1 所示 :
1352
计算机研究与发展
2003 年
③搜索使用评价函数启发 ,过程简单 ; ④使用概率机制进行迭代 ,具有随机性 ; ⑤具有可扩展性 ,容易与其他算法结合1 其缺 点 是 : 对 于 系 统 中 的 反 馈 信 息 利 用 不 够[2 ] ,当求解到一定范围时往往做大量无为的冗余 迭代 ,求精确解效率低1 蚂蚁算法 (ant algorit hm , AA) 是近年来刚刚诞 生的随机优化方法 ,它是一种源于大自然的新的仿 生类算法1 它是意大利学者 M1 Dorigo 等最早提 出[3 ,4 ]的 ,蚂蚁算法主要是通过蚂蚁群体之间的信 息传递而达到寻优的目的 ,最初又称蚁群优化方法 (ant colony optimization , ACO)1 由于模拟仿真中使 用了人工蚂蚁的概念 ,因此亦称蚂蚁系统 (ant sys2 tem , AS)1 其优点是 : ①其原理是一种正反馈机制或称增强型学习 系统 ,它通过信息素的不断更新达到最终收敛于最 优路径上 ; ②它是一种通用型随机优化方法 ,但人工蚂蚁 决不是对实际蚂蚁的一种简单模拟 ,它融进了人类 的智能 ; ③它是一种分布式的优化方法 ,不仅适合目前 的串行计算机 ,而且适合未来的并行计算机 ; ④它是一种全局优化的方法 ,不仅可用于求解 单目标优化问题 ,而且可用于求解多目标优化问题1 其缺点是 :初期信息素匮乏 ,求解速度慢[5 ]1 本文算法是将遗传算法与蚂蚁算法的融合 ,采用 遗传算法生成信息素分布 ,利用蚂蚁算法求精确解 , 优势互补 ,期望获得优化性能和时间性能的双赢1
相关文档
最新文档