CN117010671B - 基于区块链的分布式柔性车间调度方法和装置 - Google Patents
基于区块链的分布式柔性车间调度方法和装置 Download PDFInfo
- Publication number
- CN117010671B CN117010671B CN202311287675.4A CN202311287675A CN117010671B CN 117010671 B CN117010671 B CN 117010671B CN 202311287675 A CN202311287675 A CN 202311287675A CN 117010671 B CN117010671 B CN 117010671B
- Authority
- CN
- China
- Prior art keywords
- production
- processing
- processed
- processing equipment
- product
- 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
- 238000000034 method Methods 0.000 title claims abstract description 138
- 238000012545 processing Methods 0.000 claims abstract description 306
- 238000004519 manufacturing process Methods 0.000 claims abstract description 285
- 239000000047 product Substances 0.000 claims description 110
- 238000012549 training Methods 0.000 claims description 83
- 230000008569 process Effects 0.000 claims description 52
- 238000003754 machining Methods 0.000 claims description 40
- 230000006870 function Effects 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 16
- 238000003860 storage Methods 0.000 claims description 14
- 238000012797 qualification Methods 0.000 claims description 12
- 238000009826 distribution Methods 0.000 claims description 7
- 239000011265 semifinished product Substances 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 6
- 238000005507 spraying Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000003066 decision tree Methods 0.000 description 2
- 230000002068 genetic effect Effects 0.000 description 2
- 239000013067 intermediate product Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 102100031184 C-Maf-inducing protein Human genes 0.000 description 1
- 101000993081 Homo sapiens C-Maf-inducing protein Proteins 0.000 description 1
- 102000002423 Octamer Transcription Factor-6 Human genes 0.000 description 1
- 108010068113 Octamer Transcription Factor-6 Proteins 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 101150067055 minC gene Proteins 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 239000004065 semiconductor Substances 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
-
- 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/06315—Needs-based resource requirements planning or analysis
-
- 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
- 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/0633—Workflow analysis
-
- 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/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- 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)
- Entrepreneurship & Innovation (AREA)
- Tourism & Hospitality (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Game Theory and Decision Science (AREA)
- Educational Administration (AREA)
- Development Economics (AREA)
- Data Mining & Analysis (AREA)
- Manufacturing & Machinery (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开实施例公开了一种基于区块链的分布式柔性车间调度方法和装置,其中,方法包括:获取加工请求,加工请求包括:多个作业任务,每个作业任务包括:待加工产品、待加工产品的加工类型和待加工产品的工件数量;基于生产工序,从区块链中获取第一生产参数;基于作业任务中的加工类型,确定第二生产参数;根据生产工序、第一生产参数、第二生产参数和各作业任务的工件数量,利用预先训练好的分布式柔性车间调度模型,确定生产方案,其中,分布式柔性车间调度模型包括:目标函数和预设约束条件;基于生产方案进行生产加工,以完成各作业任务,得到各作业任务对应工件数量的待加工产品。本公开实施例实现了对多个作业任务高效的生产加工。
Description
技术领域
本公开涉及区块链技术领域,车间调度技术领域和人工智能技术领域,尤其是一种基于区块链的分布式柔性车间调度方法和装置。
背景技术
由于分布式生产模式具有资源利用效率高、抗风险能力强、可发挥各地区优势制造产业等优点,而被广泛应用在工业产品的生产制造中。在分布式生产模式中,一个工业产品在加工制造时,该工业产品的各生产步骤分别由不同的工厂加工完成,由于不同的工厂通常设置在不同地区,这就使得对各生产步骤之间的调度,对工业产品的加工制造的效率至关重要,因此如何实现高效的分配调度,是一个亟待解决的问题。
发明内容
本公开实施例提供一种基于区块链的分布式柔性车间调度方法和装置,以解决上述技术问题。
本公开实施例的一个方面,提供了一种基于区块链的分布式柔性车间调度方法,包括:获取加工请求,其中,所述加工请求包括:多个作业任务,所述多个作业任务中的各作业任务,所述作业任务包括:待加工产品、所述待加工产品的加工类型和所述待加工产品的工件数量;所述多个作业任务均具有相同的生产工序,所述生产工序包括具有生产顺序的多个生产步骤;基于所述生产工序,从区块链中获取第一生产参数,其中,所述第一生产参数包括:所述多个生产步骤中各生产步骤分别对应的加工设备的数量和待加工产品的半成品在所述多个生产步骤中每两个相邻生产步骤的加工设备之间的运输时间;基于所述作业任务中的加工类型,确定第二生产参数,其中,所述第二生产参数包括:加工设备完成一个生产步骤的作业时长范围、加工设备的启动时间的变化范围和停留时间范围,所述停留时间范围表示:在待加工产品生产过程中,从第一个生产步骤的加工设备结束工作到最后一个生产步骤的加工设备开始工作之间的时间分布范围;根据所述生产工序、所述第一生产参数、所述第二生产参数和所述各作业任务的工件数量,利用预先训练好的分布式柔性车间调度模型,确定各作业任务的生产方案,以使所述多个作业任务的总时间最小化,其中,所述分布式柔性车间调度模型包括:目标函数和预设约束条件,所述目标函数用于最小化完成所述多个作业任务的时间,所述预设约束条件用于约束目标函数中的变量;基于所述生产方案执行所述多个作业任务,得到所述各作业任务对应工件数量的待加工产品。
可选地,在本公开上述任一实施例的方法中,所述预设约束条件包括:对加工设备的生产加工的约束;对所述加工设备所要生产加工的加工类型的约束;对开始加工的约束;对各生产加工步骤对应的加工设备连续加工的约束;对在生产同一加工类型的待加工产品时,各生产加工步骤对应的加工设备连续加工的约束;对所述加工设备上开始加工各加工类型的作业的开始时间的约束;对同一待加工产品的连续的两个生产步骤加工顺序的约束;对同一个加工设备上的连续加工顺序的约束;对于同一加工设备上连续作业时的启动顺序的约束;对在加工设备上各加工类型的作业之间的时间间隔的约束;对多个加工类型的作业在加工设备上的停留时间的约束;对加工设备上多个加工类型的作业的开始时间的约束。
可选地,在本公开上述任一实施例的方法中,所述基于所述生产方案进行生产加工执行所述多个作业任务,以完成所述各作业任务,得到所述各作业任务对应工件数量的目标产品待加工产品之后,还包括:获取各加工设备的设备信息,其中,所述各加工设备中的任一加工设备的设备信息包括:在预设时间段内,由所述任一加工设备加工得到的待加工产品的合格率;根据各设备信息中的待加工产品的合格率,更新所述第一生产参数中的各生产步骤分别对应的加工设备的数量。
可选地,在本公开上述任一实施例的方法中,所述分布式柔性车间调度模型通过如下方式训练得到:获取训练数据集和待训练的混合整数线性规划模型,其中,所述训练数据集包括:多条训练数据;所述多条训练数据中的各训练数据分别包括节点二部图;所述待训练的混合整数线性规划模型包括:初始目标函数和初始预设约束条件;利用所述训练数据集和强分支策略,迭代训练所述待训练的混合整数线性规划模型,直至训练结果满足停止训练条件,得到所述分布式柔性车间调度模型。
可选地,在本公开上述任一实施例的方法中,所述利用所述训练数据集和强分支策略,迭代训练所述待训练的混合整数线性规划模型,直至训练结果满足停止训练条件,得到所述分布式柔性车间调度模型,包括:获取满足所述停止训练条件的待训练的混合整数线性规划模型对应的目标分支决策;对所述目标分支决策进行参数化,得到模型参数;基于所述模型参数和满足所述停止训练条件的待训练的混合整数线性规划模型,得到所述分布式柔性车间调度模型。
可选地,在本公开上述任一实施例的方法中,所述获取训练数据集,包括:利用预设求解器和所述强分支策略对所述待训练的混合整数线性规划模型进行求解,得到所述训练数据集。
本公开实施例的另一个方面,提供了一种基于区块链的分布式柔性车间调度装置,包括:第一获取模块,用于获取加工请求,其中,所述加工请求包括:多个作业任务,所述多个作业任务中的各作业任务,所述作业任务包括:待加工产品、所述待加工产品的加工类型和所述待加工产品的工件数量;所述多个作业任务均具有相同的生产工序,所述生产工序包括具有生产顺序的多个生产步骤; 第一参数获得模块,用于基于所述生产工序,从区块链中获取第一生产参数,其中,所述第一生产参数包括:所述多个生产步骤中各生产步骤分别对应的加工设备的数量和待加工产品的半成品在所述多个生产步骤中每两个相邻生产步骤的加工设备之间的运输时间;第二参数获得模块,用于基于所述作业任务中的加工类型,确定第二生产参数,其中,所述第二生产参数包括:加工设备完成一个生产步骤的作业时长范围、加工设备的启动时间的变化范围和停留时间范围,所述停留时间范围表示:在待加工产品生产过程中,从第一个生产步骤的加工设备结束工作到最后一个生产步骤的加工设备开始工作之间的时间分布范围;方案生成模块,用于根据所述生产工序、所述第一生产参数、所述第二生产参数和所述各作业任务的工件数量,利用预先训练好的分布式柔性车间调度模型,确定各作业任务的生产方案,以使所述多个作业任务的总时间最小化,其中,所述分布式柔性车间调度模型包括:目标函数和预设约束条件,所述目标函数用于最小化完成所述多个作业任务的时间,所述预设约束条件用于约束目标函数中的变量;生产加工模块,用于基于所述生产方案执行所述多个作业任务,得到所述各作业任务对应工件数量的待加工产品。
可选地,在本公开上述任一实施例的装置中,所述预设约束条件包括:对加工设备的生产加工的约束;对所述加工设备所要生产加工的加工类型的约束;对开始加工的约束;对各生产加工步骤对应的加工设备连续加工的约束;对在生产同一加工类型的待加工产品时,各生产加工步骤对应的加工设备连续加工的约束;对所述加工设备上开始加工各加工类型的作业的开始时间的约束;对同一待加工产品的连续的两个生产步骤加工顺序的约束;对同一个加工设备上的连续加工顺序的约束;对于同一加工设备上连续作业时的启动顺序的约束;对在加工设备上各加工类型的作业之间的时间间隔的约束;对多个加工类型的作业在加工设备上的停留时间的约束;对加工设备上多个加工类型的作业的开始时间的约束。本公开实施例的又一个方面,提供了一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现上述的基于区块链的分布式柔性车间调度方法。
本公开实施例的再一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现上述的基于区块链的分布式柔性车间调度方法。
本公开实施例中,先通过各作业任务对应的生产工序和各作业任务的加工类型,确定第一生产参数和第二生产参数,之后利用分布式柔性车间调度模型,对具有相同生产工序的多个加工类型的多个作业任务的生产、调度进行优化规划,能够使完成多个作业任务的总时间最小化,实现了对多个作业任务高效的生产加工。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同描述一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1示出本公开实施例的基于区块链的分布式柔性车间调度方法一个实施例的流程图;
图2示出本公开实施例的基于区块链的分布式柔性车间调度方法另一个实施例的流程图;
图3示出本公开实施例的基于区块链的分布式柔性车间调度方法又一个实施例的流程图;
图4示出本公开实施例的节点二部图的示意图;
图5示出本公开实施例的步骤S320的流程图;
图6示出本公开实施例的基于区块链的分布式柔性车间调度装置一个实施例的结构示意图;
图7为本公开电子设备一个应用实施例的结构示意图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
在本公开实施例中,将每个待加工产品的每个生产步骤对应的生产工作称为一个作业。每个作业的加工类型与该作业对应的待加工产品的加工类型相同。
生产待加工产品的过程中,除由最后一个生产步骤以外的其他生产步骤,加工得到的产品称为该待加工产品的中间品。
在分布式柔性车间调度(Distributed Flexible Flow Shop Scheduling)中,生产工序中的每个生产步骤可以对应多个用于实现该生产步骤的加工设备,每个加工设备可以具有多个加工位置,每个加工位置用于完成一个生产步骤,即每个加工位置均可以实现该加工位置所在的加工设备所对应的生产步骤。每个生产步骤对应的多个加工设备可以设置在一个工厂中。
区块链(Block Chain)是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证数据不可篡改和不可伪造的分布式账本。
图1示出本公开实施例中分布式柔性车间调度方法的流程示意图。本实施例可应用在计算设备上,如图1所示,本实施例中的分布式柔性车间调度方法包括如下步骤:
步骤S110,获取加工请求。
其中,该加工请求包括:多个作业任务,对于多个作业任务中的各作业任务,该作业任务包括:待加工产品、该待加工产品的加工类型和该待加工产品的工件数量。各作业任务均具有相同的生产工序,即各作业任务所要加工的待加工产品均具有相同的生产工序。该生产工序包括具有生产顺序的多个生产步骤。
待加工产品可以为任意产品,例如,待加工产品可以是工业产品、生活产品、电子产品等。加工类型可以是待加工产品的型号、尺寸、产品规格等。例如,当待加工产品为螺栓时,加工类型可以为螺栓型号,如螺栓型号可以为M18、M6、M8等。当作业任务1包括:待加工产品为螺栓、加工类型为M18,工件数量为20个,则作业任务1表示需要加工20个型号为M18的螺栓。
生产工序包括:具有生产顺序的多个生产步骤。例如,生产工序包括三个生产步骤,该三个生产步骤分别为:制造、组装和喷涂。该三个生产步骤的生产顺序为:①制造、②组装、③喷涂。即经过制造、组装、喷涂三个生产步骤,得到待加工产品。工件数量为需要生产的待加工产品的数量,即最后加工得到的待加工产品的数量。
步骤S120,基于生产工序,从区块链中获取第一生产参数。
其中,该第一生产参数包括:多个生产步骤中各生产步骤分别对应的加工设备的数量、待加工产品的半成品在多个生产步骤中每两个相邻不同生产步骤的加工设备之间的运输时间。区块链中可以存储有多个第一生产参数。
在一种实施方式中,生产工序可以具有用于唯一标识该生产工序的工序标识。第一生产参数可以具有唯一标识第一生产参数的参数标识。上述的工序标识和参数标识可以是分散式标识符(Decentralized Identifier,DID)或自定义编码等。
可以预先设置工序标识与参数标识之间的对应关系。根据上述的生产工序的工序标识,在工序标识与参数标识之间的对应关系中,查找与该工序标识对应的参数标识,作为目标参数标识,基于该目标参数标识,从区块链中获取第一生产参数。
步骤S130,基于作业任务中的加工类型,确定第二生产参数。
其中,该第二生产参数包括:加工设备完成一个生产步骤的作业时长范围、加工设备的启动时间的变化范围和停留时间范围,该停留时间范围表示:在待加工产品生产过程中,从第一个生产步骤的加工设备结束工作到最后一个生产步骤的加工设备开始工作之间的时间分布范围。例如,在生产工序包括具有生产顺序的三个生产步骤时,停留时间范围即待加工产品的中间产品在第一加工设备结束工作到第三加工设备开始工作之间的停留时间范围。
在一种实施方式中,第二生产参数可以通过如下方式得到:
对于各作业任务,可以根据该作业任务中加工类型和待加工产品,依据生产经验、加工设备的性能、生产要求等,自定义的设置加工设备完成一个生产步骤的作业时长和加工设备的启动时间的变化范围。可以基于加工设备的性能、待加工产品的生产要求、生产规范等,自定义的设置停留时间范围。根据各加工设备完成一个生产步骤的作业时长、各加工设备的启动时间的变化范围和停留时间范围,生成第二生产参数。其中,第二生产参数中的加工设备完成一个生产步骤的作业时长范围,覆盖各加工设备完成一个生产步骤的作业时长;第二生产参数中的加工设备的启动时间的变化范围,覆盖各加工设备的启动时间的变化范围。
步骤S140,根据生产工序、第一生产参数、第二生产参数和各作业任务的工件数量,利用预先训练好的分布式柔性车间调度模型,确定生产方案,以使多个作业任务的总时间最小化。
其中,该分布式柔性车间调度模型包括:目标函数和预设约束条件,目标函数用于使完成多个作业任务的总时间最小化,即目标函数用于使完成各作业任务的总时间之和最小。预设约束条件用于约束目标函数中的变量。生产方案包括对各作业任务的生产加工信息和各加工设备的生产加工信息等。例如,生产方案可以包括:各作业任务中每个待加工产品在各加工设备上的生产顺序、每个生产步骤的每个加工设备,生产加工每个待加工产品的时长等。
分布式柔性车间调度模型用于输出对各作业任务的生产加工方式优化后的生产方案,即分布式柔性车间调度模型可以输出,完成各作业任务的总时间最小化的生产方案。分布式柔性车间调度模型可以根据遗传算法(Genetic Algorithm,GA)、混合优化算法(GeneticAlgorithm Variable Neighborhood Search,GAVNS)、分支定界算法(Branch-andBound,B&B)等,对分布式柔性车间调度问题求解得到。
在一种实施方式中,以生产工序包括三个生产步骤为例进行说明,其它实例可以参见于此。为了便于解释说明,将生产工序包括的三个生产步骤按照生产顺序分别称为第一生产步骤、第二生产步骤和第三生产步骤。将第一生产步骤对应的加工设备称为第一加工设备,第二生产步骤对应的加工设备称为第二加工设备,第三生产步骤对应的加工设备称为第三加工设备。
目标函数为式(1),约束条件可以通过式(2)-式(14)表示;
;
;
;
;
;
;
;
;
;
;
;
;
;
。
其中,均为目标函数的变量。具体的,可以为二元决策变量,/>为三元决策变量。
f为加工类型索引;i为作业索引;s为生产步骤的索引;m为加工设备的索引;k为加工位置的索引。
mn为第一加工设备的索引;M为第一加工设备集合,M={1,…,mn};M′为部分第一加工设备的集合,M′={2,…,mn};Kmn为加工位置索引,表示在第一加工设备m上的加工位置n;Km为第一加工设备m的加工位置集合,Km={1,…,Kmn}; Km′为第一加工设备m的加工位置的部分集合,Km′={1,…,Kmn-1};fn为加工类型f的索引;F为加工类型的集合,F={1,…,fn};Ifn为加工类型f的作业的索引;If为加工类型为f的作业的集合,If={1,…,Ifn};If′为加工类型为f的作业的部分集合,If={1,…,Ifn-1};△m为第m个第一设备的启动时间;[α1,f,α2,f]为加工类型f的作业在第三加工设备上的第一次启动的时间变化范围;pf,i,m为加工类型为m的第i个作业在第三加工设备m上的加工时间;pf,i,1为加工类型为m的第i个作业在第一个第三加工设备上的加工时间;qf,i为加工类型f的作业i在第二加工设备上的加工时间;[w1,f,i,w2,f,i]为加工类型f的作业i在第二加工设备上的加工时间的变化范围;dm为作业m在第一加工设备加工结束到第三加工设备开始加工的最大停留时间;t1,2为第一生产步骤(第一加工设备)到第二生产步骤(第二加工设备)的运输时间; t2,3为第二生产步骤(第二加工设备)到第三生产步骤(第三加工设备)的运输时间;Xf,1,1,1为作业1分配给第一加工设备1上的加工位置1;Xf,i,m,k为表示第一加工设备m的加工位置k上被分配了加工类型f的作业i时,则Xf,i,m,k被设置为1,否则,Xf,i,m,k被设置为0;STf,i,s为一个连续变量,它定义在生产步骤s中开始加工加工类型为f的作业i的开始时间;PTf,i,3为连续变量,它定义加工类型f的作业i在第三生产步骤的作业时长;minC多个作业任务的最小总时长;为第三生产步骤开始加工作业Ifn的开始时间;/>为加工类型f的作业Ifn在第三生产步骤的作业时长;为第一加工设备r + 1的加工位置上加工加工类型为f的作业i + 1;为第一加工设备r + 1的加工位置m′上加工加工类型为f的作业i+1;/>为第一加工设备上开始加工第i个作业的开始时间;/>第二加工设备上开始加工第i个作业开始时间;/>为第三加工设备上开始加工第i个作业的开始时间;/>为第二加工设备上开始加工第i+1个作业开始时间;/>为第三加工设备上开始加工第i+1个作业开始时间;/>为加工类型f的作业i在第三生产步骤的作业时长;M1为第一加工设备的加工位置的索引的集合。约束条件1(对应式(2))为:每个加工类型的每个作业只能在一个第一加工设备上的一个加工位置加工;约束条件2(对应式(3))为:每个第一加工设备的每个加工位置只能加工一个加工类型的作业;约束条件3(对应式(4))为:只能将第一个作业分配给第一加工设备上的第一个加工位置;约束条件4(对应式(5))为:当前仅当在索引为{1,···,r}的其中一个第一加工设备上加工了加工类型为f的作业i时,可以在索引为r+ 1的第一加工设备的第一个加工位置上加工加工类型为f的作业i + 1;约束条件5(对应式(6))为:当且仅当加工类型为f的作业i在索引为{1,···,r}的第一加工设备上加工,或者,在索引为{1,···,r+1}之前索引的第一加工设备上加工时,可以在索引为r+1的第一加工设备上加工加工类型为f的作业i+1;约束条件6(对应式(7))为:第一加工设备上开始加工各加工类型的作业的开始时间;约束条件7(对应式(8))和约束条件8(对应式(9))是用于约束同一待加工产品的连续的两个生产步骤中,后一个生产步骤只能在前一个生产步骤完成并且已经传输到后一生产步骤对应的加工设备时才能开始;约束条件(9)(对应式(10))为:在同一个第二加工设备上的连续两次作业,第二个作业只能在第一个作业完成之后开始;约束条件(10)(对应式(11))为:对于同一个第三加工设备上连续两个作业,第二个作业应在第一个作业完成之后立即启动;约束条件11(对应式(12))为:在第三加工设备上每个加工类型的作业之间的时间间隔;约束条件12(对应式(13))为:每个加工类型的作业在加工设备上的最大停留时间;约束条件13(对应式(14))为:第三加工设备上每个加工类型的第一个作业的开始时间;其中,约束条件(4)和约束条件(5)用于保证同一加工类型的两个作业,后一个的作业在前一个的作业之后加工。
步骤S150,基于生产方案执行多个作业任务,得到各作业任务对应工件数量的待加工产品。
其中,可以基于生产方案进行加工,以完成工件加工请求中的各作业任务,得到每个作业任务对应的工件数量的待加工产品。
本公开实施例中,先通过各作业任务对应的生产工序和各作业任务的加工类型,确定第一生产参数和第二生产参数,之后利用分布式柔性车间调度模型,对具有相同生产工序的多个加工类型的多个作业任务的生产、调度进行优化规划,能够使完成多个作业任务的总时间最小化,实现了对多个作业任务高效的生产加工。
在一个可选实施例中,本实施例中的分布式柔性车间调度模型中的预设约束条件包括:
对加工设备的生产加工的约束,在本实施例中,该条约束条件对应步骤S140中的约束条件1。
对加工设备所要生产加工的加工类型的约束,在本实施例中,该条约束条件对应步骤S140中的约束条件2。
对开始加工的约束,在本实施例中,该条约束条件对应步骤S140中的约束条件3。
对各生产加工步骤对应的加工设备连续加工的约束,在本实施例中,该条约束条件对应步骤S140中的约束条件4。
对在生产同一加工类型的待加工产品时,各生产加工步骤对应的加工设备连续加工的约束,在本实施例中,该条约束条件对应步骤S140中的约束条件5。
对第一加工设备上开始加工各加工类型的作业的开始时间的约束,在本实施例中,该条约束条件对应步骤S140中的约束条件6。
对同一待加工产品的连续的两个生产步骤加工顺序的约束,在本实施例中,该条约束条件对应步骤S140中的约束条件7和约束条件8。
对同一个加工设备上的连续加工顺序的约束,在本实施例中,该条约束条件对应步骤S140中的约束条件9。
对于同一加工设备上连续作业时的启动顺序的约束,在本实施例中,该条约束条件对应步骤S140中的约束条件10。
对在加工设备上各加工类型的作业之间的时间间隔的约束,在本实施例中,该条约束条件对应步骤S140中的约束条件11。
对多个加工类型的作业在加工设备上的停留时间的约束,在本实施例中,该条约束条件对应步骤S140中的约束条件12。
对加工设备上多个加工类型的作业的开始时间的约束,在本实施例中,该条约束条件对应步骤S140中的约束条件13。
在一个可选实施例中,如图2所示,本公开实施例中的步骤S150之后中还包括如下步骤:
步骤S210,获取各加工设备的设备信息。
其中,各加工设备中的任一加工设备的设备信息包括:在预设时间段内,由该任一加工设备加工得到的待加工产品的合格率。预设时间段可以根据实际需求设置,例如可以为7天、15天等。
在一种实施方式中,对于任一待加工产品,当该待加工产品的质量合格时,在加工该待加工产品的各加工设备的设备信息中记录该待加工产品质量合格;当该待加工产品的质量不合格时,在加工该待加工产品的各加工设备的设备信息中记录该待加工产品的质量不合格。示例性的,待加工产品A通过三个生产步骤生产得到,该三个生产步骤分别为制造、装配和喷涂,当待加工产品A的质量合格时,在生产步骤为制造、装配和喷涂分别对应的加工设备的设备信息中记录待加工产品A质量合格;当待加工产品A的质量不合格时,在生产步骤为制造、装配和喷涂分别对应的加工设备的设备信息中记录待加工产品A的质量不合格。利用预设时段内,每个加工设备加工得到的质量合格的待加工产品的数量除以由该加工设备加工得到的待加工产品的总数量,得到待加工产品的合格率。
步骤S220,根据各设备信息中的待加工产品的合格率,更新第一生产参数中的各生产步骤分别对应的加工设备的数量。
在一种实施方式中,可以预先设置合格率阈值。将预设设备信息中的待加工产品的合格率大于或等于预设合格率阈值的加工设备,确定可用加工设备,根据可用加工设备的数量,更新第一生产参数中的各生产步骤分别对应的加工设备的数量。
在一个可选实施例中,如图3所示,本公开实施例中的分布式柔性车间调度模型获得方式包括如下步骤:
步骤S310,获取训练数据集和待训练的混合整数线性规划模型。
其中,该待训练的混合整数线性规划模型包括:初始目标函数和初始预设约束条件。
混合整数规划(Mixed-Integer Linear Programs,MILP)模型是一种优化问题的数据建模方法,它包括初始目标函数和初始约束条件。混合整数规划模型的目标是通过在给定的初始约束条件下,寻找使初始目标函数最优化的整数解。其中,初始目标函数是线性的,即由决策变量的线性组合构成初始;约束条件也是线性的,包括等式约束和不等式约束。
在本实施例中,待训练的混合整数线性规划模型中的初始目标函数可以与分布式柔性车间调度模型中目标函数相同,即为式(1)所示的目标函数;待训练的混合整数线性规划模型中的初始预设约束条件可以与分布式柔性车间调度模型中约束条件相同,即式(2)-式(14)表示的约束条件。
上述的训练数据集包括:多条训练数据。该多条训练数据中的各训练数据分别包括节点二部图。
在一种实施方式中,可以使用马尔可夫决策过程(Markov Decision Process,MDP)和分支定界(Branch-and-Bound,B&B)算法中的强分支策略(Strong BranchDecision/Strategy),利用求解器,对待训练的混合整数线性规划模型求解,得到训练数据集中的各训练数据。其中,分支定界算法递归地将解空间划分为一棵搜索,并在此过程中计算松弛界,以修剪那些显示不包含最优解的子树;强分支策略是分支定界算法中一种用于分支的策略。
待训练的混合整数线性规划模型对应的分支定界树中的节点每次的分支或分裂得到的分支结果,即为一条训练数据。可以对该分支结果进行编码处理,即得到相应的节点二部图。为了便于说明,以下将通过求解器生成的,待训练的混合整数线性规划模型的分支定界树称为目标分支定界树。当目标分支定界树中具有预设数量的节点时,则可以停止对待训练的混合整数线性规划模型的求解,得到训练数据集。
节点二部图可以用于表示节点的状态。其中,每个节点二部图包括:多个第一节点、多个第二节点和边缘特征。边缘特征包括:预设约束条件对应的特征矩阵、待训练的混合整数线性规划模型中变量对应的特征矩阵和用于连接第一节点和第二节点的边的特征张量。将预设约束条件对应的特征矩阵作为第一节点,将待训练的混合整数线性规划模型中的变量对应的特征矩阵作为第二节点,当一个变量参与约束任一约束条件,则将该任一约束条件对应的第一节点和该变量对应的第二节点用一条边连接,该条边具有特征张量。示例性的,图4示出了本公开实施例中一个节点二部图的示意图。如图4所述,C1、C2表示预设约束条件对应的特征矩阵,即是第一节点,V1、V2、V3表示待训练的混合整数线性规划模型中的变量对应的特征矩阵,即是第二节点,e1,1、e1,2、e1,3、e2,2、e2,3为连接第一节点和第二节点的边的特征张量。
每条训练数据还可以包括:节点分支状态和节点分支结果。节点分支状态表示待训练的混合整数线性规划模型的目标分支定界树的节点是否还可以进行分支;节点分支结果表示待训练的混合整数线性规划模型的目标分支定界树的节点的数量、特征信息等。
步骤S320,利用训练数据集和强分支策略,迭代训练待训练的混合整数线性规划模型,直至训练结果满足停止训练条件,得到分布式柔性车间调度模型。
在一种实施方式中,每次对混合整数线性规划模型进行训练的方式包括:
在待训练的混合整数线性规划模型上运行强分支策略,生成多个分支决策。其中的该多个分支决策中的任一分支决策表示,在待训练的混合整数线性规划模型运行强分支策略所生成的决策树中的节点,进行分支或分裂得到的分支结果。可以根据预设配对规则,确定分支决策与训练数据对。例如,可以将包括对相同的至少一个节点的处理结果的训练数据和分支决策,组成一对分支决策与训练数据对。
根据多个分支决策和训练数据集中的各训练数据,利用式(15),计算得到交叉熵损失值;交叉熵损失值越小表示分支策略越接近训练数据;
其中,表示交叉熵损失值,N表示训练数据集中训练数据的数量,s表示分支决策,a表示训练数据(即,节点二部图),D表示分支决策与训练数据对集合,该分支决策与训练数据对集合包括:多对分支决策和训练数据对。
迭代执行上述的在待训练的混合整数线性规划模型上运行强分支策略、交叉熵损失值的操作,并迭代调整待训练的混合整数线性规划模型的参数,以使交叉熵损失值不断减小,直至交叉熵损失值不再减小时,确定待训练的混合整数线性规划模型满足停止训练条件,得到分布式柔性车间调度模型。
在一个可选实施例中,如图5所示,本公开实施例中的步骤S320还包括如下步骤:
步骤S321,获取满足停止训练条件的待训练的混合整数线性规划模型对应的目标分支决策。
其中,目标分支决策可以为,在满足停止训练条件的待训练的混合整数线性规划模型上,运行强分支策略,所得到的分支决策。该目标分支决策可以包括:满足停止训练条件的待训练的混合整数线性规划模型的决策树的二部图。
步骤S322,对该目标分支决策进行参数化,得到模型参数。
其中,可以利用预先训练好的参数化模型对目标分支决策进行参数化处理,得到模型参数。即,将目标分支决策输入参数化模型,由参数化模型输出模型参数。
其中的参数化模型可以为图像神经网络(Graph Convolution Neural Network,GCNN)。在一种实施方式中,可以利用多个标注有参数信息的二部图样本,训练图像神经网络,得到参数化模型。
步骤S323,基于模型参数和满足停止训练条件的待训练的混合整数线性规划模型,得到分布式柔性车间调度模型。
其中,由模型参数和满足停止训练条件的待训练的混合整数线性规划模型构成分布式柔性车间调度模型。
在一个可选实施例中,本公开实施例中的步骤S310可以包括:利用预设求解器和强分支策略对待训练的混合整数线性规划模型进行求解,得到训练数据集。
其中,预设求解器可以为任意可对整数线性规划模型进行求解的求解器。示例性的,预设求解器可以为:SCIP求解器、Gurobi求解器、MOSEK求解器、CMIP求解器等。
在一种实施方式中,可以将待训练的混合整数线性规划模型输入预设求解器中,设置预设求解器使用马尔可夫决策过程和分支定界算法中的强分支策略,对待训练的混合整数线性规划模型进行求解,由预设求解器输出待训练的混合整数线性规划模型对应的分支定界树中的节点每次的分支或分裂的分支结果,即得到多条训练数据,由多条训练数据构建训练数据集。
图6示出本公开实施例中基于区块链的分布式柔性车间调度装置的框图。如图6所示,该实施例的基于区块链的分布式柔性车间调度装置包括:
第一获取模块410,用于获取加工请求,其中,所述加工请求包括:多个作业任务,所述多个作业任务中的各作业任务,所述作业任务包括:待加工产品、所述待加工产品的加工类型和所述待加工产品的工件数量;所述多个作业任务均具有相同的生产工序,所述生产工序包括具有生产顺序的多个生产步骤;
第一参数获得模块420,用于基于所述生产工序,从区块链中获取第一生产参数,其中,所述第一生产参数包括:所述多个生产步骤中各生产步骤分别对应的加工设备的数量和待加工产品的半成品在所述多个生产步骤中每两个相邻生产步骤的加工设备之间的运输时间;
第二参数获得模块430,用于基于所述作业任务中的加工类型,确定第二生产参数,其中,所述第二生产参数包括:加工设备完成一个生产步骤的作业时长范围、加工设备的启动时间的变化范围和停留时间范围,所述停留时间范围表示:在待加工产品生产过程中,从第一个生产步骤的加工设备结束工作到最后一个生产步骤的加工设备开始工作之间的时间分布范围;
方案生成模块440,用于根据所述生产工序、所述第一生产参数、所述第二生产参数和所述各作业任务的工件数量,利用预先训练好的分布式柔性车间调度模型,确定各作业任务的生产方案,以使所述多个作业任务的总时间最小化,其中,所述分布式柔性车间调度模型包括:目标函数和预设约束条件,所述目标函数用于最小化完成所述多个作业任务的时间,所述预设约束条件用于约束目标函数中的变量;
生产加工模块450,用于基于所述生产方案执行所述多个作业任务,得到所述各作业任务对应工件数量的待加工产品。
在一个可选实施例方式中,本公开实施例中的所述预设约束条件包括:对加工设备的生产加工的约束;对所述加工设备所要生产加工的加工类型的约束;对开始加工的约束;对各生产加工步骤对应的加工设备连续加工的约束;对在生产同一加工类型的待加工产品时,各生产加工步骤对应的加工设备连续加工的约束;对所述加工设备上开始加工各加工类型的作业的开始时间的约束;对同一待加工产品的连续的两个生产步骤加工顺序的约束;对同一个加工设备上的连续加工顺序的约束;对于同一加工设备上连续作业时的启动顺序的约束;对在加工设备上各加工类型的作业之间的时间间隔的约束;对多个加工类型的作业在加工设备上的停留时间的约束;对加工设备上多个加工类型的作业的开始时间的约束。
在一个可选实施例方式中,本公开实施例中的基于区块链的分布式柔性车间调度装置还包括:第二获取模块,用于获取各加工设备的设备信息,其中,所述各加工设备中的任一加工设备的设备信息包括:在预设时间段内,由所述任一加工设备加工得到的待加工产品的合格率;更新模块,用于根据各设备信息中的待加工产品的合格率,更新所述第一生产参数中的各生产步骤分别对应的加工设备的数量。
在一个可选实施例方式中,本公开实施例中的基于区块链的分布式柔性车间调度装置还包括:
第三获取模块,用于获取训练数据集和待训练的混合整数线性规划模型,其中,所述训练数据集包括:多条训练数据;所述多条训练数据中的各训练数据分别包括节点二部图;所述待训练的混合整数线性规划模型包括:初始目标函数和初始预设约束条件;
训练模块,用于利用所述训练数据集和强分支策略,迭代训练所述待训练的混合整数线性规划模型,直至训练结果满足停止训练条件,得到所述分布式柔性车间调度模型。在一个可选实施例方式中,本公开实施例中的所述训练模块还用于:获取满足所述停止训练条件的待训练的混合整数线性规划模型对应的目标分支决策;对所述目标分支决策进行参数化,得到模型参数;基于所述模型参数和满足所述停止训练条件的待训练的混合整数线性规划模型,得到所述分布式柔性车间调度模型。
在一个可选实施例方式中,本公开实施例中的所述第三获取模块还用于利用预设求解器和所述强分支策略对所述待训练的混合整数线性规划模型进行求解,得到所述训练数据集。
在本公开的基于区块链的分布式柔性车间调度装置中,上述公开的各种可选实施例、可选实施方式和可选示例,都可以根据需要进行灵活的选择和组合,从而实现相应的功能和效果,本公开不进行一一列举。
本公开的基于区块链的分布式柔性车间调度装置与本公开上述的各基于区块链的分布式柔性车间调度方法的实施例之间相互对应,相关内容可以相互参考,此处不再赘述。
本图像标注装置示例性实施例对应的有益技术效果可以参见上述示例性方法部分的相应有益技术效果,此处不再赘述。
另外,本公开实施例还提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现本公开上述任一实施例所述的基于区块链的分布式柔性车间调度方法。
图7为本公开电子设备一个应用实施例的结构示意图。下面,参考图7来描述根据本公开实施例的电子设备。该电子设备可以是第一设备和第二设备中的任一个或两者、或与它们独立的单机设备,该单机设备可以与第一设备和第二设备进行通信,以从它们接收所采集到的输入信号。
如图7所示,电子设备包括一个或多个处理器和存储器。
处理器可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备中的其他组件以执行期望的功能。
存储器可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器可以运行所述程序指令,以实现上文所述的本公开的各个实施例的基于区块链的分布式柔性车间调度方法以及/或者其他期望的功能。
在一个示例中,电子设备还可以包括:输入装置和输出装置,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
此外,该输入设备还可以包括例如键盘、鼠标等等。
该输出装置可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出设备可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图7中仅示出了该电子设备中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备还可以包括任何其他适当的组件。
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述部分中描述的根据本公开各种实施例的基于区块链的分布式柔性车间调度方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述部分中描述的根据本公开各种实施例的基于区块链的分布式柔性车间调度方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (10)
1.一种基于区块链的分布式柔性车间调度方法,其特征在于,包括:
获取加工请求,其中,所述加工请求包括:多个作业任务,所述多个作业任务中的各作业任务,所述作业任务包括:待加工产品、所述待加工产品的加工类型和所述待加工产品的工件数量;所述多个作业任务均具有相同的生产工序,所述生产工序包括具有生产顺序的多个生产步骤;
基于所述生产工序,从区块链中获取第一生产参数,其中,所述第一生产参数包括:所述多个生产步骤中各生产步骤分别对应的加工设备的数量和待加工产品的半成品在所述多个生产步骤中每两个相邻生产步骤的加工设备之间的运输时间;
基于所述作业任务中的加工类型,确定第二生产参数,其中,所述第二生产参数包括:加工设备完成一个生产步骤的作业时长范围、加工设备的启动时间的变化范围和停留时间范围,所述停留时间范围表示:在待加工产品生产过程中,从第一个生产步骤的加工设备结束工作到最后一个生产步骤的加工设备开始工作之间的时间分布范围;
根据所述生产工序、所述第一生产参数、所述第二生产参数和所述各作业任务的工件数量,利用预先训练好的分布式柔性车间调度模型,确定各作业任务的生产方案,以使所述多个作业任务的总时间最小化,其中,所述分布式柔性车间调度模型包括:目标函数和预设约束条件,所述目标函数用于最小化完成所述多个作业任务的时间,所述预设约束条件用于约束目标函数中的变量;
基于所述生产方案执行所述多个作业任务,得到所述各作业任务对应工件数量的待加工产品。
2.根据权利要求1所述的方法,其特征在于,所述预设约束条件包括:
对加工设备的生产加工的约束;
对所述加工设备所要生产加工的加工类型的约束;
对开始加工的约束;
对各生产加工步骤对应的加工设备连续加工的约束;
对在生产同一加工类型的待加工产品时,各生产加工步骤对应的加工设备连续加工的约束;
对所述加工设备上开始加工各加工类型的作业的开始时间的约束;
对同一待加工产品的连续的两个生产步骤加工顺序的约束;
对同一个加工设备上的连续加工顺序的约束;
对于同一加工设备上连续作业时的启动顺序的约束;
对在加工设备上各加工类型的作业之间的时间间隔的约束;
对多个加工类型的作业在加工设备上的停留时间的约束;
对加工设备上多个加工类型的作业的开始时间的约束。
3.根据权利要求1所述的方法,其特征在于,所述基于所述生产方案执行所述多个作业任务,得到所述各作业任务对应工件数量的待加工产品之后,还包括:
获取各加工设备的设备信息,其中,所述各加工设备中的任一加工设备的设备信息包括:在预设时间段内,由所述任一加工设备加工得到的待加工产品的合格率;
根据各设备信息中的待加工产品的合格率,更新所述第一生产参数中的各生产步骤分别对应的加工设备的数量。
4.根据权利要求1所述的方法,其特征在于,所述分布式柔性车间调度模型通过如下方式训练得到:
获取训练数据集和待训练的混合整数线性规划模型,其中,所述训练数据集包括:多条训练数据;所述多条训练数据中的各训练数据分别包括节点二部图;所述待训练的混合整数线性规划模型包括:初始目标函数和初始预设约束条件;
利用所述训练数据集和强分支策略,迭代训练所述待训练的混合整数线性规划模型,直至训练结果满足停止训练条件,得到所述分布式柔性车间调度模型。
5.根据权利要求4所述的方法,其特征在于,所述利用所述训练数据集和强分支策略,迭代训练所述待训练的混合整数线性规划模型,直至训练结果满足停止训练条件,得到所述分布式柔性车间调度模型,包括:
获取满足所述停止训练条件的待训练的混合整数线性规划模型对应的目标分支决策;
对所述目标分支决策进行参数化,得到模型参数;
基于所述模型参数和满足所述停止训练条件的待训练的混合整数线性规划模型,得到所述分布式柔性车间调度模型。
6.根据权利要求4所述的方法,其特征在于,所述获取训练数据集,包括:
利用预设求解器和所述强分支策略对所述待训练的混合整数线性规划模型进行求解,得到所述训练数据集。
7.一种基于区块链的分布式柔性车间调度装置,其特征在于,包括:
第一获取模块,用于获取加工请求,其中,所述加工请求包括:多个作业任务,所述多个作业任务中的各作业任务,所述作业任务包括:待加工产品、所述待加工产品的加工类型和所述待加工产品的工件数量;所述多个作业任务均具有相同的生产工序,所述生产工序包括具有生产顺序的多个生产步骤;
第一参数获得模块,用于基于所述生产工序,从区块链中获取第一生产参数,其中,所述第一生产参数包括:所述多个生产步骤中各生产步骤分别对应的加工设备的数量和待加工产品的半成品在所述多个生产步骤中每两个相邻生产步骤的加工设备之间的运输时间;
第二参数获得模块,用于基于所述作业任务中的加工类型,确定第二生产参数,其中,所述第二生产参数包括:加工设备完成一个生产步骤的作业时长范围、加工设备的启动时间的变化范围和停留时间范围,所述停留时间范围表示:在待加工产品生产过程中,从第一个生产步骤的加工设备结束工作到最后一个生产步骤的加工设备开始工作之间的时间分布范围;
方案生成模块,用于根据所述生产工序、所述第一生产参数、所述第二生产参数和所述各作业任务的工件数量,利用预先训练好的分布式柔性车间调度模型,确定各作业任务的生产方案,以使所述多个作业任务的总时间最小化,其中,所述分布式柔性车间调度模型包括:目标函数和预设约束条件,所述目标函数用于最小化完成所述多个作业任务的时间,所述预设约束条件用于约束目标函数中的变量;
生产加工模块,用于基于所述生产方案执行所述多个作业任务,得到所述各作业任务对应工件数量的待加工产品。
8.根据权利要求7所述的装置,其特征在于,所述预设约束条件包括:
对加工设备的生产加工的约束;
对所述加工设备所要生产加工的加工类型的约束;
对开始加工的约束;
对各生产加工步骤对应的加工设备连续加工的约束;
对在生产同一加工类型的待加工产品时,各生产加工步骤对应的加工设备连续加工的约束;
对所述加工设备上开始加工各加工类型的作业的开始时间的约束;
对同一待加工产品的连续的两个生产步骤加工顺序的约束;
对同一个加工设备上的连续加工顺序的约束;
对于同一加工设备上连续作业时的启动顺序的约束;
对在加工设备上各加工类型的作业之间的时间间隔的约束;
对多个加工类型的作业在加工设备上的停留时间的约束;
对加工设备上多个加工类型的作业的开始时间的约束。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现上述权利要求1-6任一所述的基于区块链的分布式柔性车间调度方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时,实现上述权利要求1-6任一所述的基于区块链的分布式柔性车间调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311287675.4A CN117010671B (zh) | 2023-10-07 | 2023-10-07 | 基于区块链的分布式柔性车间调度方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311287675.4A CN117010671B (zh) | 2023-10-07 | 2023-10-07 | 基于区块链的分布式柔性车间调度方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117010671A CN117010671A (zh) | 2023-11-07 |
CN117010671B true CN117010671B (zh) | 2023-12-05 |
Family
ID=88565786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311287675.4A Active CN117010671B (zh) | 2023-10-07 | 2023-10-07 | 基于区块链的分布式柔性车间调度方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117010671B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108876419A (zh) * | 2018-08-14 | 2018-11-23 | 广东博云公共平台网络科技有限公司 | 一种基于物联网和区块链的工业产品供应链追溯方法及系统 |
CN109902954A (zh) * | 2019-02-27 | 2019-06-18 | 浙江工业大学 | 一种基于工业大数据的柔性作业车间动态调度方法 |
CN114186749A (zh) * | 2021-12-16 | 2022-03-15 | 暨南大学 | 基于强化学习及遗传算法的柔性车间调度方法及模型 |
CN114912346A (zh) * | 2022-03-31 | 2022-08-16 | 杭州电子科技大学 | 基于学习能力的技能规划配置和车间调度集成优化方法 |
TW202236198A (zh) * | 2021-03-12 | 2022-09-16 | 殷祐科技股份有限公司 | 人工智慧生產製造節能管理系統及其方法 |
CN116466659A (zh) * | 2023-03-21 | 2023-07-21 | 昆明理工大学 | 一种基于深度强化学习的分布式装配流水车间调度方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220122015A1 (en) * | 2020-10-20 | 2022-04-21 | Aparajita BANDOPADHYAY | Artificial intelligence automation management system and method |
-
2023
- 2023-10-07 CN CN202311287675.4A patent/CN117010671B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108876419A (zh) * | 2018-08-14 | 2018-11-23 | 广东博云公共平台网络科技有限公司 | 一种基于物联网和区块链的工业产品供应链追溯方法及系统 |
CN109902954A (zh) * | 2019-02-27 | 2019-06-18 | 浙江工业大学 | 一种基于工业大数据的柔性作业车间动态调度方法 |
TW202236198A (zh) * | 2021-03-12 | 2022-09-16 | 殷祐科技股份有限公司 | 人工智慧生產製造節能管理系統及其方法 |
CN114186749A (zh) * | 2021-12-16 | 2022-03-15 | 暨南大学 | 基于强化学习及遗传算法的柔性车间调度方法及模型 |
CN114912346A (zh) * | 2022-03-31 | 2022-08-16 | 杭州电子科技大学 | 基于学习能力的技能规划配置和车间调度集成优化方法 |
CN116466659A (zh) * | 2023-03-21 | 2023-07-21 | 昆明理工大学 | 一种基于深度强化学习的分布式装配流水车间调度方法 |
Non-Patent Citations (2)
Title |
---|
单线列车调度问题的双向阻塞车间调度模型及其粒子群求解算法;张其亮;陈永生;;计算机科学(第12期);282-287 * |
基于改进遗传算法交叉算子的作业车间调度;柳青红;袁逸萍;李晓娟;孙文磊;;组合机床与自动化加工技术(第12期);166-169 * |
Also Published As
Publication number | Publication date |
---|---|
CN117010671A (zh) | 2023-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Weckenborg et al. | Balancing of assembly lines with collaborative robots | |
Zhang et al. | An enhanced genetic algorithm for the distributed assembly permutation flowshop scheduling problem | |
CN114757512B (zh) | 一种基于图神经网络的作业车间调度方法 | |
Akopov et al. | A multi-agent genetic algorithm for multi-objective optimization | |
US20220334572A1 (en) | Method for Generating a Digital Twin of a System or Device | |
Engin et al. | Hybrid flow shop with multiprocessor task scheduling based on earliness and tardiness penalties | |
Guinet et al. | Pareto-efficient acquisition functions for cost-aware Bayesian optimization | |
Wang et al. | An iterated greedy algorithm for distributed hybrid flowshop scheduling problem with total tardiness minimization | |
WO2018182442A1 (en) | Machine learning system and method for generating a decision stream and automonously operating device using the decision stream | |
CN117010671B (zh) | 基于区块链的分布式柔性车间调度方法和装置 | |
Anisimov et al. | Model and method for optimizing computational processes in parallel computing systems | |
Schuh et al. | Databased prediction and planning of order-specific transition times | |
CN111106953B (zh) | 一种异常根因分析的方法及装置 | |
US20220327399A1 (en) | Problem decomposition in a large scale complex combinatorial problem | |
Iklassov et al. | Self-Guiding Exploration for Combinatorial Problems | |
CN113778094B (zh) | 车辆路径规划方法、装置、可读存储介质及电子设备 | |
Girish et al. | Minimizing the total weighted earliness and tardiness for a sequence of operations in job shops | |
CN112214718A (zh) | 基于改进动态规划算法求解有界背包问题的方法 | |
Amallynda | The discrete particle swarm optimization algorithms for permutation flowshop scheduling problem | |
CN116468137A (zh) | 一种分布式工艺规划与车间调度集成优化方法 | |
Daneshmand et al. | Flexible selective parallel algorithms for big data optimization | |
CN115759583A (zh) | 柔性车间调度方法及调度装置 | |
CN116305929B (zh) | 一种数控加工仿真方法、装置、设备及存储介质 | |
Chadeev et al. | Production Automation Control Theory Invariable with the Industry | |
CN114936756B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |