Nothing Special   »   [go: up one dir, main page]

CN117010671B - Distributed flexible workshop scheduling method and device based on blockchain - Google Patents

Distributed flexible workshop scheduling method and device based on blockchain Download PDF

Info

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
processing equipment
constraints
processed
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
Application number
CN202311287675.4A
Other languages
Chinese (zh)
Other versions
CN117010671A (en
Inventor
谢滨
马琬儿
刘克新
池程
朱斯语
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
China Academy of Information and Communications Technology CAICT
Original Assignee
Beihang University
China Academy of Information and Communications Technology CAICT
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beihang University, China Academy of Information and Communications Technology CAICT filed Critical Beihang University
Priority to CN202311287675.4A priority Critical patent/CN117010671B/en
Publication of CN117010671A publication Critical patent/CN117010671A/en
Application granted granted Critical
Publication of CN117010671B publication Critical patent/CN117010671B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06315Needs-based resource requirements planning or analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06316Sequencing of tasks or work
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/04Manufacturing
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing 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

本公开实施例公开了一种基于区块链的分布式柔性车间调度方法和装置,其中,方法包括:获取加工请求,加工请求包括:多个作业任务,每个作业任务包括:待加工产品、待加工产品的加工类型和待加工产品的工件数量;基于生产工序,从区块链中获取第一生产参数;基于作业任务中的加工类型,确定第二生产参数;根据生产工序、第一生产参数、第二生产参数和各作业任务的工件数量,利用预先训练好的分布式柔性车间调度模型,确定生产方案,其中,分布式柔性车间调度模型包括:目标函数和预设约束条件;基于生产方案进行生产加工,以完成各作业任务,得到各作业任务对应工件数量的待加工产品。本公开实施例实现了对多个作业任务高效的生产加工。

The embodiment of the present disclosure discloses a blockchain-based distributed flexible workshop scheduling method and device, wherein the method includes: obtaining a processing request, the processing request includes: multiple job tasks, each job task includes: a product to be processed, The processing type of the product to be processed and the number of workpieces of the product to be processed; based on the production process, obtain the first production parameter from the blockchain; based on the processing type in the job task, determine the second production parameter; based on the production process, the first production Parameters, second production parameters and the number of workpieces for each job task, use the pre-trained distributed flexible workshop scheduling model to determine the production plan. Among them, the distributed flexible workshop scheduling model includes: objective function and preset constraints; based on production The plan is to carry out production and processing to complete each operation task and obtain the products to be processed corresponding to the number of workpieces for each operation task. Embodiments of the present disclosure realize efficient production and processing of multiple work tasks.

Description

基于区块链的分布式柔性车间调度方法和装置Distributed flexible workshop scheduling method and device based on blockchain

技术领域Technical field

本公开涉及区块链技术领域,车间调度技术领域和人工智能技术领域,尤其是一种基于区块链的分布式柔性车间调度方法和装置。The present disclosure relates to the field of blockchain technology, the field of workshop scheduling technology and the field of artificial intelligence technology, especially a distributed flexible workshop scheduling method and device based on blockchain.

背景技术Background technique

由于分布式生产模式具有资源利用效率高、抗风险能力强、可发挥各地区优势制造产业等优点,而被广泛应用在工业产品的生产制造中。在分布式生产模式中,一个工业产品在加工制造时,该工业产品的各生产步骤分别由不同的工厂加工完成,由于不同的工厂通常设置在不同地区,这就使得对各生产步骤之间的调度,对工业产品的加工制造的效率至关重要,因此如何实现高效的分配调度,是一个亟待解决的问题。The distributed production model is widely used in the production and manufacturing of industrial products because it has the advantages of high resource utilization efficiency, strong risk resistance, and the ability to leverage the advantageous manufacturing industries of various regions. In the distributed production model, when an industrial product is processed and manufactured, each production step of the industrial product is processed by different factories. Since different factories are usually set up in different regions, this makes the interaction between the various production steps Scheduling is crucial to the efficiency of industrial product processing and manufacturing, so how to achieve efficient distribution and scheduling is an urgent problem to be solved.

发明内容Contents of the invention

本公开实施例提供一种基于区块链的分布式柔性车间调度方法和装置,以解决上述技术问题。Embodiments of the present disclosure provide a blockchain-based distributed flexible workshop scheduling method and device to solve the above technical problems.

本公开实施例的一个方面,提供了一种基于区块链的分布式柔性车间调度方法,包括:获取加工请求,其中,所述加工请求包括:多个作业任务,所述多个作业任务中的各作业任务,所述作业任务包括:待加工产品、所述待加工产品的加工类型和所述待加工产品的工件数量;所述多个作业任务均具有相同的生产工序,所述生产工序包括具有生产顺序的多个生产步骤;基于所述生产工序,从区块链中获取第一生产参数,其中,所述第一生产参数包括:所述多个生产步骤中各生产步骤分别对应的加工设备的数量和待加工产品的半成品在所述多个生产步骤中每两个相邻生产步骤的加工设备之间的运输时间;基于所述作业任务中的加工类型,确定第二生产参数,其中,所述第二生产参数包括:加工设备完成一个生产步骤的作业时长范围、加工设备的启动时间的变化范围和停留时间范围,所述停留时间范围表示:在待加工产品生产过程中,从第一个生产步骤的加工设备结束工作到最后一个生产步骤的加工设备开始工作之间的时间分布范围;根据所述生产工序、所述第一生产参数、所述第二生产参数和所述各作业任务的工件数量,利用预先训练好的分布式柔性车间调度模型,确定各作业任务的生产方案,以使所述多个作业任务的总时间最小化,其中,所述分布式柔性车间调度模型包括:目标函数和预设约束条件,所述目标函数用于最小化完成所述多个作业任务的时间,所述预设约束条件用于约束目标函数中的变量;基于所述生产方案执行所述多个作业任务,得到所述各作业任务对应工件数量的待加工产品。One aspect of an embodiment of the present disclosure provides a distributed flexible workshop scheduling method based on blockchain, including: obtaining a processing request, wherein the processing request includes: multiple job tasks, among the multiple job tasks Each job task, the job task includes: the product to be processed, the processing type of the product to be processed, and the number of workpieces of the product to be processed; the multiple job tasks all have the same production process, and the production process It includes multiple production steps with a production sequence; based on the production process, the first production parameters are obtained from the blockchain, wherein the first production parameters include: corresponding to each production step in the multiple production steps. The number of processing equipment and the transportation time of the semi-finished product to be processed between the processing equipment of each two adjacent production steps in the multiple production steps; based on the processing type in the job task, determine the second production parameter, Wherein, the second production parameters include: the operating time range for the processing equipment to complete a production step, the variation range of the starting time of the processing equipment, and the residence time range. The residence time range represents: in the production process of the product to be processed, from The time distribution range between the completion of the processing equipment of the first production step and the start of the processing equipment of the last production step; according to the production process, the first production parameter, the second production parameter and each of the According to the number of workpieces of the job tasks, the pre-trained distributed flexible shop scheduling model is used to determine the production plan of each job task so as to minimize the total time of the multiple job tasks, wherein the distributed flexible shop scheduling model It includes: an objective function and preset constraint conditions, the objective function is used to minimize the time to complete the multiple job tasks, the preset constraint conditions are used to constrain the variables in the objective function; execute all the tasks based on the production plan. Describe a plurality of work tasks, and obtain the products to be processed corresponding to the number of workpieces in each of the work tasks.

可选地,在本公开上述任一实施例的方法中,所述预设约束条件包括:对加工设备的生产加工的约束;对所述加工设备所要生产加工的加工类型的约束;对开始加工的约束;对各生产加工步骤对应的加工设备连续加工的约束;对在生产同一加工类型的待加工产品时,各生产加工步骤对应的加工设备连续加工的约束;对所述加工设备上开始加工各加工类型的作业的开始时间的约束;对同一待加工产品的连续的两个生产步骤加工顺序的约束;对同一个加工设备上的连续加工顺序的约束;对于同一加工设备上连续作业时的启动顺序的约束;对在加工设备上各加工类型的作业之间的时间间隔的约束;对多个加工类型的作业在加工设备上的停留时间的约束;对加工设备上多个加工类型的作业的开始时间的约束。Optionally, in the method of any of the above embodiments of the present disclosure, the preset constraints include: constraints on the production and processing of the processing equipment; constraints on the type of processing to be produced and processed by the processing equipment; constraints on starting processing Constraints on the continuous processing of the processing equipment corresponding to each production and processing step; Constraints on the continuous processing of the processing equipment corresponding to each production and processing step when producing products to be processed of the same processing type; Constraints on the start of processing on the processing equipment Constraints on the start time of operations of each processing type; Constraints on the processing sequence of two consecutive production steps of the same product to be processed; Constraints on the continuous processing sequence on the same processing equipment; Constraints on the continuous operations on the same processing equipment Constraints on the start sequence; constraints on the time intervals between operations of each processing type on the processing equipment; constraints on the residence time of operations of multiple processing types on the processing equipment; constraints on the operations of multiple processing types on the processing equipment start time constraints.

可选地,在本公开上述任一实施例的方法中,所述基于所述生产方案进行生产加工执行所述多个作业任务,以完成所述各作业任务,得到所述各作业任务对应工件数量的目标产品待加工产品之后,还包括:获取各加工设备的设备信息,其中,所述各加工设备中的任一加工设备的设备信息包括:在预设时间段内,由所述任一加工设备加工得到的待加工产品的合格率;根据各设备信息中的待加工产品的合格率,更新所述第一生产参数中的各生产步骤分别对应的加工设备的数量。Optionally, in the method of any of the above embodiments of the present disclosure, the production and processing based on the production plan is performed to execute the plurality of job tasks to complete the respective job tasks and obtain the workpieces corresponding to the respective job tasks. After the number of target products to be processed, it also includes: obtaining equipment information of each processing equipment, wherein the equipment information of any of the processing equipment includes: within a preset time period, by any of the processing equipment The qualification rate of the products to be processed obtained by the processing equipment; according to the qualification rate of the products to be processed in each equipment information, the number of processing equipment corresponding to each production step in the first production parameter is updated.

可选地,在本公开上述任一实施例的方法中,所述分布式柔性车间调度模型通过如下方式训练得到:获取训练数据集和待训练的混合整数线性规划模型,其中,所述训练数据集包括:多条训练数据;所述多条训练数据中的各训练数据分别包括节点二部图;所述待训练的混合整数线性规划模型包括:初始目标函数和初始预设约束条件;利用所述训练数据集和强分支策略,迭代训练所述待训练的混合整数线性规划模型,直至训练结果满足停止训练条件,得到所述分布式柔性车间调度模型。Optionally, in the method of any of the above embodiments of the present disclosure, the distributed flexible workshop scheduling model is trained in the following manner: obtaining a training data set and a mixed integer linear programming model to be trained, wherein the training data The set includes: multiple pieces of training data; each training data in the multiple pieces of training data includes a node bipartite graph respectively; the mixed integer linear programming model to be trained includes: an initial objective function and an initial preset constraint condition; using all The training data set and the strong branch strategy are described, and the mixed integer linear programming model to be trained is iteratively trained until the training results meet the training stop conditions, and the distributed flexible workshop scheduling model is obtained.

可选地,在本公开上述任一实施例的方法中,所述利用所述训练数据集和强分支策略,迭代训练所述待训练的混合整数线性规划模型,直至训练结果满足停止训练条件,得到所述分布式柔性车间调度模型,包括:获取满足所述停止训练条件的待训练的混合整数线性规划模型对应的目标分支决策;对所述目标分支决策进行参数化,得到模型参数;基于所述模型参数和满足所述停止训练条件的待训练的混合整数线性规划模型,得到所述分布式柔性车间调度模型。Optionally, in the method of any of the above embodiments of the present disclosure, the training data set and the strong branch strategy are used to iteratively train the mixed integer linear programming model to be trained until the training results meet the training stop condition, Obtaining the distributed flexible workshop scheduling model includes: obtaining the target branch decision corresponding to the mixed integer linear programming model to be trained that satisfies the training stop condition; parameterizing the target branch decision to obtain model parameters; based on the The distributed flexible workshop scheduling model is obtained by using the above model parameters and the mixed integer linear programming model to be trained that satisfies the training stop condition.

可选地,在本公开上述任一实施例的方法中,所述获取训练数据集,包括:利用预设求解器和所述强分支策略对所述待训练的混合整数线性规划模型进行求解,得到所述训练数据集。Optionally, in the method of any of the above embodiments of the present disclosure, the obtaining a training data set includes: using a preset solver and the strong branch strategy to solve the mixed integer linear programming model to be trained, Obtain the training data set.

本公开实施例的另一个方面,提供了一种基于区块链的分布式柔性车间调度装置,包括:第一获取模块,用于获取加工请求,其中,所述加工请求包括:多个作业任务,所述多个作业任务中的各作业任务,所述作业任务包括:待加工产品、所述待加工产品的加工类型和所述待加工产品的工件数量;所述多个作业任务均具有相同的生产工序,所述生产工序包括具有生产顺序的多个生产步骤; 第一参数获得模块,用于基于所述生产工序,从区块链中获取第一生产参数,其中,所述第一生产参数包括:所述多个生产步骤中各生产步骤分别对应的加工设备的数量和待加工产品的半成品在所述多个生产步骤中每两个相邻生产步骤的加工设备之间的运输时间;第二参数获得模块,用于基于所述作业任务中的加工类型,确定第二生产参数,其中,所述第二生产参数包括:加工设备完成一个生产步骤的作业时长范围、加工设备的启动时间的变化范围和停留时间范围,所述停留时间范围表示:在待加工产品生产过程中,从第一个生产步骤的加工设备结束工作到最后一个生产步骤的加工设备开始工作之间的时间分布范围;方案生成模块,用于根据所述生产工序、所述第一生产参数、所述第二生产参数和所述各作业任务的工件数量,利用预先训练好的分布式柔性车间调度模型,确定各作业任务的生产方案,以使所述多个作业任务的总时间最小化,其中,所述分布式柔性车间调度模型包括:目标函数和预设约束条件,所述目标函数用于最小化完成所述多个作业任务的时间,所述预设约束条件用于约束目标函数中的变量;生产加工模块,用于基于所述生产方案执行所述多个作业任务,得到所述各作业任务对应工件数量的待加工产品。Another aspect of the embodiment of the present disclosure provides a distributed flexible workshop scheduling device based on blockchain, including: a first acquisition module, used to acquire a processing request, wherein the processing request includes: multiple job tasks , each of the multiple job tasks, the job task includes: the product to be processed, the processing type of the product to be processed, and the number of workpieces of the product to be processed; the multiple job tasks all have the same The production process includes a plurality of production steps with a production sequence; a first parameter acquisition module is used to obtain the first production parameter from the blockchain based on the production process, wherein the first production The parameters include: the number of processing equipment corresponding to each production step in the multiple production steps and the transportation time of the semi-finished product to be processed between the processing equipment of each two adjacent production steps in the multiple production steps; The second parameter acquisition module is used to determine second production parameters based on the processing type in the operation task, where the second production parameters include: the operation duration range of the processing equipment to complete one production step, and the start-up time of the processing equipment. The change range and residence time range, the residence time range represents: in the production process of the product to be processed, the time distribution range from the end of the processing equipment of the first production step to the start of the processing equipment of the last production step ; A plan generation module, configured to use a pre-trained distributed flexible workshop scheduling model to determine each workpiece based on the production process, the first production parameter, the second production parameter and the number of workpieces of each job task. The production plan of the job tasks is to minimize the total time of the multiple job tasks, wherein the distributed flexible workshop scheduling model includes: an objective function and preset constraints, and the objective function is used to minimize the completion of all tasks. Describe the time of multiple job tasks, and the preset constraint conditions are used to constrain variables in the objective function; the production and processing module is used to execute the multiple job tasks based on the production plan and obtain the workpieces corresponding to each job task. Quantity of product to be processed.

可选地,在本公开上述任一实施例的装置中,所述预设约束条件包括:对加工设备的生产加工的约束;对所述加工设备所要生产加工的加工类型的约束;对开始加工的约束;对各生产加工步骤对应的加工设备连续加工的约束;对在生产同一加工类型的待加工产品时,各生产加工步骤对应的加工设备连续加工的约束;对所述加工设备上开始加工各加工类型的作业的开始时间的约束;对同一待加工产品的连续的两个生产步骤加工顺序的约束;对同一个加工设备上的连续加工顺序的约束;对于同一加工设备上连续作业时的启动顺序的约束;对在加工设备上各加工类型的作业之间的时间间隔的约束;对多个加工类型的作业在加工设备上的停留时间的约束;对加工设备上多个加工类型的作业的开始时间的约束。本公开实施例的又一个方面,提供了一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现上述的基于区块链的分布式柔性车间调度方法。Optionally, in the device of any of the above embodiments of the present disclosure, the preset constraints include: constraints on the production and processing of the processing equipment; constraints on the type of processing to be produced and processed by the processing equipment; constraints on starting processing Constraints on the continuous processing of the processing equipment corresponding to each production and processing step; Constraints on the continuous processing of the processing equipment corresponding to each production and processing step when producing products to be processed of the same processing type; Constraints on the start of processing on the processing equipment Constraints on the start time of operations of each processing type; Constraints on the processing sequence of two consecutive production steps of the same product to be processed; Constraints on the continuous processing sequence on the same processing equipment; Constraints on the continuous operations on the same processing equipment Constraints on the start sequence; constraints on the time intervals between operations of each processing type on the processing equipment; constraints on the residence time of operations of multiple processing types on the processing equipment; constraints on the operations of multiple processing types on the processing equipment start time constraints. Another aspect of the embodiment of the present disclosure provides an electronic device, including: a memory for storing a computer program; a processor for executing the computer program stored in the memory, and when the computer program is executed, Implement the above-mentioned distributed flexible workshop scheduling method based on blockchain.

本公开实施例的再一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现上述的基于区块链的分布式柔性车间调度方法。Another aspect of the embodiments of the present disclosure provides a computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, the above-mentioned blockchain-based distributed flexible workshop scheduling method is implemented.

本公开实施例中,先通过各作业任务对应的生产工序和各作业任务的加工类型,确定第一生产参数和第二生产参数,之后利用分布式柔性车间调度模型,对具有相同生产工序的多个加工类型的多个作业任务的生产、调度进行优化规划,能够使完成多个作业任务的总时间最小化,实现了对多个作业任务高效的生产加工。In the embodiment of the present disclosure, the first production parameters and the second production parameters are first determined through the production process corresponding to each job task and the processing type of each job task, and then the distributed flexible workshop scheduling model is used to calculate multiple production processes with the same production process. Optimizing the production and scheduling of multiple job tasks of each processing type can minimize the total time to complete multiple job tasks and achieve efficient production and processing of multiple job tasks.

下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。The technical solution of the present disclosure will be described in further detail below through the accompanying drawings and examples.

附图说明Description of drawings

构成说明书的一部分的附图描述了本公开的实施例,并且连同描述一起用于解释本公开的原理。The accompanying drawings, which constitute a part of the specification, illustrate embodiments of the disclosure and, together with the description, serve to explain principles of the disclosure.

参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:The present disclosure may be more clearly understood from the following detailed description with reference to the accompanying drawings, in which:

图1示出本公开实施例的基于区块链的分布式柔性车间调度方法一个实施例的流程图;Figure 1 shows a flow chart of an embodiment of a blockchain-based distributed flexible workshop scheduling method according to an embodiment of the present disclosure;

图2示出本公开实施例的基于区块链的分布式柔性车间调度方法另一个实施例的流程图;Figure 2 shows a flow chart of another embodiment of the blockchain-based distributed flexible workshop scheduling method according to the embodiment of the present disclosure;

图3示出本公开实施例的基于区块链的分布式柔性车间调度方法又一个实施例的流程图;Figure 3 shows a flow chart of another embodiment of the blockchain-based distributed flexible workshop scheduling method according to the embodiment of the present disclosure;

图4示出本公开实施例的节点二部图的示意图;Figure 4 shows a schematic diagram of a node bipartite graph according to an embodiment of the present disclosure;

图5示出本公开实施例的步骤S320的流程图;Figure 5 shows a flow chart of step S320 in an embodiment of the present disclosure;

图6示出本公开实施例的基于区块链的分布式柔性车间调度装置一个实施例的结构示意图;Figure 6 shows a schematic structural diagram of an embodiment of a blockchain-based distributed flexible workshop scheduling device according to an embodiment of the present disclosure;

图7为本公开电子设备一个应用实施例的结构示意图。FIG. 7 is a schematic structural diagram of an application embodiment of the electronic device of the present disclosure.

具体实施方式Detailed ways

现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。Various exemplary embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings. It should be noted that the relative arrangement of components and steps, numerical expressions, and numerical values set forth in these examples do not limit the scope of the disclosure unless otherwise specifically stated.

本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。Those skilled in the art can understand that terms such as "first" and "second" in the embodiments of the present disclosure are only used to distinguish different steps, devices or modules, etc., and do not represent any specific technical meaning, nor do they represent the differences between them. necessary logical sequence.

还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。It should also be understood that in the embodiments of the present disclosure, "plurality" may refer to two or more than two, and "at least one" may refer to one, two, or more than two.

还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。It should also be understood that any component, data or structure mentioned in the embodiments of the present disclosure can generally be understood to mean one or more unless there is an explicit limitation or contrary inspiration is given in the context.

另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。In addition, the term "and/or" in this disclosure is only an association relationship describing associated objects, indicating that there can be three relationships, for example, A and/or B, which can mean: A alone exists, and A and B exist simultaneously. , there are three situations of B alone. In addition, the character "/" in this disclosure generally indicates that the related objects are in an "or" relationship.

还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。It should also be understood that the description of various embodiments in this disclosure focuses on the differences between the various embodiments, and the similarities or similarities between the embodiments can be referred to each other. For the sake of brevity, they will not be repeated one by one.

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。At the same time, it should be understood that, for convenience of description, the dimensions of various parts shown in the drawings are not drawn according to actual proportional relationships.

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way intended to limit the disclosure, its application or uses.

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。Techniques, methods and devices known to those of ordinary skill in the relevant art may not be discussed in detail, but where appropriate, such techniques, methods and devices should be considered a part of the specification.

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。It should be noted that similar reference numerals and letters refer to similar items in the following figures, so that once an item is defined in one figure, it does not need further discussion in subsequent figures.

本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。Embodiments of the present disclosure may be applied to electronic devices such as terminal devices, computer systems, servers, etc., which may operate with numerous other general or special purpose computing system environments or configurations. Examples of well-known terminal devices, computing systems, environments and/or configurations suitable for use with terminal devices, computer systems, servers and other electronic devices include, but are not limited to: personal computer systems, server computer systems, thin clients, thick clients Computers, handheld or laptop devices, microprocessor-based systems, set-top boxes, programmable consumer electronics, networked personal computers, small computer systems, mainframe computer systems and distributed cloud computing technology environments including any of the above systems, etc.

终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。Electronic devices such as terminal devices, computer systems, servers, etc. may be described in the general context of computer system executable instructions (such as program modules) being executed by the computer system. Generally, program modules may include routines, programs, object programs, components, logic, data structures, etc., that perform specific tasks or implement specific abstract data types. The computer system/server may be implemented in a distributed cloud computing environment where tasks are performed by remote processing devices linked through a communications network. In a distributed cloud computing environment, program modules may be located on local or remote computing system storage media including storage devices.

在本公开实施例中,将每个待加工产品的每个生产步骤对应的生产工作称为一个作业。每个作业的加工类型与该作业对应的待加工产品的加工类型相同。In the embodiment of the present disclosure, the production work corresponding to each production step of each product to be processed is called a job. The processing type of each operation is the same as the processing type of the product to be processed corresponding to the operation.

生产待加工产品的过程中,除由最后一个生产步骤以外的其他生产步骤,加工得到的产品称为该待加工产品的中间品。In the process of producing a product to be processed, the products obtained by other production steps except the last production step are called intermediate products of the product to be processed.

在分布式柔性车间调度(Distributed Flexible Flow Shop Scheduling)中,生产工序中的每个生产步骤可以对应多个用于实现该生产步骤的加工设备,每个加工设备可以具有多个加工位置,每个加工位置用于完成一个生产步骤,即每个加工位置均可以实现该加工位置所在的加工设备所对应的生产步骤。每个生产步骤对应的多个加工设备可以设置在一个工厂中。In Distributed Flexible Flow Shop Scheduling, each production step in the production process can correspond to multiple processing equipment used to implement the production step. Each processing equipment can have multiple processing locations, each The processing position is used to complete a production step, that is, each processing position can realize the production step corresponding to the processing equipment where the processing position is located. Multiple processing equipment corresponding to each production step can be set up in a factory.

区块链(Block Chain)是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证数据不可篡改和不可伪造的分布式账本。Block Chain is a chain data structure that combines data blocks in a chronological order and is a distributed ledger that cryptographically ensures that the data cannot be tampered with or forged.

图1示出本公开实施例中分布式柔性车间调度方法的流程示意图。本实施例可应用在计算设备上,如图1所示,本实施例中的分布式柔性车间调度方法包括如下步骤:Figure 1 shows a schematic flowchart of a distributed flexible workshop scheduling method in an embodiment of the present disclosure. This embodiment can be applied to computing devices. As shown in Figure 1, the distributed flexible workshop scheduling method in this embodiment includes the following steps:

步骤S110,获取加工请求。Step S110: Obtain the processing request.

其中,该加工请求包括:多个作业任务,对于多个作业任务中的各作业任务,该作业任务包括:待加工产品、该待加工产品的加工类型和该待加工产品的工件数量。各作业任务均具有相同的生产工序,即各作业任务所要加工的待加工产品均具有相同的生产工序。该生产工序包括具有生产顺序的多个生产步骤。The processing request includes: multiple job tasks. For each of the multiple job tasks, the job task includes: the product to be processed, the processing type of the product to be processed, and the number of workpieces of the product to be processed. Each job task has the same production process, that is, the products to be processed by each job task all have the same production process. The production process includes a plurality of production steps in a production sequence.

待加工产品可以为任意产品,例如,待加工产品可以是工业产品、生活产品、电子产品等。加工类型可以是待加工产品的型号、尺寸、产品规格等。例如,当待加工产品为螺栓时,加工类型可以为螺栓型号,如螺栓型号可以为M18、M6、M8等。当作业任务1包括:待加工产品为螺栓、加工类型为M18,工件数量为20个,则作业任务1表示需要加工20个型号为M18的螺栓。The products to be processed can be any products. For example, the products to be processed can be industrial products, daily products, electronic products, etc. The processing type can be the model, size, product specifications of the product to be processed, etc. For example, when the product to be processed is a bolt, the processing type can be the bolt model, such as the bolt model can be M18, M6, M8, etc. When job task 1 includes: the product to be processed is bolts, the processing type is M18, and the number of workpieces is 20, then job task 1 means that 20 bolts of type M18 need to be processed.

生产工序包括:具有生产顺序的多个生产步骤。例如,生产工序包括三个生产步骤,该三个生产步骤分别为:制造、组装和喷涂。该三个生产步骤的生产顺序为:①制造、②组装、③喷涂。即经过制造、组装、喷涂三个生产步骤,得到待加工产品。工件数量为需要生产的待加工产品的数量,即最后加工得到的待加工产品的数量。The production process includes: multiple production steps with a production sequence. For example, the production process includes three production steps: manufacturing, assembly and spraying. The production sequence of these three production steps is: ① manufacturing, ② assembly, ③ spraying. That is, after three production steps of manufacturing, assembly, and spraying, the product to be processed is obtained. The number of workpieces is the number of products to be processed that need to be produced, that is, the number of products to be processed that is finally processed.

步骤S120,基于生产工序,从区块链中获取第一生产参数。Step S120: Obtain the first production parameters from the blockchain based on the production process.

其中,该第一生产参数包括:多个生产步骤中各生产步骤分别对应的加工设备的数量、待加工产品的半成品在多个生产步骤中每两个相邻不同生产步骤的加工设备之间的运输时间。区块链中可以存储有多个第一生产参数。Wherein, the first production parameters include: the number of processing equipment corresponding to each production step in the plurality of production steps, the distance between the processing equipment of each two adjacent different production steps in the semi-finished product to be processed in the plurality of production steps. Transportation time. Multiple first production parameters can be stored in the blockchain.

在一种实施方式中,生产工序可以具有用于唯一标识该生产工序的工序标识。第一生产参数可以具有唯一标识第一生产参数的参数标识。上述的工序标识和参数标识可以是分散式标识符(Decentralized Identifier,DID)或自定义编码等。In one embodiment, a production process may have a process identifier used to uniquely identify the production process. The first production parameter may have a parameter identification that uniquely identifies the first production parameter. The above-mentioned process identifiers and parameter identifiers can be decentralized identifiers (Decentralized Identifier, DID) or custom codes.

可以预先设置工序标识与参数标识之间的对应关系。根据上述的生产工序的工序标识,在工序标识与参数标识之间的对应关系中,查找与该工序标识对应的参数标识,作为目标参数标识,基于该目标参数标识,从区块链中获取第一生产参数。The correspondence between the process identifier and the parameter identifier can be set in advance. According to the process identifier of the above-mentioned production process, in the corresponding relationship between the process identifier and the parameter identifier, the parameter identifier corresponding to the process identifier is searched as the target parameter identifier. Based on the target parameter identifier, the third parameter identifier is obtained from the blockchain. a production parameter.

步骤S130,基于作业任务中的加工类型,确定第二生产参数。Step S130: Determine second production parameters based on the processing type in the job task.

其中,该第二生产参数包括:加工设备完成一个生产步骤的作业时长范围、加工设备的启动时间的变化范围和停留时间范围,该停留时间范围表示:在待加工产品生产过程中,从第一个生产步骤的加工设备结束工作到最后一个生产步骤的加工设备开始工作之间的时间分布范围。例如,在生产工序包括具有生产顺序的三个生产步骤时,停留时间范围即待加工产品的中间产品在第一加工设备结束工作到第三加工设备开始工作之间的停留时间范围。Among them, the second production parameters include: the operating time range of the processing equipment to complete a production step, the variation range of the starting time of the processing equipment, and the residence time range. The residence time range represents: in the production process of the product to be processed, from the first The time distribution range between the end of the processing equipment of the first production step and the start of the processing equipment of the last production step. For example, when the production process includes three production steps with a production sequence, the residence time range is the residence time range between the intermediate product of the product to be processed finishing working on the first processing equipment and starting working on the third processing equipment.

在一种实施方式中,第二生产参数可以通过如下方式得到:In one implementation, the second production parameter can be obtained as follows:

对于各作业任务,可以根据该作业任务中加工类型和待加工产品,依据生产经验、加工设备的性能、生产要求等,自定义的设置加工设备完成一个生产步骤的作业时长和加工设备的启动时间的变化范围。可以基于加工设备的性能、待加工产品的生产要求、生产规范等,自定义的设置停留时间范围。根据各加工设备完成一个生产步骤的作业时长、各加工设备的启动时间的变化范围和停留时间范围,生成第二生产参数。其中,第二生产参数中的加工设备完成一个生产步骤的作业时长范围,覆盖各加工设备完成一个生产步骤的作业时长;第二生产参数中的加工设备的启动时间的变化范围,覆盖各加工设备的启动时间的变化范围。For each job task, you can customize the operation time for the processing equipment to complete a production step and the start-up time of the processing equipment based on the processing type and product to be processed in the job task, production experience, performance of the processing equipment, production requirements, etc. range of change. The residence time range can be customized based on the performance of the processing equipment, the production requirements of the products to be processed, production specifications, etc. The second production parameter is generated based on the operation time of each processing equipment to complete a production step, the variation range of the start-up time and the residence time range of each processing equipment. Among them, the operating time range of the processing equipment in the second production parameter to complete a production step covers the operating time of each processing equipment to complete a production step; the variation range of the start-up time of the processing equipment in the second production parameter covers the operating time of each processing equipment. The variation range of startup time.

步骤S140,根据生产工序、第一生产参数、第二生产参数和各作业任务的工件数量,利用预先训练好的分布式柔性车间调度模型,确定生产方案,以使多个作业任务的总时间最小化。Step S140: Based on the production process, the first production parameter, the second production parameter and the number of workpieces of each operation task, use the pre-trained distributed flexible workshop scheduling model to determine the production plan to minimize the total time of multiple operation tasks. change.

其中,该分布式柔性车间调度模型包括:目标函数和预设约束条件,目标函数用于使完成多个作业任务的总时间最小化,即目标函数用于使完成各作业任务的总时间之和最小。预设约束条件用于约束目标函数中的变量。生产方案包括对各作业任务的生产加工信息和各加工设备的生产加工信息等。例如,生产方案可以包括:各作业任务中每个待加工产品在各加工设备上的生产顺序、每个生产步骤的每个加工设备,生产加工每个待加工产品的时长等。Among them, the distributed flexible workshop scheduling model includes: an objective function and preset constraints. The objective function is used to minimize the total time to complete multiple job tasks, that is, the objective function is used to minimize the total time to complete each job task. Minimum. Preset constraints are used to constrain the variables in the objective function. The production plan includes production and processing information for each operation task and production and processing information for each processing equipment. For example, the production plan may include: the production sequence of each product to be processed on each processing equipment in each job task, each processing equipment for each production step, the duration of production and processing of each product to be processed, etc.

分布式柔性车间调度模型用于输出对各作业任务的生产加工方式优化后的生产方案,即分布式柔性车间调度模型可以输出,完成各作业任务的总时间最小化的生产方案。分布式柔性车间调度模型可以根据遗传算法(Genetic Algorithm,GA)、混合优化算法(GeneticAlgorithm Variable Neighborhood Search,GAVNS)、分支定界算法(Branch-andBound,B&B)等,对分布式柔性车间调度问题求解得到。The distributed flexible workshop scheduling model is used to output a production plan that optimizes the production and processing methods of each task. That is, the distributed flexible workshop scheduling model can output a production plan that minimizes the total time to complete each task. The distributed flexible workshop scheduling model can solve distributed flexible workshop scheduling problems based on genetic algorithm (Genetic Algorithm, GA), hybrid optimization algorithm (Genetic Algorithm Variable Neighborhood Search, GAVNS), branch-and-bound algorithm (Branch-andBound, B&B), etc. get.

在一种实施方式中,以生产工序包括三个生产步骤为例进行说明,其它实例可以参见于此。为了便于解释说明,将生产工序包括的三个生产步骤按照生产顺序分别称为第一生产步骤、第二生产步骤和第三生产步骤。将第一生产步骤对应的加工设备称为第一加工设备,第二生产步骤对应的加工设备称为第二加工设备,第三生产步骤对应的加工设备称为第三加工设备。In one implementation, the production process includes three production steps as an example for description. Other examples can be found here. For convenience of explanation, the three production steps included in the production process are respectively referred to as the first production step, the second production step and the third production step according to the production order. The processing equipment corresponding to the first production step is called first processing equipment, the processing equipment corresponding to the second production step is called second processing equipment, and the processing equipment corresponding to the third production step is called third processing equipment.

目标函数为式(1),约束条件可以通过式(2)-式(14)表示;The objective function is formula (1), and the constraints can be expressed by formula (2) to formula (14);

;

;

;

;

;

;

;

;

;

;

;

;

;

.

其中,均为目标函数的变量。具体的,可以为二元决策变量,/>为三元决策变量。in, are all variables of the objective function. specific, Can be a binary decision variable,/> is a ternary decision variable.

f为加工类型索引;i为作业索引;s为生产步骤的索引;m为加工设备的索引;k为加工位置的索引。f is the processing type index; i is the job index; s is the index of the production step; m is the index of the processing equipment; k is the index of the processing location.

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)用于保证同一加工类型的两个作业,后一个的作业在前一个的作业之后加工。m n is the index of the first processing equipment; M is the set of first processing equipment, M={1,...,m n }; M′ is the set of some first processing equipment, M′={2,...,m n }; K mn is the processing position index, indicating the processing position n on the first processing equipment m; K m is the processing position set of the first processing equipment m, K m = {1,..., K mn }; K m ′ is the partial set of processing positions of the first processing equipment m, K m ′={1,...,K mn-1 }; f n is the index of the processing type f; F is the set of processing types, F={1,... , f n }; I fn is the index of the job of processing type f; I f is the set of jobs with processing type f, I f ={1,...,I fn }; I f ′ is the job of processing type f The partial set of I f ={1,...,I fn-1 }; △ m is the startup time of the m-th first equipment; [α 1, f , α 2, f ] is the operation of processing type f at the The time variation range of the first start on the third processing equipment; p f,i,m is the processing time of the i-th job with processing type m on the third processing equipment m; p f,i,1 is the processing type is the processing time of the i-th job of m on the first third processing equipment; q f, i is the processing time of job i of processing type f on the second processing equipment; [w 1, f, i , w 2, f, i ] is the variation range of the processing time of job i on the second processing equipment of processing type f; d m is the maximum residence time of job m from the end of processing by the first processing equipment to the start of processing by the third processing equipment; t 1,2 is the transportation time from the first production step (first processing equipment) to the second production step (second processing equipment); t 2,3 is the transportation time from the second production step (second processing equipment) to the third production step (The third processing equipment) transportation time; X f , 1,1,1 is the processing position 1 assigned to the first processing equipment 1 by job 1; When job i of processing type f is assigned to processing position k, X f,i,m,k is set to 1, otherwise, X f,i,m,k is set to 0; ST f,i,s is a continuous variable, which defines the start time of starting to process job i of processing type f in production step s; PT f,i,3 is a continuous variable, which defines the start time of job i of processing type f in the third production step Duration; minCThe minimum total duration of multiple job tasks; The start time of starting processing operation I fn for the third production step;/> It is the operation duration of the third production step of operation I fn of processing type f; It is the operation i + 1 of the processing type f processed at the processing position of the first processing equipment r + 1; It is the processing operation i+1 of processing type f at the processing position m′ of the first processing equipment r + 1;/> is the start time of starting processing of the i-th job on the first processing equipment;/> The start time of starting the i-th job on the second processing equipment;/> is the start time of starting processing of the i-th job on the third processing equipment;/> It is the start time of starting the i+1th job on the second processing equipment;/> It is the start time of starting the i+1th job on the third processing equipment;/> is the operation duration of operation i of processing type f in the third production step; M 1 is a set of indexes of processing positions of the first processing equipment. Constraint condition 1 (corresponding to equation (2)) is: each job of each processing type can only be processed at one processing position on one first processing equipment; constraint condition 2 (corresponding to equation (3)) is: each third Each processing position of a processing equipment can only process one processing type of job; constraint 3 (corresponding to equation (4)) is: the first job can only be assigned to the first processing position on the first processing device; Constraint 4 (corresponding to equation (5)) is: Currently, only when job i with processing type f is processed on one of the first processing equipment with index {1,···,r}, it can be processed at index The first processing position of the first processing equipment of r + 1 processes the operation i + 1 with the processing type f; the constraint 5 (corresponding to equation (6)) is: if and only if the operation i with the processing type f is at the index When processing on the first processing equipment with index {1,···,r}, or when processing on the first processing equipment indexed before index {1,···,r+1}, it can be processed on the first processing equipment with index r The operation i+1 of processing type f is processed on the first processing equipment of +1; constraint condition 6 (corresponding to equation (7)) is: the start time of starting processing of operations of each processing type on the first processing equipment; constraint condition 7 (corresponding to equation (8)) and constraint 8 (corresponding to equation (9)) are used to constrain that in two consecutive production steps of the same product to be processed, the latter production step can only be completed in the previous production step and has been transmitted It can only start when the processing equipment corresponding to the latter production step is reached; the constraint (9) (corresponding to equation (10)) is: for two consecutive operations on the same second processing equipment, the second operation can only be performed on the first Start after each job is completed; constraint condition (10) (corresponding to equation (11)) is: for two consecutive jobs on the same third processing equipment, the second job should be started immediately after the first job is completed; constraint condition 11 (corresponding to equation (12)) is: the time interval between operations of each processing type on the third processing equipment; constraint 12 (corresponding to equation (13)) is: the time interval between operations of each processing type on the processing equipment The maximum residence time of Ensure that for two jobs of the same processing type, the latter job is processed after the previous job.

