CN117522090B - 一种制衣生产的动态调度方法、系统和存储介质 - Google Patents
一种制衣生产的动态调度方法、系统和存储介质 Download PDFInfo
- Publication number
- CN117522090B CN117522090B CN202410022307.5A CN202410022307A CN117522090B CN 117522090 B CN117522090 B CN 117522090B CN 202410022307 A CN202410022307 A CN 202410022307A CN 117522090 B CN117522090 B CN 117522090B
- Authority
- CN
- China
- Prior art keywords
- population
- production
- individuals
- station
- parent
- 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.)
- Active
Links
- 238000004519 manufacturing process Methods 0.000 title claims abstract description 261
- 238000000034 method Methods 0.000 title claims abstract description 251
- 238000003860 storage Methods 0.000 title claims abstract description 13
- 230000008569 process Effects 0.000 claims description 113
- 238000012545 processing Methods 0.000 claims description 86
- 210000000349 chromosome Anatomy 0.000 claims description 67
- 230000035772 mutation Effects 0.000 claims description 26
- 238000002922 simulated annealing Methods 0.000 claims description 26
- 238000000137 annealing Methods 0.000 claims description 16
- 230000003044 adaptive effect Effects 0.000 claims description 11
- 230000001960 triggered effect Effects 0.000 claims description 9
- 238000009826 distribution Methods 0.000 claims description 7
- 238000001816 cooling Methods 0.000 claims description 3
- 230000014759 maintenance of location Effects 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000009827 uniform distribution Methods 0.000 claims description 2
- 238000005457 optimization Methods 0.000 abstract description 5
- 230000004044 response Effects 0.000 abstract description 4
- 230000002068 genetic effect Effects 0.000 description 18
- 230000007246 mechanism Effects 0.000 description 12
- 108090000623 proteins and genes Proteins 0.000 description 8
- 230000003068 static effect Effects 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000005096 rolling process Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010924 continuous production Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000003754 machining Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
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/06311—Scheduling, planning or task assignment for a person or group
- G06Q10/063118—Staff planning in a project environment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- 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/06313—Resource planning in a project environment
-
- 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
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0633—Lists, e.g. purchase orders, compilation or processing
- G06Q30/0635—Processing of requisition or of purchase orders
-
- 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/04—Manufacturing
-
- 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
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- General Business, Economics & Management (AREA)
- Development Economics (AREA)
- Tourism & Hospitality (AREA)
- Educational Administration (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Health & Medical Sciences (AREA)
- Biodiversity & Conservation Biology (AREA)
- Manufacturing & Machinery (AREA)
- Primary Health Care (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (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)
- General Factory Administration (AREA)
Abstract
本发明提供了一种制衣生产的动态调度方法、系统和存储介质,应用于制衣生产技术领域,方法包括:获取产线的生产数据集合并根据集合确定产线的最佳生产调度方案,最佳的方案满足订单的完工时间、工序的等待时间和工人的工作负荷最小化;基于最佳的方案将多个订单分配给每个工位,以进行制衣生产;在制衣生产时,获取至少一个新增的订单并对每个工位的状态进行检测;当检测到任一工位处于完工状态且此工位具备处理任一新增的订单的首道工序的能力时,更新生产数据集合并返回根据生产数据集合确定产线的最佳生产调度方案的步骤。本发明实现了制衣订单投产的自动调度和智能优化,提高了实时订单的响应速度、产线设备的利用率和生产效率。
Description
技术领域
本发明涉及制衣生产技术领域,尤其是一种制衣生产的动态调度方法、系统和存储介质。
背景技术
制衣产业是传统的优势产业和民生产业。制衣产业聚集了大量的劳动力资源,其产品订单相对较少,但是产品订单倾向于个性化定制,款式多种多样,易于随时变化。由于制衣生产的交货期限通常较为紧迫,因而对制衣的生产过程的敏捷性具有较高的要求。目前,大部分制衣企业仍以人工经验为主导来进行生产调度,智能化水平相对较低,无法充分地发挥车间制造资源的潜力,从而导致车间设备的利用率较低,订单的响应速度较慢,影响了投产的准时性和敏捷性。并且,生产过程中的瓶颈问题主要依赖人工现场管理来解决,导致瓶颈问题难以及时解决,从而影响了制衣产线的连续性和稳定性,进而导致生产效率降低。
发明内容
本发明的目的在于至少一定程度上解决现有技术中存在的技术问题之一。为此,本发明的目的在于提供一种制衣生产的动态调度方法、系统和存储介质。
为了达到上述技术目的,本发明实施例所采取的技术方案包括:一方面,本发明实施例提供了一种制衣生产的动态调度方法,包括以下步骤:
获取制衣吊挂产线的工位数据集合、订单数据集合、加工进度数据集合和待调度数据集合作为制衣吊挂产线的生产数据集合;其中,每个订单均包含多道工序,每个工位均对应有一台设备和一个工人,每个工位均具备处理至少一道工序的能力;
根据所述生产数据集合,确定制衣吊挂产线的最佳生产调度方案,所述最佳生产调度方案满足订单的完工时间、订单的工序的等待时间和工人的工作负荷最小化;
基于所述最佳生产调度方案将多个订单分配给每个工位,使得每个工人控制其工位上的设备执行相应的工序;
获取至少一个新增的订单,并对每个工位的状态进行检测;
当检测到任一个工位处于完工状态,且此工位具备处理任一新增的订单的首道工序的能力时,更新所述生产数据集合,返回到根据所述生产数据集合,确定制衣吊挂产线的最佳生产调度方案的步骤。
另一方面,本发明实施例提供了一种制衣生产的动态调度系统,包括:
数据获取模块,用于获取制衣吊挂产线的工位数据集合、订单数据集合、加工进度数据集合和待调度数据集合作为制衣吊挂产线的生产数据集合;以及,获取至少一个新增的订单;
数据处理模块,用于根据生产数据集合,确定制衣吊挂产线的最佳生产调度方案;
调度执行模块,用于基于所述最佳生产调度方案将多个订单分配给每个工位,使得每个工人控制其工位上的设备执行相应的工序;
数据更新模块,用于对每个工位的状态进行检测,当检测到任一个工位处于完工状态,且此工位具备处理任一新增的订单的首道工序的能力时,更新生产数据集合,触发数据处理模块,以使得数据处理模块根据生产数据集合,确定制衣吊挂产线的最佳生产调度方案。
又一方面,本发明实施例提供了一种计算机可读存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由处理器执行时用于实现上述的一种制衣生产的动态调度方法。
本发明的有益效果是:提供一种制衣生产的动态调度方法、系统和存储介质,实现对制衣生产之前和制衣生产之后的订单和产线设备的动态调度,提高了制衣吊挂产线的智能化生产水平,减少制衣吊挂产线的管理成本和人工调度的错误发生率,在提高了制衣生产的生产效率和产线设备的资源利用率的同时还提高了实时订单的响应速率,满足投产的准时性和产线的敏捷性的要求,在制衣生产方面具有高可用性。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
图1为本发明提供的一种制衣生产的动态调度方法的流程图;
图2为本发明提供的改进遗传算法的流程图;
图3A为本发明提供的染色体的工序链部分的示例图;
图3B为本发明提供的染色体的机器链部分的示例图;
图4为本发明提供的交叉和变异操作的流程图;
图5为本发明提供的模拟退火操作的流程图;
图6为本发明提供的选择操作的流程图;
图7为本发明提供的Pareto排序结果的示例图;
图8为本发明提供的制衣生产动态调度的示例图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
下面结合说明书附图和具体的实施例对本申请进行进一步的说明。所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
针对相关技术存在的问题和缺陷,本发明提供了一种制衣生产的动态调度方法、系统和存储介质,在制衣生产之前利用已有的订单和工位设备的数据来生成最佳的生产调度方案,根据最佳的生产调度方案开始制衣生产,而在制衣生产的过程中获取新增的订单,并基于改进的重调度机制来触发动态调度区间,在动态调度区间中更新订单和工位设备的数据,利用更新后的数据来更新最佳的生产调度方案,进而实现制衣吊挂产线的订单和设备的动态调度,从而提高制衣生产效率,达到生产与工人无缝协同的效果。
需要说明的是,本发明应用于制衣吊挂产线的多个性化订单投产的场景,在本场景下,每个订单均包含多道工序,每个工位均对应有一台设备和一个工人,每个工位均具备处理至少一道工序的能力。
首先,下面将结合附图详细描述本发明提供的一种制衣生产的动态调度方法的实施步骤。
本发明实施例中的方法,可应用于终端中,也可应用于服务器中,还可以是运行于终端或服务器中的软件等。终端可以是平板电脑、笔记本电脑、台式计算机等,但并不局限于此。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络、以及大数据和人工智能平台等基础云计算服务的云服务器。
参照图1,图1为本发明提供的一种制衣生产的动态调度方法的流程图,所述方法可以包括但不限于如下步骤S1-S6。
S1,获取制衣吊挂产线的工位数据集合、订单数据集合、加工进度数据集合和待调度数据集合作为制衣吊挂产线的生产数据集合。
需要说明的是,工位数据集合用于记录每个工位的编号、设备信息、工人信息、生产能力信息和工序的完工时间等工位相关数据;订单数据集合用于记录每个订单的编号、到达产线的到达时间和加工的工序信息等订单相关数据;加工进度数据集合用于记录每个订单的每道工序被执行的情况;待调度数据集合用于记录在当前的动态调度区间被触发之前到达产线且被调度的工序信息。
本步骤中,在制衣生产之前,获取已有的工位设备数据和已有的订单数据,通过已有的工位设备数据和已有的订单数据来构建工位数据集合、加工进度数据集合、订单数据集合和待调度数据集合,进而建立制衣吊挂产线的生产数据集合。
S2,根据生产数据集合,确定制衣吊挂产线的最佳生产调度方案。
需要说明的是,最佳生产调度方案须满足订单的完工时间最小化、订单的工序的等待时间最小化和工人的工作负荷最小化。
S3,基于最佳生产调度方案将多个订单分配给每个工位,使得每个工人控制其工位上的设备执行相应的工序。
本步骤中,在确定最佳生产调度方案之后,依据最佳生产调度方案将多个订单分配给每个工位,每个工人将控制其工位上的设备执行相应的工序,从而开始制衣生产。
S4,获取至少一个新增的订单,并对每个工位的状态进行检测。
S5,判断是否检测到任一个工位处于完工状态,且此工位具备处理任一新增的订单的首道工序的能力。若是,则进入到S6。
S6,更新生产数据集合,返回到根据生产数据集合,确定制衣吊挂产线的最佳生产调度方案的步骤。
相关技术中,传统的重调度机制一般包括基于周期驱动的滚动调度机制和基于事件驱动的滚动调度机制,这两种机制均未考虑到订单式生产中订单动态到达的过程,因而不能被直接应用于个性化定制生产中。例如,在基于周期驱动的滚动调度机制中,将会出现不同调度区间内到达的订单数量存在较大差别的情况,从而造成工人长时间闲置或者设备长期待机,难以找到合适的调度区间;再例如,基于事件驱动的滚动调度机制是为了保证生产的连续性而提出的机制,其仅适用于解决生产系统出现的瓶颈,不适用于实时订单的投产场景。
针对本发明中制衣吊挂产线的多个性化订单投产的场景,本发明对重调度机制的驱动方式进行改进,以吊挂工位设备的完工时间为基准来进行动态调度区间的驱动,当检测到任一个工位处于完工状态,且此工位具备处理任一新增的订单的首道工序的能力时,动态调度区间被触发。在每个动态调度区间内,更新制衣吊挂产线的生产数据集合,并返回到步骤S2,以更新最佳生产调度方案,实现对实时产生的订单和生产中的设备的动态调度。其中,动态调度区间的生成时刻为上一周期设备的完工时刻,这样不仅可以保证产线生产的连续性,还可以自适应地调度订单和设备,从而提高调度性能和生产效率。
可选地,在触发动态调度区间之后,实时采集制衣吊挂产线的工位状态信息、订单的工序状态信息以及产线资源情况等数据,并利用实时采集的数据来更新生产数据集合。其中,工位状态信息主要包括工位的状态以及工位的可用时间;订单的工序状态信息用于表征订单的工序的状态,即工序被执行的情况;产线资源情况主要包括工位的设备信息、工人信息等静态数据以及工位的生产能力信息。可选地,工位的状态包括完工状态或者未完工状态中的任一种,工序的状态包括已加工状态、正在加工状态或者未加工状态中的任一种。
在本发明的一些实施例中,参照图1,对于步骤S5,若检测到没有工位处于完工状态,和/或,处于完工状态的工位不具备处理任一新增的订单的首道工序的能力,动态调度区间不会被触发,即不会对制衣吊挂产线的订单和设备进行动态调度,此时返回到步骤S4,以此循环,直到当天的制衣生产结束。
在本发明的一些实施例中,在步骤S1中,定义工位的编号为,工位的总数为/>,订单/>的第/>道工序为/>,订单/>的工序总数为/>,制衣吊挂产线的工位数据集合、订单数据集合和加工进度数据集合具体包括如下数据内容:
1)工位数据集合包括:
工位设备信息集合W,其用于存储每个工位的编号,以及每个工位上的工人和设备的信息。工位使用三元数组/>来表示,其中,/>表示工位的工人的信息,/>表示工位的设备的信息。
工位生产能力集合,其用于存储每个工位处理工序的能力。对于工位/>,其工位生产能力集合/>使用数组/>表示,/>表示工位/>上有能力处理的工序集合,/>为对应工序在工位/>上的加工时间集合。
工位可用时间集合,其用于存储每个工位的工序的完工时间。其中,/>表示工位/>的工序的完工时间,/>或/>,/>为工位对应的当前工序的完工时间。当/>时代表工位/>空闲,即其处于完工状态;当时,代表工位/>正在加工,即其处于未完工状态,最早在/>后才能开始投入生产。实际上,集合/>也可以代表制衣吊挂产线在某一时刻的工位的占用状态,其在生产过程中实时更新。
2)订单数据集合包括:
订单集合J,其用于存储每个订单的订单编号。
订单到达时间集合,其用于存储每个订单到达制衣吊挂产线的到达时间,其中,/>表示订单/>的到达时间,若订单在开始生产之前到达则其到达时间为0s。
订单工序集合,其用于存储每个订单的所有工序,其中,/>与集合/>的/>对应。集合/>将随着订单的持续到达而持续更新,在进行动态调度时,本发明将根据集合/>为集合/>中的每道工序按顺序分配工位。
3)加工进度数据集合包括:
已加工工序集合,其用于记录处于已加工状态的工序,若/>中,则代表订单的第/>道工序已经完成加工。
正在加工工序集合,其用于记录当前时刻处于正在加工状态的工序和工序所在的工位,若/>,则代表订单/>的第/>道工序此时正在工位/>上进行加工。
未加工工序集合,其用于记录调度方案中处于未加工状态的工序,若/>,则代表订单/>的第/>道工序已安排生产但未完工。
4)待调度工序集合,其用于记录在当前动态调度区间被触发之前新增的订单的工序。由于订单到达的时刻通常位于调度方案的生成时刻之后,在生成调度方案之后到达的订单需要等待下一个动态调度区间才能进行调度,因此本发明通过集合/>来记录在当前动态调度区间被触发之前待调度的订单的工序。
在本发明的一些实施例中,在步骤S2之前,所述方法还可以包括如下步骤:
遍历制衣吊挂产线的生产数据集合当中的所有数据,对数据进行清洗,并对不完整的数据进行调整和修改,删除其中重复的数据。
在本发明的一些实施例中,在制衣生产之前或者制衣生产之后的动态调度区间内,利用改进的基于模拟退火的遗传算法,结合生产数据集合,求解最优的生产调度方案,利用最优的生产调度方案进行制衣生产的投产调度。具体地,参照图2,图2是本发明提供的改进遗传算法的流程图,步骤S2可以包括但不限于如下步骤S21-S28。
S21,染色体编码:确定生产调度方案的编码结构为工序链和机器链的双层编码结构。
本步骤中,将染色体表达为基因的过程,称之为编码。根据本发明的应用场景,本发明采用工序链和机器链的双层编码结构来对种群的个体进行编码。其中,每层染色体的长度随调度区间的变化实时调整,长度一般为本次调度的工序数量。
对于工序链部分,工序链部分包括若干个订单的编号,即染色体中工序链部分的基因对应于订单在调度区间内的编号。其中,订单的编号第/>次出现表示订单/>的第/>道工序/>。示例性地,参照图3A,染色体中工序链部分表示的是 。
对于机器链部分,机器链部分包括处理每个订单的每道工序的工位的编号,其中,工位的编号的排序表示工序执行的先后顺序。示例性地,参照图3B,染色体中机器链部分表示的是4个订单共17道工序在4个工位上的加工安排,当机器链部分中表示的订单的投产顺序为 时,订单1的4道工序分别被安排在工位/>,订单2的4道工序依次安排在工位/>,订单3-4以此类推。
可选地,在步骤S21之前,所述方法还包括初始化遗传算法的参数的步骤。其中,算法的参数主要包括种群规模POP、最大迭代次数、交叉率/>和变异率/>。其中POP和/>代表种群中的染色体个数和迭代次数,种群规模越大,多样性越高,算法全局搜索能力越强,收敛速度越慢,所以要设置对应更大的最大迭代次数。设置/>,,初始温度/>,温度衰减系数/>。
S22,种群初始化:根据生产数据集合,初始化种群,得到初始种群,并初始化迭代次数。
可以理解的是,种群中的个体即为染色体,种群的个体包括工序链部分和机器链部分。
本步骤中,首先,通过订单数据集合,确定每个订单的编号和工序数量,利用每个订单的编号和工序数量,依次重复生成每个订单的编号,并通过多个订单的编号构建编号序列,之后随机打乱编号序列中的编号的次序,进而得到工序链部分。然后,构建空白的初始链,并从工序链部分当中查找每个订单的编号的出现的位置,结合工位数据集合,构建每个订单的每道工序的工位列表,其中,每个订单的每道工序的工位列表包括处理每个订单的每道工序的多个工位。之后,对于每个订单的每道工序,从对应的工位列表中选择一个处理该工序的工位,并在初始链对应的位置随机生成处理该工序的工位的编号。当所有订单的所有工序均选择对应的工位进行处理时,获取初始链作为机器链部分,通过机器链部分和工序链部分构成初始种群的一个个体。当初始种群中的个体的数量未满足种群规模时,返回到通过订单数据集合,确定每个订单的编号和工序数量的步骤,直到初始种群中的个体的数量满足种群规模,输出初始种群。
S23,适应度函数的构建:通过第一目标函数、第二目标函数和第三目标函数构建适应度函数。
本步骤中,定义如下二元变量:
;
;
;
;
而适应度函数受到约束条件的约束,约束条件具体包括:
约束1,每个工位均设置有一台设备:
;
约束2,每个工位均安排一位工人加工:
;
约束3,同一时刻每个工位只能加工一道工序:
;
其中,M为一个极大数,为订单/>的第/>道工序在工位/>上加工的开始时间,表示订单/>的第/>道工序在工位/>上的完工时间,/>为订单/>的第/>道工序在工位/>上加工的开始时间,/>表示订单/>的第/>道工序在工位/>上的完工时间。其中,上述时间数据均可以通过工位数据集合来得到。
约束4,订单的工序在对应的工位上加工的最早开始时间在该工序的前一道工序加工完成之后并且在对应的工位的上一道工序完工之后。即,订单的第/>道工序在工位/>上的加工的最早开始时间在订单/>的第/>道工序加工完成之后并且在工位/>的上一道工序完工之后:
;
其中,表示订单/>的第/>道工序在工位/>上的上一道工序/>的完工时间,其表示上一道工序的完成时间;/>表示订单/>的第/>道工序在工位/>上的完工时间,其表示上一道工序在另一个工位/>上的完成时间;/>表示工序/>在工位/>上的上一道工序。
约束5,订单在客户下单后(即到达产线后)才能安排生产:
;
其中,表示订单/>的下单时间,即订单/>到达产线的时间,其可以通过订单数据集合来获取;/>表示对订单/>的第/>道工序进行加工的工位集合。若订单/>已经开始加工,即,则不再考虑其下单时间/>,否则需要满足约束5。
约束6,每道工序必须被加工一次:
。
约束7,每道工序的实际加工时长为每道工序的标准加工时长与工人的加工效率的比值:
其中,表示订单/>的第/>道工序在工位/>上的标准加工时长,/>表示订单/>的第/>道工序在工位/>上的实际加工时长,/>为工位/>上的工人的加工效率。
可选地,工位上的工人的加工效率/>满足:/>,/>是一个常数,表示标准工作效率;/>表示工位/>上工人在某一时间段内生产的工序数量;/>表示工位上工人在相同时间段内所需的总的工作时长。以上数据可通过历史存储的数据来得到,从而计算得到工位/>上的工人的加工效率。
约束8,工序的完工时间等于其加工的开始时间与工序的实际加工时长之和:
;
由于工序一旦开始加工便不能中断,因此工序的完工时间等于其加工的开始时间与工序/>的实际加工时长之和。若该工序在周期结束时刻处于正在加工的状态,那么其也会继续完成加工。下一周期对应工位的最早加工时间等于该工序的完成时间。
基于上述约束条件,本发明实施例的适应度函数主要包括三个部分,具体如下:
1)第一目标函数,其用于表征订单的完工时间最小化。产线的生产效率可以用所有订单的完工时间来表示,单位时间内订单的完工时间越短,产线的生产效率越高,因此可得到如下第一目标函数:
;
式中,表示第一目标函数,/>为总订单数,/>表示订单/>的所有工序的完工时间。
2)第二目标函数,其用于表征订单的工序的等待时间最小化。以最小化工序等待时间为目标,减少工位的设备空转和人员闲置现象,从而可得到如下第二目标函数:
;
式中,表示第二目标函数,/>是工位的总数,/>为订单/>在工位/>加工的工序总数,/>表示订单/>的第/>道工序在工位/>上的最早加工时间,/>表示订单/>的第道工序在工位/>上的完工时间。需要说明的是,工位/>表征的是处理订单/>的第/>道工序的上一道工序的工位,工位/>和工位/>可以是同一个工位,也可以是不同的工位。根据约束条件可知,该工序只能在订单的上道工序加工完成且工位/>不被占用的时候进行安排生产,因此,/>。当所有已投产的订单的上道工序加工完成且下道工序都能够立即安排生产时,/>为0,即最小值。
3)第三目标函数,其用于表征工人的工作负荷最小化。在不考虑订单的优先级,而采用先来先做的规则时,工作负荷可以简单地表示为工人需要完成的工序数量和工序的加工时长的组合,因而可得到如下第三目标函数:
;
其中:,/>;
其中,表示第三目标函数,/>和/>是权重,用于调整工序数量和加工时长的相对重要性;/>表示工位/>上工人的工作负荷,可以表示为工位/>上订单工序数量的总和;/>表示工位/>上工人需要完成的工序的加工时长(即标准加工时长)的总和。
基于上述第一目标函数、第二目标函数和第三目标函数,可以得到如下适应度函数:
。
S24,交叉和变异操作:将当前种群作为父代种群,对父代种群进行交叉操作和变异操作,得到第一子代种群。
本步骤中,对染色体的工序链部分使用改进的POX交叉方法,该方法能够满足子代染色体合法性的同时,继承父代个体的优良特征。而对染色体的机器链部分不进行交叉操作。具体地,参照图4,步骤S24可以包括如下步骤S241-S243:
S241,确定父代种群中参与交叉操作的个体作为父代染色体,对于任意两条父代染色体,执行如下交叉操作的步骤S2411-S2415:
S2411,定义两条父代染色体为第一父代和第二父代/>,从第一父代/>或者第二父代/>中随机选择一个分割点,通过分割点将若干个订单的编号随机分为两组编号,其中一组编号被存储于第一集合/>,另一组编号则被存储于第二集合/>。
S2412,获取适应性参数。
需要说明的是,适应性参数满足:;
其中,表示适应性参数,/>表示用于控制随机性的程度的约束权重,/>;和/>是从概率分布中生成的随机数,/>和/>均包括概率分布、均匀分布或者正态分布中的任一种的随机数。/>在随机性和非随机性之间平衡,其受到/>的约束,/>越接近于0,/>越接近于/>,进而引入更多的随机性,而/>越接近于1,/>越接近于/>,进而引入更少的随机性。
S2413,判断适应性参数是否小于引入阈值。若是,则进入S2414,否则进入S2415。
可以理解的是,引入阈值可以根据实际情况而定,本发明对此不作具体限定。
本步骤中,通过适应性参数的值来决定是否引入随机性,并且控制随机性的引入程度。
S2414,当适应性参数小于引入阈值时,使用标准的POX交叉操作,即将第一父代中与第一集合/>对应的序列复制到第一子代/>中,第一子代/>中的剩余部分则由第二父代/>中与第二集合/>对应的序列填充;同时,将第二父代/>中与第一集合/>对应的序列复制到第二子代/>,第二子代/>中的剩余部分则由第一父代/>中与第二集合/>对应的序列填充,进而得到第一子代/>和第二子代/>。
S2415,当适应性参数大于或等于引入阈值时,首先,随机选择一个交叉点为交叉位置Cp,交叉位置Cp位于染色体上且范围为[0,L],L为染色体的长度,然后确定染色体的第一部分为染色体的首部到交叉位置Cp的部分,确定染色体的第二部分为染色体的交叉位置Cp到尾部的部分。之后,将第一子代的第一部分填充为第一父代/>的第一部分,将第一子代/>的第二部分填充为第二父代/>的第二部分;同时,将第二子代/>的第一部分填充为第二父代/>的第一部分,将第二子代/>的第二部分填充为第一父代/>的第二部分,进而得到第一子代/>和第二子代/>。可以理解的是,第一子代/>为第一父代/>的子代染色体,第二子代/>为第二父代/>的子代染色体。
本步骤中,交叉操作引入了随机性,因为交叉位置是随机选择的,所以具体的交叉点的位置将会不断地变化,进而增加了个体的多样性。这个操作在允许子代继承父代的优良特征的同时引入了一定程度的变异性。
S242,当所有参与交叉的个体均完成上述交叉操作的步骤时,生成由多个子代构成的种群,即交叉操作后的种群。
S243,对交叉操作后的种群进行变异操作,得到变异操作后的子代种群,即第一子代种群。
本步骤中,采用两点变异的方式对交叉操作后的种群的个体的工序链部分进行变异操作,即在染色体上随机选择两道工序,对应基因进行交换,同时采用随机替换的方式对交叉操作后的种群的个体的机器链部分进行变异操作,即通过随机选择一个订单的其中一道工序,随机选择出其中一个可加工该工序的工位作为替换,从而完成变异操作。
S25,模拟退火:对第一子代种群的所有个体进行模拟退火,当退火温度未达到终止温度时,通过适应度函数对第一子代种群中的每个个体进行保留处理,更新第一子代种群,之后按照预设的退火率降温,将第一子代种群作为当前种群,返回到步骤S24,直到退火温度达到终止温度。
本步骤中,为了增强算法的局部搜索能力并更好地跳出局部最优解,引入模拟退火思想,以一定的概率接受差解,从而在算法的优化过程中更好地探索解空间。具体地,参照图5,在每次遗传算法迭代的选择操作之前,选择变异操作后的子代种群当中的所有染色体作为待模拟退火的解集合,并对选定的解进行模拟退火操作,其具体步骤如下:
首先,对第一子代种群的所有个体进行模拟退火。当退火温度未达到终止温度时,确定第一子代种群中的每个个体的父代染色体。然后,通过适应度函数计算第一子代种群中的每个个体的适应度值和每个个体的父代染色体的适应度值。之后,对于第一子代种群中的每个个体,判断个体与其父代染色体的适应度差值是否小于零。若是,直接保留个体并更新第一子代种群。若否,按照一定的概率来接受个体并更新第一子代种群。
更为具体地,在模拟退火操作中,当退火温度未达到终止温度时,本发明实施例记录交叉、变异操作之前和操作之后的解(即染色体),并利用前述步骤中构建的适应度函数来计算这两个解的适应度的差值,并根据boltzmann分布计算接受新解的概率,当适应度的差值时,直接接受新解,反之则以/>的概率接受新解,具体公式如下:
;
其中:;
其中,表示新解的适应度值,即第一子代种群中的个体的适应度值,表示旧解的适应度值,即第一子代种群中的个体的父代的适应度值;表示新解与旧解的适应度差值,K为Boltzmann常数,通常取一个合适的正常数,T为当前温度,用于控制在开始时接受较差解的概率。
如果子代更优,直接接受子代作为新解。如果子代比父代更差,以一定的概率(基于温度和目标函数差异)来决定是否接受较差解。最后,在每个模拟退火迭代中,逐渐降低温度。当较高的温度时,更容易接受较差解,而随着温度的降低,接受较差解的概率减小,算法逐渐收敛。
本发明实施例在交叉之后引入模拟退火步骤,利用模拟退火的核心机制Metropolis准则,即在交叉和变异操作得到子代个体后,比较子代与父代之间的适应度,并根据适应度的差值以概率接受子代个体。这样能够使得算法在整体搜索能力方面拥有把握总体的能力,既能够保证遗传算法具有较快的收敛速度,又可以通过模拟退火算法的思想补偿遗传算法在局部搜索上的弱点,有效地避免算法陷入“早熟”。
S26,选择操作:当退火温度达到终止温度时,将第一子代种群与其父代种群进行合并,得到合并后的种群,对合并后的种群进行选择操作,得到第二子代种群。
本步骤中,将经过模拟退火搜索的子代染色体与父代染色体合并得到新的种群,并使用Pareto方法对新的种群进行排序划分等级,保留支配等级较高的染色体,从而完成选择操作,参照图6,其具体步骤如下:
S261,利用Pareto方法对合并后的种群的个体进行排序,得到多个等级集合。
本步骤中,每个等级集合包括多个处于同一支配等级的个体,等级集合的排序越靠前,等级集合的支配等级越高。对于目标的/>,任意染色体/>,若对/>有/>,且/>,则称染色体/>支配染色体/>。根据解的支配关系,可以对种群中的染色体进行Pareto排序,支配等级最高的个体构成的集合称为Pareto最优解或者非支配解,不存在上述支配关系的个体将归纳为同一个等级,以此类推可以将种群中的所有染色体进行分级。示例性地,对于本发明的任意两个目标函数,其Pareto排序结果如图7所示。
更为具体地,Pareto排序的实现过程包括:
第一步,遍历合并后的种群中的每个个体,判断每个个体与种群中的其他个体的支配关系。若其为非支配解,将该个体从合并后的种群中取出并存入到第级等级集合中,进入到第四步。其中,/>的初始值为1。否则,对下一个个体进行判断。
第二步,当种群中的所有个体均确定支配关系,令等于/>+1,进入到下一步。
第三步,判断种群中的所有个体是否均被划分到对应的等级集合中,若是,输出多个等级集合;若否,返回到第一步。
S262,计算每个等级集合中的个体的拥挤度。
本步骤中,非支配遗传算法在迭代寻优时,支配程度较高的个体将被保留进入下一代,这有利于算法向解的改善的方向搜索。随着算法运行,种群中非支配个体将会随之增加,若采用传统的随机选择的策略,算法将难以收敛至 Pareto 最优边界。对此,本发明采用Pareto等级相同解的选择策略,即计算同等级个体拥挤度的方法,来保留种群的多样性。更为具体地,本发明实施例通过拥挤度用来衡量个体与周围个体间的密度的指标,个体的拥挤度满足如下公式:
;
其中,为个体/>的拥挤度,/>为目标函数的数量,/>为个体/>在第个目标函数上的标准化适应度值,/>为个体/>在第/>个目标函数上的标准化适应度值。对于第/>个目标函数,个体/>的标准化适应度值满足如下公式:
;
其中,为个体/>在第/>个目标函数上的标准化适应度值,/>为个体/>在第/>个目标函数上的适应度值,/>为所有个体在第/>个目标函数上的最小适应度值,为所有个体在第/>个目标函数上的最大适应度值。
由于拥挤度可以用来表示个体与其相邻个体之间在不同目标函数上的聚类距离,比如如图7所示的结果图,其展示了两个目标函数中染色体的拥挤度的几何意义,其中,/>表示第一目标函数,/>表示第二目标函数,即可以表示为相邻染色体之间长宽的距离之和。若拥挤度越小这说明个体间差异越不明显,不利于保持种群的多样性。对于同一等级的个体,选择拥挤度较大的个体进行保留。
S263,判断迭代次数是否大于最大次数的预设倍数;若是,进入S264,否则进入S265。
需要说明的是,预设倍数大于0且小于1。可选地,预设倍数为0.8倍。
S264,不保留排序后5%的等级集合中的所有个体,并从每个排序大于排序阈值的等级集合当中选择一定数量且拥挤度低于拥挤阈值的个体,直到选择的个体的数量达到种群规模,生成第二子代种群。
S265,选择排序后5%的等级集合中的所有个体,并从每个排序大于排序阈值的等级集合当中选择一定数量且拥挤度低于拥挤阈值的个体,直到选择的个体的数量达到种群规模,生成第二子代种群。
S27,算法结束的判断:判断迭代次数是否达到最大次数。若是,进入到S28;否则,将第二子代种群作为当前种群,返回步骤S24,并更新迭代次数。
可以理解的是,最大次数可以根据实际情况而设置,本发明对此不作具体限定。
S28,获取第二子代种群的最优个体并进行解码处理,得到最佳生产调度方案。
本步骤中,根据前述工序链和机器链的双层编码结构,对第二子代种群的最优个体进行解码处理,解码过程为将染色体信息翻译成调度方案信息的过程,解码的过程具体如下:
第一步,从左到右扫描染色体的工序链部分的编码信息,每次扫描得到一个基因信息。
需要说明的是,每个基因信息均包括对应的单个订单的编号和工序次序。
第二步,对于每次扫描得到的基因信息,基于订单的编号和工序次序,读取染色体的机器链部分,得到工序及其上道工序对应的工位;
第三步,根据约束条件,工序的加工的开始时间为其上道工序的完工时间。其中,若工序为订单的首道工序,则其上道工序的完工时间为零。
第三步,计算工序的实际加工时长和加工的开始时间的总和作为工序的完工时间,并更新处理工序的工位的最早加工时间;
第四步,若染色体中的工序链部分的基因全部被扫描,则解码结束,输出最佳生产调度方案;反之,返回第一步,扫描下一个基因信息。
下面将以一个实施例来对本发明提供的方法的实现原理进行说明。本实施例中,制衣吊挂产线的生产调度可以分为静态阶段和动态阶段。参照下表1,表1所示为本实施例提供的调度示意表,表1中描述了4个工位和6个订单的简单调度,其中,数据显示了订单的工序在各个工位的加工时间,“/”表示工位不具备加工工序的能力。t=0s时为生产开始之前,对应于静态阶段;t>0s为生产开始之后,对应于动态阶段。
表1:
对于静态阶段,在当前生产开始之前,预先构建工位数据集合、加工进度数据集合、订单数据集合和待调度数据集合,并将已有的订单数据和工位设备数据添加到工位数据集合和加工进度数据集合,得到生产开始之前的生产数据集合。当t=5s时订单4和订单5到达制衣吊挂产线,静态阶段中吊挂产线的生产数据集合的构建过程描述如下:
当t=0s时,意味着制衣生产还没有开始,对于订单数据集合,有: ;对于工位数据集合,有:/>
。由于制衣生产尚未开始,因而/>。
在得到生产开始之前的生产数据集合之后,通过本发明提供的改进后的基于模拟退火的遗传算法,求解得到生产之前的最佳生产调度方案,利用最佳生产调度方案来开始当天的制衣生产。
对于动态阶段,在制衣生产的过程中,检测是否有新增的订单,当有新增的订单时根据新增的订单的数据来更新订单数据集合和待调度数据集合,并检测每个工位的状态。当检测到任一个工位处于完工状态,且此工位具备处理任一新增的订单的首道工序的能力时,触发动态调度区间;反之,不触发动态调度区间,返回到更新加工进度数据集合和工位数据集合的步骤。
在动态调度区间中,参照上表1,首先,更新生产数据集合。当t=5s时订单4和订单5到达制衣吊挂产线,新增编号集合,新增订单到达时间集合/>,新增订单工序集合/>。由于产线中的工位的设备和工人的配置并未改变,因此不需要更新工位设备信息集合W,仅根据新增的订单来更新工位加工能力集合和工位可用时间集合。对于工位加工能力集合的更新,令/>, 。
对于工位可用时间集合的更新,如表1所示,当t=5s时,工位1和工位4完工,工位2尚未开始加工,意味着工位1-2和4都可以被投入使用,而工位3正在加工,加工过程将会持续到t=10s的时候,因此,更新。与此同时,更新加工进度数据集合,/>,/>,。其中,/>为表1中t=5s时已经进行调度安排(即根据静态阶段得到的最佳生产调度方案进行调度)但是未开始加工的工序,/>在/>的基础上新增了新到订单4和订单5的工序。
在生产数据集合更新之后,通过本发明提供的改进后的基于模拟退火的遗传算法,求解新的最佳生产调度方案,并根据新方案对新增的订单、已有的订单和设备进行投产调度,从而实现对新增的订单4和订单5以及已有订单和设备的调度。
在完成t=5s时新增的订单的调度之后,当t=9s时工位1完成加工,并且工位1可以处理新增的订单的首道工序,则触发动态调度区间,生成新的调度区间。具体地,如图8所示,t=9s时,工位1的2-1、3-1、3-2的生产任务全部完成,此时新的订单的首道工序符合工位1的做工要求,此时触发动态调度区间;此外,t=9s时,工位3的2-2的生产任务完成。在t=9s后未开始加工的工序如0-4、2-3、3-3,它们将与信道的订单工序一并加入到下一个调度区间内安排生产。即,在当前的动态调度区间内,在未更新最佳生产调度方案之前,位于最佳生产调度方案中但未开始加工的订单的工序以及新增的订单的工序一并加入到生产数据集合中的待调度数据集合。而工位2中正在加工的工序将持续到t=12s时完成,工位4中正在加工的工序将持续到t=10s时完成,下一个周期的调度方案将依据t=9s时刻后的更新的生产数据集合生成。以此循环,直到当前的制衣生产结束。
另外,本发明实施例提供了一种制衣生产的动态调度系统,包括:
数据获取模块,用于获取制衣吊挂产线的工位数据集合、订单数据集合、加工进度数据集合和待调度数据集合作为制衣吊挂产线的生产数据集合;以及,获取至少一个新增的订单。
数据处理模块,用于根据生产数据集合,确定制衣吊挂产线的最佳生产调度方案。
调度执行模块,用于基于所述最佳生产调度方案将多个订单分配给每个工位,使得每个工人控制其工位上的设备执行相应的工序;
数据更新模块,用于对每个工位的状态进行检测,当检测到任一个工位处于完工状态,且此工位具备处理任一新增的订单的首道工序的能力时,更新生产数据集合,触发数据处理模块,以使得数据处理模块根据生产数据集合,确定制衣吊挂产线的最佳生产调度方案。
可选地,所述系统还可以包括:可视化操作模块,其用于将数据获取模块、数据处理模块、调度执行模块和数据更新模块的操作过程进行可视化。
上述方法实施例中的内容均适用于本系统实施例中,本系统实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
此外,本发明实施例还提供了一种计算机可读存储介质,其中存储有处理器可执行的程序,处理器可执行的程序在由处理器执行时用于执行上述的一种制衣生产的动态调度方法。
同理,上述方法实施例中的内容均适用于本存储介质实施例中,本存储介质实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
综上可见,本发明具有如下技术效果:
在生产数据集合构建方面,本发明基于工位设备的数据和订单的数据以及在生产过程中的动态数据来构建应用于制衣吊挂订单投产场景的生产数据集合,能够更加合理的聚合订单和供需,有利于加快算法的收敛。
在动态调度区间的触发方面,本发明按照吊挂工位设备的工位时间来触发动态调度区间,令每次动态调度区间的生成时刻为上一周期设备的完工时刻,在保证连续生产的同时能够自动适应每次投产订单的数量,从而提高调度性能。
在遗传算法的改进方面,首先,本发明对编码进行了改进,使用工序链和机器链两种编码方式以适应多个性化订单融合投产的应用场景。其次,在交叉和变异操作之后,本发明引入了模拟退火操作,利用模拟退火的核心机制Metropolis准则,即在交叉和变异操作得到子代个体后,基于适应度函数来比较子代与父代之间的适应度的差值,根据Metropolis准则以概率接受子代个体。这样的改进遗传模拟退火算法在整体搜索能力方面拥有把握总体的能力,可以保持遗传算法较快的收敛速度,又可以通过模拟退火算法的思想补强其在局部搜索上的弱点,有效避免算法陷入“早熟”。
再者,在引入模拟退火思想的遗传算法的基础上再作出改进,在选择操作中添加Pareto机制,使得算法能够寻找多目标问题的满意解。具体地,在模拟退火步骤后,将经过模拟退火搜索的子代染色体与父代染色体合并,依据 Pareto 排序将所有染色体分成若干集合,对于任意两个集合 A、B,若集合A内的染色体在所有目标函数上的表现均不劣于集合B中的染色体,则称集合A支配集合B。对于同一集合内的染色体,则不存在支配关系。即,按照Pareto排序对整个种群进行等级划分,去除支配等级较低的染色体,直至种群规模到达设定值。此外,为了保持种群多样性,本发明在遗传算法迭代的前中期保留Pareto排序后5%进入下一代,对等级相同的染色体计算拥挤度,优先选择拥挤度较低的染色体进行保留;而在迭代的后期则不保留Pareto排序后5%。本发明提供的改进的基于模拟退火的遗传算法能够在吊挂制衣产线的动态调度中更好地解决多目标优化问题,进而有利于寻找到多个权衡的调度方案,求解出最佳的生产调度方案。
总而言之,本发明通过改进的遗传算法对制衣生产的静态阶段(即生产开始之前)和动态阶段(即生产开始之后)进行精准调度,实现了订单投产的自动调度和智能优化,提高了制衣吊挂产线的智能化生产水平,解决了传统服装生产企业通过管理人员的经验人工安排订单工序投产以及人员安排的弊端,减少制衣吊挂产线的管理成本和人工调度的错误发生率,在提高了制衣生产的生产效率和产线设备的资源利用率的同时还提高了实时订单的响应速率,满足投产的准时性和产线的敏捷性的要求,在制衣生产方面具有高可用性。
尽管已经示出和描述了本发明的实施方式,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本发明权利要求所限定的范围内。
Claims (8)
1.一种制衣生产的动态调度方法,其特征在于,包括如下步骤:
获取制衣吊挂产线的工位数据集合、订单数据集合、加工进度数据集合和待调度数据集合作为制衣吊挂产线的生产数据集合;其中,每个订单均包含多道工序,每个工位均对应有一台设备和一个工人,每个工位均具备处理至少一道工序的能力;
根据所述生产数据集合,确定制衣吊挂产线的最佳生产调度方案,所述最佳生产调度方案满足订单的完工时间、订单的工序的等待时间和工人的工作负荷最小化;
基于所述最佳生产调度方案将多个订单分配给每个工位,使得每个工人控制其工位上的设备执行相应的工序;
获取至少一个新增的订单,并对每个工位的状态进行检测;
当检测到任一个工位处于完工状态,且此工位具备处理任一新增的订单的首道工序的能力时,更新所述生产数据集合,返回到根据所述生产数据集合,确定制衣吊挂产线的最佳生产调度方案的步骤;
其中,所述根据所述生产数据集合,确定制衣吊挂产线的最佳生产调度方案,包括:
确定生产调度方案的编码结构为工序链和机器链的双层编码结构;
根据所述生产数据集合,初始化种群,得到初始种群,并初始化迭代次数;
其中,种群的个体包括工序链部分和机器链部分,所述工序链部分包括若干个订单的编号,订单的编号第/>次出现表示订单/>的第/>道工序,所述机器链部分包括处理每个订单的每道工序的工位的编号,工位的编号的排序表示工序执行的先后顺序;
构建适应度函数,将当前种群作为父代种群,对所述父代种群进行交叉操作和变异操作,得到第一子代种群;
对所述第一子代种群的所有个体进行模拟退火,当退火温度未达到终止温度时,通过所述适应度函数对所述第一子代种群中的每个个体进行保留处理,更新所述第一子代种群,之后按照预设的退火率降温,将所述第一子代种群作为当前种群,返回到将当前种群作为父代种群,对所述父代种群进行交叉操作和变异操作的步骤,直到退火温度达到终止温度;
当退火温度达到终止温度时,将所述第一子代种群与其父代种群进行合并,得到合并后的种群,对合并后的种群进行选择操作,得到第二子代种群;
当迭代次数未达到最大次数时,将第二子代种群作为当前种群,返回到将当前种群作为父代种群,对所述父代种群进行交叉操作和变异操作的步骤,更新迭代次数,直到迭代次数达到最大次数,获取所述第二子代种群的最优个体并进行解码处理,得到最佳生产调度方案;
其中,所述对合并后的种群进行选择操作,得到第二子代种群,包括:
利用Pareto方法对合并后的种群的个体进行排序,得到多个等级集合;
其中,每个等级集合包括多个处于同一支配等级的个体,等级集合的排序越靠前,等级集合的支配等级越高;
计算每个等级集合中的个体的拥挤度,判断迭代次数是否大于最大次数的预设倍数;其中,所述预设倍数大于0且小于1;
其中,所述拥挤度用于表示个体与其相邻个体之间在不同目标函数上的聚类距离,所述拥挤度满足:
;
其中,为个体/>的拥挤度,/>为目标函数的数量,/>为个体/>在第/>个目标函数上的标准化适应度值,/>为个体/>在第/>个目标函数上的标准化适应度值;
其中,对于第个目标函数,个体/>的标准化适应度值满足:
;
其中,为个体/>在第/>个目标函数上的标准化适应度值,/>为个体/>在第/>个目标函数上的适应度值,/>为所有个体在第/>个目标函数上的最小适应度值,为所有个体在第/>个目标函数上的最大适应度值;
若是,不保留排序后5%的等级集合中的所有个体,并从每个排序大于排序阈值的等级集合当中选择一定数量且拥挤度低于拥挤阈值的个体,直到选择的个体的数量达到种群规模,生成第二子代种群;
若否,选择排序后5%的等级集合中的所有个体,并从每个排序大于排序阈值的等级集合当中选择一定数量且拥挤度低于拥挤阈值的个体,直到选择的个体的数量达到种群规模,生成第二子代种群。
2.根据权利要求1所述的一种制衣生产的动态调度方法,其特征在于,所述构建适应度函数,包括:
通过第一目标函数、第二目标函数和第三目标函数构建适应度函数;
其中,所述第一目标函数表征订单的完工时间最小化,所述第二目标函数表征订单的工序的等待时间最小化,所述第三目标函数表征工人的工作负荷最小化,所述适应度函数受到约束条件的约束;
其中,所述约束条件包括:每个工位均设置有一台设备、每个工位均安排有一位工人、同一时刻每个工位加工至多一道工序、订单的工序在对应的工位上加工的最早开始时间在该工序的前道工序加工完成之后并且在对应的工位的上一道工序完工之后、订单到达产线后投入生产、每道工序被加工一次、每道工序的实际加工时长为每道工序的标准加工时长与工人的加工效率的比值,以及工序的完工时间等于工序的加工的开始时间与工序的实际加工时长之和。
3.根据权利要求1所述的一种制衣生产的动态调度方法,其特征在于,所述对所述父代种群进行交叉操作和变异操作,得到第一子代种群,包括:
确定所述父代种群中参与交叉操作的个体作为父代染色体;
对于任意两条父代染色体,执行如下交叉操作的步骤:
定义两条父代染色体为第一父代和第二父代,从所述第一父代或者所述第二父代中随机选择一个分割点,通过所述分割点将若干个订单的编号随机分为两组编号,其中一组编号被存储于第一集合,另一组编号则被存储于第二集合;
获取适应性参数,其中,所述适应性参数在随机性和非随机性之间平衡,其约束于用于控制随机性的程度的约束权重,当所述约束权重越接近于零,所述适应性参数越接近于第一随机数,进而引入更多的随机性,当所述约束权重越接近于一,所述适应性参数越接近于第二随机数,进而引入更多的非随机性,所述第一随机数和所述第二随机数均包括概率分布、均匀分布或者正态分布中的任一种的随机数;
当所述适应性参数小于引入阈值时,将所述第一父代中与第一集合对应的序列复制到第一子代中,第一子代中的剩余部分则由所述第二父代中与第二集合对应的序列填充,同时将所述第二父代中与第一集合对应的序列复制到第二子代中,第二子代中的剩余部分则由所述第一父代中与第二集合对应的序列填充,进而得到第一子代和第二子代;
当所述适应性参数大于或等于引入阈值时,首先随机选择一个交叉点为交叉位置,所述交叉位置位于染色体上且范围为[0,L],L为染色体的长度,然后确定染色体的第一部分为染色体的首部到交叉位置的部分,确定染色体的第二部分为染色体的交叉位置到尾部的部分,之后将第一子代的第一部分填充为所述第一父代的第一部分,将第一子代的第二部分填充为所述第二父代的第二部分,同时将第二子代的第一部分填充为所述第二父代的第一部分,将第二子代的第二部分填充为所述第一父代的第二部分,进而得到第一子代和第二子代;
其中,所述第一子代为所述第一父代的子代染色体,所述第二子代为所述第二父代的子代染色体;
当所有参与交叉的个体均完成上述交叉操作的步骤时,生成由多个子代构成的种群,即交叉操作后的种群;
对交叉操作后的种群进行变异操作,得到第一子代种群。
4.根据权利要求3所述的一种制衣生产的动态调度方法,其特征在于,所述对交叉操作后的种群进行变异操作,包括:
采用两点变异的方式对交叉操作后的种群的个体的工序链部分进行变异操作;
采用随机替换的方式对交叉操作后的种群的个体的机器链部分进行变异操作。
5.根据权利要求1所述的一种制衣生产的动态调度方法,其特征在于,所述通过所述适应度函数对所述第一子代种群中的每个个体进行保留处理,更新所述第一子代种群,包括:
确定所述第一子代种群中的每个个体的父代染色体,通过所述适应度函数计算所述第一子代种群中的每个个体的适应度值和每个个体的父代染色体的适应度值;
对于所述第一子代种群中的每个个体,判断所述个体与其父代染色体的适应度差值是否小于零;若是,直接保留所述个体并更新所述第一子代种群;若否,以的概率接受所述个体并更新所述第一子代种群,其中,/>为适应度差值,K为Boltzmann常数,T为模拟退火的退火温度。
6.根据权利要求1所述的一种制衣生产的动态调度方法,其特征在于,所述方法还包括如下步骤:
当检测到没有工位处于完工状态,和/或,处于完工状态的工位不具备处理任一新增的订单的首道工序的能力时,返回到获取至少一个新增的订单的步骤。
7.一种制衣生产的动态调度系统,其特征在于,包括:
数据获取模块,用于获取制衣吊挂产线的工位数据集合、订单数据集合、加工进度数据集合和待调度数据集合作为制衣吊挂产线的生产数据集合;以及,获取至少一个新增的订单;
数据处理模块,用于根据生产数据集合,确定制衣吊挂产线的最佳生产调度方案;
调度执行模块,用于基于所述最佳生产调度方案将多个订单分配给每个工位,使得每个工人控制其工位上的设备执行相应的工序;
数据更新模块,用于对每个工位的状态进行检测,当检测到任一个工位处于完工状态,且此工位具备处理任一新增的订单的首道工序的能力时,更新生产数据集合,触发数据处理模块,以使得所述数据处理模块根据生产数据集合,确定制衣吊挂产线的最佳生产调度方案;
其中,所述根据所述生产数据集合,确定制衣吊挂产线的最佳生产调度方案,包括:
确定生产调度方案的编码结构为工序链和机器链的双层编码结构;
根据所述生产数据集合,初始化种群,得到初始种群,并初始化迭代次数;
其中,种群的个体包括工序链部分和机器链部分,所述工序链部分包括若干个订单的编号,订单的编号第/>次出现表示订单/>的第/>道工序,所述机器链部分包括处理每个订单的每道工序的工位的编号,工位的编号的排序表示工序执行的先后顺序;
构建适应度函数,将当前种群作为父代种群,对所述父代种群进行交叉操作和变异操作,得到第一子代种群;
对所述第一子代种群的所有个体进行模拟退火,当退火温度未达到终止温度时,通过所述适应度函数对所述第一子代种群中的每个个体进行保留处理,更新所述第一子代种群,之后按照预设的退火率降温,将所述第一子代种群作为当前种群,返回到将当前种群作为父代种群,对所述父代种群进行交叉操作和变异操作的步骤,直到退火温度达到终止温度;
当退火温度达到终止温度时,将所述第一子代种群与其父代种群进行合并,得到合并后的种群,对合并后的种群进行选择操作,得到第二子代种群;
当迭代次数未达到最大次数时,将第二子代种群作为当前种群,返回到将当前种群作为父代种群,对所述父代种群进行交叉操作和变异操作的步骤,更新迭代次数,直到迭代次数达到最大次数,获取所述第二子代种群的最优个体并进行解码处理,得到最佳生产调度方案;
其中,所述对合并后的种群进行选择操作,得到第二子代种群,包括:
利用Pareto方法对合并后的种群的个体进行排序,得到多个等级集合;
其中,每个等级集合包括多个处于同一支配等级的个体,等级集合的排序越靠前,等级集合的支配等级越高;
计算每个等级集合中的个体的拥挤度,判断迭代次数是否大于最大次数的预设倍数;其中,所述预设倍数大于0且小于1;
其中,所述拥挤度用于表示个体与其相邻个体之间在不同目标函数上的聚类距离,所述拥挤度满足:
;
其中,为个体/>的拥挤度,/>为目标函数的数量,/>为个体/>在第/>个目标函数上的标准化适应度值,/>为个体/>在第/>个目标函数上的标准化适应度值;
其中,对于第个目标函数,个体/>的标准化适应度值满足:
;
其中,为个体/>在第/>个目标函数上的标准化适应度值,/>为个体/>在第/>个目标函数上的适应度值,/>为所有个体在第/>个目标函数上的最小适应度值,为所有个体在第/>个目标函数上的最大适应度值;
若是,不保留排序后5%的等级集合中的所有个体,并从每个排序大于排序阈值的等级集合当中选择一定数量且拥挤度低于拥挤阈值的个体,直到选择的个体的数量达到种群规模,生成第二子代种群;
若否,选择排序后5%的等级集合中的所有个体,并从每个排序大于排序阈值的等级集合当中选择一定数量且拥挤度低于拥挤阈值的个体,直到选择的个体的数量达到种群规模,生成第二子代种群。
8.一种计算机可读存储介质,其中存储有处理器可执行的程序,其特征在于,所述处理器可执行的程序在由处理器执行时用于实现如权利要求1-6任一项所述的一种制衣生产的动态调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410022307.5A CN117522090B (zh) | 2024-01-08 | 2024-01-08 | 一种制衣生产的动态调度方法、系统和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410022307.5A CN117522090B (zh) | 2024-01-08 | 2024-01-08 | 一种制衣生产的动态调度方法、系统和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117522090A CN117522090A (zh) | 2024-02-06 |
CN117522090B true CN117522090B (zh) | 2024-05-07 |
Family
ID=89763052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410022307.5A Active CN117522090B (zh) | 2024-01-08 | 2024-01-08 | 一种制衣生产的动态调度方法、系统和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117522090B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110070235A (zh) * | 2019-05-01 | 2019-07-30 | 湖南大学 | 一种多移动机器人的柔性调度方法 |
CN110501978A (zh) * | 2018-05-18 | 2019-11-26 | 中国科学院沈阳自动化研究所 | 一种机器人产品生产车间排产调度方法 |
CN114610015A (zh) * | 2022-01-21 | 2022-06-10 | 北京理工大学 | 一种带搬运机器人的柔性作业车间动态调度方法及装置 |
WO2022134581A1 (zh) * | 2020-12-24 | 2022-06-30 | 深圳壹账通智能科技有限公司 | 测试用例排序方法及相关设备 |
CN115471133A (zh) * | 2022-10-24 | 2022-12-13 | 北京航空航天大学 | 一种基于订单管理和滚动优化排产的车间综合调度系统 |
CN116774658A (zh) * | 2023-06-16 | 2023-09-19 | 电子科技大学 | 一种物料限制下的柔性作业车间动态调度方法 |
CN117010651A (zh) * | 2023-08-11 | 2023-11-07 | 西安航天自动化股份有限公司 | 一种订单优先级感知的柔性作业车间调度方法 |
-
2024
- 2024-01-08 CN CN202410022307.5A patent/CN117522090B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110501978A (zh) * | 2018-05-18 | 2019-11-26 | 中国科学院沈阳自动化研究所 | 一种机器人产品生产车间排产调度方法 |
CN110070235A (zh) * | 2019-05-01 | 2019-07-30 | 湖南大学 | 一种多移动机器人的柔性调度方法 |
WO2022134581A1 (zh) * | 2020-12-24 | 2022-06-30 | 深圳壹账通智能科技有限公司 | 测试用例排序方法及相关设备 |
CN114610015A (zh) * | 2022-01-21 | 2022-06-10 | 北京理工大学 | 一种带搬运机器人的柔性作业车间动态调度方法及装置 |
CN115471133A (zh) * | 2022-10-24 | 2022-12-13 | 北京航空航天大学 | 一种基于订单管理和滚动优化排产的车间综合调度系统 |
CN116774658A (zh) * | 2023-06-16 | 2023-09-19 | 电子科技大学 | 一种物料限制下的柔性作业车间动态调度方法 |
CN117010651A (zh) * | 2023-08-11 | 2023-11-07 | 西安航天自动化股份有限公司 | 一种订单优先级感知的柔性作业车间调度方法 |
Non-Patent Citations (1)
Title |
---|
基于规则及多色集合的多品种订单调度方法;高丽等;同济大学学报(自然科学版);20130215;第41卷(第02期);第258-263页 * |
Also Published As
Publication number | Publication date |
---|---|
CN117522090A (zh) | 2024-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107168267B (zh) | 基于改进粒子群与启发式策略的生产排产方法及系统 | |
CN110598920B (zh) | 用于铸造并行车间主生产计划的多目标优化方法及系统 | |
Hyun et al. | A genetic algorithm for multiple objective sequencing problems in mixed model assembly lines | |
Son et al. | Multiheuristic approach for resource leveling problem in construction engineering: Hybrid approach | |
Kuo et al. | Application of metaheuristics-based clustering algorithm to item assignment in a synchronized zone order picking system | |
CN110598941A (zh) | 一种基于仿生策略的粒子群优化制造系统双目标排产方法 | |
CN108279647B (zh) | 一种两阶段装配流水车间调度方法 | |
CN113128839B (zh) | 面向高端装备分布式制造与多模式运输的协同调度方法 | |
CN112836974B (zh) | 一种基于dqn和mcts的箱区间多场桥动态调度方法 | |
Salimifard et al. | A multi objective volleyball premier league algorithm for green scheduling identical parallel machines with splitting jobs | |
CN115471133A (zh) | 一种基于订单管理和滚动优化排产的车间综合调度系统 | |
CN111260144B (zh) | 一种差异工件随机到达情况下单机批调度问题的求解方法 | |
CN112631612B (zh) | 一种基于遗传算法的kubernetes云平台配置的优化方法 | |
Xie et al. | A two-workshop collaborative, integrated scheduling algorithm considering the prescheduling of the root-subtree processes | |
CN117522090B (zh) | 一种制衣生产的动态调度方法、系统和存储介质 | |
CN113887782A (zh) | 一种面向维修资源配送调度的遗传-烟花混合方法及系统 | |
CN116644930A (zh) | 一种工业互联网背景的多企业动态任务调度方法及系统 | |
CN115421885B (zh) | 一种分布式多目标云任务的调度方法、装置及云服务系统 | |
CN115730799A (zh) | 一种柔性装配作业车间生产任务调度方法、系统及设备 | |
CN114707707A (zh) | 一种基于改进的遗传算法对agv任务调度的方法及系统 | |
CN109783189A (zh) | 一种静态工作流调度方法与装置 | |
CN110633784A (zh) | 一种多规则人工蜂群改进算法 | |
Chutima et al. | Adaptive biogeography-based optimisation for two-sided mixed-model assembly line sequencing problems | |
CN113010319A (zh) | 混合启发式规则和遗传算法的动态工作流调度优化方法 | |
Han et al. | Hierarchical scheduling for multi-constrained flexible job shop based on heuristic and intelligent optimization algorithms |
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 |