Method and apparatus for production scheduling on production line, device, storage medium, and program product
By determining the optimization goal of minimizing changeover time and overall overdue time in distributed flexible production line scheduling, constructing a solution space and optimizing task assignment, the problem of low scheduling efficiency in distributed flexible production line scheduling is solved, and an efficient and optimal scheduling plan is achieved.
Patent Information
- Application Number
- PCT/CN2024/090636
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-04-03
- Filing Date
- 2024-04-29
- Publication Date
- 2025-10-09
AI Technical Summary
In the existing technology, the scheduling problem of distributed flexible production lines has the problems of low scheduling efficiency and unsatisfactory scheduling results. The reason is that the global scheduling result is a simple combination of local scheduling results, and the truly optimal scheduling plan cannot be obtained.
By determining the optimization goals of minimizing the changeover time and the overall overdue time of orders during the production process, a solution space is constructed based on the switching time and delivery window on the production line, and a solver is used to optimize task dispatching. This simplifies the problem into single-process flexible production line scheduling, reduces the number and complexity of variables, and improves solution efficiency.
It achieves the optimal production scheduling solution in large-scale scheduling problems, improves the efficiency and effect of production scheduling, ensures the shortest overdue time, and adds minimizing the overall overdue time to the optimization goal to further enhance the superiority of production scheduling.
Smart Images

Figure CN2024090636_09102025_PF_FP_ABST
Abstract
Description
Production scheduling method, device, equipment, storage medium and program product on production line
[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on April 3, 2024, with application number 202410404890.6 and invention name “Production scheduling method, device, equipment, storage medium and program product on a production line”, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The present application belongs to the technical field of production scheduling, and in particular relates to a production scheduling method, device, equipment, storage medium and program product on a production line. Background Art
[0003] Production line scheduling, also known as production scheduling, is a crucial aspect of production management. It ensures efficient and orderly production activities by rationally arranging production tasks (production scheduling). To meet the production needs of diverse product categories and batch sizes, production lines must possess a certain degree of flexibility. Because different production lines are deployed in different workshops, they can be referred to as distributed flexible production lines.
[0004] In related technologies, the scheduling problem of distributed flexible production lines is solved by locally scheduling the production tasks in each workshop and then combining the local scheduling results to obtain a global scheduling result.
[0005] However, since the above global scheduling result is only a simple combination of local scheduling results, the global scheduling result is not the truly optimal production scheduling solution, and there are problems such as low scheduling efficiency and unsatisfactory scheduling results.
[0006] Application Contents
[0007] In view of this, embodiments of the present application provide at least one production scheduling method, apparatus, device, storage medium, and program product on a production line. Technical Solutions
[0008] The technical solution of the embodiment of the present application is implemented as follows:
[0009] In a first aspect, an embodiment of the present application provides a production scheduling method on a production line, the production scheduling method on the production line comprising: in response to a production scheduling triggering event, determining at least one order to be dispatched and attribute information of the corresponding order; the attribute information includes at least a delivery window; based on the switching time between each order to be dispatched on at least one production line and the delivery window of the order to be dispatched, determining an optimization goal that characterizes the shortest changeover time and the shortest overall overdue time of the order in the production process; based on at least one order to be dispatched and the attribute information of the corresponding order, and the product type produced by at least one production line, determining a solution space for the production time and processing procedure of the order; the solution space of the processing procedure characterizes that no switching of the processing procedure occurs when any order is produced on the production line; based on the optimization goal and the solution space, the orders to be dispatched are dispatched as tasks to at least one production line to obtain a production scheduling cycle with the shortest order overdue time on each production line.
[0010] In some embodiments, the scheduling cycle includes a locking window and a sliding window; when an expedited order is processed within the locking window, a trigger event is generated to update the scheduling plan within the scheduling cycle; when an expedited order is processed within the sliding window, a trigger event is generated to update the scheduling plan within the sliding window.
[0011] In some embodiments, based on at least one order to be dispatched and the attribute information of the corresponding order, and the type of product produced by at least one production line, a solution space for the production time and processing procedures of the order is determined, including: encoding at least one order to be dispatched, at least one production line and the tasks on each production line in sequence to obtain an index dictionary; based on the index dictionary, the attribute information of the order to be dispatched, the type of product produced by at least one production line and the delivery window of the order to be dispatched are characterized to obtain solution constants including a first constant, a second constant, a third constant, a fourth constant, a fifth constant and a sixth constant; the first constant represents the switching time between the orders to be dispatched, the second constant represents the number of products of the order to be dispatched, the third constant represents the unit production volume of the order to be dispatched, the fourth constant represents the unit production volume of the order to be dispatched, and the fifth constant represents the unit production volume of the order to be dispatched. Four constants represent the product type produced by at least one production line, the fifth constant represents the delivery window of the order to be dispatched, and the sixth constant represents the earliest start time of at least one production line; based on the index dictionary, the task configuration information on at least one production line is represented to obtain solution variables including the first variable, the second variable, the third variable and the fourth variable; the first variable represents the start time of any task on at least one production line, the second variable represents the allocability of the order to be dispatched to at least one production line, the third variable represents the switching time between adjacent tasks on at least one production line, and the fourth variable represents the overdue time of the order to be dispatched; based on the solution constants and solution variables, the production process and switching process between each order to be dispatched on at least one production line are represented to obtain a solution space.
[0012] In some embodiments, the production process and switching process between each order to be dispatched on at least one production line are characterized based on the solution constants and the solution variables to obtain a solution space, including: based on the solution constants and the solution variables, constructing a first constraint condition that characterizes the uniqueness of the tasks on at least one production line and the orders to be dispatched; based on the solution constants and the solution variables, constructing a second constraint condition on the time parameters of each task on at least one production line; based on the solution constants and the solution variables, constructing a third constraint condition on the timing relationship between adjacent tasks on at least one production line.
[0013] In some embodiments, the first constraint includes a first sub-constraint, a second sub-constraint, and a third sub-constraint; based on the solution constant and the solution variable, a first constraint is constructed to characterize that the task on at least one production line is unique to the order to be dispatched, including: based on the second variable, a first sub-constraint is constructed to characterize that any task on at least one production line can only process one order to be dispatched; based on the second variable, a second sub-constraint is constructed to characterize that the order to be dispatched can only be dispatched once; based on the second variable and the fourth constant, a third sub-constraint is constructed to characterize that the order to be dispatched will only be dispatched to any production line when it can be produced on any production line.
[0014] In some embodiments, the second constraint includes a fourth sub-constraint, a fifth sub-constraint, a sixth sub-constraint and a seventh sub-constraint; based on the solution constant and the solution variable, a second constraint on the time parameters of each task on at least one production line is constructed, including: based on the first variable, the second variable and the fifth constant, a fourth sub-constraint on the start time of each task on at least one production line is constructed; based on the second constant, the third constant, the fifth constant, the first variable, the second variable and the fourth variable, a fifth sub-constraint on the delivery time of each task on at least one production line is constructed; based on the fourth variable, a sixth sub-constraint on the overdue time of each task on at least one production line is constructed; based on the second variable, the third variable and the first constant, a seventh sub-constraint on the switching time of each task on at least one production line is constructed.
[0015] In some embodiments, based on the first variable, the second variable and the fifth constant, a fourth sub-constraint regarding the start time of each task on at least one production line is constructed, including: based on the second variable, determining a first slack term representing the execution of the corresponding constraint when the order to be dispatched is dispatched to any production line as a task; based on the first variable, the first slack term and the fifth constant, constructing a fourth sub-constraint representing that the start time of any task on each production line is greater than or equal to the start time in the delivery window of the corresponding order to be dispatched.
[0016] In some embodiments, based on the second constant, the third constant, the fifth constant, the first variable, the second variable and the fourth variable, a fifth sub-constraint regarding the delivery time of each task on at least one production line is constructed, including: based on the second constant, the third constant and the second variable, determining the actual production time of the order to be dispatched; based on the first variable, the actual production time of the order to be dispatched, the first slack term, the fifth constant and the fourth variable, constructing a fifth sub-constraint characterizing that the delivery time of any task on at least one production line is greater than or equal to the delivery time in the delivery window of the corresponding order to be dispatched; the first slack term characterizes that the corresponding constraint is executed when the order to be dispatched is dispatched as a task to any production line.
[0017] In some embodiments, based on the second variable, the third variable and the first constant, a seventh sub-constraint regarding the switching time of each task on at least one production line is constructed, including: based on the second variable, determining a second slack term that represents the execution of the corresponding constraint when any two orders to be assigned are adjacent tasks on the same production line; based on the third variable, the second slack term and the first constant, constructing a seventh sub-constraint that represents that the switching time between each task on at least one production line is greater than or equal to the switching time between each order to be dispatched.
[0018] In some embodiments, based on the solved constants and solved variables, a third constraint condition regarding the timing relationship between adjacent tasks on at least one production line is constructed, including: based on the second constant, the third constant and the second variable, determining the actual production time of the order to be dispatched; based on the first variable, the delivery window of the order to be dispatched, the first slack term and the third variable, constructing a third constraint condition characterizing that the sum of the delivery time of the predecessor task and the switching time of the current task on at least one production line is less than or equal to the start time of the current task; the first slack term characterizes that the corresponding constraint condition is executed when the order to be dispatched is dispatched as a task to any production line.
[0019] In some embodiments, based on the optimization objective and the solution space, the orders to be dispatched are assigned as tasks to at least one production line to obtain the scheduling cycle with the shortest order overdue time on each production line, including: configuring the solution parameters; using a solver to assign the orders to be dispatched as tasks to at least one production line based on the solution parameters, the optimization objective and the solution space to obtain the optimal scheduling plan; using an index dictionary to decode the optimal scheduling plan to obtain the scheduling cycle with the shortest order overdue time on each production line.
[0020] In a second aspect, an embodiment of the present application provides a production scheduling device on a production line, the production scheduling device on the production line comprising: a determination unit, configured to determine at least one order to be dispatched and attribute information of the corresponding order in response to a scheduling trigger event; the attribute information includes at least a delivery window; the determination unit is further configured to determine an optimization goal that characterizes the shortest changeover time and the shortest overall overdue time of an order in the production process based on the switching time between each order to be dispatched on at least one production line and the delivery window of the order to be dispatched; the determination unit is further configured to determine a solution space for the production time and processing procedure of an order based on at least one order to be dispatched and attribute information of the corresponding order, and the product type produced by at least one production line; the solution space of the processing procedure characterizes that no switching of the processing procedure occurs when any order is produced on the production line; the dispatching unit is configured to dispatch the order to be dispatched as a task to at least one production line based on the optimization goal and the solution space, so as to obtain a production scheduling cycle with the shortest order overdue time on each production line.
[0021] In a third aspect, an embodiment of the present application provides a computer device comprising a memory and a processor, wherein the memory stores a computer program that can be run on the processor, and when the processor executes the program, some or all of the steps in the above method are implemented.
[0022] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium having a computer program stored thereon, which implements some or all of the steps in the above method when executed by a processor.
[0023] In a fifth aspect, an embodiment of the present application provides a computer program, comprising a computer-readable code. When the computer-readable code runs in a computer device, a processor in the computer device executes some or all of the steps for implementing the above method.
[0024] In a sixth aspect, an embodiment of the present application provides a computer program product, which includes a non-transitory computer-readable storage medium storing a computer program. When the computer program is read and executed by a computer, it implements some or all of the steps in the above method. Beneficial effects
[0025] The beneficial effect of the first aspect provided by the embodiment of the present application is that: based on the switching time between each order to be dispatched on at least one production line and the delivery window of the order to be dispatched, the optimization goal of minimizing the changeover time and the overall overdue time of the order in the production process is determined; the purpose is to abstract the distributed flexible production line scheduling problem into a single-process flexible production line scheduling problem related to production line switching and delivery time, so as to greatly reduce the scale of the solution space by simplifying the problem, improve the construction rate and solution rate of the solution space, and have significant efficiency advantages when constructing and solving large-scale scheduling problems, and can obtain the optimal production scheduling plan, and the production scheduling efficiency is high and the production scheduling effect is relatively ideal. In addition, by adding the minimization of the overall overdue time to the optimization goal, the production scheduling plan that is finally determined can have the shortest overdue time when it is implemented, further improving the superiority of the production scheduling. Moreover, by simplifying the problem, the production scheduling plan is determined from the perspective of global scheduling, which is better than the method of simply combining local scheduling results in the related art.
[0026] It can be understood that the beneficial effects of the second to sixth aspects of the present application can be found in the relevant description of the first aspect of the present application and will not be repeated here.
[0027] It should be understood that the above general description and the following detailed description are merely exemplary and explanatory, and do not limit the technical solutions of the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0028] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments of the present application. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on the drawings without creative work.
[0029] FIG1 is a schematic diagram of a first implementation flow of a production scheduling method on a production line provided in an embodiment of the present application;
[0030] FIG2 is a second schematic diagram of a production scheduling method for a production line according to an embodiment of the present application;
[0031] FIG3 is a third schematic diagram of a production scheduling method for a production line according to an embodiment of the present application;
[0032] FIG4 is a schematic diagram of an order overdue in a production scheduling method on a production line provided by an embodiment of the present application;
[0033] FIG5 is a schematic diagram showing a comparison of model variables in a production scheduling method on a production line provided by an embodiment of the present application;
[0034] FIG6 is a schematic diagram of the composition structure of a distributed flexible production line scheduling optimization algorithm application provided in an embodiment of the present application;
[0035] FIG7 is a schematic diagram illustrating an implementation of a production scheduling window in a production scheduling method on a production line provided by an embodiment of the present application;
[0036] FIG8 is a schematic diagram of the structure of a production scheduling device on a production line provided in an embodiment of the present application;
[0037] FIG9 is a schematic diagram of a hardware entity of a computer device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0038] In order to make the purpose, technical solutions and advantages of this application clearer, the technical solutions of this application are further elaborated in detail below with reference to the accompanying drawings and embodiments. The described embodiments should not be regarded as limiting this application. All other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application.
[0039] In the following description, reference is made to “some embodiments”, which describes a subset of all possible embodiments, but it will be understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.
[0040] The terms "first / second / third" involved are merely used to distinguish similar objects and do not represent a specific ordering of the objects. It is understandable that "first / second / third" can be interchanged with a specific order or sequence where permitted so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein.
[0041] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by those skilled in the art to which this application pertains. The terms used herein are for the purpose of describing this application only and are not intended to limit this application.
[0042] In order to better understand the production scheduling method on the production line provided in the embodiment of the present application, the implementation ideas of the technical solution of the present application are first explained below.
[0043] Under the Engineer To Order (ETO) and Mass Customization (MS) production models, in order to meet the demand for orders of multiple categories and different batch sizes, the production line has begun to have a certain degree of flexibility, including machine flexibility (MF) and process flexibility (PF).
[0044] Typically, a factory may have multiple production lines. Because these lines (i.e., production lines) possess a certain degree of flexibility, facing a wide variety of orders with varying batch sizes, factory production staff often encounter problems such as frequent cuts and pulls, order overdues, and low manual scheduling efficiency when manually scheduling.
[0045] Therefore, we consider modeling the above problem based on discrete optimization methods and using a solver to find the optimal production scheduling solution. The above problem is actually a discrete optimization problem. We can solve it by establishing a mixed-integer linear programming (MILP) mathematical model for the problem, then programming the corresponding decision variables, optimization objectives, and constraints in a programming language, and then using implicit enumeration methods such as branch and bound (B&B) and cutting planes (CP) in the solver to achieve the problem.
[0046] The specific implementation of the technical solution of this application is described in detail below.
[0047] The present application provides a production scheduling method for a production line, which can be executed by a processor of a computer device. The computer device may be a server, a laptop, a tablet computer, a desktop computer, a smart TV, a set-top box, a mobile device (e.g., a mobile phone, a portable video player, a personal digital assistant, a dedicated messaging device, a portable gaming device), or other device with data processing capabilities. As shown in FIG1 , the method includes the following steps 101 to 104:
[0048] Step 101: In response to a production scheduling triggering event, determine at least one order to be dispatched and attribute information of the corresponding order; the attribute information at least includes a delivery window.
[0049] The trigger event is used to determine a production scheduling plan for each of the at least one production line. Specifically, the trigger event is used to dispatch the order to be dispatched to the at least one production line to determine a production scheduling plan for each of the at least one production line within a production scheduling cycle.
[0050] The at least one production line refers to one or more production lines that are currently capable of processing orders. Each of the at least one production line can be a flexible production line. A flexible production line is one that can produce multiple types (or categories) of products. A distributed flexible production line refers to multiple production lines deployed in different locations, such as multiple production lines deployed in different workshops.
[0051] At least one order to be dispatched refers to one or more orders that currently need to be dispatched. The attribute information of the order to be dispatched may include, but is not limited to, the quantity of products, product type, unit production volume, delivery window, overdue time, switching time, and other information of the order to be dispatched. The delivery window includes the start time and end time of the order to be dispatched; in a feasible implementation, the delivery window can be set in a daily cycle. The switching time of the order to be dispatched refers to the time required before the order is prepared for production; this time is used for preparations before the production of the order, such as preparing materials, replacing components, etc.
[0052] In one feasible implementation, the trigger event for production scheduling may be generated through a human-computer interaction interface; specifically, the trigger event for production scheduling may be generated through a preset button on the human-computer interaction interface. Alternatively, the trigger event for production scheduling may be generated through a preset physical button.
[0053] In one feasible implementation, determining the at least one order to be dispatched and the attribute information of the corresponding order may be accomplished by inputting the at least one order to be dispatched and the attribute information of the corresponding order through a human-computer interaction interface. Alternatively, the at least one order to be dispatched and the attribute information of the corresponding order may be pre-stored in a computer device, and then, upon generating a scheduling trigger event, the at least one order to be dispatched and the attribute information of the corresponding order may be directly retrieved from the computer device.
[0054] Step 102: Based on the switching time between the orders to be dispatched on at least one production line and the delivery window of the orders to be dispatched, determine an optimization goal that minimizes the changeover time and the overall overdue time of the orders in the production process.
[0055] Since the related art has the situation of distributing the same order across different production lines for production, that is, there are situations of batch and cross-line production, then a large number of variables need to be designed to construct the mathematical model for scheduling. This has the problems of too many variables, high complexity of the mathematical model, and low solution rate. Based on this, this application abstracts the distributed flexible production line scheduling problem into a single-process flexible production line scheduling problem related to production line switching and delivery time by ignoring batch and cross-line production, so as to reduce the number of variables, redundancy and space complexity.
[0056] A single-process flexible production line refers to a production line that does not switch between processing techniques during the production process and can also produce a variety of products. A single-process flexible production line can include a single-process flexible job shop and a single-stage mixed assembly line shop. The job shop and the assembly line shop are arranged differently; for example, the job shop can be composed of multiple discrete machines, and the assembly line shop refers to a production line that includes multiple continuous processes. A single process refers to a processing technology that can be completed on one production line or one machine, and a single stage refers to multiple continuous processing processes, and no switching of processing processes occurs during the processing process. A single-process flexible workshop refers to a workshop in which the production line is used to process a specific process, and a single-stage flexible workshop refers to a workshop in which the production line is used to process a certain continuous process.
[0057] Determining the optimization goal that characterizes the shortest changeover time and the shortest overall overdue time of an order during the production process refers to determining the optimization goal of the single-process flexible production line scheduling problem, which is to minimize the changeover time and the overall overdue time of an order during the production process.
[0058] It should be noted that the optimization goal of the distributed flexible production line scheduling problem in the related art is to minimize the overall cutting and pulling time. However, this application, on the basis of minimizing the changeover time of orders in the production process, also considers the problem of order overdue and adds minimizing the overall overdue time to the optimization goal.
[0059] In a feasible implementation method, a first mathematical model for order switching and conversion can be constructed based on the switching time between each order to be dispatched on at least one production line; a second mathematical model for order overdue time can be constructed based on the delivery window of the order to be dispatched; the first mathematical model and the second mathematical model are minimized to obtain the optimization goal that characterizes the shortest changeover time and the shortest overall overdue time of the order in the production process.
[0060] Mathematical models are used to solve the scheduling problem of single-process flexible production lines. In one feasible implementation, the mathematical model can be constructed using position-based mathematical modeling. Position-based mathematical modeling is a method commonly used in computer graphics and physical simulation. It focuses on simulating the interactions between different substances using position information.
[0061] Step 103: Based on at least one order to be dispatched, attribute information of the corresponding order, and the product type produced by at least one production line, determine a solution space for the production time and processing procedures of the order; the solution space for the processing procedures indicates that no switching of processing procedures occurs when any order is produced on the production line.
[0062] The type of products produced by at least one production line means that each production line is a flexible production line, that is, each production line can produce multiple types of products. Determine the solution space for the production time and processing procedures of the order, that is, determine the solution space for the single-process flexible production line scheduling problem related to production line switching and delivery time. The solution space of the processing procedure represents that no switching of the processing procedure occurs when any order is produced on the production line, further limiting that the solution space is set for the single-process flexible production line scheduling problem. The solution space refers to the solution range of the optimization objective.
[0063] In a feasible implementation method, the solution space for the production time and processing procedures of an order can be determined based on at least one order to be dispatched and the attribute information of the corresponding order, the product type produced by at least one production line, and the production process and switching process between the orders to be dispatched on at least one production line.
[0064] The production process describes how products on a production line are produced. In one feasible implementation, the production process may include, but is not limited to, information such as the location of the production line, how the production line operates, and the steps involved in producing different types of products.
[0065] The switching process describes how a production line switches between different types of products. In one feasible implementation, the switching process may include, but is not limited to, the timing of when the production line switches between different types of products and whether parts and materials on the equipment need to be replaced when switching products.
[0066] Step 104 : Based on the optimization objective and the solution space, the orders to be dispatched are dispatched as tasks to at least one production line, and a production scheduling cycle with the shortest order overdue time on each production line is obtained.
[0067] The production scheduling plan within the production scheduling cycle is the optimal production scheduling plan currently obtained, which can ensure that the order overdue time on each production line is the shortest.
[0068] In a feasible implementation, based on the optimization objective and the solution space, a solver can be used to dispatch the orders to be dispatched as tasks to at least one production line, so as to obtain the production cycle with the shortest order overdue time on each production line.
[0069] The production scheduling cycle consists of a locked window and a sliding window. The locked window refers to the time period closest to the current time, while the sliding window refers to the time period farther from the current time. Schedules within the locked window cannot be changed unless in an emergency; schedules within the sliding window can be updated at any time.
[0070] For example, a scheduling cycle refers to a two-week schedule, a locked window refers to the first week's schedule, and a sliding window refers to the second week's schedule. The first week's schedule cannot be changed at any time because it's currently in production or about to start production. The second week's schedule, however, can be updated at any time to accommodate interruptions or unusual orders due to its later schedule.
[0071] In some embodiments, the specific implementation method of updating the production scheduling plan within the locking window and the sliding window can be: when an expedited order is processed within the locking window, a trigger event is generated to update the production scheduling plan within the production scheduling cycle; when an expedited order is processed within the sliding window, a trigger event is generated to update the production scheduling plan within the sliding window.
[0072] If there are expedited orders that are processed within the locked window, it means that there are very urgent orders that need to be processed. At this time, a trigger event is generated to update the production plan within the production cycle based on the degree of urgency.
[0073] There are expedited orders that are processed within the time of the sliding window. At this time, the expedited orders may refer to orders that are suddenly added but have a lower degree of urgency. At this time, a trigger event is generated to update the production scheduling plan within the sliding window.
[0074] In the embodiment of the present application, based on the switching time between each order to be dispatched on at least one production line and the delivery window of the order to be dispatched, an optimization goal is determined that represents the shortest changeover time and the shortest overall overdue time of the order in the production process; the purpose is to abstract the distributed flexible production line scheduling problem into a single-process flexible production line scheduling problem related to production line switching and delivery time, so as to greatly reduce the scale of the solution space by simplifying the problem, improve the construction rate and solution rate of the solution space, and have significant efficiency advantages when constructing and solving large-scale scheduling problems, and can obtain the optimal production scheduling plan, and the production scheduling efficiency is high and the production scheduling effect is relatively ideal. In addition, by adding the minimization of the overall overdue time to the optimization goal, the final production scheduling plan can be implemented with the shortest overdue time, further improving the superiority of the production scheduling. Moreover, by simplifying the problem, the production scheduling plan is determined from the perspective of global scheduling, which is better than the method of simply combining local scheduling results in the related art.
[0075] The present invention provides a production scheduling method for a production line, which can be executed by a processor of a computer device. As shown in FIG2 , the method includes the following steps 201 to 207:
[0076] Step 201: In response to a production scheduling triggering event, determine at least one order to be dispatched and attribute information of the corresponding order.
[0077] The attribute information at least includes the delivery window.
[0078] Step 202: Based on the switching time between the orders to be dispatched on at least one production line and the delivery window of the orders to be dispatched, determine an optimization goal that minimizes the changeover time and the overall overdue time of the orders in the production process.
[0079] Here, the above steps 201 to 202 correspond to the above steps 101 to 102 respectively, and the specific implementation methods of the above steps 101 to 102 may be referred to during implementation.
[0080] Step 203: Encode at least one order to be dispatched, at least one production line, and the tasks on each production line in sequence to obtain an index dictionary.
[0081] The index dictionary includes order index, production line index and task index.
[0082] In a feasible implementation, at least one order to be dispatched can be encoded to obtain an order index; at least one production line can be encoded to obtain a production line index; the tasks on each production line can be encoded to obtain a task index; and an index dictionary can be determined based on the order index, production line index and task index.
[0083] As shown in Table 1, the index dictionary can include order indexes, production line indexes, and task indexes within a production line. The order index is represented by i, the production line index is represented by j, and the task index is represented by r. The order index, production line index, and task index can all be positive integers.
[0084] Table 1: Index dictionary
[0085] Step 204: Characterize attribute information of the order to be dispatched, the product type produced by at least one production line, and the delivery window of the order to be dispatched based on the index dictionary to obtain solution constants including a first constant, a second constant, a third constant, a fourth constant, a fifth constant, and a sixth constant.
[0086] Among them, the first constant represents the switching time between orders to be dispatched, the second constant represents the number of products in the order to be dispatched, the third constant represents the unit production volume of the order to be dispatched, the fourth constant represents the product type produced by at least one production line, the fifth constant represents the delivery window of the order to be dispatched, and the sixth constant represents the earliest start time of at least one production line.
[0087] Solution constants refer to the constants required to construct the optimization objective and solution space.
[0088] The purpose of representing the attribute information of the order to be dispatched based on the index dictionary is to convert the attribute information of the order to be dispatched into mathematical language.
[0089] In a feasible implementation, if the attribute information of the orders to be dispatched includes the switching time between the orders to be dispatched, the product quantity of the orders to be dispatched, and the unit production volume of the orders to be dispatched, then the attribute information of the orders to be dispatched is characterized based on the index dictionary, that is, the switching time between the orders to be dispatched is characterized based on the index dictionary to obtain a first constant, the product quantity of the orders to be dispatched is characterized based on the index dictionary to obtain a second constant, and the unit production volume of the orders to be dispatched is characterized based on the index dictionary to obtain a third constant.
[0090] Characterizing the product types produced by at least one production line based on an index dictionary is intended to convert the product types produced by at least one production line into mathematical language. In one feasible implementation, the product types produced by at least one production line are characterized based on the index dictionary to obtain a fourth constant indicating whether any order can be produced on any production line.
[0091] Characterizing the delivery window of an order to be dispatched based on an index dictionary is intended to convert the delivery window of the order to be dispatched into mathematical language. In one feasible implementation, the delivery window of an order to be dispatched is characterized based on the index dictionary to obtain a fifth constant representing the delivery window of any order.
[0092] During production scheduling, attention should also be paid to the earliest start time of each production line. Therefore, a sixth constant representing the earliest start time of each production line may also be set.
[0093] In a feasible implementation, the first constant C can be obtained by characterizing the switching time required for production line j to switch from order i' to order i according to the index dictionary. i,i’,j ; According to the index dictionary, the product quantity of the order in the attribute information is represented to obtain the second constant D i ; According to the index dictionary, the unit production volume of order i on production line j in the performance information is characterized to obtain the third constant R i,j ; According to the index dictionary, whether order i can be produced on production line j is characterized to obtain the fourth constant P i,j ; According to the index dictionary, the delivery window in the attribute information is characterized to obtain the fifth constant U i ; According to the index dictionary, the earliest start time of production line j is represented to obtain the sixth constant Setup j .
[0094] As shown in Table 2, the constants to be solved can include the continuous constant C that represents the switching time required for production line j to switch from order i' to order i. i,i’,j (first constant), integer constant D representing the number of products in order i i (Second constant), continuous constant R representing the unit production volume of order i on production line j i,j (third constant), a binary constant P that represents whether order i can be produced on production line j i,j (fourth constant), integer constant U representing the delivery window of order i i (fifth constant), and the continuous constant Setup representing the earliest start time of production line j j (Sixth constant). Among them, C i,i’,j Generally, it is set based on hours, such as 2 hours, 4 hours, etc. The specific setting can be based on the experience of production line switching; C 0,i,j represents the switching time required for order i as the first task on production line j. Since the application scenario is generally multi-category small batch, D i It is usually set to any value between 10 and 1000. i,j Generally refers to the production volume in 24 hours, which can be set to 200, 300, 400, etc. i,jis 1, indicating that order i can be produced on production line j; P i,j If it is 0, it means that order i cannot be produced on production line j. i Generally, the cycle is one day. For example, if the start time of order i is 24 (U i -1) Delivery time is 24U i .
[0095] Table 2: Definition table of solution constants
[0096] Step 205 : Characterize the task configuration information on at least one production line based on the index dictionary to obtain solution variables including a first variable, a second variable, a third variable, and a fourth variable.
[0097] Among them, the first variable represents the start time of any task on at least one production line, the second variable represents the allocability of the order to be dispatched to at least one production line, the third variable represents the switching time between adjacent tasks on at least one production line, and the fourth variable represents the overdue time of the order to be dispatched.
[0098] Solution variables refer to the variables required to construct the optimization objective and solution space.
[0099] Task configuration information refers to the parameters configured for tasks on a production line. This information may include, but is not limited to, the start time of each task on the production line, whether an order can be assigned to any production line, the switching time between adjacent tasks on the production line, and the overdue time for the i-th task on the production line.
[0100] The purpose of representing the task configuration information on at least one production line based on the index dictionary is to convert the task configuration information into mathematical language.
[0101] In a feasible implementation, if the task configuration information includes the start time of each task on the production line, whether the order can be assigned to any production line, the switching time between two adjacent tasks on the production line, and the overdue time of the i-th task on the production line, then the task configuration information on at least one production line is characterized based on the index dictionary, that is, the start time of each task on the production line is characterized based on the index dictionary to obtain a first variable, whether the order can be assigned to any production line is characterized based on the index dictionary to obtain a second variable, the switching time between two adjacent tasks on the production line is characterized based on the index dictionary to obtain a third variable, and the overdue time of the i-th task on the production line is characterized based on the index dictionary to obtain a fourth variable.
[0102] In a feasible implementation, the start time of the rth task on the production line j can be characterized according to the index dictionary to obtain the first variable sr,j ; The second variable α is obtained by characterizing whether order i is assigned to the rth task of production line j according to the index dictionary i,r,j ; The switching time between the rth task and the r-1th task on production line j is characterized by the index dictionary to obtain the third variable t r,j ; According to the index dictionary, the overdue time when order i is assigned to the rth task of production line j is represented to obtain the fourth variable o i,r,j .
[0103] As shown in Table 3, the solution variables (decision variables) may include the continuous variable s representing the start time of the rth task on production line j: r,j (first variable), binary variable α representing whether order i is assigned to the rth task of production line j i,r, j (Second variable), continuous variable t representing the switching time between the rth task and the r-1th task on production line j r,j (third variable), and a continuous variable o representing the overdue time when order i is assigned to the rth task of production line j i,r,j (fourth variable).
[0104] Table 3: Decision variable definition table
[0105] Step 206 : Characterize the production process and the switching process between the orders to be dispatched on at least one production line based on the solution constants and the solution variables to obtain a solution space.
[0106] In a feasible implementation, the production process and the switching process between the orders to be dispatched on at least one production line can be digitally represented based on the solution constants and solution variables defined above to obtain a solution space.
[0107] Specifically, based on the solution constants and solution variables, the uniqueness between the tasks on at least one production line and the orders to be dispatched, the time parameters of each task on at least one production line, and the timing relationship between adjacent tasks on at least one production line can be characterized in turn to obtain a solution space.
[0108] Step 207: Based on the optimization objective and the solution space, the orders to be dispatched are dispatched as tasks to at least one production line to obtain the production scheduling cycle with the shortest order overdue time on each production line.
[0109] In a feasible implementation, the optimization target can be characterized based on the solution variable to obtain the characterized optimization target. For example, the characterized optimization target can be: minimize: obj1:∑ r,j tr,j ;obj2:∑ i,r,j o o,r,j Among them, obj1 represents minimizing the shortest changeover time, and obj2 represents minimizing the overall overtime.
[0110] In some embodiments, the specific implementation method of step 207 can be: configuring solution parameters; using a solver to assign the orders to be assigned as tasks to at least one production line based on the solution parameters, optimization objectives and solution space to obtain the optimal production scheduling plan; using an index dictionary to decode the optimal production scheduling plan to obtain the production scheduling cycle with the shortest order overdue time on each production line.
[0111] The solver is used to solve the optimal production scheduling plan based on the optimization objective and the solution space. In a feasible implementation, the solver can be a commercial solver such as Cplex, Gurobi, etc.
[0112] Solution parameters may include solution preferences, solution methods, and termination conditions. Solution preferences may include fast solution to feasible solutions, fast gap reduction, and balanced mode. Solution methods may include mixed integer programming (MIP) and quadratic programming. Termination conditions may include solution time and gap value. For example, the solution time is generally set to 5 minutes, and the target gap value is generally set to 10. -5 or 10 -10 .
[0113] In one feasible implementation, the solution space and optimization objectives can be imported into a commercial solver to obtain the optimal production scheduling plan.
[0114] Since the optimal solution output by the commercial solver is various symbols, in order to obtain the text-based production scheduling plan, it is necessary to use an index dictionary to decode the optimal production scheduling plan to obtain the optimal production scheduling plan for the text-based class (the scheduling cycle with the shortest order overdue time on each production line).
[0115] In some embodiments, the above step 206 may be implemented by the following steps 2061 to 2063:
[0116] Step 2061: Based on the solution constants and the solution variables, a first constraint condition is constructed to characterize the uniqueness of the tasks on at least one production line and the orders to be dispatched.
[0117] The first constraint is the uniqueness between tasks on at least one production line and the orders to be assigned. This uniqueness is reflected in the following three aspects: 1. A task on any production line can only be assigned to one order; 2. An order can only be assigned to a task on a production line once; and 3. An order can only be assigned to a production line if it can be produced on that line.
[0118] In some embodiments, the first constraint includes a first sub-constraint, a second sub-constraint, and a third sub-constraint. The specific implementation of step 2061 may be: based on the second variable, constructing a first sub-constraint that represents that any task on at least one production line can only process one order to be dispatched; based on the second variable, constructing a second sub-constraint that represents that the order to be dispatched can only be dispatched once; based on the second variable and the fourth constant, constructing a third sub-constraint that represents that the order to be dispatched will only be dispatched to any production line when it can be produced on any production line.
[0119] In a feasible implementation, a first sub-constraint condition representing that any task on at least one production line can only process one order to be dispatched can be constructed based on the second variable. For example, the first sub-constraint condition can be: ∑ i α i,r,j ≤1, The first sub-constraint indicates that the rth task on production line j only corresponds to order i.
[0120] In a feasible implementation, the second variable α can be used to i,r,j , construct the second sub-constraint that represents that the order to be dispatched can only be dispatched once. For example, the second sub-constraint can be: ∑ r,j α i,r,j =1, The second sub-constraint indicates that order i can only be allocated once and cannot be allocated repeatedly.
[0121] In a feasible implementation, the second variable α can be used to i,r,j and the fourth constant P i,j , constructing a third sub-constraint condition that represents that the order to be dispatched will be dispatched to any production line only when it can be produced on any production line. Exemplarily, the third sub-constraint condition can be: ∑ r α i,r,j ≤P i,j , The third sub-constraint indicates that order i will be assigned to production line j only when order i can be produced on production line j.
[0122] Step 2062: Construct a second constraint condition on the time parameter of each task on at least one production line based on the solution constant and the solution variable.
[0123] The second constraint refers to the time constraints set for the task during processing. The time parameters for each task during processing can include start time, delivery time, overdue time, and switch time. The start time of each task refers to the actual start time of each task, the overdue time of each task refers to the time that each task exceeds the delivery window during the actual production process, the switch time of each task refers to the time spent on the actual changeover of each task, and the delivery time of each task refers to the actual completion time of each task.
[0124] In a feasible implementation method, the start time, delivery time, overdue time, and switching time of each task on at least one production line can be characterized in turn based on model constants and model variables to obtain the fourth sub-constraint, the fifth sub-constraint, the sixth sub-constraint, and the seventh sub-constraint; the fourth sub-constraint, the fifth sub-constraint, the sixth sub-constraint, and the seventh sub-constraint are taken together as the second constraint.
[0125] Step 2063: Based on the solution constants and the solution variables, construct a third constraint condition on the timing relationship between adjacent tasks on at least one production line.
[0126] The third constraint condition is a constraint condition set for the temporal relationship between adjacent tasks on at least one production line.
[0127] In one embodiment, the specific implementation method of step 2063 can be: based on the second constant, the third constant and the second variable, determine the actual production time of the order to be dispatched; based on the first variable, the delivery window of the order to be dispatched, the first slack term and the third variable, construct a third constraint condition that represents that the sum of the delivery time of the predecessor task and the switching time of the current task on at least one production line is less than or equal to the start time of the current task; the first slack term represents the execution of the corresponding constraint condition when the order to be dispatched is dispatched to any production line as a task.
[0128] In a feasible implementation, based on the second constant D i , the third constant R i,j and the second variable α i,r,j The expression for the actual production time of the determined order i can be:
[0129] In a feasible implementation, the first relaxation term can be M(1-α i,r,j ); where M is a positive integer that is much larger than the number of products in the order. For example, when the number of products in an order is 100, M can be set to 1000 or 2000. i,r,j is a binary variable; i,r,j0, indicating that order i is not assigned to production line j as the rth task; α i,r,j is 1, indicating that order i is assigned to production line j as the rth task.
[0130] In a feasible implementation, the actual start time of the r+1th task on production line j can be expressed as t r+1,j , the preset start time of the r+1th task on production line j can be expressed as s r+1,j ; Thus, based on the first variable s r,j , the delivery time of the rth task on production line j, the first slack term and t r+1,j Determine the actual start time of the r+1th task on production line j; based on s r+1,j The third constraint condition is obtained by constraining the actual start time of the r+1th task on production line j.
[0131] For example, the third constraint condition may be: The third constraint indicates that when order i is assigned to the rth task on production line j, the sum of the delivery time of the rth task and the switching time of the r+1th task on production line j is less than or equal to the start time of the r+1th task on production line j. i,r,j =1, M(1-α i,r,j )=0, then the third constraint is: In α i,r,j =0, since M is relatively large, the third constraint condition will be relaxed. That is, the third constraint condition will not be judged in this case.
[0132] In some embodiments, the above step 2062 may be implemented by the following steps 2062a to 2062d:
[0133] Step 2062a: Based on the first variable, the second variable, and the fifth constant, construct a fourth sub-constraint regarding the start time of each task on at least one production line.
[0134] The fourth sub-constraint is set for the start time of each task on at least one production line. Because the first task on a production line has no predecessor tasks, the first task on any production line can be distinguished from all other tasks on the same line, and a specific constraint can be set.
[0135] In some embodiments, for tasks other than the first task on production line j, the specific implementation method of step 2062a can be: based on the second variable, determine the first relaxation term that represents the execution of the corresponding constraint condition when the order to be dispatched is dispatched as a task to any production line; based on the first variable, the first relaxation term and the fifth constant, construct a fourth sub-constraint condition that represents that the start time of any task on each production line is greater than or equal to the start time in the delivery window of the corresponding order to be dispatched.
[0136] The first relaxation term is used to limit the execution of the constraint condition. In a feasible implementation, the first relaxation term can be M(1-α i,r,j ); wherein M is a positive integer much larger than the number of products in the order. For example, when the number of products in a certain order is 100, M can be set to 1000 or 2000.
[0137] In a feasible implementation, based on the first variable s r,j , the first relaxation term and the fifth constant U i The fourth sub-constraint constructed can be: s r,j +M(1-α i,r,j )≥24(U i -1), The fourth sub-constraint indicates that when order i is assigned to the rth task on production line j, the start time of the rth task on production line j is greater than or equal to the start time of order i.
[0138] In some embodiments, for the first task of order i on production line j, the first variable s r,j , the third variable t r,j And the sixth constant Setup j , construct the eighth sub-constraint; the eighth sub-constraint indicates that the difference between the start time and the switching time of the first task on production line j is greater than or equal to the earliest start time of production line j.
[0139] In a feasible implementation, based on the first variable s r,j , the third variable t r,j And the sixth constant Setup j The eighth sub-constraint constructed can be: 1,j -t 1,j ≥Setup j , The eighth sub-constraint indicates that the difference between the start time and the switching time of the first task on production line j is greater than or equal to the earliest start time of production line j.
[0140] Step 2062b: Construct a fifth sub-constraint regarding the delivery time of each task on at least one production line based on the second constant, the third constant, the fifth constant, the first variable, the second variable, and the fourth variable.
[0141] The fifth sub-constraint is a constraint set for the delivery time of each task on at least one production line.
[0142] In some embodiments, the specific implementation method of step 2062b may be: based on the second constant, the third constant and the second variable, determining the actual production time of the order to be dispatched; based on the first variable, the actual production time of the order to be dispatched, the first slack term, the fifth constant and the fourth variable, constructing a fifth sub-constraint condition characterizing that the delivery time of any task on at least one production line is greater than or equal to the delivery time in the delivery window of the corresponding order to be dispatched; the first slack term characterizes the execution of the corresponding constraint condition when the order to be dispatched is dispatched to any production line as a task.
[0143] In a feasible implementation, based on the second constant D i , the third constant R i,j and the second variable α i,r,j Determine the actual production time of order i. For example, the expression for the actual production time of order i can be:
[0144] In a feasible implementation, the first variable s r,j , the actual production time of order i and the first slack term determine the actual delivery time of order i, based on the fifth constant U i and the fourth variable o i,r,j Determine the set delivery time of order i, and construct a fifth sub-constraint based on the actual delivery time of order i and the set delivery time of order i (the time within the delivery window). For example, the fifth sub-constraint can be expressed as: The fifth sub-constraint indicates that the delivery time of the rth task on production line j is less than or equal to the delivery time of the delivery window of order i. i,r,j For the allowable overtime, use M(1-α i,r,j ) and o i,r,j (Lagrange relaxation method) Adding relaxation constraints to order delivery dates and adding penalty items for overdue orders in the optimization objective can ensure that the scheduling model can optimize the cut-pull time with the minimum overdue cost.
[0145] Step 2062c: Based on the fourth variable, construct a sixth sub-constraint regarding the overdue time of each task on at least one production line.
[0146] In a feasible implementation, based on the fourth variable o i,r,j Construct a sixth sub-constraint of the overdue time of each task on at least one production line. Exemplarily, the sixth sub-constraint can be expressed as: i,r,j ≥0, The sixth sub-constraint indicates the allowed overdue time of the r-th task on production line j when order i is assigned to the r-th task on production line j.
[0147] Step 2062d: Based on the second variable, the third variable, and the first constant, construct a seventh sub-constraint regarding the switching time of each task on at least one production line.
[0148] The seventh sub-constraint is a constraint set for the switching time of each task on at least one production line.
[0149] In some embodiments, for tasks other than the first task on production line j, the specific implementation method of step 2062d can be: based on the second variable, determine the second relaxation term that represents the execution of the corresponding constraint condition when any two orders to be assigned are adjacent tasks on the same production line; based on the third variable, the second relaxation term and the first constant, construct a seventh sub-constraint condition that represents that the switching time between tasks on at least one production line is greater than or equal to the switching time between the orders to be dispatched.
[0150] The second slack term is another condition that limits the execution of the constraint condition. Since the second slack term limits the adjacent tasks on the same production line, while the first slack term limits the single task, the two are different.
[0151] In a feasible implementation, the second relaxation term can be expressed as M(2-α i,r,j -α i′,r-1,j ); where α i,r,j It is used to decide whether order i is assigned to production line j as the rth task, α i′,r-1,j Used to decide whether order i' is assigned to production line j as the r-1th task.
[0152] In a feasible implementation, the third variable t r,j The actual switching time is determined by the second relaxation condition, based on the first constant C i,i′,j The seventh sub-constraint is obtained by constraining the actual switching time. For example, the seventh sub-constraint can be expressed as: r,j +M(2-α i,r,j -α i′,r-1,j )≥C i,i′,j , The seventh sub-constraint indicates that when order i is the rth task on production line j and order i' is the r-1th task on production line j, the switching time of the rth task on production line j is greater than or equal to the switching time required for production line j to switch from order i' to order i. When order i is assigned to production line j as the rth task and order i' is assigned to production line j as the r-1th task, α i,r,j =1,α i′,r-1,j =1, M(2-α i,r,j -α i′,r-1,j )=0, then the seventh sub-constraint is: t r,j ≥C i,iμ,j ; When order i is not assigned to production line j as the rth task (α i,r,j =0), and / or order i' is not assigned to production line j as the r-1th task (α i′,r-1,j =0), M(2-α i,r,j -α i′,r-1,j ) value is too large, the seventh sub-constraint will be relaxed, that is, the seventh sub-constraint will not be judged in this case.
[0153] In some embodiments, for order i being the first task on production line j, the third variable t r,j , the first relaxation term and the first constant C 0,i,j , construct the ninth sub-constraint; the ninth sub-constraint indicates that when order i is the first task on production line j, the switching time of the first task on production line j is greater than or equal to the switching time required for order i to be the first task on production line j.
[0154] When order i is the first task on production line j, the third variable is t 1,j , the first relaxation term is expressed as M(1-α i,1,j _, the first constant is represented by C 0,i,j ; In this way, we can base on t 1,j and M(1-α i,1,j ) Determine the actual switching time of the first task on production line j, based on C 0,i,j The seventh sub-constraint is obtained by constraining the actual switching time of the first task on production line j. For example, the seventh sub-constraint can be: 1,j +M(1-α i,1,j )≥C 0,i,j , The seventh sub-constraint indicates that when order i is the first task on production line j, the switching time of the first task on production line j is greater than or equal to the switching time required for order i to be the first task on production line j.
[0155] In the embodiment of the present application, based on the switching time between each order to be dispatched on at least one production line and the delivery window of the order to be dispatched, an optimization goal is determined that represents the shortest changeover time and the shortest overall overdue time of the order in the production process; the purpose is to abstract the distributed flexible production line scheduling problem into a single-process flexible production line scheduling problem related to production line switching and delivery time, so as to greatly reduce the scale of the solution space by simplifying the problem, improve the construction rate and solution rate of the solution space, and have significant efficiency advantages when constructing and solving large-scale scheduling problems, and can obtain the optimal production scheduling plan, and the production scheduling efficiency is high and the production scheduling effect is relatively ideal. In addition, by adding the minimization of the overall overdue time to the optimization goal, the final production scheduling plan can be implemented with the shortest overdue time, further improving the superiority of the production scheduling. Moreover, by simplifying the problem, the production scheduling plan is determined from the perspective of global scheduling, which is better than the method of simply combining local scheduling results in the related art.
[0156] The following describes the application of the production scheduling method on the production line provided in an embodiment of the present application in a practical scenario.
[0157] The present application provides a production scheduling method for a production line, as shown in Figure 3. The method is generally divided into three parts: data modeling, a solver, and a production scheduling optimization algorithm application based on mathematical modeling and commercial solvers. The mathematical modeling is used to establish a MILP model based on the distributed flexible production line scheduling problem; the solver is used to provide methods such as mixed integer programming (MIP) and quadratic programming; and the production scheduling optimization algorithm application is used to process data, build models, set up and schedule solvers, and decode to obtain the current production scheduling plan, thereby performing rolling production scheduling based on irregular windows.
[0158] 1. Mathematical modeling
[0159] 1.1 Problem Description
[0160] Distributed flexible production line scheduling problem: A factory has a batch of orders to produce. Each order consists of a set of identical products. Considering factors such as material preparation and inventory, each order has its own start-to-completion time window, requiring each order to be completed and delivered within that time window. The factory has multiple production lines with varying degrees of flexibility, capable of completing a variety of order types. However, a single line can only accept one order at any given time. The production process for each order consists of a fixed set of steps. Assume that there are no parallel machines within the production line, and these steps must be completed within the same line. Steps are sequential in time, meaning that the next step can only begin after the previous step has completed. The production process does not consider lot streaming (LS) or batch production. Each order can be completed on any production line with the corresponding production capacity (only one line can be selected for production). However, the production efficiency of different lines varies, and adjacent tasks on the same line require switching. Now we need to assign each order to each production line and rationally adjust the production sequence of orders on each production line to minimize the overall cutting time. The decision points for the above problem include:
[0161] Task allocation: Allocate orders to each production line.
[0162] Task sequencing: Determines the production order of orders on each production line.
[0163] The distributed flexible production line scheduling optimization problem is a non-deterministic polynomial-hard (NP-hard) problem with two optimization dimensions (including task allocation and task sequencing). The optimization objective is to minimize the overall production time. Without considering batch and cross-line production, the problem can be abstracted as a flexible job-shop scheduling problem with single operation (FJSP-SO) or a hybrid flow-shop scheduling problem with one stage (HFSP-OS), which considers production time and partial line flexibility.
[0164] In addition, considering that each order has its own [Start-Completion] time window limit, when there are a large number of orders within this window, some orders may be overdue regardless of production scheduling.
[0165] As shown in Figure 4, Figure 4 shows three production lines, namely production line 41, production line 42 and production line 43; among them, production line 41 is assigned four tasks, which are order 411 (first task), order 412 (second task), order 413 (third task) and order 414 (fourth task); production line 42 is assigned three tasks, which are order 421 (first task), order 422 (second task) and order 423 (third task); production line 43 is assigned two tasks, which are order 431 (first task) and order 432 (second task).
[0166] The product types corresponding to the orders in production lines 41, 42, and 43 can be the same or different. While FIG4 illustrates the orders in production lines 41, 42, and 43 as having different product quantities, in actual business scenarios, the product quantities of different orders can be the same.
[0167] As shown in Figure 4, the switching time between different orders is different. The reason is that different orders require different parts, materials, configuration parameters and other information of the processing equipment, so the time required for cutting and pulling is different.
[0168] As shown in Figure 4, the rectangular box surrounding each order represents the order's start-to-completion time window. As can be seen from Figure 4, the time window for order 414 on production line 41 exceeds the delivery date, making order 414 an overdue order. Overdue orders are inevitable during production scheduling, and the only way to minimize them is to minimize them.
[0169] 1.2 Mathematical Modeling
[0170] According to the above problem description, a mixed integer linear programming problem model (mathematical model) is established. First, the index dictionary shown in Table 1 above, the model constants shown in Table 2 above, and the decision variables shown in Table 3 above are defined.
[0171] It should be noted that since the embodiment of the present application abstracts the distributed flexible production line scheduling problem into a single-process flexible production line scheduling problem, the decision variables involved in the embodiment of the present application are smaller in number, less redundancy, and lower in space complexity than traditional decision variables.
[0172] Based on the above decision variables, the optimization objective of the mathematical model is constructed. The optimization objective of the mathematical model mainly considers minimizing the overall switching time while reducing the overtime time, which can be expressed as: minimize:obj1:∑ r,j t r,j ;obj2:∑ i,r,j o i,r,j .
[0173] The constraints of the mathematical model (solution space) can include:
[0174] Constraint 1 (first sub-constraint), ∑ i α i,r,j ≤1,
[0175] Constraint 2 (second sub-constraint), ∑ r,j α i,r,j =1,
[0176] Constraint 3 (third sub-constraint), ∑ r α i,r,j ≤P i,j ,
[0177] Constraint 4 (the fourth sub-constraint), s r,j +M(1-α i,r,j )≥24(U i -1),
[0178] Constraint 5 (eighth sub-constraint), s 1,j -t 1,j ≥Setup j ,
[0179] Constraints 4 and 5 together constrain the start time of the rth task on production line j.
[0180] Constraint 6 (fifth sub-constraint), Constraint 7 (sixth sub-constraint), o i,r,j ≥0,
[0181] Constraint 8 (the seventh sub-constraint), t r,j +M(2-α i,r,j -α i′,r-1,j )≥C i,i′,j ,
[0182] Constraint 9 (ninth sub-constraint), t 1,j +M(1-α i,1,j )≥C 0,i,j ,
[0183] Constraint 10 (third constraint),
[0184] The optimization goal of the mathematical model in the embodiment of the present application mainly considers reducing the overtime while minimizing the overall switching time. Among them, constraint 1 means that the r-th task on production line j can only be assigned to one order at most. Constraint 2 describes that order i must be assigned to a certain production line as a one-time task and cannot be assigned repeatedly. Constraint 3 is a logical constraint: if order i can be produced on production line j, then the order may be assigned to production line j, otherwise it cannot be assigned to production line j for production. Constraints 4 and 5 jointly set the start time of the r-th task on production line j. Constraint 6 is a delivery constraint with a Lagrange relaxation term added. Constraint 7 represents the decision variable o i,r,j The lower bound of is 0. Constraints 8 and 9 constrain the switching time between the rth task and its predecessor task on production line j. Constraint 10 expresses the timing constraint relationship between adjacent tasks on the same production line.
[0185] As shown in Figure 5, compared with the space complexity of the decision variables between the position-based mathematical model proposed in the embodiment of the present application and the sequence-based model, the larger the number of products in the order, the more it can be reflected that the space complexity of the position-based mathematical model proposed in the embodiment of the present application is lower. In this way, fewer variables are used to solve the same problem, and the solution efficiency is higher.
[0186] 2. Build an application for production scheduling optimization algorithms
[0187] Based on the above MILP model, a distributed flexible production line scheduling optimization algorithm application can be built, as shown in Figure 6. The application includes a data processing module, an optimization model construction module, a solver configuration, and a scheduling plan decoding module. Among them, the data processing module is responsible for data reading, compiling an index dictionary, model constant assignment, and error-proofing verification; data reading is used to read the data required to build the mathematical model; compiling an index dictionary is used to generate specific indexes; model constant assignment is used to assign values to each constant to facilitate the subsequent construction and solution of the mathematical model; error-proofing is used to determine whether the acquired data has logical errors, or is missing or other anomalies. The optimization model construction module is responsible for constructing model variables, optimization objectives, and constraints (specific numerical constraint expressions). The solver configuration module is responsible for importing the solver, configuring the solution preference, solution method, and termination conditions. The scheduling plan decoding module is responsible for decoding the optimal scheduling plan based on the index dictionary after obtaining the optimal solution.
[0188] Specifically, after inputting data (orders to be dispatched), the optimal production scheduling plan can be obtained through processing by the data processing module, the optimization model building module, the solver configuration and the production scheduling plan decoding module.
[0189] Based on the application of the above algorithm, production can be scheduled for orders within a certain period of time, and then the production schedule can be updated periodically by setting a locking period and a rolling window. As shown in Figure 7, the production scheduling windows for a certain period of time can be set in advance. These windows are connected in time. The production scheduling optimization algorithm is applied to generate production line schedules within each window from the nearest to the farthest. The production schedule closest to the production is locked as the actual production plan. Window W in Figure 7 is the production schedule within the locking period, and window W+1 is the production schedule within the sliding window. The production schedule within window W cannot be updated at will, while the production schedule within window W+1 can be updated at any time.
[0190] The embodiments of the present application can at least solve the following technical problems:
[0191] 1) How to mathematically model the distributed flexible production line scheduling problem with fewer decision variables and constraints. Commercial solvers can theoretically yield optimal solutions, but fewer decision variables and constraints mean more efficient model building and solving, which offers significant advantages in solving large-scale optimization problems.
[0192] 2) How to deal with the problem of some orders being overdue and avoid the situation where the model may have no feasible solution when there are too many orders due to directly setting delivery constraints.
[0193] 3) Consider the impact of factors such as emergency orders, production line adjustments, and material preparation on production plans, and how to meet the production scheduling needs of frequent plan updates.
[0194] The embodiments of the present application include at least the following innovative features:
[0195] 1) Aiming at the distributed flexible production line scheduling problem, a position-based mathematical modeling method is proposed to directly model the possible order dispatch and its processing sequence, and use a hierarchical structure to set the direct decision variables. Compared with the sequence-based model, it can greatly reduce the scale of direct decision variables and constraints.
[0196] 2) Use the Lagrange method to set relaxation constraints for order delivery times and add a penalty term for overdue orders in the optimization objective.
[0197] 3) Update the production schedule regularly by setting lock cycles and rolling windows.
[0198] The embodiments of the present application can at least achieve the following technical effects:
[0199] 1) The distributed flexible production line scheduling problem is abstracted into a single-process flexible production line scheduling problem that takes into account line switching and delivery dates. Based on this, a position-based mathematical modeling approach is proposed to directly model order allocation and its processing sequence. This approach uses a hierarchical structure rather than a simple matrix structure to set direct decision variables. Compared to sequence-based models, this approach significantly reduces the number of direct decision variables and constraints, offering significant efficiency advantages when constructing and solving large-scale optimization problems. Furthermore, this approach can solve large-scale optimization problems using commercial solvers, guaranteeing an optimal solution.
[0200] 2) Set soft constraints on order delivery time while allowing some orders to be overdue (o i,r,j ), that is, using the Lagrange method to add relaxation constraints to order delivery dates and adding penalty items for overdue orders in the optimization objective to ensure that the scheduling model can optimize the cut-pull time with the minimum overdue cost.
[0201] 3) Regularly update the production schedule by setting a lock cycle and rolling window to achieve an orderly connection between the previous and subsequent production schedules, and to respond to partial updates to the production schedule caused by disruptive factors such as inserted orders.
[0202] Based on the foregoing embodiments, an embodiment of the present application provides a production scheduling device on a production line, which includes the various units included and the various modules included in each unit, and can be implemented by a processor in a computer device; of course, it can also be implemented by a specific logic circuit; in the implementation process, the processor can be a central processing unit (CPU), a microprocessor (MPU), a digital signal processor (DSP) or a field programmable gate array (FPGA), etc.
[0203] FIG8 is a schematic diagram of the structure of a production scheduling device on a production line provided by an embodiment of the present application. As shown in FIG8 , the production scheduling device 800 on the production line includes: a determination unit 810 and a dispatching unit 820, wherein:
[0204] The determining unit 810 is configured to determine at least one order to be dispatched and attribute information of the corresponding order in response to a scheduling triggering event; the attribute information includes at least a delivery window;
[0205] The determining unit 810 is further configured to determine an optimization objective that minimizes the changeover time and the overall overdue time of the orders in the production process based on the switching time between the orders to be dispatched on at least one production line and the delivery window of the orders to be dispatched;
[0206] The determining unit 810 is further configured to determine a solution space for production time and processing steps of the order based on at least one order to be dispatched, attribute information of the corresponding order, and a product type produced by at least one production line; the solution space for processing steps indicates that no switching of processing steps occurs during the production of any order on the production line;
[0207] The dispatching unit 820 is configured to dispatch the orders to be dispatched as tasks to at least one production line based on the optimization objective and the solution space, and obtain the production scheduling cycle with the shortest order overdue time on each production line.
[0208] In some embodiments, the production scheduling cycle includes a locking window and a sliding window; the determination unit 810 is specifically configured to: when an expedited order is processed within the locking window, a trigger event is generated to update the production scheduling plan within the production scheduling cycle; when an expedited order is processed within the sliding window, a trigger event is generated to update the production scheduling plan within the sliding window.
[0209] In some embodiments, the determination unit 810 is specifically configured to: sequentially encode at least one order to be dispatched, at least one production line, and the tasks on each production line to obtain an index dictionary; based on the index dictionary, the attribute information of the order to be dispatched, the product type produced by at least one production line, and the delivery window of the order to be dispatched are characterized to obtain solution constants including a first constant, a second constant, a third constant, a fourth constant, a fifth constant, and a sixth constant; the first constant represents the switching time between the orders to be dispatched, the second constant represents the number of products of the order to be dispatched, the third constant represents the unit production volume of the order to be dispatched, the fourth constant represents the product type produced by at least one production line, and the fifth constant represents the fifth constant. The delivery window of the order to be dispatched is collected, and the sixth constant represents the earliest start time of at least one production line; based on the index dictionary, the task configuration information on at least one production line is represented to obtain the solution variables including the first variable, the second variable, the third variable and the fourth variable; the first variable represents the start time of any task on at least one production line, the second variable represents the allocability of the order to be dispatched to at least one production line, the third variable represents the switching time between adjacent tasks on at least one production line, and the fourth variable represents the overdue time of the order to be dispatched; based on the solution constant and the solution variable, the production process and the switching process between each order to be dispatched on at least one production line are represented to obtain the solution space.
[0210] In some embodiments, the determination unit 810 is specifically configured to: construct a first constraint condition characterizing the uniqueness of tasks on at least one production line and orders to be dispatched based on the solution constants and solution variables; construct a second constraint condition regarding time parameters of each task on at least one production line based on the solution constants and solution variables; construct a third constraint condition regarding the timing relationship between adjacent tasks on at least one production line based on the solution constants and solution variables.
[0211] In some embodiments, the first constraint includes a first sub-constraint, a second sub-constraint, and a third sub-constraint; the determination unit 810 is specifically configured to: based on the second variable, construct a first sub-constraint that characterizes that any task on at least one production line can only process one order to be dispatched; based on the second variable, construct a second sub-constraint that characterizes that an order to be dispatched can only be dispatched once; based on the second variable and the fourth constant, construct a third sub-constraint that characterizes that an order to be dispatched will only be dispatched to any production line when it can be produced on any production line.
[0212] In some embodiments, the determination unit 810 is specifically configured to: construct a fourth sub-constraint regarding the start time of each task on at least one production line based on the first variable, the second variable and the fifth constant; construct a fifth sub-constraint regarding the delivery time of each task on at least one production line based on the second constant, the third constant, the fifth constant, the first variable, the second variable and the fourth variable; construct a sixth sub-constraint regarding the overdue time of each task on at least one production line based on the fourth variable; construct a seventh sub-constraint regarding the switching time of each task on at least one production line based on the second variable, the third variable and the first constant.
[0213] In some embodiments, the determination unit 810 is specifically configured to: based on the second variable, determine the first slack term that represents the execution of the corresponding constraint condition when the order to be dispatched is dispatched as a task to any production line; based on the first variable, the first slack term and the fifth constant, construct a fourth sub-constraint condition that represents that the start time of any task on each production line is greater than or equal to the start time in the delivery window of the corresponding order to be dispatched.
[0214] In some embodiments, the determination unit 810 is specifically configured to: determine the actual production time of the order to be dispatched based on the second constant, the third constant and the second variable; construct a fifth sub-constraint condition based on the first variable, the actual production time of the order to be dispatched, the first slack term, the fifth constant and the fourth variable, which represents that the delivery time of any task on at least one production line is greater than or equal to the delivery time in the delivery window of the corresponding order to be dispatched; the first slack term represents the execution of the corresponding constraint condition when the order to be dispatched is dispatched to any production line as a task.
[0215] In some embodiments, the determination unit 810 is specifically configured to: determine the actual production time of the order to be dispatched based on the second constant, the third constant and the second variable; construct a fifth sub-constraint condition based on the first variable, the actual production time of the order to be dispatched, the first slack term, the fifth constant and the fourth variable, which represents that the delivery time of any task on at least one production line is greater than or equal to the delivery time in the delivery window of the corresponding order to be dispatched; the first slack term represents the execution of the corresponding constraint condition when the order to be dispatched is dispatched to any production line as a task.
[0216] In some embodiments, the determination unit 810 is specifically configured to: determine the actual production time of the order to be dispatched based on the second constant, the third constant and the second variable; construct a third constraint condition based on the first variable, the delivery window of the order to be dispatched, the first slack term and the third variable, which represents that the sum of the delivery time of the predecessor task and the switching time of the current task on at least one production line is less than or equal to the start time of the current task; the first slack term represents the execution of the corresponding constraint condition when the order to be dispatched is dispatched as a task to any production line.
[0217] In some embodiments, the dispatching unit 820 is specifically configured to: configure solution parameters; use a solver to dispatch the orders to be dispatched as tasks to at least one production line based on the solution parameters, optimization objectives and solution space to obtain the optimal production scheduling plan; use an index dictionary to decode the optimal production scheduling plan to obtain the scheduling cycle with the shortest order overdue time on each production line.
[0218] The description of the above device embodiment is similar to the description of the above method embodiment and has similar beneficial effects as the method embodiment. In some embodiments, the functions or modules included in the device provided in the embodiments of the present application can be used to perform the methods described in the above method embodiments. For technical details not disclosed in the device embodiments of the present application, please refer to the description of the method embodiments of the present application for understanding.
[0219] It should be noted that, in the embodiment of the present application, if the production scheduling method on the above-mentioned production line is implemented in the form of a software function module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiment of the present application is essentially or the part that contributes to the relevant technology can be embodied in the form of a software product, which is stored in a storage medium and includes a number of instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the methods of each embodiment of the present application. The aforementioned storage medium includes various media that can store program codes, such as a U disk, a mobile hard disk, a read-only memory (ROM), a magnetic disk or an optical disk. In this way, the embodiment of the present application is not limited to any specific hardware, software or firmware, or any combination of hardware, software and firmware.
[0220] An embodiment of the present application provides a computer device including a memory and a processor, wherein the memory stores a computer program that can be run on the processor, and when the processor executes the program, some or all of the steps in the above method are implemented.
[0221] The present invention provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements some or all of the steps in the above method. The computer-readable storage medium may be transient or non-transient.
[0222] An embodiment of the present application provides a computer program, including computer-readable code. When the computer-readable code runs in a computer device, a processor in the computer device executes some or all of the steps for implementing the above method.
[0223] The present application provides a computer program product, which includes a non-transitory computer-readable storage medium storing a computer program. When the computer program is read and executed by a computer, some or all of the steps in the above method are implemented. The computer program product can be implemented in hardware, software, or a combination thereof. In some embodiments, the computer program product is embodied as a computer storage medium. In other embodiments, the computer program product is embodied as a software product, such as a software development kit (SDK).
[0224] It should be noted that the descriptions of the various embodiments above tend to emphasize the differences between the various embodiments, and their similarities or similarities can be referenced to each other. The descriptions of the above device, storage medium, computer program, and computer program product embodiments are similar to the descriptions of the above method embodiments and have similar beneficial effects as the method embodiments. For technical details not disclosed in the embodiments of the device, storage medium, computer program, and computer program product of this application, please refer to the description of the method embodiments of this application for understanding.
[0225] It should be noted that FIG9 is a schematic diagram of a hardware entity of a computer device in an embodiment of the present application. As shown in FIG9 , the hardware entity of the computer device 900 includes: a processor 901, a communication interface 902, and a memory 903, wherein:
[0226] Processor 901 generally controls the overall operation of computer device 900 .
[0227] The communication interface 902 enables the computer device to communicate with other terminals or servers through a network.
[0228] The memory 903 is configured to store instructions and applications executable by the processor 901. It can also cache data to be processed or processed by the processor 901 and various modules in the computer device 900 (e.g., image data, audio data, voice communication data, and video communication data). This can be implemented using flash memory (FLASH) or random access memory (RAM). Data can be transmitted between the processor 901, the communication interface 902, and the memory 903 via a bus 904.
[0229] It should be understood that "one embodiment" or "an embodiment" mentioned throughout the specification means that the specific features, structures or characteristics related to the embodiment are included in at least one embodiment of the present application. Therefore, "in one embodiment" or "in an embodiment" appearing throughout the specification does not necessarily refer to the same embodiment. In addition, these specific features, structures or characteristics can be combined in one or more embodiments in any suitable manner. It should be understood that in the various embodiments of the present application, the size of the serial numbers of the above-mentioned steps / processes does not mean the order of execution, and the execution order of each step / process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application. The above-mentioned serial numbers of the embodiments of the present application are for description only and do not represent the advantages and disadvantages of the embodiments.
[0230] It should be noted that, in this document, the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, article, or apparatus comprising a series of elements includes not only those elements but also other elements not explicitly listed, or elements inherent to such process, method, article, or apparatus. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of other identical elements in the process, method, article, or apparatus comprising the element.
[0231] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are merely schematic. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as: multiple units or components can be combined, or can be integrated into another system, or some features can be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the components shown or discussed can be through some interfaces, and the indirect coupling or communication connection of the devices or units can be electrical, mechanical or other forms.
[0232] The units described above as separate components may or may not be physically separate, and the components displayed as units may or may not be physical units; they may be located in one place or distributed across multiple network units; some or all of the units may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. In addition, the functional units in the various embodiments of the present application may all be integrated into one processing unit, or each unit may be separately used as a unit, or two or more units may be integrated into one unit; the above-mentioned integrated units may be implemented in the form of hardware or in the form of hardware plus software functional units.
[0233] The above is only an implementation method of the present application, but the scope of protection of the present application is not limited thereto. Any technician familiar with this technical field can easily think of changes or replacements within the technical scope disclosed in this application, which should be covered by the scope of protection of the present application.
Claims
1. A production scheduling method on a production line, wherein: The production scheduling method on the production line includes: In response to a scheduling trigger event, determining at least one order to be dispatched and attribute information of the corresponding order; the attribute information at least includes a delivery window; Determining, based on the switching time between orders to be dispatched on at least one production line and the delivery windows of the orders to be dispatched, an optimization objective that minimizes the changeover time and the overall overdue time of the orders in the production process; Determining a solution space for production time and processing steps for the orders based on the at least one order to be dispatched, attribute information of the corresponding order, and the type of product produced by the at least one production line; wherein the solution space for processing steps indicates that no switching of processing steps occurs during the production of any order on the production line; Based on the optimization objective and the solution space, the orders to be assigned are assigned as tasks to the at least one production line, so as to obtain a production scheduling cycle with the shortest order overdue time on each production line.
2. The production scheduling method on the production line according to claim 1, wherein: The production scheduling cycle includes a locking window and a sliding window; When there is an expedited order to be processed within the lock window, a trigger event is generated to update the production scheduling plan within the production scheduling cycle; When there is an expedited order to be processed within the time of the sliding window, a trigger event is generated to update the production scheduling plan within the sliding window.
3. The production scheduling method on a production line according to claim 1 or 2, wherein: The determining of a solution space for production time and processing procedures for the order based on the at least one order to be dispatched, attribute information of the corresponding order, and the type of product produced by the at least one production line includes: Encoding the at least one order to be dispatched, the at least one production line, and the tasks on each production line in sequence to obtain an index dictionary; Characterizing attribute information of the order to be dispatched, the product type produced by the at least one production line, and the delivery window of the order to be dispatched based on the index dictionary, obtaining solution constants including a first constant, a second constant, a third constant, a fourth constant, a fifth constant, and a sixth constant; the first constant characterizing a switching time between the orders to be dispatched, the second constant characterizing a product quantity of the order to be dispatched, the third constant characterizing a unit production volume of the order to be dispatched, the fourth constant characterizing a product type produced by the at least one production line, the fifth constant characterizing the delivery window of the order to be dispatched, and the sixth constant characterizing an earliest start time of the at least one production line; Characterizing the task configuration information on the at least one production line based on the index dictionary, obtaining a solution variable including a first variable, a second variable, a third variable, and a fourth variable; the first variable characterizing the start time of any task on the at least one production line, the second variable characterizing the allocability of the order to be dispatched to the at least one production line, the third variable characterizing the switching time between adjacent tasks on the at least one production line, and the fourth variable characterizing the overdue time of the order to be dispatched; The production process and the switching process between the orders to be dispatched on the at least one production line are characterized based on the solution constants and the solution variables to obtain the solution space.
4. The production scheduling method on the production line according to claim 3, wherein: Characterizing the production process and the switching process between the orders to be dispatched on the at least one production line based on the solution constant and the solution variable to obtain the solution space includes: Constructing a first constraint condition based on the solution constant and the solution variable, which indicates that the task on the at least one production line is unique to the order to be dispatched; constructing a second constraint condition on a time parameter of each task on the at least one production line based on the solution constant and the solution variable; Based on the solution constants and the solution variables, a third constraint condition regarding the temporal relationship between adjacent tasks on the at least one production line is constructed.
5. The production scheduling method on the production line according to claim 4, wherein: The first constraint condition includes a first sub-constraint condition, a second sub-constraint condition and a third sub-constraint condition; The constructing, based on the solution constant and the solution variable, a first constraint condition representing the uniqueness of the task on the at least one production line and the order to be dispatched, includes: Based on the second variable, constructing a first sub-constraint condition indicating that any task on the at least one production line can only process one order to be dispatched; Based on the second variable, construct a second sub-constraint condition indicating that the order to be dispatched can only be dispatched once; Based on the second variable and the fourth constant, a third sub-constraint condition is constructed, which indicates that the order to be dispatched will be dispatched to any production line for production only when the order can be produced on any production line.
6. The production scheduling method on the production line according to claim 4, wherein: The second constraint condition includes a fourth sub-constraint condition, a fifth sub-constraint condition, a sixth sub-constraint condition and a seventh sub-constraint condition; The constructing, based on the solution constant and the solution variable, a second constraint condition on the time parameter of each task on the at least one production line includes: constructing a fourth sub-constraint regarding the start time of each task on the at least one production line based on the first variable, the second variable, and the fifth constant; constructing a fifth sub-constraint regarding the delivery time of each task on the at least one production line based on the second constant, the third constant, the fifth constant, the first variable, the second variable, and the fourth variable; constructing a sixth sub-constraint condition regarding the overdue time of each task on the at least one production line based on the fourth variable; A seventh sub-constraint regarding the switching time of each task on the at least one production line is constructed based on the second variable, the third variable and the first constant.
7. The production scheduling method on a production line according to claim 6, wherein: The constructing of a fourth sub-constraint regarding the start time of each task on the at least one production line based on the first variable, the second variable, and the fifth constant includes: Based on the second variable, determining a first relaxation term representing the execution of a corresponding constraint condition when the order to be dispatched is dispatched as a task to any production line; Based on the first variable, the first slack term and the fifth constant, a fourth sub-constraint condition is constructed, which characterizes that the start time of any task on each production line is greater than or equal to the start time in the delivery window of the corresponding order to be dispatched.
8. The production scheduling method on a production line according to claim 6, wherein: The constructing of a fifth sub-constraint regarding the delivery time of each task on the at least one production line based on the second constant, the third constant, the fifth constant, the first variable, the second variable, and the fourth variable includes: determining an actual production time of the order to be dispatched based on the second constant, the third constant, and the second variable; Based on the first variable, the actual production time of the order to be dispatched, the first slack term, the fifth constant and the fourth variable, a fifth sub-constraint condition is constructed, which characterizes that the delivery time of any task on the at least one production line is greater than or equal to the delivery time in the delivery window of the corresponding order to be dispatched; the first slack term characterizes the execution of the corresponding constraint condition when the order to be dispatched is dispatched to any production line as a task.
9. The production scheduling method on a production line according to claim 6, wherein: The constructing of a seventh sub-constraint regarding the switching time of each task on the at least one production line based on the second variable, the third variable, and the first constant includes: Based on the second variable, determining a second relaxation term representing the execution of the corresponding constraint condition when any two orders to be assigned are adjacent tasks on the same production line; Based on the third variable, the second slack term and the first constant, a seventh sub-constraint condition is constructed, which characterizes that the switching time between tasks on the at least one production line is greater than or equal to the switching time between orders to be dispatched.
10. The production scheduling method on a production line according to any one of claims 4 to 9, wherein: The constructing, based on the solution constant and the solution variable, a third constraint condition regarding the timing relationship between adjacent tasks on the at least one production line includes: determining an actual production time of the order to be dispatched based on the second constant, the third constant, and the second variable; Based on the first variable, the delivery window of the order to be dispatched, the first slack term and the third variable, a third constraint condition is constructed, which represents that the sum of the delivery time of the predecessor task and the switching time of the current task on at least one production line is less than or equal to the start time of the current task; the first slack term represents the execution of the corresponding constraint condition when the order to be dispatched is dispatched to any production line as a task.
11. The production scheduling method on a production line according to any one of claims 1 to 2, or 4 to 9, wherein: The step of assigning the to-be-assigned orders as tasks to the at least one production line based on the optimization objective and the solution space to obtain a production schedule with the shortest order overdue time on each production line includes: Configure solution parameters; Using a solver, based on the solution parameters, the optimization goal, and the solution space, the orders to be assigned are assigned as tasks to the at least one production line to obtain an optimal production scheduling plan; The optimal production scheduling scheme is decoded using the index dictionary to obtain the production scheduling cycle with the shortest order overdue time on each production line.
12. A production scheduling device on a production line, wherein: The production scheduling device on the production line includes: a determination unit configured to determine, in response to a scheduling triggering event, at least one order to be dispatched and attribute information of the corresponding order; wherein the attribute information includes at least a delivery window; The determining unit is further configured to determine an optimization objective that minimizes changeover time and overall overdue time of orders in a production process based on the switching time between orders to be dispatched on at least one production line and the delivery window of the orders to be dispatched; The determining unit is further configured to determine a solution space for production time and processing procedures for the order based on the at least one order to be dispatched, attribute information of the corresponding order, and a product type produced by the at least one production line; the solution space for processing procedures indicates that no switching of processing procedures occurs during the production of any order on the production line; The dispatching unit is configured to dispatch the orders to be dispatched as tasks to the at least one production line based on the optimization target and the solution space, so as to obtain a production scheduling cycle with the shortest order overdue time on each production line.
13. A computer device comprising a memory and a processor, wherein the memory stores a computer program executable on the processor, wherein: When the processor executes the program, the steps of the method according to any one of claims 1 to 11 are implemented.
14. A computer-readable storage medium having a computer program stored thereon, wherein: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 11 are implemented.
15. A computer program product comprising a computer program or instructions, wherein: When the computer program or instruction is executed by a processor, the steps of the method according to any one of claims 1 to 11 are implemented.
Citation Information
Patent Citations
Order scheduling method and device, storage medium and processor
CN109472488A
Workshop resource scheduling method based on heuristic optimization algorithm
CN112990515A
Production scheduling method, device and equipment for household appliances and storage medium
CN114548660A
Clothing workshop cutting bed distribution optimization method based on hybrid genetic algorithm
CN117474283A
Cited By
Intelligent production method and system for liquid cooling connector parts
CN121578775A
Scheduling method of test fixture, electronic equipment, storage medium and program product
CN121638813A