步骤S150,基于生产方案执行多个作业任务,得到各作业任务对应工件数量的待加工产品。Step S150: Execute multiple job tasks based on the production plan to obtain products to be processed corresponding to the number of workpieces for each job task.

其中,可以基于生产方案进行加工,以完成工件加工请求中的各作业任务,得到每个作业任务对应的工件数量的待加工产品。Among them, processing can be performed based on the production plan to complete each operation task in the workpiece processing request, and obtain the number of workpieces corresponding to each operation task to be processed.

本公开实施例中,先通过各作业任务对应的生产工序和各作业任务的加工类型,确定第一生产参数和第二生产参数,之后利用分布式柔性车间调度模型,对具有相同生产工序的多个加工类型的多个作业任务的生产、调度进行优化规划,能够使完成多个作业任务的总时间最小化,实现了对多个作业任务高效的生产加工。In the embodiment of the present disclosure, the first production parameters and the second production parameters are first determined through the production process corresponding to each job task and the processing type of each job task, and then the distributed flexible workshop scheduling model is used to calculate multiple production processes with the same production process. Optimizing the production and scheduling of multiple job tasks of each processing type can minimize the total time to complete multiple job tasks and achieve efficient production and processing of multiple job tasks.

在一个可选实施例中,本实施例中的分布式柔性车间调度模型中的预设约束条件包括:In an optional embodiment, the preset constraints in the distributed flexible workshop scheduling model in this embodiment include:

对加工设备的生产加工的约束,在本实施例中,该条约束条件对应步骤S140中的约束条件1。Regarding the constraints on the production and processing of the processing equipment, in this embodiment, this constraint corresponds to constraint 1 in step S140.

对加工设备所要生产加工的加工类型的约束,在本实施例中,该条约束条件对应步骤S140中的约束条件2。Constraints on the type of processing to be produced by the processing equipment. In this embodiment, this constraint corresponds to constraint 2 in step S140.

对开始加工的约束,在本实施例中,该条约束条件对应步骤S140中的约束条件3。Regarding the constraint on starting processing, in this embodiment, this constraint corresponds to constraint 3 in step S140.

对各生产加工步骤对应的加工设备连续加工的约束,在本实施例中,该条约束条件对应步骤S140中的约束条件4。Regarding the constraints on the continuous processing of the processing equipment corresponding to each production and processing step, in this embodiment, this constraint corresponds to constraint 4 in step S140.

对在生产同一加工类型的待加工产品时,各生产加工步骤对应的加工设备连续加工的约束,在本实施例中,该条约束条件对应步骤S140中的约束条件5。Regarding the constraint on continuous processing of processing equipment corresponding to each production and processing step when producing products to be processed of the same processing type, in this embodiment, this constraint corresponds to constraint 5 in step S140.

