A method and device for solving the production scheduling problem of mass customization downmix line
The workshop processing information is obtained through electronic equipment, a scheduling model is constructed, and a product-driven scheduling method and gap extrusion method are adopted to solve the complexity of large-scale customized downmix line production scheduling, improve production efficiency and customer satisfaction, and achieve efficient utilization of resources.
Patent Information
- Application Number
- CN202210319085.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-03-29
- Publication Date
- 2025-05-02
- Estimated Expiration
- 2042-03-29
AI Technical Summary
In large-scale customized production, hybrid production scheduling is complex and it is difficult to formulate reasonable and efficient scheduling plans, resulting in difficult improvement in production efficiency and customer satisfaction.
Through the method implemented by electronic equipment, workshop processing information is obtained, workshop scheduling model is constructed, and product-driven scheduling methods and gap extrusion methods are used to perform reverse adjustments to generate a scheduling plan that balances completion time and total advance/drag costs.
It effectively solves the problem of large-scale customized downmix line production scheduling, improves production efficiency and customer satisfaction, makes full use of existing resources, and reduces the completion time and total advance/drag costs.
Smart Images

Figure CN114676915B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of workshop scheduling, and in particular to a method and a device for solving the production scheduling problem of a large-scale customized mixed line. Background Art
[0002] With the rapid development of economy and society, the variety of goods is becoming more and more abundant, customer needs are becoming more diversified and personalized, and the traditional large-scale production model is difficult to adapt to market development. The manufacturing industry is facing new challenges. At the same time, the emergence of new generation communication technologies and artificial intelligence technologies such as the Internet of Things, cloud computing, and big data, the German "Industry 4.0" strategy, and the United States' "Industrial Internet" are driving the arrival of a new round of industrial revolution. Manufacturing is the cornerstone of industry and the pillar of the national economy. Therefore, the new industrial revolution has had a subversive impact on the production model, and a new production model - mass customization has emerged.
[0003] Mass customization combines the advantages of mass production and personalized customization, and can produce personalized and diversified products with the efficiency of mass production. This advanced production model provides a low-cost and diversified solution for manufacturing companies to survive in the fierce market competition. More and more manufacturing companies are beginning to implement mass customization production.
[0004] Mass customization production requires that all or part of customized production be converted into mass production. Its production process mainly consists of two stages: parts processing and product assembly. The parts processing stage is a mixed-line production of standard parts and customized parts. Standard parts are parts included in all products. They adopt a mass production model and have stable inventory. Customized parts are parts that reflect personalized needs. The production quantity is random and production needs to be arranged according to orders. Product assembly is driven by orders, and the standard parts required for its assembly can be obtained directly from the warehouse. In addition, in order to reduce inventory costs and order delay costs, companies hope that products can be completed on time. Therefore, production scheduling under mass customization is very complex, and it is necessary to formulate reasonable and efficient scheduling methods to improve corporate production efficiency and customer satisfaction. Summary of the invention
[0005] The present invention aims at the problem of how to reasonably formulate a scheduling plan for mixed-line production under mass customization to improve enterprise production efficiency and customer satisfaction and make full use of existing resources.
[0006] In order to solve the above technical problems, the present invention provides the following technical solutions:
[0007] On the one hand, the present invention provides a method for solving the production scheduling problem of a large-scale customized downmix line, the method is implemented by an electronic device, and the method includes:
[0008] S1. Obtain the processing information of the workshop; the processing information includes the product information that the workshop can produce, the sales order information to be scheduled, the standard parts information to be scheduled, and the unit time cost of advance and delay.
[0009] Among them, the product information that the workshop can produce includes the unit assembly time of the product, the assembly machine of the product, the number of customized parts for assembled products, and the process information of each customized part of the assembled products; the sales order information to be scheduled includes the product types and quantities in the order and the order delivery time; the standard parts information to be scheduled includes the production quantity and process information of the standard parts to be scheduled; the unit time cost of advance and delay includes the unit time cost of advance and the unit time cost of delay of the sales order to be scheduled.
[0010] S2. Input the processing information of the workshop into the constructed workshop scheduling model.
[0011] S3. Use product-driven scheduling method to solve the workshop scheduling model and obtain the workshop scheduling plan.
[0012] Optionally, the construction process of the shop scheduling model in S2 includes:
[0013] S21. Set optimization objectives and constraints.
[0014] S22. Construct a workshop scheduling model based on the optimization objectives and constraints.
[0015] Optionally, the optimization goal in S21 is to minimize the completion time and the total lead time and delay cost.
[0016] The total lead time and delay cost is the sum of the lead time and delay costs of all products in the sales order to be scheduled.
[0017] Optionally, the constraints in S21 include:
[0018] The standard parts shall be split into several batches for processing. The number of split batches shall not exceed the total batch size of the standard parts.
[0019] Batch processing of products and customized parts of sales orders to be scheduled.
[0020] Any operation is assigned to only one machine at a time, and the next operation can only be processed after the previous operation on the same machine is completed.
[0021] During the parts processing stage, the completion time of any process is equal to the sum of the start time of processing and the unit processing time required for the parts on the machine multiplied by the number of parts.
[0022] During the product assembly stage, the time when product assembly is completed is equal to the sum of the time when product assembly begins and the unit assembly time multiplied by the number of products.
[0023] During the component processing stage, the subsequent processes of the same component must wait until the previous process is completed before they can be processed.
[0024] During the product assembly phase, product assembly is carried out after all customized parts required to assemble the product have been processed.
[0025] Each component starts processing from time 0.
[0026] The decision variable takes the value of 0 or 1.
[0027] Constraint variables are non-negative.
[0028] Optionally, the product-driven scheduling method in S3 is used to solve the workshop scheduling model, and the workshop scheduling solution obtained includes:
[0029] S31. Set the initial batch number of each standard part to 1.
[0030] S32. Generate a scheduling sequence for each batch of customized parts and standard parts.
[0031] S33. According to the scheduling sequence and the gap squeezing method, a preliminary scheduling plan is obtained; wherein the preliminary scheduling plan is a scheduling plan with the smallest completion time.
[0032] S34. Make product-driven reverse adjustments to the preliminary scheduling plan to generate a scheduling plan S_scheme that balances the completion time and the total advance and delay costs.
[0033] S35. Calculate the average value S_value of the target value of the scheduling scheme S_scheme.
[0034] S36. If the batch number of each standard part is 1 or S_value is less than Best_value, then let the current optimal scheduling scheme Best_scheme be the scheduling scheme S_scheme, let the average value Best_value of the target value of the current optimal scheduling scheme be S_value, increase the standard parts on the critical path of the scheduling scheme S_scheme in batches, and execute S32; if the batch number of each standard part is not 1 and S_value is greater than or equal to Best_value, then output the current optimal scheduling scheme Best_scheme as the final workshop scheduling scheme.
[0035] Optionally, the scheduling order of generating batches of customized parts and standard parts in S32 includes:
[0036] S321. Calculate the slack time of each process of each customized part of each product in the sales order to be scheduled.
[0037] S322. Arrange the customized parts in ascending order according to the relaxation time, and generate a scheduling sequence for the customized parts process.
[0038] S323. Randomly insert each process of each batch of standard parts into the scheduling sequence of the customized parts process to generate the scheduling sequence of each batch of customized parts and standard parts.
[0039] Optionally, obtaining a preliminary scheduling plan according to the scheduling sequence and the gap squeezing method in S33 includes:
[0040] S331. Obtain the processes from the scheduling sequence in sequence.
[0041] S332. Traverse all the gaps of all available machines of the obtained process, and find a gap in the gap that satisfies the conditions that the start time of the gap is greater than the completion time of the predecessor process and the gap length is greater than the processing time of the obtained process, and insert the obtained process into the gap with the smallest completion time to obtain a preliminary scheduling plan.
[0042] Optionally, the product-driven reverse adjustment of the preliminary scheduling plan in S34 to generate a scheduling plan that balances the completion time and the total lead time and delay cost includes:
[0043] S3401. Record the preliminary scheduling scheme as IS_scheme, and obtain the completion time of IS_scheme as SM.
[0044] S3402. Adjust the scheduling order of the processes in the preliminary scheduling scheme IS_scheme to be arranged in ascending order of the start time of the processes in IS_scheme.
[0045] S3403. Obtain the products completed ahead of schedule in the sales order to be scheduled from the preliminary scheduling plan IS_scheme, and store the products completed ahead of schedule in Eproduct_set.
[0046] S3404. Obtain all customized parts processes for assembling products in Eproduct_set from the scheduling sequence, store all customized parts processes in Epart_set, and let i = the total number of processes in the scheduling sequence.
[0047] S3405, extract the process from the scheduling sequence in reverse order, and determine whether the total number of processes in the scheduling sequence i>0; if so, obtain the i-th process g in the scheduling sequence i , go to execute S3406; otherwise, the output adjusted scheduling scheme is the scheduling scheme S_scheme that balances the completion time and the total advance and delay costs.
[0048] S3406, judging process g iDoes it belong to the process in Epart_set? If yes, go to S3407; otherwise, check process g i Is it a custom part process? If so, get the product p to which the custom part belongs i , the product p in the preliminary scheduling scheme IS_scheme i The machines and assembly start and end times of the assembly process are stored in the adjusted scheduling scheme S_scheme, and the process goes to execute S3410; otherwise, the process goes to execute S3411.
[0049] S3407, judgment process g i Products i Check whether the machines and assembly start and end times of the assembly process are adjusted; if not, go to S3408; if adjusted, go to S3409.
[0050] S3408, delete product p from IS_scheme i Assembly scheduling information of product p i Order o i Delivery time D, get product p i The optimal completion time BM = min(D, SM); in IS_scheme, starting from BM, traverse all the gaps on all assembly machines in forward and reverse directions, and then obtain all feasible scheduling results and calculate product p i The advance and delay costs ETcost; select the scheduling result S with the smallest ETcost from all feasible scheduling results. If all feasible scheduling results include scheduling results with the same ETcost, select them randomly; store the scheduling result S in the scheduling scheme S_scheme and execute S3409.
[0051] S3409, process g i The scheduling information of the current process corresponding to the preliminary scheduling scheme IS_scheme is deleted. If the current process is the last process of the customized part, then process g i The best completion time BM = product p i The assembly start time of the current process; otherwise, BM = the start time of the next process after the current process; in IS_scheme, take BM as the starting point, traverse all the gaps on all available machines in reverse, and then obtain all feasible scheduling results, and calculate the corresponding process g of all feasible scheduling results i At the completion time, select the scheduling result S with the smallest difference between the completion time and BM. If all feasible scheduling results contain a scheduling result with the same difference between the completion time and BM, select it randomly; store the scheduling result S in the scheduling scheme S_scheme; set i=i-1, and go to execute S3405.
[0052] S3410, obtain process g i In the preliminary scheduling scheme IS_scheme, the processing machine m corresponding to the current process is deleted. i The corresponding scheduling information of the current process. If the current process is the last process of the customized part, then process g i The best completion time BM = product p i The assembly start time of the current process, otherwise, BM = the start time of the next process after the current process; in IS_scheme, take BM as the starting point, traverse all the gaps on the processing machine m in reverse, and then obtain all feasible scheduling results, and calculate the corresponding process g of all feasible scheduling results i At the completion time, select the scheduling result S with the smallest difference between the completion time and BM. If all feasible scheduling results contain a scheduling result with the same difference between the completion time and BM, select it randomly. Store the obtained scheduling result S in the scheduling scheme S_scheme. Set i=i-1 and go to execute S3405.
[0053] S3411, obtain process g i In the preliminary scheduling scheme IS_scheme, the processing machine m corresponding to the current process is deleted. i The corresponding scheduling information of the current process. If the current process is the last process of the standard part, then process g i The best completion time BM = SM, otherwise, BM = the start time of the next process after the current process. In IS_scheme, take BM as the starting point, traverse all the gaps on the processing machine m in reverse, and then obtain all feasible scheduling results, and calculate the corresponding process g of all feasible scheduling results i At the completion time, select the scheduling result S with the smallest difference between the completion time and BM. If all feasible scheduling results contain a scheduling result with the same difference between the completion time and BM, select it randomly. Store the obtained scheduling result S in the scheduling scheme S_scheme. Set i=i-1 and go to execute S3405.
[0054] On the other hand, the present invention provides a device for solving the mass customization mixed line production scheduling problem, the device is applied to implement the method for solving the mass customization mixed line production scheduling problem, the device comprises:
[0055] The acquisition module is used to acquire the processing information of the workshop; the processing information includes the product information that the workshop can produce, the sales order information to be scheduled, the standard parts information to be scheduled, and the unit time cost of advance and delay.
[0056] Among them, the product information that the workshop can produce includes the unit assembly time of the product, the assembly machine of the product, the number of customized parts of the assembled product, and the process information of each customized part of the assembled product; the sales order information to be scheduled includes the product types and quantities in the order and the order delivery time; the standard parts information to be scheduled includes the production quantity and process information of the standard parts to be scheduled; the unit time cost of advance and delay includes the unit time cost of advance and the unit time cost of delay of the sales order to be scheduled.
[0057] The input module is used to input the processing information of the workshop into the constructed workshop scheduling model.
[0058] The output module is used to solve the workshop scheduling model by adopting a product-driven scheduling method to obtain a workshop scheduling plan.
[0059] Optionally, the input module is further configured to:
[0060] S21. Set optimization objectives and constraints.
[0061] S22. Construct a workshop scheduling model based on the optimization objectives and constraints.
[0062] Optionally, the optimization objective is to minimize the completion time and the total lead time and delay costs.
[0063] The total lead time and delay cost is the sum of the lead time and delay costs of all products in the sales order to be scheduled.
[0064] Optionally, constraints include:
[0065] The standard parts shall be split into several batches for processing. The number of split batches shall not exceed the total batch size of the standard parts.
[0066] Batch processing of products and customized parts of sales orders to be scheduled.
[0067] Any operation is assigned to only one machine at a time, and the next operation can only be processed after the previous operation on the same machine is completed.
[0068] During the parts processing stage, the completion time of any process is equal to the sum of the start time of processing and the unit processing time required for the parts on the machine multiplied by the number of parts.
[0069] During the product assembly stage, the time when product assembly is completed is equal to the sum of the time when product assembly begins and the unit assembly time multiplied by the number of products.
[0070] During the component processing stage, the subsequent processes of the same component must wait until the previous process is completed before they can be processed.
[0071] During the product assembly phase, product assembly is carried out after all customized parts required to assemble the product have been processed.
[0072] Each component starts processing from time 0.
[0073] The decision variable takes the value of 0 or 1.
[0074] Constraint variables are non-negative.
[0075] Optionally, the output module is further configured to:
[0076] S31. Set the initial batch number of each standard part to 1.
[0077] S32. Generate a scheduling sequence for each batch of customized parts and standard parts.
[0078] S33. According to the scheduling sequence and the gap squeezing method, a preliminary scheduling plan is obtained; wherein the preliminary scheduling plan is a scheduling plan with the smallest completion time.
[0079] S34. Make product-driven reverse adjustments to the preliminary scheduling plan to generate a scheduling plan S_scheme that balances the completion time and the total advance and delay costs.
[0080] S35. Calculate the average value S_value of the target value of the scheduling scheme S_scheme.
[0081] S36. If the batch number of each standard part is 1 or S_value is less than Best_value, then let the current optimal scheduling scheme Best_scheme be the scheduling scheme S_scheme, let the average value Best_value of the target value of the current optimal scheduling scheme be S_value, increase the standard parts on the critical path of the scheduling scheme S_scheme in batches, and execute S32; if the batch number of each standard part is not 1 and S_value is greater than or equal to Best_value, then output the current optimal scheduling scheme Best_scheme as the final workshop scheduling scheme.
[0082] Optionally, the output module is further configured to:
[0083] S321. Calculate the slack time of each process of each customized part of each product in the sales order to be scheduled.
[0084] S322. Arrange the customized parts in ascending order according to the relaxation time, and generate a scheduling sequence for the customized parts process.
[0085] S323. Randomly insert each process of each batch of standard parts into the scheduling sequence of the customized parts process to generate the scheduling sequence of each batch of customized parts and standard parts.
[0086] Optionally, the output module is further configured to:
[0087] S331. Obtain the processes from the scheduling sequence in sequence.
[0088] S332. Traverse all gaps of the current process except the acquired process, and search for gaps in the gaps that satisfy the requirement that the start time of the gap is greater than the completion time of the predecessor process and the gap length is greater than the processing time of the acquired process, insert the acquired process into the gap, and obtain a preliminary scheduling plan.
[0089] Optionally, the output module is further configured to:
[0090] S3401. Record the preliminary scheduling scheme as IS_scheme, and obtain the completion time of IS_scheme as SM.
[0091] S3402. Adjust the scheduling order of the processes in the preliminary scheduling scheme IS_scheme to be arranged in ascending order of the start time of the processes in IS_scheme.
[0092] S3403. Obtain the products completed ahead of schedule in the sales order to be scheduled from the preliminary scheduling plan IS_scheme, and store the products completed ahead of schedule in Eproduct_set.
[0093] S3404. Obtain all customized parts processes for assembling products in Eproduct_set from the scheduling sequence, store all customized parts processes in Epart_set, and let i = the total number of processes in the scheduling sequence.
[0094] S3405, extract the process from the scheduling sequence in reverse order, and determine whether the total number of processes in the scheduling sequence i>0; if so, obtain the i-th process g in the scheduling sequence i , go to execute S3406; otherwise, the output adjusted scheduling scheme is the scheduling scheme S_scheme that balances the completion time and the total advance and delay costs.
[0095] S3406, judging process g i Does it belong to the process in Epart_set? If yes, go to S3407; otherwise, check process g i Is it a custom part process? If so, get the product p to which the custom part belongs i , the product p in the preliminary scheduling scheme IS_scheme i The machines and assembly start and end times of the assembly process are stored in the adjusted scheduling scheme S_scheme, and the process goes to S3410 for execution; otherwise, the process goes to S3411 for execution.
[0096] S3407, judgment process gi Products i Check whether the machines and assembly start and end times of the assembly process are adjusted; if not, go to S3408; if adjusted, go to S3409.
[0097] S3408, delete product p from IS_scheme i Assembly scheduling information of product p i Order o i Delivery time D, get product p i The optimal completion time BM = min(D, SM); in IS_scheme, starting from BM, traverse all the gaps on all assembly machines in forward and reverse directions, and then obtain all feasible scheduling results and calculate product p i The advance and delay costs ETcost; select the scheduling result S with the smallest ETcost from all feasible scheduling results. If all feasible scheduling results include scheduling results with the same ETcost, select them randomly; store the scheduling result S in the scheduling scheme S_scheme and execute S3409.
[0098] S3409, process g i The scheduling information of the current process corresponding to the preliminary scheduling scheme IS_scheme is deleted. If the current process is the last process of the customized part, then process g i The best completion time BM = product p i The assembly start time of the current process; otherwise, BM = the start time of the next process after the current process; in IS_scheme, take BM as the starting point, traverse all the gaps on all available machines in reverse, and then obtain all feasible scheduling results, and calculate the corresponding process g of all feasible scheduling results i At the completion time, select the scheduling result S with the smallest difference between the completion time and BM. If all feasible scheduling results contain a scheduling result with the same difference between the completion time and BM, select it randomly; store the scheduling result S in the scheduling scheme S_scheme; set i=i-1, and go to execute S3405.
[0099] S3410, obtain process g i In the preliminary scheduling scheme IS_scheme, the processing machine m corresponding to the current process is deleted. i The corresponding scheduling information of the current process. If the current process is the last process of the customized part, then process g i The best completion time BM = product p iThe assembly start time of the current process, otherwise, BM = the start time of the next process after the current process; in IS_scheme, take BM as the starting point, traverse all the gaps on the processing machine m in reverse, and then obtain all feasible scheduling results, and calculate the corresponding process g of all feasible scheduling results i At the completion time, select the scheduling result S with the smallest difference between the completion time and BM. If all feasible scheduling results contain a scheduling result with the same difference between the completion time and BM, select it randomly. Store the obtained scheduling result S in the scheduling scheme S_scheme. Set i=i-1 and go to execute S3405.
[0100] S3411, obtain process g i In the preliminary scheduling scheme IS_scheme, the processing machine m corresponding to the current process is deleted. i The corresponding scheduling information of the current process. If the current process is the last process of the standard part, then process g i The best completion time BM = SM, otherwise, BM = the start time of the next process after the current process. In IS_scheme, take BM as the starting point, traverse all the gaps on the processing machine m in reverse, and then obtain all feasible scheduling results, and calculate the corresponding process g of all feasible scheduling results i At the completion time, select the scheduling result S with the smallest difference between the completion time and BM. If all feasible scheduling results contain a scheduling result with the same difference between the completion time and BM, select it randomly. Store the obtained scheduling result S in the scheduling scheme S_scheme. Set i=i-1 and go to execute S3405.
[0101] On the one hand, an electronic device is provided, comprising a processor and a memory, wherein the memory stores at least one instruction, and the at least one instruction is loaded and executed by the processor to implement the above-mentioned method for solving the production scheduling problem of large-scale customized mixed lines.
[0102] On the one hand, a computer-readable storage medium is provided, wherein at least one instruction is stored in the storage medium, and the at least one instruction is loaded and executed by a processor to implement the above-mentioned method for solving the production scheduling problem of large-scale customized downmix lines.
[0103] The beneficial effects brought about by the technical solution provided by the embodiment of the present invention include at least:
[0104] In the above scheme, a workshop scheduling model is established for the mixed-line production scheduling problem under mass customization. Considering the importance of production efficiency and customer satisfaction to mass customization manufacturing enterprises, the optimization objectives of the workshop scheduling model are set as completion time and total lead / tardiness cost. A product-driven scheduling method is designed. First, a feasible scheduling sequence is generated, then the gap squeezing method is used to generate a preliminary scheduling plan, and then the product-driven reverse adjustment strategy is used to adjust the scheduling plan to achieve balanced optimization of completion time and total lead / tardiness cost. The designed method can effectively solve the mixed-line production scheduling problem under mass customization, make full use of existing resources, and reduce completion time and total lead / tardiness cost.
[0105] The present invention can avoid the irrationality and inefficiency of manual scheduling decisions, and help improve the production management efficiency and customer satisfaction of the enterprise. BRIEF DESCRIPTION OF THE DRAWINGS
[0106] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0107] Figure 1 It is a flow chart of a method for solving the production scheduling problem of a large-scale customized mixed line provided by an embodiment of the present invention;
[0108] Figure 2 It is a block diagram of a device for solving the production scheduling problem of a large-scale customized downmix line provided by an embodiment of the present invention;
[0109] Figure 3 It is a structural schematic diagram of an electronic device provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0110] In order to make the technical problems, technical solutions and advantages to be solved by the present invention more clear, a detailed description will be given below with reference to the accompanying drawings and specific embodiments.
[0111] like Figure 1 As shown, an embodiment of the present invention provides a method for solving the mass customization mixed line production scheduling problem, and the method can be implemented by an electronic device. Figure 1 The flowchart of the method for solving the mass customization mixed line production scheduling problem is shown in FIG. The processing flow of the method may include the following steps:
[0112] S1. Obtain the processing information of the workshop.
[0113] Among them, the processing information of the workshop may include the product information that the workshop can produce, the sales order information to be scheduled, the standard parts information to be scheduled, and the unit time cost of advance and delay.
[0114] Among them, the product information that can be produced by the workshop may include the unit assembly time of the product, the assembly machine of the product, the number of types of customized parts for assembled products, and the process information of each customized part of the assembled products.
[0115] The sales order information to be scheduled may include the product type and quantity in the order and the order delivery date.
[0116] The information of the standard parts to be scheduled may include the production quantity and process information of the standard parts to be scheduled.
[0117] The lead time and delay unit time costs may include the lead time unit time cost and the delay unit time cost of the sales order to be scheduled.
[0118] S2. Input the processing information of the workshop into the constructed workshop scheduling model.
[0119] Optionally, the construction process of the shop scheduling model in S2 includes:
[0120] S21. Set optimization objectives and constraints.
[0121] Optionally, the optimization goal in S21 is to minimize the completion time and the total lead time and delay cost.
[0122] The total lead time and delay cost is the sum of the lead time and delay costs of all products in the sales order to be scheduled.
[0123] Optionally, the constraints in S21 include:
[0124] Standard parts need to be split into several batches for processing, and the number of split batches must not exceed the total batch size of the standard parts.
[0125] Batch processing of products and customized parts of sales orders to be scheduled.
[0126] Any operation is assigned to only one machine at a time, and the next operation can only be processed after the previous operation on the same machine is completed.
[0127] During the parts processing stage, the completion time of any process is equal to the sum of the start time of processing and the unit processing time required for the parts on the machine multiplied by the number of parts.
[0128] During the product assembly stage, the time when product assembly is completed is equal to the sum of the time when product assembly begins and the unit assembly time multiplied by the number of products.
[0129] During the component processing stage, the subsequent processes of the same component must wait until the previous process is completed before they can be processed.
[0130] During the product assembly phase, product assembly is carried out after all customized parts required to assemble the product have been processed.
[0131] Each component can be processed from time 0.
[0132] The decision variable takes the value of 0 or 1.
[0133] Constraint variables are non-negative.
[0134] In a feasible implementation, the model is combined to implement processing sequence constraints and product assembly constraints when calculating the target value.
[0135] S22. Construct a workshop scheduling model based on the optimization objectives and constraints.
[0136] S3. Use product-driven scheduling method to solve the workshop scheduling model and obtain the workshop scheduling plan.
[0137] Optionally, the product-driven scheduling method in S3 is used to solve the workshop scheduling model, and the workshop scheduling solution obtained includes:
[0138] S31. Set the initial batch number of each standard part to 1.
[0139] S32. Generate a scheduling sequence for each batch of customized parts and standard parts.
[0140] In a feasible implementation, the present application solves the workshop scheduling model according to the product-driven scheduling method to obtain a workshop scheduling plan.
[0141] Optionally, the scheduling order of generating batches of customized parts and standard parts in S32 includes:
[0142] S321. Calculate the slack time of each process of each customized part of each product in the sales order to be scheduled.
[0143] S322. Arrange the customized parts in ascending order according to the relaxation time, and generate a scheduling sequence for the customized parts process.
[0144] S323. Randomly insert each process of each batch of standard parts into the scheduling sequence of the customized parts process to generate the scheduling sequence of each batch of customized parts and standard parts.
[0145] In a feasible implementation, the scheduled sales orders may include scheduling multiple products at the same time, and the production process of each product includes processing and assembly; the processing includes the processing of customized parts and the processing of standard parts.
[0146] Standard parts are scheduled in batches based on production tasks issued within the enterprise.
[0147] Custom parts are processed and assembled according to sales orders.
[0148] Standard parts and customized parts are produced in the same workshop and use the same equipment, so resource coordination is required during scheduling. In the subsequent assembly process, standard parts and customized parts are assembled into products. However, since standard parts have a stable inventory in the warehouse and can be taken at any time, they can be assembled as long as the customized parts are processed. When assembling products, each product must use S33 of standard parts, and obtain a preliminary scheduling plan based on the scheduling order and gap extrusion method.
[0149] Among them, the preliminary scheduling plan is the scheduling plan with the smallest completion time.
[0150] Optionally, obtaining a preliminary scheduling plan according to the scheduling sequence and the gap squeezing method in S33 includes:
[0151] S331. Obtain the processes from the scheduling sequence in sequence.
[0152] S332. Traverse all the gaps of all available machines of the obtained process, and find a gap in the gap that satisfies the conditions that the start time of the gap is greater than the completion time of the predecessor process and the gap length is greater than the processing time of the obtained process, and insert the obtained process into the gap with the smallest completion time to obtain a preliminary scheduling plan.
[0153] In a feasible implementation, the process of the gap squeezing method can be: first, obtain the processes from the scheduling order in sequence; then, traverse all the gaps of the currently scheduled process on all available machines, and find the gaps in the gaps that satisfy the gap start time greater than the completion time of the predecessor process and the gap length greater than the process processing time as the scheduling result. In addition, the assembly scheduling order of each product depends on the maximum completion time of its customized parts, that is, when all the customized parts of the assembled product are scheduled, the product assembly process is scheduled immediately.
[0154] S34. Make product-driven reverse adjustments to the preliminary scheduling plan to generate a scheduling plan S_scheme that balances the completion time and the total advance and delay costs.
[0155] In a feasible implementation, corresponding reverse adjustment strategies are designed according to the characteristics of each batch of standard parts, customized parts and products to generate a scheduling plan that balances the completion time and the total lead time and delay costs.
[0156] Optionally, the product-driven reverse adjustment of the preliminary scheduling plan in S34 to generate a scheduling plan that balances the completion time and the total lead time and delay cost includes:
[0157] S3401. Record the preliminary scheduling scheme as IS_scheme, and obtain the completion time of IS_scheme as SM.
[0158] For example, the sales orders to be scheduled include the production of product P1 and product P2; wherein, the customized parts process of product P1 includes A11, the assembly process of product P1 includes A12, the customized parts process of product P2 includes processing A21, the assembly process of product P2 includes A22, and the standard parts processing process includes B1, B2 and B3.
[0159] The preliminary scheduling scheme IS_scheme obtained can be A11 A12 B1 A21 A22 B2 B3.
[0160] S3402. Adjust the scheduling order of the processes in the preliminary scheduling scheme IS_scheme to be arranged in ascending order of the start time of the processes in IS_scheme.
[0161] In a feasible implementation, the scheduling sequence is the order of the various customized parts and standard parts processes in the processing stage, such as A11 B1 A21 B2 B3; the scheduling plan is to determine on which machine each process is processed, as well as the start and end times of the processing. The scheduling plan is formulated according to the scheduling sequence. The processes that are ranked first in the scheduling sequence are given priority in the machine, and the start and end times of the processing are determined. When all the customized parts processes of the product are arranged, the machine for the product assembly process is immediately arranged to determine the start and end times of the assembly.
[0162] For example, the preliminary scheduling scheme IS_scheme may be A11 A12 B1 A21 A22 B2 B3.
[0163] The batch scheduling order of customized parts and standard parts after arrangement can be A11 A21 B1 B2 B3.
[0164] S3403. Obtain the products completed ahead of schedule in the sales order to be scheduled from the preliminary scheduling plan IS_scheme, and store the products completed ahead of schedule in Eproduct_set.
[0165] For example, if the product completed ahead of schedule is product P1, then product P1 is stored in Eproduct_set.
[0166] S3404. Obtain all customized parts processes for assembling products in Eproduct_set from the scheduling sequence, store all customized parts processes in Epart_set, and let i = the total number of processes in the scheduling sequence.
[0167] For example, all customized parts operations A11 of product P1 are stored in Epart_set.
[0168] Let i=5.
[0169] S3405, extract the process from the scheduling sequence in reverse order, and determine whether the total number of processes in the scheduling sequence i>0; if so, obtain the i-th process g in the scheduling sequence i , go to execute S3406; otherwise, the output adjusted scheduling scheme is the scheduling scheme S_scheme that balances the completion time and the total advance and delay costs.
[0170] For example, from the scheduling sequence A11 A21 B1 B2 B3, extract process B3 in reverse order, and determine whether the total number of processes 5 is greater than 0. If it is, go to execute S3406. If the determination result is less than or equal to 0, then the adjusted scheduling scheme is output, which is the scheduling scheme S_scheme that balances the completion time and the total lead and delay costs.
[0171] S3406, judging process g i Does it belong to the process in Epart_set? If yes, go to S3407; otherwise, check process g i Is it a custom part process? If so, store the preliminary scheduling scheme IS_scheme into the adjusted scheduling scheme S_scheme and execute S3410; otherwise, execute S3411.
[0172] In a feasible implementation manner, the determination step g i Is it a custom part process in a product that is completed ahead of schedule? If process g i For the customized parts process of the products completed ahead of schedule, the execution will be transferred to S3407.
[0173] If process g i If it is not a customized part process in the product that is completed in advance, then further determine the process g i Is it a custom part process? If process g i If it is a custom-made process, the preliminary scheduling scheme IS_scheme is stored in the adjusted scheduling scheme S_scheme and the process is transferred to S3410. i If it is not a custom parts process, go to execute S3411.
[0174] S3407, judging process g i Products i Check whether the machines and assembly start and end times of the assembly process are adjusted; if not, go to S3408; if adjusted, go to S3409.
[0175] In a feasible implementation, the process of formulating a scheduling plan is divided into two steps. The first step is to formulate a preliminary plan with the smallest completion time. The second step is to adjust the plan. It is necessary to adjust each process of customized parts and standard parts in the plan, the machine and start and end time of the product assembly process, and optimize the lead / delay cost. Among them, no adjustment means that the machine and start and end time of this product have not been adjusted.
[0176] S3408, Adjustment strategy driven by early completion product: Delete product p from IS_scheme i Assembly scheduling information of product p i Order o i Delivery time D, get product p i The optimal completion time BM = min(D, SM); in IS_scheme, starting from BM, traverse all the gaps on all assembly machines in forward and reverse directions, and place product p i The assembly process is inserted into the gap, all feasible scheduling results are obtained, and the product p is calculated i The advance and delay costs ETcost; select the scheduling result S with the smallest ETcost from all feasible scheduling results. If all feasible scheduling results include scheduling results with the same ETcost, select them randomly; store the scheduling result S in the scheduling scheme S_scheme and execute S3409.
[0177] S3409, Adjustment strategy driven by customized parts for products completed ahead of schedule: i The scheduling information of the current process corresponding to the preliminary scheduling scheme IS_scheme is deleted. If the current process is the last process of the customized part, then process g i The best completion time BM = product p i The assembly start time of the current process; otherwise, BM = the start time of the next process after the current process; in IS_scheme, take BM as the starting point, traverse all the gaps on all available machines in reverse, and put product p i Insert the assembly process into the gap, obtain all feasible scheduling results, and calculate the corresponding process g of all feasible scheduling results i At the completion time, select the scheduling result S with the smallest difference between the completion time and BM. If all feasible scheduling results contain a scheduling result with the same difference between the completion time and BM, select it randomly; store the scheduling result S in the scheduling scheme S_scheme; set i=i-1, and go to execute S3405.
[0178] S3410, Customized parts-driven adjustment strategy for non-pre-finished products: Get process g iIn the preliminary scheduling scheme IS_scheme, the processing machine m corresponding to the current process is deleted. i The corresponding scheduling information of the current process. If the current process is the last process of the customized part, then process g i The best completion time BM = product p i The assembly start time of the current process, otherwise, BM = the start time of the next process after the current process; in IS_scheme, take BM as the starting point, traverse all the gaps on the processing machine m in reverse, insert the current process into the gap, obtain all feasible scheduling results, and calculate the corresponding process g of all feasible scheduling results i At the completion time, select the scheduling result S with the smallest difference between the completion time and BM. If all feasible scheduling results contain a scheduling result with the same difference between the completion time and BM, select it randomly. Store the obtained scheduling result S in the scheduling scheme S_scheme. Set i=i-1 and go to execute S3405.
[0179] S3411, Adjustment strategy driven by standard parts sub-batch: Get process g i In the preliminary scheduling scheme IS_scheme, the processing machine m corresponding to the current process is deleted. i The corresponding scheduling information of the current process. If the current process is the last process of the standard part, then process g i The best completion time BM = SM, otherwise BM = the start time of the next process after the current process. In IS_scheme, take BM as the starting point, traverse all the gaps on the processing machine m in reverse, insert the current process into the gap, obtain all feasible scheduling results, and calculate the corresponding process g of all feasible scheduling results i At the completion time, select the scheduling result S with the smallest difference between the completion time and BM. If all feasible scheduling results contain a scheduling result with the same difference between the completion time and BM, select it randomly. Store the obtained scheduling result S in the scheduling scheme S_scheme. Set i=i-1 and go to execute S3405.
[0180] S35. Calculate the average value S_value of the target value of the scheduling scheme S_scheme.
[0181] S36. If the batch number of each standard part is 1 or S_value is less than Best_value, then let the current optimal scheduling scheme Best_scheme be the scheduling scheme S_scheme, let the average value Best_value of the target value of the current optimal scheduling scheme be S_value, increase the standard parts on the critical path of the scheduling scheme S_scheme in batches, and execute S32; if the batch number of each standard part is not 1 and S_value is greater than or equal to Best_value, then output the current optimal scheduling scheme Best_scheme as the final workshop scheduling scheme.
[0182] In a feasible implementation, the critical path refers to an uninterrupted processing path from the start to the end of the processing in the formulated scheduling plan, that is, the path with the longest processing time, which has a great impact on the scheduling completion time. In order to further shorten the completion time, it is necessary to increase the batches of standard parts on this path.
[0183] In a feasible implementation manner, the above steps S35-S36 are used to determine whether the iteration can be terminated.
[0184] In an embodiment of the present invention, a workshop scheduling model is established for the mixed-line production scheduling problem under mass customization. Considering the importance of production efficiency and customer satisfaction to mass customization manufacturing enterprises, the optimization objectives of the workshop scheduling model are set to completion time and total lead time / delay cost. A product-driven scheduling method is designed. First, a feasible scheduling sequence is generated. Then, a preliminary scheduling plan is generated by the gap extrusion method. Then, the scheduling plan is adjusted by a product-driven reverse adjustment strategy to achieve balanced optimization of completion time and total lead time / delay cost. The designed method can effectively solve the mixed-line production scheduling problem under mass customization, make full use of existing resources, and reduce completion time and total lead time / delay cost.
[0185] The present invention can avoid the irrationality and inefficiency of manual scheduling decisions, and help improve the production management efficiency and customer satisfaction of the enterprise.
[0186] like Figure 2 As shown, an embodiment of the present invention provides a device 200 for solving the mass customization mixed line production scheduling problem. The device 200 is applied to implement a method for solving the mass customization mixed line production scheduling problem. The device 200 includes:
[0187] The acquisition module 210 is used to acquire the processing information of the workshop; the processing information includes the product information that the workshop can produce, the sales order information to be scheduled, the standard parts information to be scheduled, and the unit time cost of advance and delay.
[0188] Among them, the product information that the workshop can produce includes the unit assembly time of the product, the assembly machine of the product, the number of customized parts of the assembled product, and the process information of each customized part of the assembled product; the sales order information to be scheduled includes the product types and quantities in the order and the order delivery time; the standard parts information to be scheduled includes the production quantity and process information of the standard parts to be scheduled; the unit time cost of advance and delay includes the unit time cost of advance and the unit time cost of delay of the sales order to be scheduled.
[0189] The input module 220 is used to input the processing information of the workshop into the constructed workshop scheduling model.
[0190] The output module 230 is used to solve the workshop scheduling model by adopting a product-driven scheduling method to obtain a workshop scheduling solution.
[0191] Optionally, the input module 220 is further configured to:
[0192] S21. Set optimization objectives and constraints.
[0193] S22. Construct a workshop scheduling model based on the optimization objectives and constraints.
[0194] Optionally, the optimization objective is to minimize the completion time and the total lead time and delay costs.
[0195] The total lead time and delay cost is the sum of the lead time and delay costs of all products in the sales order to be scheduled.
[0196] Optionally, constraints include:
[0197] The standard parts shall be split into several batches for processing. The number of split batches shall not exceed the total batch size of the standard parts.
[0198] Batch processing of products and customized parts of sales orders to be scheduled.
[0199] Any operation is assigned to only one machine at a time, and the next operation can only be processed after the previous operation on the same machine is completed.
[0200] During the parts processing stage, the completion time of any process is equal to the sum of the start time of processing and the unit processing time required for the parts on the machine multiplied by the number of parts.
[0201] During the product assembly stage, the time when product assembly is completed is equal to the sum of the time when product assembly begins and the unit assembly time multiplied by the number of products.
[0202] During the component processing stage, the subsequent processes of the same component must wait until the previous process is completed before they can be processed.
[0203] During the product assembly phase, product assembly is carried out after all customized parts required to assemble the product have been processed.
[0204] Each component starts processing from time 0.
[0205] The decision variable takes the value of 0 or 1.
[0206] Constraint variables are non-negative.
[0207] Optionally, the output module 230 is further configured to:
[0208] S31. Set the initial batch number of each standard part to 1.
[0209] S32. Generate a scheduling sequence for each batch of customized parts and standard parts.
[0210] S33. According to the scheduling sequence and the gap squeezing method, a preliminary scheduling plan is obtained; wherein the preliminary scheduling plan is a scheduling plan with the smallest completion time.
[0211] S34. Make product-driven reverse adjustments to the preliminary scheduling plan to generate a scheduling plan S_scheme that balances the completion time and the total advance and delay costs.
[0212] S35. Calculate the average value S_value of the target value of the scheduling scheme S_scheme.
[0213] S36. If the batch number of each standard part is 1 or S_value is less than Best_value, then let the current optimal scheduling scheme Best_scheme be the scheduling scheme S_scheme, let the average value Best_value of the target value of the current optimal scheduling scheme be S_value, increase the standard parts on the critical path of the scheduling scheme S_scheme in batches, and execute S32; if the batch number of each standard part is not 1 and S_value is greater than or equal to Best_value, then output the current optimal scheduling scheme Best_scheme as the final workshop scheduling scheme.
[0214] Optionally, the output module 230 is further configured to:
[0215] S321. Calculate the slack time of each process of each customized part of each product in the sales order to be scheduled.
[0216] S322. Arrange the customized parts in ascending order according to the relaxation time, and generate a scheduling sequence for the customized parts process.
[0217] S323. Randomly insert each process of each batch of standard parts into the scheduling sequence of the customized parts process to generate the scheduling sequence of each batch of customized parts and standard parts.
[0218] Optionally, the output module 230 is further configured to:
[0219] S331. Obtain the processes from the scheduling sequence in sequence.
[0220] S332. Traverse all the gaps of all available machines of the obtained process, and find a gap in the gap that satisfies the conditions that the start time of the gap is greater than the completion time of the predecessor process and the gap length is greater than the processing time of the obtained process, and insert the obtained process into the gap with the smallest completion time to obtain a preliminary scheduling plan.
[0221] Optionally, the output module 230 is further configured to:
[0222] S3401. Record the preliminary scheduling scheme as IS_scheme, and obtain the completion time of IS_scheme as SM.
[0223] S3402. Adjust the scheduling order of the processes in the preliminary scheduling scheme IS_scheme to be arranged in ascending order of the start time of the processes in IS_scheme.
[0224] S3403. Obtain the products completed ahead of schedule in the sales order to be scheduled from the preliminary scheduling plan IS_scheme, and store the products completed ahead of schedule in Eproduct_set.
[0225] S3404. Obtain all customized parts processes for assembling products in Eproduct_set from the scheduling sequence, store all customized parts processes in Epart_set, and let i = the total number of processes in the scheduling sequence.
[0226] S3405, extract the process from the scheduling sequence in reverse order, and determine whether the total number of processes in the scheduling sequence i>0; if so, obtain the i-th process g in the scheduling sequence i , go to execute S3406; otherwise, the output adjusted scheduling scheme is the scheduling scheme S_scheme that balances the completion time and the total advance and delay costs.
[0227] S3406, judging process g i Does it belong to the process in Epart_set? If yes, go to S3407; otherwise, check process g i Is it a custom part process? If so, get the product p to which the custom part belongs i , the product p in the preliminary scheduling scheme IS_scheme i The machines of the assembly process and the start and end times of the assembly are stored in the adjusted scheduling scheme S_scheme, and the process proceeds to execute S3410; otherwise, the process proceeds to execute S3411.
[0228] S3407, judging process g i Products i Check whether the machines and assembly start and end times of the assembly process are adjusted; if not, go to S3408; if adjusted, go to S3409.
[0229] S3408, delete product p from IS_scheme i Assembly scheduling information of product p i Order o i Delivery time D, get product p i The optimal completion time BM = min(D, SM); in IS_scheme, starting from BM, traverse all the gaps on all assembly machines in forward and reverse directions, and then obtain all feasible scheduling results and calculate product p i The advance and delay costs ETcost; select the scheduling result S with the smallest ETcost from all feasible scheduling results. If all feasible scheduling results include scheduling results with the same ETcost, select them randomly; store the scheduling result S in the scheduling scheme S_scheme and execute S3409.
[0230] S3409, process g i The scheduling information of the current process corresponding to the preliminary scheduling scheme IS_scheme is deleted. If the current process is the last process of the customized part, then process g i The best completion time BM = product p i The assembly start time of the current process; otherwise, BM = the start time of the next process after the current process; in IS_scheme, take BM as the starting point, traverse all the gaps on all available machines in reverse, and then obtain all feasible scheduling results, and calculate the corresponding process g of all feasible scheduling results i At the completion time, select the scheduling result S with the smallest difference between the completion time and BM. If all feasible scheduling results contain a scheduling result with the same difference between the completion time and BM, select it randomly; store the scheduling result S in the scheduling scheme S_scheme; set i=i-1, and go to execute S3405.
[0231] S3410, obtain process g i In the preliminary scheduling scheme IS_scheme, the processing machine m corresponding to the current process is deleted. i The corresponding scheduling information of the current process. If the current process is the last process of the customized part, then process g i The best completion time BM = product p iThe assembly start time of the current process, otherwise, BM = the start time of the next process after the current process; in IS_scheme, take BM as the starting point, traverse all the gaps on the processing machine m in reverse, and then obtain all feasible scheduling results, and calculate the corresponding process g of all feasible scheduling results i At the completion time, select the scheduling result S with the smallest difference between the completion time and BM. If all feasible scheduling results contain a scheduling result with the same difference between the completion time and BM, select it randomly. Store the obtained scheduling result S in the scheduling scheme S_scheme. Set i=i-1 and go to execute S3405.
[0232] S3411, obtain process g i In the preliminary scheduling scheme IS_scheme, the processing machine m corresponding to the current process is deleted. i The corresponding scheduling information of the current process. If the current process is the last process of the standard part, then process g i The best completion time BM = SM, otherwise, BM = the start time of the next process after the current process. In IS_scheme, take BM as the starting point, traverse all the gaps on the processing machine m in reverse, and then obtain all feasible scheduling results, and calculate the corresponding process g of all feasible scheduling results i At the completion time, select the scheduling result S with the smallest difference between the completion time and BM. If all feasible scheduling results contain a scheduling result with the same difference between the completion time and BM, select it randomly. Store the obtained scheduling result S in the scheduling scheme S_scheme. Set i=i-1 and go to execute S3405.
[0233] In an embodiment of the present invention, a workshop scheduling model is established for the mixed-line production scheduling problem under mass customization. Considering the importance of production efficiency and customer satisfaction to mass customization manufacturing enterprises, the optimization objectives of the workshop scheduling model are set to completion time and total lead time / delay cost. A product-driven scheduling method is designed. First, a feasible scheduling sequence is generated. Then, a preliminary scheduling plan is generated by the gap extrusion method. Then, the scheduling plan is adjusted by a product-driven reverse adjustment strategy to achieve balanced optimization of completion time and total lead time / delay cost. The designed method can effectively solve the mixed-line production scheduling problem under mass customization, make full use of existing resources, and reduce completion time and total lead time / delay cost.
[0234] The present invention can avoid the irrationality and inefficiency of manual scheduling decisions, and help improve the production management efficiency and customer satisfaction of the enterprise.
[0235] Figure 33 is a schematic diagram of the structure of an electronic device 300 provided by an embodiment of the present invention. The electronic device 300 may have relatively large differences due to different configurations or performances, and may include one or more processors (central processing units, CPU) 301 and one or more memories 302, wherein the memory 302 stores at least one instruction, and the at least one instruction is loaded and executed by the processor 301 to implement the following method for solving the mass customization downmixing line production scheduling problem:
[0236] S1. Obtain the processing information of the workshop; the processing information includes the product information that the workshop can produce, the sales order information to be scheduled, the standard parts information to be scheduled, and the unit time cost of advance and delay.
[0237] Among them, the product information that the workshop can produce includes the unit assembly time of the product, the assembly machine of the product, the number of customized parts for assembled products, and the process information of each customized part of the assembled products; the sales order information to be scheduled includes the product types and quantities in the order and the order delivery time; the standard parts information to be scheduled includes the production quantity and process information of the standard parts to be scheduled; the unit time cost of advance and delay includes the unit time cost of advance and the unit time cost of delay of the sales order to be scheduled.
[0238] S2. Input the processing information of the workshop into the constructed workshop scheduling model.
[0239] S3. Use product-driven scheduling method to solve the workshop scheduling model and obtain the workshop scheduling plan.
[0240] In an exemplary embodiment, a computer-readable storage medium is also provided, such as a memory including instructions, which can be executed by a processor in a terminal to complete the above method for solving the mass customization downmix line production scheduling problem. For example, the computer-readable storage medium can be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, etc.
[0241] A person skilled in the art will understand that all or part of the steps to implement the above embodiments may be accomplished by hardware or by instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a disk or an optical disk, etc.
[0242] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principle of the present invention should be included in the protection scope of the present invention.
Claims
1. A method for solving the production scheduling problem of mass customization mixed line, characterized in that: The method comprises: S1. Obtaining the processing information of the workshop; the processing information includes the product information that the workshop can produce, the sales order information to be scheduled, the standard parts information to be scheduled, and the unit time cost of advance and delay; The product information that can be produced by the workshop includes the unit assembly time of the product, the assembly machine of the product, the number of customized parts of the assembled product, and the process information of each customized part of the assembled product; the sales order information to be scheduled includes the product types and quantities in the order and the order delivery date; the standard parts information to be scheduled includes the production quantity and process information of the standard parts to be scheduled; the advance and delay unit time costs include the advance unit time cost and delay unit time cost of the sales order to be scheduled; S2, inputting the processing information of the workshop into the constructed workshop scheduling model; S3. Using a product-driven scheduling method, the workshop scheduling model is solved to obtain a workshop scheduling plan; The product-driven scheduling method in S3 is used to solve the workshop scheduling model to obtain a workshop scheduling solution including: S31, setting the initial batch number of each standard part to 1; S32, generating a scheduling sequence for each batch of customized parts and standard parts; S33, obtaining a preliminary scheduling plan according to the scheduling sequence and the gap squeezing method; wherein the preliminary scheduling plan is a scheduling plan with the smallest completion time; S34, performing product-driven reverse adjustment on the preliminary scheduling scheme to generate a scheduling scheme S_scheme that balances the completion time and the total advance and delay costs; S35, calculating the average value S_value of the target value of the scheduling scheme S_scheme; S36. If the batch number of each standard part is 1 or S_value is less than Best_value, let the current optimal scheduling scheme Best_scheme be the scheduling scheme S_scheme, let the average value Best_value of the target value of the current optimal scheduling scheme be S_value, increase the standard parts on the critical path of the scheduling scheme S_scheme in batches, and execute S32; if the batch number of each standard part is not 1 and S_value is greater than or equal to Best_value, output the current optimal scheduling scheme Best_scheme as the final workshop scheduling scheme.
2. The method according to claim 1, characterized in that The construction process of the workshop scheduling model in S2 includes: S21. Setting optimization objectives and constraints; S22. Construct a workshop scheduling model according to the optimization objectives and constraints.
3. The method according to claim 2, characterized in that The optimization goal in S21 is to minimize the completion time and the total advance and delay costs; The total lead time and delay cost is the sum of the lead time and delay costs of all products in the sales order to be scheduled.
4. The method according to claim 2, characterized in that: The constraints in S21 include: Split the standard parts into several batches for processing. The number of split batches shall not exceed the total batch size of the standard parts. Batch processing of products and customized parts of sales orders to be dispatched; Any operation is assigned to only one machine at a time, and the next operation can only be processed after the previous operation on the same machine is completed; In the component processing stage, the completion time of any process is equal to the sum of the start time and the unit processing time required for the component on the machine multiplied by the number of components; In the product assembly stage, the time when the product assembly is completed is equal to the sum of the time when the product assembly starts and the unit assembly time multiplied by the number of products; During the component processing stage, the subsequent processes of the same component must wait until the previous process is completed before they can be processed; In the product assembly stage, when all the customized parts required to assemble the product have been processed, the product is assembled; Each component starts processing from time 0; The decision variable takes the value of 0 or 1; Constraint variables are non-negative.
5. The method according to claim 1, characterized in that The scheduling sequence of generating batches of customized parts and standard parts in S32 includes: S321, calculating the slack time of each process of each customized part of each product in the sales order to be scheduled; S322, arranging the customized parts in ascending order according to the relaxation time, and generating a scheduling sequence of the customized parts process; S323. Randomly insert each process of each batch of standard parts into the scheduling sequence of the customized parts process to generate the scheduling sequence of each batch of customized parts and standard parts.
6. The method according to claim 1, characterized in that The step S33 of obtaining a preliminary scheduling plan according to the scheduling sequence and the gap squeezing method includes: S331, sequentially obtaining processes from the scheduling sequence; S332. Traverse all the gaps of all available machines of the acquired process, and find a gap in the gap that satisfies the requirement that the start time of the gap is greater than the completion time of the predecessor process and the gap length is greater than the processing time of the acquired process, and insert the acquired process into the gap with the smallest completion time to obtain a preliminary scheduling plan.
7. The method according to claim 1, characterized in that The product-driven reverse adjustment of the preliminary scheduling plan in S34 to generate a scheduling plan with balanced completion time and total advance and delay costs includes: S3401, record the preliminary scheduling scheme as IS_scheme, and obtain the completion time of IS_scheme as SM; S3402, adjusting the scheduling order of the processes of the preliminary scheduling scheme IS_scheme to be arranged in ascending order of the start time of the processes in the IS_scheme; S3403, obtaining the products completed ahead of schedule in the sales order to be scheduled from the preliminary scheduling scheme IS_scheme, and storing the products completed ahead of schedule in Eproduct_set; S3404, obtain all customized parts processes for assembling products in Eproduct_set from the scheduling sequence, store all customized parts processes in Epart_set, and let i = the total number of processes in the scheduling sequence; S3405, extract the process from the scheduling sequence in reverse order, and determine whether the total number of processes in the scheduling sequence i>0; if so, obtain the i-th process g in the scheduling sequence i , go to execute S3406; otherwise, output the adjusted scheduling scheme, which is the scheduling scheme S_scheme that balances the completion time and the total advance and delay costs; S3406, judging process g i Does it belong to the process in the Epart_set? If yes, go to S3407; otherwise, determine the process g i Is it a custom part process? If so, get the product p to which the custom part belongs i , the product p in the preliminary scheduling scheme IS_scheme i The machines and assembly start and end times of the assembly process are stored in the adjusted scheduling scheme S_scheme, and the process proceeds to S3410; otherwise, the process proceeds to S3411; S3407, judgment process g i Products i Whether the machine and assembly start and end time of the assembly process are adjusted; if not, go to S3408; if adjusted, go to S3409; S3408. Delete product p from the IS_scheme i Assembly scheduling information of product p i Order o i Delivery time D, get product p i The optimal completion time BM = min(D, SM); in the IS_scheme, starting from BM, all the gaps on all assembly machines are traversed forward and backward in sequence to obtain all feasible scheduling results and calculate the product p i The early and late costs ETcost; select the scheduling result S with the smallest ETcost from all feasible scheduling results. If all feasible scheduling results include a scheduling result with the same ETcost, select it randomly; store the scheduling result S in the scheduling scheme S_scheme and execute S3409; S3409, process g i The scheduling information of the current process corresponding to the preliminary scheduling scheme IS_scheme is deleted. If the current process is the last process of the customized part, then process g i The best completion time BM = product p i The assembly start time of the current process; otherwise, BM = the start time of the next process after the current process; in IS_scheme, take BM as the starting point, traverse all the gaps on all available machines in reverse, and then obtain all feasible scheduling results, and calculate the corresponding process g of all feasible scheduling results i At the completion time, select the scheduling result S with the smallest difference between the completion time and BM. If all feasible scheduling results contain a scheduling result with the same difference between the completion time and BM, select it randomly. Store the scheduling result S in the scheduling scheme S_scheme. Set i=i-1 and go to execute S3405. S3410, obtain process g i In the preliminary scheduling scheme IS_scheme, the processing machine m corresponding to the current process is deleted. i The corresponding scheduling information of the current process. If the current process is the last process of the customized part, then process g i The best completion time BM = product p i The assembly start time of the current process, otherwise, BM = the start time of the next process after the current process; in IS_scheme, take BM as the starting point, traverse all the gaps on the processing machine m in reverse, and then obtain all feasible scheduling results, and calculate the corresponding process g of all feasible scheduling results i At the completion time, select the scheduling result S with the smallest difference between the completion time and BM. If all feasible scheduling results contain a scheduling result with the same difference between the completion time and BM, select it randomly. Store the obtained scheduling result S in the scheduling scheme S_scheme. Set i=i-1 and go to execute S3405. S3411, obtain process g i In the preliminary scheduling scheme IS_scheme, the processing machine m corresponding to the current process is deleted. i The corresponding scheduling information of the current process. If the current process is the last process of the standard part, then process g i The best completion time BM = SM, otherwise, BM = the start time of the next process after the current process. In IS_scheme, take BM as the starting point, traverse all the gaps on the processing machine m in reverse, and then obtain all feasible scheduling results, and calculate the corresponding process g of all feasible scheduling results i At the completion time, select the scheduling result S with the smallest difference between the completion time and BM. If all feasible scheduling results contain a scheduling result with the same difference between the completion time and BM, select it randomly. Store the obtained scheduling result S in the scheduling scheme S_scheme. Set i=i-1 and go to execute S3405.
8. A device for solving the production scheduling problem of large-scale customized downmixing lines, characterized in that: The device comprises: An acquisition module is used to acquire the processing information of the workshop; the processing information includes product information that the workshop can produce, sales order information to be scheduled, standard parts information to be scheduled, and unit time cost of advance and delay; The product information that can be produced by the workshop includes the unit assembly time of the product, the assembly machine of the product, the number of customized parts of the assembled product, and the process information of each customized part of the assembled product; the sales order information to be scheduled includes the product types and quantities in the order and the order delivery date; the standard parts information to be scheduled includes the production quantity and process information of the standard parts to be scheduled; the advance and delay unit time costs include the advance unit time cost and delay unit time cost of the sales order to be scheduled; An input module, used to input the processing information of the workshop into the constructed workshop scheduling model; An output module, used for solving the workshop scheduling model by adopting a product-driven scheduling method to obtain a workshop scheduling plan; The product-driven scheduling method is used to solve the workshop scheduling model to obtain a workshop scheduling solution including: S31, setting the initial batch number of each standard part to 1; S32, generating a scheduling sequence for each batch of customized parts and standard parts; S33, obtaining a preliminary scheduling plan according to the scheduling sequence and the gap squeezing method; wherein the preliminary scheduling plan is a scheduling plan with the smallest completion time; S34, performing product-driven reverse adjustment on the preliminary scheduling scheme to generate a scheduling scheme S_scheme that balances the completion time and the total advance and delay costs; S35, calculating the average value S_value of the target value of the scheduling scheme S_scheme; S36. If the batch number of each standard part is 1 or S_value is less than Best_value, let the current optimal scheduling scheme Best_scheme be the scheduling scheme S_scheme, let the average value Best_value of the target value of the current optimal scheduling scheme be S_value, increase the standard parts on the critical path of the scheduling scheme S_scheme in batches, and execute S32; if the batch number of each standard part is not 1 and S_value is greater than or equal to Best_value, output the current optimal scheduling scheme Best_scheme as the final workshop scheduling scheme.
Citation Information
Patent Citations
Method for optimizing customized furniture serial batch scheduling
CN103984985A
MES platform for mass customization of furniture
CN108596422A