CN102385364B - 一种柔性路径下跨作业单元调度方法 - Google Patents
一种柔性路径下跨作业单元调度方法 Download PDFInfo
- Publication number
- CN102385364B CN102385364B CN2011102763314A CN201110276331A CN102385364B CN 102385364 B CN102385364 B CN 102385364B CN 2011102763314 A CN2011102763314 A CN 2011102763314A CN 201110276331 A CN201110276331 A CN 201110276331A CN 102385364 B CN102385364 B CN 102385364B
- Authority
- CN
- China
- Prior art keywords
- workpiece
- agent
- machine
- unit
- path
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- General Factory Administration (AREA)
Abstract
本发明涉及一种柔性路径下跨单元调度方法,包括以下步骤:一、定义一套符号描述柔性路径下跨单元调度问题;二、建立多Agent协商模型:定义四种基本角色:工件Agent,机器Agent,单元Agent以及管理Agent,这四种Agent允许自由协商交互,以协同求解复杂问题;三、多Agent之间进行协商,完成跨单元调度。本发明更注重全局性能,使得最大完工时间、平均延迟、延迟工件个数、平均跨单元次数性能指标得到提升,并且降低了动态协商机制的复杂度。
Description
技术领域
本发明涉及一种制造系统的调度方法,特别涉及一种柔性路径下的跨作业单元调度方法,属于先进制造生产控制与调度优化领域。
背景技术
近几十年来,制造系统逐渐由传统的集中式环境向柔性分布式转变。为了缩短交货时间、减少库存量、降低生产成本、提高产品质量,单元制造系统(Cellular Manufacturing System)应运而生。单元制造是基于成组技术(Group Technology)的思想发展而来的,体现了精益生产的哲理。在单元制造系统中,将加工能力不同的机器根据零件工艺的相似性对其进行分组,形成加工能力相对独立的制造单元。每个制造单元能生产一批具有相同性质的工件,即工件族。
实现单元制造系统包括三个阶段,分别为单元构建(Cell Formation,CF),单元布局(Cell Layout,CL)和单元管理(Parts Scheduling in Cells,CPS)。单元构建和单元布局为单元制造系统的设计问题,主要解决相似零件及设备的分组问题和单元及单元内设备的布置问题。单元管理属于生产计划问题,主要解决零件在单元内和单元间的调度问题。
传统的单元管理问题的研究主要侧重于单元内工件调度问题,分为流水单元和作业单元两种类型,其中以流水单元调度问题居多。单元内工件调度问题都是基于同一个假设,即一个工件族的所有工序都能在同一个单元内完成,然而在实际生产中,由于产品日益多样化且单元内生产能力有限,存在某些工件的部分工序需要在其他单元的机器上加工的情况。另一方面,考虑到生产经济学、预算以及空间限制等原因,为每个单元购买额外机器并不可行。在这种情况下,一个工件需要跨多个单元才能完成,我们把这种工件称为特殊工件(Exceptional parts,EP),特殊工件在单元间的转移形成跨单元移动问题(inter-cell movement)。由于特殊工件的存在导致各单元不能根据各自调度目标独立完成单元内的调度,需要单元间协作集成考虑生产 计划,协同安排工件的加工路径。
在这样的背景下,跨单元调度问题(inter-cell scheduling)应运而生。目前而国内外有关跨单元调度问题的研究还很少,可以分为两种类型,即跨流水单元调度(Flow shop scheduling)和跨作业单元调度(Job shop scheduling)。
跨流水单元调度的特征是所有的工件都以相同的处理顺序在机器上加工。
跨作业单元调度的特征是工件可以以不同的加工路径访问机器,据我们了解目前只有两篇论文对这一问题进行了研究。单元制造系统中的作业车间的跨单元调度问题的研究并不多见,Tang(东北大学唐加福教授等人)使用分散搜索方法解决特殊工件跨单元调度问题。工件族中的每个工件都有一条已知路径,特殊工件需要在若干个单元之间移动完成。Elmi等人在Tang等人问题模型的基础上,允许可重入工件,即一个工件的不连续工序可以在同一台机器上加工。采用模拟退火的方法,编码方式和Tang等人的方案相同,同时利用邻近结构优化最终解。
上述文献对跨单元调度问题的研究都假定特殊工件跨单元的路径是已知的,根据既定目标如最大完工时间(makespan)、库存量或延迟交货时间,将工件安排到不同单元的机器上。但是实际生产中普遍存在着机器能力部分重叠的情况,对于一个给定的工序,它能够被两台或以上的机器加工完成,也就是说工件可以通过不同的机器序列加工。这就是Lin和Solberg提出的“柔性路径”。对于具有柔性路径的车间调度,不同状态下的路由选择非常重要。而正确的路由决策能够更好的平衡机器负载,从而提高吞吐率和加快完工时间。经典的作业车间调度问题是一个NP难问题,而柔性路径的引入使其更加复杂。柔性路径下作业车间调度方法可以分为如下四类:
(1)启发式规则方法:Tunali使用启发式规则为工序选择机器,并采用FIFO的规则给每个机器的待加工工件排序。Subramaniam等人在解决动态作业车间的柔性路径问题时采用最低平均开销、最低处 理时间以及两者相结合的方法选择机器。在每种规则下,使用随机、EDD、SPT、FIFO等规则为机器的任务队列排序。Gonca Tuncel使用基于启发式规则的算法为每个具有多条可选路径的工件确定最优路径。
(2)AI方法:Jawahar等人,Morad和Zalzala以及Candido等人均采用遗传算法解决多条路径选择的决策。Fattahi和Fallahi采用基于遗传算法的元启发式方法,对每个动态到来的具有柔性路径的作业从多条可能的加工路径中确定一条最优的路径。De Giovanni和Pezzella在分布式环境下,在每个柔性制造单元内部合理安排作业调度,以作业的最大完工时间(makespan)最小为目标,采用遗传算法解决该问题。
(3)Multi-Agent方法:Lin提出的基于自治Agent和价格机制的方法以及Macchiaroli和Riemma提出的Agent间的双向投标协商机制,均能有效解决作业车间柔性路径选择问题。Wang和Usher使用合同网进行Agent之间的协商。Siwamogsatham和Saygin提出了一个基于反复拍卖的协商算法柔性路径选择问题,通过合同网进行Agent之间的通信。Rajabinasab考虑了作业随时到来、机器损坏和加工时间变动等动态随机事件,利用基于Agent的方法解决柔性车间调度问题。
(4)上述三种方法相结合:Wang等人采用启发式规则与合同网结合的方法。Shen把multi-Agent与遗传算法相结合。Aydin和Fogarty把multi-Agent与模拟退火相结合用来解决作业车间的柔性路径选择问题。
关于柔性路径下的跨作业单元调度问题,目前尚未见文献公开发表。
发明内容
本发明的目的是提出一种柔性路径下的跨作业单元调度方法,提供一种针对柔性路径,兼顾灵活性与效率的跨作业单元调度解决方 案。
本发明所针对的单元制造系统(CMS)由多个加工单元组成,每个单元内有若干台加工能力不同的机器,可以完成工艺相似的一组工件。由于特殊工件的存在,导致工件需要在多个单元间转移。本发明只考虑特殊工件跨多个单元间的调度问题,因此所提到的工件都是指特殊工件。
集中式调度对于解决动态问题效率低,可扩展性差。Multi-Agent System(MAS)是一种实现分布式系统的有效方法,它的性能主要依赖于协商机制的使用。目前的协商机制主要包括合同网机制,基于市场的机制,拍卖机制,博弈论等。合同网协议是一种通过模拟人类市场中的投标机制,规定Agent之间交换信息的工作过程,它的局限性主要在于难以预测系统性能及缺少全局优化。基于市场的机制、拍卖机制等协商机制一定程度上改善了基本合同网协议在全局性能优化上的缺陷,但是频繁的协商交互使得通信量大大增加。基于上述缺陷,近年来一些学者为了提高协商效率,把蚁群优化算法(Ant Colony Optimization,ACO)引入到了MAS的协商机制中。ACO算法协商机制源自蚂蚁寻食的行为。研究表明信息素(Pheromone)是蚂蚁在经过的路径上留下的一种化学物质,它指导后来蚂蚁的路径选择,即信息素多的路径被选择的可能性较大。
本发明借鉴Rajabinasab和Mansour提出的基于蚁群信息素的协商机制(Dynamic Flexible Job Shop Scheduling with Alternative Process Plans:An Agent-Based Approach[J].The International Journal of Advanced Manufacturing Technology.2010:1),使工件和单元之间以及工件和机器之间通过信息素进行间接协商。同时本发明还引入联盟(coalition)的思想,在减少通信量的同时增强鲁棒性,联盟的引入使决策更加全局化。
本发明针对的具有柔性路径的跨单元动态调度问题描述如下:
●工件动态随机到来;
●每个工件具有多道工序,其中大部分工序可以在同一个单元内 完成,少部分需要跨单元协作完成;
●由于单元之间机器加工能力部分重叠,导致工件具有柔性路径,但对于某个工件的特定工序,在每个单元内至多有一个可加工机器;
●考虑单元间移动时间,而忽略单元内移动时间,不同单元间移动时间因移动距离和工件类别而不同;
●工件的各工序在可选机器上的加工时间(包含机器启动时间)是已知的,同时每个工件都有固定的交货期,作为该工件期望的完成时间;
●同一个工件的工序之间具有次序约束;同一时刻,每台机器一次只能加工一个工件;
●每台机器加工工件都是非中断非抢占式的;
●原材料短缺以及操作人员空缺的情况也不在本发明的考虑范围内。
例如,如图1所示,CMS由4个单元和4个随机到来的工件组成,工件的全部工序并不能在单独的某一单元内完成,如工件1的工序5和工序6需要在其他单元内完成。由于单元3和单元4内都具有加工工序6的机器,所以工件1的跨单元加工路径具有2条,分别是R1=1-2-3和R2=1-2-4。工件的跨单元加工路径如图2所示。
在阐述本发明的技术方案之前,对于本发明涉及到的冗余单元、共有路径、联盟Agent等定义进行介绍:
将一个工件的所有可选单元路径描述为一个有向无环图M(Vm,Em),其中节点集Vm={v1,v2...,vn},vi(1≤i≤n)表示制造单元。有向边集合Em={<vi,vj>|1≤i,j≤n,i≠j},有序对<vi,vj>表示节点间的移动方向为vi→vj。节点v的入度记为ID(v),出度记为OD(v)。为了讨论方便,向节点集合Vm中加入两个虚拟节点vs,ve,使得图M构成一个两端闭合的有向无环图G(V,E),即图G只有一个起始节点vs和一个终 止节点ve。
工件的跨单元路径分四种类型:(1)只有一个起始节点和一个终止节点,如图3(a)所示;(2)有多个起始节点和一个终止节点,如图3(b);(3)有一个起始节点和多个终止节点,如图3(c)所示;(4)多个起始节点和多个终止节点,如图3(d)所示。以上四种类型路径分别加入vs和ve后构成的图G(V,E)如图4所示:
定义1冗余单元:每一个工件的有向无环图G(V,E),从节点v到v′的路径是有向边集合E的子集,表示为{<v,vi,1>,<vi,1,vi,2>,…,<vi,m-1,vi,m>,<vi,m,v′>},如果 那么 节点vi,j称为冗余节点,vi,j所代表的单元称为冗余单元。同时,把有向边E的子集{<v,vi,1>,<vi,1,vi,2>,…,<vi,m-1,vi,m>,<vi,m,v′>}所代表的路径称为冗余路径。以图2中工件3为例,在4条柔性路径中,由于R3=3-1是一条完整路径,因此R1=3-4-1中,4是冗余单元,路径R1是冗余路径;R4=3-1-2中,2是冗余单元,路径R4也是冗余路径。
定义冗余单元的目的是为了减少工件跨单元的次数,在定义1的基础上规定这样的准则:对于工件的任意一道工序(第一道除外),如果它能够和该工件的上一道工序在同一个单元完成,那么该工序必须在该单元完成,而不能转移到其他单元。通过去除冗余路径可以缩小协商规模,降低协商机制的复杂度。
定义2共有路径:定义一个有向无环图G′(V′,E′),它是图G(V,E)的子图。起始节点和终止节点vs,ve∈V′。 且vj≠vs,vj≠ve,如果从vs开始遍历图G,vj的前序节点vi∈V′且OD(vi)=1,那么节点vj∈V′,直到遍历到第一个 为止;如果从ve开始逆序遍历图G,ID(vj)=1且vj的后继节点vi∈V′且ID(vi)=1,直到遍历到第一个 为止。对于集合V′的节点在E中对应的所有边均属于E′。那么把子图G′中的有向边集合E′所代表的路径定义为共有路径。
按照定义2,如果某工件具有1-2-3和1-2-6两条跨单元路径,则路径1-2是共有路径。还有另一种情况,例如某工件具有1-2-3-4和 5-2-3-4两条跨单元路径,由于本发明把单元间的移动开销放在后继单元的决策中考虑,所以虽然2-3-4是两条路径中的相同部分,但是由于单元1到单元2的移动时间和单元5到单元2的移动时间不同,所以3-4为共有路径而2-3-4则不是。
定义3联盟Agent:对于图G(V,E),从起始节点vs到终止节点ve的每一条路径{<vs,vi,1>,<vi,1,vi,2>,…,<vi,m-1,vi,m>,<vi,m,ve>}中的节点集合O={vs,vi,1,vi,2,…,vi,m-1,vi,m,ve},那么用COV′表示全集O中子集V′的补集,其中V′是定义2中子图G′(V′,E′)的节点集,则COV′的所有节点组成一个联盟,为这个联盟生成的Agent则称为联盟Agent。由一个单元构成的联盟是最简单的联盟Agent。如图2中工件3的柔性路径中去除冗余路径3-4-1和3-1-2之后,得到路径3-1和3-4-2,那么单元Agent 1组成联盟Agent 1,单元Agent 4和单元Agent 2结成联盟Agent4-2。
定理在工件跨单元柔性路径决策时,仅根据非共有路径进行决策,与完整路径进行决策,在工件的调度结果上是等效的。
证明:
工件的一条跨单元路径为一个集合Li={<vs,vi,1>,<vi,1,vi,2>,…,<vi,n-1,vi,n>,<vi,n,ve>}(1≤i≤M,M为路径个数),设多条跨单元路径的共有路径是子集S={<vs,vi,1>,<vi,1,vi,2>,…,<vi,k-1,vk>}(k<n)或者S={<vi,l,vi,l+1>,<vi,l+1,vi,l+2>,…,<vi,n-1,vi,n>,<vi,n,ve>}(l>1)或者S={<vs,vi,1>,<vi,1,vi,2>,…,<vi,k-1,vk>,<vi,l,vi,l+1>,<vi,l+1,vi,l+2>,…,<vi,n-1,vi,n>,<vi,n,ve>}(1≤k<l≤n),非共有路径部分构成的集合即Di=CLiS(表示全集Li中子集S的补集)。按照本文提出的路由决策方案,假设L*是Li集合(1≤i≤M,M为路径个数)中选择的最优路径,如果D*=CL*S不是在Di(1≤i≤M)集合中选择的最优路径,那么必然存在一个D′是Di集合的最优路径,这样D′∪S构成的路径是最优路径,且D′∪S≠L*,与假设产生矛盾,因此命题成立。
基于以上定理以及多Agent和信息素的思想,针对具有柔性路径的跨单元动态调度问题,本发明提供了一种柔性路径下跨单元调度方法,包括以下步骤:
一、定义如下符号描述柔性路径下跨单元调度问题:
i 工件集的索引i=1,...,J,其中J为需要进行跨单元调度的特殊工件的个数;
qi 工件i的工序集的索引(qi=1,..,N),其中N为工件i的工序数;
Li 工件i的跨单元路径的集合;
lir 工件i的跨单元路径集的索引(r=1,...,R),R为路径数目;
m 工件的下一道工序可选的加工机器的索引;
t 当前时刻;
tm 机器上当前工件的加工完成时刻;
Pavg_i 工件i的历史平均处理时间;
pji 工件i的第j道工序的历史平均加工时间;
pjim 工件i的第j道工序在机器m上的加工时间;
di 工件i的交货期;
mqi 可以加工工件i的第q道工序的机器集合;
Tri 工件i的单位距离的转移时间;
Hc,c′ 单元c到单元c′的距离;
二、建立多Agent协商模型:
定义四种基本角色:工件Agent,机器Agent,单元Agent以及 管理Agent,这四种Agent允许自由协商交互,以协同求解复杂问题:
(1)工件Agent
当工件到达之后为其创建一个工件Agent,工件Agent的功能是:确定加工序列,选择工艺路径,计算自身信息素以及被选中概率,当工件被加工完成之后,由管理Agent注销该工件Agent;
(2)单元Agent
单元Agent代表系统内的制造单元,负责管理单元内所有机器Agent,同时与工件Agent和机器Agent进行通信;记录机器Agent的基本信息,计算单元内机器的信息素和被选择的概率;当被选为工件Agent的加工单元时,向机器Agent告知工件的加工信息;
(3)机器Agent
机器Agent代表单元内的机器,功能是向工件Agent发出招标信息,以决定缓冲队列中工件的加工顺序,同时机器Agent接收来自单元Agent的指令,加工相应的工件;
(4)管理Agent
为了方便工件Agent和单元Agent以及机器Agent之间的协商,定义了管理Agent:管理Agent负责管理和维护全局信息,包括根据单元和机器的信息为新到来的工件提供可行路径集合,并对可行路径集合进行处理;当工件在机器上加工完成后需在管理Agent中记录该加工时间的信息,用于统计工件的历史平均处理时间;
三、多Agent之间进行协商,完成跨单元调度,具体包括:
(1)工件决策跨单元路径:
在工件到来之前,各个机器Agent向其所在的单元Agent注册信息,各单元Agent将所有已知信息告知管理Agent,从而使管理Agent获得CMS内所有的单元及单元内机器的信息;当新的工件到来后,为其创建一个工件Agent,工件Agent向管理Agent注册信息,包括交货期,工件的所有工序及其次序约束关系;管理Agent根据注册信息为新到来的工件提供可行路径集合,并对可行路径集合进行处理, 去除冗余路径,判断共有路径和非共有路径;
对于每个工件的所有可选路径,管理Agent将非共有路径部分的信息告知有关的单元Agent,并发送针对该工件形成联盟的消息;联盟Agent形成后等待接收工件Agent发送的加工请求信息,同时,管理Agent将处理之后的路径信息发送给工件Agent,工件Agent根据接收到的路径信息,分别对共有路径和非共有路径采取相应的措施:对于共有路径,工件Agent告知路径中相应的单元Agent,单元Agent将分配到的工件的待加工工序放入机器的缓冲队列中等待加工,并更新相应机器Agent的缓冲队列信息;对于非共有路径,工件Agent向若干个联盟Agent发送招标信息CFP(Call For Proposal),联盟Agent收到请求后将形成联盟Agent的各单元Agent的信息素即单元内能加工该工件的机器的信息素发送给工件Agent;工件Agent计算各个联盟Agent被选择的概率,选中其中一个联盟Agent,并向其发送确认信息,同时向其他未被选中的联盟Agent发送拒绝信息;被选中的联盟Agent告知相关的单元Agent将工件的加工任务放入机器的缓冲队列中;
工件决策跨单元路径的协商过程如图5所示。
其中,机器的信息素在很大程度上影响候选机器被选择的概率,机器m的信息素计算通过公式(1)得到:
在公式(1)中,(tm-t-Hc,c′Tri)表示工件到达机器m后机器m可用的等待时间,其中Hc,c′Tri表示工件由上单元移动到当前单元所花费的时间, 表示机器m的任务缓冲队列中的所有待加工工件的完成时间,pqim表示当前工件i在机器m上所需的加工时间;如果(tm-t-Hc,c′Tri)的值为负数,表示工件在到达该机器之前,机器已经被释放,在这种情况下,机器会在任务缓冲队列中选择下一个加工的 工件,那么(tm-t-Hc,c′Tri)再加上这个工件的加工时间即为工件i到达机器m后,等待机器m可用的等待时间;
从公式(1)可以看出,机器信息素的计算考虑了等待机器可用的等待时间、负载以及工件在该机器上的处理时间等因素;
工件i的第q道工序选择机器m的概率通过公式(2)得到:
其中,参数α,β决定信息素和启发式信息的影响程度大小,具体值由用户设定;
工件i的第q道工序在机器m上加工的启发式信息ηqim的计算见公式(3):
ηqim=1/pqim (3)
机器m被选中的概率即为其所在单元被选中的概率,在此基础上,根据公式(4)计算联盟被选中的概率。
(2)机器决策工件的执行顺序
当机器的当前工件加工完成后,机器Agent检查其缓冲队列,如果队列中只有一个待加工工件,那么直接加工该工件,如果缓冲队列中的待加工工件有两个或两个以上,那么机器Agent向可加工的工件Agent发送招标信息CFP;各工件Agent收到机器Agent的请求后计算相应工件的信息素并且发送给机器Agent,机器Agent根据收到的信息素计算各个工件Agent所代表的工件被选择的概率,从中选择一个工件Agent后对其发送确认信息,同时对其他未被选中的工件Agent发送拒绝消息;被选中的工件Agent确认信息后加工该工件,当该工件加工完成之后,机器将该工件在单元内的加工信息告知管理Agent;当机器的缓冲队列中没有待加工的工件时,该机器Agent的协商过程停止;
机器选择工件的协商过程如图6所示。
工件i的信息素计算见公式(5):
其中 表示松弛时间;从公式(5)中可以看出,工件i在时刻t的信息素取决于松弛时间和工件的剩余处理时间,松弛时间越小,剩余加工时间越长,那么工件的信息素越大。换句话说,由于机器更倾向于选择信息素大的工件,也就是那些被延迟的工件或者剩余加工时间更长的工件被选择的概率更大;松弛时间 通过公式(6)得到;q表示工件i已经完成的工序数。
公式(5)和(6)中涉及到的Pavg_i和pji是通过计算管理Agent记录的工件历史完成信息而来的;
工件i被选择概率的计算与机器被选择概率的计算相似,由信息素和启发式信息组成,计算公式见公式(7):
其中,参数α,β决定信息素和启发式信息的影响程度大小,具体值由用户设定;启发式信息ηqim同样根据公式(3)计算得到;
工件决策跨单元路径以及机器决策工件的执行顺序是同时进行并且不断重复的,直到没有新的工件到来并且所有已分配的工件都加工完毕后停止。
有益效果
本发明通过路径选择的协商,更注重全局性能,并且在计算机器信息素时充分考虑了机器的加工能力、释放时间、缓冲队列 大小以及工件的移动时间,使得最大完工时间这个指标的性能非常优越。PBA在路径选择的性能上是稳定且很有效率的。
在PBA选择工件的协商过程中,工件的信息素计算考虑了工件的松弛时间和剩余加工时间。因此PBA的最大完工时间、平均延迟和延迟工件个数这三个指标的性能也是非常好的。
同时通过定义冗余单元并去除冗余路径来减少跨单元次数,因此PBA在平均跨单元次数这一性能指标上是最优的。提出冗余单元的定义,管理Agent可以在离线状态下计算冗余单元,并去除冗余路径,从而减少了Agent的协商规模,降低了动态协商机制的复杂度。虽然计算冗余单元和去除冗余路径会产生一定的时间开销,但是用离线计算量换取动态协商机制复杂度的降低仍然是很值得的。
附图说明
图1为各单元机器对四种工件的加工能力;
图2为图1中各工件的跨单元路径;
图3为三种类型的柔性路径图;
图4为三种类型分别加入vs和ve构造的图G(V,E);
图5为Multi-Agent之间的协商过程——工件选择跨单元路径;
图6为Multi-Agent之间的协商过程——机器选择可执行的工件;
图7为表5的makespan结果对比;
图8为表5的平均延迟结果对比;
图9为表5的延迟工件个数结果对比;
图10为表5的平均跨单元次数结果对比;
图11为表6的makespan结果对比;
图12为表6的平均延迟结果对比;
图13为表6的延迟工件个数结果对比;
图14为表6的平均跨单元次数结果对比;
图15为表7的makespan结果对比;
图16为表7的平均延迟结果对比;
图17为表7的延迟工件个数结果对比;
图18为表7的平均跨单元次数结果对比。
具体实施方式
下面结合附图,具体说明本发明的优选实施方式。
本实施例具体实现了本发明所述的一种柔性路径下跨单元调度方法,包括以下步骤:
一、定义如下符号描述柔性路径下跨单元调度问题:
i 工件集的索引i=1,..,J,其中J为需要进行跨单元调度的特殊工件的个数
qi 工件i的工序集的索引(qi=1,..,N),其中N为工件i的工序数
Li 工件i的跨单元路径的集合
lir 工件i的跨单元路径集的索引(r=1,...,R),R为路径数目
m 工件的下一道工序可选的加工机器的索引
t 当前时刻
tm 机器上当前工件的加工完成时刻
Pavg_i 工件i的历史平均处理时间
pji 工件i的第j道工序的历史平均加工时间
pjim 工件i的第j道工序在机器m上的加工时间
di 工件i的交货期
mqi 可以加工工件i的第q道工序的机器集合
Tri 工件i的单位距离的转移时间
Hc,c′ 单元c到单元c′的距离
在t时刻工件i的松弛时间
二、定义四种基本角色:工件Agent,机器Agent,单元Agent 以及管理Agent。
三、多Agent之间进行协商,完成跨单元调度。
在仿真环境下,对本实施例的性能进行验证。
公式(2)和式(7)中计算工件被选中的概率和机器被选中的概率时参数α,β的数值反映了信息素和启发式信息对概率的影响比重。这里考虑由6个单元和22台不同类型的机器构成的CMS,18个随机到来的工件每个工件的工序数Q服从5-15之间的离散均匀分布,即Q~∪[5,15],跨单元路径条数N~∪[2,8],各工序在机器上的加工时间q~∪[1,50]。α,β的设置见表3。
表1参数α,β的设计
在仿真环境中,采用makespan、延迟交货时间、延迟工件个数、平均跨单元次数四个性能指标进行性能比较。
解决调度问题最简单易行的方法是调度规则,目前针对制造企业的不同特点,已总结了100多条调度规则。在仿真环境中,采用常见的6种调度规则相组合的调度方法,与本发明提出的调度方法进行性能比较。本发明所述方法记做PBA(Pheromone-Based Approach)。
(1)工件选择机器的调度规则
SPT(Shortest Processing Time):机器按照工序的加工时间排序,加工时间短的机器优先级高,工件优先选择加工时间最短的机器。
EAT(Earliest Available Time):机器按照释放时间(当前正在加工的工序的完成时间)排序,释放时间早的机器优先级高,工件优先选择释放时间最早的机器。
EFT(Earliest Finishing Time):机器按照工序的完成时间(释放时间与加工时间的和)排序,完成时间早的机器优先级高,工件优先选择完成时间最早的机器。
(2)机器选择工件的调度规则
FCFS(First Come First Serve):机器优先选择缓冲队列中最先到来的可加工工件。
EDD(Earliest Due Date):机器优先选择交货期最早的工件加工。
CR(Critical Ratio):机器优先选择CR值最小的工件加工。CR的计算方法见式(8)。
与本实施例比较的调度规则设计见表2。
表2组合调度规则设计
实验中采用3种规模的CMS分析方法的性能:(1)4个单元,15台机器,4个工件;(2)6个单元,22台机器,18个工件;(3)6个单元,22台机器,72个工件。
通过使用无交互作用的双因素方差分析对α和β的取值进行分析,最终确认α和β的取值是否对实验结果有显著影响。采用SPSS软件分析α和β两个控制变量对makespan、平均延迟时间、延迟工件个数和平均跨单元次数四个观测变量的影响。在对α和β进行方差分析中,显著水平为0.05,分析结果如表3所示:
表3α和β的取值对观测变量的影响
通过上表可以看出,makespan、平均延迟和平均跨单元次数的显著性小于0.05,因此,α和β的不同取值对于这三个观测变量具有显著影响,即α和β的不同取值会对这三个观测变量带来较大的影响。而另一个观测变量平均延迟的显著性大于0.05,也就是说,α和β的不同取值并不会影响到该观测变量。因此,我们需要选择一组使得makespan、平均延迟和平均跨单元次数三个变量性能最优的α和β值。
表4α和β的不同取值组合下的观测变量平均值
表4中给出的是α和β四个不同的取值组合下,makespan、平均延迟时间、延迟工件个数和平均跨单元次数的均值。从上表可以观察出,在α和β的取值为(1,2)组合的情况下,makespan、平均延迟和平均跨单元次数的性能最优,而对于观测变量工件延迟个数并不如此。但是,由于α和β的取值只对makespan、平均延迟和平均跨单元次数观测变量有显著影响,因此在α和β取值的时候并不需要考虑观测变量工件延迟个数的性能优劣。
综上所述,本实施例中的α和β取值为(1,2)组合。
本实施例在不同的实验数据规模下,对调度规则和PBA的性能进行了对比和分析。表5,表6和表7分别是4个工件在4个单元中的调度,18个工件在6个单元中的调度,以及72个工件在6个单元中的调度。这三个表分别列出了不同的调度规则和PBA在不同数据规模下的调度结果,其结果通过makespan,平均延迟,延迟工件个数以及平均跨单元次数进行评价。
表5 4个单元4个工件不同方法的性能对比
方法 | makespan | 平均延迟 | 延迟工件个数 | 平均跨单元次数 |
SPT+FCFS | 533 | -16.00 | 1 | 4.5 |
SPT+EDD | 533 | -16.00 | 1 | 4.5 |
SPT+CR | 533 | -16.00 | 1 | 4.5 |
EAT+FCFS | 506 | -38.00 | 0 | 3.5 |
EAT+EDD | 506 | -38.00 | 0 | 3.5 |
EAT+CR | 506 | -38.00 | 0 | 3.5 |
EFT+FCFS | 533 | -16.00 | 1 | 4.5 |
EFT+EDD | 533 | -16.00 | 1 | 4.5 |
EFT+CR | 533 | -16.00 | 1 | 4.5 |
PBA | 478 | -59.00 | 0 | 2.75 |
为了能够更方便的观察不同方法下的调度结果,接下来针对表5中的数据给出了四张柱形图(图7-图10)。从图中可以清晰的看出,PBA方法对于结果的四个评价标准,都比其他九个方法的性能更好。
表6 6个单元18个工件不同方法的性能对比
方法 | makespan | 平均延迟 | 延迟工件个数 | 平均跨单元次数 |
SPT+FCFS | 836 | -10.00 | 5 | 5.89 |
SPT+EDD | 801 | -8.00 | 5 | 5.89 |
SPT+CR | 836 | -7.00 | 7 | 5.89 |
EAT+FCFS | 798 | -8.00 | 7 | 5.11 |
EAT+EDD | 804 | -6.00 | 8 | 5.11 |
EAT+CR | 798 | -7.00 | 6 | 5.11 |
EFT+FCFS | 855 | -12.00 | 5 | 5.67 |
EFT+EDD | 801 | -12.00 | 5 | 5.78 |
EFT+CR | 801 | -12.00 | 5 | 5.78 |
PBA | 762 | -40.00 | 3 | 3.28 |
表6的柱状图见图11-图14。同样地,从这四张图中很容易的可以看到,PBA在所有方法中的性能最优,并且随着工件数和单元数量的增加,PBA的性能优势更加明显。
表7 6个单元72个工件不同方法的性能对比
表7中列出了应用不同的方法所产生的调度结果,其中PBA的性能明显高于其他九个调度规则的组合。表7的柱状图如图15-图18所示。
通过对不同规模的实验数据,应用不同的调度方法所产生的实验结果的详细分析,可以看出,PBA调度结果中的makespan,平均延迟,延迟工件个数以及平均跨单元次数始终优于其他调度方法所产生的结果。并且无论在哪种规模的实验中,PBA的性能都非常稳定。
Claims (2)
1.一种柔性路径下跨单元调度方法,包括以下步骤:
一、定义如下符号描述柔性路径下跨单元调度问题:
i 工件集的索引i=1,...,J,其中J为需要进行跨单元调度的特殊工件的个数;
qi 工件i的工序集的索引(qi=1,..,N),其中N为工件i的工序数;
Li 工件i的跨单元路径的集合;
lir 工件i的跨单元路径集的索引(r=1,...,R),R为路径数目;
m 工件的下一道工序可选的加工机器的索引;
t 当前时刻;
tm 机器上当前工件的加工完成时刻;
Pavg_i 工件i的历史平均处理时间;
pji 工件i的第j道工序的历史平均加工时间;
pjim 工件i的第j道工序在机器m上的加工时间;
di 工件i的交货期;
mqi 可以加工工件i的第q道工序的机器集合;
Tri 工件i的单位距离的转移时间;
Hc,c′ 单元c到单元c′的距离;
二、建立多Agent协商模型:
定义四种基本角色:工件Agent,机器Agent,单元Agent以及管理Agent,这四种Agent允许自由协商交互,以协同求解复杂问题:
(1)工件Agent
当工件到达之后为其创建一个工件Agent,工件Agent的功能是:确定加工 序列,选择工艺路径,计算自身信息素以及被选中概率,当工件被加工完成之后,由管理Agent注销该工件Agent;
(2)单元Agent
单元Agent代表系统内的制造单元,负责管理单元内所有机器Agent,同时与工件Agent和机器Agent进行通信;记录机器Agent的基本信息,计算单元内机器的信息素和被选择的概率;当被选为工件Agent的加工单元时,向机器Agent告知工件的加工信息;
(3)机器Agent
机器Agent代表单元内的机器,功能是向工件Agent发出招标信息,以决定缓冲队列中工件的加工顺序,同时机器Agent接收来自单元Agent的指令,加工相应的工件;
(4)管理Agent
为了方便工件Agent和单元Agent以及机器Agent之间的协商,定义了管理Agent:管理Agent负责管理和维护全局信息,包括根据单元和机器的信息为新到来的工件提供可行路径集合,并对可行路径集合进行处理;当工件在机器上加工完成后需在管理Agent中记录该加工时间的信息,用于统计工件的历史平均处理时间;
三、多Agent之间进行协商,完成跨单元调度,具体包括:
(1)工件决策跨单元路径:
在工件到来之前,各个机器Agent向其所在的单元Agent注册信息,各单元Agent将所有已知信息告知管理Agent,从而使管理Agent获得单元制造系统CMS内所有的单元及单元内机器的信息;当新的工件到来后,为其创建一个工件Agent,工件Agent向管理Agent注册信息,包括交货期,工件的所有工序及其次序约束关系;管理Agent根据注册信息为新到来的工件提供可行路径集合,并对可行路径集合进行处理,去除冗余路径,判断共有路径和非共有路径;
对于每个工件的所有可选路径,管理Agent将非共有路径部分的信息告知有关的单元Agent,并发送针对该工件形成联盟的消息;联盟Agent形成后等待接收工件Agent发送的加工请求信息,同时,管理Agent将处理之后的路径信息发送给工件Agent,工件Agent根据接收到的路径信息,分别对共有路径和非共有路径采取相应的措施:对于共有路径,工件Agent告知路径中相应的单元 Agent,单元Agent将分配到的工件的待加工工序放入机器的缓冲队列中等待加工,并更新相应机器Agent的缓冲队列信息;对于非共有路径,工件Agent向若干个联盟Agent发送招标信息CFP,联盟Agent收到请求后将形成联盟Agent的各单元Agent的信息素即单元内能加工该工件的机器的信息素发送给工件Agent;工件Agent计算各个联盟Agent被选择的概率,选中其中一个联盟Agent,并向其发送确认信息,同时向其他未被选中的联盟Agent发送拒绝信息;被选中的联盟Agent告知相关的单元Agent将工件的加工任务放入机器的缓冲队列中;
其中,机器m的信息素计算通过公式(1)得到:
在公式(1)中,(tm-t-Hc,c′Tri)表示工件到达机器m后机器m可用的等待时间,其中Hc,c′Tri表示工件由上单元移动到当前单元所花费的时间, 表示机器m的任务缓冲队列中的所有待加工工件的完成时间,pqim表示当前工件i在机器m上所需的加工时间;如果(tm-t-Hc,c′Tri)的值为负数,表示工件在到达该机器之前,机器已经被释放,在这种情况下,机器会在任务缓冲队列中选择下一个加工的工件,那么(tm-t-Hc,c′Tri)再加上这个工件的加工时间即为工件i到达机器m后,等待机器m可用的等待时间;
工件i的第q道工序选择机器m的概率通过公式(2)得到:
其中,参数α,β决定信息素和启发式信息的影响程度大小,具体值由用户设定;
工件i的第q道工序在机器m上加工的启发式信息ηqim的计算见公式(3):
ηqim=1/pqim (3)
机器m被选中的概率即为其所在单元被选中的概率,在此基础上,根据公式(4)计算联盟被选中的概率:
(2)机器决策工件的执行顺序
当机器的当前工件加工完成后,机器Agent检查其缓冲队列,如果队列中只有一个待加工工件,那么直接加工该工件,如果缓冲队列中的待加工工件有两个或两个以上,那么机器Agent向可加工的工件Agent发送招标信息CFP;各工件Agent收到机器Agent的请求后计算相应工件的信息素并且发送给机器Agent,机器Agent根据收到的信息素计算各个工件Agent所代表的工件被选择的概率,从中选择一个工件Agent后对其发送确认信息,同时对其他未被选中的工件Agent发送拒绝消息;被选中的工件Agent确认信息后加工该工件,当该工件加工完成之后,机器将该工件在单元内的加工信息告知管理Agent;当机器的缓冲队列中没有待加工的工件时,该机器Agent的协商过程停止;
工件i的信息素计算见公式(5):
其中, 表示从当前时刻t到工件i所有工序全部完成所需的时间,即该工件的剩余加工时间;
公式(5)和(6)中涉及到的Pavg_i和pji是通过计算管理Agent记录的工件历史完成信息而来的;
工件i被选择概率的计算与机器被选择概率的计算相似,由信息素和启发式信息组成,计算公式见公式(7):
其中,参数α,β决定信息素和启发式信息的影响程度大小,具体值由用户设定;启发式信息ηqim同样根据公式(3)计算得到;
工件决策跨单元路径以及机器决策工件的执行顺序是同时进行并且不断重复的,直到没有新的工件到来并且所有已分配的工件都加工完毕后停止。
2.根据权利要求1所述的一种柔性路径下跨单元调度方法,其特征在于,所述决定信息素和启发式信息影响程度大小的参数α和β的取值为(1,2)的组合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011102763314A CN102385364B (zh) | 2011-09-16 | 2011-09-16 | 一种柔性路径下跨作业单元调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011102763314A CN102385364B (zh) | 2011-09-16 | 2011-09-16 | 一种柔性路径下跨作业单元调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102385364A CN102385364A (zh) | 2012-03-21 |
CN102385364B true CN102385364B (zh) | 2013-04-03 |
Family
ID=45824854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011102763314A Expired - Fee Related CN102385364B (zh) | 2011-09-16 | 2011-09-16 | 一种柔性路径下跨作业单元调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102385364B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110109433A (zh) * | 2019-05-15 | 2019-08-09 | 上海海得自动化控制软件有限公司 | 柔性流水车间的基于辊道的缓冲区智能物流调度系统 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103227128B (zh) * | 2013-04-28 | 2015-12-02 | 上海华力微电子有限公司 | 调整具有停留时间限制的工艺阶段产能的方法及系统 |
CN103996080B (zh) * | 2014-05-30 | 2018-01-09 | 北京理工大学 | 一种具有最大联通性的制造系统构型优化方法 |
CN105975332B (zh) * | 2016-05-03 | 2018-02-16 | 北京理工大学 | 一种多智能体分布式联盟形成方法 |
CN106971235B (zh) * | 2017-02-16 | 2021-07-06 | 上海大学 | 一种存在中间存储约束的柔性作业车间分批优化调度方法 |
CN108628261A (zh) * | 2017-03-21 | 2018-10-09 | 西门子公司 | 工艺控制装置和方法 |
CN108920206B (zh) * | 2018-06-13 | 2022-01-18 | 北京交通大学 | 一种插件调度方法及装置 |
CN109447408B (zh) * | 2018-09-21 | 2021-07-02 | 华中科技大学 | 一种基于复杂网络理论的跨单元调度方法 |
CN109615194A (zh) * | 2018-11-29 | 2019-04-12 | 上海集成电路研发中心有限公司 | 一种产线数据预处理系统和方法 |
CN109598450B (zh) * | 2018-12-20 | 2019-10-18 | 宁波大学 | 一种面向定点输出的分布式制造调度方法 |
CN113377073B (zh) * | 2021-06-28 | 2022-09-09 | 西南交通大学 | 一种基于双层多智能体系统的柔性作业车间调度优化方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2446516B1 (fr) * | 1979-01-10 | 1985-12-20 | Huneau Jacques | Dispositif de gestion et de planning, et procede de fonctionnement |
CN1529261A (zh) * | 2003-10-05 | 2004-09-15 | 华中科技大学 | 一种带状态性能反馈的规则调度方法及其调度系统 |
CN101086666A (zh) * | 2006-06-09 | 2007-12-12 | 株式会社日立制作所 | 作业管理装置、拣选台车、作业性管理系统、方法及程序 |
TW200912776A (en) * | 2007-09-14 | 2009-03-16 | Hon Hai Prec Ind Co Ltd | System and method for arranging for machining workpieces |
CN101944201A (zh) * | 2010-07-27 | 2011-01-12 | 昆明理工大学 | 一种基于多智能体的炼钢车间天车调度仿真方法 |
-
2011
- 2011-09-16 CN CN2011102763314A patent/CN102385364B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2446516B1 (fr) * | 1979-01-10 | 1985-12-20 | Huneau Jacques | Dispositif de gestion et de planning, et procede de fonctionnement |
CN1529261A (zh) * | 2003-10-05 | 2004-09-15 | 华中科技大学 | 一种带状态性能反馈的规则调度方法及其调度系统 |
CN101086666A (zh) * | 2006-06-09 | 2007-12-12 | 株式会社日立制作所 | 作业管理装置、拣选台车、作业性管理系统、方法及程序 |
TW200912776A (en) * | 2007-09-14 | 2009-03-16 | Hon Hai Prec Ind Co Ltd | System and method for arranging for machining workpieces |
CN101944201A (zh) * | 2010-07-27 | 2011-01-12 | 昆明理工大学 | 一种基于多智能体的炼钢车间天车调度仿真方法 |
Non-Patent Citations (2)
Title |
---|
王晓晴,唐加福.基于分散搜索的零部件跨单元生产的单元管理方法.《机械工程学报》.2009,第45卷(第10期),全文. * |
许晓栋,庄新村,卢宇灏,李从心.基于遗传算法的有柔性路径的动态调度问题研究.《上海理工大学学报》.2005,第27卷(第6期),全文. * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110109433A (zh) * | 2019-05-15 | 2019-08-09 | 上海海得自动化控制软件有限公司 | 柔性流水车间的基于辊道的缓冲区智能物流调度系统 |
CN110109433B (zh) * | 2019-05-15 | 2021-01-01 | 上海海得自动化控制软件有限公司 | 柔性流水车间的基于辊道的缓冲区智能物流调度系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102385364A (zh) | 2012-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102385364B (zh) | 一种柔性路径下跨作业单元调度方法 | |
Ouelhadj et al. | A survey of dynamic scheduling in manufacturing systems | |
Guo et al. | Optimisation of integrated process planning and scheduling using a particle swarm optimisation approach | |
Shaw | Dynamic scheduling in cellular manufacturing systems: a framework for networked decision making | |
Morad et al. | Genetic algorithms in integrated process planning and scheduling | |
Cowling et al. | A multi-agent architecture for dynamic scheduling of steel hot rolling | |
Zhang et al. | Multi-level inventory matching and order planning under the hybrid Make-To-Order/Make-To-Stock production environment for steel plants via Particle Swarm Optimization | |
CN101303749A (zh) | 面向客户需求的车间作业调度方法 | |
CN105974891A (zh) | 一种基于动态看板的模具生产过程自适应控制方法 | |
CN102542411A (zh) | 基于aca模型的多品种多工艺制造企业车间调度控制方法 | |
Ren et al. | A flexible resource investment problem based on project splitting for aircraft moving assembly line | |
Simeone et al. | Resource efficiency optimization engine in smart production networks via intelligent cloud manufacturing platforms | |
Alzaqebah et al. | Self-adaptive bee colony optimisation algorithm for the flexible job-shop scheduling problem | |
Rao | A genetic algorithms-based approach for design of manufacturing systems: an industrial application | |
Zhang et al. | A discrete job-shop scheduling algorithm based on improved genetic algorithm | |
Piri et al. | Developing a new model for simultaneous scheduling of two grand projects based on game theory and solving the model with Benders decomposition | |
Ding et al. | A novel evolutionary algorithm for energy-efficient scheduling in flexible job shops | |
Jiang et al. | Seru scheduling problems with multiple due-windows assignment and learning effect | |
Wang et al. | An improved genetic algorithm with local search for dynamic job shop scheduling problem | |
Wang et al. | Shifting economic bottleneck identification | |
Kanagasabapathi et al. | Scheduling in resource-constrained multiple projects to minimise the weighted tardiness and weighted earliness of projects | |
Yan et al. | Dynamic scheduling of intelligent Rail Guided Vehicle based on queuing theory | |
Dhingra et al. | Hybrid genetic algorithm for SDST flow shop scheduling with due dates: a case study | |
Weng et al. | Study and application of scheduling method for just-in-time production in flexible job shops | |
Liang et al. | Optimization of precast production scheduling for rail track slab |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130403 Termination date: 20130916 |