对第一加工设备上开始加工各加工类型的作业的开始时间的约束,在本实施例中,该条约束条件对应步骤S140中的约束条件6。In this embodiment, in this embodiment, this constraint corresponds to the constraint 6 in step S140 as to the constraint on the start time of processing operations of each processing type on the first processing equipment.

对同一待加工产品的连续的两个生产步骤加工顺序的约束,在本实施例中,该条约束条件对应步骤S140中的约束条件7和约束条件8。Regarding the constraints on the processing sequence of two consecutive production steps of the same product to be processed, in this embodiment, this constraint corresponds to constraint 7 and constraint 8 in step S140.

对同一个加工设备上的连续加工顺序的约束,在本实施例中,该条约束条件对应步骤S140中的约束条件9。Regarding the constraints on the continuous processing sequence on the same processing equipment, in this embodiment, this constraint corresponds to constraint 9 in step S140.

对于同一加工设备上连续作业时的启动顺序的约束,在本实施例中,该条约束条件对应步骤S140中的约束条件10。Regarding the constraint on the startup sequence during continuous operations on the same processing equipment, in this embodiment, this constraint corresponds to constraint 10 in step S140.

对在加工设备上各加工类型的作业之间的时间间隔的约束,在本实施例中,该条约束条件对应步骤S140中的约束条件11。Regarding the constraints on the time intervals between operations of each processing type on the processing equipment, in this embodiment, this constraint corresponds to the constraint 11 in step S140.

对多个加工类型的作业在加工设备上的停留时间的约束,在本实施例中,该条约束条件对应步骤S140中的约束条件12。Constraints on the residence time of multiple processing types of jobs on the processing equipment. In this embodiment, this constraint corresponds to constraint 12 in step S140.

对加工设备上多个加工类型的作业的开始时间的约束,在本实施例中,该条约束条件对应步骤S140中的约束条件13。Constraints on the start time of multiple processing types of jobs on the processing equipment. In this embodiment, this constraint corresponds to constraint 13 in step S140.

在一个可选实施例中,如图2所示,本公开实施例中的步骤S150之后中还包括如下步骤:In an optional embodiment, as shown in Figure 2, the following steps are included after step S150 in the embodiment of the present disclosure:

步骤S210,获取各加工设备的设备信息。Step S210: Obtain equipment information of each processing equipment.

其中,各加工设备中的任一加工设备的设备信息包括:在预设时间段内,由该任一加工设备加工得到的待加工产品的合格率。预设时间段可以根据实际需求设置,例如可以为7天、15天等。Wherein, the equipment information of any one of the processing equipments includes: within a preset time period, the qualification rate of the products to be processed processed by any one of the processing equipments. The preset time period can be set according to actual needs, for example, it can be 7 days, 15 days, etc.

在一种实施方式中,对于任一待加工产品,当该待加工产品的质量合格时,在加工该待加工产品的各加工设备的设备信息中记录该待加工产品质量合格;当该待加工产品的质量不合格时,在加工该待加工产品的各加工设备的设备信息中记录该待加工产品的质量不合格。示例性的,待加工产品A通过三个生产步骤生产得到,该三个生产步骤分别为制造、装配和喷涂,当待加工产品A的质量合格时,在生产步骤为制造、装配和喷涂分别对应的加工设备的设备信息中记录待加工产品A质量合格;当待加工产品A的质量不合格时,在生产步骤为制造、装配和喷涂分别对应的加工设备的设备信息中记录待加工产品A的质量不合格。利用预设时段内,每个加工设备加工得到的质量合格的待加工产品的数量除以由该加工设备加工得到的待加工产品的总数量,得到待加工产品的合格率。In one embodiment, for any product to be processed, when the quality of the product to be processed is qualified, the quality of the product to be processed is recorded in the equipment information of each processing equipment that processes the product to be processed; when the product to be processed is qualified When the quality of the product is unqualified, the unqualified quality of the product to be processed is recorded in the equipment information of each processing equipment that processes the product to be processed. For example, product A to be processed is produced through three production steps, which are manufacturing, assembly, and spraying. When the quality of product A to be processed is qualified, the production steps corresponding to manufacturing, assembly, and spraying are respectively The quality of product A to be processed is recorded in the equipment information of the processing equipment; when the quality of product A to be processed is unqualified, the quality of product A to be processed is recorded in the equipment information of the processing equipment corresponding to the production steps of manufacturing, assembly and spraying respectively. The quality is substandard. The qualification rate of the products to be processed is obtained by dividing the number of products to be processed with qualified quality processed by each processing equipment within a preset period by the total number of products to be processed processed by the processing equipment.

步骤S220,根据各设备信息中的待加工产品的合格率,更新第一生产参数中的各生产步骤分别对应的加工设备的数量。Step S220: Update the number of processing equipment corresponding to each production step in the first production parameter according to the qualification rate of the product to be processed in each equipment information.

在一种实施方式中,可以预先设置合格率阈值。将预设设备信息中的待加工产品的合格率大于或等于预设合格率阈值的加工设备,确定可用加工设备,根据可用加工设备的数量,更新第一生产参数中的各生产步骤分别对应的加工设备的数量。In one implementation, the pass rate threshold can be set in advance. Determine the available processing equipment for which the qualification rate of the products to be processed in the preset equipment information is greater than or equal to the preset qualification rate threshold, and update the corresponding production steps in the first production parameters according to the number of available processing equipment. Number of processing equipment.

在一个可选实施例中,如图3所示,本公开实施例中的分布式柔性车间调度模型获得方式包括如下步骤:In an optional embodiment, as shown in Figure 3, the method for obtaining the distributed flexible workshop scheduling model in the embodiment of the present disclosure includes the following steps:

