A method for order scheduling on resource-constrained parallel machines based on progressive locking strategy
By optimizing order scheduling through progressive locking strategies and heuristic algorithms, the complexity of production and distribution for multi-variety, small-batch orders is resolved, model continuity and efficiency of direct shipments off the production line are improved, and costs and scheduling difficulties are reduced.
Patent Information
- Application Number
- CN202411198635.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-29
- Publication Date
- 2025-10-03
- Estimated Expiration
- 2044-08-29
AI Technical Summary
Under the demand for small-batch orders of multiple varieties, the traditional large-scale manufacturing model leads to increased production and distribution costs, and it is difficult for planners to schedule production, and it is difficult to achieve complex relationship mapping between orders, addresses and models and inventory cost control.
A resource-constrained parallel machine order scheduling method based on a progressive locking strategy is adopted, combined with heuristic algorithms and intelligent algorithms. By configuring business parameters and model mold loading on a shift-by-shift basis, the order scheduling plan is optimized to ensure model continuity and direct shipment efficiency.
While ensuring product diversity, we can improve the efficiency of direct shipment of orders, reduce inventory costs, lower production and distribution costs, and improve the scientificity and efficiency of production scheduling.
Smart Images

Figure CN119168285B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of data processing technology, and in particular to a resource-constrained parallel machine order scheduling method based on a progressive locking strategy. Background Art
[0002] Overall, scale and cost advantages are key drivers of growth in the home appliance industry. However, environmental changes are placing increasingly stringent demands on the industry. Specifically, market demand for high-variety, low-volume products is gradually replacing the previous demand for low-variety, high-volume products. This has led to high production costs for the traditional inventory-focused, large-scale manufacturing model, driven by product diversity and rapid iteration. Secondly, to reduce finished goods warehouse space, companies are adopting a drop-off model where completed orders are shipped directly to the address of the customer. However, faced with fragmented order demand and highly dispersed address requirements, this large-scale manufacturing model can lead to dispersed completion of orders for the same address, increasing distribution costs. Therefore, the current large-scale manufacturing model needs to be improved, combining product diversity with the need for integrated production and distribution. However, most manufacturers rely on third-party logistics for distribution, leading to information asymmetry between manufacturers and distributors, making it difficult to jointly consider the integration of production and distribution, and thus increasing revenue pressure for companies.
[0003] While taking into account both variety diversity and intensive production, considering intensive distribution to multiple addresses and formulating production scheduling plans will undoubtedly greatly increase the difficulty of production scheduling for planners. The decision-making dimensions, factors that need to be considered, and the amount of data required in the production scheduling process are growing exponentially, which increases the planning time for planners and the risk of omissions. Summary of the Invention
[0004] The purpose of this invention is to provide an order scheduling method for resource-constrained parallel machines based on a progressive locking strategy. This method efficiently generates scientific and effective order scheduling solutions for resource-constrained parallel machine scenarios. It addresses the computational complexity associated with mapping complex relationships between orders, addresses, and models, as well as the problem of a fragmented solution space caused by the need to consider multiple constraints. Orders are also scheduled to ensure that as many orders as possible meet the requirements for direct shipment, thereby enabling direct shipment and reducing inventory costs.
[0005] A resource-constrained parallel machine order scheduling method based on a progressive locking strategy includes:
[0006] Get order data;
[0007] Calculating an order scheduling plan based on the order data using a heuristic algorithm;
[0008] An intelligent order scheduling algorithm based on a progressive locking strategy is used to optimize the order scheduling plan.
[0009] Preferably, obtaining order data includes:
[0010] Obtain information on the number of machines in the factory, the models that the machines can produce, the machine start time information, the time required to produce a single model of product, the resources required to produce a single model of product, and customer order information.
[0011] Preferably, the calculating of the order scheduling plan based on the order data using a heuristic algorithm includes:
[0012] Get order information, model information, resource information, work calendar information and configuration information;
[0013] Convert order information, model information, resource information, work calendar information and configuration information into integer data by establishing key-value pair matching;
[0014] Summarize order information by month and model to obtain the model set that needs to be produced;
[0015] According to the data preprocessing process, redundant data in the model information and resource information of the current version is eliminated;
[0016] Initialize the idle machine list;
[0017] Determine whether the current shift is the first shift;
[0018] Select the machine to continuously take over the lower die strategy or the upper die strategy based on domain knowledge and constraints based on the current shift information;
[0019] Output model production schedule.
[0020] Preferably, the method of selecting a continuous lower die strategy or an upper die strategy based on domain knowledge and constraints for the machine according to the current shift information includes:
[0021] If the current shift is the first shift, select the continuous die transfer strategy for the machine, including:
[0022] Obtain the model production schedule of the previous shift and pre-allocate the model production schedule of the previous shift as the mold arrangement plan for the current shift;
[0023] According to the previous shift's production schedule, determine whether the molds that have been loaded have reached the maximum number of continuous production days;
[0024] If the maximum number of continuous production days is reached, verify the correspondence between the remaining model demand and the current production capacity. Current available production capacity = number of shifts that can load molds * maximum number of molds for the current model * UPH of the current model. If the number of machines that can load molds for the current model cannot meet the minimum number of continuous production days if continued production is completed and the remaining demand can be completed within the monthly range, remove the mold from one of the machines and recheck the current step.
[0025] If the maximum number of continuous production days has not been reached, determine whether the mold has reached the maximum number of continuous production days. If so, check whether all orders within the monthly range for the corresponding model of the mold have been completed. If so, proceed to demolding. If not, do not proceed to demolding.
[0026] The door body resource check is performed on the mold arrangement plan of the current shift. If the door body resource is insufficient to support the production of the corresponding model of the mold, the mold is removed from the mold. If the door body resource is sufficient to support the production of the model, the mold is not removed from the mold.
[0027] Perform capacity verification on the remaining model information to check whether the demand can be met within the available capacity range of the model. If it cannot be met, prioritize the model with constraints and then select the mold with a larger number of upper molds for lower molds.
[0028] Save the model collection of the completed lower mold.
[0029] Preferably, the method of selecting a continuous lower die strategy or an upper die strategy based on domain knowledge and constraints for the machine according to the current shift information includes:
[0030] If the current shift is not the first shift, select a mold-up strategy based on domain knowledge and constraints, including:
[0031] Summarize the list of all idle machines in the current shift and prioritize the models based on the highest to lowest monthly order volume for the same model.
[0032] Prioritize models that are subject to model mutual exclusion and machine production constraints, then select models with higher model priorities. After sorting the model set to be produced based on model priorities, a list of candidate upper mold models for the current shift is obtained.
[0033] The model set of the lower mold that was pre-allocated during the production scheduling process of the previous shift is removed from the list of candidate models for the lower and upper molds of the current shift;
[0034] Summarize the list of molds that have been loaded on non-idle machines in the current shift, and remove mutually exclusive models under the production models of non-idle machines from the list of candidate models for loading molds in the current shift;
[0035] The current shift selects the mold of the corresponding model from the highest to the lowest model according to the remaining quantity of the order. The maximum number of products that can be queued = min (box mold production capacity, door resource supply capacity) / daily production capacity of a single mold.
[0036] Determine whether the number of mold types exceeds the maximum number of mold types. If so, reselect the model for mold placement and remove the model corresponding to the current mold from the list of candidate mold types for the current shift.
[0037] If the maximum number of mold types is not exceeded, determine whether the molds corresponding to the models are mutually exclusive. If the mold corresponding to the new mold type is mutually exclusive with other molds already loaded in the current shift, remove the corresponding mold type from the list P of candidate mold types for the current shift, and select a new model for mold loading.
[0038] If the molds corresponding to the models are not mutually exclusive, determine whether the current mold loading machine and mold have mold loading area restrictions. If so, reselect the model from the list of alternative mold loading models for the current shift and perform the mold loading process.
[0039] If there is no restriction on the mold loading area, determine whether there is an idle machine in the current shift. If there is an idle machine in the current shift and the list of mold loading candidate models in the current shift has not been completely traversed, continue to select the model for mold loading;
[0040] If there is no idle machine in the current shift or the list of upper die alternative models in the current shift has been completely traversed, it will jump to the next shift and re-perform the previous shift to pre-allocate the production schedule and the upper die strategy based on domain knowledge and constraints.
[0041] Preferably, the optimization of the order scheduling scheme by using an intelligent order scheduling algorithm based on a progressive locking strategy includes:
[0042] Obtain order information and previous model production schedule;
[0043] Initialize the number of iterations, population size, and mutation probability parameters;
[0044] Randomly generate initial solutions for order information based on population size;
[0045] Calculate the fitness value of each chromosome in the population and sort them;
[0046] Iterate according to the progressive locking intelligent algorithm iteration strategy and update the chromosome information in each population;
[0047] Mutate according to the mutation probability;
[0048] The chromosome with the best fitness in the population is selected and decoded according to the model scheduling plan to obtain the optimized order scheduling plan.
[0049] Preferably, the step of taking the chromosome with the best fitness in the population and decoding it according to the model production scheduling plan to obtain an optimized order production scheduling plan includes:
[0050] Obtain the order scheduling information based on the code, traverse the orders one by one in order, and determine the orders that need to be scheduled at the moment;
[0051] According to the demand month of the order currently requiring production scheduling, find the model information of the order currently requiring production scheduling and sort them in chronological order;
[0052] Establish an allocation relationship between the model and quantity required by the current order and the corresponding production capacity, and deduct the relevant production capacity information and time information at the same time until all orders are scheduled;
[0053] Based on the time range required for direct delivery, the order scheduling results are divided into time ranges;
[0054] Select the orders that have been completed within the time range, and summarize the orders by address to obtain the address order summary;
[0055] Select an address in the address order set, sort the orders belonging to the address in descending order of required quantity, select these orders one by one to aggregate, and record the current order set and the order numbers of the participating orders after the shipping party is found. Then select other orders that are not included in the aggregation to aggregate them again;
[0056] If the remaining orders cannot be grouped together with the shipping party, the remaining orders will be grouped together into the largest party according to the number of parties participating in the grouping, from the smallest to the largest, without exceeding the largest party.
[0057] Preferably, the iterating according to the progressive locking intelligent algorithm iterative strategy and updating the chromosome information in each population includes:
[0058] Get the number of iterations, population size n, mutation probability, and asymptotic locking iterations;
[0059] Summarize the models and production quantities in the model production schedule for each shift;
[0060] According to the number of orders, the population is initialized by randomly generating an order priority sequence, and the population is sorted according to fitness to obtain the population;
[0061] Two different chromosomes S1 and S2 are selected by roulette wheel, and gene sites C1 and C2 are randomly selected in chromosomes S1 and S2 for crossover;
[0062] Check whether there is duplication or deletion of coding sequence numbers in S1 and S2 after crossing;
[0063] If there are repeated or missing numbers in the coding sequence, randomly select a repeated number to replace the missing number;
[0064] Decode the newly generated chromosomes and calculate their fitness values, and determine whether the chromosomes with better fitness values in the population have the same gene sequence;
[0065] If the same gene sequence exists, the address concentration time range to which the gene sequence belongs is divided and the number of occurrences of its iterations is recorded. When the number of occurrences in the continuous iteration process exceeds the asymptotic locking iteration number, the current part of the order is fixed, the relevant production capacity in the model scheduling plan is deducted, and the iteration plan of the current part of the chromosome is deleted;
[0066] Select the best n individuals from all parent individuals and offspring individuals as the population of the next generation;
[0067] Check whether the current situation meets the mutation conditions. If so, randomly generate a new chromosome and insert it into the population, and remove the chromosome with a low fitness evaluation index.
[0068] Repeat the iteration until all chromosome gene bits are deleted or the upper limit of the iteration number is reached.
[0069] A resource-constrained parallel machine order scheduling system based on a progressive locking strategy includes:
[0070] Data acquisition module, used to obtain order data;
[0071] A data processing module, configured to calculate an order scheduling plan based on the order data using a heuristic algorithm;
[0072] The optimization module is used to optimize the order scheduling plan by adopting an order scheduling intelligent algorithm based on a progressive locking strategy.
[0073] An electronic device comprises: a processor and a memory, wherein the memory is used to store computer program code, the computer program code comprising computer instructions, and when the processor executes the computer instructions, the electronic device executes a resource-constrained parallel machine order scheduling method based on a progressive locking strategy.
[0074] The beneficial effects of the present invention are as follows: 1. The present invention is based on a heuristic algorithm based on domain rules. Its core is to configure relevant business parameters based on the actual production environment conditions. Through the business parameters, the molds required for the model are installed on a shift-by-shift basis according to the work calendar, thereby ensuring model continuity while ensuring variety. 2. The present invention is based on an intelligent order scheduling algorithm based on a progressive locking strategy. Its core is to actually schedule orders within the model production capacity allocated in the first part based on the model scheduling plan in the first part, and to maximize the efficiency of direct shipment of orders off the line. BRIEF DESCRIPTION OF THE DRAWINGS
[0075] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the invention and, together with the description, serve to explain the principles of the invention.
[0076] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.
[0077] Figure 1 This is a flow chart of a method for scheduling order on a resource-constrained parallel machine based on a progressive locking strategy according to the present invention;
[0078] Figure 2 Schematic diagram of the process flow of the continuous succession lower mold strategy and the upper mold strategy based on domain knowledge and constraints of the present invention;
[0079] Figure 3 This is a flow chart of the model address intensive optimization algorithm based on the intelligent algorithm of the present invention;
[0080] Figure 4 This is a schematic diagram of the chromosome decoding process of the present invention;
[0081] Figure 5 This is a schematic diagram of the process of searching for an order set according to the present invention;
[0082] Figure 6 Schematic diagram of the progressive locking process of the present invention. DETAILED DESCRIPTION
[0083] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. All other embodiments obtained by ordinary technicians in this field based on the embodiments of the present invention without making any creative efforts shall fall within the scope of protection of the present invention.
[0084] It should be noted that all directional indications in the embodiments of the present invention (such as up, down, left, right, front, back, etc.) are only used to explain the relative position relationship, movement status, etc. between the various components under a certain specific posture (as shown in the accompanying drawings). If the specific posture changes, the directional indication will also change accordingly.
[0085] In addition, the descriptions of "first", "second", etc. in the present invention are for descriptive purposes only and should not be understood as indicating or implying their relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features defined as "first" or "second" may explicitly or implicitly include at least one of such features. In addition, the technical solutions between the various embodiments can be combined with each other, but this must be based on the fact that they can be implemented by ordinary technicians in this field. When the combination of technical solutions is contradictory or cannot be implemented, it should be deemed that such combination of technical solutions does not exist and is not within the scope of protection required by the present invention.
[0086] While taking into account both variety diversity and intensive production, considering intensive distribution to multiple addresses and formulating production scheduling plans will undoubtedly greatly increase the difficulty of production scheduling for planners. The decision-making dimensions, factors that need to be considered, and the amount of data required in the production scheduling process are growing exponentially, which increases the planning time for planners and the risk of omissions.
[0087] The core of this invention's domain-rule-based heuristic algorithm is to configure relevant business parameters based on actual production environment conditions. Using these business parameters, the molds required for each model are assembled on a shift-by-shift basis according to the work calendar, ensuring model continuity while ensuring variety. The core of this invention's intelligent order scheduling algorithm, based on a progressive locking strategy, is to schedule orders within the allocated model capacity in the first part, building on the first part's model scheduling plan, and maximizing the efficiency of direct shipment of orders off the production line.
[0088] Example 1
[0089] A resource-constrained parallel machine order scheduling method based on progressive locking strategy, Figure 1 ,include:
[0090] S100, obtaining order data;
[0091] S200 uses a heuristic algorithm to calculate the order scheduling plan based on order data;
[0092] S300 uses an intelligent order scheduling algorithm based on a progressive locking strategy to optimize order scheduling plans.
[0093] Preferably, S100, obtaining order data includes:
[0094] Obtain information on the number of machines in the factory, the models that the machines can produce, the machine start time information, the time required to produce a single model of product, the resources required to produce a single model of product, and customer order information.
[0095] The present invention performs data preprocessing and data verification on relevant basic data. It is characterized by obtaining information on the number of machines in the factory, the models that the machines can produce, the machine operation hours, the time required for model production, the resources required for model production, and customer order information. Data preprocessing involves encoding the data and converting relevant data fields to facilitate subsequent program processing. Data verification involves eliminating relevant illegal data, such as order information that does not require a process route model, to ensure program operation stability.
[0096] Because actual production data is configured by planners, there are situations where mismatches or omissions can occur. For example, to meet market demand, a company launches a new model for sale. A customer places an order for the new model, but the corresponding supply route cannot be found in the system. To ensure the efficiency and stability of the algorithm and to block interference from abnormal data, this module preprocesses production data before it enters the algorithm.
[0097] Through the user's quick code configuration, information such as the maximum and minimum continuous production days and the machine's production matrix can be obtained, and the data is associated with key-value pairs to achieve standardized processing of character information into integer information.
[0098] The products in the order information table are aggregated by month to obtain the model set N that needs to be produced.
[0099] Based on the model set N to be produced, the information table with the model field is searched to see if there is a corresponding relationship. If a single model exists but the model-related information table does not have data for it, but the model set N does, the corresponding data is deleted to improve the efficiency of the algorithm data retrieval. If a single model exists but the model-related information table does not have data for it, but the model set N does, the order corresponding to the model is transferred to a new order set D, and the relevant information is fed back to the user after the entire production scheduling process is completed.
[0100] Preferably, reference Figure 2 ,S200, uses heuristic algorithms to calculate order scheduling solutions based on order data, including:
[0101] This module primarily draws on the experience of production schedulers to develop a domain-knowledge-based heuristic algorithm. This heuristic algorithm's algorithmic process leads to a model scheduling plan. This approach ensures product diversity and production continuity, avoiding infeasible solutions caused by constraints. This module primarily involves shift scheduling decisions, a continuous die-taking strategy, and an upper die strategy based on domain knowledge and constraints.
[0102] S210, obtaining order information, model information, resource information, work calendar information and configuration information;
[0103] S220, converting the order information, model information, resource information, work calendar information, and configuration information into integer data by establishing a key-value pair matching method;
[0104] S230, summarizing the order information by month and model to obtain a set of models to be produced;
[0105] S240, according to the data preprocessing process, remove redundant data in the model information and resource information of the current version;
[0106] S250, initializing the idle machine list;
[0107] S260, determining whether the current shift is the first shift;
[0108] S270, selecting a continuous lower die strategy or an upper die strategy based on domain knowledge and constraints for the machine based on the current shift information;
[0109] S280, output model production scheduling plan.
[0110] The present invention calls a heuristic algorithm based on domain knowledge to derive a model scheduling plan, which is characterized by summarizing the model information required in customer orders, combining the model summary information with the shifts to be opened and the resource information required for production, and combining domain knowledge to schedule the required models shift by shift, thereby deriving a model scheduling plan.
[0111] Pseudo code of the production intensive model scheduling algorithm based on domain knowledge:
[0112] Input: order information Order_Info, model information Fac_Info, resource information Res_Info, work calendar information Data_Info, configuration information Config_Info;
[0113] Convert order information Order_Info, model information Fac_Info, resource information Res_Info, work calendar information Data_Info, and configuration information Config_Info into integer data by establishing key-value pair matching;
[0114] Summarize the order information Order_Info by month and model to obtain the model set N that needs to be produced;
[0115] for i=1:length(N)
[0116] According to the data preprocessing process, irrelevant data in the model information Fac_Info and resource information Res_Info in the current version are eliminated;
[0117] end for
[0118] for i=1:length(Data_Info)
[0119] Initialize the idle machine list idle_List;
[0120] If the current flight is the first flight;
[0121] Inherit the mold information of the previous shift to the current shift, and according to the continuity of the mold placement strategy, place the mold on the machine and update the idle machine list idle_List at the same time;
[0122] end if
[0123] According to the mold-up strategy based on domain knowledge and constraints, the idle machine list idle_List is molded;
[0124] end for;
[0125] Output model scheduling scheme Mould_scheme1.
[0126] Preferably, in S270, selecting a continuous lower die strategy or an upper die strategy based on domain knowledge and constraints for the machine according to the current shift information includes:
[0127] Shift scheduling decision. This decision primarily determines whether the current shift can inherit shift information. If it can, it is the first shift; if it cannot, it is not the first shift. If the current shift is the first shift, the upper model strategy based on domain knowledge and constraints is implemented. If the current shift is not the first shift, the previous shift's production schedule information is obtained and the current shift is pre-allocated according to the previous shift's production schedule.
[0128] If the current shift is the first shift, select the continuous die transfer strategy for the machine, including:
[0129] Obtain the model production schedule of the previous shift and pre-allocate the model production schedule of the previous shift as the mold arrangement plan for the current shift;
[0130] According to the previous shift's production schedule, determine whether the molds that have been loaded have reached the maximum number of continuous production days;
[0131] If the maximum number of continuous production days is reached, verify the correspondence between the remaining model demand and the current production capacity. Current available production capacity = number of shifts that can load molds * maximum number of molds for the current model * UPH of the current model. If the number of machines that can load molds for the current model cannot meet the minimum number of continuous production days if continued production is completed and the remaining demand can be completed within the monthly range, remove the mold from one of the machines and recheck the current step.
[0132] If the maximum number of continuous production days has not been reached, determine whether the mold has reached the maximum number of continuous production days. If so, check whether all orders within the monthly range for the corresponding model of the mold have been completed. If so, proceed to demolding. If not, do not proceed to demolding.
[0133] The door body resource check is performed on the mold arrangement plan of the current shift. If the door body resource is insufficient to support the production of the corresponding model of the mold, the mold is removed from the mold. If the door body resource is sufficient to support the production of the model, the mold is not removed from the mold.
[0134] Perform capacity verification on the remaining model information to check whether the demand can be met within the available capacity range of the model. If it cannot be met, prioritize the model with constraints and then select the mold with a larger number of upper molds for lower molds.
[0135] Save the model collection of the completed lower mold.
[0136] Preferably, in S270, selecting a continuous lower die strategy or an upper die strategy based on domain knowledge and constraints for the machine according to the current shift information includes:
[0137] If the current shift is not the first shift, select a mold-up strategy based on domain knowledge and constraints, including:
[0138] Summarize the list of all idle machines in the current shift and prioritize the models based on the highest to lowest monthly order volume for the same model.
[0139] Prioritize models that are subject to model mutual exclusion and machine production constraints, then select models with higher model priorities. After sorting the model set to be produced based on model priorities, a list of candidate upper mold models for the current shift is obtained.
[0140] The model set of the lower mold that was pre-allocated during the production scheduling process of the previous shift is removed from the list of candidate models for the lower and upper molds of the current shift;
[0141] Summarize the list of molds that have been loaded on non-idle machines in the current shift, and remove mutually exclusive models under the production models of non-idle machines from the list of candidate models for loading molds in the current shift;
[0142] The current shift selects the mold of the corresponding model from the highest to the lowest model according to the remaining quantity of the order. The maximum number of products that can be queued = min (box mold production capacity, door resource supply capacity) / daily production capacity of a single mold.
[0143] Determine whether the number of mold types exceeds the maximum number of mold types. If so, reselect the model for mold placement and remove the model corresponding to the current mold from the list of candidate mold types for the current shift.
[0144] If the maximum number of mold types is not exceeded, determine whether the molds corresponding to the models are mutually exclusive. If the mold corresponding to the new mold type is mutually exclusive with other molds already loaded in the current shift, remove the corresponding mold type from the list P of candidate mold types for the current shift, and select a new model for mold loading.
[0145] If the molds corresponding to the models are not mutually exclusive, determine whether the current mold loading machine and mold have mold loading area restrictions. If so, reselect the model from the list of alternative mold loading models for the current shift and perform the mold loading process.
[0146] If there is no restriction on the mold loading area, determine whether there is an idle machine in the current shift. If there is an idle machine in the current shift and the list of mold loading candidate models in the current shift has not been completely traversed, continue to select the model for mold loading;
[0147] If there is no idle machine in the current shift or the list of upper die alternative models in the current shift has been completely traversed, it will jump to the next shift and re-perform the previous shift to pre-allocate the production schedule and the upper die strategy based on domain knowledge and constraints.
[0148] Preferably, reference Figure 3 S300 uses an intelligent order scheduling algorithm based on a progressive locking strategy to optimize the order scheduling solution, including:
[0149] The order scheduling algorithm, based on a model scheduling algorithm, allocates orders in a specific order. During the allocation process, orders can be split into any number of production units. Furthermore, during the production process, orders must be completed as quickly as possible to ensure that a larger number of orders are available for direct shipment. Therefore, orders are evenly distributed across machines capable of producing that model at the current time. Based on this, the order scheduling process aggregates models. Specifically, each machine's operating shift, time, and production capacity are simplified to the number of units each model can produce at the current operating shift and time. The algorithm prioritizes order production to determine the timeframe for order scheduling. It then determines whether an order should be eligible for direct shipment by finding orders that can be completed within this timeframe.
[0150] S310, obtaining order information and the previous level model production schedule;
[0151] S320, initialize the number of iterations, population size, and mutation probability parameters;
[0152] S330, randomly generating an initial solution for the order information according to the population size;
[0153] S340, calculate the fitness value of each chromosome in the population and sort them;
[0154] The order scheduling problem is encoded using a sequential encoding method. This encoding must ensure the precedence relationship between orders and ensure that each order is a feasible solution during the generation and iteration process. The order scheduling code consists of multiple unique numbers. An example of the encoding is shown in Table 1.
[0155] Table 1 Chromosome coding table
[0156]
[0157] S350, iterates according to the progressive locking intelligent algorithm iteration strategy and updates the chromosome information in each population;
[0158] S360, mutation according to mutation probability;
[0159] S370, take the chromosome with the best fitness in the population and decode it according to the model production scheduling plan to obtain the optimized order production scheduling plan.
[0160] The present invention calls an intelligent order scheduling algorithm based on a progressive locking strategy. The intelligent order scheduling algorithm based on a progressive locking strategy is characterized by obtaining a scheduling plan for model scheduling, formulating the order scheduling sequence through a genetic algorithm, and thus formulating an order scheduling plan. Based on the order scheduling plan, the number of orders that can meet the conditions for direct shipment from the offline line is calculated, and then the order sequence is iterated according to the genetic algorithm. The condition for direct shipment from the offline line is a set of orders completed at the same address within a certain time range. The total number of square meters of the set meets the requirements between the starting square meter and the maximum square meter of the truck, which is direct shipment from the offline line. For example, assuming that the starting square meter is 200 square meters and the maximum square meter is 300 square meters, the demand quantity of the corresponding model of order one is 50 units, the unit volume is 1.1, and the shipping address is Guangzhou. The demand quantity of the corresponding model of order two is 200 units, the unit volume is 1.2, and the shipping address is Guangzhou. Then order one and order two can be put together as order set one to participate in direct shipment from the offline line.
[0161] Intelligent order scheduling algorithm for intensive distribution:
[0162] Input: Order information Order_Info, previous level model production scheduling scheme Mould_scheme2;
[0163] Initialize parameters such as the number of iterations count, population size c, and mutation probability a;
[0164] Randomly generate an initial solution for the order information Order_Info according to the population size c
[0165] Calculate the fitness value of each chromosome in the population and sort them
[0166] for i=1:length(count);
[0167] Iterate according to the progressive locking intelligent algorithm iteration strategy and update the chromosome information in each population;
[0168] Mutate according to the mutation probability a;
[0169] end for
[0170] Take the chromosome with the best fitness in the population and decode it according to the model scheduling scheme Mould_scheme2 to obtain the order scheduling scheme Order_scheme;
[0171] Output model scheduling scheme Order_scheme.
[0172] Preferably, reference Figure 4 and Figure 5, S370, takes the chromosome with the best fitness in the population and decodes it according to the model scheduling plan, and obtains the optimized order scheduling plan including:
[0173] Obtain the order scheduling information based on the code, traverse the orders one by one in order, and determine the orders that need to be scheduled at the moment;
[0174] According to the demand month of the order currently requiring production scheduling, find the model information of the order currently requiring production scheduling and sort them in chronological order;
[0175] Establish an allocation relationship between the model and quantity required by the current order and the corresponding production capacity, and deduct the relevant production capacity information and time information at the same time until all orders are scheduled;
[0176] Based on the time range required for direct delivery, the order scheduling results are divided into time ranges;
[0177] Select the orders that have been completed within the time range, and summarize the orders by address to obtain the address order summary;
[0178] Select an address in the address order set, sort the orders belonging to the address in descending order of required quantity, select these orders one by one to aggregate, and record the current order set and the order numbers of the participating orders after the shipping party is found. Then select other orders that are not included in the aggregation to aggregate them again;
[0179] If the remaining orders cannot be grouped together with the shipping party, the remaining orders will be grouped together into the largest party according to the number of parties participating in the grouping, from the smallest to the largest, without exceeding the largest party.
[0180] During the chromosome decoding process, orders are scheduled one by one in the order of coding, and the specific orders involved in the offline direct delivery process are decided. Therefore, the quality of decoding largely determines the quality of the solution. Given that business rules
[43] are essentially the precise distillation of a certain characteristic of the business, they play a vital role as a guide for decision-making, standardizing business activities, and controlling practical operations. In real scenarios, planners will complete orders in the shortest possible time so that more orders can meet the offline direct delivery conditions. Therefore, the chromosome decoding process integrates the algorithm efficiency optimization strategy based on the actual order scheduling of planners, so that more orders can meet the offline direct delivery decision while taking into account the feasibility and efficiency of domain knowledge, thereby improving the quality of the algorithm solution.
[0181] Preferably, reference Figure 6 , S350, iterates according to the progressive locking intelligent algorithm iteration strategy and updates the chromosome information in each population including:
[0182] Get the number of iterations, population size n, mutation probability, and asymptotic locking iterations;
[0183] Summarize the models and production quantities in the model production schedule for each shift;
[0184] According to the number of orders, the population is initialized by randomly generating an order priority sequence, and the population is sorted according to fitness to obtain the population;
[0185] Two different chromosomes S1 and S2 are selected by roulette wheel, and gene sites C1 and C2 are randomly selected in chromosomes S1 and S2 for crossover;
[0186] Check whether there is duplication or deletion of coding sequence numbers in S1 and S2 after crossing;
[0187] If there are repeated or missing numbers in the coding sequence, randomly select a repeated number to replace the missing number;
[0188] Decode the newly generated chromosomes and calculate their fitness values, and determine whether the chromosomes with better fitness values in the population have the same gene sequence;
[0189] If the same gene sequence exists, the address concentration time range to which the gene sequence belongs is divided and the number of occurrences of its iterations is recorded. When the number of occurrences in the continuous iteration process exceeds the asymptotic locking iteration number, the current part of the order is fixed, the relevant production capacity in the model scheduling plan is deducted, and the iteration plan of the current part of the chromosome is deleted;
[0190] Select the best n individuals from all parent individuals and offspring individuals as the population of the next generation;
[0191] Check whether the current situation meets the mutation conditions. If so, randomly generate a new chromosome and insert it into the population, and remove the chromosome with a low fitness evaluation index.
[0192] Repeat the iteration until all chromosome gene bits are deleted or the upper limit of the iteration number is reached.
[0193] The present invention uses an iterative strategy of a genetic algorithm for iteration. The solution steps of a genetic algorithm are mainly divided into selection, crossover, mutation, and population update. The most commonly used selection methods include: tournament selection method, roulette wheel selection method, etc. The present invention uses a roulette wheel selection algorithm to probabilistically screen chromosomes, assigning different selection probabilities based on individual fitness, simulating the natural selection process, retaining and further evolving high-quality chromosomes, and improving global optimization efficiency. Due to the high complexity of the decoding action, when using traditional intelligent algorithms, problems such as long algorithm runtime and poor solution quality are easily caused in the scenario of large-scale orders. Therefore, the present invention proposes an improved genetic algorithm under a progressive locking strategy. The core idea of the progressive locking strategy is to determine whether the solution effect of offline direct delivery can be relatively good within the address concentration time range during the intelligent algorithm optimization process. If the solution effect of offline direct delivery is relatively good and the genes corresponding to the address concentration time range are not damaged during multiple iterations, then this part of the order set is fixed in the corresponding machine.
[0194] Example 2
[0195] A resource-constrained parallel machine order scheduling system based on a progressive locking strategy includes:
[0196] Data acquisition module, used to obtain order data;
[0197] The data processing module is used to calculate the order scheduling plan based on the order data using a heuristic algorithm;
[0198] The optimization module is used to optimize the order scheduling plan using an intelligent order scheduling algorithm based on a progressive locking strategy.
[0199] Example 3
[0200] An electronic device includes: a processor and a memory, the memory is used to store computer program code, the computer program code includes computer instructions, when the processor executes the computer instructions, the electronic device executes a resource-constrained parallel machine order scheduling method based on a progressive locking strategy.
[0201] The core of this invention's domain-rule-based heuristic algorithm is to configure relevant business parameters based on actual production environment conditions. Using these business parameters, the molds required for each model are assembled on a shift-by-shift basis according to the work calendar, ensuring model continuity while ensuring variety. The core of this invention's intelligent order scheduling algorithm, based on a progressive locking strategy, is to schedule orders within the allocated model capacity in the first part, building on the first part's model scheduling plan, and maximizing the efficiency of direct shipment of orders off the production line.
[0202] The foregoing description is intended only to provide specific embodiments of the present invention, which will enable those skilled in the art to understand and implement the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present invention. Therefore, the present invention is not intended to be limited to the embodiments shown herein, but is intended to be accorded the widest scope consistent with the principles and novel features claimed herein.
Claims
1. A resource-constrained parallel machine order scheduling method based on a progressive locking intelligent algorithm iteration strategy, characterized in that: include: Get order data; Calculating an order scheduling plan based on the order data using a heuristic algorithm; Optimizing the order scheduling plan by adopting an iterative strategy based on a progressive locking intelligent algorithm; Iterate according to the progressive locking intelligent algorithm iteration strategy and update the chromosome information in each population including: Get the number of iterations, population size n, mutation probability, and asymptotic locking iterations; Summarize the models and production quantities in the model production schedule for each shift; According to the number of orders, the population is initialized by randomly generating an order priority sequence, and the population is sorted according to fitness to obtain the population; Two different chromosomes S1 and S2 are selected by roulette wheel, and gene sites C1 and C2 are randomly selected in chromosomes S1 and S2 for crossover; Check whether there is duplication or deletion of coding sequence numbers in S1 and S2 after crossing; If there are repeated or missing numbers in the coding sequence, randomly select a repeated number to replace the missing number; Decode the newly generated chromosomes and calculate their fitness values, and determine whether the chromosomes with better fitness values in the population have the same gene sequence; If the same gene sequence exists, the address concentration time range to which the gene sequence belongs is divided and the number of occurrences of its iterations is recorded. When the number of occurrences in the continuous iteration process exceeds the asymptotic locking iteration number, the current part of the order is fixed, the relevant production capacity in the model scheduling plan is deducted, and the iteration plan of the current part of the chromosome is deleted; Select the best n individuals from all parent individuals and offspring individuals as the population of the next generation; Check whether the current situation meets the mutation conditions. If so, randomly generate a new chromosome and insert it into the population, and remove the chromosome with a low fitness evaluation index. Repeat the iteration until all chromosome gene bits are deleted or the upper limit of the iteration number is reached.
2. The method for scheduling order on resource-constrained parallel machines based on a progressive locking intelligent algorithm iteration strategy according to claim 1, characterized in that: The obtaining of order data includes: Obtain information on the number of machines in the factory, the models that the machines can produce, the machine start time information, the time required to produce a single model of product, the resources required to produce a single model of product, and customer order information.
3. The method for scheduling order on resource-constrained parallel machines based on a progressive locking intelligent algorithm iteration strategy according to claim 1, characterized in that: The method of calculating the order scheduling plan based on the order data using a heuristic algorithm includes: Get order information, model information, resource information, work calendar information and configuration information; Convert order information, model information, resource information, work calendar information, and configuration information into integer data by establishing key-value pair matching; Summarize order information by month and model to obtain the model set that needs to be produced; According to the data preprocessing process, redundant data in the model information and resource information of the current version is eliminated; Initialize the idle machine list; Determine whether the current shift is the first shift; Select the machine to continuously take over the lower die strategy or the upper die strategy based on domain knowledge and constraints based on the current shift information; Output model production schedule.
4. The method for scheduling order on resource-constrained parallel machines based on a progressive locking intelligent algorithm iteration strategy according to claim 3, characterized in that: The strategy of selecting a continuous lower die transfer strategy for the machine based on the current shift information or an upper die transfer strategy based on domain knowledge and constraints includes: If the current shift is the first shift, select the continuous die transfer strategy for the machine, including: Obtain the model production schedule of the previous shift and pre-allocate the model production schedule of the previous shift as the mold arrangement plan for the current shift; According to the previous shift's production schedule, determine whether the molds that have been loaded have reached the maximum number of continuous production days; If the maximum number of continuous production days is reached, verify the correspondence between the remaining model demand and the current production capacity. Current available production capacity = number of shifts that can load molds * maximum number of molds for the current model * UPH of the current model. If the number of machines that can load molds for the current model cannot meet the minimum number of continuous production days if continued production is completed and the remaining demand can be completed within the monthly range, remove the mold from one of the machines and re-check the current step. If the maximum number of continuous production days has not been reached, determine whether the mold has reached the maximum number of continuous production days. If so, check whether all orders within the monthly range for the corresponding model of the mold have been completed. If so, proceed to demolding. If not, do not proceed to demolding. The door body resource check is performed on the mold arrangement plan of the current shift. If the door body resource is insufficient to support the production of the corresponding model of the mold, the mold is removed from the mold. If the door body resource is sufficient to support the production of the model, the mold is not removed from the mold. Perform capacity verification on the remaining model information to check whether the demand can be met within the available capacity range of the model. If it cannot be met, prioritize the model with constraints and then select the mold with a larger number of upper molds for lower molds. Save the model collection of the completed lower mold.
5. The method for scheduling order on resource-constrained parallel machines based on a progressive locking intelligent algorithm iteration strategy according to claim 3, characterized in that: The strategy of selecting a continuous lower die transfer strategy for the machine based on the current shift information or an upper die transfer strategy based on domain knowledge and constraints includes: If the current shift is not the first shift, select a mold-up strategy based on domain knowledge and constraints, including: Summarize the list of all idle machines in the current shift and prioritize the models based on the highest to lowest monthly order volume for the same model. Prioritize models that are subject to model mutual exclusion and machine production constraints, then select models with higher model priorities. After sorting the model set to be produced based on model priorities, a list of candidate upper mold models for the current shift is obtained. The model set of the lower mold that was pre-allocated during the production scheduling process of the previous shift is removed from the list of candidate models for the lower and upper molds of the current shift; Summarize the list of molds that have been loaded on non-idle machines in the current shift, and remove mutually exclusive models under the production models of non-idle machines from the list of candidate models for loading molds in the current shift; The current shift selects the mold of the corresponding model from the highest to the lowest model, based on the remaining order quantity. The maximum number of products that can be queued = min (box mold production capacity, door resource supply capacity) / daily production capacity of a single mold. Determine whether the number of mold types exceeds the maximum number of mold types. If so, reselect the model for mold placement and remove the model corresponding to the current mold from the list of candidate mold types for the current shift. If the maximum number of mold types is not exceeded, determine whether the molds corresponding to the models are mutually exclusive. If the mold corresponding to the new mold type is mutually exclusive with other molds already loaded in the current shift, remove the corresponding mold type from the list P of candidate mold types for the current shift, and select a new model for mold loading. If the molds corresponding to the models are not mutually exclusive, determine whether the current mold loading machine and mold have mold loading area restrictions. If so, reselect the model from the list of alternative mold loading models for the current shift and perform the mold loading process. If there is no restriction on the mold loading area, determine whether there is an idle machine in the current shift. If there is an idle machine in the current shift and the list of mold loading candidate models in the current shift has not been completely traversed, continue to select the model for mold loading; If there is no idle machine in the current shift or the list of upper die alternative models in the current shift has been completely traversed, it will jump to the next shift and re-perform the previous shift to pre-allocate the production schedule and the upper die strategy based on domain knowledge and constraints.
6. The method for scheduling order on resource-constrained parallel machines based on a progressive locking intelligent algorithm iteration strategy according to claim 1, characterized in that: The optimization of the order scheduling plan by adopting the iterative strategy based on the progressive locking intelligent algorithm includes: Obtain order information and previous model production schedule; Initialize the number of iterations, population size, and mutation probability parameters; Randomly generate initial solutions for order information based on population size; Calculate the fitness value of each chromosome in the population and sort them; Iterate according to the progressive locking intelligent algorithm iteration strategy and update the chromosome information in each population; Mutate according to the mutation probability; The chromosome with the best fitness in the population is selected and decoded according to the model scheduling plan to obtain the optimized order scheduling plan.
7. The method for scheduling order on resource-constrained parallel machines based on a progressive locking intelligent algorithm iteration strategy according to claim 6, characterized in that: The step of taking the chromosome with the best fitness in the population and decoding it according to the model production scheduling plan to obtain the optimized order production scheduling plan includes: Obtain the order scheduling information based on the code, traverse the orders one by one in order, and determine the orders that need to be scheduled at the moment; According to the demand month of the order currently requiring production scheduling, find the model information of the order currently requiring production scheduling and sort them in chronological order; Establish an allocation relationship between the model and quantity required by the current order and the corresponding production capacity, and deduct the relevant production capacity information and time information at the same time until all orders are scheduled; Based on the time range required for direct delivery, the order scheduling results are divided into time ranges; Select the orders that have been completed within the time range, and summarize the orders by address to obtain the address order summary; Select an address in the address order set, sort the orders belonging to the address in descending order of required quantity, select these orders one by one to aggregate, and record the current order set and the order numbers of the participating orders after the shipping party is found. Then select other orders that are not included in the aggregation to aggregate them again; If the remaining orders cannot be grouped together with the shipping party, the remaining orders will be grouped together into the largest party according to the number of parties participating in the grouping, from the smallest to the largest, without exceeding the largest party.
8. A resource-constrained parallel machine order scheduling system based on a progressive locking intelligent algorithm iteration strategy, characterized in that: include: Data acquisition module, used to obtain order data; A data processing module, configured to calculate an order scheduling plan based on the order data using a heuristic algorithm; An optimization module, configured to optimize the order scheduling plan by adopting an iterative strategy based on a progressive locking intelligent algorithm; Iterate according to the progressive locking intelligent algorithm iteration strategy and update the chromosome information in each population including: Get the number of iterations, population size n, mutation probability, and asymptotic locking iterations; Summarize the models and production quantities in the model production schedule for each shift; According to the number of orders, the population is initialized by randomly generating an order priority sequence, and the population is sorted according to fitness to obtain the population; Two different chromosomes S1 and S2 are selected by roulette wheel, and gene sites C1 and C2 are randomly selected in chromosomes S1 and S2 for crossover; Check whether there is duplication or deletion of coding sequence numbers in S1 and S2 after crossing; If there are repeated or missing numbers in the coding sequence, randomly select a repeated number to replace the missing number; Decode the newly generated chromosomes and calculate their fitness values, and determine whether the chromosomes with better fitness values in the population have the same gene sequence; If the same gene sequence exists, the address concentration time range to which the gene sequence belongs is divided and the number of occurrences of its iterations is recorded. When the number of occurrences in the continuous iteration process exceeds the asymptotic locking iteration number, the current part of the order is fixed, the relevant production capacity in the model scheduling plan is deducted, and the iteration plan of the current part of the chromosome is deleted; Select the best n individuals from all parent individuals and offspring individuals as the population of the next generation; Check whether the current situation meets the mutation conditions. If so, randomly generate a new chromosome and insert it into the population, and remove the chromosome with a low fitness evaluation index. Repeat the iteration until all chromosome gene bits are deleted or the upper limit of the iteration number is reached.
9. An electronic device, characterized in that: include: A processor and a memory, the memory being used to store computer program code, the computer program code including computer instructions, and when the processor executes the computer instructions, the electronic device executes a resource-constrained parallel machine order scheduling method based on a progressive locking intelligent algorithm iterative strategy as described in any one of claims 1 to 7.
Citation Information
Patent Citations
A method for optimizing order processing for large-scale panel furniture customization
CN114936711A
Order priority management method based on random forest and genetic algorithm
CN118246997A