Optimized scheduling method and system for distributed heterogeneous prefabricated part flow shop
By constructing a constraint planning model and a hybrid linear integer planning model, iteratively solves the problem that is difficult to quickly converge and answer in the existing technology, and achieves the effect of obtaining the optimal prefabricated component production scheduling scheme within the time limit.
Patent Information
- Application Number
- CN202510069882.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-16
- Publication Date
- 2025-05-16
AI Technical Summary
The prior art cannot quickly converge the solution, making it difficult to obtain the optimal prefabricated component production scheduling solution within the time limit.
The optimization scheduling method of the distributed heterogeneous prefabricated component flow workshop is adopted. By constructing a constraint planning model and a hybrid linear integer planning model, iteratively solves it to reduce the upper and lower bound differences to obtain the optimal scheduling scheme.
Obtaining a better scheduling solution in a short time will improve the solution efficiency and model accuracy, and ensuring the feasibility and optimization of the solution.
Smart Images

Figure CN120012986A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of hybrid assembly line analysis, and in particular relates to an optimization scheduling method and system for a distributed heterogeneous prefabricated component assembly line workshop. Background Art
[0002] With the rapid development of information technology and the continuous changes in consumption patterns, distributed manufacturing has become the future development trend of the manufacturing industry. Against the backdrop of increasing economic globalization, market competition has become increasingly fierce. In order to reduce transportation costs and achieve personalized customization based on consumer preferences, more and more manufacturers are beginning to adopt distributed production models.
[0003] Prefabricated buildings are a new type of construction method based on industrialized production. Its main feature is that components (such as wall panels, balconies, stairs, etc.) are prefabricated in factories and assembled and spliced on the construction site. Compared with traditional cast-in-place construction, prefabricated buildings have significant advantages such as fast construction speed, stable quality, energy saving and environmental protection, and can effectively reduce construction waste and environmental pollution on the construction site. In addition, prefabricated buildings emphasize standardized design and modular production, which helps to improve the production efficiency and sustainability of buildings. Because prefabricated buildings conform to the concept of green buildings, they have received more and more attention. However, the development of prefabricated buildings is still facing various challenges, one of which is the complexity of prefabricated component production scheduling. Because the current precise algorithm solution is inefficient, and the heuristic algorithm cannot measure the quality of the obtained scheduling plan, the current production scheduling of prefabricated components still relies on experience and manual arrangement. This leads to the problem of unreasonable scheduling when the scheduling situation is complicated, resulting in reduced production efficiency and increased production costs.
[0004] The production process of prefabricated components mainly includes six processes: mold assembly, steel bar embedding, concrete pouring, steam curing, mold removal, and defect repair. Steam curing is a parallel process, and multiple prefabricated components can be processed at one time. The remaining processes are serial processes, and only one prefabricated component can be processed at the same time. Because the cost of the pouring machine is relatively high, usually two or more production lines in a factory share one pouring machine.
[0005] This problem can be described as follows: there are a set of J orders, which need to be assigned to a set of F factories for processing. Each factory has two or three production lines, and all production lines in each factory share a casting machine. Because the machines in different factories are different, the processing time for the same process of the same order in different factories is also different. The same factory has multiple production lines, and the machines on each production line are the same. Therefore, the processing time for the same process of the same order on different production lines in the same factory is the same. The order needs to go through six processes: mold assembly, pre-embedded steel bars, concrete pouring, steam curing, mold removal, and defect repair. Among them, steam curing is a parallel process, and multiple orders can be processed at the same time. The remaining processes are serial processes, and only one order can be processed at the same time. In order to enable manufacturers to complete production tasks as soon as possible, the optimization goal is to minimize the maximum completion time.
[0006] The above problem requires the following conditions to be met: all processes are available at time zero; each order contains only one job; the buffer between each machine is large enough; the preparation time of the job is negligible; all production lines in each factory share one casting machine.
[0007] In the existing methods, the production scheduling problem of prefabricated components can be solved by constructing a mixed integer linear programming model or a constraint programming model and then using commercial solvers such as Gurobi or CPLEX. However, due to the complexity of the distributed heterogeneous flow shop problem, the existing methods cannot quickly converge the solution, so it is difficult to obtain a satisfactory scheduling solution within the time limit. Summary of the invention
[0008] The purpose of the present invention is to overcome the problem that the existing methods cannot quickly converge the solution, resulting in difficulty in generating an optimal scheduling solution within the time limit, and to provide an optimization scheduling method and system for a distributed heterogeneous prefabricated component assembly line.
[0009] In order to achieve the above object, the present invention adopts the following technical solution: The present invention provides an optimization scheduling method for a distributed heterogeneous prefabricated component assembly line workshop, comprising the following steps: S1: Collect production data; S2: construct a constraint programming model DHPPFSP_CP with the goal of minimizing the maximum completion time, solve the constraint programming model DHPPFSP_CP based on the collected production data, obtain the minimized maximum completion time, and use the minimized maximum completion time as the initial upper bound; S3: constructing a MILP model with minimum completion time as the goal, solving the MILP model based on the collected production data, obtaining the minimum completion time, and using the minimum completion time as the initial lower bound; S4: Determine the difference between the initial upper bound and the initial lower bound. If the difference is less than or equal to 0, output the result as the optimal scheduling optimization method; if the difference is greater than 0, proceed to the next step; S5: Construct a hybrid linear integer programming model AMP_SSR, solve the linear integer programming model AMP_SSR based on the collected production data, obtain the assignment scheme of orders to factories and the new minimum completion time, and use the new minimum completion time as the lower bound of this iteration; S6: Construct a constraint programming model SSP_CP, solve the constraint programming model SSP_CP based on the assignment scheme of orders to factories, obtain a new minimized maximum completion time, and use the new minimized maximum completion time as the upper bound of this iteration; S7: adding a cut constraint to the mixed linear integer programming model AMP_SSR according to the upper bound value to obtain a new mixed linear integer programming model AMP_SSR, and executing S5 based on the new mixed linear integer programming model AMP_SSR; S8: Calculate the difference between the new upper bound and the new lower bound. If the difference is less than or equal to 0, output the result as the optimal scheduling optimization method; if the difference is greater than 0, return to S6.
[0010] The collected production data includes the number of factories, the number of orders, the number of processes, the processing time of each process of an order in different factories, and the number of production lines in each factory.
[0011] The constraint programming model DHPPFSP_CP is constructed with the goal of minimizing the maximum completion time. The constraint programming model DHPPFSP_CP is solved based on the collected production data to obtain the minimized maximum completion time. In the step of taking the minimized maximum completion time as the initial upper bound, the objective function of the constructed constraint programming model DHPPFSP_CP is as follows: (1) (15) Among them, J represents the number of orders, j represents each order, S represents the number of processes, represents the completion time of order j.
[0012] In the step of constructing a MILP model with the minimum completion time as the target, solving the MILP model based on the collected production data to obtain the minimum completion time, and taking the minimum completion time as the initial lower bound, the method for calculating the minimum completion time is: Construct a MILP_LB3 model with the goal of processing only the third stage of the order, calculate the solution of the MILP_LB3 model based on the production data of the third stage, and obtain the target value ; Calculate the minimum value of the sum of the first and second stage processing time, and the minimum value of the sum of the fourth, fifth and sixth stage processing time for each factory; Add the minimum value of the sum of the processing time of the first and second stages to the minimum value of the sum of the processing time of the fourth, fifth, and sixth stages, and record it as ; Calculate the Each factory And compare and find the smallest one , the smallest With target value Add them together to get the minimum completion time.
[0013] The hybrid linear integer programming model AMP_SSR is constructed, and the linear integer programming model AMP_SSR is solved based on the collected production data to obtain the assignment scheme of orders to factories and the new minimum completion time, and the new minimum completion time is used as the lower bound of this iteration. In the step, the objective function of the hybrid linear integer programming model AMP_SSR constructed is as follows: (twenty one) (twenty two) The model is enhanced by adding inequalities as follows:
[0014] Among them, equations (21) and (22) indicate that the objective function is to minimize the maximum completion time of an order. is the completion time of order j in stage s. The inequality indicates that the maximum completion time of a job is greater than or equal to the sum of the completion times of each stage in each factory.
[0015] The objective function constraints of the hybrid linear integer programming model AMP_SSR are as follows: (twenty three) (twenty four) (25) Among them, formula (23) ensures that the completion time of the first process of the order shall not be less than the time required for the processing of the first process of the order; is the time required for order j to be processed at the sth stage in factory f, It represents the cumulative sum of all processing times of all factories in the workpiece. is a binary variable, equal to 1 if order j is assigned to plant f, and 0 otherwise; Formula (24) ensures that the start processing time of an order shall not be earlier than the completion time of the previous process of the order; Formula (25) indicates that orders must be assigned to factories, and one order can only be assigned to one factory.
[0016] The hybrid linear integer programming model AMP_SSR is constructed, the linear integer programming model AMP_SSR is solved based on the collected production data, the assignment scheme of the orders to the factories and the new minimum completion time are obtained, and the new minimum completion time is used as the lower bound of this iteration. In the step of using the new minimum completion time as the lower bound of this iteration, the condition of using the new minimum completion time as the lower bound of this iteration is as follows: If the new minimum completion time is greater than the initial lower bound, the new minimum completion time is used as the lower bound of this iteration; otherwise, the lower bound is not updated.
[0017] In the step of constructing the constraint programming model SSP_CP, solving the constraint programming model SSP_CP based on the assignment scheme of the orders to the factories, obtaining a new minimized maximum completion time, and taking the new minimized maximum completion time as the upper bound of this iteration, the objective function of the constraint programming model SSP_CP is as follows: (36) (45) in, is the maximum completion time of factory f.
[0018] The cut constraint is added to the mixed linear integer programming model AMP_SSR according to the upper bound value to obtain a new mixed linear integer programming model AMP_SSR. In the step of executing S5 based on the new mixed linear integer programming model AMP_SSR, the cut constraint added is: (46) in is a binary variable, which is 1 if order j is assigned to factory f and 0 otherwise; is the maximum completion time of factory f in the hth iteration, is the set of orders assigned to factory f in the hth iteration.
[0019] An optimization scheduling system for a distributed heterogeneous prefabricated component assembly line workshop, comprising: Collection module, used to collect production data; A DHPPFSP_CP model construction module is used to construct a constraint programming model DHPPFSP_CP with the goal of minimizing the maximum completion time, solve the constraint programming model DHPPFSP_CP based on the collected production data, obtain the minimized maximum completion time, and use the minimized maximum completion time as the initial upper bound; The MILP model building module is used to build a MILP model with the minimum completion time as the target, solve the MILP model based on the collected production data, obtain the minimum completion time, and use the minimum completion time as the initial lower bound; The first judgment module is used to judge the difference between the initial upper bound and the initial lower bound. If the difference is less than or equal to 0, the result is output as the optimal scheduling optimization method; if the difference is greater than 0, the next step is performed; AMP_SSR model construction module is used to construct a hybrid linear integer programming model AMP_SSR. Based on the collected production data, the linear integer programming model AMP_SSR is solved to obtain the assignment scheme of orders to factories and the new minimum completion time. The new minimum completion time is used as the lower bound of this iteration. The SSP_CP model building module is used to build the constraint programming model SSP_CP, solve the constraint programming model SSP_CP based on the assignment scheme of orders to factories, obtain the new minimized maximum completion time, and use the new minimized maximum completion time as the upper bound of this iteration; A cut constraint module is used to add a cut constraint to the mixed linear integer programming model AMP_SSR according to the upper bound value to obtain a new mixed linear integer programming model AMP_SSR, and execute S5 based on the new mixed linear integer programming model AMP_SSR; The second judgment module is used to calculate the difference between the new upper bound and the new lower bound. If the difference is less than or equal to 0, the result is output as the optimal scheduling optimization method; if the difference is greater than 0, it returns to S6.
[0020] Compared with the prior art, the present invention has the following beneficial effects: The present invention provides an optimization scheduling method and system for a distributed heterogeneous prefabricated parts assembly line, comprising the following steps: S1: collecting production data; S2: constructing a constraint programming model DHPPFSP_CP with the goal of minimizing the maximum completion time, solving the constraint programming model DHPPFSP_CP based on the collected production data, obtaining the minimized maximum completion time, and using the minimized maximum completion time as an initial upper bound; S3: constructing a MILP model with the minimum completion time as a goal, solving the MILP model based on the collected production data, obtaining the minimum completion time, and using the minimum completion time as an initial lower bound; S4: judging the difference between the initial upper bound and the initial lower bound, if the difference is less than or equal to 0, outputting the result as an optimal scheduling optimization method; if the difference is greater than 0, proceeding to the next step; S5: constructing a mixed linear integer programming model AMP_SSR, Solve the linear integer programming model AMP_SSR based on the collected production data to obtain the assignment plan for allocating orders to factories and the new minimum completion time, and use the new minimum completion time as the lower bound of this iteration; S6: Construct the constraint programming model SSP_CP, solve the constraint programming model SSP_CP based on the assignment plan for allocating orders to factories, obtain the new minimized maximum completion time, and use the new minimized maximum completion time as the upper bound of this iteration; S7: Add cut constraints to the mixed linear integer programming model AMP_SSR according to the upper bound value to obtain a new mixed linear integer programming model AMP_SSR, and execute S5 based on the new mixed linear integer programming model AMP_SSR; S8: Calculate the difference between the new upper bound and the new lower bound. If the difference is less than or equal to 0, output the result as the optimal scheduling optimization method; if the difference is greater than 0, return to S6. The present invention adds a method for obtaining an initial upper bound and an initial lower bound. By constructing an AMP_SSR model and an SSP_CP model, an iterative solution is continuously performed to reduce the difference between the new upper bound and the lower bound, and an optimal scheduling solution is obtained. A better scheduling solution can be obtained in a relatively short time.
[0021] Furthermore, the AMP_SSR model is enhanced in the present invention to improve the model precision and accuracy, enhance the model robustness, and improve the solution efficiency.
[0022] Furthermore, cut constraints are added to ensure that the solution obtained during the solution process meets specific constraints, thereby improving the feasibility of the solution and eliminating those solutions that cannot achieve a better solution, thereby significantly narrowing the search space and reducing unnecessary calculations and resource consumption. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] Figure 1 It is a flow chart of the present invention; Figure 2 It is a module diagram of the present invention; Table 1 shows the comparison of MILP, CP, and UL_LBBD_SSR on a small-scale instance; Table 2 shows the comparison of the gaps obtained by MILP, CP, and UL_LBBD_SSR on medium-scale or large-scale instances; Table 3 shows the results of MILP, CP, and UL_LBBD_SSR on medium-scale or large-scale instances. 1. Contrast Table 4 shows the results of MILP, CP, and UL_LBBD_SSR on medium-scale or large-scale instances. 1. Contrast Table 5 shows the comparison of the five methods on a small-scale instance; Table 6 compares the gaps obtained by the five methods on medium-scale or large-scale instances. DETAILED DESCRIPTION
[0024] In order to further understand the content of the present invention, the present invention is described in detail below in conjunction with the accompanying drawings and specific embodiments. It should be understood that the embodiments are only for explaining the present invention and are not intended to limit it.
[0025] Example 1 like Figure 1 As shown, a method for optimizing the scheduling of a distributed heterogeneous prefabricated component assembly line comprises the following steps: S1: Collect production data; S2: construct a constraint programming model DHPPFSP_CP with the goal of minimizing the maximum completion time, solve the constraint programming model DHPPFSP_CP based on the collected production data, obtain the minimized maximum completion time, and use the minimized maximum completion time as the initial upper bound; S3: constructing a MILP model with minimum completion time as the target, solving the MILP model based on the collected production data, obtaining the minimum completion time, and using the minimum completion time as the initial lower bound; S4: Determine the difference between the initial upper bound and the initial lower bound. If the difference is less than or equal to 0, output the result as the optimal scheduling optimization method; if the difference is greater than 0, proceed to the next step; S5: Construct a hybrid linear integer programming model AMP_SSR, solve the linear integer programming model AMP_SSR based on the collected production data, obtain the assignment scheme of orders to factories and the new minimum completion time, and use the new minimum completion time as the lower bound of this iteration; S6: Construct a constraint programming model SSP_CP, solve the constraint programming model SSP_CP based on the assignment scheme of orders to factories, obtain a new minimized maximum completion time, and use the new minimized maximum completion time as the upper bound of this iteration; S7: adding a cut constraint to the mixed linear integer programming model AMP_SSR according to the upper bound value to obtain a new mixed linear integer programming model AMP_SSR, and executing S5 based on the new mixed linear integer programming model AMP_SSR; S8: Calculate the difference between the new upper bound and the new lower bound. If the difference is less than or equal to 0, output the result as the optimal scheduling optimization method; if the difference is greater than 0, return to S6.
[0026] Specifically, in S1, the collected production data includes the number of factories, the number of orders, the number of processes, the processing time of each process of an order in different factories, and the number of production lines in each factory.
[0027] The production process of prefabricated components mainly includes six processes: mold assembly, steel bar embedding, concrete pouring, steam curing, mold removal, and defect repair. Steam curing is a parallel process, and multiple prefabricated components can be processed at one time. The remaining processes are serial processes, and only one prefabricated component can be processed at the same time. Because the cost of the pouring machine is relatively high, usually two or more production lines in a factory share one pouring machine.
[0028] The scheduling problem is decomposed into the main problem AMP and the sub-problem SSP. The main problem AMP is the assignment problem of orders to factories, and the sub-problem SSP is to assign orders within the factory to specific production lines and determine the production sequence on the production line.
[0029] Specifically, in S2, the established constraint programming model is recorded as DHPPFSP_CP, and DHPPFSP_CP is as follows: (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) . (13) (14) (15) in is the number of orders, S is the number of processes, is the number of factories. is a collection of orders, . is the index of the factory, is the index of the order. is a collection of factories, . is the number of production lines in factory f. is the set of numbers of production lines in factory f, . is the time required for order j to be processed at the sth stage in factory f.
[0030] In the above formula, equation (1) and constraint (15) define the objective function; constraints (2)-constraint (4) define interval variables; constraint (5) ensures that each order is assigned to a factory, and an order can only be assigned to one factory; constraints (6) and constraints (7) ensure that all processes of each job are completed in the same factory; constraint (8) ensures that the order is assigned to the production line; constraint (9) ensures that, except for the first process, the order can only start the next process after the previous process is completed; constraint (10) ensures that, except for the fourth stage (steam maintenance), each machine can only process one order at a time; constraint (11) ensures that in the same factory, only one order can be processed at the same time in the third stage; constraints (12) and (13) ensure that the jobs are processed in the same order on all machines on a production line; constraint (14) ensures that all processes of each job are assigned to the same production line.
[0031] The specific steps of S2 are as follows: S201: Set the time to solve the constraint programming model DHPPFSP_CP S202: Use the solver to solve the constraint programming model DHPPFSP_CP to obtain the maximum completion time in minimization, and use the obtained minimized maximum completion time as the initial upper bound, recorded as UB.
[0032] Specifically, in S3, assuming that the order only needs to process the third stage, a MILP model is constructed and solved using the solver. The model is named MILP_LB3. It is shown below: (16) (17) (18) (19) (20) in is the completion time of order j in stage s. The time required for order j to be processed in the third stage in factory f. is a binary variable, which is 1 if order j is assigned to factory f and 0 otherwise.
[0033] After solving the MILP_LB3 model using the solver, we get Finally, find the part with the smallest sum of the first and second stage processing time of all orders in each factory, as well as the minimum sum of the fourth, fifth and sixth stage processing time and sum them together. Add them together as the estimated minimum value. As shown in the following formula:
[0034] prove:
[0035] Assume that workpiece b is the last workpiece to start the third stage of processing in the factory that was completed the latest, and workpiece a is the first workpiece to start the third stage of processing in the factory. Represents the completion time of workpiece b Case 1: When a=b When a = b, there is only one job in the factory. Therefore, a = b, and .
[0036] Case 2: When a ≠ b Since the first and second phases are sequential operations, the processing of the third phase of job a must be completed before that of job b. Therefore, the earliest time that job b starts the third phase of processing must be later than the sum of the processing times of job a in the first and second phases. Therefore, we have , .
[0037] according to The definition of ,therefore , constrain Add entry question.
[0038] S3 includes the following steps: S301: constructing a MILP_LB3 model with the goal of processing only the third stage of the order, calculating the solution of the MILP_LB3 model based on the production data of the third stage, and obtaining the target value LB3; S302: Assuming that each factory is assigned all workpieces, find the factory The workpiece with the shortest sum of the first and second stage processing time is recorded as workpiece ; Find the workpiece with the shortest sum of the fourth, fifth, and sixth stage processing times in factory f, and record it as workpiece ; S303: The workpiece The sum of the first and second stages and the workpiece The sum of the processing time of the fourth, fifth and sixth stages of factory f is recorded as .
[0039] S305: Calculate the , find the smallest one and with Add them together as the estimated initial lower bound, denoted as , as the minimum completion time.
[0040] Specifically, in S5, a mixed linear integer programming model is used to solve the main problem AMP, and a scheduling scheme for allocating orders to factories is obtained. The mixed linear integer programming model is named mixed linear integer programming model AMP_SSR. AMP_SSR is as follows: (twenty one) (twenty two) (twenty three) (twenty four) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) in is the completion time of order j at stage s, is a binary variable, equal to 1 if order j is processed before order k, and 0 otherwise. is a binary variable, which equals 1 if order j is assigned to production line l in factory f and 0 otherwise. is a binary variable that equals 1 if order j is assigned to plant f and 0 otherwise. and It is an auxiliary variable, M represents an integer large enough to be the value of the cumulative sum of all processing times of all factories in the workpiece.
[0041] Formula (21) and (22) indicate that the objective function is to minimize the maximum completion time of an order. Formula (23) ensures that the completion time of the first process of an order shall not be less than the time required for the first process of the order. Formula (24) ensures that the start processing time of an order shall not be earlier than the completion time of the previous process of the order. Formula (25) indicates that orders must be assigned to factories, and an order can only be assigned to one factory. In addition, by adding the inequality
[0042] The above inequality indicates that the maximum completion time of a workpiece is greater than or equal to the sum of the first and second stage processing times of the workpiece with the shortest first and second stage processing time in each factory, plus the sum of the third stage processing time of all workpieces in the factory, plus the sum of the fifth and sixth stage processing time of the workpiece with the shortest fifth and sixth stage processing time in the factory, and finally the time required for the fourth stage processing of the workpiece in factory f. Because the processing time of all workpieces in the fourth stage (steam curing stage) is the same, we use To express.
[0043] To strengthen the main problem, the inequality is linearized to obtain equations (27)-(33).
[0044] (26), (34), and (35) define decision variables.
[0045] S5 includes the following steps: S501: Set the solution time of the main problem S502: Solve the model AMP_SSR using a solver; S502: Determine whether the lower bound obtained by solving the model AMP_SSR is greater than the lower bound LB, and if so, update the lower bound; Specifically, in S6, a constraint programming model is used to solve the subproblem SSP. We name this constraint programming model SSP_CP.
[0046] The SSP_CP is shown below: (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) in is the maximum completion time of factory f. is the set of orders assigned to factory f. It is a collection of processes. is the set of production lines in factory f.
[0047] Equation (36) and constraint (45) define the objective function, and equations (37) and (38) are decision variables. Constraint (39) ensures that all orders are assigned to production lines. Constraint (40) indicates that, except for the first process, an order can only enter the next process after the previous process is completed. Constraint (41) ensures that, except for the fourth stage (steam maintenance), each machine can only process one order at a time. Constraint (42) ensures that in the same factory, only one order can be processed at the same time in the third stage. Constraints (43) and (44) ensure that each job is assigned to only one production line for processing.
[0048] This constraint programming model is used to solve the minimum maximum completion time in a single factory. So if there are f factories, the constraint programming model will be run f times in one iteration to calculate the minimum maximum completion time of each factory. The minimum maximum completion time of the factory that completes the latest is the upper bound.
[0049] The specific steps of S6 are as follows: S601: Decision variables obtained from solving the model AMP_SSR in S6 in this iteration The value of determines the assignment scheme of the workpieces to the factories in this iteration, and uses the solver to solve the minimum maximum completion time allowed by the model SSP_CP for each factory; S602: Taking the minimized maximum completion time of the factory with the latest completion time as the upper bound obtained in this iteration; S603: Compare the upper bound obtained in this iteration with the initial upper bound UB, and if it is smaller than UB, update the upper bound.
[0050] Specifically, the cut constraint used in S7 is (46) in is a binary variable, which is 1 if order j is assigned to factory f and 0 otherwise. is the maximum completion time of factory f in the h-th iteration, obtained by solving the subproblem SSP in the h-th iteration. is the set of orders assigned to factory f in the h-th iteration, obtained by solving the main problem AMP in the h-th iteration.
[0051] Each factory adds a cut, so in fact a set of cuts is added.
[0052] Proof of the effectiveness of cutting: Representative Assigned to the factory in iterations A collection of orders. Representative in the Assigned to the factory in iterations The order collection of The iteration occurs at After iterations. Representative Factory In the The maximum completion time in iterations. Representative Factory In the The maximum completion time in the iteration. Assume that Assigned to the factory in iterations Order collection .
[0053] Case 1: When hour, and are completely equal. In the In the iteration, Cut is equivalent to , so the cut is valid.
[0054] Case 2: When This means and Not exactly equal, .therefore , .because So in this case the cut inequality in S8 must hold.
[0055] Therefore, the cut in s8 is valid.
[0056] Therefore, since there are f factories, f cuts are generated and added to the main problem AMP.
[0057] Example 2 An optimization scheduling system for a distributed heterogeneous prefabricated component assembly line workshop, comprising: Collection module, used to collect production data; A DHPPFSP_CP model construction module is used to construct a constraint programming model DHPPFSP_CP with the goal of minimizing the maximum completion time, solve the constraint programming model DHPPFSP_CP based on the collected production data, obtain the minimized maximum completion time, and use the minimized maximum completion time as the initial upper bound; The MILP model building module is used to build a MILP model with the minimum completion time as the target, solve the MILP model based on the collected production data, obtain the minimum completion time, and use the minimum completion time as the initial lower bound; The first judgment module is used to judge the difference between the initial upper bound and the initial lower bound. If the difference is less than or equal to 0, the result is output as the optimal scheduling optimization method; if the difference is greater than 0, the next step is performed; AMP_SSR model construction module is used to construct a hybrid linear integer programming model AMP_SSR. Based on the collected production data, the linear integer programming model AMP_SSR is solved to obtain the assignment scheme of orders to factories and the new minimum completion time. The new minimum completion time is used as the lower bound of this iteration. The SSP_CP model building module is used to build the constraint programming model SSP_CP, solve the constraint programming model SSP_CP based on the assignment scheme of orders to factories, obtain the new minimized maximum completion time, and use the new minimized maximum completion time as the upper bound of this iteration; A cut constraint module is used to add a cut constraint to the mixed linear integer programming model AMP_SSR according to the upper bound value to obtain a new mixed linear integer programming model AMP_SSR, and execute S5 based on the new mixed linear integer programming model AMP_SSR; The second judgment module is used to calculate the difference between the new upper bound and the new lower bound. If the difference is less than or equal to 0, the result is output as the optimal scheduling optimization method; if the difference is greater than 0, it returns to S6.
[0058] Example 3 The technical solution proposed in the present invention is compared with the prior art. For the convenience of comparison, we will give the MILP model of the DHPPFSP_SR_MK problem. The MILP model of the DHPPFSP_SR_MK problem is as follows: (47) (48) (49) (50) (51) (52) (53) (54) (55) (56) (57) (58) (59) (60) (61) in is the quantity of the order, is the number of order operations, is the number of factories. is a collection of orders, . is a collection of processes. . is the index of the factory, is the index of the order. is a collection of factories, . is the number of production lines in factory f. is the set of numbers of production lines in factory f, . is the time required to process order j in stage s in factory f. is a sufficiently large integer. is the maximum completion time, is the completion time of job j at stage s. is a binary variable, if order j is processed before order k is 1 if the value is true, otherwise it is 0. is a binary variable that equals 1 if order j is processed on production line l in factory f and 0 otherwise. is a binary variable that equals 1 if order j is assigned to plant f and 0 otherwise.
[0059] Equations (47) and (48) determine that the objective function is to minimize the maximum completion time. Constraints (49) and (50) ensure that the start time of the third stage order in the same factory shall not be earlier than the completion time of the previous order, because the casting machine can only serve one job at any time. Constraints (51) and (52) ensure that on the same production line, except for the third and fourth stages, the start time of each stage order shall not be earlier than the completion time of the previous order. Constraints (53) and (54) ensure that the completion time of an order shall not be earlier than the sum of its start time and processing time. Constraints (55) to (56) ensure that each order must be assigned to a production line and can only be assigned to one production line in a factory. Constraint (57) determines the relationship between the orders in terms of processing sequence, and constraints (59)-(61) stipulate the value range of the decision variables.
[0060] In order to facilitate description and comparison, we will add the method of obtaining the initial upper bound and the initial lower bound to the LBBD algorithm and strengthen the main problem. We will add the method of obtaining the initial upper bound in step S2 to the LBBD algorithm and name it UB_LBBD. We will add the method of obtaining the initial lower bound in step S3 to the LBBD algorithm and name it LB_LBBD. We will add the method of obtaining the initial lower bound in step S2 and the method of obtaining the initial upper bound in step S3 to the LBBD algorithm and name it UL_LBBD.
[0061] To facilitate the solution of the constraint programming model, we generate data based on the production data of a prefabricated component factory that is enlarged tenfold. The processing time of the workpiece in the first, second, third, and fifth stages is generated from a uniform distribution [10,30]; the processing time of the workpiece in the sixth stage is generated from a uniform distribution [5,10]; and the processing time of the workpiece in the fourth stage is fixed to 80. We generate two sets of instances in total. For the small-scale instance, the number of workpieces is set to J={10,15,20,25}, the number of factories F={2,3}, and the number of production lines in the factory L={2,(2,3),3}. Three sets of instances of each scale are generated, totaling 4×2×3×3=72 instances.
[0062] For medium-scale or large-scale instances, the number of workpieces is set to J = {30, 50, 80, 100}, the number of factories F = {2, 3, 5}, and the number of production lines in a factory L = {2, (2, 3), 3}. Three groups of instances of each size are generated, totaling 4 × 3 × 3 × 3 = 108 instances.
[0063] Therefore, we tested a total of 72+108=180 instances. The computational time limit for all instances is 1800 seconds. The CP model that obtains the initial upper bound in small-scale instances runs for 5 seconds, and the CP model that obtains the initial upper bound in medium-scale or large-scale instances is allowed to run for 30 seconds. The main problem AMP and the subproblem SSP are allowed to run for a maximum of 300 seconds in one iteration. At the same time, because MILP, CP, and LBBD_SSR are all exact algorithms, it is not meaningful to repeatedly calculate the same example. Therefore, in order to reduce the error, we run three different sets of examples for each scale problem and then take the average.
[0064] In order to measure the quality of the solution, gap is used as an indicator for comparison. The smaller the gap, the closer the scheduling solution is to the optimal scheduling solution. In order to measure the quality of the upper and lower bounds obtained by the method, ARPD is used as an indicator. The smaller the ARPD, the better the upper or lower bound obtained.
[0065] The relative percentage deviation (RPD) is calculated as follows:
[0066]
[0067] in, represents the best lower bound obtained by seven methods (MILP, CP, LBBD, LB_LBBD, UB_LBBD, UL_LBBD, UL_LBBD_SSR), The lower bounds obtained by the seven methods are shown in Table 1. The average relative percentage deviation of the lower bounds is The calculation formula is as follows:
[0068] represents the best upper bound obtained by seven methods, Represents the lower bounds obtained by seven methods.
[0069] Average relative percentage deviation from upper bound The calculation formula is as follows:
[0070] We first compare the performance of the three methods (MILP, CP, UL_LBBD_SSR) on 72 small-scale instances in terms of the number of optimal solutions (#Opt), average gap, and average computation time. Table 1 provides a summary of the results, where the first column is the abbreviation of the method. The next three columns show the number of instances that obtained the optimal solution within the specified time (#Opt.), the average gap (Gap (%)), and the average computation time (Time (s)). The comparison results of MILP, CP, and UL_LBBD_SSR on medium-scale or large-scale instances are shown in Tables 2, 3, and 4. It can be seen that the performance of UL_LBBD_SSR is much better than the MILP model or the CP model in both small-scale and medium-scale or large-scale instances.
[0071] Table 5 is a comparison of the five methods LBBD, LB_LBBD, UB_LBBD, UL_LBBD, and UL_LBBD_SSR on small-scale instances, and Table 6 is a comparison on medium-scale or large-scale instances. The purpose is to verify the impact of adding the operations of obtaining the initial upper bound, the initial lower bound, and strengthening the main problem to the LBBD algorithm in the present invention on the LBBD algorithm. It can be seen that the Gap values of LB_LBBD and UB_LBBD are smaller than those of the most basic LBBD algorithm. The performance of UL_LBBD is better than that of LB_LBBD and UB_LBBD. The gap value of UL_LBBD_SSR (the improved algorithm of this method) is the smallest among the five methods. This shows that the method of obtaining the initial upper bound in S2 and the initial lower bound in S3 can improve the performance of the algorithm, and strengthening the main problem on this basis can further improve the performance of the algorithm.
[0072] Table 1
[0073] Table 2
[0074] Table 3
[0075] Table 4
[0076] Table 5
[0077] Table 6
[0078] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention rather than to limit it. Although the present invention has been described in detail with reference to the above embodiments, ordinary technicians in the relevant field should understand that the specific implementation methods of the present invention can still be modified or replaced by equivalents. Any modification or equivalent replacement that does not depart from the spirit and scope of the present invention should be covered within the scope of protection of the claims of the present invention.
Claims
1. An optimization scheduling method for a distributed heterogeneous prefabricated component assembly line, characterized in that: The steps include: S1: Collect production data; S2: construct a constraint programming model DHPPFSP_CP with the goal of minimizing the maximum completion time, solve the constraint programming model DHPPFSP_CP based on the collected production data, obtain the minimized maximum completion time, and use the minimized maximum completion time as the initial upper bound; S3: constructing a MILP model with minimum completion time as the goal, solving the MILP model based on the collected production data, obtaining the minimum completion time, and using the minimum completion time as the initial lower bound; S4: Determine the difference between the initial upper bound and the initial lower bound, and if the difference is less than or equal to 0, output the result as the optimal scheduling optimization method; If the difference is greater than 0, proceed to the next step; S5: Construct a hybrid linear integer programming model AMP_SSR, solve the linear integer programming model AMP_SSR based on the collected production data, obtain the assignment scheme of orders to factories and the new minimum completion time, and use the new minimum completion time as the lower bound of this iteration; S6: Construct a constraint programming model SSP_CP, solve the constraint programming model SSP_CP based on the assignment scheme of orders to factories, obtain a new minimized maximum completion time, and use the new minimized maximum completion time as the upper bound of this iteration; S7: adding a cut constraint to the mixed linear integer programming model AMP_SSR according to the upper bound value to obtain a new mixed linear integer programming model AMP_SSR, and executing S5 based on the new mixed linear integer programming model AMP_SSR; S8: Calculate the difference between the new upper bound and the new lower bound. If the difference is less than or equal to 0, output the result as the optimal scheduling optimization method. If the difference is greater than 0, return to S6.
2. The optimization scheduling method for a distributed heterogeneous prefabricated component assembly line according to claim 1 is characterized in that: The collected production data includes the number of factories, the number of orders, the number of processes, the processing time of each process of an order in different factories, and the number of production lines in each factory.
3. The method for optimizing the scheduling of a distributed heterogeneous prefabricated component assembly line according to claim 1, characterized in that: The constraint programming model DHPPFSP_CP is constructed with the goal of minimizing the maximum completion time. The constraint programming model DHPPFSP_CP is solved based on the collected production data to obtain the minimized maximum completion time. In the step of taking the minimized maximum completion time as the initial upper bound, the objective function of the constructed constraint programming model DHPPFSP_CP is as follows: (1) (15) Among them, J represents the number of orders, j represents each order, S represents the number of processes, represents the completion time of order j.
4. The method for optimizing the scheduling of a distributed heterogeneous prefabricated component assembly line according to claim 1, characterized in that: In the step of constructing a MILP model with the minimum completion time as the target, solving the MILP model based on the collected production data to obtain the minimum completion time, and taking the minimum completion time as the initial lower bound, the method for calculating the minimum completion time is: Construct a MILP_LB3 model with the goal of processing only the third stage of the order, calculate the solution of the MILP_LB3 model based on the production data of the third stage, and obtain the target value ; Calculate the minimum value of the sum of the first and second stage processing time, and the minimum value of the sum of the fourth, fifth and sixth stage processing time for each factory; Add the minimum value of the sum of the processing time of the first and second stages to the minimum value of the sum of the processing time of the fourth, fifth, and sixth stages, and record it as ; Calculate the Each factory And compare and find the smallest one , the smallest With target value Add them together to get the minimum completion time.
5. The method for optimizing the scheduling of a distributed heterogeneous prefabricated component assembly line according to claim 1, characterized in that: The hybrid linear integer programming model AMP_SSR is constructed, and the linear integer programming model AMP_SSR is solved based on the collected production data to obtain the assignment scheme of orders to factories and the new minimum completion time, and the new minimum completion time is used as the lower bound of this iteration. In the step, the objective function of the hybrid linear integer programming model AMP_SSR constructed is as follows: (21) (22) The model is enhanced by adding inequalities as follows: Among them, equations (21) and (22) indicate that the objective function is to minimize the maximum completion time of an order. is the completion time of order j in stage s.
6. The method for optimizing the scheduling of a distributed heterogeneous prefabricated component assembly line according to claim 1, characterized in that: The objective function constraints of the hybrid linear integer programming model AMP_SSR are as follows: (23) (24) (25) Among them, formula (23) ensures that the completion time of the first process of the order shall not be less than the time required for the processing of the first process of the order; is the time required for order j to be processed at the sth stage in factory f, It represents the cumulative sum of all processing times of all factories in the workpiece. is a binary variable, equal to 1 if order j is assigned to plant f, and 0 otherwise; Formula (24) ensures that the start processing time of an order shall not be earlier than the completion time of the previous process of the order; Formula (25) indicates that orders must be assigned to factories, and one order can only be assigned to one factory.
7. The method for optimizing the scheduling of a distributed heterogeneous prefabricated component assembly line according to claim 5, characterized in that: The hybrid linear integer programming model AMP_SSR is constructed, the linear integer programming model AMP_SSR is solved based on the collected production data, the assignment scheme of the orders to the factories and the new minimum completion time are obtained, and the new minimum completion time is used as the lower bound of this iteration. In the step of using the new minimum completion time as the lower bound of this iteration, the condition of using the new minimum completion time as the lower bound of this iteration is as follows: If the new minimum completion time is greater than the initial lower bound, the new minimum completion time is used as the lower bound of this iteration; otherwise, the lower bound is not updated.
8. The method for optimizing the scheduling of a distributed heterogeneous prefabricated component assembly line according to claim 1, characterized in that: In the step of constructing the constraint programming model SSP_CP, solving the constraint programming model SSP_CP based on the assignment scheme of the orders to the factories, obtaining a new minimized maximum completion time, and taking the new minimized maximum completion time as the upper bound of this iteration, the objective function of the constraint programming model SSP_CP is as follows: (36) (45) in, is the maximum completion time of factory f.
9. The method for optimizing the scheduling of a distributed heterogeneous prefabricated component assembly line according to claim 1, characterized in that: The cut constraint is added to the mixed linear integer programming model AMP_SSR according to the upper bound value to obtain a new mixed linear integer programming model AMP_SSR. In the step of executing S5 based on the new mixed linear integer programming model AMP_SSR, the cut constraint added is: (46) in is a binary variable, which is 1 if order j is assigned to factory f and 0 otherwise; is the maximum completion time of factory f in the hth iteration, is the set of orders assigned to factory f in the hth iteration.
10. An optimization scheduling system for a distributed heterogeneous prefabricated component assembly line, characterized in that: include: Collection module, used to collect production data; A DHPPFSP_CP model construction module is used to construct a constraint programming model DHPPFSP_CP with the goal of minimizing the maximum completion time, solve the constraint programming model DHPPFSP_CP based on the collected production data, obtain the minimized maximum completion time, and use the minimized maximum completion time as the initial upper bound; The MILP model building module is used to build a MILP model with the minimum completion time as the target, solve the MILP model based on the collected production data, obtain the minimum completion time, and use the minimum completion time as the initial lower bound; A first judgment module is used to judge the difference between the initial upper bound and the initial lower bound, and if the difference is less than or equal to 0, output the result as the optimal scheduling optimization method; If the difference is greater than 0, proceed to the next step; AMP_SSR model construction module is used to construct a hybrid linear integer programming model AMP_SSR. Based on the collected production data, the linear integer programming model AMP_SSR is solved to obtain the assignment scheme of orders to factories and the new minimum completion time. The new minimum completion time is used as the lower bound of this iteration. The SSP_CP model building module is used to build the constraint programming model SSP_CP, solve the constraint programming model SSP_CP based on the assignment scheme of orders to factories, obtain the new minimized maximum completion time, and use the new minimized maximum completion time as the upper bound of this iteration; A cut constraint module is used to add a cut constraint to the mixed linear integer programming model AMP_SSR according to the upper bound value to obtain a new mixed linear integer programming model AMP_SSR, and execute S5 based on the new mixed linear integer programming model AMP_SSR; The second judgment module is used to calculate the difference between the new upper bound and the new lower bound. If the difference is less than or equal to 0, the result is output as the optimal scheduling optimization method; If the difference is greater than 0, return to S6.