步骤S310,获取训练数据集和待训练的混合整数线性规划模型。Step S310: Obtain the training data set and the mixed integer linear programming model to be trained.

其中,该待训练的混合整数线性规划模型包括:初始目标函数和初始预设约束条件。Among them, the mixed integer linear programming model to be trained includes: an initial objective function and initial preset constraints.

混合整数规划(Mixed-Integer Linear Programs,MILP)模型是一种优化问题的数据建模方法,它包括初始目标函数和初始约束条件。混合整数规划模型的目标是通过在给定的初始约束条件下,寻找使初始目标函数最优化的整数解。其中,初始目标函数是线性的,即由决策变量的线性组合构成初始;约束条件也是线性的,包括等式约束和不等式约束。The Mixed-Integer Linear Programs (MILP) model is a data modeling method for optimization problems, which includes an initial objective function and initial constraints. The goal of the mixed integer programming model is to find an integer solution that optimizes the initial objective function under given initial constraints. Among them, the initial objective function is linear, that is, it is initialized by a linear combination of decision variables; the constraints are also linear, including equality constraints and inequality constraints.

在本实施例中,待训练的混合整数线性规划模型中的初始目标函数可以与分布式柔性车间调度模型中目标函数相同,即为式(1)所示的目标函数;待训练的混合整数线性规划模型中的初始预设约束条件可以与分布式柔性车间调度模型中约束条件相同,即式(2)-式(14)表示的约束条件。In this embodiment, the initial objective function in the mixed integer linear programming model to be trained can be the same as the objective function in the distributed flexible workshop scheduling model, that is, the objective function shown in formula (1); the mixed integer linear programming model to be trained The initial preset constraints in the planning model can be the same as the constraints in the distributed flexible workshop scheduling model, that is, the constraints represented by equations (2) to (14).

上述的训练数据集包括:多条训练数据。该多条训练数据中的各训练数据分别包括节点二部图。The above training data set includes: multiple pieces of training data. Each of the plurality of pieces of training data respectively includes a node bipartite graph.

在一种实施方式中,可以使用马尔可夫决策过程(Markov Decision Process,MDP)和分支定界(Branch-and-Bound,B&B)算法中的强分支策略(Strong BranchDecision/Strategy),利用求解器,对待训练的混合整数线性规划模型求解,得到训练数据集中的各训练数据。其中,分支定界算法递归地将解空间划分为一棵搜索,并在此过程中计算松弛界,以修剪那些显示不包含最优解的子树;强分支策略是分支定界算法中一种用于分支的策略。In one implementation, the Strong BranchDecision/Strategy (Strong BranchDecision/Strategy) in the Markov Decision Process (MDP) and the Branch-and-Bound (B&B) algorithm can be used, using the solver , solve the mixed integer linear programming model to be trained, and obtain each training data in the training data set. Among them, the branch-and-bound algorithm recursively divides the solution space into a tree search, and calculates the slack bound in the process to prune those subtrees that do not contain the optimal solution; the strong branch strategy is a branch-and-bound algorithm. The strategy used for branching.

待训练的混合整数线性规划模型对应的分支定界树中的节点每次的分支或分裂得到的分支结果,即为一条训练数据。可以对该分支结果进行编码处理,即得到相应的节点二部图。为了便于说明,以下将通过求解器生成的,待训练的混合整数线性规划模型的分支定界树称为目标分支定界树。当目标分支定界树中具有预设数量的节点时,则可以停止对待训练的混合整数线性规划模型的求解,得到训练数据集。The branch result obtained by each branch or split of the node in the branch-and-bound tree corresponding to the mixed integer linear programming model to be trained is a piece of training data. The branch result can be encoded to obtain the corresponding node bipartite graph. For ease of explanation, the branch-and-bound tree of the mixed integer linear programming model to be trained, generated by the solver, is referred to as the target branch-and-bound tree below. When there are a preset number of nodes in the target branch-and-bound tree, the solution of the mixed integer linear programming model to be trained can be stopped to obtain a training data set.

节点二部图可以用于表示节点的状态。其中,每个节点二部图包括:多个第一节点、多个第二节点和边缘特征。边缘特征包括:预设约束条件对应的特征矩阵、待训练的混合整数线性规划模型中变量对应的特征矩阵和用于连接第一节点和第二节点的边的特征张量。将预设约束条件对应的特征矩阵作为第一节点,将待训练的混合整数线性规划模型中的变量对应的特征矩阵作为第二节点,当一个变量参与约束任一约束条件,则将该任一约束条件对应的第一节点和该变量对应的第二节点用一条边连接,该条边具有特征张量。示例性的,图4示出了本公开实施例中一个节点二部图的示意图。如图4所述,C1、C2表示预设约束条件对应的特征矩阵,即是第一节点,V1、V2、V3表示待训练的混合整数线性规划模型中的变量对应的特征矩阵,即是第二节点,e1,1、e1,2、e1,3、e2,2、e2,3为连接第一节点和第二节点的边的特征张量。Node bipartite graphs can be used to represent the states of nodes. Each node bipartite graph includes: a plurality of first nodes, a plurality of second nodes and edge features. The edge features include: a feature matrix corresponding to the preset constraint conditions, a feature matrix corresponding to the variables in the mixed integer linear programming model to be trained, and a feature tensor for the edge connecting the first node and the second node. The characteristic matrix corresponding to the preset constraints is used as the first node, and the characteristic matrix corresponding to the variables in the mixed integer linear programming model to be trained is used as the second node. When a variable participates in constraining any constraint, then any The first node corresponding to the constraint condition and the second node corresponding to the variable are connected by an edge, and the edge has a characteristic tensor. Exemplarily, FIG. 4 shows a schematic diagram of a node bipartite graph in an embodiment of the present disclosure. As shown in Figure 4, C 1 and C 2 represent the feature matrices corresponding to the preset constraints, which are the first nodes. V 1 , V 2 and V 3 represent the characteristics corresponding to the variables in the mixed integer linear programming model to be trained. The matrix is the second node, and e 1,1 , e 1,2 , e 1,3 , e 2,2 , e 2,3 are the characteristic tensors of the edges connecting the first node and the second node.

每条训练数据还可以包括:节点分支状态和节点分支结果。节点分支状态表示待训练的混合整数线性规划模型的目标分支定界树的节点是否还可以进行分支;节点分支结果表示待训练的混合整数线性规划模型的目标分支定界树的节点的数量、特征信息等。Each piece of training data can also include: node branch status and node branch results. The node branch status indicates whether the nodes of the target branch and bound tree of the mixed integer linear programming model to be trained can still branch; the node branch result indicates the number and characteristics of the nodes of the target branch and bound tree of the mixed integer linear programming model to be trained. Information etc.

步骤S320,利用训练数据集和强分支策略,迭代训练待训练的混合整数线性规划模型,直至训练结果满足停止训练条件,得到分布式柔性车间调度模型。Step S320: Use the training data set and the strong branch strategy to iteratively train the mixed integer linear programming model to be trained until the training results meet the training stop conditions, and obtain the distributed flexible workshop scheduling model.

在一种实施方式中,每次对混合整数线性规划模型进行训练的方式包括:In one implementation, the method of training the mixed integer linear programming model each time includes:

在待训练的混合整数线性规划模型上运行强分支策略,生成多个分支决策。其中的该多个分支决策中的任一分支决策表示,在待训练的混合整数线性规划模型运行强分支策略所生成的决策树中的节点,进行分支或分裂得到的分支结果。可以根据预设配对规则,确定分支决策与训练数据对。例如,可以将包括对相同的至少一个节点的处理结果的训练数据和分支决策,组成一对分支决策与训练数据对。Run a strong branching strategy on the mixed integer linear programming model to be trained to generate multiple branching decisions. Any branch decision among the plurality of branch decisions represents the branch result obtained by branching or splitting the nodes in the decision tree generated by running the strong branching strategy on the mixed integer linear programming model to be trained. Branch decision and training data pairs can be determined based on preset pairing rules. For example, training data and branch decisions including processing results for the same at least one node may be combined into a pair of branch decisions and training data.

根据多个分支决策和训练数据集中的各训练数据,利用式(15),计算得到交叉熵损失值;交叉熵损失值越小表示分支策略越接近训练数据;According to multiple branch decisions and each training data in the training data set, the cross-entropy loss value is calculated using Equation (15); the smaller the cross-entropy loss value, the closer the branch strategy is to the training data;

其中,表示交叉熵损失值,N表示训练数据集中训练数据的数量,s表示分支决策,a表示训练数据(即,节点二部图),D表示分支决策与训练数据对集合,该分支决策与训练数据对集合包括:多对分支决策和训练数据对。in, represents the cross entropy loss value, N represents the number of training data in the training data set, s represents the branch decision, a represents the training data (i.e., node bipartite graph), and D represents the set of branch decision and training data pairs, the branch decision and the training data The pair set includes: multiple pairs of branch decisions and training data pairs.

迭代执行上述的在待训练的混合整数线性规划模型上运行强分支策略、交叉熵损失值的操作,并迭代调整待训练的混合整数线性规划模型的参数,以使交叉熵损失值不断减小,直至交叉熵损失值不再减小时,确定待训练的混合整数线性规划模型满足停止训练条件,得到分布式柔性车间调度模型。Iteratively perform the above-mentioned operations of running the strong branch strategy and cross-entropy loss value on the mixed integer linear programming model to be trained, and iteratively adjust the parameters of the mixed integer linear programming model to be trained so that the cross-entropy loss value continues to decrease, Until the cross-entropy loss value no longer decreases, it is determined that the mixed integer linear programming model to be trained meets the conditions for stopping training, and the distributed flexible workshop scheduling model is obtained.

在一个可选实施例中,如图5所示,本公开实施例中的步骤S320还包括如下步骤:In an optional embodiment, as shown in Figure 5, step S320 in the embodiment of the present disclosure also includes the following steps:

步骤S321,获取满足停止训练条件的待训练的混合整数线性规划模型对应的目标分支决策。Step S321: Obtain the target branch decision corresponding to the mixed integer linear programming model to be trained that meets the training stop condition.

其中,目标分支决策可以为,在满足停止训练条件的待训练的混合整数线性规划模型上,运行强分支策略,所得到的分支决策。该目标分支决策可以包括:满足停止训练条件的待训练的混合整数线性规划模型的决策树的二部图。Among them, the target branch decision can be the branch decision obtained by running the strong branch strategy on the mixed integer linear programming model to be trained that satisfies the training stop condition. The target branch decision may include: a bipartite graph of the decision tree of the mixed integer linear programming model to be trained that satisfies the training stop condition.

步骤S322,对该目标分支决策进行参数化,得到模型参数。Step S322: Parameterize the target branch decision to obtain model parameters.

其中,可以利用预先训练好的参数化模型对目标分支决策进行参数化处理,得到模型参数。即,将目标分支决策输入参数化模型,由参数化模型输出模型参数。Among them, the pre-trained parametric model can be used to parameterize the target branch decision to obtain the model parameters. That is, the target branch decision is input into the parametric model, and the parametric model outputs the model parameters.

其中的参数化模型可以为图像神经网络(Graph Convolution Neural Network,GCNN)。在一种实施方式中,可以利用多个标注有参数信息的二部图样本,训练图像神经网络,得到参数化模型。The parameterized model may be a Graph Convolution Neural Network (GCNN). In one implementation, multiple bipartite graph samples labeled with parameter information can be used to train an image neural network to obtain a parameterized model.

步骤S323,基于模型参数和满足停止训练条件的待训练的混合整数线性规划模型,得到分布式柔性车间调度模型。Step S323: Obtain a distributed flexible workshop scheduling model based on the model parameters and the mixed integer linear programming model to be trained that satisfies the training stop condition.

其中,由模型参数和满足停止训练条件的待训练的混合整数线性规划模型构成分布式柔性车间调度模型。Among them, the distributed flexible workshop scheduling model is composed of model parameters and the mixed integer linear programming model to be trained that meets the training stop conditions.

在一个可选实施例中,本公开实施例中的步骤S310可以包括:利用预设求解器和强分支策略对待训练的混合整数线性规划模型进行求解,得到训练数据集。In an optional embodiment, step S310 in the embodiment of the present disclosure may include: using a preset solver and a strong branch strategy to solve the mixed integer linear programming model to be trained to obtain a training data set.

