应用蚁群算法静态组合优化问题Word文档下载推荐.docx
- 文档编号:20714490
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:13
- 大小:27.45KB
应用蚁群算法静态组合优化问题Word文档下载推荐.docx
《应用蚁群算法静态组合优化问题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《应用蚁群算法静态组合优化问题Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。
25存款信息素的访问弧();
26更新蚂蚁路由表();
27结束如果
28M=更新内部状态();
29结束当
30如果(在线延误信息素更新)
31评价的解决方案();
32存款信息素的所有访问弧();
33更新蚂蚁路由表();
34结束如果
35模具();
36结束程序
图3该蚁群元启发式的伪代码。
评论包含在括号内。
所有程序在第一级压痕在声明中同时并行的执行。
守护进程的程序的行动()在第六行是可选的,并指集中行动执行了守护拥有全球知识。
目标国(第19)是指一个完整的解决方案建造的蚂蚁。
在一步一步和延迟信息素更新程序行24-27和30-34往往是相互排他性。
当他们两人都缺席的信息素是所存放的守护进程。
表1名单中的使用蚁群算法静态组合优化问题。
使用及分类按时间顺序排列。
问题名称
作者
年份
主要参照
算法名称
旅行商
Dorigo,Maniezzo&
Colorni
1991
[33,40,41]
AS
Gambardella&
Dorigo
1995
[49]
Ant-Q
Dorigo&
Gambardella
1996
[37,38,50]
ACS&
ACS-3-opt
Maniezzo&
Colorni
1997
[97,98]
MMAS
Maniezzo
[12]
ASrank
二次分配
Maniezzo,Colorni&
origo
1994
[77]
AS-QAP
Gambardella,Taillard&
[53,54]
HAS-QAPa
St¨
utzle&
Hoos
1998
[99]
MMAS-QAP
[76]
AS-QAPb
[75]
ANTS-QAP
Job-shop调度
Colorni,Dorigo&
aniezzo
[20]
AS-JSP
车辆路径
Bullnheimer,Hartl&
Strauss
[15,11,13]
AS-VRP
Agazzi
1999
[52]
HAS-VRP
顺序排序
Gambardella&
[51]
HAS-SOP
图着色
Costa&
Hertz
[22]
ANTCOL
最短的共同超序列
Michel&
Middendorf
78,79]
AS-SCS
aHAS-QAP是一种蚂蚁算法不遵循所有方面的蚁群元启发式
b这是一个变异的原始AS-QAP.
表2名单中的使用蚁群算法,动态组合优化问题。
分类的申请,并排列顺序。
面向连接的网络路由
Schoonderwoerd,Holland,Bruten&
Rothkrantz
[90,89]
ABC
White,Pagurek&
Oppacher
[105]
ASGA
DiCaro&
[31]
AntNet-FS
Bonabeau,Henaux,Gu´
erin,Snyers,Kuntz&
Th´
eraulaz
[6]
ABC-smartants
连接不到网络路由
DiCaro&
[26,28,32]
AntNet&
AntNet-FA
Subramanian,Druschel&
Chen
[100]
Regularants
Heusse,Gu´
erin,Snyers&
Kuntz
[64]
CAF
vanderPut&
[102,103]
ABC-backward
严格执行依赖方面的蚁群元启发式关于时间的信息素更新(系24-27和30-34的算法在图3)。
在蚁群静态算法的组合优化的方式更新信息素的蚂蚁步道变化的算法:
任意组合在线步信息素更新和在线延迟信息素更新是可能的。
另一个重要方面涉及执行依赖的daemon行动()部分蚁群元启发式(6线的算法在图3)。
守护进程行动实施行动需要某种形式的全球性知识的问题。
例子是离线信息素更新和局部优化的解决方案,内置的蚂蚁。
大多数蚁群算法中提出的本款强烈鼓舞蚂蚁系统(因为),第一工作蚁群优化[33,40]。
许多连续使用的最初构想是相对简单的使用向具体问题正在审议之中。
因此,我们开始的描述蚁群算法rithms和AS。
以下为每个蚁群算法中列出的表1给出了短描述了该算法的主要特点和所取得的成果。
3.1.1旅行商问题
第一次申请的蚁群优化算法是利用旅游推销员问题(TSP问题)作为测试的问题。
主要原因TSP问题,其中一个研究得最多的NP-hard[71,86]问题的组合优化,选择是这是一个最短路径问题的蚁群比喻很容易适应和这是一个教学问题(即它是非常容易理解和解释的算法行为不掩盖太多的技术性问题)。
一般定义旅行商问题是下面的。
考虑集合N的节点,代表城市,以及集合E弧线全连接节点N,让是弧()∈E的长度,这是城市和间的距离,且、。
TSP的问题是在图G=(N,E)中找到一个最小长度的哈密顿回路,而图G的哈密顿回路是一个封闭的参观访问,只有当所有的N=|n|节点的G,它的长度是由所给予的总和,长度所有的弧线组成。
在下面我们将简要地概述了蚁群算法,提出了为总悬浮颗粒物,从蚂蚁系统。
更全面观点可在[96]找到。
3.1.1.1蚂蚁系统(AS)
蚂蚁系统(AS)是第一个(1991)[33,40]蚁群算法。
其重要性所在主要是在目前的原型一些蚂蚁算法已发现了许多有趣的和成功的使用。
在蚂蚁系统中人工蚂蚁在建立解决方案(旅游)的TSP移动的问题图从一个城市到另一个。
该算法执行在以下目录次迭代,。
在每次迭代蚂蚁建立一个巡回执行概率决策规则适用(状态转移)步。
在实践中,蚂蚁选择节点移动到节点,弧被加上正在建设旅游。
这一步是反复进行,直至蚂蚁已经完成了访问。
三个蚂蚁系统算法在[19,33,40,41]定义,这些同的方式更新信息素步道。
这算法叫做蚂蚁密度、蚂蚁数量、蚂蚁周期。
当建立一个解决方案时,蚂蚁密度和蚂蚁蚂蚁数量存信息素。
而蚂蚁周期蚂蚁存款信息素后,他们建立了一个完整的游览。
初步实验运行了一套基准问题[33,40,41]表明,蚂蚁周期的表现明显优于其他两种算法。
因此,研究蚂蚁系统更好地了解特点,这是目前已知的蚂蚁系统,而其他两个算法被遗弃。
正如我们所说,在以后的蚂蚁已经建立了自己的旅行,每个蚂蚁存款信息素的素变数相关线索的访问弧线,使访问弧线变得更加可取的未来蚂蚁(也就是说,线上延迟信息素更新工作)。
然后蚂蚁死掉。
在没有履行守护活动,而信息素蒸发程序之前发生的蚂蚁开始存款信息素,是交叉的蚂蚁活动。
数额信息素踪迹联系弧的目的是代表教训可取的选择,当在城市城时(这也相当于是可取的弧属于蚂蚁游览建造的)。
线索信息的信息素是变化问题的解决方案,以反映所取得的经验在解决问题的蚂蚁。
蚂蚁存款的数额成正比信息素的质量,解决他们生产:
短游览蚂蚁所产生的更大数额的存款素它的弧它用来产生游览。
这一选择可以直接搜索实现良好的解决办法。
主要作用是信息素蒸发,以避免停滞,也就是在这种情况最终所有蚂蚁做同样的访问。
每个蚂蚁的内存(内部状态)包含已访问了城市,并称为所谓禁忌名单。
以下我们将继续利用长期禁忌列表说明蚂蚁的记忆。
内存是用来确定,每个蚂蚁的一套城市蚂蚁位于城市我仍然要访问的。
利用内存蚂蚁k,因此可以建立可行的解决办法的一个隐含的状态空间图代(在TSP,这相当于一个城市完全访问一次)。
此外,内存允许蚂蚁支付相同的路径存入在线延迟性信息素的访问弧线。
蚂蚁决策表的节点i得到组成的当地信息素径值和当地启发式值如下:
(2)
而是信息素在弧时间的数额径,是启发式价值从节点i到节点j,是的一套邻居节点,和是两个参数,用于控制的相对比重和启发式信息素踪迹价值。
当建设参观的T-次迭代算法,蚂蚁选择从城市到城市的概率如下,当建设参观的T-次迭代算法
(3)
而是蚂蚁还没有访问一套节点附近的节点(通过运用私人记忆,中节点从中选择)
参数和的作用如下:
如果,最近的城市更有可能被选择,这相当于一个经典随机贪心算法(有多起点,因为蚂蚁的最初随机分布的节点)。
相反的,如果,只有信息素在起作用:
这种方法将导致迅速出现了停滞不前的状况和相应的一代旅游(一般,坚决次优)。
之间的权衡启发式价值和开拓者强度似乎是必要的。
在所有的蚂蚁已经遍历完后,信息素的所有弧蒸发触发,然后每一个蚂蚁存储一定量的信息素在每一已经用的弧:
(4)
而是蚂蚁在迭代所有的遍历,是他的长度。
请注意,在对称TSP,弧被认为是双向的,以便于弧和弧临时更新(实际上,它们是同样的弧)。
不同的是TSP的对称性,而弧有方向性,该信息素踪迹弧和弧可以不同。
在这种情况下,因此当一蚂蚁从节点到节点,仅弧而不是弧更新。
很显然方在程4中,的值取决和蚂蚁如何运动,遍历越短,信息素存储就越多。
在实践中,增加新的信息素的蚂蚁和信息素蒸发执行下列规则适用于所有的弧线:
(5)
而,是每次迭代(保持不变)的数量,是衰变的信息素径系数。
最初的数额信息素被设置为相同的小积极常数的所有弧,总的蚂蚁数被设置成,而相应设成1.5、0.5;
这些值是被Dorigo[33]试验发现的。
还介绍了精英蚂蚁,也就是守护进程的行动,其中所使用的弧线蚂蚁产生的最佳旅游从一开始就得到了审判额外信息素。
蚂蚁系统是相对于其他一般用途的一些相对启发式小的TSP问题(这些问题,涉及30到75个城市)一时间,结果[40,41]非常有趣和令人失望。
蚂蚁系统是能够找到和改善最好的解决办法发现了遗传算法的Oliver30[106],一个30城市问题,和它比较,它有一个类似的或更好的性能通用的启发式。
不幸的是,越来越多的问题,体积,蚂蚁系统没有达到最有名的解决方案,在允许3000次迭代,但它展示快速收敛,以良好的解决办法。
这些令人鼓舞的,虽然不是期待的,结果刺激了一些研究人员进一步研究蚁群优化方法。
这些努力已导致许多成功的使用,在以下各节中列出。
3.1.1.2其他近似的蚂蚁系统
Stutzle和Hoos(1997)[97,98]曾经介绍过同样的蚂蚁系统最大最小的蚂蚁系统,但是
(1)信息素径只有更新离线的守护(其中的弧线所用最好的蚂蚁在当前迭代得到更多的信息素),
(2)信息素踪迹值限制在区间,(3)信息素踪迹初始值到它的最大值。
根据方程3,把明确的限制线索强度限制了各种可能的值的概率选择一个特定的弧。
这有助于避免停滞,这是其中一个原因蚂蚁系统表现不佳时,作为一个精英战略被采用,像只允许最好的蚂蚁来更新信息素的小径。
为了避免停滞,这可能会发生一些信息素的情况下径接近,而其他大多数接近。
Stutzle和Hoos增加了他们所说的“开拓者平滑机制:
也就是说,信息素更新步道使用比例机制:
。
通过这样的方式,相对差异开拓者的优势得到更小,这显然有利于探索新的途径。
他们发现,当运用到TSP,MMAS比蚂蚁系统发现显著好的路径,虽然相比这些从ACS获得的(ACS是蚂蚁系统在3.1.1.3节讨论中的扩展)。
Bullnheimer、Hartl和Strauss[12]又一次提出蚂蚁系统的修正,叫做。
在中,像在MMAS情况一样,唯一的信息素更新是由守护进程,实现了下列活动:
(1)蚂蚁被用路径长度来排序,其中的弧线所访问的第一个σ-1蚂蚁在排名收到的数额信息素成正比访问蚂蚁排名;
(2)所用的弧线蚂蚁产生最佳游览从开始试验还得到更多的信息素(这相当于为的精英蚂蚁信息素更新)。
这是两种形式的离线信息素更新。
在执行过程中的贡献,最好的游览迄今为止乘以。
动态的数额信息素是由给出:
(6)
而,是从路径开始最佳的解决长度,,,如果蚂蚁排列已经用弧在他的踪迹,并且。
是蚂蚁在排列、迭代的踪迹长度。
式子6使用所有的弧和,因此,实施两个素蒸发和离线信息素更新。
他们发现这个新程序的质量显着改善,使用蚂蚁系统。
3.1.1.3蚁群系统(ACS),ACS-3-opt,和Ant-Q
蚁群系统算法已经被Dorigo和Gambardella(1996)[37,38,50]介绍来改进蚂蚁系统。
能够找到良好的解决方案在合理的时间内为解决小问题。
蚁群系统是基于蚂蚁系统,但提出了一些重要的区别。
首先,守护进程更新信息素的步道离线:
在算法的每一次迭代结束,一旦所有的蚂蚁已经建立一个解决方案,信息素踪迹添加到弧用蚂蚁发现最好的旅游从一开始的路径。
在SCS-3-opt,而守护进程首次激活本地搜索程序,基于的一个变种3-opt本地搜索程序[73]以便和完善蚂蚁产生解决方案,然后进行离线更新信息素踪迹。
离线信息素更新规则是:
(7)
而是一个参数管理信息素衰变,,是最好的路径自开始的长度。
式子7仅使用到弧属于。
其次,蚂蚁用不同的决策规则,叫做伪随机比例规则,在这规则中,城市中的蚂蚁选择城市按照以下规则移动。
让成为蚂蚁决策表:
(8)
让是一个在[0,1]分布均匀的随机变量,是一个可调参数。
被蚂蚁位于节点选择下一个节点用的伪随机比例规则是以下:
如果那么
(9)
相反,当
(10)
这个决策规则有一双重功能:
当,规则决定利用规则知识的问题,也就是说,启发式知识的距离城市之间的知识和经验教训的以信息素步道形式存储。
而当,它经营有偏见的探索(相当于蚂蚁系统中的式子3).调谐可以调节程度的探索和选择是否集中活动的系统的最佳解决方案,或探讨搜索空间。
第三,在蚁群系统只执行线一步一步信息素更新。
这些更新有利于执行的出现是迄今比其他最佳解决方案。
那个信息素的更新是由适用规则:
(11)
而。
式子11说明一个蚂蚁从城市到城市在弧上更新信息素在弧。
值是一样的初始值素步道,试验得出:
得出很好的结果,而是城市的数目,是旅游所产生的近邻启发式的长度[56]。
当一蚂蚁从城市到城市,当地更新规则的使用提出了相应的信息素踪迹减少。
信息素踪迹在道路上减少的理由正在使用的蚂蚁建立一个以下解决方案是。
考虑蚂蚁在城2开始和转移到城市3,4,等等,蚂蚁在城市1开始和选择城市2作为第一个城市迁移到。
然后,有一个好的机会,蚂蚁将追寻蚂蚁一步延迟。
地方更新规则的运用,减少影响的开拓者降低了这种情况的风险。
换句话说,蚁群系统的地方更新规则有使访问弧吸引力越来越少的效果,正如他们被蚂蚁所访问,间接有利于探索尚未访问的弧线。
因此,蚂蚁往往不收敛到一个共同的道路。
这一事实,被实验[38]观察,是一种可取的财产,因为蚂蚁探索不同的路径,那里有一个更高的概率,其中一个将找到一个改进解决方案,跟他们都汇集到同一路径相比(这将使得使用蚂蚁无意义)。
最后,蚁群系统利用一个数据结构叫做候选人名单,以提供当地额外启发式信息。
候选人名单是的首选城市要访问某一城市。
在蚁群系统,当一蚂蚁在城市,而不是检查所有没有访问的邻居,它从那些候选名单中选择的城市来移动;
仅当有候选城市能访问,然后其他城市进行检查。
候选城市名单中包含增加城市距离的城市(是一个参数),名单扫描顺序,并根据蚂蚁禁忌名单,以避免已经访问城市。
蚁群系统在标准问题上测试过(在[37,38]上看详细结果),两个对称和非对称,大小不同,并和许多其他中继启发式相比。
在所有情况下,其业绩,无论是质量的解决方案,以及产生他们所需CPU的时间,是最好的之一。
ACS-3-opt的表现被拿来和遗传算法(当地优化)[47,48]相比,赢得了第一届国际竞赛进化优化[2]。
这两个算法在行为对称问题,ACS-3-opt非对称表现出相似性。
总的来讲,我们说过蚁群系统是Ant-Q的直接继承(1996)[36,49]一个算法,试图合并蚂蚁系统和Q-learning[104]属性。
实际上Ant-Q仅在值被蚂蚁进行在线步信息素更新时和蚁群系统不同。
想法是用下一步状态预测价值来更新信息素步道。
在Ant-Q,通过下列方程取代方程11,蚂蚁实现在线步信息素更新:
(12)
不幸的是,后来发现设置复杂预测长期的一个小恒定值,正如在蚁群系统做的那样,导致大致相同表现。
因此,尽管具有良好的表现,因为蚁群系统同样不错,但更简单,Ant-Q被遗弃。
同样的,和上面描述的其他蚁群系统版本被研究,是因为
(1)它采用一步一步的在线更新方法(在[38]实验运行停用,或通过设置更新项在方程11值,,
(2)采用决策规则(在[49],伪随机比例规则,式子9和10跟蚂蚁系统中的随即比例对比,伪随机规则不同于伪随机比例规则,是因为随机项是均匀随机),(3)解决方案的类型,用后来程序来更新信息素步道(在[38]在目前的迭代,使用最好的解决办法和从开始路径最好解决方案的蚁群系统比较)。
蚁群系统正如所上面所描述的,是表现最好的所有算法的组合获得了上面说道的机会。
3.1.2二次分配问题
二次分配问题(QAP)是分配个设施到个地点,这样的费用转让,尽量减少的问题。
这是一个设施被指定分配到地点的函数。
二次分配问题是继旅行商问题后,第一个被类似蚂蚁系统算法吸引的问题。
这是一个合理的选择,因为二次分配是一个泛化的TSP问题。
Maniezzo,Colorni和Dorigo(1994)[77]采用完全相同的算法,正如蚂蚁系统用特定二次分配最大最小启发式来计算值,在式子3.算法结果蚂蚁系统二次分配测试了一套标准的问题,并导致具有相同的质量元启发式方法像模拟退火和进化计算。
最近,Maniezzo、Colorni[76]和Maniezzo[75]开发了蚂蚁系统—二次分配问题的两个变种,并且给他们添加一个局部最优值,由此产生的算法和一些有非常好的结果的启发式二次分配问题进行了比较。
蚂蚁系统—二次分配问题给了测试问题最好的结果。
Stutzle和Hoos(1998)用他们MMAS-QAP算法[99](MMAS-QAP和HAS-QAP是MMAS的简单使用,在3.1.1.2二次分配问题章节可以查看)得出了同样的结果。
Gambardella和TaillardDorigo(1997)用HAS-QAP算法也得出同样的结果。
MMMAS—QAP和HAS—QAP进行比较的一些用于在两个类别的问题最佳启发式:
随机和结构二次分配问题,而结构二次分配问题是来源于真是世界使用的实例问题。
这些蚂蚁算法被证明在结构化问题上变现最佳[53,54]。
详细的蚁群算法算法使用到二次分配问题的观点可以在[95]查到。
3.1.3 Job-shop调度问题
Colorni,Dorigo和Maniezzo(1994)使用蚂蚁系统到Job-shop调度问题,这一问题可以从下面计算:
给定一个M和由一个命令序列的行动被处决组成的J集。
Job-shop调度问题是分配任务、时间给机器运行,以便在最高的完成时间最小化所有行动,也没有同时在同一台机器上,处理两件任务。
JSP是NP-hard[55]。
他们的基本算法的使用是完全一样的,因为在η启发式价值计算使用时间最长的剩余处理时间启发式。
由于不同性质的制约因素对TSP,他们还确定了新的建设蚂蚁的禁忌名单的方式。
AS-JSP技术使用方面的问题多达15台和15个就业机会一直在寻找解决办法10%的最优值[20,41]。
这些结果,但也不例外,是令人鼓舞的,并提出进一步的工作可能会导致一种可行的制度。
另外,相对于其他的办法是必要的。
3.1.4车辆路径问题
这里有很多车辆路径问题类型的问题(VRPs)。
Bullnheimer,Hartl和Strauss[11,13,15]使用一个类似蚂蚁系统算法于以下实例。
让是一个完整的带权有向图,其中是集合的节点,是弧的集合,且每一弧有一相关权重代表和的距离。
节点代表一车库,其中车辆M停在那里。
要求和服务时间关联到每个客户(和)。
我们的目标是找到最低的车辆路线成本,使
(1)每一位客户的只被一车辆访问;
(2)每辆车辆的总需求不超过欧它的容量D;
(3)每辆车辆总的路径长度不超过一个界限L;
(4)每辆车的起点和末点都在车库。
算法—蚂蚁系统-车辆路径问题,是Bullnheimer,Hartl和Strauss
为了上面的问题而定义的,是基于在3.1.1.2章节讨论的蚂蚁系统排算法的蚂蚁系统的直接扩展。
为车辆路径问题,他们用各种标准的启发式,增加了一基于2-opt启发式的简单局部最优值。
他们还调整了建立在考虑采取限制路径最大总长度L的车辆和其最大容量D的禁忌清单的方式。
同一系列标准问题的比较显示出了蚂蚁系统-车辆路径问题至少是有趣的。
它优于模拟退火算法和神经网络,而它的性能略比禁忌搜索有所下降。
Gambardella,Taillard和Agazzi(1999)[52]同样也涉及了车辆路径问题,通过蚁群算法。
他们首先改写这个问题,增加了城市,设定M-1仓库,其中m是车辆的数目。
用这个改写,车辆路径问题变成一个代约束的禁忌搜索问题。
因此,他们定义了一算法,称之为HAS-VRP,被ACS所鼓励:
每一蚂蚁建立一完全的路径而没有违反车辆容量限制(每一车辆有一个相关的最大运输权重)。
一个完整的游览包括许多subtours接驳站,每个分赛相当于一个路径相关的车辆。
信息素踪迹更新是在ACS离线。
此外,局部的优化程序,边交流的基础上适用的服务。
结果这种做法和那些具有竞争力的最有名的算法和新上界已为众所周知的计算问题的实例。
他们还研究了车辆路径问题有时间窗(VRPTW),扩展了车辆路径问题,通过引入时间窗,期间客户必须被服务。
因此,在时间前,访问客户的车辆将会不得不等待。
在文献中,有时间窗的车辆路径问题解决考虑两个目标函数:
一是最大限度地减少车辆的数目,第二个是减少总的旅行时间。
一个解决较低的车辆数目办法,总是喜欢的解决方案较高的车辆数目,但较低的旅行时间。
为
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 应用 算法 静态 组合 优化 问题