导航:首页 > 源码编译 > 蚁群优化算法程序

蚁群优化算法程序

发布时间:2023-05-19 04:07:00

Ⅰ 蚁群算法求解TSP问题的源程序及简要说明

该程序试图对具有31个城市的VRP进行求解,已知的最优解为784.1,我用该程序只能优化到810左右,应该是陷入局部最优,但我不知问题出在什么地方。请用过蚁群算法的高手指教。
蚁群算法的matlab源码,同时请指出为何不能优化到已知的最好解

%
%
% the procere of ant colony algorithm for VRP
%
% % % % % % % % % % %

%initialize the parameters of ant colony algorithms
load data.txt;
d=data(:,2:3);
g=data(:,4);

m=31; % 蚂蚁数
alpha=1;
belta=4;% 决定tao和miu重要性的参数
lmda=0;
rou=0.9; %衰减系数
q0=0.95;
% 概率
tao0=1/(31*841.04);%初始信息素
Q=1;% 蚂蚁循环一周所释放的信息素
defined_phrm=15.0; % initial pheromone level value
QV=100; % 车辆容量
vehicle_best=round(sum(g)/QV)+1; %所完成任务所需的最少车数
V=40;

% 计算两点的距离
for i=1:32;
for j=1:32;
dist(i,j)=sqrt((d(i,1)-d(j,1))^2+(d(i,2)-d(j,2))^2);
end;
end;

%给tao miu赋初值
for i=1:32;
for j=1:32;
if i~=j;
%s(i,j)=dist(i,1)+dist(1,j)-dist(i,j);
tao(i,j)=defined_phrm;
miu(i,j)=1/dist(i,j);
end;
end;
end;

for k=1:32;
for k=1:32;
deltao(i,j)=0;
end;
end;

best_cost=10000;
for n_gen=1:50;

print_head(n_gen);

for i=1:m;
%best_solution=[];
print_head2(i);
sumload=0;
cur_pos(i)=1;
rn=randperm(32);
n=1;
nn=1;
part_sol(nn)=1;
%cost(n_gen,i)=0.0;
n_sol=0; % 由蚂蚁产生的路径数量
M_vehicle=500;
t=0; %最佳路径数组的元素数为0

while sumload<=QV;

for k=1:length(rn);
if sumload+g(rn(k))<=QV;
gama(cur_pos(i),rn(k))=(sumload+g(rn(k)))/QV;
A(n)=rn(k);
n=n+1;
end;
end;

fid=fopen('out_customer.txt','a+');
fprintf(fid,'%s %i\t','the current position is:',cur_pos(i));
fprintf(fid,'\n%s','the possible customer set is:')
fprintf(fid,'\t%i\n',A);
fprintf(fid,'------------------------------\n');
fclose(fid);

p=compute_prob(A,cur_pos(i),tao,miu,alpha,belta,gama,lmda,i);
maxp=1e-8;
na=length(A);
for j=1:na;
if p(j)>maxp
maxp=p(j);
index_max=j;
end;
end;

old_pos=cur_pos(i);
if rand(1)<q0
cur_pos(i)=A(index_max);
else
krnd=randperm(na);
cur_pos(i)=A(krnd(1));
bbb=[old_pos cur_pos(i)];
ccc=[1 1];
if bbb==ccc;
cur_pos(i)=A(krnd(2));
end;
end;

tao(old_pos,cur_pos(i))=taolocalupdate(tao(old_pos,cur_pos(i)),rou,tao0);%对所经弧进行局部更新

sumload=sumload+g(cur_pos(i));

nn=nn+1;
part_sol(nn)=cur_pos(i);
temp_load=sumload;

if cur_pos(i)~=1;
rn=setdiff(rn,cur_pos(i));
n=1;
A=[];
end;

if cur_pos(i)==1; % 如果当前点为车场,将当前路径中的已访问用户去掉后,开始产生新路径
if setdiff(part_sol,1)~=[];
n_sol=n_sol+1; % 表示产生的路径数,n_sol=1,2,3,..5,6...,超过5条对其费用加上车辆的派遣费用
fid=fopen('out_solution.txt','a+');
fprintf(fid,'%s%i%s','NO.',n_sol,'条路径是:');
fprintf(fid,'%i ',part_sol);
fprintf(fid,'\n');
fprintf(fid,'%s','当前的用户需求量是:');
fprintf(fid,'%i\n',temp_load);
fprintf(fid,'------------------------------\n');
fclose(fid);

% 对所得路径进行路径内3-opt优化
final_sol=exchange(part_sol);

for nt=1:length(final_sol); % 将所有产生的路径传给一个数组
temp(t+nt)=final_sol(nt);
end;
t=t+length(final_sol)-1;

sumload=0;
final_sol=setdiff(final_sol,1);
rn=setdiff(rn,final_sol);
part_sol=[];
final_sol=[];
nn=1;
part_sol(nn)=cur_pos(i);
A=[];
n=1;

end;
end;

if setdiff(rn,1)==[];% 产生最后一条终点不为1的路径
n_sol=n_sol+1;
nl=length(part_sol);
part_sol(nl+1)=1;%将路径的最后1位补1

% 对所得路径进行路径内3-opt优化
final_sol=exchange(part_sol);

for nt=1:length(final_sol); % 将所有产生的路径传给一个数组
temp(t+nt)=final_sol(nt);
end;

cost(n_gen,i)=cost_sol(temp,dist)+M_vehicle*(n_sol-vehicle_best); %计算由蚂蚁i产生的路径总长度

for ki=1:length(temp)-1;
deltao(temp(ki),temp(ki+1))=deltao(temp(ki),temp(ki+1))+Q/cost(n_gen,i);
end;

if cost(n_gen,i)<best_cost;
best_cost=cost(n_gen,i);
old_cost=best_cost;
best_gen=n_gen; % 产生最小费用的代数
best_ant=i; %产生最小费用的蚂蚁
best_solution=temp;
end;

if i==m; %如果所有蚂蚁均完成一次循环,,则用最佳费用所对应的路径对弧进行整体更新
for ii=1:32;
for jj=1:32;
tao(ii,jj)=(1-rou)*tao(ii,jj);
end;
end;

for kk=1:length(best_solution)-1;
tao(best_solution(kk),best_solution(kk+1))=tao(best_solution(kk),best_solution(kk+1))+deltao(best_solution(kk),best_solution(kk+1));
end;
end;

fid=fopen('out_solution.txt','a+');
fprintf(fid,'%s%i%s','NO.',n_sol,'路径是:');
fprintf(fid,'%i ',part_sol);
fprintf(fid,'\n');
fprintf(fid,'%s %i\n','当前的用户需求量是:',temp_load);
fprintf(fid,'%s %f\n','总费用是:',cost(n_gen,i));
fprintf(fid,'------------------------------\n');
fprintf(fid,'%s\n','最终路径是:');
fprintf(fid,'%i-',temp);
fprintf(fid,'\n');
fclose(fid);
temp=[];
break;
end;
end;

end;
end;
我现在也在研究它,希望能共同进步.建义可以看一下段海滨的关于蚁群算法的书.讲的不错,李士勇的也可以,还有一本我在图书馆见过,记不得名字了.

Ⅱ 已亲测:最优化算法的核心思想与程序例子

蒙特卡洛: 大量随机抽样下的比对,最后结果就是在当前抽样数量下筛选出的一定是最想要的那个结果。举例:假如篮子里有1000个苹果(你定的测试集),让你 每次闭着眼睛找一个最大的,可以不限制挑选次数;于是,你可以闭着眼随机拿了一个,然后再随机拿一个与第一个比,留下大的;再随机拿一个,与前次留下的比较,又 可以留下大的;循环往复这样:拿的次数越多,挑出最大苹果的可能性也就越大!但除非你把1000个苹果都挑一遍,否则你无法肯定最终挑出来的就是最大的一个。如果有 10000个苹果的话,继续如此说不定就能找到更大的!

模拟退火 :“渐渐”清楚自己的目标是什么!并不断朝“越发”明确的目标迈进,“越来越”不被诱惑干扰。举例:为了找出地球上最高的山,一只兔子在开始并没有 合适的策略,它随机地跳了很长时间!在这期间,它可能走向高处,也可能踏入平地或沟壑。但是,随着时间的流逝,它“渐渐清醒”! 并“直直地”朝着最高的方向跳去, 最后就到达了珠穆朗玛峰。

粒子群 :信息的社会共享,以一个团队的形式来搜索!团队里成员信息共享,共同进步;避免一个人工作时出现目光短浅,没有全局意识。举例:就像下围棋,只 专注于一个角落的战斗不一定能获取最终的胜利,只有放眼全局,把所有己方的棋子都盘活,相互间彼此帮助,才能获得最后胜利。

蚁群 :和粒子群算法有些相似,都是靠团队的力量共同去找目标!蚁群算法中特殊的是它的"信息素"挥发! 这个效果是其他算法中没有的!

以上所有的最优化算法都很难做到极高的精度,这是必然的: 一是 因为全局搜索已经耗费了大量的时间和资源,再过分强调精度有些不经济; 二是 因为全局搜索得到的最值可以理解为一精确最值的一个准确范围!即进入这个范围再进行精确的搜索一定可以找到精确最值;但是,全局最优的核心是随机/概率,当进入一个准确范围时,这个范围肯定是很小的,如果之后精确搜索还用全局搜索的概率参数(此时来说波动范围太大了),很可能又会跳出这个好不容易找到的精确区域!

因此: 全局最优算法与局部最优算法是要相结合的 !全局最优算法负责划定最值所在的一个精确的、较小的范围内,即告诉局部最优算法在这个范围内继续找一定可以找到精确解;局部最优算法按照较小的步长、较高的精度继续搜索精确最值。

常用全局最优算法:蒙特卡洛(MC)、模拟退火(SA)、粒子群(PSO)、蚁群(AG);

常用局部最优算法:梯度下降法、牛顿法、阻尼牛顿法、共轭梯度法;

推荐搭配1:蒙特卡洛

推荐搭配2:粒子群 + 梯度下降

推荐搭配3:蚁群 + 梯度下降 + 重检机制

以上提到算法的 “程序 + 详细使用说明” 参考以下地址:

优化算法

Ⅲ 人工智能导论蚁群优化算法的寻优过程包含哪几个阶段寻优的准则有哪些

蚁群优化算法的寻优过程包衡清败咐颤含以下几个阶段:

1. 初始化:初始化蚂蚁的位置和初始信息素浓度。
2. 路径选择:每只蚂蚁根据信息素浓度选择路径。
3. 更新信息素:每只蚂蚁在路程中释放信息素,路径上信息素浓度增加。
4. 更新最优路径:将经过最短路径的蚂蚁留下的信息素浓度增加。
5. 改变路径:增加路径上信息素的影响,使得下一次选择更优路径的概率更大。

寻优的准则主要有两个:

1. 最短路径准则:目标是找到一正笑条路径使得其总距离最短。
2. 最大流准则:目标是使得网络中的最大流量最大化。

Ⅳ matlab蚁群算法路径优化

你用D保存了随机点,D的标号就是对应随机点

Ⅳ 蚁群算法的内容

蚁群算法又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型算法。它由Marco Dorigo于1992年在他的博士论文中提出,其灵感来源于蚂蚁在寻找食物过程中发现路径的行为。蚁群算法是一种模拟进化算法,初步的研究表明该算法具有许多优良的性质.针对PID控制器参数优化设计问题,将蚁群算法设计的结果与遗传算法设计的结果进行了比较,数值仿真结果表明,蚁群算法具有一种新的模拟进化优化方法的有效性和应用价值。

神经网络
思维学普遍认为,人类大脑的思维分为抽象(逻辑)思维、形象(直观)思维和灵感(顿悟)思维三种基本方式。
逻辑性的思维是指根据逻辑规则进行推理的过程;它先将信息化成概念,并用符号表示,然后,根据符号运算按串行模式进行逻辑推理;这一过程可以写成串行的指令,让计算机执行。然而,直观性的思维是将分布式存储的信息综合起来,结果是忽然间产生想法或解决问题的办法。这种思维方式的根本之点在于以下两点:1.信息是通过神经元上的兴奋模式分布储在网络上;2.信息处理是通过神经元之间同时相互作用的动态过程来完成的。
人工神经网络就是模拟人思维的第二种方式。这是一个非线性动力学系统,其特色在于信息的分布式存储和并行协同处理。虽然单个神经元的结构极其简单,功能有限,但大量神经元构成的网络系统所能实现的行为却是极其丰富多彩的。
神经网络的研究内容相当广泛,反映了多学科交叉技术领域的特点。目前,主要的研究工作集中在以下几个方面:
(1)生物原型研究。从生理学、心理学、解剖学、脑科学、病理学等生物科学方面研究神经细胞、神经网络、神经系统的生物原型结构及其功能机理。
(2)建立理论模型。根据生物原型的研究,建立神经元、神经网络的理论模型。其中包括概念模型、知识模型、物理化学模型、数学模型等。
(3)网络模型与算法研究。在理论模型研究的基础上构作具体的神经网络模型,以实现计算机馍拟或准备制作硬件,包括网络学习算法的研究。这方面的工作也称为技术模型研究。
(4)人工神经网络应用系统。在网络模型与算法研究的基础上,利用人工神经网络组成实际的应用系统,例如,完成某种信号处理或模式识别的功能、构作专家系统、制成机器人等等。
纵观当代新兴科学技术的发展历史,人类在征服宇宙空间、基本粒子,生命起源等科学技术领域的进程中历经了崎岖不平的道路。我们也会看到,探索人脑功能和神经网络的研究将伴随着重重困难的克服而日新月异。
遗传算法,是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法,它最初由美国Michigan大学J.Holland教授于1975年首先提出来的,并出版了颇有影响的专着《Adaptation in Natural and Artificial Systems》,GA这个名称才逐渐为人所知,J.Holland教授所提出的GA通常为简单遗传算法(SGA)。

Ⅵ 蚁群优化算法的目录

1.1 组合优化与计算复杂性
1.2 来自自然界的几类优化方法 2.1 基本思想
2.2研究概况 3.1 TSP概述
3.2 经典方法
3.3 遗传算法与模拟退火法
3.4蚁群算法
3.5 元胞蚁群算法及其收敛性 4.1 瓶颈TSP及其求解
4.2 最小比率TSP及其求解
4.3 时间约束TSP及其求解
4.4 多目标TSP及其求解 5.1 VRP概述
5.2 CVRP及其求解
5.3 多目标VRP及其求解
5.4 VRPTW及其求解
5.5 VRPSTW及其求解
5.6 FVRP及其求解 6.1 度约束最小树问题及其求解
6.2 Steiner最小树问题及其求解
6.3 Min-Max度最优树问题与多目标最小树问题 7.1 0-1规划问题及其求解
7.2 背包问题及其求解
7.3 多目标0-1规划问题及其求解
7.4 一般整数规划问题及其求解 8.1 基本蚁群算法
8.2 元胞蚁群算法
8.3 平面选址问题及其求解
8.4 多目标优化问题及其求解 9.1 二次分配问题及其求解
9.2 图着色问题及其求解
9.3 多目标最短路及其求解 附录 中国144城锋衡市相对坐标数据
后记
《运筹与管银侍做理科谈空学丛书》已出版书目

Ⅶ 蚁群算法解决TSP问题,最优解是多少,参数如何选择

