打孔论文.doc_第1页
打孔论文.doc_第2页
打孔论文.doc_第3页
打孔论文.doc_第4页
打孔论文.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2012年“深圳杯”全国大学生数学建模竞赛承 诺 书我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。如有违反竞赛规则的行为,我们将受到严肃处理。我们参赛选择的题号是(从a/b/c/d中选择一项填写): d 我们的参赛报名号为(如果赛区设置报名号的话): 所属学校(请填写完整的全名): 参赛队员 (打印并签名) :1. 2. 3. 指导教师或指导教师组负责人 (打印并签名): 马志宏 日期: 2012 年 5 月 20 日赛区评阅编号(由赛区组委会评阅前进行编号):2012年“深圳杯”全国大学生数学建模竞赛编 号 专 用 页赛区评阅编号(由赛区组委会评阅前进行编号):赛区评阅记录(可供赛区评阅时使用):评阅人评分备注全国统一编号(由赛区组委会送交全国前编号): 全国评阅编号(由全国组委会评阅前进行编号):打孔机生产效能的提高摘要本文对印刷电路板过孔的生产效益如何提高进行了研究。打孔机在加工作业时,钻头的行进时间和刀具的转换时间是影响生产效益的两个因素。在完成一个电路板的过孔加工时,钻头行进时间和刀具转换总时间越短,生产效益越高。钻头行进总时间由钻头进行路线决定,而刀具转换总时间由线路板上由各孔的位置以及钻头行进方案决定。对于第一问,根据数据的分析整理,知道钻头钻孔方式采用一种刀具钻完对应的全部孔,再转换到其他刀具进行打孔。所以我们构造出刀具的最优转换方案,为defghabcdefed,再采用遗传算法算法求出各刀具过孔的最优路径,并求出其运行总路程15532.85mm、运行时间302.29s和费用为957.17元。对于第二问,当打孔机设计成双钻头时,由于作业时各钻在要求范围之内。得出双钻头运行时间与费用后,再与单钻头最优加工路径相比较头相互独立,且有合作间距的限制,因此在解决双钻头最优作业方案时,我们在单钻头作业的基础上再加上另一个钻头作业所需的各种费用并增加约束条件,还是优先构造出甲乙两个刀具的转换方案,钻头甲:abcdefgha;钻头乙:bahgfedcb,利用遗传算法得出钻头甲的最优路径图,求出钻头甲行进总路程为8870.81mm,花费时间为193.28s,钻头甲行进总路程为7758.69mm,花费时间为197.10s,综合后得到双钻头模型行进总路程为16629.50mm,花费时间为197.10s,费用为1031.37元。比较单钻头方案与双钻头方案,双钻头方案能大大缩打孔机加工时间,有效提高了打孔机的加工质量、加工效率、生产效能。 关键词: 遗传算法 优化模型 路径优化 生产效益一、 问题的重述过孔是印刷线路板(也称为印刷电路板)的重要组成部分之一,过孔的加工费用通常占制板费用的30%到40%,打孔机主要用于在制造印刷线路板流程中的打孔作业。本问题旨在提高某类打孔机的生产效能。打孔机的生产效能主要取决于以下几方面:(1)单个过孔的钻孔作业时间,这是由生产工艺决定,为了简化问题,这里假定对于同一孔型钻孔作业时间都是相同的;(2)打孔机在加工作业时,钻头的行进时间;(3)针对不同孔型加工作业时,刀具的转换时间。目前,实际采用的打孔机普遍是单钻头作业,即一个钻头进行打孔。现有某种钻头,上面装有8种刀具a,b,c, , h,依次排列呈圆环状(如图1所示),bcdefgha图1:某种钻头上8种刀具的分布情况而且8种刀具的顺序固定,不能调换。在加工作业时,一种刀具使用完毕后,可以转换使用另一种刀具。相邻两刀具的转换时间是18 s,例如,由刀具a转换到刀具b所用的时间是18s,其他情况以此类推。作业时,可以采用顺时针旋转的方式转换刀具,例如,从刀具a转换到刀具b;也可以采用逆时针的方式转换刀具,例如,从刀具a转换到刀具h。将任一刀具转换至其它刀具处,所需时间是相应转换时间的累加,例如,从刀具a转换到刀具c,所需的时间是36s(采用顺时针方式)。为了简化问题,假定钻头的行进速度是相同的,为180 mm/s,行进成本为0.06元/mm,刀具转换的时间成本为7元/min。刀具在行进过程中可以同时进行刀具转换,但相应费用不减。不同的刀具加工不同的孔型,有的孔型只需一种刀具来完成,如孔型a只用到刀具a。有的孔型需要多种刀具及规定的加工次序来完成,如孔型c需要刀具a和刀具c,且加工次序为a,c。表1列出了10种孔型所需加工刀具及加工次序(标*者表示该孔型对刀具加工次序没有限制)。表1:10种孔型所需加工刀具及加工次序孔型abcdefghij所需刀具aba, cd, e*c, fg, h*d, g, fhe, cf, c一块线路板上的过孔全部加工完成后,再制作另一线路板。但在同一线路板上的过孔不要求加工完毕一个孔,再加工另一个孔,即对于须用两种或两种以上刀具加工的过孔,只要保证所需刀具加工次序正确即可。请建立相应的数学模型,并完成以下问题:(1) 附件1提供了某块印刷线路板过孔中心坐标的数据,单位是1/100mil(mil也称为毫英寸,1 inch=1000 mil),(坐标图如图2所示),请给出单钻头作业的最优作业线路(包括刀具转换方案)、行进时间和作业成本。(2)为提高打孔机效能,现在设计一种双钻头的打孔机(每个钻头的形状与单钻头相同),两钻头可以同时作业,且作业是独立的,即可以两个钻头同时进行打孔,也可以一个钻头打孔,另一个钻头行进或转换刀具。为避免钻头间的触碰和干扰,在过孔加工的任何时刻必须保持两钻头间距不小于3cm(称为两钻头合作间距)。为使问题简化,可以将钻头看作质点。(i)针对附件1的数据,给出双钻头作业时的最优作业线路、行进时间和作业成本,并与传统单钻头打孔机进行比较,其生产效能提高多少?(ii)研究打孔机的两钻头合作间距对作业路线和生产效能产生的影响。二、 问题的分析 印刷线路板过孔加工费用有以下三个因素决定:1、 单个过孔的做空作业时间;2、 打孔机钻头行进时间;3、 针对不同孔型加工作业时,刀具转换时间;给出最优作业方案,就要使总加工费用最小。而单个过孔的钻孔作业时间是由生产工艺决定的,在不同打孔方式下不变。因此,最优作业方案由2、3两个因素决定。钻头行进时间和刀具转换时间越小,加工总费用越小,作业路线最优。并且加工总费用=刀具行进费用+刀具转换费用。 钻头行进的路线的确定我们用遗传算法模拟。令,当表示在得到的最优路径上;当表示不在得到的最优路径上。通过这个变量建立起路线与费用的桥梁关系,进而写出总费用的表达式。对此,我们建立优化模型,通过遗传算法能较为准确的求出最优解,进而确定最优路线,行进时间和作业成本。当打孔机设计成双钻头时,由于作业时各钻头相互独立,且有合作间距的限制,因此在解决双钻头最优作业方案时,我们在单钻头作业的基础上再加上另一个钻头作业所需的各种费用并增加约束条件,保证合作间距在要求范围之内。三、 基本假设1、 单个过孔的钻孔作业时间,这是由生产工艺决定,为了简化问题,这里假设对于同一孔型钻孔作业时间都是相同的;2、 在计算两孔之间距离时,为了简化问题,这里假设打孔机的钻头看作一个质点;3、 为了计算行进费用,需要计算行进时间,为了简化问题,这里假设打孔机的行进是一个匀速运动。4、为避免钻头间的触碰和干扰,假定保持两钻头间距不小于四、 符号说明五、 模型的建立与求解问题一 单钻头打孔作业为了提高打孔机的生产效能,就要使印刷线路板的过孔的总费用最小。而总费用钻孔作业费用+钻头行进费用+刀具转换费用,并且本题中,生产工艺决定同一孔型作业时间相同,因此线路板的钻空作业费用一定。所以要使钻头行进费用、刀具转换费用之和最小。(1)钻头行进费用其中,当表示在得到的最优路径上;当表示不在得到的最优路径上。(2)刀具转换费用 由附件所给数据,我们可以建立各孔的位置坐标与其对应孔型的映射,即若已知某孔的坐标为,则其孔型为; 考虑从孔到孔的刀具转换的方式,所有可能的转换方法为 表示打孔需要种刀具;表示打孔需要种刀具。 把刀具依次标为。已知转换相邻两个刀具的时间为; 再由钻头上的8种刀具的位置关系可求出由一种刀具转换成另一种刀具所需要的最短时间为,其中是由刀具位置关系构造出的函数综合的讨论,刀具的转换费用 (3)根据题目所给说明,我们知道同种钻孔作业费用是一定,并且印刷线路板上的孔的属性一定,所以完成一个印刷线路板的过孔加工总费用为 于是,求单钻头作业的最优方案就是如下的优化问题问题二 双钻头打孔作业设计双钻头打孔机,两钻头可以同时作业并且两钻头作业相互独立,要使印刷线路板的过孔的总费用最小,只要使钻头行进费用、作业费用之和最小,给出最优作业方案。由于两个钻头工作是相互独立的,且合作间距已知不小于3cm。因此在解决双钻头最优作业方案时,我们在单钻头作业的基础上再加上另一个钻头作业所需的各种费用并增加约束条件,保证合作间距在要求范围之内。若钻头1打孔时钻头2打孔,记孔与孔之间的距离为利用遗传算法求解遗传算法简述遗传算法(genetic algorithm)是一类借鉴生物界的进化规律(适者生存,优胜劣汰遗传机制)演化而来的随机化搜索方法,是由美国的j.holland教授1975年首先提出,在组合优化、机器学习、信号处理、自适应控制和人工生命等领域有广泛的应用。其做法是把问题参数编码为染色体,再利用迭代的方式进行选择、交叉以及变异等运算来交换种群中染色体的信息,最终生成符合优化目标的染色体。实践证明,遗传算法对于解决tsp 问题等组合优化问题具有较好的寻优性能。遗传算法的主要特点是直接对结构对象进行操作,不存在求导和函数连续性的限定,具有内在的隐并行性和更好的全局寻优能力,采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应地调整搜索方向,不需要确定的规则。 遗传算法的一般流程如图所示。图3:遗传算法一般流程图遗传算法的基本运算过程如下:(1)初始化 设置进化代数计数器t=0,设置最大进化代数t,随机生成m个个体作为初始群体p(0)。(2)个体评价 计算群体p(t)中各个个体的适应度。 (3)选择运算 将选择算子作用于群体。选择的目的是把优化的个体直接遗传到下一代或通过配对交叉产生新的个体再遗传到下一代。(4)交叉运算 将交叉算子作用于群体。所谓交叉是指把两个父代个体的部分结构加以替换重组而生成新个体的操作。 (5)变异运算 将变异算子作用于群体。即是对群体中的个体串的某些基因值作变动。群体p(t)经过选择、交叉、变异运算之后得到下一代群体p(t1)。 (6)终止判断 若t t,则以进化过程中所得到的具有最大适应度个体作为最优解输出,终止计算。单钻头模型的求解转换一次相邻刀具需要18s,刀具转换的时间成本为7元/min,钻头行进成本为0.06元/mm,1mm=3937.0078740157(1/100mil)即转换一次相邻刀具的金钱成本可以使得钻头行进35mm=137795.28(1/100mil),该行进距离相对于整块印刷版来说比较长,不可以忽略,在钻头行进时为了专门打另一种刀具所要打的孔型而暂时放下该刀具所进行的工作,为了继续进行原来的刀具工作,还得将刀具转化回去,所以该动作得转换了两次以上的刀具,大大增加了刀具转换的金钱成本,这是不合理的。因此我们优先考虑最优刀具转换方案。经过排序得出最优刀具转换方案为:defghabcdefed各刀具所要打的孔型对应如(表2)所示表2:各刀具所要打的孔型对应表刀具孔型ddgedifjgfghfhaacbbcceijdefeged利用matlab中遗传算法解决tsp问题可以得出个各刀具对应孔型的最短距离跟最优路线图:如下、 图4:dg孔型路线图 5:di孔型路线 图6:j孔型路线图 7:fg孔型路线 图8:fh孔型路线图 9:ac孔型路线 图10:b孔型路线图 11:ceij孔型路线图12:eg孔型路线表3:刀具转换方案刀具孔型最短距离(1/100mil)最短线路图ddg5743032图4edi5696995图5fj4614998图6gfg3148879图7hfh3128595图8aac12842663图9bb11083304图10cceij10190621图11defeg4344964图12ed总和60794052为了使线路完整,需要将这9个回路组合成一个完整的线路,可以在每个回路中各取一个点,将这些点连接,就能形成完整回路,该些点也是每个回路的起始点,由于数据比较多,这些点的选择对总路程的影响不大,于是可以按照回路图粗略的将这些点选择出来。这些点为(-265274,129400);(-265274,129400);(-268400,-65200);(-311300,-52400);(-311300,-52400);(-268400,-54200);(-236000,-59200);(-268400,-54200);(-268400,-65200),按次序连接后路径长度为358905(1/100mil)钻头行进总路程为60794052+358905=61152957(1/100mil)即15532.85mm钻头行进时间15532.85mm/180(mm/s)=86.29s刀具转换总时间为12*18s=216s=3.6min行进总时间为86.29s+216s=302.29s完成一个印刷线路板的过孔加工总费用最小为min=0.06元/mm *15532.85mm+7元/min*3.6min=957.17元双钻头模型的求解由第一问可知,行进总时间为302.29s,钻头转换的时间为216s,占了一大部分。用两个钻头打孔,两个钻头行进总路程之和与单钻头行进总路程相差不会太大,因此双钻头模型主要优化两个钻头的刀具转换方案,使得刀具转换时间尽可能短,同时使得两个钻头工作量尽可能平均。如下是两个钻头的分配方案:刀具1孔型最短距离(1/100mil)路线图刀具2孔型最短距离(1/100mil)线路图aac12842662.98图9bb11083304.06图10bacce9579041.696图13hfh3128595.734图8ddg5743032.305图4gfg3148879.226图7efg2268628.263图15fej6498987.538图14edi5696995.208图5gdhcij4740009.778图16ab总和34663724.5230066411.27表4:甲乙两钻头孔型分配方案 图13:ce孔型路线图 14:ej孔型路线 图15:g孔型路线图 16:ij孔型路线在钻头甲的4个回路图选择的四个点分别为(436700,907900);(437900,907900),(312200,898200);(447700,907900)按次序连接后路径长度为260730(1/100mil);在钻头乙的6个回路图选择的六个点分别为(-236000,-59200);(-311300,-52400);(-311300,-52400);(-301300,-62400);(-265274,129400);(-268400,-65200)按次序连接后路径长度为479528(1/100mil);钻头甲行进总路程为34924454.52(1/100mil)即8870.81mm钻头甲行进时间为8870.81mm/180(mm/s)=49.28s钻头甲刀具转换时间为8*18s=144s=2.4min钻头甲行进总时间为49.28s+144s=193.28s钻头乙行进总路程为30545939.27(1/100mil)即7758.69mm钻头乙行进时间为7758.69mm/180(mm/s)=43.10s钻头乙刀具转换时间为8*18s=144s=2.4min钻头乙行进总时间为43.10s+144s=197.10s钻头甲所花时间多余钻头乙所花时间,所以按照钻头甲计时,所以行进总时间为193.2s完成一个印刷线路板的过孔加工总费用最小为min=0.06元/mm*(8870.81mm+7758.69mm)+7元/min*(2.4min+2.4min)=997.77元+33.6元=1031.37元双钻头方案与单钻头相比,费用虽然多花费了74.20元,但是时间却由原来的302.29s缩短到197.10s,节约的时间为105.19s,大大提高了打孔机的生产效能。由题意可知,打孔机的双钻头合作间距不小于3厘米,在保证此要求的前提下,还需缩短打孔机的作业、刀具转换的、钻头行进时间,以提高生产效能及优化作业路线,则需选择一个合适的打孔机的两钻头合作间距,以得到最优路径,进而减少行进成本以及作业成本。由于,打孔机的双钻头合作间距会影响作业路线,合作间距控制不合理将会浪费资源,即而会导致两个钻头不同时作业,使加工效率、加工质量降低,以使整体工作时间加长、产品质量下降,且作业总时间与作业成本有直接联系,作业成本与生产效能亦息息相关。必须选择最合理的合作间距以提高工作效率、工作质量、打孔速度、缩短时间成本,即而缩短作业成本,以达到提高生产效能目的。路径的最优是缩短钻头的加工路径长度来降低钻头移动时间,其与间距的合理设置密切相关,综上所述,生产效能的提高归根结底是合作间距的合理性。 六、 模型的评价为了提高打孔机过孔效能,我们使打孔机作业路线最优,作业费用最小,而且加工总费用=刀具行进费用+刀具转换费用,我们建立了优化模型,该模型能够很好的描述np不可解问题。但是对于模型的求解,理论上是把非线性模型化为线性模型,但是实际操作发现无法做到,我们又运用“遗传算法”程序求解,又发现结果不是非常的准确。在实际打孔机运行时也会出现各种问题,如有的打孔机的走刀线路并非直线,也可能为折线等。七、参考文献1 姜昌华,胡幼华一种求解旅行商问题的高效混合遗传算法j计算机工程与应用,2004。40(22):6770 2李擎,张伟,尹怡欣,等.一种用于最优路径规划的改进遗传算法j. 信息与控制,2006,35(4):444-447. 3王霄pcb数控钻孔最佳走刀路线的建模与求解j计算机辅助设计与图形学学报,2001,13(7):590593 4周明,孙树栋.遗传算法原理及应用m.北京:国防工业出版社,1999 5田贵超,黎明,韦雪洁.旅行商问题(tsp)的几种求解方法j.计算机仿真,2006.23(8):153-157. 八、附录附录一:(孔型坐标部分数据)孔型a孔型b孔型cx1000y243600x-100200y360800x-110000y420000x-10000y301000x-101000y202200x-123200y523800x-100200y246000x-101000y207800x-123600y420000x-100200y322400x-101000y212800x-128600y471500x-101200y122800x-101000y217800x130600y320400x-101324y265174x-101000y223200x-130600y443200x-101324y268324x101000y355000x130800y262600x-101324y271474x-101200y15000x-132200y409200x-101324y274623x-101200y228400x-141400y465800x-101324y277773x-101200y-3000x145000y331800x-101324y284072x-101200y84000x145600y246000x-101324y287222x-101600y155600x-148400y479200x-101324y293521x-101600y165500x-152000y227200x-101324y296670x-101700y149700x15400y485800x-101324y299820x-101700y171400x-156800y465800x-101400y306200x-101800y143800x-163200y203600x-101400y315600x-101900y177300x167200y127400x10200y242600x102600y627400x167200y142000x102000y246000x-103200y86000x-167600y443200x102000y269600x104200y677600x-168200y222000x102000y297200x-105000y83800x-177600y467000x102000y301200x-106600y373400x-187200y479200x102000y305000x-106600y378200x188400y423400x102000y309000x-106600y447900x-191800y194600x102000y312800x-107000y86000x-193400y467400x102000y316800x-10800y270600x-194800y432600x102000y320800x10800y432000x198200y127400x102000y324800x-108200y390000x198200y142000x102000y328600x-11000y277000x207200y480600x102000y332600x-110000y13200x-208200y194600x102000y336400x-110000y-2000x217600y489400x102000y340400x-110300y471500x224400y376200x102000y344400x110600y633400x229800y186000x102000y348400x-112200y-17400x-239000y342600孔型d孔型e孔型fx-17400y44100x10200y800000x-311300y33400x-17400y54100x104200y768600x-311300y-52400x22400y44000x106800y837200x-311300y74300x22400y54000x114600y45400x-311300y-9200x-27400y44100x125400y28000x29780y787100x-27400y54100x126200y845600x29780y837100x-2900y44100x127600y893400x29980y706900x-2900y54100x130600y301400x29980y756900x32400y44000x130800y282000x42300y787100x32400y54000x135600y721200x42300y837100x-41500y44100x-13600y773400x42500y706900x-41500y54100x137000y899400x42500y756900x-51500y44100x-13800y689800x4780y787100x-51500y54100x143000y16600x4780y837100x-65600y44100x143000y28200x4980y706900x-65600y54100x14400y720400x4980y756900x7100y44100x145000y301600x54819y787100x7100y54100x145600y282000x54819y837100x-75600y44100x148600y736200x55019y706900x-75600y54100x148800y708400x55019y756900x-220525y556200x148800y788200x92300y787100x227700y192751x151600y860600x92300y837100x227700y200625x159000y15600x92500y706900x227700y208500x162400y801800x92500y756900x-228400y556200x172400y34800x106500y-1800x237000y192751x-199800y203200x106500y60700x237000y200625x2100y49100x165000y-1200x237000y208500x211000y44600x165000y61300x-64000y212600x219600y28400x177500y61300x-64000y220474x-22400y49100x202500y-1200x-64000y228348x235200y17200x202500y61300x114800y711600x235200y28400x69000y-1800x114800y761600x-244200y278000x69000y60700x142800y-27000x25800y800000x81500y60700附录二:matlab代码function opt_rte,opt_brk,min_dist = mtsp_ga(xy,dmat,salesmen,. pop_size,num_iter,singles,show_plots,show_waitbar) if nargin % initialize example inputs n = 孔的数目; dims = 2; xy = 孔的坐标; salesmen = 1; pop_size = 80; num_iter = 1e4; singles = 0; show_plots = 1; show_waitbar = 1; try % compute the distance matrix dmat = distmat(xy); % file exchange contribution #15145 catch a = reshape(xy,1,n,dims); b = reshape(xy,n,1,dims); dmat = sqrt(sum(a(ones(n,1),:,:)-b(:,ones(n,1),:).2,3); endelse % process the given inputs n = size(xy,1); nr,nc = size(dmat); if nr = n | nc = n error(invalid inputs xy and/or dmat); endend % verify inputssalesmen = max(1,min(n,round(real(salesmen(1);if singles salesmen = min(floor(n/2),salesmen);endpop_size = max(8,8*ceil(pop_size(1)/8);num_iter = max(2,round(real(num_iter(1);singles = logical(singles(1);show_plots = logical(show_plots(1);show_waitbar = logical(show_waitbar(1); % plot the cities and the distance matrixif show_plots hfig = figure(name,mtspga,numbertitle,off); subplot(2,2,1); plot(xy(:,1),xy(:,2),.); for k = 1:n text(xy(k,1),xy(k,2), num2str(k),fontweight,b); end title(city locations) subplot(2,2,2); imagesc(dmat); colormap(flipud(gray); title(distance matrix);end % initializations for route break point selectionnum_brks = salesmen-1;addto = ones(1,n-2*num_brks-1);for k = 2:num_brks addto = cumsum(addto);endcum_prob = cumsum(addto)/sum(addto); % initialize the populationspop_rte = zeros(pop_size,n); % population of routespop_brk = zeros(pop_size,num_brks); % population of breaksfor k = 1:pop_size pop_rte(k,:) = randperm(n); pop_brk(k,:) = randbreaks();endtmp_pop_rte = zeros(8,n);tmp_pop_brk = zeros(8,num_brks);new_pop_rte = zeros(pop_size,n);new_pop_brk = zeros(pop_size,num_brks); % select the colors for the plotted routesclr = 1 0 0; 0 0 1; 0.67 0 1; 0 1 0; 1 0.5 0;if salesmen 5 clr = hsv(salesmen);end % run the gaglobal_min = inf;total_dist = zeros(1,pop_size);dist_history = zeros(1,num_iter);if show_plots pfig = figure(name,current best solution,numbertitle,off);endif show_waitbar wb = waitbar(0,searching . please wait);endfor iter = 1:num_iter % evaluate members of the population for p = 1:pop_size d = 0; p_rte = pop_rte(p,:); p_brk = pop_brk(p,:); rng = 1 p_brk+1;p_brk n; for m = 1:salesmen d = d + dmat(p_rte(rng(m,2),p_rte(rng(m,1); for k = rng(m,1):rng(m,2)-1 d = d + dmat(p_rte(k),p_rte(k+1); end end total_dist(p) = d; end % find the best route in the population min_dist,index = min(total_dist); dist_history(iter) = min_dist; if min_dist global_min global_min = min_dist; opt_rte = pop_rte(index,:); opt_brk = pop_brk(index,:); rng = 1 opt_brk+1;opt_brk n; % plot the best route if show_plots figure(pfig); hold off; for m = 1:salesmen rte = opt_rte(rng(m,1):rng(m,2) opt_rte(rng(m,1); plot(xy(rte,1),xy(rte,2),.-,color,clr(m,:); title(sprintf(total distance = %1.4f,min_dist); hold on; end end end % genetic algorithm operators rand_grouping = randperm(pop_size); for p = 8:8:pop_size rtes = pop_rte(rand_grouping(p-7:p),:); brks = pop_brk(rand_grouping(p-7:p),:); dists = total_dist(rand_grouping(p-7:p); ign

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论