CN116382206A - 一种带准备时间的分布式流水车间成组的调度方法 - Google Patents
一种带准备时间的分布式流水车间成组的调度方法 Download PDFInfo
- Publication number
- CN116382206A CN116382206A CN202310366566.5A CN202310366566A CN116382206A CN 116382206 A CN116382206 A CN 116382206A CN 202310366566 A CN202310366566 A CN 202310366566A CN 116382206 A CN116382206 A CN 116382206A
- Authority
- CN
- China
- Prior art keywords
- group
- time
- sequence
- scheduling
- workpiece
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000002360 preparation method Methods 0.000 title claims abstract description 47
- 238000012545 processing Methods 0.000 claims description 35
- 238000004422 calculation algorithm Methods 0.000 claims description 21
- 230000001066 destructive effect Effects 0.000 claims description 19
- 238000005457 optimization Methods 0.000 claims description 17
- 230000003416 augmentation Effects 0.000 claims description 12
- 238000002922 simulated annealing Methods 0.000 claims description 10
- 239000002243 precursor Substances 0.000 claims description 9
- 238000010276 construction Methods 0.000 claims description 7
- 238000003780 insertion Methods 0.000 claims description 7
- 230000037431 insertion Effects 0.000 claims description 7
- 238000012360 testing method Methods 0.000 claims description 5
- 238000004519 manufacturing process Methods 0.000 abstract description 31
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 238000005728 strengthening Methods 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000002787 reinforcement Effects 0.000 description 3
- 230000006378 damage Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003094 perturbing effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 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/41865—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 job scheduling, process planning, material flow
-
- 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/32252—Scheduling production, machining, job shop
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Manufacturing & Machinery (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
本发明涉及一种带准备时间的分布式流水车间成组的调度方法,所述调度方法包括如下步骤:步骤1:以最小化最大完工时间为目标,构建问题模型;步骤2:参数设置;步骤3:初始化策略;步骤4:执行第一阶段搜索策略;步骤5:第一更新调度序列,判断是否满足第一阶段终止条件,若满足则执行下一步,反之,则继续执行步骤4;步骤6:执行第二阶段搜索策略;步骤7:第二更新调度序列,判断是否满足第二阶段终止条件,若满足则进化结束,输出当前最佳调度序列,反之,则继续执行步骤6。本发明解决了带准备时间的分布式流水车间成组调度问题,减少了完工时间,降低了生产成本,提高了车间调度效率。
Description
技术领域
本发明涉及车间调度技术领域,特别是涉及一种带准备时间的分布式流水车间成组的调度方法。
背景技术
随着经济的发展,制造业已成为国民经济的重要支柱。单元制造和成组技术的发展和应用对高效的批量制造系统有很大的影响。在单元制造系统中,资源被划分为更小的组织单元,称为制造单元。一个制造单元通常由一系列专门的机器组成,组是由在工具、设置和操作顺序等方面具有相似要求的工件组成的。制造单元可以简化调度过程,缩短生产时间,提高生产系统的可靠性,这对高度自动化的系统尤其有利。它正在成为现代企业中最重要的制造模式之一,如华为有限公司、富士康科技集团、汽车组装行业。
以印刷电路板PCB为例,PCB是电子产品中的重要组成部分。在PCB制造过程中,需要对不同的类型的PCB零件进行调度。首先,按照类型对PCB零件进行分组,例如将PCB分成第一PCB组和第二PCB组,且加工这两个不同的PCB组需要在机器上装载的芯片数量也是不同的。具体来讲,在加工第一PCB组时机器上装载的芯片数量是不变的,当第一PCB组加工完需要切换第二PCB组进行加工时,就要先对机器进行清理和维护来满足处理第二PCB组所需要的条件,因此,切换的时间取决于PCB组的顺序,不同的PCB组之间所需要的切换时间也是不同的。在这种情况下,调度问题为一个带有序列相关准备时间的组调度问题。所以在多个制造单元协同调度的环境下,可抽象为带有序列相关准备时间的分布式流水车间成组调度问题。因此,不同的调度序列会对完工时间产生非常重要的影响。如果调度序列不合理,可能会导致生产线出现空闲,从而增加生产时间,降低生产效率。可能会导致资源利用不充分或浪费,从而增加生产成本。还可能会导致某些工序的加工精度下降,从而影响产品质量。所以是一个具有重要的现实意义,亟待解决的问题。
发明内容
为了更好地解决带准备时间的分布式流水车间成组调度问题,提出了一种有效的调度方法,即一种带准备时间的分布式流水车间成组的调度方法,将进化算子集成为两阶段策略,以最大完工时间为优化目标。与传统的流水车间调度方法相比,本发明所提供的调度方法具有实施方便,参数易于调节,计算速度快等优点,能够对生产调度进行多次迭代优化,从而得到更加精准的调度方案,避免调度过程中的误差;能够有效的根据生产需求对车间任务进行调度优化,帮助企业提高生产效率;同时,能够平衡多个工厂之间的负荷,避免生产过程中的瓶颈和阻塞,提高了生产线的稳定性和可靠性,优化后的调度方案可以降低物料和设备的闲置时间,减少资源浪费,从而降低生产成本。
本发明提供了一种带准备时间的分布式流水车间成组的调度方法,包括如下步骤:
步骤1:以最小化最大完工时间为目标,构建带准备时间的分布式流水车间成组调度问题模型,所述带准备时间的分布式流水车间成组调度问题模型的目标函数为:
MinimizCmax;其中,Cmax为最大完工时间;
步骤2:参数设置,根据所述目标函数的特点,设置如下参数:
区分任意两个阶段的阈值为tv、第一阶段选择不同搜索算子的概率值pv、调整算法优化时间的系数ω;其中,0<tv<1,0<pv<1,ω>0;
第一阶段的终止时间:t1=tv×(ω×m×δ);
第二阶段的终止时间:t2=(1-tv)×(ω×m×δ);
其中,m为机器数量,m>0;δ为组数量,δ>0;
其中,第一阶段选择第一个搜索算子的概率为pv、选择第二个搜索算子的概率为1-pv;
步骤3:初始化策略,基于工件序列的表示方法对组序列进行编号,所述组序列表示为Δ={Δ1,Δ2,…,Δl,…,Δδ},并且采用构造启发式方法进行初始化调度序列,将组合理的安排到工厂序列π={π1,π2,…,πk,…,πf}中;
步骤4:第一阶段策略,根据概率值pv选择第一个搜索策略,以及根据概率值1-pv选择第二个搜索策略;其中,所述第一个搜索策略包括第一阶段破坏重构、模拟退火接收准则;所述第二个搜索策略包括基于插入的邻域搜索、基于插入的第一局部强化;
步骤5:第一更新调度序列,通过运行时间判断是否达到第一阶段的终止时间t1;其中,当运行时间达到第一阶段的终止时间t1时,则执行下一步;反之,则继续执行步骤4;
步骤6:第二阶段策略,执行基于交换的邻域搜索、第二阶段破坏重构、基于插入的第二局部强化;
步骤7:第二更新调度序列,通过运行时间判断是否达到第二阶段的终止时间t2;其中,当运行时间达到第二阶段的终止时间t2时,则优化结束,并输出优化后的调度序列方案及其对应的最大完工时间;反之,则继续执行步骤6。
进一步的,所述带准备时间的分布式流水车间成组调度问题模型的约束条件包括:
确保每个组在组序列中有且仅有一个直接后继,即
其中,δ为组序列中的组数量,若组l'是组l的直接继承者,则xl,l'为1,否则为0;
确保每个组在组序列中有且仅有一个直接前驱,即
其中,δ为组序列中的组数量,若组l'是组l的直接继承者,则xl,l'为1,否则为0;
确保虚拟组为小于或等于f次的直接前驱,即
其中,f为工厂数,δ为组序列中的组数量,若组l'是组0的直接继承者,则x0,l'为1,否则为0;
确保虚拟组为小于或等于f次的直接后继,即
其中,f为工厂数,δ为组序列中的组数量,若组0是组l的直接继承者,则xl,0为1,否则为0;
确保虚拟组在组序列中具有相同数量的直接后继和直接前继,即
确保组中的每个工件,包括两个虚拟工件,有且仅有一个直接的前驱和后继,此外,确保同一个组中的工件不会被分离,并且不会与其他组中的工件混合,即
其中,nl为组l中工件的数量,若组中工件j'是工件j的直接继承者,则yj,j',l为1,否则为0;
确保对于工件j和来自同一组工件j',若工件j'为工件j在机器i上的直接继承者,则该工件j'在机器i上的完成时间不小于工件j的完成时间加上工件j'在机器i上的加工时间,即
其中,cj',l,i为组l中工件j'在机器i上的完成时间,cj,l,i为组l中工件j在机器i上的完成时间,pj',l,i为组l中工件j'在机器i上的加工时间,h为足够大的正数,m为机器数量;
确保对于组l'和组l,若组l'是组l在机器i上的直接继承者,则组I'的工件j'在机器上i的完成时间不小于组l工件j的完成时间加上工件j'在机器上i上的加工时间和组l和组l'之间的准备时间sl,l',i,即
其中,cj',I',i为组l'中工件j'在机器i上的完成时间,cj,l,i为组l中工件j在机器i上的完成时间,sl,l',i为组l和组l'之间的准备时间,pj',l',i为组l'中工件j'在机器上i上的加工时间;
确保对于在该机器上加工的第一组工件,加上初始准备时间,即
其中,cj,l,i为组l中工件j在机器i上的完成时间,s0,l,i为组l和组l'之间的准备时间,pj,l,i为组l中工件j在机器i上的加工时间;
确保工件j在机器i+1上的完成时间大于或等于工件j在机器i+1上的加工时间加上工件j在前一台机器i上的完成时间,即
其中,cj,l,i+1为组l中工件j在机器i+1上的完成时间,cj,l,i为组l中工件j在机器i上的完成时间,pj,l,i+1为组l中工件j在机器i+1上的加工时间;
定义最大完工时间,即
其中,cj,I,m为组l中工件j在机器m上的完成时间。
进一步的,所述构造启发式方法包括如下步骤:
计算每个组的总加工时间,将δ个组根据总加工时间进行降序排序,将前f个组依次取出,依次分配到f个工厂中,其中,δ>f;
将剩余的δ-f个组依次取出,插入到最佳位置中,直至所有组都被提取并插入;
对各个工厂中的组序列进行优化和调整,以得到完工时间最小的调度序列。
进一步的,在所述始化策略完成后,pv的概率采用所述第一个搜索策略来对调度序列进行优化,其中所述第一个搜索策略中的所述第一阶段破坏重构的操作步骤包括:
从所述工厂序列π中提取D组工件,D的取值范围为2-7,并且将所有工厂根据完工时间进行降序排列;
依次从每个工厂取出一个组,直到取出的组数量等于D;
将取出的D个组重新插入到所有工厂的最好位置,使得完工时间最小。
进一步的,在所述第一阶段破坏重构操作完成后,进行所述模拟退火接受准则,所述模拟退火接收准则包括:
当通过所述第一阶段破坏重构操作后产生的调度序列的目标函数值不如优化之前的调度序列的目标函数值时,则采用一定的概率接受这个较差的调度序列作为将要继续优化的调度序列。
进一步的,在所述始化策略完成后,1-pv的概率采用所述第二个搜索策略来对调度序列进行优化,其中所述第二个搜索策略中的所述基于插入的邻域搜索的操作步骤包括:
从所述工厂序列π中找到关键工厂,所述关键工厂为完工时间最大的工厂;
从所述关键工厂中随机取出一个组,测试该组在所有工厂的所有位置,并将该组重新插入到完工时间最小的最好位置。
进一步的,在所述基于插入的邻域搜索完成后,执行所述基于插入的第一局部强化操作,所述基于插入的第一局部强化的操作步骤包括:
从所述工厂序列π中找到关键工厂,所述关键工厂为完工时间最大的工厂;
依次从所述关键工厂的组中将工件逐个取出,测试所述工件在所述关键工厂的组的所有位置,并将所述工件插入到完工时间最小的最好位置,以获得每个组的最好工件序列。
进一步的,在第一阶段策略完成后,进行第二阶段策略,执行所述基于交换的邻域搜索操作,所述基于交换的邻域搜索的操作步骤包括:
从所述工厂序列π中找到关键工厂,所述关键工厂为完工时间最大的工厂;
从所述关键工厂中随机提取一个组,以及找到完工时间最小的工厂,并从所述最小的工厂中随机提取一个组;
将所述关键工厂中随机提取一个组与从所述最小的工厂中随机提取一个组进行交换,并在交换后的工厂中找到最好位置插入使得完工时间最小。
进一步的,在基于交换的邻域搜索操作完成后,执行第二阶段破坏重构操作,所述第二阶段破坏重构的操作步骤包括:
从所述工厂序列π中提取d组工件,d的取值范围为2-7,所述关键工厂为所有工厂中完工时间最大的工厂;
依次从所述关键工厂中随机取出一个组,直到取出的组数量等于d;
将取出的d个组重新插入到所述关键工厂的最好位置使得完工时间最小。
进一步的,在所述第二阶段破坏重构操作完成后,执行所述基于插入的第二局部强化操作,所述基于插入的第二局部强化的操作步骤包括:
从所述工厂序列π中找到关键工厂,所述关键工厂为完工时间最大的工厂;
依次从所述关键工厂的组中将工件逐个取出,测试所述工件在所述关键工厂的组的所有位置,并将所述工件插入到完工时间最小的最好位置,以获得每个组的最好工件序列。
本发明提供一种带准备时间的分布式流水车间成组的调度方法,具有如下的技术效果:
方法层面:
(1)该方法在迭代贪婪算法的基础上,进一步探索了单个解的邻域空间,极大地提高了解的质量;
(2)两种邻域搜索策略通过工厂之间的交互,增加了解的多样性,有利于在搜索区域内找到更好的解,增强了全局搜索能力;
(3)采用局部强化策略,优化了组内工件序列,进一步增强解的适应性,增强了局部搜索能力;
(4)根据问题特征的两阶段,在第一阶段通过扰动所有工厂间的组序列,提高解的多样性。第二阶段针对关键工厂进行工厂内扰动,进一步改进关键工厂的调度序列来降低最大完工时间;
应用层面:
(1)与传统的流水车间调度方法相比,本发明所提供的方法具有实施方便,参数易于调节,计算速度快等优点;
(2)能够对生产调度进行多次迭代优化,从而得到更加精准的调度方案,避免调度过程中的误差;
(3)能够有效的根据生产需求对车间任务进行调度优化,帮助企业提高生产效率;
(4)能够平衡多个工厂之间的负荷,避免生产过程中的瓶颈和阻塞,提高了生产线的稳定性和可靠性,优化后的调度方案可以降低物料和设备的闲置时间,减少资源浪费,从而降低生产成本。
因此,本发明所提供一种带准备时间的分布式流水车间成组的调度方法,可以很好的解决调度问题,能够为分布式流水车间成组调度提供良好的解决方案,能够提高车间调度的效率,缩小完工时间。
附图说明
图1本发明实现过程的示意图;
图2本发明的置信区间对比图;
图3本发明的进化曲线对比图。
具体实施方式
现在将在下文中参考示出了本发明的实施例的附图来更全面地描述本发明的实施例。然而,本发明可以以许多不同的形式来实施,并且不应被解释为限于在此阐述的实施例。而是,提供这些实施例以使得本公开将是彻底和完整的,并且将本发明的范围充分传达给本领域技术人员。贯穿全文,相同的数字表示相同的元素。
除非另有定义,否则本文使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域的普通技术人员通常所理解的相同含义。将进一步理解的是,除非在此明确地定义,否则本文中使用的术语应被解释为具有与本说明书和相关领域的上下文中的含义一致的含义,并且将不以理想化或过度正式的意义来解释。
下面参考根据本发明实施例的方法,系统和计算机程序产品的流程图和/或框图描述本发明。将理解的是,可以通过计算机程序指令来实现流程图图示和/或框图的一些框以及流程图图示和/或框图中的一些框的组合。这些计算机程序指令可以存储或实现在微控制器,微处理器,数字信号处理器(DSP),现场可编程门阵列(FPGA),状态机,可编程逻辑控制器(PLC)或其他处理电路,通用计算机,专用计算机中。用途计算机或其他可编程数据处理设备(例如生产机器),以便通过计算机或其他可编程数据处理设备的处理器执行的指令创建用于实现流程图和/或中指定的功能/动作的装置或方框图块。
这些计算机程序指令还可以存储在计算机可读存储器中,该计算机可读存储器可以指导计算机或其他可编程数据处理设备以特定方式工作,从而使得存储在计算机可读存储器中的指令产生包括指令装置的制品。实现流程图和/或框图中指定的功能/动作。
也可以将计算机程序指令加载到计算机或其他可编程数据处理设备上,以使一系列操作步骤在计算机或其他可编程设备上执行以产生计算机实现的过程,从而使得在计算机或其他可编程设备上执行的指令成为可能。其他可编程装置提供用于实现流程图和/或框图方框中指定的功能/动作的步骤。应当理解,方框中指出的功能/动作可以不按照操作图中指出的顺序发生。例如,取决于所涉及的功能/动作,实际上可以基本上同时执行连续示出的两个框,或者有时可以以相反的顺序执行这些框。尽管一些图在通信路径上包括箭头以示出通信的主要方向,但是应当理解,通信可以在与所描绘的箭头相反的方向上发生。
本发明具体实施过程如下:
提供一种带准备时间的分布式流水车间成组的调度方法,包括如下步骤:
步骤1:以最小化最大完工时间为目标,构建带准备时间的分布式流水车间成组调度问题模型,所述带准备时间的分布式流水车间成组调度问题模型的目标函数为:
MinimizCmax;其中,Cmax为最大完工时间;
步骤2:参数设置,根据所述目标函数的特点,设置如下参数:
区分任意两个阶段的阈值为tv、第一阶段选择不同搜索算子的概率值pv、调整算法优化时间的系数ω;其中,0<tv<1,0<pv<1,ω>0;
第一阶段的终止时间:t1=tv×(ω×m×δ);
第二阶段的终止时间:t2=(1-tv)×(ω×m×δ);
其中,m为机器数量,m>0;δ为组数量,δ>0;
其中,第一阶段选择第一个搜索算子的概率为pv、选择第二个搜索算子的概率为1-pv;
步骤3:初始化策略,基于工件序列的表示方法对组序列进行编号,所述组序列表示为Δ={Δ1,Δ2,…,Δl,…,Δδ},并且采用构造启发式方法进行初始化调度序列,将组合理的安排到工厂序列π={π1,π2,…,πk,…,πf}中;
步骤4:第一阶段策略,根据概率值pv选择第一个搜索策略,以及根据概率值1-pv选择第二个搜索策略;其中,所述第一个搜索策略包括第一阶段破坏重构、模拟退火接收准则;所述第二个搜索策略包括基于插入的邻域搜索、基于插入的第一局部强化;
步骤5:第一更新调度序列,通过运行时间判断是否达到第一阶段的终止时间t1;其中,当运行时间达到第一阶段的终止时间t1时,则执行下一步;反之,则继续执行步骤4;
步骤6:第二阶段策略,执行基于交换的邻域搜索、第二阶段破坏重构、基于插入的第二局部强化;
步骤7:第二更新调度序列,通过运行时间判断是否达到第二阶段的终止时间t2;其中,当运行时间达到第二阶段的终止时间t2时,则优化结束,并输出优化后的调度序列方案及其对应的最大完工时间;反之,则继续执行步骤6。
具体的,如图1所示,本发明所提供的一种带准备时间的分布式流水车间成组调度优化方法,主要包括以下实现过程:
在步骤1中,以最小化最大完工时间为目标,构建带准备时间的分布式流水车间成组调度问题模型;
带准备时间的分布式流水车间成组调度问题模型的目标函数为:
MinimizeCmaχ
其中Cmax为最大完工时间;
带准备时间的分布式流水车间成组调度问题模型的约束条件包括:
确保每个组在组序列中有且仅有一个直接后继,即
其中,δ为组序列中的组数量,若组l'是组l的直接继承者,则χl,l'为1,否则为0;
确保每个组在组序列中有且仅有一个直接前驱,即
其中,δ为组序列中的组数量,若组l'是组l的直接继承者,则χl,l'为1,否则为0;
确保虚拟组为小于或等于f次的直接前驱,即
其中,f为工厂数,δ为组序列中的组数量,若组l'是组0的直接继承者,则x0,l'为1,否则为0;
确保虚拟组为小于或等于f次的直接后继,即
其中,f为工厂数,δ为组序列中的组数量,若组0是组l的直接继承者,则χl,0为1,否则为0;
确保虚拟组在组序列中具有相同数量的直接后继和直接前继,即
确保组中的每个工件,包括两个虚拟工件,有且仅有一个直接的前驱和后继,此外,确保同一个组中的工件不会被分离,并且不会与其他组中的工件混合,即
其中,nl为组l中工件的数量,如果组中工件j'是工件j的直接继承者,则yj,j',l为1,否则为0;
确保对于工件j和来自同一组工件j',如果工件j'为工件j在机器i上的直接继承者,则该工件j'在机器i上的完成时间不小于工件j的完成时间加上工件j'在机器i上的加工时间,即
其中,cj',l,i为组l中工件j'在机器i上的完成时间,cj,l,i为组l中工件j在机器i上的完成时间,pj',l,i为组l中工件j'在机器i上的加工时间,h为足够大的正数,m为机器数量;
确保对于组l'和组l,若组l'是组l在机器i上的直接继承者,则组l'的工件j'在机器上i的完成时间不小于组l工件j的完成时间加上工件j'在机器上i上的加工时间和组l和组l'之间的准备时间sl,l',i,即
其中,cj',l',i为组l'中工件j'在机器i上的完成时间,cj,l,i为组l中工件j在机器i上的完成时间,sl,l',i为组l和组l'之间的准备时间,pj',l',i为组l'中工件j'在机器上i上的加工时间;
确保对于在该机器上加工的第一组工件,加上初始准备时间,即
其中,cj,l,i为组l中工件j在机器i上的完成时间,s0,,l,i为组l和组l'之间的准备时间,pj,l,i为组l中工件j在机器i上的加工时间;
确保工件j在机器i+1上的完成时间大于或等于工件j在机器i+1上的加工时间加上工件j在前一台机器i上的完成时间,即
其中,cj,l,i+1为组l中工件j在机器i+1上的完成时间,cj,l,i为组l中工件j在机器i上的完成时间,pj,l,i+1为组l中工件j在机器i+1上的加工时间;
定义最大完工时间,即
其中,cj,l,m为组l中工件j在机器m上的完成时间。
在步骤2中进行参数设置:区分两个阶段的阈值tv、第一阶段选择不同搜索算子的概率值pv;第一阶段的终止时间t1=tv×(ω×m×δ),其中m为机器数量,δ为组数量,ω为调整算法优化时间的系数;第二阶段的终止时间t2=(1-tv)×(ω×m×δ),其中m为机器数量,δ为组数量,ω为调整算法优化时间的系数;其中,第一阶段选择第一个搜索算子的概率为pv、选择第二个搜索算子的概率为1-pv;
在步骤3中进行初始化策略:通过基于工件序列的表示方法对组序列进行编码,组序列表示为Δ={Δ1,Δ2,…,Δl,…,Δδ}δ为组数量,并且采用构造启发式方法进行初始化调度序列,将组序列Δ={Δ1,Δ2,…,Δl,…,Δδ}安排到工厂序列π={π1,π2,…,πk,…,πf}中。
工厂序列π为一个二维向量形式,π={π1,π2,…,πk,…,πf},其中1,2,…,k…,f为工厂序号,f为工厂总数量,工厂序列π由f个一维向量构成。
组序列Δ为一个二维向量形式,Δ={Δ1,Δ2,…,Δl,…,Δδ},其中1,2,…,l…,δ为组序列Δ中的组序号,δ为组序列Δ的组总数量,组序列Δ由δ个一维向量构成。
其中,构造启发式方法具体如下:
首先,计算每个组的总加工时间,将δ个组根据总加工时间进行降序排序,即按照从大到小的顺序排序,将前f个组依次取出,依次分配到f个工厂中,组的数量≥工厂的数量,即δ>f,以上操作保证分配数量的均匀性,
其次,将剩余的δ-f个组依次取出,插入到最佳位置中,直至所有组都被提取并插入;
最后,对各个工厂中的组序列进行优化和调整,以得到完工时间最小的调度序列。
在步骤4中进行第一阶段策略,根据概率值pv选择第一个搜索策略,以及根据概率值1-pv选择第二个搜索策略。其中,第一个搜索策略包括第一阶段破坏重构、模拟退火接收准则;第二个搜索策略包括基于插入的邻域搜索、基于插入的第一局部强化。
pv的概率采用第一个搜索策略来对调度序列进行优化,其中第一个搜索策略中的第一阶段破坏重构具体步骤如下:
首先,从工厂序列π中提取D组工件,D的取值范围为2-7,并且将所有工厂根据完工时间进行降序排列;
其次,依次从每个工厂取出一个组,直到取出的组数量等于D;
最后,将取出的D个组重新插入到所有工厂的最好位置,使得完工时间最小。
在第一阶段的破坏重构操作完成后,进行模拟退火接受准则,模拟退火接收准则的具体步骤如下:
当通过第一阶段破坏重构操作后产生的调度序列的目标函数值不如优化之前的调度序列的目标函数值时,则采用一定的概率接受这个较差的调度序列作为将要继续优化的调度序列。换句话来说,如果新生成的当前解不如原始解,则该解仍有一定的概率被接受,而不是仅仅在当前解比原始解更好的情况下才替换它。
1-pv的概率采用第二个搜索策略来对调度序列进行优化,其中,第二个搜索策略中的基于插入的邻域搜索具体步骤如下:
首先,从工厂序列π中找到关键工厂,关键工厂为完工时间最大的工厂;
最后,从关键工厂中随机取出一个组,测试它在所有工厂的所有位置,并将这个组重新插入到完工时间最小的最好位置。
在基于插入的邻域搜索完成后,执行基于插入的第一局部强化操作,基于插入的局部第一强化具体步骤如下:
首先,从工厂序列π中找到关键工厂,关键工厂为完工时间最大的工厂;
其次,依次从关键工厂的组中将工件逐个取出,测试该工件在关键工厂的组的所有位置,并将该工件插入到完工时间最小的最好位置,以获得每个组的最好工件序列。具体的来讲,将关键工厂的第一组中的工件逐个取出,测试它在第一组的所有位置,并插入到完工时间最小的最好位置。对于关键工厂中的其余组,依次执行如关键工厂的第一组的操作,以获得每个组的最好工件序列。
本申请通过第一阶段策略的操作来提高全局搜索能力,增加解的多样性。
在步骤5中进行第一更新调度序列,通过运行时间判断是否达到第一阶段的终止时间t1;其中,当运行时间达到第一阶段的终止时间t1时,则执行下一步;反之,则继续执行步骤4。
在步骤6中进行第二阶段策略:顺序执行基于交换的邻域搜索、第二阶段破坏重构、基于插入的第二局部强化。
在第一阶段策略完成后,进行第二阶段策略,执行基于交换的邻域搜索操作,基于交换的邻域搜索具体步骤如下:
首先,从工厂序列π中找到关键工厂,关键工厂为完工时间最大的工厂;
其次,从关键工厂中随机提取一个组,以及找到完工时间最小的工厂,并从最小的工厂中提取一个组;
最后,将两个组进行交换,即将关键工厂中随机提取一个组与从最小的工厂中随机提取一个组进行交换,并分别在交换后的工厂中找到最好位置插入使得完工时间最小。
在基于交换的邻域搜索操作完成后,执行第二阶段破坏重构操作,第二阶段破坏重构具体步骤如下:
首先,从工厂序列π中提取d组工件,d的取值范围为2-7,关键工厂是所有工厂中完工时间最大的工厂;
其次,依次从关键工厂中随机取出一个组,直到取出的组数量等于d;
最后,依次将取出的d个组重新插入到关键工厂的最好位置使得完工时间最小。
在第二阶段的破坏重构操作完成后,执行基于插入的第二局部强化操作,基于插入的局部强化具体步骤如下:
首先,从工厂序列π中找到关键工厂,关键工厂为完工时间最大的工厂;
其次,依次从关键工厂的组中将工件逐个取出,测试工件在关键工厂的组的所有位置,并将工件插入到完工时间最小的最好位置,以获得每个组的最好工件序列。具体的来讲,将关键工厂的第一组中的工件逐个取出,测试它在第一组的所有位置,并插入到完工时间最小的最好位置。对于关键工厂中的其余组,依次执行如关键工厂的第一组的操作,以获得每个组的最好工件序列。
本申请通过第二阶段策略的操作来增强局部搜索能力,进一步提高解的质量。
在步骤7中进行第二更新调度序列,通过运行时间判断是否达到第二阶段的终止时间t2;其中,当运行时间达到第二阶段的终止时间t2时,则优化结束,并输出优化后的调度序列方案及其对应的最大完工时间;反之,则继续执行步骤6。
本申请通过第一阶段策略和第二阶段策略进行相互配合,实现搜索与优化的平衡。下面,通过具体实施例对本发明做进一步的描述说明:
仿真实验采用810个标准算例,其中,组数量δ={20,40,60},机器数量m={2,4,6},工厂数量f={2,3,4,5,6,7},每组工件数量和工件加工时间在[1,10]范围内均匀分布,三种准备时间分别从均匀分布的整数[1,20][1,40][1,60]中随机产生。在本发明的具体实例中,以区分两个阶段的阈值tv=0.9、第一阶段选择不同搜索算子的概率值pv=0.7为例,进行详细的说明和实验验证。
将本发明提出的基于有效两阶段的迭代贪婪算法,简称tIGA,与迭代贪婪算法IG、改进的迭代贪婪算法TIG和进化算法EA进行对比,以验证本发明的有效性,这几种对比算法都是近几年提出的具有高性能的优化算法。为了减小实验的误差,使计算结果更具有效性与一般性,对于每个算例重复执行5次,以生成统计结果。使用相对百分比偏差Relativepercentageincrease,RPI,作为性能评价指标,RPI的计算公式为RPIi=(Ci-Cbest)/Cbest×100,其中,Ci表示某一具体算法解决一个具体算例时得到的最大完工时间,而Cbest则表示这4种算法中,解决上述同一算例时得到的最小的最大完工时间。显然,RPI值越小,表示寻找到的最大完工时间越小,性能越好。
图2是对所有算法优化结果的直观表示。具体地,从图2的RPI值可以看出,tIGA的RPI结果均明显优于其它算法,其次是EA、TIG,性能最差的算法IG。此外,图3以最大完工时间为指标给出了4种算法随时间增长的进化曲线。由图3可见,随着时间增长,本发明方法的进化曲线明显低于对比算法的进化曲线,说明本发明方法的收敛性非常好,能够以较快的收敛速度收敛到最好值。
最后应该说明的是,以上实施例仅用以说明本发明的技术方案而非对其限制,所属领域的技术人员阅读本申请后,参照上述实施例对本发明进行种种修改或变更的行为,均在本发明申请待批的权利申请要求保护范围之内。
Claims (10)
1.一种带准备时间的分布式流水车间成组的调度方法,其特征在于,包括如下步骤:
步骤1:以最小化最大完工时间为目标,构建带准备时间的分布式流水车间成组调度问题模型,所述带准备时间的分布式流水车间成组调度问题模型的目标函数为:
Minimize Cmax;其中,Cmax为最大完工时间;
步骤2:参数设置,根据所述目标函数的特点,设置如下参数:
区分任意两个阶段的阈值为tv、第一阶段选择不同搜索算子的概率值pv、调整算法优化时间的系数ω;其中,0<tv<1,0<pv<1,ω>0;
第一阶段的终止时间:t1=tv×(ω×m×δ);
第二阶段的终止时间:t2=(1-tv)×(ω×m×δ);
其中,m为机器数量,m>0;δ为组数量,δ>0;
其中,第一阶段选择第一个搜索算子的概率为pv、选择第二个搜索算子的概率为1-pv;
步骤3:初始化策略,基于工件序列的表示方法对组序列进行编号,所述组序列表示为Δ={Δ1,Δ2,…,Δl,…,Δδ},并且采用构造启发式方法进行初始化调度序列,将组合理的安排到工厂序列π={π1,π2,…,πk,…,πf}中;
步骤4:第一阶段策略,根据概率值pv选择第一个搜索策略,以及根据概率值1-pv选择第二个搜索策略;其中,所述第一个搜索策略包括第一阶段破坏重构、模拟退火接收准则;所述第二个搜索策略包括基于插入的邻域搜索、基于插入的第一局部强化;
步骤5:第一更新调度序列,通过运行时间判断是否达到第一阶段的终止时间t1;其中,当运行时间达到第一阶段的终止时间t1时,则执行下一步;反之,则继续执行步骤4;
步骤6:第二阶段策略,执行基于交换的邻域搜索、第二阶段破坏重构、基于插入的第二局部强化;
步骤7:第二更新调度序列,通过运行时间判断是否达到第二阶段的终止时间t2;其中,当运行时间达到第二阶段的终止时间t2时,则优化结束,并输出优化后的调度序列方案及其对应的最大完工时间;反之,则继续执行步骤6。
2.根据权利要求1所述的带准备时间的分布式流水车间成组的调度方法,其特征在于,
所述带准备时间的分布式流水车间成组调度问题模型的约束条件包括:
确保每个组在组序列中有且仅有一个直接后继,即
其中,δ为组序列中的组数量,若组l'是组l的直接继承者,则xl,l'为1,否则为0;
确保每个组在组序列中有且仅有一个直接前驱,即
其中,δ为组序列中的组数量,若组l'是组l的直接继承者,则xl,l'为1,否则为0;
确保虚拟组为小于或等于f次的直接前驱,即
其中,f为工厂数,δ为组序列中的组数量,若组l'是组0的直接继承者,则x0,l'为1,否则为0;
确保虚拟组为小于或等于f次的直接后继,即
其中,f为工厂数,δ为组序列中的组数量,若组0是组l的直接继承者,则xl,0为1,否则为0;
确保虚拟组在组序列中具有相同数量的直接后继和直接前继,即
确保组中的每个工件,包括两个虚拟工件,有且仅有一个直接的前驱和后继,此外,确保同一个组中的工件不会被分离,并且不会与其他组中的工件混合,即
其中,nl为组l中工件的数量,若组中工件j'是工件j的直接继承者,则yj,j',l为1,否则为0;
确保对于工件j和来自同一组工件j',若工件j'为工件j在机器i上的直接继承者,则该工件j'在机器i上的完成时间不小于工件j的完成时间加上工件j'在机器i上的加工时间,即
其中,cj',l,i为组l中工件j'在机器i上的完成时间,cj,l,i为组l中工件j在机器i上的完成时间,pj',l,i为组l中工件j'在机器i上的加工时间,h为足够大的正数,m为机器数量;
确保对于组l'和组l,若组l'是组l在机器i上的直接继承者,则组l'的工件j'在机器上i的完成时间不小于组l工件j的完成时间加上工件j'在机器上i上的加工时间和组l和组l'之间的准备时间sl,l',i,即
其中,cj',l',i为组l'中工件j'在机器i上的完成时间,cj,l,i为组l中工件j在机器i上的完成时间,sl,l',i为组l和组l'之间的准备时间,pj',l',i为组l'中工件j'在机器上i上的加工时间;
确保对于在该机器上加工的第一组工件,加上初始准备时间,即
其中,cj,l,i为组l中工件j在机器i上的完成时间,s0,l,i为组l和组l'之间的准备时间,pj,l,i为组l中工件j在机器i上的加工时间;
确保工件j在机器i+1上的完成时间大于或等于工件j在机器i+1上的加工时间加上工件j在前一台机器i上的完成时间,即
其中,cj,l,i+1为组l中工件j在机器i+1上的完成时间,cj,l,i为组l中工件j在机器i上的完成时间,pj,l,i+1为组l中工件j在机器i+1上的加工时间;
定义最大完工时间,即
其中,cj,l,m为组l中工件j在机器m上的完成时间。
3.根据权利要求1所述的带准备时间的分布式流水车间成组的调度方法,其特征在于,
所述构造启发式方法包括如下步骤:
计算每个组的总加工时间,将δ个组根据总加工时间进行降序排序,将前f个组依次取出,依次分配到f个工厂中,其中,δ>f;
将剩余的δ-f个组依次取出,插入到最佳位置中,直至所有组都被提取并插入;
对各个工厂中的组序列进行优化和调整,以得到完工时间最小的调度序列。
4.根据权利要求1所述的带准备时间的分布式流水车间成组的调度方法,其特征在于,在所述始化策略完成后,pv的概率采用所述第一个搜索策略来对调度序列进行优化,其中所述第一个搜索策略中的所述第一阶段破坏重构的操作步骤包括:
从所述工厂序列π中提取D组工件,D的取值范围为2-7,并且将所有工厂根据完工时间进行降序排列;
依次从每个工厂取出一个组,直到取出的组数量等于D;
将取出的D个组重新插入到所有工厂的最好位置,使得完工时间最小。
5.根据权利要求1或4所述的带准备时间的分布式流水车间成组的调度方法,其特征在于,在所述第一阶段破坏重构操作完成后,进行所述模拟退火接受准则,所述模拟退火接收准则包括:
当通过所述第一阶段破坏重构操作后产生的调度序列的目标函数值不如优化之前的调度序列的目标函数值时,则采用一定的概率接受这个较差的调度序列作为将要继续优化的调度序列。
6.根据权利要求1所述的带准备时间的分布式流水车间成组的调度方法,其特征在于,在所述始化策略完成后,1-pv的概率采用所述第二个搜索策略来对调度序列进行优化,其中所述第二个搜索策略中的所述基于插入的邻域搜索的操作步骤包括:
从所述工厂序列π中找到关键工厂,所述关键工厂为完工时间最大的工厂;
从所述关键工厂中随机取出一个组,测试该组在所有工厂的所有位置,并将该组重新插入到完工时间最小的最好位置。
7.根据权利要求1或6所述的带准备时间的分布式流水车间成组的调度方法,其特征在于,在所述基于插入的邻域搜索完成后,执行所述基于插入的第一局部强化操作,所述基于插入的第一局部强化的操作步骤包括:
从所述工厂序列π中找到关键工厂,所述关键工厂为完工时间最大的工厂;
依次从所述关键工厂的组中将工件逐个取出,测试所述工件在所述关键工厂的组的所有位置,并将所述工件插入到完工时间最小的最好位置,以获得每个组的最好工件序列。
8.根据权利要求1所述的带准备时间的分布式流水车间成组的调度方法,其特征在于,在第一阶段策略完成后,进行第二阶段策略,执行所述基于交换的邻域搜索操作,所述基于交换的邻域搜索的操作步骤包括:
从所述工厂序列π中找到关键工厂,所述关键工厂为完工时间最大的工厂;
从所述关键工厂中随机提取一个组,以及找到完工时间最小的工厂,并从所述最小的工厂中随机提取一个组;
将所述关键工厂中随机提取一个组与从所述最小的工厂中随机提取一个组进行交换,并在交换后的工厂中找到最好位置插入使得完工时间最小。
9.根据权利要求1或8所述的带准备时间的分布式流水车间成组的调度方法,其特征在于,在基于交换的邻域搜索操作完成后,执行第二阶段破坏重构操作,所述第二阶段破坏重构的操作步骤包括:
从所述工厂序列π中提取d组工件,d的取值范围为2-7,所述关键工厂为所有工厂中完工时间最大的工厂;
依次从所述关键工厂中随机取出一个组,直到取出的组数量等于d;
将取出的d个组重新插入到所述关键工厂的最好位置使得完工时间最小。
10.根据权利要求9所述的带准备时间的分布式流水车间成组的调度方法,其特征在于,在所述第二阶段破坏重构操作完成后,执行所述基于插入的第二局部强化操作,所述基于插入的第二局部强化的操作步骤包括:
从所述工厂序列π中找到关键工厂,所述关键工厂为完工时间最大的工厂;
依次从所述关键工厂的组中将工件逐个取出,测试所述工件在所述关键工厂的组的所有位置,并将所述工件插入到完工时间最小的最好位置,以获得每个组的最好工件序列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310366566.5A CN116382206A (zh) | 2023-04-07 | 2023-04-07 | 一种带准备时间的分布式流水车间成组的调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310366566.5A CN116382206A (zh) | 2023-04-07 | 2023-04-07 | 一种带准备时间的分布式流水车间成组的调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116382206A true CN116382206A (zh) | 2023-07-04 |
Family
ID=86974753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310366566.5A Pending CN116382206A (zh) | 2023-04-07 | 2023-04-07 | 一种带准备时间的分布式流水车间成组的调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116382206A (zh) |
-
2023
- 2023-04-07 CN CN202310366566.5A patent/CN116382206A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112001618B (zh) | 一种工期指派、订单接受与生产调度集成优化方法 | |
CN112766659B (zh) | 一种分布式混合流水车间调度方法、介质和系统 | |
Sawik | An exact approach for batch scheduling in flexible flow lines with limited intermediate buffers | |
CN114186791B (zh) | 一种面向多型号小批量的复杂装备产品装调生产动态调度方法 | |
CN109086936B (zh) | 一种智能车间的生产系统资源配置方法、装置及设备 | |
CN112286149A (zh) | 一种考虑起重机运输过程的柔性车间调度优化方法及系统 | |
CN116629509A (zh) | 一种基于关键机器的流水车间成组调度快速评价方法 | |
CN110597213A (zh) | 一种分布式混合流水车间的生产调度方法及系统 | |
CN110378583A (zh) | 一种拟关键路径同设备相邻工序互换方法 | |
CN105590143A (zh) | Pcb板组装工艺中多机流水生产线贴片机负荷均衡优化方法 | |
CN116307629A (zh) | 一种流水车间成组调度快速评价方法 | |
CN117891220A (zh) | 一种基于多智能体深度强化学习的分布式混合流水车间调度方法 | |
CN117132181B (zh) | 一种分布式柔性生产与运输协同调度方法 | |
CN117707083A (zh) | 分布式装配流水车间的调度方法、终端设备及存储介质 | |
Bernedixen et al. | Simulation-based multi-objective bottleneck improvement: towards an automated toolset for industry | |
CN113762754A (zh) | 一种混合车间低熵自适应调度方法 | |
CN111290360B (zh) | 一种铸造生产线多目标优化方法 | |
CN116382206A (zh) | 一种带准备时间的分布式流水车间成组的调度方法 | |
US20200096981A1 (en) | System and method for improving simulation accuracy of manufacturing plants | |
CN104636610B (zh) | 一种应用于动态环境下的制造系统派工信息修正方法 | |
CN110850819A (zh) | 单臂组合设备调度方法、系统、移动终端及存储介质 | |
CN113792927B (zh) | 基于遗传算法的航空航天柔性产品工序优化方法 | |
CN108873850A (zh) | 一种机械制造自动化生产过程的优化调度方法 | |
CN115438929A (zh) | 一种面向航空发动机装配车间可重入工序的调度方法 | |
CN110716522B (zh) | 基于任意时间a*启发式搜索的制造企业车间调度优化方法 |
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 |