概念:蚁群算法(ant colony optimization, ACO),又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型算法。它由Marco Dorigo于1992年在他的博士论文中提出,其灵感来源于蚂蚁在寻找食物过程中发现路径的行为。蚁群算法是一种模拟进化算法,初步的研究表明该算法具有许多优良的性质.针对PID控制器参数优化设计问题,将蚁群算法设计的结果与遗传算法设计的结果进行了比较,数值仿真结果表明,蚁群算法具有一种新的模拟进化优化方法的有效性和应用价值

其原理:为什么小小的蚂蚁能够找到食物?他们具有智能么?设想,如果我们要为蚂蚁设计一个人工智能的程序,那么这个程序要多么复杂呢?首先,你要让蚂蚁能够避开障碍物,就必须根据适当的地形给它编进指令让他们能够巧妙的避开障碍物,其次,要让蚂蚁找到食物,就需要让他们遍历空间上的所有点;再次,如果要让蚂蚁找到最短的路径,那么需要计算所有可能的路径并且比较它们的大小,而且更重要的是,你要小心翼翼的编程,因为程序的错误也许会让你前功尽弃。这是多么不可思议的程序!太复杂了,恐怕没人能够完成这样繁琐冗余的程序

应用范围:蚂蚁观察到的范围是一个方格世界,蚂蚁有一个参数为速度半径(一般是3),那么它能观察到的范围就是3*3个方格世界,并且能移动的距离也在这个范围之内

引申:跟着蚂蚁的踪迹,你找到了什么?通过上面的原理叙述和实际操作,我们不难发现蚂蚁之所以具有智能行为,完全归功于它的简单行为规则,而这些规则综合起来具有下面两个方面的特点: 1、多样性 2、正反馈 多样性保证了蚂蚁在觅食的时候不置走进死胡同而无限循环,正反馈机制则保证了相对优良的信息能够被保存下来。我们可以把多样性看成是一种创造能力,而正反馈是一种学习强化能力。正反馈的力量也可以比喻成权威的意见,而多样性是打破权威体现的创造性,正是这两点小心翼翼的巧妙结合才使得智能行为涌现出来了。 引申来讲,大自然的进化,社会的进步、人类的创新实际上都离不开这两样东西,多样性保证了系统的创新能力,正反馈保证了优良特性能够得到强化,两者要恰到好处的结合。如果多样性过剩,也就是系统过于活跃,这相当于蚂蚁会过多的随机运动,它就会陷入混沌状态;而相反,多样性不够,正反馈机制过强,那么系统就好比一潭死水。这在蚁群中来讲就表现为,蚂蚁的行为过于僵硬,当环境变化了,蚂蚁群仍然不能适当的调整。 既然复杂性、智能行为是根据底层规则涌现的,既然底层规则具有多样性和正反馈特点,那么也许你会问这些规则是哪里来的?多样性和正反馈又是哪里来的?我本人的意见:规则来源于大自然的进化。而大自然的进化根据刚才讲的也体现为多样性和正反馈的巧妙结合。而这样的巧妙结合又是为什么呢?为什么在你眼前呈现的世界是如此栩栩如生呢?答案在于环境造就了这一切,之所以你看到栩栩如生的世界,是因为那些不能够适应环境的多样性与正反馈的结合都已经死掉了,被环境淘汰了! 蚁群算法的实现 下面的程序开始运行之后,蚂蚁们开始从窝里出动了,寻找食物;他们会顺着屏幕爬满整个画面,直到找到食物再返回窝。 其中,‘F’点表示食物,‘H’表示窝,白色块表示障碍物,‘+’就是蚂蚁了。

具体参考http://ke..com/view/539346.htm
希望对你有帮助,谢谢。

Ⅷ 蚁群优化算法的蚁群优化算法

开本: 16开
所属分类: 图书 >> 计算机/网络 >> 人工智能
定价:¥43.00 主要内容包括蚁群算法基本原理、蚁群算法在TSP及其扩展问题求解中的应用、蚁群算法在VRP及其扩展问题求解中的应用、蚁群算法在最优树问题求解中的应用、蚁群算法在整数规划问题求解中的应用、一般连续优化问题的蚁群算法以及多目标蚁群算法等。书中还给出了一些主要算法的Delphi程序实现源代码,可供参考或修改使用。
本书可供运筹学、管理科学、系统工程、计算机科学等有关专业的高校师生、科研人员和工程技术人员阅读参考。

Ⅸ 蚁群优化算法的使用-编码的问题!

“蚁群算法”学习包下载

下载地址: http://board.verycd.com/t196436.html (请使用 eMule 下载)

近一百多篇文章,打包压缩后有 24.99MB ,基本上是从维普数据库中下载来的,仅供学习和研究之用,请务用于商业活动或其他非法活动中,各文章版权归原作者所有。

如果您觉得本人这样做侵犯了您的版权,请在本帖后回复,本人会马上删除相应的文章。

以下是文件列表,全是 PDF 格式的:

基于蚁群优化算法递归神经网络的短期负荷预测
蚁群算法的小改进
基于蚁群算法的无人机任务规划
多态蚁群算法
MCM基板互连测试的单探针路径优化研究
改进的增强型蚁群算法
基于云模型理论的蚁群算法改进研究
基于禁忌搜索与蚁群最优结合算法的配电网规划
自适应蚁群算法在序列比对中的应用
基于蚁群算法的QoS多播路由优化算法
多目标优化问题的蚁群算法研究
多线程蚁群算法及其在最短路问题上的应用研究
改进的蚁群算法在2D HP模型中的应用
制造系统通用作业计划与蚁群算法优化
基于混合行为蚁群算法的研究
火力优化分配问题的小生境遗传蚂蚁算法
基于蚁群算法的对等网模拟器的设计与实现
基于粗粒度模型的蚁群优化并行算法
动态跃迁转移蚁群算法
基于人工免疫算法和蚁群算法求解旅行商问题
基于信息素异步更新的蚁群算法
用于连续函数优化的蚁群算法
求解复杂多阶段决策问题的动态窗口蚁群优化算法
蚁群算法在铸造生产配料优化中的应用
多阶段输电网络最优规划的并行蚁群算法
求解旅行商问题的混合粒子群优化算法
微粒群优化算法研究现状及其进展
随机摄动蚁群算法的收敛性及其数值特性分析
广义蚁群与粒子群结合算法在电力系统经济负荷分配中的应用
改进的蚁群算法及其在TSP中的应用研究
蚁群算法的全局收敛性研究及改进
房地产开发项目投资组合优化的改进蚁群算法
一种改进的蚁群算法用于灰色约束非线性规划问题求解
一种自适应蚁群算法及其仿真研究
一种动态自适应蚁群算法
蚂蚁群落优化算法在蛋白质折叠二维亲-疏水格点模型中的应用
用改进蚁群算法求解函数优化问题
连续优化问题的蚁群算法研究进展
蚁群算法概述
Ant colony system algorithm for the optimization of beer fermentation control
蚁群算法在K—TSP问题中的应用
Parallel ant colony algorithm and its application in the capacitated lot sizing problem for an agile supply chain
基于遗传蚁群算法的机器人全局路径规划研究
改进的蚁群算法在矿山物流配送路径优化中的研究
基于蚁群算法的配电网络综合优化方法
基于蚁群算法的分类规则挖掘算法
蚁群算法在连续性空间优化问题中的应用
蚁群算法在矿井通风系统优化设计中的应用
基于蚁群算法的液压土锚钻机动力头优化设计
改进蚁群算法设计拉式膜片弹簧
计算机科学技术
基本蚁群算法及其改进
TSP改进算法及在PCB数控加工刀具轨迹中的应用
可靠性优化的蚁群算法
对一类带聚类特征TSP问题的蚁群算法求解
蚁群算法理论及应用研究的进展
基于二进制编码的蚁群优化算法及其收敛性分析
蚁群算法的理论及其应用
基于蚁群行为仿真的影像纹理分类
启发式蚁群算法及其在高填石路堤稳定性分析中的应用
蚁群算法的研究现状
一种快速全局优化的改进蚁群算法及仿真
聚类问题的蚁群算法
蚁群最优化——模型、算法及应用综述
基于信息熵的改进蚁群算法及其应用
机载公共设备综合管理系统任务分配算法研究
基于改进蚁群算法的飞机低空突防航路规划
利用信息量留存的蚁群遗传算法
An Improved Heuristic Ant-Clustering Algorithm
改进型蚁群算法在内燃机径向滑动轴承优化设计中的应用
基于蚁群算法的PID参数优化
基于蚁群算法的复杂系统多故障状态的决策
蚁群算法在数据挖掘中的应用研究
基于蚁群算法的基因联接学习遗传算法
基于细粒度模型的并行蚁群优化算法
Binary-Coding-Based Ant Colony Optimization and Its Convergence
运载火箭控制系统漏电故障诊断研究
混沌扰动启发式蚁群算法及其在边坡非圆弧临界滑动面搜索中的应用
蚁群算法原理的仿真研究
Hopfield neural network based on ant system
蚁群算法及其实现方法研究
分层实体制造激光头切割路径的建模与优化
配送网络规划蚁群算法
基于蚁群算法的城域交通控制实时滚动优化
基于蚁群算法的复合形法及其在边坡稳定分析中的应用
Ant Colony Algorithm for Solving QoS Routing Problem
多产品间歇过程调度问题的建模与优化
基于蚁群算法的两地之间的最佳路径选择
蚁群算法求解问题时易产生的误区及对策
用双向收敛蚁群算法解作业车间调度问题
物流配送路径安排问题的混合蚁群算法
求解TSP问题的模式学习并行蚁群算法
基于蚁群算法的三维空间机器人路径规划
蚁群优化算法及其应用
蚁群算法不确定性分析
一种求解TSP问题的相遇蚁群算法
基于蚁群优化算法的彩色图像颜色聚类的研究
钣金件数控激光切割割嘴路径的优化
基于蚁群算法的图像分割方法
一种基于蚁群算法的聚类组合方法
圆排列问题的蚁群模拟退火算法
智能混合优化策略及其在流水作业调度中的应用
蚁群算法在QoS网络路由中的应用
一种改进的自适应路由算法
基于蚁群算法的煤炭运输优化方法
基于蚁群智能和支持向量机的人脸性别分类方法
蚁群算法在啤酒发酵控制优化中的应用
一种基于时延信息的多QoS快速自适应路由算法
蚁群算法中参数α、β、ρ设置的研究——以TSP问题为例
基于人工蚁群优化的矢量量化码书设计算法
具有自适应杂交特征的蚁群算法
蚁群算法在原料矿粉混匀优化中的应用
基于多Agent的蚁群算法在车间动态调度中的应用研究
用蚁群优化算法求解中国旅行商问题
蚁群算法在婴儿营养米粉配方中的应用
蚁群算法在机械优化设计中的应用
蚁群优化算法的研究现状及研究展望
蚁群优化算法及其应用研究进展
蚁群算法的理论与应用
简单蚁群算法的仿真分析
一种改进的蚁群算法求解最短路径问题
基于模式求解旅行商问题的蚁群算法
一种求解TSP的混合型蚁群算法
基于MATLAB的改进型基本蚁群算法
动态蚁群算法求解TSP问题
用蚁群算法求解类TSP问题的研究
蚁群算法求解连续空间优化问题的一种方法
用混合型蚂蚁群算法求解TSP问题
求解复杂TSP问题的随机扰动蚁群算法
基于蚁群算法的中国旅行商问题满意解
蚁群算法的研究现状和应用及蚂蚁智能体的硬件实现
蚁群算法概述
蚁群算法的研究现状及其展望
基于蚁群算法的配电网网架优化规划方法
用于一般函数优化的蚁群算法
协同模型与遗传算法的集成
基于蚁群最优的输电网络扩展规划
自适应蚁群算法
凸整数规划问题的混合蚁群算法
一种新的进化算法—蛟群算法
基于协同工作方式的一种蚁群布线系统

Ⅹ 蚁群算法及其应用实例

       蚁群算法(ant colony optimization, ACO),又称蚂蚁算法,是一种对自然界蚂蚁的寻径方式进行模拟而得到的一种仿生算法,是一种用来在图中寻找优化路径的机率型算法。
       蚂蚁在运动过程中,可以在行走的路径上留下信息素,后来的蚂蚁可以感知到信息素的存在,信息素浓度越高的路径越容易被后来的蚂蚁选择,从而形成一种正反馈现象。
       它能够求出从原点出发,经过若干个给定的需求点,最终返回原点的最短路径。这也就是着名的旅行商问题(Traveling Saleman Problem,TSP)。

       若蚂蚁从A点出发到D点觅食,它可以随机从ABD或ACD中选择一条路。假设初始时为每条路分配一只蚂蚁,每个时间单位行走一步,则经过8个时间单位后,情形如下图所示:ABD路线的蚂蚁到达D点,ACD路线的蚂蚁到达C点。

       那么,再过8个时间单位,很容易可以得到下列情形:ABD路线的蚂蚁回到A点,ACD路线的蚂蚁到达D点。

α 代表信息素量对是否选择当前路径的影响程度,反映了蚁群在路径搜索中随机性因素作用的强度。
α 越大,蚂蚁选择以前走过的路径的可能性越大,搜索的随机性就会减弱。
α 过小,会导致蚁群搜索过早陷入局部最优,取值范围通常为[1,4]。

β 反映了启发式信息在指导蚁群搜索中的相对重要程度,蚁群寻优过程中先验性、确定性因素作用的强度。
β 过大,虽然收敛速度加快,但是易陷入局部最优。
β 过小,蚁群易陷入纯粹的随机搜索,很难找到最优解。通常取[0,5]。

ρ 反映了信息素的蒸发程度,相反,1-ρ 表示信息素的保留水平
ρ 过大,信息素会发过快,容易导致最优路径被排除。
ρ 过小,各路径上信息素含量差别过小,以前搜索过的路径被在此选择的可能性过大,会影响算法的随机性和全局搜索能力。通常取[0.2,0.5]。

m过大,每条路径上信息素趋于平均,正反馈作用减弱,从而导致收敛速度减慢。
m过小,可能导致一些从未搜索过的路径信息素浓度减小为0,导致过早收敛,解的全局最优性降低

总信息量Q对算法性能的影响有赖于αβρ的选取,以及算法模型的选择。
Q对ant-cycle模型蚁群算法的性能没有明显影响,不必特别考虑,可任意选取。

阅读全文

与蚁群优化算法程序相关的资料

热点内容
液压油可压缩吗 浏览:944
源泉cad加密文件 浏览:123
银河v10驱动重编译 浏览:889
电脑上文件夹右击就会崩溃 浏览:689
右美维持算法 浏览:938
php基础编程教程pdf 浏览:219
穿越之命令与征服将军 浏览:351
android广播重复 浏览:832
像阿里云一样的服务器 浏览:318
水冷空调有压缩机吗 浏览:478
访问日本服务器可以做什么 浏览:433
bytejava详解 浏览:450
androidjava7 浏览:385
服务器在山洞里为什么还有油 浏览:887
天天基金app在哪里下载 浏览:975
服务器软路由怎么做 浏览:293
冰箱压缩机出口 浏览:229
OPT最佳页面置换算法 浏览:645
网盘忘记解压码怎么办 浏览:853
文件加密看不到里面的内容 浏览:654