PCB廠之生產排程以基因演算法架構.doc

上传人:da****u 文档编号:1195385 上传时间:2018-12-18 格式:DOC 页数:12 大小:86KB
下载 相关 举报
PCB廠之生產排程以基因演算法架構.doc_第1页
第1页 / 共12页
PCB廠之生產排程以基因演算法架構.doc_第2页
第2页 / 共12页
PCB廠之生產排程以基因演算法架構.doc_第3页
第3页 / 共12页
PCB廠之生產排程以基因演算法架構.doc_第4页
第4页 / 共12页
PCB廠之生產排程以基因演算法架構.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

1、PCB 厂之生产排程以基因算法架构Scheduling Of PCB Factory Building By Genetic Algorithms曾文宏 南台科技大学工业管理研究所 吴秉威 南台科技大学工业管理研究所摘要PCB(Printed Circuit Board)厂为电子产业的基础,一般的电子产品大多数都含有PCB板在内部,如何大量的产出及缩短总完工时间,决定了工厂的利润来源。一般来说PCB工厂为了要使流程时间缩短,通常都会从机台的平衡(Balance) 、技术的改良及机台的更新来着手,往往忽略了排程(Scheduling)在生产规划的重要性,而且PCB厂的工厂模式,属于非等效平行机台

2、(Unrelated Parallel Machines)为复杂的求解模式,如果以工厂人员手动的排程方法需要花费较多的时间且其解也不一定较佳,本研究以基因算法(Genetic Algorithms)建构排程的求解模式,利用基因算法的优点来解决复杂的排程问题。关键词:PCB 工厂、不相关平行机台、基因算法1. 导论在整个制造规划和控制系统的架构中,由于排程连结了物料需求规划功能和生产现场的执行功能,而扮演了重要的角色。排程可以定义为在一段时间内,配置可用的资源来处理一群工作,以达到所设定的目标;而目标则可以订为满足交期或缩短闲置时间等。为了能有效地达成既定的目标,大量解决排程问题的方法不断的提出

3、,但直到今天排程问题依然存在且持续被讨论着。在 1980 年之前,解决排程问题的方法可划分成两大类2:一是最佳化问题,另一方面则是启发式法则。作业研究可以说是最佳化技术的典型代表;但是应用最佳化所发展出来的排程策略,往往会因为过多的假设而变得不切实际,无法实际地应用在真实的制造系统中。至于启发式法则典型的代表就是派工法则。启发式的优点是较简单且实用,缺点为具有高度的系统和准则的相依性;如 Moreno 和 Ding9对于排程问题中零件的选取法,提出一套启发式的法则。Mukhopadhyay10则发展整合各启发式法的排程方法进行排程工作。在1980 年代以后,人工智能与最佳化技术结合,促成最佳化

4、搜寻技术的发展。模拟退火法(Simulated Annealing)11和遗传基因演算11 等均是属于最佳化搜寻技术的领域。这类方法的特性在于能在广大的解答空间(Solution Space)中有效地搜寻到近似最佳解的答案;如Kim 和 Lee12以分布式遗传基因算法为基础,衍生出一个零工型制造系统的排程方法,可以在合理的计算时间内找出最佳的排程解答;Murata 及Ishibuchid则以遗传基因算法、塔布搜寻法(Tabu search)和模拟退火法来探讨流线型制造系统的排程问题,实验结果显示遗传算法的表现优于另外两者。针对平行机器排程问题,总时程最小化、总流程时间最小化和总延迟时间最小化,

5、均是属于NP-hard 问题的范围 13。现有文献大多探讨相同机器或等率机器之排程问题,就问题复杂度而言,不相关机器之问题较相同或等率机器之问题更为困难。由于IC封装技术不断提升,IC载板( ICSubstrate )需求量近年来成长迅速。在台湾既有半导体产业集聚的优势条件下,IC载板俨然成为印刷电路板厂及晶圆封装厂等各家厂商未来所积极投资发展的重点。IC载板的制程类似印刷电路板PCB ( PrintedCircuitBoard )的制程,以往与PCB相关的研究较偏重于PCB插件组装及制程技术,而少数探讨PCB裸板排程方面的研究亦仅止于考虑单一加工站生产限制条件的产能规划,对于印刷电路板厂的管

6、理尤其在排程上的问题却很少有这方面的研究。结合PCB工厂的生产排程与基因算法,为了得到使多个订单能在最短的时间内完工,来换取接更多的订单,使得工厂的盈余增加。2. 问题描述一般来说 PCB 工厂的厂房布置,皆为平行机台的样式,且每一条生产线在微调之后都可以生产任一产品,差别在每一条生产所需花费的时间不同,过去有人以数学规划的方式;再利用 LINDO 求解,但是只要问题数量大的话,在加上计算机设备不够强,求解时间往往需要很久。非相关平行机台总完工时间最小化排程问题可利用下列线性规划数学模式来表示14:MinzCmax ,s.t.aknjjkjpx1 Cmax , k ,mkjk11, j ,rj

7、 njkjpx Cmax , j,k,xjk 0 , j,k ,符号定义:Cmax :工作的总完工时间,ak :机器 k 的开始加工时间,rj :工作 j 的底达时间,xjk :工作 j 指定在机器 k 加工的百分比(1 or 0) ,pjk :工作 j 指定在机器 k 加工的单位处理时间,j:在工作 j 之后抵达之工作,包含工作 j。在工厂中由于工件 j 在机器 k 的处理时间相差不多,也就是说 PjkPj1Pj2Pjm ;所以我们在做基因算法求解时会先将工件 j 在每一机台的加工时间求取平均,再以基因算法架构求解。当问题以此方法架构时就如同平行机台问题,有利于简化我们在建构基算法的程序。以

8、下为我们在建构算法时所需用到的目标值。MinCminmaxnjjtx1)(, njjtkx1)(, njjtmx1)(,WhereCmax njjtx1)(, njjtkx1)(, njjtx1)(, is the makespanX(i,j)t(j)job j 在 machine i 的加工时间t(j)job j 的加工时间X(i,j)0 or 1i1,2,3nj1,2,3n3. 基因算法基因算法中有一组解族群(Population),就像生物的染色体一般。依照不同类型的问题,可藉由不同的编码方式(Coding)去显示不同的问题特性,而在由适合函数表现染色体解的好坏程度。透过基因算法中的复制

9、(Reproduction)、交配(Crossover)、突变(Mutation)及淘汰的机制,染色体以世代的改进方式,直到达到终止的条件。以下将介绍基因算法的流程与实际编码的过程。3.1 编码方式(Coding)在进行基因算法时,需将每一个可行解编成一个字符串,字符串必须要能表达出这个可行解的特性,编码的方式大概可分为两种:二进制与实数型。由于平行机台排程的特性,本研究采用实数型编码方式。3.2 复制(Reproduction)复制的目的是为了找出取代较差父代的染色体,这个运算机制将会找出较佳的染色体,使其可以有较佳的机率保留下来。常用的复制方法有两种,一种是放回的随机抽样(轮盘法) 如下,

10、这是将染色体的适合度函数除以所有染色体的适合度函数值的总合,各染色体求出的值称为适合值比率,在依各适合值比率大小随机选取。另一种方法是不放回的随机抽样,是将各染色体的适合度函数除以此代所有染色体的适合度函数值的平均值,求出各染色体的适合值比率,此数值将会有整数值及小数值,整数值代表此染色体至少要被复制几次的部份,小数值利用轮盘法随机被选取要复制的机率。F(i)maxnjjtx1)(, njjtkx1)(, njjtmx1)(,适合度函数值(Fitness Function)P(i) nkFi1)(i1,2,n3.3 交配(Crossover)交配的目的是为了让染色体之间互相交换有用的基因,使新

11、染色体有机会产生组合更高的适合度,以达成不断演化的目的。对实数型编码来说,较常见的交配方法有以下几种。3.3.1 PMX(Partially Matched Crossover):母代 1: 1 2 3 4 5 6 7 8 9随机产生两切点母代 2: 5 6 9 8 7 1 4 2 3子代 1: 1 2 9 8 7 6 7 8 9两切点中的基因对调子代 2: 5 6 3 4 5 1 4 2 3子代 1: 1 2 9 8 7 6 5 4 3将切点外重复机因对调子代 2: 7 6 3 4 5 1 8 2 93.3.2 LOX(Linear Order Crossover):母代 1: 1 2 3

12、4 5 6 7 8 9随机产生两切点 母代 2: 5 6 9 8 7 1 4 2 3子代 1: 1 2 3 4 5 6 0 0 0将切点中所有位以 0 代替子代 2: 0 6 9 8 7 1 0 2 0子代 1: 1 2 0 0 0 3 4 5 60 往切点中移动子代 2: 6 9 0 0 0 8 7 1 2子代 1: 1 2 9 8 7 3 4 5 6将原本切点中染色体对调子代 2: 6 9 3 4 5 8 7 1 23.3.3 CX(Cycle Crossover):母代 1: 1 2 3 4 5 6 7 8 9在母代 1 中任选一染色体,找出对应母代 2 之染色体 8 的位数母代 2:

13、5 6 9 8 7 1 4 2 3母代 1: 1 2 3 4 5 6 7 8 9找出母代 1 之先前 8 的位数,再对应到母代 2 之 2 的位数母代 2: 5 6 9 8 7 1 4 2 3母代 1: 1 2 3 4 5 6 7 8 9重复以上步骤直到回到染色体的基因为 4 的位数母代 2: 5 6 9 8 7 1 4 2 3子代 1: 1 2 9 4 5 6 7 8 3将未标示的染色体交换得到子代子代 2: 5 6 3 8 7 1 4 2 93.3.4 SX(Simple Crossover):母代 1: 1 2 3 4 5 6 7 8 9随机产生一切点母代 2: 5 6 9 8 7 1

14、4 2 3母代 1: 1 2 3 5 6 9 8 7 4保留切点左边的基因,而切点右边的以另一个染色体顺序填入母代 1: 5 6 9 1 2 3 4 7 8本研究的编码方是以加工作业的顺序为染色体中的基因排序,因此为了保留下良好染色体中所表示的加工作业顺序,所以本研究采用 LOX 帮交配方法。3.4 突变(Mutation)突变也是用来产生子代的一种方法,为了防止复制与交配过程中;忽略有机会在后来的世代找到好解的基因串。以下为常见的突变方式:3.4.1 邻近两点变换1 2 3 4 5 6 7 8 91 2 3 5 4 6 7 8 93.4.2 随机两点变换1 2 3 4 5 6 7 8 91

15、8 3 4 5 6 7 2 93.4.3 随机三点变换1 2 3 4 5 6 7 8 91 6 3 4 5 8 7 2 9一般来说,交配率机率可以高,但突变率应低一点,否则有可能破坏找到的优良基因排序。4. 验证以下举三个例子验证所做的基因算法结果,交配率为 0.92、突变率为 0.05,第一个例子(Table1)为 7 工件 3 平行机台,得到的的结果(Table2)小优于 LST,但与 SA 一样,第二个例子(Table3) 10 工件 3 平行机台,最后出来的结果(Table4)GA 与 SA 还是一样的,第三个例子(Table5) 30 工件 3 平行机台,运算后的结果(Table6)

16、 为 GA 优于 SA 所得之演算结果,且 GA 对最佳解也比 SA 好,所以用 GA 来建构 PCB 厂生产排程是可行的方法。Table1 7 工件 3 平行机台 工件 平行机台 1 平行机台 2 平行机台 3 平均 1 5 7 6 62 7 6 5 63 2 6 4 44 3 4 5 45 5 2 5 46 2 4 3 37 3 3 3 3Table2 结果 LST SA GA 7 个工件数 11 10 10 Table3 10 工件 3 平行机台 工件 平行机台 1 平行机台 2 平行机台 3 平均 1 3 4 2 32 2 1 3 23 7 6 5 64 3 4 5 45 5 5 5

17、56 8 6 7 77 9 8 7 88 5 7 6 69 2 2 2 210 5 6 7 6Table4 结果 SA GA 10 个工件数 25 25 Table5 30 工件 3 平行机台 工件 平行机台 1 平行机台 2 平行机台 3 平均 1 3 4 2 3 2 2 1 3 2 3 7 6 5 6 4 3 4 5 4 5 5 5 5 5 6 8 6 7 7 7 9 9 9 9 8 11 15 13 139 4 4 4 4 10 13 21 11 1211 8 11 9 1012 10 7 7 8 13 24 21 21 2214 15 9 9 1115 8 8 8 8 16 24 27 27 2617 13 15 14 1418 4 6 8 6 19 19 16 16 1720 30 25 26 2721 10 12 11 1122 18 16 17 1723 24 25 29 2624 15 17 16 1625 7 7 7 7 26 25 24 24 2327 14 14 17 1528 18 18 18 18

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 课件讲义

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。