ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:635.28KB ,
资源ID:6456221      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6456221.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(提高打孔机生产效能.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

提高打孔机生产效能.docx

1、提高打孔机生产效能提高打孔机生产效能摘要 提高生产效能是各个企业面临的一个很实际的问题,因为这关系到企业的生存和发展。过孔是印刷线路板(也称为印刷电路板)的重要组成部分之一,过孔的加工费用通常占制板费用的30%到40%,因此提高过孔的生产效能在一定程度上影响到作业成本和作业时间,提高钻孔加工效能已成为该行业中急需解决的重要问题。提高孔加工的效率,就务必要找到最优的打孔路径。因此,要结合实际问题,应用理论知识进行打孔路径的优化,以实现加工的高效率和低成本。当把所有的孔看做质点后,孔之间的连线看做边,则过孔加工就可以看作是典型的TSP问题。即遍历所有的孔后,路径最短。为了计算上的方便,该模型先利用

2、枚举法求出刀具的所有转换方案,并确定出最佳刀具转换方案(转换次数最少即最佳),然后确定出10种孔型的先后加工次序,再对每个孔型建立模型,得到每个模型的最优路径,最后求得最短距离、行进时间和作业成本。求解TSP问题的方法有很多种,如遗传算法、模拟退火算法等,本文采用的求解方法是蚁群算法,因为对该模型的数据,蚁群算法能得到更优的结果。通过matlab实现蚁群算法,得出最终的最短距离Shortest-Length为1.6129e+006 (mm),行进时间T-move为8.9606e+003 (s),作业成本C为96795 (元)。关键字:生产效能,TSP问题,蚁群算法,最短距离一、问题重述过孔是印

3、刷线路板(也称为印刷电路板)的重要组成部分之一,过孔的加工费用通常占制板费用的30%到40%,打孔机主要用于在制造印刷线路板流程中的打孔作业。本问题旨在提高某类打孔机的生产效能。打孔机的生产效能主要取决于以下几方面:(1)单个过孔的钻孔作业时间,这是由生产工艺决定,为了简化问题,这里假定对于同一孔型钻孔作业时间都是相同的;(2)打孔机在加工作业时,钻头的行进时间;(3)针对不同孔型加工作业时,刀具的转换时间。目前,实际采用的打孔机普遍是单钻头作业,即一个钻头进行打孔。现有某种钻头,上面装有8种刀具a,b,c, , h,依次排列呈圆环状,如图1所示。图1 某种钻头上8种刀具的分布情况而且8种刀具

4、的顺序固定,不能调换。在加工作业时,一种刀具使用完毕后,可以转换使用另一种刀具。相邻两刀具的转换时间是18 s,例如,由刀具a转换到刀具b所用的时间是18s,其他情况以此类推。作业时,可以采用顺时针旋转的方式转换刀具,例如,从刀具a转换到刀具b;也可以采用逆时针的方式转换刀具,例如,从刀具a转换到刀具h。将任一刀具转换至其它刀具处,所需时间是相应转换时间的累加,例如,从刀具a转换到刀具c,所需的时间是36s(采用顺时针方式)。为了简化问题,假定钻头的行进速度是相同的,为180 mm/s,行进成本为0.06元/mm,刀具转换的时间成本为7元/min。钻头在行进过程中可以同时进行刀具转换,但相应费

5、用不减。不同的刀具加工不同的孔型,有的孔型只需一种刀具来完成,如孔型A只用到刀具a。有的孔型需要多种刀具及规定的加工次序来完成,如孔型C需要刀具a和刀具c,且加工次序为a,c。表1列出了10种孔型所需加工刀具及加工次序(标*者表示该孔型对刀具加工次序没有限制)。表1 10种孔型所需加工刀具及加工次序孔型ABCDEFGHIJ所需刀具aba, cd, e*c, fg, h*d, g, fhe, cf, c一块线路板上的过孔全部加工完成后,再制作另一块线路板。但在同一块线路板上的过孔不要求加工完毕一个孔,再加工另一个孔,即对于须用两种或两种以上刀具加工的过孔,只要保证所需刀具加工次序正确即可。请通过

6、建立相应的数学模型,完成以下问题:B题附件提供了某块印刷线路板过孔中心坐标的数据,单位是1/100密尔(mil)(密尔也称为毫英寸,1 inch=1000 mil),请给出单钻头作业的最优作业线路(包括刀具转换方案)、行进时间和作业成本。二、问题分析本次建模的目的是提高打孔机的生产效能,影响打孔机生产效能的因素主要有三个:1、单个过孔的作业时间;2、打孔机加工作业时,钻头的行进时间;3、对不同孔型加工作业时,刀具的转换时间。因此,要提高打孔机的生产效能,可以通过减少单个过孔的作业时间、钻头的行进时间及刀具的转换时间。现已假定同一孔型钻孔作业时间都是相同的且钻头的行进速度也是相同的且匀速。所以要

7、求打孔机的生产效能等价于求钻头遍历所用孔的最短路径且满足刀具的转换次数最少。可以先通过枚举法求出刀具的所有转换方案,从而确定出最佳的刀具转换方案,然后根据刀具的转换次序依次对相应的孔型进行打孔,在打孔的过程中确定最优的打孔路径。当把所有的孔都看做是质点后,确定最优的打孔路径就是典型的旅行商问题,即TSP问题。TSP问题常用模拟进化算法来解决,如蚁群算法、模拟退火算法、遗传算法等。行进时间等于作业最短路径距离除以钻头行进速度。作业成本可以根据行进时间和相应的时间成本求得。三、模型假设1 . 假设对于同一孔型钻孔作业时间都是相同的2 . 假设钻头的行进速度是相同的且钻头移动是匀速的3 . 忽略各个

8、孔型的大小,将孔型视为质点4 . 将钻头视为质点四、符号说明Shortest-Length:最短路径距离 T-move:钻头行进时间T-trans:刀具转换时间 t:相邻刀具转换时间V:钻头行进速度 P-move:钻头行进1mm成本P-trans:刀具每分钟转换时间成本 M:行进总距离C-move:行进成本 C-trans:刀具转换成本C:作业成本五、模型建立5.1 最优作业线路模型该问题可以直接将所有的数据直接利用蚁群算法,求得最短路径距离。但是这样算,需要运行很长的时间才能得出结果。因此,本文采用先确定刀具的最佳转换方案,通过转头的转换次序,对相应的孔型进行打孔。这样就可以大大缩短程序的运

9、行时间。设集合V=v1,v2,v3,vn表示所用孔的集合,d(vi,vj)表示集合中任意2个孔vi,vj的距离,则行进总距离,因此该问题对应的模型为:目标函数:约束条件:1、加工路径从一个孔出发,遍历每一个孔,最后回到起点;2、刀具转换次数最少,即最佳刀具转化方案。5.2 行进时间模型钻头的行进时间与钻头的行进距离和钻头的行进速度有关,因此行进时间模型为:T-move=Shortest-Length/V5.3 作业成本模型作业成本由行进成本和刀具转换成本组成。行进成本可由钻头行进1mm的成本和转头的行进距离求得,而刀具转换成本可由刀具每分钟转换时间成本和刀具总的转换时间求得。因此作业成本模型为

10、C=C-move+C-trans 其中C-move=P-move*Shortest-LengthC-trans=T-trans*P-trans5.4 蚁群算法简介蚁群算法是受真实的蚂蚁的群体合作行为而提出的一种随机搜索算法,与其他进化算法相似,通过对候选解成的群体进化来寻求最优解。算法由许多蚂蚁共同完成, 每只蚂蚁在候选解的空间中独立搜索解, 并在所寻得的解上留下一定的信息素. 解的性能越好, 蚂蚁留在其上的信息素就越多, 信息素越多的解被选择的可能性也越大. 在算法的最初阶段所有解上的信息素是相同的, 随着算法的推进, 较优解上的信息素将逐渐增多, 算法渐渐趋于收敛.作为一种随机优化方法,蚁

11、群算法不需要任何先验知识,最初只是随机地选择搜索路径,随着对空间的了解,搜索更加具有规律性,并逐渐得到全局最优解。5.4.1算法的常见符号:(1):t时刻位于点的蚂蚁个数;(2):蚁群中的全部蚂蚁个数,(3):边上的信息素强度;(4):边上的能见度;(5):点和点之间的距离;(6):蚂蚁由点向点转移的概率。5.4.2每只蚂蚁具有的特征(1)蚂蚁根据点之间的距离和连接边上信息素的数量为变量的概率函数选择下一个将要访问的点;(2)规定蚂蚁在完成一次循环以前,不允许转到已到过的点;(3)蚂蚁在完成一次循环时,在每一条访问的边上释放信息素。5.4.3算法流程(1)初始化蚁群:初始化蚁群参数,设置蚂蚁数

12、量,初始化信息素,设(为常数);(2)蚂蚁移动:蚂蚁依据前面蚂蚁所留下的信息素和自己的判断选择路径,完成一次循环;(3)释放信息素:对蚂蚁所经过的路径按一定的比例释放信息素;(4)评价蚁群:根据目标函数对每只蚂蚁的适应度做出评价;(5)若满足终止条件,即最短路径,输出最优解。否则,算法继续进行;(6)信息素的挥发:信息素会随着时间延续不断消散。在算法中用到的规则(1)状态转移规则 :蚂蚁下一步允许选择的点;:信息启发式因子,表示轨迹的相对重要性;:期望启发式因子,表示能见度的相对重要性。(2)全局调整规则经过个时刻,蚂蚁完成一次循环,各路径上信息素根据下式调整: :第只蚂蚁在本次循环中留在路径

13、上的信息素量;:信息素轨迹的衰减系数,通常设置。5.5 TSP问题简介又译为旅行推销员问题、货郎担问题,简称为TSP问题,是最基本的路线问题,该问题是在寻求单一旅行者由起点出发,通过所有给定的需求点之后,最后再回到原点的最小路径成本。最早的旅行商问题的数学规划是由Dantzig(1959)等人提出。旅行商问题就是求解巡回线路的耗费的最小值。数学模型描述如下:六、模型求解6.1 刀具的最佳转换方案作业时,钻头的转换可以是顺时针旋转,也可以是逆时针旋转。根据这2钟方向,可以枚举出钻头的所有转换方案,具体方案见表6-1表6-1序号刀具转换方案转换次数顺时针1a-b-c-d-e-f-g-h-g-f-e

14、-d-c122b-c-d-e-f-g-h-a-b-c-d-e-f123c-d-e-f-g-h-a-b-c-d-e-f114d-e-f-g-h-a-b-c-d-e-f105e-f-g-h-a-b-c-d-e-f-g-f116f-g-h-a-b-c-d-e-f-g-h-e-d-c137g-h-a-b-c-d-e-f-g-f-e-d-c128h-a-b-c-d-e-f-g-h-f-e-d-c12逆时针9a-h-g-f-e-d-c-b-a-h-g-f1110b-a-h-g-f-e-d-c-b-a-h-g-f1211c-b-a-h-g-f-e-d-c-b-a-h-g-f1312d-c-b-a-h-g-f

15、-e-d-c-b-a-h-g-f1413e-d-c-b-a-h-g-f-e-d-c1014f-e-d-c-b-a-h-g-f-e-d-c1115g-f-e-d-c-b-a-h-g-f-e-d-c1216h-g-f-e-d-c-b-a-h-g-f-e-d-c13从上表可以发现,最佳的刀具转换方案,也就是转换次数最小的方案,有2个,分别是方案4 :d-e-f-g-h-a-b-c-d-e-f和 方案13: e-d-c-b-a-h-g-f-e-d-c。随便选择一种转换方案,得到的最短距离结果都是一样的。本文选择方案4的转换方案作为最佳刀具转换方案。根据方案4,可以求得每种刀具所能打的孔型的最佳路径。针

16、对方案4,每次转化钻头所需打的孔型见表6-2::表6-2步骤刀具每一步对应刀具所能打的孔型1dD、G2eD、I3fJ4gF、G5hF、H6aA、C7bB8cC、E、I、J9fE、G6.2模型运行结果对于单钻头的假设,采用蚁群算法由MATLAB软件进行数据处理,根据最佳刀具转换方案(d-e-f-g-h-a-b-c-d-e-f)得出各个刀具所加工孔型的初始散点图、最优路径图形、平均距离和最短距离。6.2.1 DG孔d刀具加工D、G孔的初始散点图(图6-1)、最优路径图及平均距离和最短距离图(图6-2)图6-1 DG孔的初始散点图图6-2 蚁群算法结果-DG孔针对DG孔得到的Shortest-Len

17、gth=6.1134e+006(mil)6.2.2 DI孔e刀具加工D、G孔的初始散点图(图6-3)、最优路径图及平均距离和最短距离图(图6-4)图6-3 DI孔的初始散点图图6-4 蚁群算法结果-DI孔针对DI孔得到Shortest-Length=6.0787e+006(mil)6.2.3 J孔f刀具加工J孔的初始散点图(图6-5)、最优路径图及平均距离和最短距离图(图6-6)图6-5 J孔的初始散点图图6-6 蚁群算法结果J孔针对J孔得到Shortest-Length=4.6450e+006(mil)6.2.4 FG孔g刀具加工FG孔的初始散点图(图6-7)、最优路径图及平均距离和最短距离

18、图(图6-8)图6-7 FG孔的初始散点图图6-8 蚁群算法结果-FG孔针对FG孔Shortest-Length=3.2384e+006(mil)6.2.5 FH孔h刀具加工F、H孔的初始散点图(图6-9)、最优路径图及平均距离和最短距离图(图6-10)图6-9 FH孔初始散点图图6-10 蚁群算法结果-FH孔针对FH孔得到Shortest-Length=3.0738e+006(mil)6.2.6 AC孔a刀具加工A、C孔的初始散点图(图6-11)、最优路径图及平均距离和最短距离图(图6-12)图6-11 AC孔的初始散点图图6-12 蚁群算法结果-AC孔针对AC孔得到Shortest-Len

19、gth=1.2721e+007(mil)6.2.8 B孔b刀具加工B孔的初始散点图(图6-13)、最优路径图及平均距离和最短距离图(图6-14)图6-13 B孔初始散点图图6-14 蚁群算法结果-B孔针对B孔得到Shortest-Length=1.1571e+007 (mil)6.2.9 CEIJ孔c刀具加工C、E、I、J孔的初始散点图(图6-15)、最优路径图及平均距离和最短距离图(图6-16)图6-15 CEIJ孔初始散点图图6-16 蚁群算法结果-CEIJ孔针对CEIJ孔得到Shortest-Length=1.1318e+007(mil)6.2.10 EG孔f刀具加工E、G孔的初始散点图

20、(图6-17)、最优路径图及平均距离和最短距离图(图6-18)图6-17 EG孔初始散点图图6-18 蚁群算法结果-EG孔针对EG孔得到Shortest-Length=4.7412e+006(mil)6.2.11 模型最终结果所有孔的初始散点图(图6-19)、及最终的最优路径图及平均距离和最短距离图(图6-20) 图6-19 所有孔的初始散点图图6-20 蚁群算法-最终优化结果由前面的分析,最终的最优路径距离为各刀依次加工对应孔型最优路径长之和。因此Shortest-Length=6.35005e+007 (mil),又1 mil=0.0254mm所以Shortest-Length=1.612

21、9e+006 (mm)钻头的行进速度V=180mm/s,且所有钻头行进速度相同,则行进时间T-move=Shortest-Length/V 代入数据得T-move=1.6129e+006/180=8.9606e+003 (s)总的刀具转换时间可由公式T-trans=10*t得到。代入数据得T-trans=10*18=180 (s)因为,行进成本=钻头每行进1mm的成本*行进距离,即C-move=P-move*Shortest-Length代入数据得C-move=0.06*1.6129e+006=96774 (元)刀具转换成本=总的刀具转换时间*刀具每分钟转换时间成本,即C-trans=T-tr

22、ans*P-trans代入数据得C-trans=180*7/60=21(元)作业成本C=行进成本C-move+刀具转换成本C-trans 即:C=C-move+C-trans代入数据得C=96774+21=96795 (元)七、模型评价此模型采取了单刀具对应孔型完成再进入下一刀具的方式,即任一种刀具,先完成其所能钻取的孔型后,再进入下一孔型的钻取,而每种刀具的工作路线都是通过蚁群算法方式得出的最优解。如此操作,既减少了刀具不断转换带来的时间损耗,提高了作业效率,又可以尽可能降低作业的成本。该模型采用蚁群算法求解,该算法不容易陷入局部最优,因此得到结果准确性高。通过实验,本题利用蚁群算法得到的结

23、果比利用模拟退火算法得到的结果更优。模型的主要缺点是利用蚁群算法得到结果的运行时间却远远比模拟退火算法长。因此,该模型可以在算法上进行改进,综合考虑算法的时间复杂度和结果的优化度。八、参考文献1肖人彬,陶振武.孔群加工路径规划问题的进化求解 J计算机集成制造系统,2005,11(5):6826892李士勇,陈永强,蚁群算法及其应用,哈尔滨:哈尔滨工业大学出版社,20043.周正武,丁同梅,王晓峰,田毅红。孔群加工路径优化方法的研究J.机械研究与应用,2006(10):15-164杨淑莹,模式识别与智能计算Matlab技术实现M,电子工业出版社,2008,319-330附录主函数:m=10;Al

24、pha=1;Beta=5;Rho=0.1;NC_max=200;Q=100; %为使程序运行速度更快,取蚂蚁数为10c=x,y;n=size(c,1); %n表示问题的规模(电路板上孔的个数)D=zeros(n,n); %D表示完全图的赋权邻接矩阵for i=1:n for j=1:n if i=j D(i,j)=(c(i,1)-c(j,1)2+(c(i,2)-c(j,2)2)0.5; else D(i,j)=eps; %i=j时不计算,应该为0,但后面的启发因子要取倒数,用eps(浮点相对精度)表示 end D(j,i)=D(i,j); %对称矩阵 endendEta=1./D; %Eta为

25、启发因子,这里设为距离的倒数Tau=ones(n,n); %Tau为信息素矩阵Tabu=zeros(m,n); %存储并记录路径的生成NC=1; %迭代计数器,记录迭代次数R_best=zeros(NC_max,n); %各代最佳路线L_best=inf.*ones(NC_max,1); %各代最佳路线的长度L_ave=zeros(NC_max,1); %各代路线的平均长度while NC=rand); %若计算的概率大于原来的就选择这条路线 to_visit=J(Select(1); Tabu(i,j)=to_visit; end end if NC=2 Tabu(1,:)=R_best(N

26、C-1,:); end% 蚁群算法MATLAB程序第四步:记录本次迭代最佳路线 L=zeros(m,1); %开始距离为0,m*1的列向量 for i=1:m R=Tabu(i,:); for j=1:(n-1) L(i)=L(i)+D(R(j),R(j+1); %原距离加上第j个孔到第j+1个孔的距离 end L(i)=L(i)+D(R(1),R(n); %一轮下来后走过的距离 end L_best(NC)=min(L); %最佳距离取最小 pos=find(L=L_best(NC); R_best(NC,:)=Tabu(pos(1),:); %此轮迭代后的最佳路线 L_ave(NC)=me

27、an(L); %此轮迭代后的平均距离 NC=NC+1 %迭代继续% 蚁群算法MATLAB程序第五步:更新信息素 Delta_Tau=zeros(n,n); %开始时信息素为n*n的0矩阵 for i=1:m for j=1:(n-1) Delta_Tau(Tabu(i,j),Tabu(i,j+1)=Delta_Tau(Tabu(i,j),Tabu(i,j+1)+Q/L(i); %此次循环在路径(i,j)上的信息素增量 end Delta_Tau(Tabu(i,n),Tabu(i,1)=Delta_Tau(Tabu(i,n),Tabu(i,1)+Q/L(i); %此次循环在整个路径上的信息素增量 end Tau=(1-Rho).*Tau+Delta_Tau; %考虑信息素挥发,更新后的信息素% 蚁群算法MATLAB程序第六步:禁忌表清零 Tabu=zeros(m,n); %直到最大迭代次数end% 蚁群算法MATLAB程序第七步:输出结果Pos=find(L_bes

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1