CN111679637A - 一种制造系统中柔性多任务调度方法 - Google Patents
一种制造系统中柔性多任务调度方法 Download PDFInfo
- Publication number
- CN111679637A CN111679637A CN202010476027.3A CN202010476027A CN111679637A CN 111679637 A CN111679637 A CN 111679637A CN 202010476027 A CN202010476027 A CN 202010476027A CN 111679637 A CN111679637 A CN 111679637A
- Authority
- CN
- China
- Prior art keywords
- population
- manufacturing
- subtask
- time
- task
- 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.)
- Granted
Links
- 238000004519 manufacturing process Methods 0.000 title claims abstract description 101
- 238000000034 method Methods 0.000 title claims abstract description 50
- 239000013598 vector Substances 0.000 claims abstract description 58
- 238000005265 energy consumption Methods 0.000 claims abstract description 54
- 239000000872 buffer Substances 0.000 claims abstract description 52
- 238000005457 optimization Methods 0.000 claims abstract description 29
- 238000012545 processing Methods 0.000 claims abstract description 19
- 230000035772 mutation Effects 0.000 claims description 18
- 238000003860 storage Methods 0.000 claims description 16
- 230000000903 blocking effect Effects 0.000 claims description 5
- 230000008602 contraction Effects 0.000 claims description 4
- 238000009826 distribution Methods 0.000 claims description 3
- 230000003044 adaptive effect Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 230000000717 retained effect Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- WNUUWQUNTSGWGN-UHFFFAOYSA-N 2-(cyclohexylcarbamoyloxy)ethyl 3-acetamido-2,4,6-triiodobenzoate Chemical compound CC(=O)NC1=C(I)C=C(I)C(C(=O)OCCOC(=O)NC2CCCCC2)=C1I WNUUWQUNTSGWGN-UHFFFAOYSA-N 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000002068 genetic effect Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 230000000750 progressive effect Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000004134 energy conservation Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 108090000623 proteins and genes Proteins 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 239000011265 semifinished product Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- HRANPRDGABOKNQ-ORGXEYTDSA-N (1r,3r,3as,3br,7ar,8as,8bs,8cs,10as)-1-acetyl-5-chloro-3-hydroxy-8b,10a-dimethyl-7-oxo-1,2,3,3a,3b,7,7a,8,8a,8b,8c,9,10,10a-tetradecahydrocyclopenta[a]cyclopropa[g]phenanthren-1-yl acetate Chemical compound C1=C(Cl)C2=CC(=O)[C@@H]3C[C@@H]3[C@]2(C)[C@@H]2[C@@H]1[C@@H]1[C@H](O)C[C@@](C(C)=O)(OC(=O)C)[C@@]1(C)CC2 HRANPRDGABOKNQ-ORGXEYTDSA-N 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41885—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/32—Operator till task planning
- G05B2219/32339—Object oriented modeling, design, analysis, implementation, simulation language
-
- 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
- Engineering & Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种制造系统中柔性多任务调度方法,以任务的时间限制和质量限制为约束条件,以最小化总能耗及工作负载均衡为目标,建立双目标优化模型。分阶段首先对服务分配向量进行迭代处理,然后生成子任务顺序向量并进行迭代处理,最后针对服务分配向量和子任务顺序向量进行处理,在经过前两个阶段已经缩小的搜索空间中同时考虑服务分配和子任务顺序,以在质量和完成时间的约束下,权衡总能耗和工作负载均衡。本发明在解决考虑能耗和中间缓冲区的多任务调度问题时,具有更好的性能。
Description
技术领域
本申请属于制造系统中的柔性多任务调度技术领域,尤其涉及一种制造系统中柔性多任务调度方法。
背景技术
制造系统中的柔性多任务调度问题近年来得到了广泛的研究,传统的多任务调度问题往往从客户的角度优化服务质量(quality of service,QoS),如时间、成本和声誉等。然而当优化目标局限于客户利益的时候,不同的任务有可能分配给相同的制造服务,从而导致资源闲置,降低资源利用效率。
数据表明,制造业是全球能源消耗的主要部门,减少能源消耗是制造系统实现绿色制造的必要条件,人们已经意识到制造企业节能减排的重要性。现有技术柔性多任务调度主要是考虑了与能耗相关的目标与完工时间和总延误时间等目标之间的利益冲突。例如,Leenders等(2019)提出了一种重复斯塔伯格博弈模型以同时最小化生产系统和效用系统的能耗。Fang等(2011)采用以运行速度为自变量的数学规划模型来调整峰值负荷和总能耗。Zhang等(2018)提出的调度模型旨在不影响任务的截止日期保证的前提下最小化总计算成本和能源消耗。此外,Feng等(2019)提出了一种新的数学模型,通过突出涡轮产量损失的重要性来优化维修调度和路由问题,这不仅能优化维修计划,也优化了船舶航线。Su等(2014)在优化列车控制策略时,同时考虑了能量消耗、运行时间、安全性和乘坐舒适性。Yildirm等(2017)针对风电场调度过程中面临的特殊挑战,提出了一种基于风能和电价的自适应维护调度优化模型。
可见,目前针对降低制造过程能耗的相关研究大多集中于最小化总能耗这个单一的目标,未考虑制造企业与制造系统之间的利益冲突,即未考虑能源消耗与工作负载均衡之间冲突,这样容易产生垄断的制造企业,不能平衡不同制造企业的工作量,不利于制造系统的健康发展。
发明内容
本申请的目的是提供一种制造系统中柔性多任务调度方法,在制造过程中同时考虑能源消耗与工作负载均衡,并考虑中间缓冲区的影响,从而避免了背景技术中指出的问题。
为了实现上述目的,本申请技术方案如下:
一种制造系统中柔性多任务调度方法,包括:
以任务的时间限制和质量限制为约束条件,以最小化总能耗及工作负载均衡为目标,建立双目标优化模型,所述双目标优化模型对应的调度方案包括服务分配向量和子任务顺序向量,建立的双目标优化模型表示如下:
其中,TEC为总能耗,WB为工作负载均衡,Ti为第i个制造任务,i=1,2,…,I,Tij为第i个任务的第j个子任务,j=1,2,…,Ji,CTij为Tij的结束时间,为MSk完成Tij的质量,MSk为第k个制造服务,k=1,2,…,K,为二元变量,如果由MSk完成Tij,否则,TTi为Ti的时间限制,TQi为Ti的质量限制;
接收制造任务和制造服务数据,初始化种群的服务分配向量,评估种群中的每个个体,划分为帕累托解集和帕累托支配解集;
执行交叉变异操作,并保留个体,更新帕累托解集和帕累托支配解集;
判断是否满足第一终止条件,如果是则进入下一步,否则返回上一步骤继续进行迭代;
为当前种群的每个个体初始化一个子任务顺序向量;
对子任务顺序向量执行交叉变异操作,并保留个体;
判断是否满足第二终止条件,如果是则进入下一步,否则返回上一步骤继续进行迭代;
针对服务分配向量和子任务顺序向量都执行交叉变异操作,并保留个体;
判断是否满足第三终止条件,如果是则输出帕累托解集,作为调度方案,否则返回上一步骤继续进行迭代。
进一步的,所述总能耗包括加工能耗和闲置能耗。
进一步的,所述工作负载均衡为每个制造服务的工作负载与平均工作负载之差的和,按照如下公式计算:
进一步的,所述以任务的时间限制和质量限制为约束条件,包括:
每个制造任务的最后一个子任务的完成时间要早于该制造任务的时间限制;
每个制造任务的所有子任务的质量要大于该制造任务的质量限制。
进一步的,所述以任务的时间限制和质量限制为约束条件,还包括中间缓冲区的受阻时间和存储时间约束。
进一步的,所述为当前种群的每个个体初始化一个子任务顺序向量,包括:
根据松弛值排序选择新可用的子任务,然后更新子任务顺序向量,直到完成所有子任务。如果被选择的子任务具有相同的松弛值,则随机排序。
进一步的,所述保留个体,包括:
计算种群成功率SR=SS/SN,并随机生成一个0-1的小数rand;
比较SR和rand的大小,如果SR>rand,则选择收缩种群,反之,则选择扩张种群;
收缩种群方式:计算个体成功率sri=sci/iteri,如果当前种群大小大于最小种群大小且母个体属于帕累托支配解集且sri<rand,则母个体和子个体都不保留;反之则将子个体保留至下一代;
扩张种群方式:如果当前种群大小小于最大种群大小,则同时保留母个体和子个体;
其中,SR为种群成功率,SN为当前种群大小,SS为当前种群中成功搜索到更优个体的次数,sri为个体成功率,sci为个体Xi的成功搜索次数,iteri为Xi的迭代次数。
本申请提出了制造系统中柔性多任务调度方法,对于制造企业降低能源消耗,实现制造系统的可持续发展都具有重要意义。以任务的时间限制和质量限制为约束条件,以最小化总能耗及工作负载均衡为目标,建立双目标优化模型。分阶段首先对服务分配向量进行迭代处理,然后生成子任务顺序向量并进行迭代处理,最后针对服务分配向量和子任务顺序向量进行处理,在经过前两个阶段已经缩小的搜索空间中同时考虑服务分配和子任务顺序,以在质量和完成时间的约束下,权衡总能耗和工作负载均衡。本申请的方法,采用多阶段方法分解和重组双目标优化问题,基于帕累托的自适应种群大小方法以维持群体多样性和提高收敛速度,通过实时顺序调度来初始化子任务顺序以减少闲置能耗。本申请在解决考虑能耗和中间缓冲区的多任务调度问题时,性能均优于其他四种基准算法。
附图说明
图1为本申请制造系统多任务调度示意图;
图2为本申请制造系统中柔性多任务调度方法流程图;
图3为本申请实施例调度方案示意图;
图4为本申请调度方案向量表示示意图;
图5为本申请实施例交叉变异操作示意图;
图6为本申请实验帕累托解比较示意图;
图7位本申请实验平均运行时间比较示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本申请一种制造系统中柔性多任务调度方法,旨在找到一个可以同时兼顾总能耗和工作负载均衡的可行调度方案,将制造任务分配给制造服务来执行。
如图1所示,本申请技术方案基于以下应用场景:将I个制造任务(也简称为任务){T1,…,TI}提交给制造系统,每个由Ji个子任务按顺序构成的任务Ti由另一个制造服务集{MS1,…,MSK}完成。制造系统中的每个制造服务(也简称为服务)都由制造企业中的一个制造资源或一组制造资源提供。因此,在制造过程中总会产生能源消耗。假设每个任务都有非抢占式的加工需求,这意味着子任务在处理期间不能被中断。所有服务在任务调度开始时都是可用的。此外,每个子任务最多可以由一个服务完成,每个服务在任何时刻最多可以执行一个子任务。每个服务由于服务需求或存储容量都应该考虑中间缓冲区。在本申请中,制造任务可以是任何适合工业应用的产品制造,例如生产电子产品,或者是生产服装等等,本申请对此不做限制。
如图2所示,本申请一种制造系统中柔性多任务调度方法,包括:
步骤S1、以任务的时间限制和质量限制为约束条件,以最小化总能耗及工作负载均衡为目标,建立双目标优化模型,所述双目标优化模型对应的调度方案包括服务分配向量和子任务顺序向量。
本申请通过建立双目标优化模型,然后对其求解来找到最优的调度方案,旨在找到一个可以同时兼顾总能耗和工作负载均衡的可行调度方案,将制造任务分配给制造服务来执行。
其中,总能耗TEC包括加工能耗PEC和闲置能耗SEC,分别由公式(2)和(3)计算得到:
TEC=PEC+SEC (1)
其中ESTk和LCTk分别为完成Tij的MSk的最早开始时间和最晚结束时间。在分配给服务的所有子任务完成之前,无论是加工时间和闲置时间都会产生能源消耗。
工作负载均衡WB为每个服务的工作负载与平均工作负载之差的和,以防止服务过载,其计算方式如公式(8)所示:
本申请提出了双目标优化模型,其目标是在不打破任何时间约束和质量约束的前提下,最小化总能耗和工作负载均衡,用数学公式表示如下:
Minimize:(TEC,WB) (9)
上述公式(10)中的约束条件,概括为:
每个制造任务的最后一个子任务的完成时间要早于该制造任务的时间限制;
每个制造任务的所有子任务的质量要大于该制造任务的质量限制。
本申请双目标优化模型,即在满足公式(10)的约束下,最小化总能耗和工作负载均衡(公式(9))。
上述公式中的各字母含义如下:
Ti 第i个制造任务,i=1,2,…,I;
Tij 第i个任务的第j个子任务,j=1,2,…,Ji;
MSk 第k个制造服务,k=1,2,…,K;
UEk MSk每一单位闲置时间的能耗;
TTi Ti的时间限制;
TQi Ti的质量限制;
π 一个可行的调度方案;
STij Ti的开始时间;
CTij Ti的结束时间;
LSTk MSk的最迟开始时间;
ECTk MSk的最早结束时间;
bufferkl MSk的第l个缓冲区,l=1,2,…,Lk;
ITij Tij的闲置时间;
BTij Tij的受阻时间;
RTij Tij的存储时间;
需要说明的是,目前关于柔性多任务调度问题的研究,大多数忽略了与中间缓冲区相关的约束,从而忽略了受阻的子任务对后续子任务的影响。如果忽略中间缓冲区相关的约束,则不会考虑Tij的受阻时间BTij和Tij的存储时间RTij,现有技术中将其忽略为零。
调度问题的四种中间缓冲区类型为:无等待、无缓冲区、有限缓冲区和无限缓冲区。制造服务的中间缓冲区类型取决于其存储需求及存储容量,现有的制造调度研究考虑的中间缓冲区类型大多是无限缓冲区而不是有限缓冲区,但是无限缓冲区在现实制造环境中过于理想化,有限缓冲区更为实用更贴近现实。无限缓冲区即制造服务完成的子任务只需要很少的存储空间,默认忽略不计。有限缓冲意味着制造企业需要一些类似于制造中转站的仓库来存放半成品。如果没有闲置的仓库,等待下一个制造过程的半成品将占用当前的制造服务,并影响分配给当前制造服务的其它子任务的进度。本申请将中间缓冲区相关的约束加入到双目标优化模型中,主要考虑了两种中间缓冲区,即有限缓冲区和无限缓冲区。假设有限缓冲区的存储空间可以量化为多个缓冲区,并且如果后续子任务不能立即完成,则由制造服务完成的子任务需要占用一个缓冲区来存储。有限缓冲区表示缓冲区的数量是有限的,而无限缓冲区表示缓冲区的数量是无限的。
本申请以任务的时间限制和质量限制为约束条件,还包括中间缓冲区的受阻时间和存储时间约束。在制造服务待机状态下有两种状态:子任务Tij的闲置时间ITij和受阻时间BTij。闲置时间是指服务没有被任何子任务占用的时间。受阻时间表示已完成的子任务需要继续占用服务,因为服务的缓冲区已无存储空间。受阻的服务在受阻时间段内不能完成任何其他分配到该服务的子任务。图3展示了调度方案的一个实例。
服务MSk完成子任务Tij后,后续子任务Ti(j+1)能否立即完成取决于服务MSk′的累进时间。如图3所示,当Tij完成时,Ti(j+1)不能立即被执行,需要存放至服务MSk′可用为止,由此产生存储时间RTij会影响后续子任务在缓冲区bufferk1上的存放,进而影响后续子任务的受阻时间。假设MSk只有一个缓冲区bufferk1,并且在Tij完成时,MSk的缓冲区已被占用。因此在bufferk1可用之前,Tij将一直占用MSk,由此产生相应的受阻时间BTij。服务MSk在执行子任务Tij前的累进时间可由公式计算得到,其中CTi′j′和BTi′j′分别表示服务MSk在执行子任务Tij之前的上一个子任务Ti′j′的结束时间和受阻时间。
本申请为了避免已完成子任务仍占用服务,采用基于优先级的缓冲区存储策略:(1)如果下一子任务无法立即执行,则优先存储下一子任务分配的服务的缓冲区;(2)如果当前子任务结束时,下一子任务分配的服务没有可用缓冲区,则当前子任务会存储到当前子任务分配的服务的缓冲区;和(3)否则,当前子任务仍占用当前子任务分配的服务。
表1
由此可知,在考虑有限缓冲区和无限缓冲区的情况下,受阻时间和存储时间将对累进时间Pij k产生影响,进而对任务的开始时间STij和任务的结束时间CTij产生影响。本申请将受阻时间和存储时间对开始时间STij和任务的结束时间CTij产生的影响引入到双目标优化模型中,使得后续求解双目标优化模型后,得到的多任务调度方案更优。
柔性多任务调度问题可以简化为两个子问题:服务分配和子任务顺序。对任何子任务的安排都可能影响其他子任务。此外,总能耗和工作负载均衡都取决于服务分配和子任务顺序,故这两个目标会相互影响。
本申请对双目标优化模型进行求解,可以得到优化后的调度方案,由于柔性多任务调度问题可以简化为两个子问题:服务分配和子任务顺序,因此调度方案由分别对应两个子问题的两个向量组成,即服务分配向量和子任务顺序向量。对于子任务顺序向量,每个元素表示对应任务的一个子任务,同一元素第r次出现表示该任务的第r个子任务。对于服务分配向量,每个元素根据子任务和任务的命名顺序表示每个子任务所选择的服务。两个向量的长度由子任务的总数决定。
图4示出了一个调度方案的实施例,调度方案的子任务顺序向量和服务分配向量可以解释为:(T31,MS2),(T11,MS1),(T21,MS2),(T22,MS1),(T32,MS3),(T12,MS3),(T13,MS3),(T33,MS1)。
步骤S2、接收制造任务和制造服务数据,初始化种群的服务分配向量,评估种群中的每个个体,划分为帕累托解集和帕累托支配解集。
本申请对于给定的制造任务,从可选的制造服务中为制造任务调度制造服务,即对制造任务和制造服务数据进行处理,得到调度方案。输入的制造任务和制造服务数据包括但不限于加工事件、加工能耗、限制能耗、质量、中间缓冲区性质及个数,时间约束和质量约束等等。制造任务可以是制衣任务,制造手机的任务等等产品制造任务。
已知的是,如果同时考虑服务分配和子任务顺序,那么多个优化目标的最优值很可能会被遗漏。为了避免这样的情况,本申请对双目标优化模型进行求解,分为三个阶段,通过减少搜索空间以逐步增加运行效率。第一个阶段首先考虑服务分配,以在质量约束下最小化加工能耗(PEC)和工作负载均衡(WB)。第二阶段考虑子任务顺序,以在完成时间约束下最小化闲置能耗(SEC)。第三阶段在经过前两个阶段已经缩小的搜索空间中同时考虑服务分配和子任务顺序,以在质量和完成时间的约束下,权衡总能耗(TEC)和工作负载均衡(WB)。第三阶段的优化目标TEC是第一阶段的PEC和第二阶段的SEC的总和。
本申请结合帕累托最优解集(Pareto)与遗传算法(GA)来进行分阶段求解双目标优化模型。首先,初始化产生初始种群,所产生的初始种群的每个个体只包括服务分配向量。对初始种群中每个个体进行采用帕累托最优解集的方法来评估,并将初始种群中的个体划分为帕累托解集和帕累托支配解集。
需要说明的是,关于帕累托最优解集(Pareto),已经是比较成熟的技术,这里不再赘述。
步骤S3、执行交叉变异操作,并保留个体,更新帕累托解集和帕累托支配解集。
本申请对种群的迭代,采用遗传算法的交叉变异操作。例如,如图5所示,服务分配向量,采用两点交叉算子产生子个体,将母个体的基因片段替换为从种群中随机选择的另一个母个体的相同位置的基因片段。对于突变算子,根据突变率MR,随机选择母个体的多个子任务,并将其重新调度到另一个服务。如果产生了任何不可用的子个体,则选择离当前不可用服务最近的可用服务分配给相应的子任务。
子任务顺序向量,采用改进的基于优先级保留的交叉算子。随机选择属于母个体的子集,并复制到子集元素的相应位置,母个体的空白位置被从种群中随机选择的另一个母个体的剩余元素依次补充。在交叉算子后执行两点突变算子,对母个体中随机选择的两个位置的元素进行交换。两种算子都能避免产生不可行的子个体。
需要说明的是,关于遗传算法的交叉变异操作,现有技术中由很多方法,这里不一一赘述。在以下步骤的阐述中,关于交叉变异操作也不再一一赘述。
在每一轮的迭代中,通过执行交叉变异操作,种群中的个体会发生变化,等种群中的个体都变化完成后,相当于完成一个迭代。每完成一次迭代,当前种群中的个体会发生变化,保留个体的操作在现有技术中一般是子个体保留,母个体舍去,然后采用帕累托最优解集的方法对个体重新评估,并更新帕累托解集和帕累托支配解集。
本申请根据当前种群的表现,动态保留个体以扩展种群规模,实现种群规模的有效自适应调整。即所述保留个体,包括:
计算种群成功率SR=SS/SN,并随机生成一个0-1的小数rand;
比较SR和rand的大小,如果SR>rand,则选择收缩种群,反之,则选择扩张种群;
收缩种群方式:计算个体成功率sri=sci/iteri,如果当前种群大小大于最小种群大小且母个体属于帕累托支配解集且sri<rand,则母个体和子个体都不保留;反之则将子个体保留至下一代;
扩张种群方式:如果当前种群大小小于最大种群大小,则同时保留母个体和子个体。
其中,SR为种群成功率,SN为当前种群大小,SS为当前种群中成功搜索到更优个体的次数。其中sri为个体成功率,sci为个体Xi的成功搜索次数,iteri为Xi的迭代次数。
上述保留个体的方法,在本申请中也称为基于帕累托的自适应种群大小方法(PAPS),涉及的参数包括最小种群大小SNmin、当前种群大小SN和最大种群大小SNmax。种群P中的个体可以分为两部分:帕累托解集M和帕累托支配解集G。帕累托解集包含了所有的帕累托解,每一轮迭代帕累托解集都会得到更新。
在每一轮迭代过程中,种群中的每一个能支配其子个体或母个体的个体将保留至下一代,若相互不支配,则根据种群个体表现自适应保留个体。即为了维持种群质量和多样性,支配其母个体或子个体的个体将保留到下一代。如果母个体和子个体之间没有相互支配,那么将根据种群的成功率而保留个体,种群成功率计算公式为SR=SS/SN,其中SS为当前种群中成功搜索到更优个体的次数。一般来说,如果子个体支配母个体,那么就认为该个体成功搜索到了子个体。如果种群的成功率高,种群趋于收缩。个体成功率的计算公式为sri=sci/iteri,其中sci为Xi的成功搜索次数,iteri为Xi的迭代次数。如果个体Xi的成功率较低,则Xi属于集合G,其子代X′i往往不会被保留到下一代;否则,X′i将被保留到下一代。反之,如果种群的成功率较低,种群趋于扩张。不受母个体支配的子个体将被全部保留到下一代。以上种群收缩扩张的前提是不超过种群规模限制。
步骤S4、判断是否满足第一终止条件,如果是则进入下一步,否则返回步骤S3继续进行迭代。
本申请为每个阶段的迭代设置对应的终止条件,具体的终止条件可以是预设的迭代次数,或者其他终止条件。例如第一终止条件为:如果种群连续η*itermax代的成功率都低于ζ或迭代次数达到θ1*itermax,则结束迭代进入下一步骤。
如果种群连续η*itermax代的成功率都低于ζ或迭代次数达到(θ1+θ2)*itermax,则进入第三阶段。参数ζ、η、θ1和θ2都是属于0到1的定值。
步骤S5、为当前种群的每个个体初始化一个子任务顺序向量。
本申请在结束第一阶段的迭代计算后,在第一阶段的迭代得到的种群基础上,为当前种群的每个个体初始化一个子任务顺序向量。
为当前种群的每个个体初始化一个子任务顺序向量,旨在对第一阶段得到的服务分配向量初始化,从而得到一个可行的子任务顺序向量。一旦完成当前子任务,可立即执行后续的子任务。
在本申请中,根据松弛值排序选择新可用的子任务,然后更新子任务顺序向量,直到完成所有子任务。如果被选择的子任务具有相同的松弛值,则随机排序。
子任务的松弛值表示其紧急程度,其计算公式如公式(13)所示。
Lij=TTi-rti (13)
其中rti是基于给定的服务分配完成剩余子任务所需的总时间。
为了避免完成时间冲突,所有选择的子任务都按照它们的松散值按升序排序。松弛值最小的子任务是第一个被调度的,具有相同松弛值的子任务是随机排序的。
本申请将上述为当前种群的每个个体初始化一个子任务顺序向量的方法,也称为实时顺序调度(RTSS),后续的实验数据阐述中将直接采用该表述。
步骤S6、对子任务顺序向量执行交叉变异操作,并保留个体。
本步骤是对子任务顺序向量执行交叉变异操作,关于交叉变异操作,已经在前面进行了详细的说明,这里不再赘述。
同样,在本步骤中,保留个体的操作采用基于帕累托的自适应种群大小方法(PAPS),这里不再赘述。
步骤S7、判断是否满足第二终止条件,如果是则进入下一步,否则返回步骤S6继续进行迭代。
同样,本申请第二终止条件可以是预设的迭代次数,或者其他终止条件。例如,本申请第二终止条件为:如果种群连续η*itermax代的成功率都低于ζ或迭代次数达到(θ1+θ2)*itermax,则进入下一步骤。参数ζ、η、θ1和θ2都是属于0到1的定值。
其中,ζ为种群最低成功率、η为连续迭代率、θ1为第一阶段终止迭代率,θ2为第二阶段终止迭代率。itermax为最大迭代次数。
步骤S8、针对服务分配向量和子任务顺序向量都执行交叉变异操作,并保留个体。
本申请在结束第二阶段的迭代计算后,进入第三阶段的迭代计算,本步骤中,同时针对服务分配向量和子任务顺序向量都执行交叉变异操作,关于交叉变异操作,已经在前面进行了详细的说明,这里不再赘述。
同样,在本步骤中,保留个体的操作采用基于帕累托的自适应种群大小方法(PAPS),这里不再赘述。
步骤S9、判断是否满足第三终止条件,如果是则输出帕累托解集,作为调度方案,否则返回步骤S8继续进行迭代。
本申请第一阶段初始种群的服务分配向量是随机生成的。在进入第二阶段之前,基于第一阶段得到的最终种群,初始化子任务顺序向量,以最小化等待时间。在第一阶段和第三阶段,根据子代的表现调整种群大小,以维持种群多样性,提高收敛速度。在第二阶段,如果母个体和子个体都满足时间约束,或者母个体和子个体都不满足时间约束时,保留较优的个体;否则,保留满足时间约束的个体。
在本步骤中,在满足第三终止条件后,则结束迭代过程,输出最终的帕累托解集,得到最优的调度方案,后续按照输出的调度方案安排生产,达到节能减排和工作负载均衡。第三终止条件可以是预设的迭代次数,或者其他终止条件,这里不再赘述。
通过本申请的上述制造系统中柔性多任务调度方法,来解决考虑能耗和中间缓冲区的多任务调度问题。以下通过实验数据对本申请的技术方案进行进一步的阐述。
实验通过对比本申请技术方案(简称为3S-GA)与GA算法、基于帕累托的分组离散和声搜索算法(PGDHS)、多目标粒子群优化算法(MOPSO)和混合人工蜂群算法(TABC),以验证本申请技术方案的有效性。为了验证实验结果的可靠性,随机模拟了5个不同规模的实例,每个实例的求解算法分别独立运行20次。图6展示了在5个实例下,由本申请技术方案和其他四种基准算法得到的帕累托解。五个实例(I×K)分别为:#01(5×3)、#02(10×5)、#03(8×8)、#04(15×8)、#05(20×10),其中每个任务的子任务数在范围3至10内随机生成。此外,QoS值的范围受到如下限制:加工时间(1–10)、加工能耗(1–10)、单位时间能耗(1–2)、质量(0.8–1)。每个服务的缓冲区数量在范围1至5内随机生成。考虑到#02和#03的规模相近,图6中只显示了#02的结果。如图6所示,本申请技术方案运行得到的帕累托解几乎支配或互不支配其他四种基准算法得到的帕累托解。
下表展示了相同算法基于相同实例重复运行20次得到的所有帕累托解。对于每个实例,如果一种算法得到的帕累托解未被其他四种算法得到的帕累托解支配,则用粗体表示。
表2
如表2所示,本申请技术方案能更有效求解问题。例如,在实例#03中,其他四种基准算法得到的帕累托解都支配于本申请技术方案得到的帕累托解。对于实例#05,本申请技术方案能获得更多的帕累托解。总体来说,其他四种基准算法得到的帕累托解几乎总是支配于本申请技术方案得到的帕累托解。此外,五种算法基于不同实例独立运行20次的平均运行时间如图7所示。虽然MOPSO算法、PGDHS算法和TABC算法的运行时间比本申请技术方案短,但其帕累托解的表现却比本申请技术方案差很多。本申请提出的技术方案融合多阶段方法、PAPS方法和RTSS算法能得到更优的帕累托解,因此,牺牲一点运行时间是值得的。对于GA算法,不论是运行时间还是帕累托解的表现都比本申请技术方案差。所以,本申请技术方案的结果是最令人满意的。
为了进一步验证本申请3S-GA算法在解决双目标优化问题上的性能,利用每个帕累托解与下界的距离DLB来度量帕累托解的质量。
其中非支配帕累托解集Ω包含重复运行20次得到的所有帕累托解。WBδ是第δ个帕累托解的工作负载均衡和TECδ是第δ个帕累托解的总能源。TECmin和WBmin分别是基于五种算法的总能耗和工作负载均衡的最小值。DLB的结果如表3所示。
表3
从表3可以看出,本申请3S-GA算法在不同规模下的性能均优于其他四种基准算法,尤其是在工作负载均衡方面。对3S-GA算法与其他四种基准算法的DLB值进行T检验,结果表明3S-GA算法得到的实验结果与其他四种基准算法的结果存在差异。T检验的结果以p值表示,其结果如表4所示。如果p值低于0.05,则认为差异显著。如表4所示,5个实例的p值大多小于0.05。说明3S-GA算法与GA算法、MOPSO算法、PGDHS算法和TABC算法之间存在明显差异。由此再次证实了3S-GA算法的有效性。
表4
本申请提出了一种考虑两种中间缓冲区(有限缓冲区和无限缓冲区)的双目标优化模型,该模型利用基于帕累托的适应度评估方法来平衡总能耗和工作负载均衡。还提出了求解该模型的方法,其主要贡献包括:(1)采用多阶段方法分解和重组双目标优化问题,(2)设计了一种PAPS方法以维持群体多样性和提高收敛速度,和(3)提出了一种RTSS算法来初始化的子任务顺序以减少闲置能耗。实验结果证明,在解决考虑能耗和中间缓冲区的多任务调度问题时,3S-GA算法比其他四种基准算法表现更好。
本申请的优化目标集中于制造企业和制造系统视角的能耗和工作量均衡。还可以考虑更多与制造相关的因素,如生产成本、人工成本、环境因素、运输等,使柔性多任务调度问题更加全面更加丰富。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (7)
1.一种制造系统中柔性多任务调度方法,其特征在于,所述制造系统中柔性多任务调度方法,包括:
以任务的时间限制和质量限制为约束条件,以最小化总能耗及工作负载均衡为目标,建立双目标优化模型,所述双目标优化模型对应的调度方案包括服务分配向量和子任务顺序向量,建立的双目标优化模型表示如下:
Minimize:(TEC,WB)
其中,TEC为总能耗,WB为工作负载均衡,Ti为第i个制造任务,i=1,2,…,I,Tij为第i个任务的第j个子任务,j=1,2,…,Ji,CTij为Tij的结束时间,为MSk完成Tij的质量,MSk为第k个制造服务,k=1,2,…,K,为二元变量,如果由MSk完成Tij,否则,TTi为Ti的时间限制,TQi为Ti的质量限制;
接收制造任务和制造服务数据,初始化种群的服务分配向量,评估种群中的每个个体,划分为帕累托解集和帕累托支配解集;
执行交叉变异操作,并保留个体,更新帕累托解集和帕累托支配解集;
判断是否满足第一终止条件,如果是则进入下一步,否则返回上一步骤继续进行迭代;
为当前种群的每个个体初始化一个子任务顺序向量;
对子任务顺序向量执行交叉变异操作,并保留个体;
判断是否满足第二终止条件,如果是则进入下一步,否则返回上一步骤继续进行迭代;
针对服务分配向量和子任务顺序向量都执行交叉变异操作,并保留个体;
判断是否满足第三终止条件,如果是则输出帕累托解集,作为调度方案,否则返回上一步骤继续进行迭代。
2.根据权利要求1所述的制造系统中柔性多任务调度方法,其特征在于,所述总能耗包括加工能耗和闲置能耗。
4.根据权利要求1所述的制造系统中柔性多任务调度方法,其特征在于,所述以任务的时间限制和质量限制为约束条件,包括:
每个制造任务的最后一个子任务的完成时间要早于该制造任务的时间限制;
每个制造任务的所有子任务的质量要大于该制造任务的质量限制。
5.根据权利要求1所述的制造系统中柔性多任务调度方法,其特征在于,所述以任务的时间限制和质量限制为约束条件,还包括中间缓冲区的受阻时间和存储时间约束。
6.根据权利要求1所述的制造系统中柔性多任务调度方法,其特征在于,所述为当前种群的每个个体初始化一个子任务顺序向量,包括:
根据松弛值排序选择新可用的子任务,然后更新子任务顺序向量,直到完成所有子任务。如果被选择的子任务具有相同的松弛值,则随机排序。
7.根据权利要求1所述的制造系统中柔性多任务调度方法,其特征在于,所述保留个体,包括:
计算种群成功率SR=SS/SN,并随机生成一个0-1的小数rand;
比较SR和rand的大小,如果SR>rand,则选择收缩种群,反之,则选择扩张种群;
收缩种群方式:计算个体成功率sri=sci/iteri,如果当前种群大小大于最小种群大小且母个体属于帕累托支配解集且sri<rand,则母个体和子个体都不保留;反之则将子个体保留至下一代;
扩张种群方式:如果当前种群大小小于最大种群大小,则同时保留母个体和子个体;
其中,SR为种群成功率,SN为当前种群大小,SS为当前种群中成功搜索到更优个体的次数,sri为个体成功率,sci为个体Xi的成功搜索次数,iteri为Xi的迭代次数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010476027.3A CN111679637B (zh) | 2020-05-29 | 2020-05-29 | 一种制造系统中柔性多任务调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010476027.3A CN111679637B (zh) | 2020-05-29 | 2020-05-29 | 一种制造系统中柔性多任务调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111679637A true CN111679637A (zh) | 2020-09-18 |
CN111679637B CN111679637B (zh) | 2021-10-08 |
Family
ID=72452932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010476027.3A Active CN111679637B (zh) | 2020-05-29 | 2020-05-29 | 一种制造系统中柔性多任务调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111679637B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109445282A (zh) * | 2018-11-07 | 2019-03-08 | 北京航空航天大学 | 一种面向基础元器件加工工艺的优化调度方法 |
CN110414826A (zh) * | 2019-07-23 | 2019-11-05 | 浙江财经大学 | 一种云制造环境下柔性多任务前摄性调度优化方法 |
CN110751293A (zh) * | 2019-09-29 | 2020-02-04 | 浙江财经大学 | 一种基于博弈论的云制造多任务调度优化方法 |
CN111047170A (zh) * | 2019-12-04 | 2020-04-21 | 北京航空航天大学 | 一种基于长短期效用的制造服务协作调度方法 |
CN111078380A (zh) * | 2019-12-09 | 2020-04-28 | 山东师范大学 | 一种多目标任务调度方法及系统 |
CN111932021A (zh) * | 2020-08-17 | 2020-11-13 | 浙江财经大学 | 一种再制造系统调度方法 |
CN113220437A (zh) * | 2021-06-01 | 2021-08-06 | 西北工业大学 | 一种工作流多目标调度方法及装置 |
-
2020
- 2020-05-29 CN CN202010476027.3A patent/CN111679637B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109445282A (zh) * | 2018-11-07 | 2019-03-08 | 北京航空航天大学 | 一种面向基础元器件加工工艺的优化调度方法 |
CN110414826A (zh) * | 2019-07-23 | 2019-11-05 | 浙江财经大学 | 一种云制造环境下柔性多任务前摄性调度优化方法 |
CN110751293A (zh) * | 2019-09-29 | 2020-02-04 | 浙江财经大学 | 一种基于博弈论的云制造多任务调度优化方法 |
CN111047170A (zh) * | 2019-12-04 | 2020-04-21 | 北京航空航天大学 | 一种基于长短期效用的制造服务协作调度方法 |
CN111078380A (zh) * | 2019-12-09 | 2020-04-28 | 山东师范大学 | 一种多目标任务调度方法及系统 |
CN111932021A (zh) * | 2020-08-17 | 2020-11-13 | 浙江财经大学 | 一种再制造系统调度方法 |
CN113220437A (zh) * | 2021-06-01 | 2021-08-06 | 西北工业大学 | 一种工作流多目标调度方法及装置 |
Non-Patent Citations (2)
Title |
---|
WENYU ZHANG: "Multi-perspective collaborative scheduling using extended genetic algorithm with interval-valued intuitionistic fuzzy entropy weight method", 《JOURNAL OF MANUFACTURING SYSTEMS》 * |
丁捷频: "云制造环境下面向不确定性感知的多任务调度优化研究", 《中国优秀硕士学位论文全文数据库 社会科学Ⅱ辑》 * |
Also Published As
Publication number | Publication date |
---|---|
CN111679637B (zh) | 2021-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108880663A (zh) | 基于改进遗传算法的天地一体化网络资源分配方法 | |
CN101237469B (zh) | 运用蚁群算法优化多QoS网格工作流的方法 | |
CN107656799B (zh) | 一种多云环境下考虑通信和计算代价的工作流调度方法 | |
CN111782355B (zh) | 一种基于混合负载的云计算任务调度方法及系统 | |
CN109491761A (zh) | 基于eda-ga混合算法的云计算多目标任务调度方法 | |
CN112000388B (zh) | 基于多边缘集群协同的并发任务调度方法及装置 | |
CN112685138B (zh) | 云环境下基于多种群混合智能优化的多工作流调度方法 | |
CN105260818A (zh) | 混合云环境下带截止日期约束工作流组的在线优化调度方法 | |
CN113821318B (zh) | 一种物联网跨域子任务组合协同计算方法及系统 | |
CN111813500B (zh) | 一种多目标云工作流调度方法及装置 | |
CN111782627B (zh) | 面向广域高性能计算环境的任务与数据协同调度方法 | |
He | Optimization of edge delay sensitive task scheduling based on genetic algorithm | |
CN117610899B (zh) | 一种基于优先度的多机器人的任务分配方法 | |
Manavi et al. | Resource allocation in cloud computing using genetic algorithm and neural network | |
CN114707707A (zh) | 一种基于改进的遗传算法对agv任务调度的方法及系统 | |
CN114172963A (zh) | 基于资源利用率的多粒度的任务与服务匹配方法和系统 | |
CN118152084A (zh) | 云计算环境中spark集群多作业调度方法 | |
CN111679637B (zh) | 一种制造系统中柔性多任务调度方法 | |
CN108958919A (zh) | 一种云计算中有期限约束的多dag任务调度费用公平性评估模型 | |
CN117632488A (zh) | 基于云边端协同的多用户细粒度任务卸载调度方法及装置 | |
CN112099932A (zh) | 边缘计算中软-硬截止期任务卸载的最佳定价方法及系统 | |
CN114980216A (zh) | 基于移动边缘计算的依赖型任务卸载系统及方法 | |
CN113010319A (zh) | 混合启发式规则和遗传算法的动态工作流调度优化方法 | |
Tang et al. | Dynamic scheduling management method for multi-energy system digital twin simulation computing tasks | |
CN114035954A (zh) | 一种基于ddqn算法的调度系统和任务调度系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |