Parallel machine scheduling mixed integer programming model considering model change and dynamic programming algorithm thereof
By introducing a mixed integer planning model and its dynamic programming algorithm for mold replacement considerations in the parallel machine scheduling system, the workpiece scheduling is optimized, and the time-consuming and complex problems of the mold replacement process is solved, thereby improving production efficiency and reducing operating costs are achieved.
Patent Information
- Application Number
- CN202411884452.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-20
- Publication Date
- 2025-03-21
- Estimated Expiration
- 2044-12-20
AI Technical Summary
In modern manufacturing, frequent mold mold replacement processes are time-consuming and complex, affecting production efficiency and increasing equipment wear and operational costs.
A parallel machine scheduling hybrid integer planning model and its dynamic programming algorithm considering the change of the mold is proposed. By collecting production workshop data, building objective functions and constraint formulas, combined with dynamic programming algorithms, the scheduling of workpieces on the machine is optimized and the change of the mold is reduced.
Effectively reduce mold change time, improve equipment utilization, reduce operating costs, and achieve efficient production management and optimized resource allocation.
Smart Images

Figure CN119671196A_ABST
Abstract
Description
Technical Field
[0001] The invention relates to a mixed integer programming model for parallel machine scheduling considering die change and a dynamic programming algorithm thereof. Technical Background
[0002] In modern manufacturing, efficient scheduling of production equipment is crucial to improving production efficiency and reducing operating costs. Parallel machine scheduling systems are widely used in many industries, but in actual production, due to the diversity of product types, frequent mold changes (mold changes) are often required. The mold change process is often time-consuming and complicated, which not only affects production efficiency, but may also increase equipment wear and operating costs. Therefore, incorporating the mold change process into the parallel machine scheduling model can more accurately simulate the actual production environment and optimize the production plan. Through reasonable scheduling strategies, enterprises can effectively reduce mold change time and improve equipment utilization, thereby achieving efficient production management and optimal resource allocation. Summary of the invention
[0003] In view of the technical problems disclosed in the prior art, the purpose of the present invention is to provide a mixed integer programming model for parallel machine scheduling taking mold change into consideration and a dynamic programming algorithm thereof. The present invention can help enterprises reduce mold change time and improve production efficiency and economic benefits.
[0004] The technical solution adopted by the present invention is as follows:
[0005] A mixed integer programming model for parallel machine scheduling considering die change is proposed. The establishment of the model includes the following processes:
[0006] Step 1: First, collect relevant data of the production workshop, including the number of workpieces, the number of machines, the number of mold types, the processing time and preparation time of each workpiece;
[0007] Define the symbols of parameters and variables used in the specific model, and the corresponding index, set, parameter and variable symbol definitions:
[0008] i,j – index of the artifact;
[0009] k – index of the machine;
[0010] h——index of mold type;
[0011] n – the number of workpieces;
[0012] m – the number of machines;
[0013] N – the set of artifacts;
[0014] M – a collection of machines;
[0015] N0——the set of artifacts including virtual artifacts, subscript 0 is the index of the virtual artifact;
[0016] H——number of mold types;
[0017] p j ——processing time of workpiece j;
[0018] s j ——preparation time of workpiece j;
[0019] C j ——Completion time of workpiece j;
[0020] V——auxiliary large constant;
[0021]
[0022] Step 2: Construct the objective function, whose expression is shown in formula (1):
[0023]
[0024] The objective function of formula (1) represents minimizing the sum of the completion time of all workpieces; Step 3: Establish the following constraint formula
[0025]
[0026]
[0027] Constraint formula (2): Each workpiece j must have a unique predecessor workpiece on a certain machine, that is, each workpiece can only have one predecessor workpiece;
[0028] Constraint formula (3): If workpiece j is processed on machine k, then workpiece j must have a predecessor workpiece on machine k, and the predecessor workpiece includes a virtual workpiece, thereby ensuring the corresponding relationship between the workpiece and the machine;
[0029] Constraint formula (4): If workpiece i is processed on machine k, the predecessor workpiece selection of all other workpieces j on machine k must satisfy uniqueness, that is, the predecessor workpiece allocation of workpiece i on machine k will not conflict with other workpieces;
[0030] Constraint formula (5): On each machine, the virtual workpiece can only be assigned to one workpiece to ensure that the virtual workpiece does not participate in the actual processing sequence;
[0031] Constraint formula (6): used to determine whether workpiece i and workpiece j use the same model. If Δ ij =1, it means they use the same tool, otherwise they do not use the same tool;
[0032] Constraint formula (7): Predecessor relationship timing constraint: If workpiece i is completed before workpiece j, then the completion time C of workpiece j is j At least C i Processing time p of multiple workpieces j j , and the preparation time of workpieces using different molds needs to be considered.
[0033] The present invention also discloses a dynamic programming algorithm of a mixed integer programming model for parallel machine scheduling considering mold change, which includes the following process:
[0034] S1: Determine the processing sequence scheduling rules for the workpieces processed on each parallel machine in each stage;
[0035] S2: using a dynamic programming algorithm, allocating the number of workpieces to be processed on each machine for “workpieces using various molds”, constructing initial conditions, recursive expressions and objective functions for dynamic programming, wherein the objective function is to minimize the total completion time for processing all workpieces on all machines;
[0036] First, collect relevant data of the production workshop, including the number of types of molds, the preparation time and processing time of workpieces using various molds, and the number of workpieces using various molds;
[0037] H——number of mold types;
[0038] s h - Preparation time for using mold h workpiece;
[0039] p h ——The processing time of the workpiece using mold h;
[0040] N h ——The number of workpieces using mold h;
[0041] θ——stage number, θ is the iterative stage in dynamic programming, the total number of stages is the number of machines m, and the completion of all stage iterations means that all machines are allocated;
[0042] q θh ——The number of workpieces that have been allocated to the workpieces using mold h up to stage θ, and the number of workpieces to be processed is N h -q h ;
[0043] n θh ——The number of workpieces allocated among the workpieces using mold h in stage θ;
[0044] n θ ——n θh The set when h takes the value 1-H;
[0045] nθ ={n θh |h∈[1,H]}.
[0046] In the scheduling rules of each stage described in step S1, the scheduling rules are:
[0047] 1) Record the number of workpieces assigned to all types of molds in each stage, where the number of workpieces assigned to mold h in the θth stage is recorded as n θh ;
[0048] 2) Calculate a for all types of molds at each stage θh The value of
[0049] When n θh = 0, a θh Does not exist, otherwise calculate a according to the following formula θh :
[0050]
[0051] a θh It is a parameter reflecting the processing time used for workpiece sorting;
[0052] a θ(h) Yes Press a θh a after sorting in descending order θh ;
[0053] n θ(h) Yes Press a θ(h) The number of sorted artifacts;
[0054] 3) All kinds of mold workpieces in each stage are divided into the same group according to the tools of the same mold, and then divided into the same group according to a h The values of are sorted from small to large, that is, these workpieces are arranged in groups from front to back, a (h) Yes Press a h a after sorting in descending order h .
[0055] Furthermore, the following vector is constructed:
[0056] Vector d θ Yes all θh The vector composed of h∈[1,H], d θ ={d θ1 ,d θ2 ,...,d θH}, where d θ1 =0, thus,
[0057] vector
[0058] Vector qθ All q θh The vector composed of h∈[1,H], q θ = {q θ1 ,q θ2 ,...,q θH};
[0059] Vector n θ is all n θh The vector composed of h∈[1,H], n θ ={n θ1 ,n θ2 ,...,n θH};
[0060]
[0061] e θh The calculation formula represents the total completion time of all the predecessor workpieces of the workpiece group using mold h in the θth stage without calculating the total completion time;
[0062] It represents the sum of the total completion time of all the predecessor workpieces that are not calculated for the workpiece group using each mold in the θth stage;
[0063] The initial conditions, recursive expressions and objective functions of the dynamic programming are as follows:
[0064] ① Initial conditions:
[0065] θ = 0;
[0066]
[0067] f0(q 01 ,q 02 ,...,q 0H ) represents the total completion time, when q 01 ,q 02 ,...,q 0H are all equal to 0, that is, when the workpiece has not been assigned to the machine, the value of the total completion time is 0;
[0068] ②Recursive expression:
[0069]
[0070] The total completion time up to each stage is equal to the cumulative total completion time of the previous stage plus the total completion time of the current stage;
[0071] in It represents the sum of the completion time before the workpiece group using each mold in the θth stage multiplied by the number of workpieces;
[0072] ③Objective function:
[0073] Minf m (N)
[0074] The vector N in the objective function represents the vector q when reaching the final stage θ A vector in which all elements in reach their maximum value, reaching the final stage represents that the stage θ reaches its maximum value m;
[0075] The goal is to minimize the total completion time for machining all workpieces on all machines.
[0076] Further, according to the initial conditions, recursive expressions and objectives of the dynamic programming method, the output results and scheduling scheme are generated as follows: After running the above dynamic programming, the stage variable n can be output θh and q θh We associate the stage θ with the machine sequence one by one, that is, θ = 1 represents the first machine, n θh is the number of workpieces using h molds allocated on the θ machine, that is, the number of workpieces of each mold allocated on each machine is n θh It can be seen that these workpieces that are grouped by the same mold are sorted and scheduled according to the scheduling rule process described in the present invention. Each time the workpiece mold is switched, the preparation time s corresponding to the mold needs to be added. h The output is the stage variable n θh and the total completion time value, the result is given by Figure 1 It is presented in the form of a Gantt chart.
[0077] The dynamic programming algorithm process used in the present invention is as follows Figure 2 shown.
[0078] The present invention abstracts the parallel machine production scheduling problem considering mold change into a mixed integer programming model, and uses a dynamic programming method to quickly generate a scheduling solution. BRIEF DESCRIPTION OF THE DRAWINGS
[0079] Figure 1 is a schematic diagram of a scheduling scheme generated by an example in Embodiment 1 of the present invention, Figure 1 The unit of the horizontal axis time is min;
[0080] Figure 2 It is an implementation flow chart of the dynamic programming algorithm of the present invention. Specific implementation methods
[0082] In order to facilitate understanding by those skilled in the art, the present invention is further described below with reference to examples and drawings. The contents mentioned in the implementation modes are not intended to limit the present invention. Embodiment 1:
[0083] A mixed integer programming model for parallel machine scheduling considering die change is proposed. The establishment of the model includes the following processes:
[0084] Step 1: First, collect relevant data of the production workshop, including the number of workpieces, the number of machines, the number of mold types, the processing time and preparation time of each workpiece;
[0085] Define the symbols of parameters and variables used in the specific model, and the corresponding index, set, parameter and variable symbol definitions:
[0086] i,j – index of the artifact;
[0087] k – index of the machine;
[0088] h——index of mold type;
[0089] n – the number of workpieces;
[0090] m – the number of machines;
[0091] N – the set of artifacts;
[0092] M – a collection of machines;
[0093] N0 - the set of artifacts including virtual artifacts, subscript 0 is the index of the virtual artifact;
[0094] H——number of mold types;
[0095] p j ——processing time of workpiece j;
[0096] s j —— preparation time of workpiece j;
[0097] C j ——Completion time of workpiece j;
[0098] V——auxiliary large constant;
[0099]
[0100] Step 2: Construct the objective function, whose expression is shown in formula (1):
[0101]
[0102] The objective function of formula (1) represents minimizing the sum of the completion time of all workpieces; Step 3: Establish the following constraint formula
[0103]
[0104]
[0105] Constraint formula (2): Each workpiece j must have a unique predecessor workpiece on a certain machine, that is, each workpiece can only have one predecessor workpiece;
[0106] Constraint formula (3): If workpiece j is processed on machine k, then workpiece j must have a predecessor workpiece on machine k, and the predecessor workpiece includes a virtual workpiece, thereby ensuring the corresponding relationship between the workpiece and the machine;
[0107] Constraint formula (4): If workpiece i is processed on machine k, the predecessor workpiece selection of all other workpieces j on machine k must satisfy uniqueness, that is, the predecessor workpiece allocation of workpiece i on machine k will not conflict with other workpieces;
[0108] Constraint formula (5): On each machine, the virtual workpiece can only be assigned to one workpiece to ensure that the virtual workpiece does not participate in the actual processing sequence;
[0109] Constraint formula (6): used to determine whether workpiece i and workpiece j use the same model. If Δ ij =1, it means they use the same tool, otherwise they do not use the same tool;
[0110] Constraint formula (7): Predecessor relationship timing constraint: If workpiece i is completed before workpiece j, then the completion time C of workpiece j is j At least C i Processing time p of multiple workpieces j j , and the preparation time of workpieces using different molds needs to be considered.
[0111] The present invention also discloses a dynamic programming algorithm for a mixed integer programming model of parallel machine scheduling considering die change (see Figure 2 ), including the following process:
[0112] S1: Determine the processing sequence scheduling rules for the workpieces processed on each parallel machine in each stage;
[0113] S2: using a dynamic programming algorithm, allocating the number of workpieces to be processed on each machine for “workpieces using various molds”, constructing initial conditions, recursive expressions and objective functions for dynamic programming, wherein the objective function is to minimize the total completion time for processing all workpieces on all machines;
[0114] First, collect relevant data of the production workshop, including the number of types of molds, the preparation time and processing time of workpieces using various molds, and the number of workpieces using various molds;
[0115] H——number of mold types;
[0116] s h- Preparation time for using mold h workpiece;
[0117] p h ——The processing time of the workpiece using mold h;
[0118] N h ——The number of workpieces using mold h;
[0119] θ——stage number, θ is the iterative stage in dynamic programming, the total number of stages is the number of machines m, and the completion of all stage iterations means that all machines are allocated;
[0120] q θh ——The number of workpieces that have been allocated to the workpieces using mold h up to stage θ, and the number of workpieces to be processed is N h -q h ;
[0121] n θh ——The number of workpieces allocated among the workpieces using mold h in stage θ;
[0122] n θ ——n θh The set when h takes the value 1-H;
[0123] n θ ={n θh |h∈[1,H]}.
[0124] In the scheduling rules of each stage described in step S1, the scheduling rules are:
[0125] 1) Record the number of workpieces assigned to all types of molds in each stage, where the number of workpieces assigned to mold h in the θth stage is recorded as n θh ;
[0126] 2) Calculate a for all types of molds at each stage θh The value of
[0127] When n θh = 0, a θh Does not exist, otherwise calculate a according to the following formula θh :
[0128]
[0129] a θh It is a parameter reflecting the processing time used for workpiece sorting;
[0130] a θ(h) Yes Press a θh a after sorting in descending order θh ;
[0131] n θ(h)Yes Press a θ(h) The number of sorted artifacts;
[0132] 3) All kinds of mold workpieces in each stage are divided into the same group according to the tools of the same mold, and then divided into the same group according to a h The values of are sorted from small to large, that is, these workpieces are arranged in groups from front to back, a (h) Yes Press a h a after sorting in descending order h .
[0133] Furthermore, the following vector is constructed:
[0134] Vector d θ Yes all θh The vector composed of h∈[1,H], d θ ={d θ1 ,d θ2 ,...,d θH}, where d θ1 =0, thus,
[0135] vector
[0136] Vector q θ All q θh The vector composed of h∈[1,H], q θ = {q θ1 ,q θ2 ,...,q θH};
[0137] Vector n θ is all n θh The vector composed of h∈[1,H], n θ ={n θ1 ,n θ2 ,...,n θH};
[0138]
[0139] e θh The calculation formula represents the total completion time of all the predecessor workpieces of the workpiece group using mold h in the θth stage without calculating the total completion time;
[0140] It represents the sum of the total completion time of all the predecessor workpieces that are not calculated for the workpiece group using each mold in the θth stage;
[0141] The initial conditions, recursive expressions and objective functions of the dynamic programming are as follows:
[0142] ① Initial conditions:
[0143] θ = 0;
[0144]
[0145] f0(q 01 ,q 02 ,...,q 0H ) represents the total completion time, when q 01 ,q 02 ,...,q 0H are all equal to 0, that is, when the workpiece has not been assigned to the machine, the value of the total completion time is 0;
[0146] ②Recursive expression:
[0147]
[0148] The total completion time up to each stage is equal to the cumulative total completion time of the previous stage plus the total completion time of the current stage;
[0149] in It represents the sum of the completion time before the workpiece group using each mold in the θth stage multiplied by the number of workpieces;
[0150] ③Objective function:
[0151] Minf m (N)
[0152] The vector N in the objective function represents the vector q when reaching the final stage θ A vector in which all elements in reach their maximum value, reaching the final stage represents that the stage θ reaches its maximum value m;
[0153] The goal is to minimize the total completion time for machining all workpieces on all machines.
[0154] Further, according to the initial conditions, recursive expressions and objectives of the dynamic programming method, the output results and scheduling scheme are generated as follows: After running the above dynamic programming, the stage variable n can be output θh and q θh We associate the stage θ with the machine sequence one by one, that is, θ = 1 represents the first machine, n θh is the number of workpieces using h molds allocated on the θ machine, that is, the number of workpieces of each mold allocated on each machine is n θh It can be seen that these workpieces that are grouped by the same mold are sorted and scheduled according to the scheduling rule process described in the present invention. Each time the workpiece mold is switched, the preparation time s corresponding to the mold needs to be added. h The output is the stage variable n θh and total completion time value, and the results are presented in the form of a Gantt chart.
[0155] Using the model disclosed in Example 1 and the dynamic programming algorithm, the processing process of a factory is calculated as follows:
[0156] The example takes 4 types of molds, 2 machines and 25 workpieces.
[0157] Example description: m=2, H=4.
[0158] The set of preparation times for the four molds is s = {6, 3, 8, 5}.
[0159] The processing time set of the four molds is p = {11, 18, 15, 13}.
[0160] The set of workpiece quantities of the four types of molds is N = {7, 8, 6, 4}.
[0161] Use Python to run the code of this dynamic programming algorithm on a personal laptop with an Apple M2 CPU and 16GB of memory, and get the solution: n 11 =7,n 12 =6,n 13 =0,n 14 =0,n 21 =0,n 22 =2,n 23 =6,n 24 =4, the optimal value of total completion time is f2(7,8,6,4)=2469, and the time unit is min.
[0162] By θh The value of the solution is based on a θh The calculation formula for a 11 =11.857,a 12 =18.5,a 22 =19.5,a 23 =16.333,a 24 =14.25. Therefore, according to the scheduling on each machine, θh According to the rule of sorting the values from small to large, we can get the following scheduling scheme:
[0163] Machine 1:
[0164] Die 1: 7 workpieces, Die 2: 6 workpieces;
[0165] Machine 2:
[0166] Die 4: 4 workpieces, Die 3: 6 workpieces, Die 2: 2 workpieces.
[0167] Then add the preparation time s of each mold before the first workpiece is processed h, we can get the final scheduling solution. The example generates a scheduling solution as Figure 1 shown.
[0168] Taking the optimal solution machine 1 as an example, explain e θh ,
[0169] There are two parts that make up the total completion time of a workpiece on each machine.
[0170] Δ θh , if we take mold 2 as an example, that is, here e 12 , whose value is the total completion time of the workpiece group without calculating the total completion time of all predecessor workpieces, and only calculating the total completion time of the workpiece group, that is, (s2+p2)+(s2+2p2)+(s2+3p2)+(s2+4p2)+(s2+5p2)+(s2+6p2), which can be obtained according to the arithmetic progression summation formula
[0171] Here Its value is the sum of the total completion time of each workpiece group without calculating all the predecessor workpieces, that is, e 11 +e 12 +e 13 +e 14 .
[0172] Here Its value is the sum of the completion time of the previous workpiece group of each mold in the θth stage multiplied by the number of workpieces, and only the part before each workpiece group is calculated. In machine 1, there are 2 groups of workpieces. The workpiece group of mold 1 is the workpiece group completed before the workpiece group of mold 2, and the number of workpieces in the workpiece group of mold 2 is 6. The completion time of the workpiece group of mold 1 is s1+7p1=6+7×11=83. The workpiece group of mold 2 is the last workpiece group on machine 1, that is, it is not the workpiece group before any workpiece group. The completion time of the workpiece group of mold 2 is s2+6p2=3+6×18=111, so The value is 83×6+111×0=498.
Claims
1. A mixed integer programming model for parallel machine scheduling considering die change, characterized in that The establishment of the model includes the following processes: Step 1: First, collect relevant data of the production workshop, including the number of workpieces, the number of machines, the number of mold types, the processing time and preparation time of each workpiece; Define the symbols of parameters and variables used in the specific model, and the corresponding index, set, parameter and variable symbol definitions: i,j – index of the artifact; k – index of the machine; h——index of mold type; n – the number of workpieces; m – the number of machines; N – the set of artifacts; M – a collection of machines; N0 - the set of artifacts including virtual artifacts, subscript 0 is the index of the virtual artifact; H——number of mold types; p j ——processing time of workpiece j; s j ——preparation time of workpiece j; C j ——Completion time of workpiece j; V——auxiliary large constant; Step 2: Construct the objective function, whose expression is shown in formula (1): The objective function of formula (1) represents minimizing the sum of the completion times of all workpieces; Step 3: Create the following constraint formula st Constraint formula (2): Each workpiece k must have a unique predecessor workpiece on a certain machine, that is, each workpiece can only have one predecessor workpiece; Constraint formula (3): If workpiece j is processed on machine k, then workpiece j must have a predecessor workpiece on machine k, and the predecessor workpiece includes a virtual workpiece, thereby ensuring the corresponding relationship between the workpiece and the machine; Constraint formula (4): If workpiece i is processed on machine k, the predecessor workpiece selection of all other workpieces j on machine k must satisfy uniqueness, that is, the predecessor workpiece allocation of workpiece i on machine k will not conflict with other workpieces; Constraint formula (5): On each machine, the virtual workpiece can only be assigned to one workpiece to ensure that the virtual workpiece does not participate in the actual processing sequence; Constraint formula (6): used to determine whether workpiece i and workpiece j use the same model. If Δ ij =1, it means they use the same tool, otherwise they do not use the same tool; Constraint formula (7): Predecessor relationship timing constraint: If workpiece i is completed before workpiece j, then the completion time C of workpiece j is j At least C i Processing time p for multiple workpieces k j , and the preparation time of workpieces using different molds needs to be considered.
2. A dynamic programming algorithm for a mixed integer programming model for parallel machine scheduling considering die change as claimed in claim 1, characterized in that The process includes: S1: Determine the processing sequence scheduling rules for the workpieces processed on each parallel machine in each stage; S2: using a dynamic programming algorithm, allocating the number of workpieces to be processed on each machine for "workpieces using various molds", constructing the initial conditions, recursive expressions and objective function of the dynamic programming, wherein the objective function is to minimize the total completion time of processing all workpieces on all machines; First, collect relevant data of the production workshop, including the number of types of molds, the preparation time and processing time of workpieces using various molds, and the number of workpieces using various molds; H——number of mold types; s h - Preparation time for using mold h workpiece; p h ——The processing time of the workpiece using mold h; N h ——The number of workpieces using mold h; θ——stage number, θ is the iterative stage in dynamic programming, the total number of stages is the number of machines m, and the completion of all stage iterations means that all machines are allocated; q θh ——The number of workpieces that have been allocated to the workpieces using mold h up to stage θ, and the number of workpieces to be processed is N h -q h ; n θh ——The number of workpieces allocated among the workpieces using mold h in stage θ; n θ ——n θh The set when h takes the value 1-H; n θ ={n θh |h∈[1,H]} In the scheduling rules of each stage described in step S1, the scheduling rules are: 1) Record the number of workpieces assigned to all types of molds in each stage, where the number of workpieces assigned to mold h in the θth stage is recorded as n θh ; 2) Calculate a for all types of molds at each stage θh The value of When n θh = 0, a θh Does not exist, otherwise calculate a according to the following formula θh : a θh It is a parameter reflecting the processing time used for workpiece sorting; a θ(h) Yes Press a θh a after sorting in descending order θh ; n θ(h) Yes Press a θ(h) The number of sorted artifacts; 3) All kinds of mold workpieces in each stage are divided into the same group according to the tools of the same mold, and then divided into the same group according to a h The values of are sorted from small to large, that is, these workpieces are arranged in groups from front to back, a (h) Yes Press a h a after sorting in descending order h .
3. A dynamic programming algorithm for a mixed integer programming model for parallel machine scheduling considering die change as claimed in claim 2, characterized in that Construct the following vector: Vector d θ Yes all θh The vector composed of h∈[1,H], d θ ={d θ1 ,d θ2 ,...,d θH }, where d θ1 =0, thus, vector Vector q θ All q θh The vector composed of h∈[1,H], q θ = {q θ1 ,q θ2 ,...,q θH }; Vector n θ is all n θh The vector composed of h∈[1,H], n θ ={n θ1 ,n θ2 ,...,n θH }; e θh The calculation formula represents the total completion time of all the predecessor workpieces of the workpiece group using mold h in the θth stage without calculating the total completion time; It represents the sum of the total completion time of all the predecessor workpieces that are not calculated for the workpiece group using each mold in the θth stage; The initial conditions, recursive expressions and objective functions of the dynamic programming are as follows: ① Initial conditions: θ = 0; f0(q 01 ,q 02 ,...,q 0H ) represents the total completion time, when q 01 ,q 02 ,...,q 0H are all equal to 0, that is, when the workpiece has not been assigned to the machine, the value of the total completion time is 0; ②Recursive expression: The total completion time up to each stage is equal to the cumulative total completion time of the previous stage plus the total completion time of the current stage; in It represents the sum of the completion time before the workpiece group using each mold in the θth stage multiplied by the number of workpieces; ③Objective function: My f m (N) The vector N in the objective function represents the vector q when reaching the final stage θ A vector in which all elements in reach their maximum value, reaching the final stage represents that the stage θ reaches its maximum value m; The goal is to minimize the total completion time for machining all workpieces on all machines.
4. A dynamic programming algorithm for a mixed integer programming model for parallel machine scheduling considering die change as claimed in claim 3, characterized in that Based on the initial conditions, recursive expressions and objectives of the dynamic programming method, the output results and scheduling scheme are generated as follows: After running the above dynamic programming, the stage variable n can be output θh and q θh We associate the stage θ with the machine sequence one by one, that is, θ = 1 represents the first machine, n θh is the number of workpieces using h molds allocated on the θ machine, that is, the number of workpieces of each mold allocated on each machine is n θh It can be seen that these workpieces formed by the same mold are sorted and scheduled according to the scheduling rule process described in claim 2. Each time the workpiece mold is switched, the preparation time s corresponding to the mold needs to be added. h The output is the stage variable n θh and total completion time value, and the results are presented in the form of a Gantt chart.
Citation Information
Patent Citations
Intermediate product scheduling method in discrete manufacturing mode
CN116795054A
Method and device for solving multi-process job scheduling problem considering collaborative robot
CN117057551A
Cited By
Automatic rapid-calculation bending method for bending die library
CN121029754A