A production scheduling method and system
By constructing constraints on time, equipment, and intermediate variables, the problem of flexible arrangement of production processes was solved, and the efficiency of production scheduling was improved. In particular, the scheduling time under complex constraints was reduced by about 80%.
Patent Information
- Application Number
- CN202211741588.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-29
- Publication Date
- 2026-08-25
- Estimated Expiration
- 2042-12-29
AI Technical Summary
Existing technologies cannot flexibly handle the range of values and complex constraints of production processes, resulting in low production scheduling efficiency.
By constructing time variables, equipment variables, and intermediate variables, constraints on production processes are formed, and a solver is used to optimize the scheduling. Constraints such as production start time, equipment priority, and release period are set to achieve flexible arrangement of production processes.
It improves the efficiency of production scheduling, especially under complex constraints, reducing scheduling time by about 80%.
Smart Images

Figure CN116187539B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of scheduling, and particularly to a production scheduling method; furthermore, this invention also relates to a production scheduling system. Background Technology
[0002] Existing production scheduling technologies have shortcomings in practical applications. Important factors in some scheduling scenarios are not effectively addressed in related technologies. The start and end times of each production process, as well as the equipment selection for each process, may have certain ranges of values. However, related technologies cannot flexibly support these ranges and cannot handle them. Furthermore, there may be complex constraints between production processes, and the time intervals between these processes cannot be adequately addressed in related technologies, thus reducing the efficiency of production scheduling. Summary of the Invention
[0003] To address the problems existing in the prior art, at least one embodiment of the present invention provides a production scheduling method that can flexibly adapt to the production processes of production projects under various business operations, satisfy the constraints in the production processes, and greatly improve the efficiency of production scheduling. Therefore, at least one embodiment of the present invention also provides a production scheduling system.
[0004] In a first aspect, embodiments of the present invention propose a production scheduling method, the method comprising the following steps:
[0005] For multiple production processes in a production project, time variables, equipment variables, and intermediate variables are constructed.
[0006] Constraints are established on production processes through time variables, equipment variables, and intermediate variables;
[0007] Solve for variables and schedule production processes that have already formed constraints.
[0008] In some embodiments, the equipment variable is a Boolean variable, and each production process can only be carried out on a single production equipment. The equipment variable of the production equipment that carries out production in that production process is assigned a value of true.
[0009] In some embodiments, the time variables include a start time variable and an end time variable, which together form a time interval, thereby creating multiple non-overlapping time interval constraints on a single production device.
[0010] In some embodiments, the intermediate variable is a Boolean variable. If multiple processes use the same equipment for production, the intermediate variable is assigned a true value, and the production interval between multiple processes is greater than the maintenance time of the production equipment after one of the processes is completed.
[0011] In some embodiments, among two interconnected production projects, the production project that starts production first has a release period and a stabilization period, while the production project that starts production later needs to start production after the release period and during the stabilization period.
[0012] In some embodiments, constraints include setting the production start time of a production process and the priority of production equipment.
[0013] Secondly, embodiments of the present invention also provide a production scheduling system, comprising:
[0014] The variable construction module is used to construct time variables, equipment variables, and intermediate variables for multiple production processes in a production project.
[0015] The constraint relationship formation module is used to form constraint relationships on production processes using time variables, equipment variables, and intermediate variables;
[0016] The scheduling module is used to solve for variables and schedule production processes that have already formed constraints.
[0017] In some embodiments, the constraint relationship forming module includes:
[0018] The time variable constraint module is used to set time variables as start time variables and end time variables. The start time variables and end time variables form a time interval, and multiple non-overlapping time interval constraints are formed on a single production equipment.
[0019] The Equipment Variable Constraint module is used to set equipment variables as Boolean variables, ensuring that each production process can only be carried out on a single production equipment, and assigning the equipment variable of the production equipment that is carrying out production in that production process to the value of true.
[0020] The intermediate variable constraint module is used to set intermediate variables as Boolean variables. If multiple processes use the same equipment for production, the intermediate variable is assigned a value of true, and the production interval between multiple processes is greater than the maintenance time of the production equipment after one of the processes is completed.
[0021] In some embodiments, the constraint relationship forming module further includes:
[0022] The association constraint module is used to set the release period and stabilization period for the production project that starts production first among two related production projects. The production project that starts production later must start production after the release period and must start production within the stabilization period.
[0023] In some embodiments, it also includes:
[0024] The optimization module is used to set the production start time of production processes and the priority of production equipment.
[0025] Thirdly, embodiments of the present invention also provide a production scheduling apparatus, including at least one processor; a memory coupled to the at least one processor, the memory storing executable instructions that, when executed by the at least one processor, cause the steps of any of the methods described in the first aspect above to be implemented.
[0026] Fourthly, embodiments of the present invention also provide a chip for performing the steps of the method in the first aspect described above. Specifically, the chip includes a processor for retrieving and running a computer program from a memory, such that a device having the chip installed performs the steps of the method in the first aspect described above.
[0027] Fifthly, embodiments of the present invention also provide a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps of any of the methods described in the first aspect above.
[0028] In a sixth aspect, embodiments of the present invention also provide a computer program product, including computer program instructions that cause a computer to perform the steps of the method in the first aspect described above.
[0029] As can be seen, the production scheduling method and system of this invention, by constructing time variables, equipment variables, intermediate variables, production start time priority and equipment priority to form a constraint relationship for production processes, can flexibly correspond to the production processes of production projects under various business conditions, satisfy the constraint relationship in the production process, and greatly improve the efficiency of production scheduling. Attached Figure Description
[0030] To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0031] Figure 1 The flowchart shown is a production scheduling method according to an embodiment of the present invention;
[0032] Figure 2 The diagram shown is a schematic representation of a production scheduling system according to an embodiment of the present invention. Detailed Implementation Plan
[0033] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0034] The inventors of this solution discovered that in existing technologies, the start and end times of each production process, as well as the equipment selection for each process, may have certain ranges of values. However, related technologies cannot flexibly support these ranges and cannot handle them effectively. Furthermore, there may be complex constraints between production processes, and the range of time intervals between production processes cannot be well addressed in existing technologies, thus reducing the efficiency of production scheduling. The embodiments of this invention provide the following solution:
[0035] like Figure 1 As shown, in a first aspect, embodiments of the present invention provide a production scheduling method, the method comprising the following steps:
[0036] For multiple production processes in a production project, time variables, equipment variables, and intermediate variables are constructed, and constraints are formed on the production processes through these time variables, equipment variables, and intermediate variables.
[0037] Equipment variables are Boolean variables. Each production process can only be carried out on a single production equipment. The equipment variable for the production equipment that performs the production process is assigned a value of true. Time variables include start time and end time variables. The start time and end time variables form a time interval, which creates multiple non-overlapping time interval constraints on a single production equipment.
[0038] For example, for a compound to be produced in a production project, the start time and end time of the production process are set as integer variables T. start and T end If there are k production devices to choose from, then for all k production devices, define k Boolean variables b1, b2, ..., b k Since each production process can only be produced on one production machine, it is required that only one of the k Boolean variables be true.
[0039] By setting time and equipment variables, various constraints in the production process can be implemented. Each production device can only perform one production process at a time; this constraint can be achieved by setting a constraint that intervals cannot overlap. Assuming a production device can have n production processes, and each process has a defined start and end time interval, the constraint that each device can only perform one process at a time can be transformed into n non-overlapping interval constraints.
[0040] The intermediate variable is a Boolean variable. If multiple processes use the same equipment for production, the intermediate variable is assigned a value of true. The production interval between multiple processes is greater than the maintenance time of the production equipment after one of the processes is completed.
[0041] For example, suppose we need to complete two production processes, a and b. Process a can be performed on either production equipment s1 or s2, and process b can be performed on either production equipment s2 or s3. In this case, a and b may or may not be performed on the same production equipment. Since the production equipment needs cleaning time after each production process, if a and b are both performed on s2, an additional constraint is required: the time interval between a and b must be greater than the cleaning time required by the equipment. We establish a Boolean intermediate variable v, which is true only when both a and b are performed on s2. Only when v is true is the constraint on the time interval between a and b established.
[0042] For two interconnected production projects, the production project that starts production first has a release period and a stabilization period. The production project that starts production later must start production after the release period and during the stabilization period.
[0043] For example, in a compound production scheduling scenario, the production of a compound involves many intermediate steps, such as A->B->C->D, where A is the initial compound and D is the final product. However, to obtain product D, other intermediate compounds, such as B and C, must also be produced. For the production of an intermediate step of a compound, such as B->C, first, variables are established to represent the start time of the production of B and C, and the production equipment used in each step of B and C production. Constraints on start times are established; for example, if the raw material for producing B arrives on January 1st, then the start time of B production is limited to no earlier than January 1st. Similar treatment is applied if there are delivery time constraints. Simultaneously, a constraint is established that each production step can only use one piece of equipment.
[0044] Compound B has a certain release time T. min That is, after B finishes production, T min Only then can it be used to produce C. Compound B also has a certain stability time T. max That is, after B finishes production, T maxB must be used within a certain time frame, otherwise it will become unstable. This relationship can also be achieved through a reservoir constraint: the inflow rate of the reservoir is the production of compound B, the inflow time is the release time of B, and the outflow rate is the consumption of B, which can be used to produce C or exceed the stabilization time. The reservoir constraint requires that the water level in the reservoir is greater than or equal to 0 at any given time.
[0045] For example, due to limitations in production equipment size, compound production is usually not completed in one go but requires multiple batches. For instance, if 7 kg of compound B is needed, due to process limitations, only 1 kg can be produced at a time, requiring 7 batches. Each batch requires 5 production steps, which take a total of 5 days. Similarly, the produced compound B needs to be used in the production of compound C, which may also require 7 batches, each batch requiring 3 production steps, which take a total of 3 days. Furthermore, compounds have release and stabilization time constraints. For example, due to testing requirements, B may not be usable until 10 days after production; and because B deteriorates after 20 days, it needs to be used in the production of C within 10 to 20 days of production. The interval between each corresponding batch (the first batch of B, the first batch of C; or the second batch of B, the second batch of C) must be within 10 to 20 days. These time constraints can be achieved using the solver's built-in reservoir constraint.
[0046] Constraints include setting the start time of production processes and the priority of production equipment. In actual production, the start time of production processes and the production equipment are prioritized. For example, production processes should start as early as possible, and production equipment should be as close as possible. For example, the first step of B can use equipment s1 and s2; the third step can use equipment s3 and s4. If s1 and s3 are on the first floor of the factory, and s2 and s4 are on the second floor, then there is a tendency to choose either s1 and s3 or s2 and s4.
[0047] Finally, the variables for the production processes with established constraints are solved and the schedule is completed. During the constraint optimization process, the solver attempts to traverse all possible cases. If all cases are considered, the optimal solution is found. However, sometimes due to time constraints, the solver cannot traverse all possible cases and only finds some, thus obtaining a feasible solution. A maximum running time is set during the constraint solution process. Within this time, if the optimal solution is found, the solution ends. If only a feasible solution is found, it is returned. A third-party solver can be used here. After solving, the solver returns a status indicating whether it is the optimal solution. Commercial solvers such as Gurobi, COPT, SCIP / spx, and Matlab can be used; open-source solvers such as ORTOOLS, CBC, GLPK, and LP_SOLVE can also be used. Ultimately, for a production project with approximately 1000 variables and approximately 1000 constraints, the above method can find the optimal solution within 10 seconds, reducing scheduling time by approximately 80% compared to manual scheduling.
[0048] like Figure 2 As shown, in a second aspect, embodiments of the present invention also provide a production scheduling system, including a variable construction module, a constraint relationship formation module, a scheduling module, and an optimization module. The variable construction module is used to construct time variables, equipment variables, and intermediate variables for multiple production processes of a production project; the constraint relationship formation module is used to form constraint relationships between the production processes through the time variables, equipment variables, and intermediate variables; the scheduling module is used to solve for the variables of the production processes that have formed constraint relationships and schedule them.
[0049] The constraint relationship formation module includes a time variable constraint module, an equipment variable constraint module, an intermediate variable constraint module, and an association constraint module. The time variable constraint module sets the time variable as a start time variable and an end time variable, which form a time interval. Multiple non-overlapping time interval constraints are created on a single production equipment. The equipment variable constraint module sets the equipment variable as a Boolean variable, ensuring that each production process can only be performed on a single production equipment. The equipment variable of the production equipment performing that process is assigned a value of true. The intermediate variable constraint module sets the intermediate variable as a Boolean variable. If multiple processes use the same equipment, the intermediate variable is assigned a value of true, and the production interval between multiple processes is greater than the maintenance time of the production equipment after one of the processes is completed. The association constraint module sets a release period and a stabilization period for the production project that starts production first among two related production projects. The production project that starts production later must begin production after the release period and within the stabilization period.
[0050] Thirdly, embodiments of the present invention also provide a production scheduling device, comprising:
[0051] At least one processor; a memory coupled to the at least one processor, the memory storing executable instructions, wherein the executable instructions, when executed by the at least one processor, cause the method steps of the first aspect of the invention to be implemented.
[0052] The production scheduling device provided in this embodiment of the invention can have its processor and memory set up separately or integrated together.
[0053] For example, memory may include random access memory, flash memory, read-only memory, programmable read-only memory, non-volatile memory, or registers. The processor may be a central processing unit (CPU), or a graphics processing unit (GPU). Memory can store executable instructions. The processor can execute the executable instructions stored in memory to implement the various processes described herein.
[0054] It is understood that the memory in this embodiment can be volatile memory or non-volatile memory, or may include both. The non-volatile memory can be ROM (Read-Only Memory), PROM (Programmable ROM), EPROM (Erasable PROM), EEPROM (Electrically Erasable EPROM), or flash memory. The volatile memory can be RAM (Random Access Memory), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as SRAM (Static RAM), DRAM (Dynamic RAM), SDRAM (Synchronous DRAM), DDR SDRAM (Double Data Rate SDRAM), ESDRAM (Enhanced SDRAM), SLDRAM (Synchlink DRAM), and DRRAM (Direct Rambus RAM). The memories described herein are intended to include, but are not limited to, these and any other suitable types of memory.
[0055] In some implementations, the memory stores elements such as upgrade packages, executable units, or data structures, or subsets thereof, or extended sets thereof: operating systems and applications.
[0056] The operating system includes various system programs, such as the framework layer, core library layer, and driver layer, used to implement various basic business functions and handle hardware-based tasks. The application programs include various applications used to implement various application functions. Programs implementing the methods of this invention can be included within these application programs.
[0057] In this embodiment of the invention, the processor executes the method steps provided in the first aspect by calling a program or instruction stored in the memory, specifically a program or instruction stored in an application program.
[0058] Fourthly, embodiments of the present invention also provide a chip for performing the method in the first aspect described above. Specifically, the chip includes a processor for calling and running a computer program from a memory, such that a device having the chip installed performs the method in the first aspect described above.
[0059] Fifthly, embodiments of the present invention also provide a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps of the method of the first aspect of the present invention.
[0060] For example, machine-readable storage media can include, but are not limited to, various known and unknown types of non-volatile memory.
[0061] In a sixth aspect, embodiments of the present invention also provide a computer program product, including computer program instructions that cause a computer to perform the method described in the first aspect.
[0062] In summary, the production scheduling method and system of this invention, by constructing time variables, equipment variables, intermediate variables, production start time priority, and equipment priority to form constraints on production processes, can flexibly correspond to the production processes of production projects under various business conditions, satisfy the constraints in the production processes, and greatly improve the efficiency of production scheduling.
[0063] Those skilled in the art will understand that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can implement the described functions in different ways for each specific application, but such implementation should not be considered beyond the scope of this application.
[0064] In the embodiments of this application, the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the division of units is merely a logical functional division, and other division methods may exist in actual implementation. For example, multiple units or components may be combined or integrated into another system. Furthermore, the coupling between the various units can be direct coupling or indirect coupling. Additionally, the functional units in the embodiments of this application can be integrated into a processing unit, or they can exist as separate physical entities, etc.
[0065] It should be understood that in the various embodiments of this application, the sequence number of each process does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0066] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a machine-readable storage medium. Therefore, the technical solution of this application can be embodied in the form of a software product, which can be stored in a machine-readable storage medium. This software product may include several instructions to cause an electronic device to execute all or part of the processes of the technical solution described in the embodiments of this application. The aforementioned storage medium may include various media capable of storing program code, such as ROM, RAM, removable disk, hard disk, magnetic disk, or optical disk.
[0067] The above description is merely a specific embodiment of this application, and the scope of protection of this application is not limited thereto. Those skilled in the art can make changes or substitutions within the technical scope disclosed in this application, and all such changes or substitutions should be within the scope of protection of this application.
Claims
1. A production scheduling method, characterized in that, The method includes the following steps: For multiple production processes in a production project, time variables, equipment variables, and intermediate variables are constructed. The production process is constrained by the time variables, equipment variables, and intermediate variables. Solve for variables and schedule production processes that have already formed constraints; The intermediate variable is a Boolean variable used to activate the corresponding interval time constraint when multiple processes use the same equipment for production. If multiple processes use the same equipment for production, the intermediate variable is set to true, and the production interval time between multiple processes is greater than the maintenance time of the production equipment after one of the processes is completed. If multiple processes do not use the same equipment for production, the intermediate variable is set to false, and the interval time constraint is not activated. In two interconnected production projects, the production project that starts production first is given a release period and a stabilization period. The release period is the shortest waiting time after the production project that starts production first needs to undergo quality inspection before it can be used for downstream production. The stabilization period is the longest effective time after the production project that starts production first can remain stable for downstream production. The production project that starts production later needs to start production after the release period and needs to start production within the stabilization period. During the process of solving for variables, a third-party solver is used to find the optimal solution.
2. The production scheduling method according to claim 1, characterized in that: The equipment variable is a Boolean variable. Each production process can only be carried out on a single production equipment. The equipment variable of the production equipment that carries out production in that production process is assigned a value of true.
3. The production scheduling method according to claim 2, characterized in that: The time variables include a start time variable and an end time variable, which together form a time interval, creating multiple non-overlapping time interval constraints on a single production device.
4. The production scheduling method according to claim 1, characterized in that: The constraints include setting the production start time of the production process and the priority of the production equipment.
5. A production scheduling system, characterized in that, include: The variable construction module is used to construct time variables, equipment variables, and intermediate variables for multiple production processes in a production project. A constraint relationship forming module is used to form constraint relationships on the production process through the time variable, equipment variable, and intermediate variable; The scheduling module is used to solve for variables and schedule production processes that have already formed constraints. The constraint relationship forming module includes: The time variable constraint module is used to set time variables as start time variables and end time variables. The start time variables and end time variables form a time interval, and multiple non-overlapping time interval constraints are formed on a single production equipment. The Equipment Variable Constraint module is used to set equipment variables as Boolean variables, ensuring that each production process can only be carried out on a single production equipment, and assigning the equipment variable of the production equipment that is carrying out production in that production process to the value of true. The intermediate variable constraint module is used to set intermediate variables as Boolean variables. It is used to activate the corresponding interval time constraint when multiple processes use the same equipment for production. If multiple processes use the same equipment for production, the intermediate variable is set to true, and the production interval time between multiple processes is greater than the maintenance time of the production equipment after one of the processes is completed. If multiple processes do not use the same equipment for production, the intermediate variable is set to false, and the interval time constraint is not activated. The constraint relationship forming module further includes: The association constraint module is used to set a release period and a stabilization period for the production project that starts production first among two related production projects. The release period is the shortest waiting time after the production project that starts production needs to undergo quality inspection before it can be used for downstream production. The stabilization period is the longest effective time after the production project that starts production can remain stable for downstream production. The production project that starts production later needs to start production after the release period and needs to start production within the stabilization period.
6. A production scheduling system according to claim 5, characterized in that, Also includes: The optimization module is used to set the production start time of the production process and the priority of the production equipment.
7. A production scheduling apparatus, comprising at least one processor; and a memory coupled to said at least one processor, said memory storing executable instructions, characterized in that: When executed by the at least one processor, the executable instructions cause the implementation of the steps of the method according to any one of claims 1 to 4.
8. A chip, characterized in that: Includes a processor for retrieving and running a computer program from memory, causing a device on which the chip is mounted to perform the steps of the method as described in any one of claims 1 to 4.
9. A computer-readable storage medium storing a computer program thereon, characterized in that: When the computer program is executed by a processor, it implements the steps of the method as described in any one of claims 1 to 4 above.
Citation Information
Patent Citations
Production scheduling method and system, intelligent terminal and storage medium
CN115511292A