其中,预设求解器可以为任意可对整数线性规划模型进行求解的求解器。示例性的,预设求解器可以为:SCIP求解器、Gurobi求解器、MOSEK求解器、CMIP求解器等。Among them, the preset solver can be any solver that can solve the integer linear programming model. For example, the preset solver can be: SCIP solver, Gurobi solver, MOSEK solver, CMIP solver, etc.

在一种实施方式中,可以将待训练的混合整数线性规划模型输入预设求解器中,设置预设求解器使用马尔可夫决策过程和分支定界算法中的强分支策略,对待训练的混合整数线性规划模型进行求解,由预设求解器输出待训练的混合整数线性规划模型对应的分支定界树中的节点每次的分支或分裂的分支结果,即得到多条训练数据,由多条训练数据构建训练数据集。In one implementation, the mixed integer linear programming model to be trained can be input into a preset solver, and the preset solver is set to use the Markov decision process and the strong branch strategy in the branch and bound algorithm. The integer linear programming model is solved, and the preset solver outputs the branch results of each branch or split of the node in the branch-and-bound tree corresponding to the mixed integer linear programming model to be trained, that is, multiple pieces of training data are obtained. Training data builds a training data set.

图6示出本公开实施例中基于区块链的分布式柔性车间调度装置的框图。如图6所示,该实施例的基于区块链的分布式柔性车间调度装置包括:Figure 6 shows a block diagram of a blockchain-based distributed flexible workshop scheduling device in an embodiment of the present disclosure. As shown in Figure 6, the distributed flexible workshop scheduling device based on blockchain in this embodiment includes:

第一获取模块410,用于获取加工请求,其中,所述加工请求包括:多个作业任务,所述多个作业任务中的各作业任务,所述作业任务包括:待加工产品、所述待加工产品的加工类型和所述待加工产品的工件数量;所述多个作业任务均具有相同的生产工序,所述生产工序包括具有生产顺序的多个生产步骤;The first acquisition module 410 is used to acquire a processing request, where the processing request includes: a plurality of work tasks, each of the plurality of work tasks, the work tasks include: a product to be processed, the product to be processed, The processing type of the processed product and the number of workpieces of the product to be processed; the multiple job tasks all have the same production process, and the production process includes multiple production steps with a production sequence;

第一参数获得模块420,用于基于所述生产工序,从区块链中获取第一生产参数,其中,所述第一生产参数包括:所述多个生产步骤中各生产步骤分别对应的加工设备的数量和待加工产品的半成品在所述多个生产步骤中每两个相邻生产步骤的加工设备之间的运输时间;The first parameter obtaining module 420 is used to obtain first production parameters from the blockchain based on the production process, where the first production parameters include: processing corresponding to each production step in the plurality of production steps. The number of equipment and the transportation time of semi-finished products of the product to be processed between the processing equipment of each two adjacent production steps in the multiple production steps;

第二参数获得模块430,用于基于所述作业任务中的加工类型,确定第二生产参数,其中,所述第二生产参数包括:加工设备完成一个生产步骤的作业时长范围、加工设备的启动时间的变化范围和停留时间范围,所述停留时间范围表示:在待加工产品生产过程中,从第一个生产步骤的加工设备结束工作到最后一个生产步骤的加工设备开始工作之间的时间分布范围;The second parameter acquisition module 430 is used to determine second production parameters based on the processing type in the operation task, where the second production parameters include: the operation duration range of the processing equipment to complete a production step, the start-up of the processing equipment The change range of time and the residence time range. The residence time range represents: in the production process of the product to be processed, the time distribution from the end of the processing equipment of the first production step to the start of the processing equipment of the last production step. scope;

方案生成模块440,用于根据所述生产工序、所述第一生产参数、所述第二生产参数和所述各作业任务的工件数量,利用预先训练好的分布式柔性车间调度模型,确定各作业任务的生产方案,以使所述多个作业任务的总时间最小化,其中,所述分布式柔性车间调度模型包括:目标函数和预设约束条件,所述目标函数用于最小化完成所述多个作业任务的时间,所述预设约束条件用于约束目标函数中的变量;The plan generation module 440 is configured to use a pre-trained distributed flexible workshop scheduling model to determine each workpiece based on the production process, the first production parameter, the second production parameter and the number of workpieces of each job task. The production plan of the job tasks is to minimize the total time of the multiple job tasks, wherein the distributed flexible workshop scheduling model includes: an objective function and preset constraints, and the objective function is used to minimize the completion of all tasks. Describe the time of multiple job tasks, and the preset constraints are used to constrain variables in the objective function;

生产加工模块450,用于基于所述生产方案执行所述多个作业任务,得到所述各作业任务对应工件数量的待加工产品。The production and processing module 450 is configured to execute the plurality of work tasks based on the production plan and obtain the number of products to be processed corresponding to the number of workpieces for each work task.

在一个可选实施例方式中,本公开实施例中的所述预设约束条件包括:对加工设备的生产加工的约束;对所述加工设备所要生产加工的加工类型的约束;对开始加工的约束;对各生产加工步骤对应的加工设备连续加工的约束;对在生产同一加工类型的待加工产品时,各生产加工步骤对应的加工设备连续加工的约束;对所述加工设备上开始加工各加工类型的作业的开始时间的约束;对同一待加工产品的连续的两个生产步骤加工顺序的约束;对同一个加工设备上的连续加工顺序的约束;对于同一加工设备上连续作业时的启动顺序的约束;对在加工设备上各加工类型的作业之间的时间间隔的约束;对多个加工类型的作业在加工设备上的停留时间的约束;对加工设备上多个加工类型的作业的开始时间的约束。In an optional embodiment, the preset constraints in the embodiment of the present disclosure include: constraints on the production and processing of the processing equipment; constraints on the type of processing to be produced and processed by the processing equipment; constraints on starting processing. Constraints; Constraints on the continuous processing of the processing equipment corresponding to each production and processing step; Constraints on the continuous processing of the processing equipment corresponding to each production and processing step when producing products to be processed of the same processing type; Constraints on the processing of each process on the processing equipment. Constraints on the start time of processing type operations; Constraints on the processing sequence of two consecutive production steps of the same product to be processed; Constraints on the continuous processing sequence on the same processing equipment; For the start of continuous operations on the same processing equipment Sequence constraints; constraints on the time intervals between operations of various processing types on processing equipment; constraints on the residence time of operations of multiple processing types on processing equipment; constraints on operations of multiple processing types on processing equipment Start time constraints.

在一个可选实施例方式中,本公开实施例中的基于区块链的分布式柔性车间调度装置还包括:第二获取模块,用于获取各加工设备的设备信息,其中,所述各加工设备中的任一加工设备的设备信息包括:在预设时间段内,由所述任一加工设备加工得到的待加工产品的合格率;更新模块,用于根据各设备信息中的待加工产品的合格率,更新所述第一生产参数中的各生产步骤分别对应的加工设备的数量。In an optional embodiment, the blockchain-based distributed flexible workshop scheduling device in the embodiment of the present disclosure also includes: a second acquisition module, used to acquire equipment information of each processing equipment, wherein each processing equipment The equipment information of any processing equipment in the equipment includes: within a preset time period, the qualification rate of the products to be processed processed by any of the processing equipment; an update module for based on the products to be processed in each equipment information According to the pass rate, the number of processing equipment corresponding to each production step in the first production parameter is updated.

在一个可选实施例方式中,本公开实施例中的基于区块链的分布式柔性车间调度装置还包括:In an optional embodiment, the blockchain-based distributed flexible workshop scheduling device in the embodiment of the present disclosure also includes:

第三获取模块,用于获取训练数据集和待训练的混合整数线性规划模型,其中,所述训练数据集包括:多条训练数据;所述多条训练数据中的各训练数据分别包括节点二部图;所述待训练的混合整数线性规划模型包括:初始目标函数和初始预设约束条件;The third acquisition module is used to acquire a training data set and a mixed integer linear programming model to be trained, wherein the training data set includes: multiple pieces of training data; each training data in the multiple pieces of training data includes node two. Part diagram; the mixed integer linear programming model to be trained includes: an initial objective function and an initial preset constraint condition;

训练模块,用于利用所述训练数据集和强分支策略,迭代训练所述待训练的混合整数线性规划模型,直至训练结果满足停止训练条件,得到所述分布式柔性车间调度模型。在一个可选实施例方式中,本公开实施例中的所述训练模块还用于:获取满足所述停止训练条件的待训练的混合整数线性规划模型对应的目标分支决策;对所述目标分支决策进行参数化,得到模型参数;基于所述模型参数和满足所述停止训练条件的待训练的混合整数线性规划模型,得到所述分布式柔性车间调度模型。A training module is used to use the training data set and the strong branch strategy to iteratively train the mixed integer linear programming model to be trained until the training results meet the conditions for stopping training to obtain the distributed flexible workshop scheduling model. In an optional embodiment, the training module in the embodiment of the present disclosure is also used to: obtain the target branch decision corresponding to the mixed integer linear programming model to be trained that satisfies the training stop condition; The decision is parameterized to obtain model parameters; based on the model parameters and the mixed integer linear programming model to be trained that satisfies the training stop condition, the distributed flexible workshop scheduling model is obtained.

在一个可选实施例方式中,本公开实施例中的所述第三获取模块还用于利用预设求解器和所述强分支策略对所述待训练的混合整数线性规划模型进行求解,得到所述训练数据集。In an optional embodiment, the third acquisition module in the embodiment of the present disclosure is also used to use a preset solver and the strong branch strategy to solve the mixed integer linear programming model to be trained, and obtain The training data set.

在本公开的基于区块链的分布式柔性车间调度装置中,上述公开的各种可选实施例、可选实施方式和可选示例,都可以根据需要进行灵活的选择和组合,从而实现相应的功能和效果,本公开不进行一一列举。In the distributed flexible workshop scheduling device based on the blockchain of the present disclosure, the various optional embodiments, optional implementations and optional examples disclosed above can be flexibly selected and combined as needed to achieve corresponding The functions and effects are not listed one by one in this disclosure.

本公开的基于区块链的分布式柔性车间调度装置与本公开上述的各基于区块链的分布式柔性车间调度方法的实施例之间相互对应,相关内容可以相互参考,此处不再赘述。The blockchain-based distributed flexible workshop scheduling device of the present disclosure corresponds to the above-mentioned embodiments of the blockchain-based distributed flexible workshop scheduling method of the present disclosure. Relevant content can be referred to each other and will not be described again here. .

本图像标注装置示例性实施例对应的有益技术效果可以参见上述示例性方法部分的相应有益技术效果,此处不再赘述。The beneficial technical effects corresponding to the exemplary embodiments of the image annotation device can be found in the corresponding beneficial technical effects in the above exemplary method section, and will not be described again here.

另外,本公开实施例还提供了一种电子设备,包括:In addition, embodiments of the present disclosure also provide an electronic device, including:

存储器,用于存储计算机程序;Memory, used to store computer programs;

处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现本公开上述任一实施例所述的基于区块链的分布式柔性车间调度方法。A processor, configured to execute a computer program stored in the memory, and when the computer program is executed, implement the blockchain-based distributed flexible workshop scheduling method described in any of the above embodiments of the present disclosure.

图7为本公开电子设备一个应用实施例的结构示意图。下面,参考图7来描述根据本公开实施例的电子设备。该电子设备可以是第一设备和第二设备中的任一个或两者、或与它们独立的单机设备,该单机设备可以与第一设备和第二设备进行通信,以从它们接收所采集到的输入信号。FIG. 7 is a schematic structural diagram of an application embodiment of the electronic device of the present disclosure. Next, an electronic device according to an embodiment of the present disclosure is described with reference to FIG. 7 . The electronic device may be either or both of the first device and the second device, or a stand-alone device independent of them. The stand-alone device may communicate with the first device and the second device to receive the collected information from them. input signal.

如图7所示,电子设备包括一个或多个处理器和存储器。As shown in Figure 7, an electronic device includes one or more processors and memory.

处理器可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备中的其他组件以执行期望的功能。The processor may be a central processing unit (CPU) or other form of processing unit having data processing capabilities and/or instruction execution capabilities, and may control other components in the electronic device to perform desired functions.

存储器可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器可以运行所述程序指令,以实现上文所述的本公开的各个实施例的基于区块链的分布式柔性车间调度方法以及/或者其他期望的功能。Memory may include one or more computer program products, which may include various forms of computer-readable storage media, such as volatile memory and/or non-volatile memory. The volatile memory may include, for example, random access memory (RAM) and/or cache memory (cache), etc. The non-volatile memory may include, for example, read-only memory (ROM), hard disk, flash memory, etc. One or more computer program instructions may be stored on the computer-readable storage medium, and the processor may execute the program instructions to implement the blockchain-based distributed flexibility of various embodiments of the present disclosure described above. Shop scheduling methods and/or other desired functionality.

在一个示例中,电子设备还可以包括:输入装置和输出装置,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。In one example, the electronic device may further include an input device and an output device, and these components are interconnected through a bus system and/or other forms of connection mechanisms (not shown).

此外,该输入设备还可以包括例如键盘、鼠标等等。In addition, the input device may also include, for example, a keyboard, a mouse, and the like.

该输出装置可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出设备可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。The output device can output various information to the outside, including determined distance information, direction information, etc. The output devices may include, for example, displays, speakers, printers, and communication networks and remote output devices to which they are connected, among others.

当然,为了简化,图7中仅示出了该电子设备中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备还可以包括任何其他适当的组件。Of course, for simplicity, only some of the components in the electronic device related to the present disclosure are shown in FIG. 7 , and components such as buses, input/output interfaces, etc. are omitted. In addition to this, the electronic device may include any other suitable components depending on the specific application.

除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述部分中描述的根据本公开各种实施例的基于区块链的分布式柔性车间调度方法中的步骤。In addition to the above methods and devices, embodiments of the present disclosure may also be a computer program product, which includes computer program instructions that, when executed by a processor, cause the processor to perform the steps described in the above part of this specification. Steps in the blockchain-based distributed flexible workshop scheduling method of various embodiments of the present disclosure.

所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。The computer program product may be written with program code for performing operations of embodiments of the present disclosure in any combination of one or more programming languages, including object-oriented programming languages such as Java, C++, etc. , also includes conventional procedural programming languages, such as the "C" language or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, as a stand-alone software package, partly on the user's computing device and partly on a remote computing device, or entirely on the remote computing device or server execute on.

此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述部分中描述的根据本公开各种实施例的基于区块链的分布式柔性车间调度方法中的步骤。In addition, embodiments of the present disclosure may also be a computer-readable storage medium having computer program instructions stored thereon. The computer program instructions, when executed by a processor, cause the processor to perform the steps described in the above part of this specification according to the present invention. Steps in the blockchain-based distributed flexible workshop scheduling method of various embodiments are disclosed.

所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。The computer-readable storage medium may be any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may include, for example, but is not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or devices, or any combination thereof. More specific examples (non-exhaustive list) of readable storage media include: electrical connection with one or more conductors, portable disk, hard disk, random access memory (RAM), read only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination of the above.

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。Those of ordinary skill in the art can understand that all or part of the steps to implement the above method embodiments can be completed by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, It includes the steps of the above method embodiment; and the aforementioned storage medium includes: ROM, RAM, magnetic disk or optical disk and other various media that can store program codes.

以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。The basic principles of the present disclosure have been described above in conjunction with specific embodiments. However, it should be pointed out that the advantages, advantages, effects, etc. mentioned in the present disclosure are only examples and not limitations. These advantages, advantages, effects, etc. cannot be considered to be Each embodiment of the present disclosure must have. In addition, the specific details disclosed above are only for the purpose of illustration and to facilitate understanding, and are not limiting. The above details do not limit the present disclosure to be implemented by using the above specific details.

本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。Each embodiment in this specification is described in a progressive manner, and each embodiment focuses on its differences from other embodiments. The same or similar parts between the various embodiments can be referred to each other. For the system embodiment, since it basically corresponds to the method embodiment, the description is relatively simple. For relevant details, please refer to the partial description of the method embodiment.

本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。The block diagrams of the devices, devices, equipment, and systems involved in the present disclosure are only illustrative examples and are not intended to require or imply that they must be connected, arranged, or configured in the manner shown in the block diagrams. As those skilled in the art will recognize, these devices, devices, equipment, and systems may be connected, arranged, and configured in any manner. Words such as "includes," "includes," "having," etc. are open-ended terms that mean "including, but not limited to," and may be used interchangeably therewith. As used herein, the words "or" and "and" refer to the words "and/or" and are used interchangeably therewith unless the context clearly dictates otherwise. As used herein, the word "such as" refers to the phrase "such as, but not limited to," and may be used interchangeably therewith.

可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。The methods and apparatus of the present disclosure may be implemented in many ways. For example, the methods and devices of the present disclosure may be implemented through software, hardware, firmware, or any combination of software, hardware, and firmware. The above order for the steps of the methods is for illustration only, and the steps of the methods of the present disclosure are not limited to the order specifically described above unless otherwise specifically stated. Furthermore, in some embodiments, the present disclosure can also be implemented as programs recorded in recording media, and these programs include machine-readable instructions for implementing methods according to the present disclosure. Thus, the present disclosure also covers recording media storing programs for executing methods according to the present disclosure.

还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。It should also be noted that in the devices, equipment and methods of the present disclosure, each component or each step can be decomposed and/or recombined. These decompositions and/or recombinations should be considered equivalent versions of the present disclosure.

提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。The above description of the disclosed aspects is provided to enable any person skilled in the art to make or use the disclosure. Various modifications to these aspects will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other aspects without departing from the scope of the disclosure. Therefore, the present disclosure is not intended to be limited to the aspects shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。The foregoing description has been presented for the purposes of illustration and description. Furthermore, this description is not intended to limit the embodiments of the present disclosure to the form disclosed herein. Although various example aspects and embodiments have been discussed above, those skilled in the art will recognize certain variations, modifications, changes, additions and sub-combinations thereof.

Claims (10)

