蚁群算法理论及其在优化打孔机作业路径应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
蚁群算法理论及其在优化打孔机作业路径的应用
摘要:蚁群算法是一种新出现的仿生进化算法,广泛应用在现代化优化领域。该文详细介绍了该算法的原理与实现过程,并讨论其在优化打孔机作业路径上的应用。最后,评述了所得出的结论,分析算法的优缺点,为此提供了可改进的方向。
关键词:蚁群算法信息素打孔机最短路径
中图分类号:o224 文献标识码:a 文章编号:1674-098x(2012)12(c)-0-02
1 题目的背景与意义
蚁群算法作为通用型随机优化方法,以其更优的时间复杂度与更高的搜索效率,优胜于以往常用的启发式算法,更为广泛地应用到组合优化、人工智能、通讯等多个现代化领域。同时,蚁群算法的正反馈性、协同性与遗憾的并行性,是该算法具有发展潜力的有力根据,该文尝试使用蚁群算法解决多目标优化问题的研究工作。
过孔是印刷电路板的重要组成部分之一,其加工费用占总制作费用的30%到40%,打孔机主要用于在制造印刷线路板流程中的打孔作业。打孔机的生产效能主要取决于钻孔作业时间、钻头行进时间与刀具转换时间。由于钻孔作业时间由制作工艺水平决定,不在模型讨论范围内。该文旨在研究打孔机生产作业时,刀具转换的最佳方案与钻头行进最优路径。
2 数据背景
该文数据来自2012年“深圳杯”全国大学生数学建模夏令营
d题。
3 蚁群算法的理论与应用
3.1 方法介绍
蚁群算法,于20世纪90年代初由意大利学者colorni、dorigo 和maniezzo等人首先提出,称之为蚁群系统,是一种启发式仿生进化算法。该算法应用于求解tsp问题、分配问题与job-shop调度问题,并取得了较为满意的效果。
后人依据此研究基础,提出了一种求解分配类型问题的一般模型,并运用此方法探讨图着色问题[1]。虽然研究时间不长,但是现在的研究显示出,蚁群算法在求解复杂优化问题,尤其是离散问题,具有一定的优势。
3.2 原理及算法实现
其中allowedk为可行集,表示蚂蚁k下一步可以选择的路径集合;α为信息启发式因子,是路径ij上残留信息的重要程度,表示轨迹的相对重要性;β为期望启发式因子,表示能见度的相对重要性;ηij为启发函数,且满足ηij=。
由于人工蚂蚁具有记忆功能,用tabuk(k=1,2,...,m)记录蚂蚁k当前走过的位置并随着进化过程动态调整,称为记忆列表。当所有蚂蚁完成了一次遍历,它们本次遍历的记忆列表则被写满,此时应当清空,并把当前蚂蚁所在城市写入tabuk,然后进入下一次遍历。
这时,还要记录每只蚂蚁所走过的路径lk以及最短路径
其中,δτijk表示蚂蚁k在本次循环中留在路径ij上的信息量增量;δτij表示本次循环中路径ij上的信息量增量;在蚂蚁遍历的过程中,以往留下的信息量将不断挥发,用ρ表示信息量挥发程度,1-ρ1表示挥发后剩余的信息量,即轨迹衰减度。
针对信息量增量的计算,意大利学者m.dorigo提出了三种算法模型[3],分别为蚁周模型(ant-cycle model)、蚁量模型(antquantity model)和蚁密模型(ant-density model)。考虑到充分利用全局信息,该文采用蚁周模型(3)求解:
其中,q表示蚂蚁k完成一个完整的路径搜索后所释放的信息量总和;lk表示蚂蚁k在本次循环中所走路径的长度。
还考虑到蚂蚁不可重复访问同一个位置,该文引入一个控制“蚂蚁不再选取自己本次循环已经走过的路径作为下一步路径”这一行为特性的数据结构visited-cityk。
蚁群算法流程图如图1所示;
4 算法在求解打孔机作业最短路径的应用
4.1 问题分析
打孔机主要用于在制造印刷线路板流程中的打孔作业,过孔是印刷线路板的重要组成部分之一。同时,因为过孔的加工费用在制版成本中占据较大比例,通常达到总费用的30%到40%。考虑到单钻头打孔机在打孔作业过程中,生产效能受到三方面因素的影响,即:单个过孔钻孔时间、钻头在不同过孔之间的行进时间与加工不同孔型时刀具的转换时间。针对此问题,该文接下来讨论如何通过选择
合适的算法建立合理的模型,以达到求解与分析单钻头打孔机作业的生产效能问题。
首先,该文运用贪心算法,确定出最优刀具转换次序,则不同孔型加工作业过程中刀具转换最优顺序模型为:
d→c→b→a→h→g→f→e→c
最优作业线路下行进时间的关系表达式为:
t=tk+ti,j
其中,tk代表最优作业线路下刀具行进总时间;ti,j代表最优作业线路下刀具从转换到所耗费的时间。
4.2 数据与结语
因为九个钻头独立行进的最短路径只要分别建模求解出独立行进最短路径分析即可,因此接下来首先以较具有代表性的d钻头进行独立分析。
利用matlab软件,运用蚁群算法进行运算,得出了d钻头最优打孔路线如图2所示。容易观察出,打孔路线的设计较为合理,不存在钻头重复跨越的区域,过孔之间的连接符合实际生产要求。因此运用蚁群算法求解出d钻头优化路径模型,为提高生产效能提供了可行的方案。
为检验计算结果的准确性,该文以d钻头为例,利用matlab程序绘制出过孔平均距离与最短距离曲线,如图3所示。
可以观察出,依据蚁群算法结果的路径设计,过孔平均距离在初始阶段急剧减少,并迅速进入平稳阶段,同时过孔最短距离波动逐
渐减小。可以得出,该方法对此问题的解决程度是较令人满
意的。
5 结语
蚁群算法经由改进后应用于组合优化、函数优化、机器人路径规划、数据挖掘等许多领域,并显示出其求解复杂优化问题的优势,但是,因为蚁群算法的出现时间较短,期研究成熟度仍具有一定不足,仍存在以下留待改进的问题:(1)由于多只蚂蚁分头寻找路径,再按照概率转移相遇,造成计算复杂,搜索时间长,对于计算机资源有一定要求,需要一定的时间成本;(2)由于蚂蚁通过信息素和特定概率公式由一个结点转移到另一个结点,所对参数的设置需要很严谨。若参数过小,则结果收敛慢;若参数过大,容易陷入局部最优解。(3)算法研发时间较短,缺少系统的分析方法与有力的数学理论基础;该文通过对存在于自然界的群体运动—蚁群效应,进行了深入的了解,并介绍了蚁群算法的基本原理与实现过程,最后,针对实际应用问题将该算法实现,分析结果得出打孔机作业的最优路径,为该工业的优化生产效能提供了参考与建议。
参考文献
[1] 张纪会,徐心和.一种新的进化算法:蚁群算法[j].系统工程理论与实践,1999,19(3):84-87.
[2] 李秋霞,贺达汉,长有德,等.蚂蚁取食行为研究概况[j].宁夏农学院学报,2000(2).
[3] m dorigo,v maniezzo,a clolorni.the ant system: