CN115471133A - 一种基于订单管理和滚动优化排产的车间综合调度系统 - Google Patents
一种基于订单管理和滚动优化排产的车间综合调度系统 Download PDFInfo
- Publication number
- CN115471133A CN115471133A CN202211301557.XA CN202211301557A CN115471133A CN 115471133 A CN115471133 A CN 115471133A CN 202211301557 A CN202211301557 A CN 202211301557A CN 115471133 A CN115471133 A CN 115471133A
- Authority
- CN
- China
- Prior art keywords
- order
- scheduling
- orders
- optimization
- score
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06316—Sequencing of tasks or work
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- 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/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- Strategic Management (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- General Physics & Mathematics (AREA)
- Marketing (AREA)
- Biomedical Technology (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Educational Administration (AREA)
- Development Economics (AREA)
- Physiology (AREA)
- Genetics & Genomics (AREA)
- Artificial Intelligence (AREA)
- General Business, Economics & Management (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于订单管理和滚动优化排产的车间综合调度系统,其技术方案为:1、订单管理系统实时收集新订单并整理全部订单;2、基于层析分析法对订单管理系统中的订单进行优先级评价;3、根据订单优先级进行排序;4、确定优化窗口长度,排产优化系统周期性从窗口获取订单并基于遗传算法求得最优调度解;5、显示待优化订单的最优调度方案并绘制甘特图;6、更新订单管理系统,重复步骤2‑5。本发明采用订单管理系统与排产优化系统,将一个中大规模的排产问题简化为一个优化窗口内的小规模排产问题,实现了动态因素影响与静态调度规划的分离,降低了问题的复杂性,提高了算法求解的效率,实现了最优解的快速收敛。
Description
技术领域
本发明属于智能生产调度技术领域,涉及一个将订单管理系统与排产优化系统分开的车间作业调度平台,采用层次分析法对订单系统进行优先级评价,采用遗传算法实现最终的作业调度。
背景技术
随着计算机技术、自动化技术的广泛应用,智能制造业迅速发展。生产作业调度问题作为制造业智能化转型升级的核心基础,直接影响着管理技术的先进性和制造技术的髙效性。生产作业调度优化问题的本质是一个资源分配问题,即把有限的资源在同时满足加工顺序、交货时间等约束条件下分配给若干个任务,以达到对某个目标的优化。
然而在实际生产过程中,我国很多传统制造型企业到目前为止仍然依赖生产经验进行人工式车间调度,这类方法调度速度慢、管理效率低、增加运行成本和时间、无法保证调度数据的精确性,很难求得良好的调度方案,因此对车间作业调度问题(Job-ShopScheduling Problem,JSP)开展深入研究具有重要的意义与价值。
车间作业调度问题具有离散型、复杂性、动态随机性、多目标性、多约束性,是一类典型的NP-hard问题,目前对于JSP问题的求解主要有精确算法与近似算法两类。其中,精确算法主要有分支定界法、混合整数规划法和拉格朗日松弛法等,这些算法虽然能保证得到全局最优解,但需花费较长的时间以及成本且只能解决小规模的车间调度问题,与车间实际调度应用还有较大的差距;近似算法主要有构造性方法、人工智能方法和元启发式算法,包括遗传算法、粒子群算法等,构造性方法对问题的处理比较粗糙,得出的解质量通常不够好,而启发式算法如遗传算法结构简单,通用性好,且具有良好的全局搜索能力,优化性能高,已成为求解车间调度问题的主流方法,但依旧存在如下问题:
1、当问题规模较小时,使用遗传算法能快速且好的给出最优调度方案;但对于中大规模的车间调度问题,由于解空间维度的变大,遗传算法耗费时间变长并且容易出现早熟收敛现象,最终导致求解效率出现下降和挂起的现象。
2、对作业进行排产的过程是一个静态的调度求解过程,但在实际生产中由于动态因素如订单数量变化、插单、取消等事件的存在,会导致实际结果与理论模型出现较大差异,如果仅考虑定量的静态问题,会使得算法局限在理论层面,进而降低了算法的实用价值。
3、当前在描述车间调度问题时订单的优先级都是给定的固定值,然而在实际生产中,受到交货日期的临近以及其他因素的影响,订单优先级应该发生动态变化,与实际情况不符。
在中国专利CN114926033A(基于改进NSGAII的柔性车间动态事件调度方法)中,对插单事件,区分已被调度的作业的当前状态,并对插单作业与尚未处理的作业重新调度。在中国专利CN107831745B(一种柔性作业车间插单动态调度优化方法)中,将批次工件的工序分为子批次,对各子批次进行调度。然而中国专利CN114926033A对于插单事件的处理是对剩余全部订单的重新调度,在处理中大规模的作业调度问题时算法耗时长,效率低,成本高。中国专利CN107831745B仅仅是将工件分批,并未考虑优先级的问题,若新订单进入订单系统,假设它的优先级在最初并不高,但随着生产的进行,交货期的临近,它的优先级(紧急程度)自然会被提高,若仅仅分批的话,实际并不能保证订单按期完成,同时该专利并没有在一个不断有新订单加入的情况下进行动态的分批优化。
发明内容
本发明的目的是提供一种基于订单管理和滚动优化排产的车间综合调度系统,以满足考虑了作业准备时间的中大规模(例如作业规模超过1000维)的车间动态调度需求,减少算法耗时,获得使最大完工时间最小的调度解,提高生产效率,解决现有技术中存在的不足。
本发明的车间综合调度系统包括订单管理系统与排产优化系统两部分。订单在两部分系统中单向流动。订单管理系统用于对订单生成优先级,并响应新订单、插单、以及时间的流逝而对尚未被提交给排产优化系统的订单重新生成优先级。从而将插单事件与排产优化系统的订单调度优化过程分离,使得排产优化系统利用静态调度优化策略(而无需动态调度优化策略)实施订单排产,降低了订单调度的复杂度,并减少算法耗时,提高生产效率。
从订单管理系统进入排产优化系统的订单,会被调度并排产执行完成,排产优化系统对订单的处理不会因插单事件而被打断。插单只会影响该订单在订单管理系统中的排序,而对排产优化系统没有影响。虽然这可能导致对插单的处理延迟,但相应地本发明的排产优化系统使用较小的调度窗口,从而对调度窗口内的订单的每次调度并处理所引起的延迟相应较小;由于工件加工时间远大于排产程序运行时间,因此前者是插单的处理延迟的主要原因,一般来说,对于加工时间较长的工件(数十分钟或几小时),窗口长度不大于20,对于加工时间较短的工件(数百秒或几分钟),窗口长度可设为50或更长,需要依具体情况而定。而订单管理系统还按优先级对插单排序(调度),使得高优先级的插单能在下次调度时进入调度窗口并被调度和处理,从而对插单的总体处理延迟保持在较低水平,并避免超时事件发生,但大幅降低了订单调度的整体复杂度。
相应地,调度窗口也不应过小。过小的调度窗口导致对调度问题所找到的局部最优解对全局而言效率降低(同全局最优解差距大)。因此,本发明通过设置在订单管理系统与排产优化系统之间单向传递待调度订单的调度窗口,在调度复杂度、插单延迟与调度解的效果之间寻求合理平衡。
为了实现上述目的,本发明通过如下技术方案实现:
一种基于订单管理和滚动优化排产的车间综合调度系统,平台包括订单管理系统以及排产优化系统两部分,具体的操作步骤如下:
步骤1:订单管理系统实时收集新订单并整理全部订单。
步骤2:基于层析分析法对订单管理系统中的订单进行优先级评价。
步骤3:根据订单优先级进行排序。
步骤4:确定优化窗口长度,排产优化系统根据窗口长度在订单系统内获取排在前面优先级高的一系列订单,并基于遗传算法对这些订单进行静态调度优化,调度优化的具体步骤如下:
步骤4.1:相关参数初始化。
步骤4.2:确定染色体编码方式,生成初始种群。
步骤4.3:生成调度方案并评价个体的适应度值。
步骤4.4:进行选择,交叉,变异操作。
步骤4.5:终止循环。
步骤5:显示优化窗口内待优化订单的最优调度方案并绘制甘特图。
步骤6:更新订单管理系统,对订单管理系统中订单的优先级进行修正,重复步骤2-5。
本发明的特点还在于:
步骤1订单管理系统独立于排产优化系统,用于存储全部订单信息以及实时接收新订单。已进入排产优化系统的订单无需被回退到订单管理系统,排查优化系统在调度处理订单期间,当前调度窗口内的订单执行完成前,也不会被其他订单(包括插单)打断或干扰。
步骤2基于层析分析法对订单管理系统中的订单进行优先级评价包括两部分:对新订单进行打分以及对原有订单进行分数修正。在评价之前,首先要:
1、确定评价指标。选定订单交货时间T、物料成本C、订单收益P、客户资质Q作为优先级评价指标。其中,订单交货时间指当前日期距离交货日期的长度;物料成本包括原材料、机器磨损等;工件订单收益指完成该订单所获利润;客户资质主要指客户的信誉水平。
2、量化评价尺度。对物料成本、订单收益与客户资质进行离散化处理,将其分为5个等级,每个等级对应的分数为1,3,5,7,9,其中订单收益与客户资质分数由低到高对应等级为:低、较低、一般、较高、高;对于物料成本分数由低到高对应为:高、较高、一般、较低、低。
3、权重向量计算。通过领域内有经验的多个专家进行打分的方式确定每个部分对应的权重向量ωT、ωC、ωP、ωQ。
用SC,SP,SQ分别表示物料成本、订单收益、客户资质对应的分数,则新订单最终的得分表示为:Score=SC*ωC+SP*ωP+SQ*ωQ-T*ωT。如对于一个订单,其交货时间为10天,C、P、Q分别为{较低,一般,高},则对应分数为{7,5,9},设ωT、ωC、ωP、ωQ分别为0.3,0.2,0.3,0.2,那么该订单最终得分为7*0.2+5*0.3+9*0.2-10*0.3=1.7。
对原有订单进行的分数修正为New_Score=Score+ΔT*ωT。其中ΔT为该订单进入订单管理系统后停留的时间。以上述订单为例,若其在系统中停留了5天,则将其分数修正为1.7+5*0.3=3.2。
步骤3根据订单得分进行降序排序。得分越高表示该订单优先级或紧急程度越高,先进入排产优化系统进行优化调度。对于插单事件的发生,默认其具有最高得分,排在系统最上方。以降低插单事件的处理延迟。
步骤4中,优化窗口长度的确定可以根据订单规模与工件状况实时调整,一般来说,对于加工时间较长的工件(数十分钟或几小时),窗口长度不大于20,对于加工时间较短的工件(数百秒或几分钟),窗口长度可设为50或更长,需要依实际情况而定。排产优化系统从订单管理系统获取订单并进行调度优化的频率可以根据订单状态的不同实时调整,例如没有插单订单出现时,排产优化系统每隔5分钟获取一批待优化订单,当新加入一个紧急插单订单时,具有最高得分,排在订单管理系统最上方,当排产系统进行完前序调度任务后,立即对新窗口内的订单进行调度优化。生产时根据实际情况确定优化窗口大小,排产优化系统从优化窗口里取出相应订单进行调度优化。
步骤4.1相关参数包括种群规模S一般取10~50、交叉概率Pc一般取0.4~0.99、变异概率Pm一般取0.001~0.1、终止条件gen为迭代10~50次。
步骤4.2编码方式具体实现为:对于n个工件,每个工件包含mi(i=1,2,…,n)道工序,则设编码长度为L=并且用1,2,…,L个整数的乱序来表示一个染色体,写成一维向量的形式。如对于3个工件,每个工件的工序分别为2,3,4,则染色体长度为2+3+4=9。整数1,2表示第一个工件的2道工序;3,4,5表示第二个工件的3道工序;6,7,8,9表示第三个工件的4道工序。那么[7,6,9,3,1,5,2,8,4]就可以表示一个工件的染色体个体。种群中的染色体个体的值序列的各值代表工件的工序,并且值序列具有顺序,从而染色体个体也代表了待优化订单的加工调度顺序(各工序的执行顺序)。
步骤4.3个体的适应度使用最大完工时间进行评价,优化目标定义为使整个窗口所有订单的最大完工时间最小,同时优化过程中也需要满足如下约束条件:
a、同一台机器在同一时刻只能加工一个工件,即在该机器上后序任务的准备时间不得早于前序任务的完成时间。
b、同一工件的同一道工序在同一时刻只能被一台机器加工。
c、每个工件的每道工序一旦开始加工不能中断。
d、每个工件的每道工序之间可以中断。
e、不同工件的工序之间没有先后约束,同一工件的工序之间有先后约束。
调度方案的生成与个体适应度的计算方法如下:
a、读取优化窗口中的订单信息,将其转化成任务表task_set,每一个任务对应某一工件的某一道工序,任务表包括:序号、工件、工序、允许执行的机器类型编号、准备时间、加工时间。
b、读取机器表machine_set,包括序号、机器类型、开始时间、结束时间。其中开始时间均为0,结束时间设为一个较大的数如20000。
c、初始化一个记录前序任务的数组processor,数组的维度为n×2,n为调度窗口内的工件数(窗口大小),数值初始化为0,第一列用于记录第i个工件的加工进度j,第二列用于记录完成第i个工件的j进度(及其前序工序)加工需要的时间。
d、初始化一个暂时存储调度结果的数组temp_result,数组的维度为1×7,每一列分别表示:序号、工件、工序、允许执行机器类型、开始时间、结束时间、加工所在机器。
e、初始化一个记录最终调度结果的三维数组f_result,其维度为种群规模S×编码长度L×7。
f、依次读取种群的每一行(个体)、每一列(个体的值序列的值),根据前序任务记录转到对应后序任务的原则,安排作业并将此次调度结果存入temp_result中,同时更新processor数组。以步骤4.2中的个体[7,6,9,3,1,5,2,8,4]为例,值序列的第一位为7(代表任务),从任务表task_set中获得“7”对应第3个工件的第2道工序,此时由于processor数组(维度为3×2)中对应第3行(第3个工件)第1列的记录为0,表示尚无前序任务的记录,因此要去task_set表中寻找第3个工件的第1道工序(最前序任务):6(6号任务),进行排产(用于获得该工序的生产时间),然后将processor中第3行第1列数字更新为6(6号任务),第2列更新为6号任务的加工时间,再将6号任务的相关信息存入temp_result中,从而完成对个体的值序列的第一位“7”的处理。接下来,继续处理该个体的值序列的第2位“6”,用上述类似的方式,根据task_set表更新processor数组。以此类推,若processor的第i行第1列不为0,设为a,表示i零件的a工序已加工完成,此时应寻找i零件尚未被执行的第a+1道工序进行安排,并利用例如python中的vstack函数(即垂直(行)按顺序堆叠数组)将每次的调度结果(temp_result)堆叠,以累积工件的加工时间。当遍历完上述一个染色体后,会得到一个9×7的二维数组(9是染色体编码长度L,该二维数组的每行具有同temp_result相同结构),数组的第6列中最大的数即为该个体的最大完工时间也就是适应度。
g、将f中得到的二维数组存入f_result中,表示种群中第一个个体的调度结果,循环种群规模S次后,最终f_result维度为S×L×7。
步骤4.4选择操作使用轮盘赌选择法,选择概率与适应度大小成正比。由于适应度为最大完工时间,因此通过这种方式选出的个体为表现较差的,于是对选中个体进行交叉、变异操作。
步骤4.4交叉、变异操作采用无性方式进行,即子代染色体是由一个父代染色体产生,具体产生方式为:对于交叉操作,在父代染色体上随机选取两段长度为C(L/2>C>1)的基因段,然后交换这两段基因段;对于变异操作,在父代染色体上随机选取两个基因点,将这两个基因点进行交换。
步骤4.5终止循环的条件为达到最大迭代次数gen。
步骤5,每进行一次迭代,会将该代S个染色体各自的适应度值中最小的数以及对应的调度方案记录下来,当满足终止条件后,最终记录的便是最优调度结果,将最终调度方案以甘特图的形式展示出来。
步骤6:在进行完一个窗口内的调度优化后,订单管理系统对待处理订单进行更新(例如将插单、新引入订单添加到待处理订单中),对订单管理系统中的订单得分进行修正,重复步骤2-5,直至订单系统中没有订单。
本发明具有以下有益成果:
1、采用订单管理系统与排产优化系统,实现了动态因素影响与静态调度规划的分离,降低了问题的复杂性,提高了算法求解的效率。
2、将一个中大规模的排产问题简化为一个滚动优化窗口内的小规模排产问题,容易求出最优解。
3、在优先级评价过程中引入分数修正机制,实现订单的优先级随着交货日期的临近动态变化,更具有现实意义。
附图说明
图1是本发明的算法流程图。
图2是图1流程图中调度优化部分的流程图。
图3是交叉操作示意图。
图4是变异操作示意图。
图5是实施例一的订单原始信息示意图。
图6是实施例一评价指标量化示意图。
图7是实施例一的各订单优先级得分示意图。
图8是实施例一所用加工机器表示意图。
图9是实施例一第一轮优化窗口中订单的详情示意图。
图10是实施例一第一轮优化的收敛曲线示意图。
图11是实施例一第一轮优化的最优调度结果甘特图。
图12是实施例一订单管理系统更新后各订单优先级得分示意图。
图13是实施例一第二轮优化窗口中订单的详情示意图。
图14是实施例一第二轮优化的收敛曲线示意图。
图15是实施例一第一轮优化的最优调度结果甘特图。
具体实施方式
下面结合附图以及实施例对本发明做进一步说明。
为了克服当前车间作业调度中存在的动态因素影响、问题规模大、求解效率低的问题,本发明提出了一种基于订单管理和滚动优化排产的车间综合调度系统,分订单管理系统与排产优化系统两部分,订单管理系统负责实时收集并对订单的优先级进行排序,排产优化系统则根据确定的优化窗口在订单系统周期性获取订单进行调度优化,实现了诸如插单的动态因素影响与静态调度规划分离的同时,降低了问题规模,提高了算法的求解效率,如图1、图2所示,具体按照以下步骤实施:
步骤1:订单管理系统实时收集新订单并整理全部订单。
步骤2:基于层析分析法对订单管理系统中的订单进行优先级评价。优先级评价包括两部分:对新订单进行打分以及对原有订单进行分数修正。在评价之前,首先要:1、确定评价指标,选定订单交货时间T、物料成本C、订单收益P、客户资质Q作为优先级评价指标。2、量化评价尺度。将评价指标分为5个等级,对应分数为1,3,5,7,9。3、权重向量计算。通过例如专家打分的方式确定每个部分对应的权重向量ωT、ωC、ωP、ωQ。若用SC,SP,SQ分别表示物料成本、订单收益、客户资质对应的分数,则新订单最终的得分表示为:Score=SC*ωC+SP*ωP+SQ*ωQ-T*ωT;对原有订单进行的分数修正公式为New_Score=Score+ΔT*ωT。其中ΔT为该订单进入订单系统后停留的时间。
步骤3、根据订单得分进行降序排序。得分越高表示该订单优先级或紧急程度越高,先进行优化调度。对于插单事件的发生而引入的插单,默认其具有最高得分,排在系统最上方。
步骤4、确定优化窗口长度,排产优化系统根据窗口长度在订单管理系统内获取排在前面优先级高的一系列订单,并基于遗传算法对这些订单进行静态调度优化,调度优化的具体步骤如下:
步骤4.1:相关参数初始化。包括种群规模,交叉概率,变异概率,终止条件等。
步骤4.3:生成调度方案并评价个体的适应度值。采用最大完工时间作为个体的适应度函数,依次遍历种群中的每个个体,在调度方案生成的过程中考虑工件的工序先后约束、机器加工唯一性约束、工序加工连续性约束,同时记录每个个体的最大完工时间与调度结果。
步骤4.4:进行选择,交叉,变异操作。选择采用“优留劣改”的方式,将适应度大的个体进行交叉、变异操作,适应度小的个体保留;交叉、变异采取无性的形式进行,即子代来源于一个父代,避免了两条染色体交叉后出现重复整数,保证了编码的稳定性。无性交叉、变异示意图如图3、图4所示。
步骤4.5:终止循环。当迭代次数达到最大时终止循环,迭代次数一般为10~100次。
步骤5:显示优化窗口内待优化订单的最优调度方案并绘制甘特图。
步骤6:更新订单管理系统,对订单管理系统中订单的优先级进行修正,重复步骤2-5。
实施例一,其特征在于含有13个订单,选取订单交货时间T、物料成本C、订单收益P、客户资质Q作为优先级评价指标,订单原始信息如图5所示,对其进行调度优化步骤如下:
步骤1:订单管理系统收集全部的订单并将其进行量化,分为5个等级,每个等级对应的分数为1,3,5,7,9,其中订单收益与客户资质分数由低到高对应等级为:低、较低、一般、较高、高;对于物料成本分数由低到高对应为:高、较高、一般、较低、低。量化结果如图6所示。
步骤2:进行优先级评价,将4个指标的权重设定为0.3,0.2,0.3,0.2,根据公式Score=SC*ωC+SP*ωP+SQ*ωQ-T*ωT对每个订单进行评分。
步骤3:根据得分对13个订单进行降序排序,结果如图7所示。
步骤4:将优化窗口长度设定为4,则排产优化系统获取订单4,6,10,8的详细信息先进行调度优化,每个订单代表要加工的一个工件,根据任务表可见总共包含4个工件,每个工件有例如4道工序,工件1的第2道工序有60s准备时间(其他工件与工序之间可以无需准备时间),其中所用加工机器如图8所示,任务表task_set如图9所示。图9中,工件1-4分别对应订单4,6,10,8。
调度优化步骤如下:
1、设置种群规模10,迭代次数10,交叉概率0.9,变异概率0.1
2、随机生成10个个体,每个个体长度为16(对应4个工件,每个工件4道工序),由1~16整数的乱序构成,每个数字只出现一次,例如[7 2 6 11 10 8 4 1 5 12 14 3 16 1315 9]表示其中一个个体,其中每个数字唯一代表工件的工序之一。
3、用最大完工时间作为适应度函数,以个体[7 2 6 11 10 8 4 1 5 12 14 3 1613 15 9]为例生成调度方案:
3.1、初始化一个记录前序任务的数组processor(索引是工件),数组的维度为4×2,数值初始化为0,第一列用于记录每个工件的前序任务,第二列用于记录完成第一列对应前序任务所需要的时间。
3.2、初始化一个暂时存储调度结果的数组temp_result,数组的维度为1×7,每一列分别表示:序号、工件、工序、允许执行机器类型、开始时间、结束时间、加工所在机器。
3.3、初始化一个记录最终调度结果的三维数组f_result,其维度为10×16×7。
3.4、依次读取种群(记录了10个个体)的每一行、每一列,根据前序任务记录转到对应后序任务,安排作业并将此次调度结果存入temp_result中,同时更新processor。第一位为7,对应第2个工件的第3道工序,此时由于processor数组中对应第2行(来自第2个工件,processor数组大小为工件数×2,第i行就表示第i个工件)第1列的数值为0,表示无前序任务,因此要去task_set表中寻找第2个工件的第1道工序即序号5,进行排产,然后将processor中第2行第1列数字更新为5(task_set中的id=5),第2列更新为5号任务的加工时间50,最后将5号任务在task-set中的相关信息[5 2 1 1 0 50 1]存入temp_result中。接下来,对个体中的值序列的后续各值进行遍历。当遍历到任务序号6时(对应第2个任务的第2道工序),由于此时processor第2行第1列为5,表示2工件的第1道工序已加工完成,此时应寻找该工件尚未完成的第2道工序进行加工即任务6,以此类推,将每次的调度结果temp_result堆叠,当遍历完上述个体后,会得到一个16×7的二维数组,数组的第6列中最大的数即为该个体的最大完工时间也就是适应度。
3.5、将temp_result存入f_result中,表示种群中第一个个体的调度结果,依据种群个体数量循环10次后得到初始种群的调度结果。
4、根据初始种群的调度结果及适应度进行选择、交叉、变异操作,重复第3步,依据指定的迭代次数循环10次后结束。程序总运行时间为0.16s。
步骤5:求解该优化窗口内订单的收敛曲线如图10所示,由图10可知,在第3代时最大完工时间就已经收敛到410,为该优化窗口的最优解,最终调度结果甘特图如图11所示。
步骤6:更新订单管理系统,将已调度执行完成的订单4,6,10,8剔除,此时订单管理系统非空,还有待处理订单,需继续进行调度优化。若此时有一新订单14进入订单系统,首先对订单14进行评分:不妨设其C、P、Q、T分别为{一般,较高,较高,16},则对应分数为{5,7,7,16},得分为5*0.2+7*0.3+7*0.2-16*0.3=-0.3;然后对其余9个订单进行分数修正:假定前一轮优化(与生产)所需时间ΔT=3,则9个订单的新得分为New_Score=Score+ΔT*ωT=Score+0.9,最后根据得分将10个订单进行降序排列,结果如图12所示。可选地,如果有插单事件发生,也在该步骤中,对插单打分,并也参与评分的排序。
为了对调度过程更好的进行说明,同时简化步骤,将本次优化窗口设为10,即对剩余订单一次性进行调度优化。根据任务表可见包含10个工件,每个工件的工序数目不等,且个别工序具有一定的准备时间,其中加工机器与上一轮相同,任务表如图13所示。调度优化步骤如下:
1、设置种群规模10,迭代次数30,交叉概率0.9,变异概率0.1
2、随机生成10个个体,每个个体长度为35,由1~35整数的乱序构成,每个数字只出现一次,例如[19,21,17,34,27,35,26,33,13,18,3,23,9,11,2,25,29,14,28,1,10,20,31,5,15,6,4,7,16,24,12,22,30,32,8]表示其中一个个体。
3、用最大完工时间作为适应度函数,以上述个体为例生成调度方案:
3.1、初始化一个记录前序任务的数组processor(数组的行数来自被调度的工件数),数组的维度为10×2,数值初始化为0,第一列用于记录第i个工件的加工进度j,第二列用于记录完成第一列对应前序任务所需要的时间。
3.2、初始化一个暂时存储调度结果的数组temp_result,数组的维度为1×7,每一列分别表示:序号、工件、工序、允许执行机器类型、开始时间、结束时间、加工所在机器。
3.3、初始化一个记录最终调度结果的三维数组f_result,其维度为10×35×7。
3.4、依次读取种群的每一行、每一列,根据前序任务记录转到对应后序任务,安排作业并将此次调度结果存入temp_result中,同时更新processor。(上面随机生成的第一个个体的)第一位为19,对应第5个工件的第2道工序,此时由于processor数组中对应第5行第1列的数值为0,表示无前序任务(第5个工件尚未被排产),因此要去task_set表中寻找第5个工件的第1道工序即序号18,以对5号工件的第1道工序进行排产(而不是实际生产,以获得生产所需时间),然后将processor中第5行第1列数字更新为18,第2列更新为18号任务的加工时间50,最后将18号任务的相关信息[18 5 1 1 0 50 1]存入temp_result中。接下来,继续对染色体个体的序列值进行遍历,处理第二个数值“21”。以此类推。当遍历到任务序号18时,由于此时processor第5行第1列为18,表示5工件的第1道工序已加工完成,此时应寻找该第5个工件第2道工序进行加工即任务19,对任务19进行排产,然后继续遍历染色体个体的值序列(接下来是值3)。以此类推,将每次的调度结果堆叠,当遍历完上述个体后,会得到一个35×7的二维数组(用于记录每次的temp_result,35是任务数量),数组的第6列中最大的数即为该个体的最大完工时间也就是适应度。
3.5、将temp_result存入f_result中,表示种群中第一个个体的调度结果,循环10次后得到初始种群的调度结果。
4、根据初始种群的调度结果及适应度进行选择、交叉、变异操作,重复第3步,循环30次后结束。程序总运行时间为0.64s。
求解该优化窗口内订单的收敛曲线如图14所示,由图14可知,在第9代时最大完工时间就已经收敛到570,为该优化窗口的最优解,最终调度结果甘特图如图15所示。
通过本发明求解实施例一可得最终的最大完工时间为410+570=980,并且980为该实施例的最优解。说明本发明在求解中大规模车间调度问题时通过将订单管理系统与排产优化系统分离,设定滚动优化窗口的方式可以提高算法效率,实现快速收敛。
Claims (10)
1.一种基于订单管理和排产优化两阶段调度的车间综合调度方法,其特征在于,订单管理阶段包括下列步骤1至步骤3以及步骤6,排产优化阶段包括步骤4与步骤5;所述方法包括:
步骤1、获取待处理的订单;
步骤2、对待处理的所有订单进行优先级评价;
步骤3、根据订单优先级对全部订单进行排序;
步骤4、确定优化窗口长度,从优化窗口获取同优化窗口长度对应数量的多个订单并基于遗传算法求得对所述多个订单调度处理的最优调度方案;
步骤5、以甘特图的形式显示所述多个订单的最优调度方案;
步骤6、获取待处理的订单,返回步骤2;
其中所述订单管理阶段独立于所述排产优化阶段,所述订单管理阶段获取新的订单不会打断所述排产优化阶段的执行。
2.根据权利要求1所述的方法,其特征在于,所述步骤2对订单进行优先级评价包括两部分:对新订单进行打分以及对原有订单进行分数修正;
其中用于优先级评价的评价指标包括:订单交货时间T、物料成本C、订单收益P和/或客户资质Q,其中,订单交货时间T指当前日期距离交货日期的长度,物料成本C包括原材料成本和/或机器折旧成本,订单收益P指完成订单所获利润,客户资质Q指客户的信誉水平;
其中用于优先级评价的评价指标被离散化处理;
其中用于优先级评价的评价指标各自具有用于评分的权重;ωT、ωC、ωP、ωQ
用SC,SP,SQ分别表示物料成本C、订单收益P、客户资质Q对应的离散化分数,则新订单的得分表示为:Score=SC*ωC+SP*ωP+SQ*ωQ-T*ωT;其中ωT、ωC、ωP、ωQ分别为订单交货时间T、物料成本C、订单收益P和客户资质Q的权重,Score为订单的评分;
对原有订单的分数进行修正公式为New_Score=Score+ΔT*ωT,其中ΔT为收到订单开始到当前的时间,New_Score为订单的分数修正后的评分。
3.根据权利要求1所述的方法其特征在于,所述步骤3根据订单优先级对全部订单进行排序,得分越高表示订单优先级或紧急程度越高,将订单按得分从高到低的顺序添加到优先调度窗口;
响应于发生插单事件,插单事件所提供的订单具有最高得分。
4.根据权利要求1所述的方法,其特征在于,所述优化窗口长度的确定可以根据订单规模实时调整,从优化窗口长度获取订单并进行调度优化的频率可以根据订单状态的不同实时调整。
5.根据权利要求4所述的方法,其特征在于,
当没有插单订单出现时,每隔指定时间间隔从优化窗口获取一批待调度订单;响应于存在插单事件,,当完成当前一批订单的调度后,立即从优化窗口获取包括所述插单事件对应的订单的一批订单并进行调度。
6.根据权利要求1所述的方法,其特征在于,所述步骤4基于遗传算法求得对所述多个订单调度处理的最优调度方案包括:
步骤4.1、参数初始化:包括种群规模S取10~50、交叉概率Pc取0.4~0.99、变异概率Pm取0.001~0.1、终止条件gen为迭代10~50次;
步骤4.3:生成调度方案并评价个体的适应度值:采用最大完工时间作为个体的适应度函数,依次遍历种群中的每个染色体个体,在调度方案生成的过程中考虑工件的工序先后约束、机器加工唯一性约束、工序加工连续性约束,同时记录每个个体的最大完工时间与调度结果;
步骤4.4:进行选择,交叉,变异操作:选择操作使用轮盘赌选择法,采用“优留劣改”的方式,将适应度大的个体淘汰,进行交叉、变异操作,适应度小的个体予以保留;交叉、变异采取无性的形式进行;对于交叉操作,在父代染色体上随机选取两段长度为C,的基因段,其中L/2>C>1,然后交换这两段基因段;对于变异操作,在父代染色体上随机选取两个基因点,将这两个基因点进行交换;
步骤4.5:终止循环:重复步骤4.3与4.4,当迭代次数达到最大时终止循环;
所述方法还包括根据所述最优调度方法对订单对应的工件进行生产。
7.根据权利要求6所述的方法,其特征在于,所述步骤4每进行一次迭代,将该代每个个体适应度值中最小的数值以及对应的调度方案记录下来,当终止循环后,所记录的具有最小适应度值的个体及其对应的调度方案是所述最优调度结果。
8.根据权利要求1所述的方法,其特征在于,所述步骤6在进行完一个窗口内的调度优化后,用新收到的订单和/或插单事件的订单更新待处理的订单,对待处理的订单得分进行修正,重复步骤2-5,直至没有待处理订单。
9.根据权利要求1-8之一所述的方法,其特征在于,
响应于出现插单事件,获取所述插单事件对应的订单;
等待所述排产优化阶段执行完成,在接下来的订单管理阶段的步骤6中将所述插单事件对应的订单作为待处理的订单之一;
所述等待所述排产优化阶段执行完成还包括等待根据所述排产优化阶段生成的最优调度方案对工件的生产完成。
10.一种信息处理设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,其特征在于,所述处理器执行所述程序时实现根据权利要求1-9之一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211301557.XA CN115471133A (zh) | 2022-10-24 | 2022-10-24 | 一种基于订单管理和滚动优化排产的车间综合调度系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211301557.XA CN115471133A (zh) | 2022-10-24 | 2022-10-24 | 一种基于订单管理和滚动优化排产的车间综合调度系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115471133A true CN115471133A (zh) | 2022-12-13 |
Family
ID=84337316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211301557.XA Pending CN115471133A (zh) | 2022-10-24 | 2022-10-24 | 一种基于订单管理和滚动优化排产的车间综合调度系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115471133A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116227890A (zh) * | 2023-05-05 | 2023-06-06 | 安元科技股份有限公司 | 一种支持换产的排程调度方法及系统 |
CN117234167A (zh) * | 2023-11-10 | 2023-12-15 | 欣润新材料科技(江苏)有限公司 | 一种基于数据分析的电焊场所用门帘生产线智能监测系统 |
CN117522090A (zh) * | 2024-01-08 | 2024-02-06 | 佛山市达衍数据科技有限公司 | 一种制衣生产的动态调度方法、系统和存储介质 |
CN117808439A (zh) * | 2024-03-01 | 2024-04-02 | 世纪开元智印互联科技集团股份有限公司 | 一种用于印刷厂的排产方法及系统 |
-
2022
- 2022-10-24 CN CN202211301557.XA patent/CN115471133A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116227890A (zh) * | 2023-05-05 | 2023-06-06 | 安元科技股份有限公司 | 一种支持换产的排程调度方法及系统 |
CN117234167A (zh) * | 2023-11-10 | 2023-12-15 | 欣润新材料科技(江苏)有限公司 | 一种基于数据分析的电焊场所用门帘生产线智能监测系统 |
CN117234167B (zh) * | 2023-11-10 | 2024-02-02 | 欣润新材料科技(江苏)有限公司 | 一种基于数据分析的电焊场所用门帘生产线智能监测系统 |
CN117522090A (zh) * | 2024-01-08 | 2024-02-06 | 佛山市达衍数据科技有限公司 | 一种制衣生产的动态调度方法、系统和存储介质 |
CN117522090B (zh) * | 2024-01-08 | 2024-05-07 | 佛山市达衍数据科技有限公司 | 一种制衣生产的动态调度方法、系统和存储介质 |
CN117808439A (zh) * | 2024-03-01 | 2024-04-02 | 世纪开元智印互联科技集团股份有限公司 | 一种用于印刷厂的排产方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115471133A (zh) | 一种基于订单管理和滚动优化排产的车间综合调度系统 | |
CN110598920B (zh) | 用于铸造并行车间主生产计划的多目标优化方法及系统 | |
CN104268722B (zh) | 基于多目标进化算法的动态柔性作业车间调度方法 | |
CN107168267B (zh) | 基于改进粒子群与启发式策略的生产排产方法及系统 | |
CN107451747B (zh) | 基于自适应非支配遗传算法的车间调度系统及其工作方法 | |
CN113805545B (zh) | 一种考虑批处理的柔性流水车间组合调度规则生成方法 | |
CN114118799A (zh) | 一种基于虚拟工序的遗传算法车间排产方法 | |
CN112561225B (zh) | 一种基于标杆协同进化算法的柔性作业车间调度方法 | |
CN112990515A (zh) | 一种基于启发式优化算法的车间资源调度方法 | |
CN113867295A (zh) | 一种基于数字孪生的制造车间agv动态调度方法、系统、设备及存储介质 | |
CN115600774A (zh) | 一种装配式建筑构件产线的多目标生产调度优化方法 | |
Gu et al. | A discrete particle swarm optimization algorithm with adaptive inertia weight for solving multiobjective flexible job-shop scheduling problem | |
CN111105133B (zh) | 生产调度方法、计算机设备以及存储介质 | |
CN107832983B (zh) | 基于动态规划与遗传算法的铸造熔炼批计划与调度方法 | |
CN112686474A (zh) | 一种基于改进的水波优化算法的可并行装配线平衡方法 | |
CN114881301A (zh) | 生产线的仿真排产方法、系统、终端设备及存储介质 | |
CN111985841B (zh) | 一种基于改进遗传算法的注塑车间调度方法及系统 | |
CN116644930A (zh) | 一种工业互联网背景的多企业动态任务调度方法及系统 | |
CN116822217A (zh) | 一种考虑工时不确定性的人机双资源约束多目标生产调度方法 | |
CN116451936A (zh) | 一种基于遗传算法的排程方法、系统和存储介质 | |
CN115829148A (zh) | 一种设备维护车间调度优化方法及计算机可读介质 | |
CN114819558A (zh) | 一种解决分布式混合流水车间的双目标调度优化方法 | |
JPH09183044A (ja) | 生産計画作成方法 | |
CN111105164B (zh) | 一种车间调度方法、装置及设备 | |
CN113657794A (zh) | 一种生产人力资源分配的策划方法及策划装置 |
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 |