1.一种基于区块链的分布式柔性车间调度方法,其特征在于,包括:1. A distributed flexible workshop scheduling method based on blockchain, which is characterized by including: 获取加工请求,其中,所述加工请求包括:多个作业任务,所述多个作业任务中的各作业任务,所述作业任务包括:待加工产品、所述待加工产品的加工类型和所述待加工产品的工件数量;所述多个作业任务均具有相同的生产工序,所述生产工序包括具有生产顺序的多个生产步骤;Obtain a processing request, wherein the processing request includes: a plurality of work tasks, each of the plurality of work tasks, the work tasks include: a product to be processed, a processing type of the product to be processed, and the The number of workpieces of the product to be processed; the multiple job tasks all have the same production process, and the production process includes multiple production steps with a production sequence; 基于所述生产工序,从区块链中获取第一生产参数,其中,所述第一生产参数包括:所述多个生产步骤中各生产步骤分别对应的加工设备的数量和待加工产品的半成品在所述多个生产步骤中每两个相邻生产步骤的加工设备之间的运输时间;Based on the production process, first production parameters are obtained from the blockchain, where the first production parameters include: the number of processing equipment corresponding to each production step in the plurality of production steps and the semi-finished products of the product to be processed. The transportation time between the processing equipment of each two adjacent production steps in the plurality of production steps; 基于所述作业任务中的加工类型,确定第二生产参数,其中,所述第二生产参数包括:加工设备完成一个生产步骤的作业时长范围、加工设备的启动时间的变化范围和停留时间范围,所述停留时间范围表示:在待加工产品生产过程中,从第一个生产步骤的加工设备结束工作到最后一个生产步骤的加工设备开始工作之间的时间分布范围;Based on the processing type in the operation task, the second production parameters are determined, wherein the second production parameters include: the operation duration range of the processing equipment to complete a production step, the variation range of the start-up time of the processing equipment, and the residence time range, The residence time range represents: in the production process of the product to be processed, the time distribution range from the end of the processing equipment of the first production step to the start of the processing equipment of the last production step; 根据所述生产工序、所述第一生产参数、所述第二生产参数和所述各作业任务的工件数量,利用预先训练好的分布式柔性车间调度模型,确定各作业任务的生产方案,以使所述多个作业任务的总时间最小化,其中,所述分布式柔性车间调度模型包括:目标函数和预设约束条件,所述目标函数用于最小化完成所述多个作业任务的时间,所述预设约束条件用于约束目标函数中的变量;According to the production process, the first production parameter, the second production parameter and the number of workpieces of each operation task, a pre-trained distributed flexible workshop scheduling model is used to determine the production plan of each operation task, so as to Minimize the total time of the multiple job tasks, wherein the distributed flexible workshop scheduling model includes: an objective function and preset constraints, the objective function is used to minimize the time to complete the multiple job tasks , the preset constraints are used to constrain the variables in the objective function; 基于所述生产方案执行所述多个作业任务,得到所述各作业任务对应工件数量的待加工产品。The plurality of work tasks are executed based on the production plan to obtain products to be processed corresponding to the number of workpieces for each work task. 2.根据权利要求1所述的方法,其特征在于,所述预设约束条件包括:2. The method according to claim 1, characterized in that the preset constraints include: 对加工设备的生产加工的约束;Constraints on production and processing of processing equipment; 对所述加工设备所要生产加工的加工类型的约束;Constraints on the type of processing to be produced by the processing equipment; 对开始加工的约束;Constraints on starting processing; 对各生产加工步骤对应的加工设备连续加工的约束;Constraints on continuous processing of processing equipment corresponding to each production and processing step; 对在生产同一加工类型的待加工产品时,各生产加工步骤对应的加工设备连续加工的约束;Constraints on the continuous processing of processing equipment corresponding to each production and processing step when producing products to be processed of the same processing type; 对所述加工设备上开始加工各加工类型的作业的开始时间的约束;Constraints on the start time for starting processing of each processing type on the processing equipment; 对同一待加工产品的连续的两个生产步骤加工顺序的约束;Constraints on the processing sequence of two consecutive production steps of the same product to be processed; 对同一个加工设备上的连续加工顺序的约束;Constraints on the sequence of consecutive processing on the same processing equipment; 对于同一加工设备上连续作业时的启动顺序的约束;Constraints on the starting sequence for continuous operations on the same processing equipment; 对在加工设备上各加工类型的作业之间的时间间隔的约束;Constraints on the time intervals between operations of each processing type on processing equipment; 对多个加工类型的作业在加工设备上的停留时间的约束;Constraints on the residence time of multiple processing types on processing equipment; 对加工设备上多个加工类型的作业的开始时间的约束。Constraints on start times for jobs of multiple processing types on processing equipment. 3.根据权利要求1所述的方法,其特征在于,所述基于所述生产方案执行所述多个作业任务,得到所述各作业任务对应工件数量的待加工产品之后,还包括:3. The method according to claim 1, wherein after executing the plurality of work tasks based on the production plan and obtaining the number of products to be processed corresponding to the number of workpieces corresponding to each work task, the method further includes: 获取各加工设备的设备信息,其中,所述各加工设备中的任一加工设备的设备信息包括:在预设时间段内,由所述任一加工设备加工得到的待加工产品的合格率;Obtain equipment information of each processing equipment, wherein the equipment information of any one of the processing equipment includes: within a preset time period, the qualification rate of the products to be processed processed by the any processing equipment; 根据各设备信息中的待加工产品的合格率,更新所述第一生产参数中的各生产步骤分别对应的加工设备的数量。According to the qualification rate of the products to be processed in each equipment information, the number of processing equipment corresponding to each production step in the first production parameter is updated. 4.根据权利要求1所述的方法,其特征在于,所述分布式柔性车间调度模型通过如下方式训练得到:4. The method according to claim 1, characterized in that the distributed flexible workshop scheduling model is trained in the following manner: 获取训练数据集和待训练的混合整数线性规划模型,其中,所述训练数据集包括:多条训练数据;所述多条训练数据中的各训练数据分别包括节点二部图;所述待训练的混合整数线性规划模型包括:初始目标函数和初始预设约束条件;Obtain a training data set and a mixed integer linear programming model to be trained, wherein the training data set includes: multiple pieces of training data; each training data in the multiple pieces of training data respectively includes a node bipartite graph; the to-be-trained The mixed integer linear programming model includes: initial objective function and initial preset constraints; 利用所述训练数据集和强分支策略,迭代训练所述待训练的混合整数线性规划模型,直至训练结果满足停止训练条件,得到所述分布式柔性车间调度模型。Using the training data set and the strong branch strategy, the mixed integer linear programming model to be trained is iteratively trained until the training results meet the training stop conditions, and the distributed flexible workshop scheduling model is obtained. 5.根据权利要求4所述的方法,其特征在于,所述利用所述训练数据集和强分支策略,迭代训练所述待训练的混合整数线性规划模型,直至训练结果满足停止训练条件,得到所述分布式柔性车间调度模型,包括:5. The method of claim 4, wherein the mixed integer linear programming model to be trained is iteratively trained using the training data set and a strong branching strategy until the training result satisfies the training stop condition, to obtain The distributed flexible workshop scheduling model includes: 获取满足所述停止训练条件的待训练的混合整数线性规划模型对应的目标分支决策;Obtain the target branch decision corresponding to the mixed integer linear programming model to be trained that meets the training stop condition; 对所述目标分支决策进行参数化,得到模型参数;Parameterize the target branch decision to obtain model parameters; 基于所述模型参数和满足所述停止训练条件的待训练的混合整数线性规划模型,得到所述分布式柔性车间调度模型。Based on the model parameters and the mixed integer linear programming model to be trained that satisfies the training stop condition, the distributed flexible workshop scheduling model is obtained. 6.根据权利要求4所述的方法,其特征在于,所述获取训练数据集,包括:6. The method according to claim 4, characterized in that said obtaining a training data set includes: 利用预设求解器和所述强分支策略对所述待训练的混合整数线性规划模型进行求解,得到所述训练数据集。The mixed integer linear programming model to be trained is solved using a preset solver and the strong branch strategy to obtain the training data set. 7.一种基于区块链的分布式柔性车间调度装置,其特征在于,包括:7. A distributed flexible workshop scheduling device based on blockchain, characterized by including: 第一获取模块,用于获取加工请求,其中,所述加工请求包括:多个作业任务,所述多个作业任务中的各作业任务,所述作业任务包括:待加工产品、所述待加工产品的加工类型和所述待加工产品的工件数量;所述多个作业任务均具有相同的生产工序,所述生产工序包括具有生产顺序的多个生产步骤;The first acquisition module is used to acquire a processing request, where the processing request includes: a plurality of job tasks, each of the plurality of job tasks, the job task includes: a product to be processed, the product to be processed The processing type of the product and the number of workpieces of the product to be processed; the multiple job tasks all have the same production process, and the production process includes multiple production steps with a production sequence; 第一参数获得模块,用于基于所述生产工序,从区块链中获取第一生产参数,其中,所述第一生产参数包括:所述多个生产步骤中各生产步骤分别对应的加工设备的数量和待加工产品的半成品在所述多个生产步骤中每两个相邻生产步骤的加工设备之间的运输时间;A first parameter acquisition module, configured to obtain first production parameters from the blockchain based on the production process, where the first production parameters include: processing equipment corresponding to each of the multiple production steps. The quantity and transportation time of the semi-finished products to be processed between the processing equipment of each two adjacent production steps in the multiple production steps; 第二参数获得模块,用于基于所述作业任务中的加工类型,确定第二生产参数,其中,所述第二生产参数包括:加工设备完成一个生产步骤的作业时长范围、加工设备的启动时间的变化范围和停留时间范围,所述停留时间范围表示:在待加工产品生产过程中,从第一个生产步骤的加工设备结束工作到最后一个生产步骤的加工设备开始工作之间的时间分布范围;The second parameter acquisition module is used to determine second production parameters based on the processing type in the operation task, where the second production parameters include: the operation duration range of the processing equipment to complete one production step, and the start-up time of the processing equipment. The change range and residence time range, the residence time range represents: in the production process of the product to be processed, the time distribution range from the end of the processing equipment of the first production step to the start of the processing equipment of the last production step ; 方案生成模块,用于根据所述生产工序、所述第一生产参数、所述第二生产参数和所述各作业任务的工件数量,利用预先训练好的分布式柔性车间调度模型,确定各作业任务的生产方案,以使所述多个作业任务的总时间最小化,其中,所述分布式柔性车间调度模型包括:目标函数和预设约束条件,所述目标函数用于最小化完成所述多个作业任务的时间,所述预设约束条件用于约束目标函数中的变量;A solution generation module, configured to use a pre-trained distributed flexible workshop scheduling model to determine each job based on the production process, the first production parameter, the second production parameter and the number of workpieces of each job task. The production plan of the task is to minimize the total time of the multiple job tasks, wherein the distributed flexible workshop scheduling model includes: an objective function and preset constraints, and the objective function is used to minimize the completion of the The time of multiple job tasks, the preset constraints are used to constrain the variables in the objective function; 生产加工模块,用于基于所述生产方案执行所述多个作业任务,得到所述各作业任务对应工件数量的待加工产品。A production and processing module is used to execute the plurality of work tasks based on the production plan and obtain the number of products to be processed corresponding to the number of workpieces for each work task. 8.根据权利要求7所述的装置,其特征在于,所述预设约束条件包括:8. The device according to claim 7, characterized in that the preset constraints include: 对加工设备的生产加工的约束;Constraints on production and processing of processing equipment; 对所述加工设备所要生产加工的加工类型的约束;Constraints on the type of processing to be produced by the processing equipment; 对开始加工的约束;Constraints on starting processing; 对各生产加工步骤对应的加工设备连续加工的约束;Constraints on continuous processing of processing equipment corresponding to each production and processing step; 对在生产同一加工类型的待加工产品时,各生产加工步骤对应的加工设备连续加工的约束;Constraints on the continuous processing of processing equipment corresponding to each production and processing step when producing products to be processed of the same processing type; 对所述加工设备上开始加工各加工类型的作业的开始时间的约束;Constraints on the start time for starting processing of each processing type on the processing equipment; 对同一待加工产品的连续的两个生产步骤加工顺序的约束;Constraints on the processing sequence of two consecutive production steps of the same product to be processed; 对同一个加工设备上的连续加工顺序的约束;Constraints on the sequence of consecutive processing on the same processing equipment; 对于同一加工设备上连续作业时的启动顺序的约束;Constraints on the starting sequence for continuous operations on the same processing equipment; 对在加工设备上各加工类型的作业之间的时间间隔的约束;Constraints on the time intervals between operations of each processing type on processing equipment; 对多个加工类型的作业在加工设备上的停留时间的约束;Constraints on the residence time of multiple processing types on processing equipment; 对加工设备上多个加工类型的作业的开始时间的约束。Constraints on start times for jobs of multiple processing types on processing equipment. 9.一种电子设备,其特征在于,包括:9. An electronic device, characterized in that it includes: 存储器,用于存储计算机程序;Memory, used to store computer programs; 处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现上述权利要求1-6任一所述的基于区块链的分布式柔性车间调度方法。A processor, configured to execute a computer program stored in the memory, and when the computer program is executed, implement the blockchain-based distributed flexible workshop scheduling method described in any one of claims 1-6. 10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时,实现上述权利要求1-6任一所述的基于区块链的分布式柔性车间调度方法。10. A computer-readable storage medium with a computer program stored thereon, characterized in that, when executed by a processor, the computer program implements the blockchain-based distributed flexibility described in any one of claims 1-6. Shop floor scheduling methods.
CN202311287675.4A 2023-10-07 2023-10-07 Distributed flexible workshop scheduling method and device based on blockchain Active CN117010671B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311287675.4A CN117010671B (en) 2023-10-07 2023-10-07 Distributed flexible workshop scheduling method and device based on blockchain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311287675.4A CN117010671B (en) 2023-10-07 2023-10-07 Distributed flexible workshop scheduling method and device based on blockchain

Publications (2)

Publication Number Publication Date
CN117010671A CN117010671A (en) 2023-11-07
CN117010671B true CN117010671B (en) 2023-12-05

Family

ID=88565786

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311287675.4A Active CN117010671B (en) 2023-10-07 2023-10-07 Distributed flexible workshop scheduling method and device based on blockchain

Country Status (1)

Country Link
CN (1) CN117010671B (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108876419A (en) * 2018-08-14 2018-11-23 广东博云公共平台网络科技有限公司 A kind of industrial products supply chain retroactive method and system based on Internet of Things and block chain
CN109902954A (en) * 2019-02-27 2019-06-18 浙江工业大学 A dynamic scheduling method for flexible job shop based on industrial big data
CN114186749A (en) * 2021-12-16 2022-03-15 暨南大学 Flexible Workshop Scheduling Method and Model Based on Reinforcement Learning and Genetic Algorithm
CN114912346A (en) * 2022-03-31 2022-08-16 杭州电子科技大学 Skill planning configuration and workshop scheduling integrated optimization method based on learning ability
TW202236198A (en) * 2021-03-12 2022-09-16 殷祐科技股份有限公司 Artificial intelligent manufacturing & production energy-saving system and method thereof
CN116466659A (en) * 2023-03-21 2023-07-21 昆明理工大学 Distributed assembly flow shop scheduling method based on deep reinforcement learning

Family Cites Families (1)

* Cited by examiner, † Cited by third party
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108876419A (en) * 2018-08-14 2018-11-23 广东博云公共平台网络科技有限公司 A kind of industrial products supply chain retroactive method and system based on Internet of Things and block chain
CN109902954A (en) * 2019-02-27 2019-06-18 浙江工业大学 A dynamic scheduling method for flexible job shop based on industrial big data
TW202236198A (en) * 2021-03-12 2022-09-16 殷祐科技股份有限公司 Artificial intelligent manufacturing & production energy-saving system and method thereof
CN114186749A (en) * 2021-12-16 2022-03-15 暨南大学 Flexible Workshop Scheduling Method and Model Based on Reinforcement Learning and Genetic Algorithm
CN114912346A (en) * 2022-03-31 2022-08-16 杭州电子科技大学 Skill planning configuration and workshop scheduling integrated optimization method based on learning ability
CN116466659A (en) * 2023-03-21 2023-07-21 昆明理工大学 Distributed assembly flow shop scheduling method based on deep reinforcement learning

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
单线列车调度问题的双向阻塞车间调度模型及其粒子群求解算法;张其亮;陈永生;;计算机科学(第12期);282-287 *
基于改进遗传算法交叉算子的作业车间调度;柳青红;袁逸萍;李晓娟;孙文磊;;组合机床与自动化加工技术(第12期);166-169 *

Also Published As

Publication number Publication date
CN117010671A (en) 2023-11-07

Similar Documents

Publication Publication Date Title
Urbani et al. Scalable distributed reasoning using mapreduce
US11314808B2 (en) Hybrid flows containing a continous flow
Tran et al. Economic model predictive control-a review
Bumroongsri Tube-based robust MPC for linear time-varying systems with bounded disturbances
US20220334572A1 (en) Method for Generating a Digital Twin of a System or Device
US20190079796A1 (en) Computational resource management device, computational resource management method, and computer-readable recording medium
EP3746884A1 (en) Method and system for flexible pipeline generation
CN105825269A (en) Parallel autoencoder based feature learning method and system
WO2018182442A1 (en) Machine learning system and method for generating a decision stream and automonously operating device using the decision stream
US11641401B1 (en) Controlling methods, systems, devices and storage mediums for front sub-platform industrial Internet of Things
CN117010671B (en) Distributed flexible workshop scheduling method and device based on blockchain
Mitrai et al. Learning to initialize generalized benders decomposition via active learning
CN117182910A (en) Intelligent assembly robot assembly control method and control system
Chen et al. Fast Approximations for Dynamic Behavior in Manufacturing Systems With Regular Orders: An Aggregation Method
CN115941692A (en) Information identification system, device and medium based on master-slave block chain storage mode
KR102406725B1 (en) Data Interoperability Method and Data Interoperability System
Wang et al. Parallel ordinal decision tree algorithm and its implementation in framework of MapReduce
CN102566536B (en) System flow control device and method
Ellison et al. FortSP: a stochastic programming solver
CN112214718A (en) Method for solving bounded knapsack problem based on improved dynamic programming algorithm
Porter et al. Production as a service: Optimizing utilization in manufacturing systems
US12218790B2 (en) System and method for exchanging data between a server and a client in an industrial data network
Daneshmand et al. Flexible selective parallel algorithms for big data optimization
CN113627664B (en) A running time prediction system and method for graph-oriented iterative jobs in Gaia system
CN118113443B (en) Task scheduling method, system, program product, device and medium

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