Supply chain inventory optimization method, system, storage medium and program product
By grouping parts according to supplier characteristics and using genetic algorithms to optimize inventory levels within each supplier group, the problem of inventory strategy adjustment caused by fluctuations in supplier delivery capabilities in supply chain inventory management is solved, and the accuracy and practicality of inventory levels are improved.
Patent Information
- Application Number
- CN202510854619.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-25
- Publication Date
- 2025-09-09
- Estimated Expiration
- 2045-06-25
AI Technical Summary
In existing supply chain inventory management, it is difficult to adjust inventory strategies in a timely manner when suppliers' delivery capabilities fluctuate, resulting in deviations between inventory management decisions and actual market conditions, reducing the accuracy and efficiency of inventory control management.
By grouping parts according to supplier characteristics and using genetic algorithms to optimize inventory levels within each supplier group, we use multi-subpopulation and fitness value exchange mechanisms, combined with fitness value sorting and mutation operations, to optimize inventory levels to adapt to the supply characteristics of different suppliers and achieve global inventory cost and service level balance.
It improves the accuracy and practicality of inventory optimization, ensures that inventory levels meet actual operational needs, avoids local optimal solutions, improves the diversity and convergence of the population, and achieves a balance between inventory costs and service levels.
Smart Images

Figure CN120374017B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of inventory optimization, and in particular to a supply chain inventory optimization method, system, storage medium, and program product. Background Art
[0002] In existing supply chain inventory management, companies typically need to optimize inventory based on multiple factors, such as market demand, supplier capacity, and logistics conditions, to balance inventory costs and supply efficiency. However, due to the complexity and dynamic nature of supply chains, companies often struggle to accurately grasp the optimal balance in inventory management, which can lead to inventory overstocking or understocking, resulting in excessive capital utilization and an inability to respond to customer needs in a timely manner.
[0003] In related technologies, by collecting historical inventory and sales data, a time series analysis model can be used to predict future demand and formulate inventory replenishment plans accordingly. This method improves the scientific nature of inventory management and reduces inventory costs to a certain extent.
[0004] However, when suppliers' delivery capabilities fluctuate, forecasting models based solely on historical data are unlikely to adjust inventory strategies in a timely manner, which may lead to deviations between inventory management decisions and actual market conditions, reducing the accuracy and efficiency of supply chain inventory control management. Summary of the Invention
[0005] The present application provides a supply chain inventory optimization method, system, storage medium and program product for improving the accuracy and efficiency of supply chain inventory control management.
[0006] In a first aspect, the present application provides a supply chain inventory optimization method, which classifies parts according to their grouping information to obtain several supplier groups, each of which contains suppliers with similar supply characteristics;
[0007] Based on the preset chromosome coding rules, an initial population is generated for the parts in each supplier group. Each chromosome contains the target inventory level code of each part in the supplier group.
[0008] For each supplier group, divide the corresponding population of each supplier group into multiple sub-populations;
[0009] Calculate the fitness value of the chromosome in each subpopulation based on the preset fitness function;
[0010] Sort the chromosomes in each subpopulation according to their fitness values from small to large, and select the chromosomes with the highest fitness value as the parent chromosomes;
[0011] Perform a crossover operation on the parent chromosome to generate a child chromosome containing a new inventory level combination;
[0012] Perform mutation operation on offspring chromosomes according to the preset mutation probability to obtain mutated offspring chromosomes;
[0013] Compare the chromosomes with the smallest fitness values of each subpopulation in the same supplier group within a preset algebraic interval, copy the chromosomes with the smallest fitness values to other subpopulations, replace the chromosomes with the largest fitness values in other subpopulations, and update each subpopulation;
[0014] When the number of iterations reaches the preset threshold, the chromosome with the smallest fitness value is selected from the final population of each supplier group and decoded to obtain the optimal inventory level value of the parts in the corresponding supplier group.
[0015] By adopting the above technical solution, parts are grouped according to supplier characteristics and a genetic algorithm is used within each supplier group to optimize inventory levels, enabling collaborative optimization of parts with similar supply characteristics. During the optimization process, the population is divided into multiple sub-populations and an inter-population interaction mechanism is introduced. Sub-populations share information by exchanging chromosomes with the lowest fitness values, avoiding falling into local optimal solutions. A parent selection strategy based on fitness ranking and a mutation operation with preset mutation probabilities improve the diversity and convergence of the population. This grouping optimization method not only accounts for the differences in supplier characteristics but also expands the understanding space through information exchange between sub-populations. The resulting inventory level can not only adapt to the supply characteristics of different suppliers, but also achieve a global balance between inventory costs and service levels, improving the accuracy and practicality of inventory optimization.
[0016] In conjunction with some embodiments of the first aspect, in some embodiments, generating an initial population for parts in each supplier group based on a preset chromosome encoding rule specifically includes:
[0017] Obtain historical inventory data, current inventory levels, and production plan requirements for each component within the supplier group;
[0018] Calculate the average consumption and standard deviation of each component based on historical inventory data, and set the maximum and minimum inventory levels.
[0019] A preset number of chromosomes are randomly generated using normal distribution within the constraints, and each chromosome contains the target inventory level code of each component;
[0020] Perform feasibility test on chromosomes. If the chromosome encoding exceeds the constraint range, regenerate it until the initial population that meets the constraint conditions is obtained.
[0021] By employing this technical solution, historical data is fully utilized when generating the initial population. Inventory level constraints are set by calculating average consumption and standard deviation, ensuring that the initial solution has practical business implications. Chromosomes are randomly generated using a normal distribution, making the inventory level distribution in the initial population more realistic. Feasibility checks ensure that all chromosomes meet the constraints, preventing invalid solutions and improving the initial population quality. This allows the genetic algorithm to begin its search from a more valuable solution space, accelerating algorithm convergence and enhancing the practicality of the final optimization results.
[0022] In conjunction with some embodiments of the first aspect, in some embodiments, the preset fitness function is: ;
[0023] In the above function, is the preset fitness function, and is the preset weight coefficient, is the total inventory cost, For service level, is the penalty item, For parts The unit holding cost, is the stockout cost, For parts demand, It is the supplier's arrival time constraint.
[0024] By adopting this technical solution, a predefined fitness function comprehensively considers three dimensions: total inventory cost, service level, and constraint penalties. Preset weighting coefficients achieve a multi-objective balance. The total inventory cost term in the function incorporates holding costs and out-of-stock costs. The service level term is calculated based on the ratio of actual supply to demand, and the penalty term ensures feasibility. This multi-dimensional fitness evaluation method accurately reflects the objectives and requirements of inventory optimization.
[0025] In conjunction with some embodiments of the first aspect, in some embodiments, after obtaining the optimal inventory level value of the parts in the corresponding supplier group, the method further includes:
[0026] Calculate the quantitative ratio of inventory cost to stockout cost based on the historical inventory data of each component;
[0027] Based on the quantitative ratio, the initial population of each supplier group is constrained and the upper and lower limits of chromosome encoding are set;
[0028] Divide the upper and lower limits according to the quantization ratio to generate the coding mapping rules of the initial population;
[0029] The initial population is corrected according to the encoding mapping rules.
[0030] By employing the above technical solution and using historical data to calculate the quantitative ratio of inventory cost to stock-out cost, a chromosome encoding constraint mechanism and mapping rules were established. This encoding scheme, based on actual cost ratios, makes the chromosome value space more consistent with business reality and avoids blind searches. By dividing the encoding upper and lower limits according to the quantitative ratio and correcting the initial population accordingly, the inventory level combinations in the population are more closely aligned with actual operational needs. This encoding constraint mechanism reduces the generation of invalid solutions, improves the population quality, and enables the genetic algorithm to search in a more valuable solution space, thereby enhancing optimization efficiency and the practicality of the results.
[0031] In conjunction with some embodiments of the first aspect, in some embodiments, calculating the quantitative ratio of inventory cost to stock-out cost based on historical inventory data of each component specifically includes:
[0032] Calculate the cumulative inventory backlog duration of each component based on the historical inventory data of each component;
[0033] Record the number of times each component is out of stock and the duration of each out-of-stock situation;
[0034] Convert the accumulated inventory backlog time into inventory cost value;
[0035] Convert the number of out-of-stock times and the duration of the impact into out-of-stock cost values;
[0036] Calculate the ratio of the inventory cost value to the stock-out cost value to obtain the quantitative ratio of inventory cost to stock-out cost.
[0037] By adopting the above technical solution, by converting the historical inventory backlog duration and out-of-stock impact duration of parts and components into specific cost values and calculating the quantitative ratio of the two, inventory cost and out-of-stock cost, two indicators that were originally difficult to directly compare, can be measured and weighed under the same standard. The cumulative inventory backlog duration reflects the actual situation of capital, space and other resources occupied by parts during the warehousing process, and the number of out-of-stock events and the duration of the impact reflect the actual extent of the loss caused by out-of-stock operations. This quantitative method is more in line with the actual operating conditions of the enterprise. Based on this objective quantitative ratio, it is possible to more accurately evaluate the inventory strategies of different parts and components, find a more reasonable balance between inventory cost and out-of-stock risk, and improve the scientific nature and reliability of inventory optimization decisions.
[0038] In conjunction with some embodiments of the first aspect, in some embodiments, after correcting the initial population according to the coding mapping rule, the method further includes:
[0039] Calculate the fitness value of each chromosome in the corrected initial population;
[0040] Chromosomes are grouped according to fitness values to obtain dominant and inferior genomes;
[0041] Extract characteristic gene fragments from dominant genomes;
[0042] The characteristic gene fragments are introduced into the chromosomes in the inferior genome.
[0043] By employing this technical solution, the fitness values of each chromosome in the corrected initial population are calculated and grouped, classifying chromosomes with better performance into the dominant gene set and those with poorer performance into the inferior gene set, thereby distinguishing the merits of different chromosomes. Characteristic gene fragments are extracted from the dominant gene set and introduced into chromosomes in the inferior gene set, allowing the inferior gene set to inherit the excellent characteristics of the dominant gene set, thereby improving the overall quality of the population. This targeted introduction method avoids the problem of traditional random crossover that can destroy excellent gene combinations, ensuring that excellent gene fragments are better transmitted and retained. This method improves the population structure, enhances the evolutionary efficiency of the population, and accelerates the convergence of the algorithm. At the same time, by retaining the characteristics of excellent genes, it also improves the quality of the final solution.
[0044] In conjunction with some embodiments of the first aspect, in some embodiments, extracting characteristic gene fragments from the dominant gene set specifically includes:
[0045] Calculate the fitness value of each chromosome in the dominant genome;
[0046] Decode the chromosome to obtain the gene locus value;
[0047] Calculate the correlation coefficient between the value of each gene site and the fitness value;
[0048] Select the gene loci combination with a correlation coefficient greater than the preset threshold;
[0049] Extract the characteristic gene fragments where the gene locus combination is located.
[0050] By employing this technical solution, we calculated the correlation coefficient between locus values and fitness values, establishing a quantitative relationship between chromosome encoding and optimization objectives. This allowed us to identify key loci that significantly impacted fitness values. We selected locus combinations with correlation coefficients greater than a preset threshold as characteristic gene fragments, ensuring that the extracted gene fragments truly improved population performance, thereby enhancing the efficiency and effectiveness of the genetic algorithm in solving inventory optimization problems.
[0051] In a second aspect, an embodiment of the present application provides a supply chain inventory optimization system, which includes: one or more processors and a memory; the memory is coupled to the one or more processors, the memory is used to store computer program code, the computer program code includes computer instructions, and the one or more processors call the computer instructions to enable the system to execute the method described in the first aspect and any possible implementation method of the first aspect.
[0052] In a third aspect, an embodiment of the present application provides a computer-readable storage medium comprising instructions, which, when executed on a system, enables the system to execute the method described in the first aspect and any possible implementation of the first aspect.
[0053] In a fourth aspect, an embodiment of the present application provides a computer program product, which, when executed on a system, enables the system to execute the method described in any possible implementation manner in the first aspect.
[0054] One or more technical solutions provided in the embodiments of this application have at least the following technical effects or advantages:
[0055] 1. The present application provides a supply chain inventory optimization method, which groups parts according to supplier characteristics and optimizes inventory levels within each supplier group using a genetic algorithm, so that parts with similar supply characteristics can be collaboratively optimized. During the optimization process, the population is divided into multiple sub-populations and an inter-population interaction mechanism is introduced. The sub-populations share information by exchanging chromosomes with the smallest fitness values to avoid falling into local optimal solutions. The parent selection strategy based on fitness value sorting and the mutation operation with preset mutation probability are adopted to improve the diversity and convergence of the population. This grouping optimization method not only takes into account the differences in supplier characteristics, but also expands the understanding space through information interaction between sub-populations. The final inventory level can not only adapt to the supply characteristics of different suppliers, but also achieve a balance between inventory costs and service levels on a global scale, thereby improving the accuracy and practicality of inventory optimization.
[0056] 2. This application provides a supply chain inventory optimization method that uses historical data to calculate the quantitative ratio of inventory cost to out-of-stock cost, and establishes a chromosome coding constraint mechanism and mapping rules. This coding scheme based on the actual cost ratio makes the chromosome value space more consistent with business reality and avoids blind search. By dividing the upper and lower limits of the coding according to the quantitative ratio and correcting the initial population accordingly, the inventory level combination in the population is closer to actual operational needs. This coding constraint mechanism reduces the generation of invalid solutions, improves the quality of the population, enables the genetic algorithm to search in a more valuable solution space, and improves the optimization efficiency and the practicality of the results.
[0057] 3. The present application provides a supply chain inventory optimization method. By calculating the fitness value of each chromosome in the initial population after correction and grouping them, chromosomes with better performance are classified into the dominant genome, and those with poor performance are classified into the inferior genome, thereby distinguishing the pros and cons of different chromosomes. Characteristic gene fragments are extracted from the dominant genome and introduced into the chromosomes of the inferior genome in a directed manner, so that the inferior genome can obtain the excellent characteristics of the dominant genome, thereby improving the overall quality of the population. This directed introduction method avoids the problem that traditional random crossover may destroy the excellent gene combination, and ensures that the excellent gene fragments can be better transmitted and retained. In this way, the population structure is improved, the evolutionary efficiency of the population is improved, the convergence speed of the algorithm is accelerated, and at the same time, since the excellent gene characteristics are retained, the quality of the solution finally obtained is also improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0058] Figure 1 It is a flow chart of a supply chain inventory optimization method in an embodiment of the present application.
[0059] Figure 2 This is a flow chart of a population optimization method based on historical data in an embodiment of the present application.
[0060] Figure 3 This is a schematic diagram of the physical device structure of a supply chain inventory optimization system provided in an embodiment of the present application. DETAILED DESCRIPTION
[0061] The terms used in the following examples of the present application are only for the purpose of describing specific embodiments and are not intended to limit the present application. As used in the specification and appended claims of this application, the singular expressions "a," "an," "said," "above," "the," and "this" are intended to include plural expressions as well, unless the context clearly indicates otherwise. It should also be understood that the term "and / or" used in this application refers to any or all possible combinations comprising one or more of the listed items.
[0062] In the following, the terms "first" and "second" are used for descriptive purposes only and should not be understood to imply or suggest relative importance or implicitly indicate the number of the technical features indicated. Therefore, the features defined as "first" and "second" may explicitly or implicitly include one or more of the features. In the description of the embodiments of this application, unless otherwise specified, "plurality" means two or more.
[0063] The following uses an embodiment and combines Figure 1 , a supply chain inventory optimization method in an embodiment of the present application is described:
[0064] See also Figure 1, which is a flow chart of a supply chain inventory optimization method in an embodiment of the present application.
[0065] S101, classifying parts according to their grouping information to obtain several supplier groups;
[0066] The system categorizes parts based on their grouping information, creating several supplier groups. Each supplier group contains suppliers with similar supply characteristics. In this step, the system categorizes parts based on their grouping information, creating several supplier groups. Suppliers within each supplier group share similar supply characteristics, such as lead time, quantity, and quality. By grouping parts, inventory levels within each supplier group can be more precisely managed and optimized. In addition to grouping by supplier characteristics, component groups can also be created based on other attributes, such as their importance, frequency of use, and price.
[0067] The system can classify parts in a variety of ways. One specific implementation involves pre-setting supplier classification rules, such as categorizing suppliers into long-cycle, medium-cycle, and short-cycle suppliers based on their delivery cycles. The system then assigns each part to a corresponding supplier group based on its supplier information. Another implementation involves automatically grouping suppliers using a clustering algorithm. The system first extracts a feature vector for each supplier and then uses a clustering algorithm, such as k-means, to group suppliers with similar characteristics.
[0068] S102. Generate an initial population for parts in each supplier group based on a preset chromosome encoding rule;
[0069] Based on the preset chromosome coding rules, the system generates an initial population for the parts in each supplier group. Each chromosome contains the target inventory level code of each part in the supplier group. Specifically, the system obtains the historical inventory data, current inventory and production plan demand of each part in the supplier group; calculates the average consumption and standard deviation of each part based on the historical inventory data, and sets the constraint range of the maximum inventory level and the minimum inventory level; randomly generates a preset number of chromosomes using normal distribution within the constraint range, and each chromosome contains the target inventory level code of each part; performs a feasibility test on the chromosome, and regenerates it if the chromosome code exceeds the constraint range until an initial population that meets the constraint conditions is obtained.
[0070] The purpose of this step is to generate an initial population of parts for each supplier group, providing a foundation for subsequent genetic algorithm optimization. The system first requires a predefined set of chromosome encoding rules, mapping the inventory level of each part to genes on the chromosome. Common encoding methods include binary encoding and real number encoding. After determining the encoding method, the system calculates a constraint range based on each part's historical inventory data, current inventory level, and production plan demand, and randomly generates the initial population within this range.
[0071] Specifically, the system can use the following steps to generate the initial population: first, obtain the historical inventory data of each component in the supplier group, calculate its average consumption and the standard deviation of consumption; then, according to the current inventory and production plan requirements, set the maximum and minimum values of the inventory level of each component as the constraint range; then, use the normal distribution to randomly generate a preset number of chromosomes within the constraint range, each chromosome contains the inventory level codes of all components in the supplier group; finally, perform a feasibility test on the generated chromosomes, and eliminate chromosomes that do not meet the constraints until an initial population that meets the requirements is obtained.
[0072] When generating the initial population, it's possible that most randomly generated chromosomes fail to meet the constraints, making it difficult to obtain a sufficient number of feasible solutions. To address this issue, the system can introduce heuristics to bias chromosome generation toward levels closer to the middle of the constraint range, improving chromosome quality. Furthermore, the system can set default initial inventory levels based on historical data and experience as part of the initial population, providing a more diverse search starting point.
[0073] S103. For each supplier group, divide the corresponding population of each supplier group into multiple sub-populations;
[0074] In this step, the system divides the initial population corresponding to each supplier group into multiple subpopulations. These subpopulations evolve independently, improving population diversity and search efficiency. The number of subpopulations can be set based on the size of the supplier group and computing resource constraints. The purpose of dividing the subpopulations is to maintain population diversity while controlling computational complexity and preventing slow algorithm convergence.
[0075] There are various methods for dividing populations into subpopulations, and the system can select the appropriate method based on the specific situation. One common approach is to cluster the population based on chromosomal similarity, assigning similar individuals to the same subpopulation. Similarity can be measured by comparing metrics such as the Hamming distance or Euclidean distance of the chromosome encoding. Another approach is to randomly divide the population into several subpopulations of equal size, ensuring that there are no significant differences between the subpopulations.
[0076] S104, calculating the fitness value of the chromosome in each subpopulation based on a preset fitness function;
[0077] The system calculates the fitness value of the chromosome in each subpopulation based on the preset fitness function, where the preset fitness function is: ;
[0078] In the above function, is the preset fitness function, and is the preset weight coefficient, is the total inventory cost, For service level, is the penalty item, For parts The unit holding cost, is the stockout cost, For parts demand, It is the supplier's arrival time constraint.
[0079] The purpose of this step is to evaluate the quality of chromosomes within each subpopulation, providing a basis for subsequent genetic operations such as selection, crossover, and mutation. The system first requires a pre-defined fitness function to quantify the quality of the inventory level combinations represented by the chromosomes. This fitness function takes into account multiple factors, such as inventory cost, out-of-stock risk, and service level, and derives a value through a weighted summation.
[0080] In this embodiment, the fitness function consists of three components: total inventory cost, service level, and penalty term. The total inventory cost represents the sum of holding costs and stockout costs required to maintain the current inventory level. The service level indicates the extent to which the current inventory level can meet customer demand, representing the ratio of actual supply to demand. The penalty term penalizes chromosomes that violate constraints, such as inventory levels exceeding storage capacity limits. The system calculates the fitness value of each chromosome by weighting these three components based on preset weight coefficients.
[0081] S105, sorting the chromosomes in each subpopulation according to fitness value from small to large, and selecting chromosomes with a preset proportion of fitness values ranked in the top as parent chromosomes;
[0082] In this step, the system sorts the chromosomes in each subpopulation by fitness and selects chromosomes with the best fitness values as parents to generate the next generation population. Generally speaking, lower fitness values indicate higher-quality chromosomes, so the system sorts chromosomes in ascending fitness order. Then, based on a preset ratio parameter, the system selects the top N% of chromosomes as parents. These parent chromosomes participate in subsequent crossover mutations to generate new daughter chromosomes.
[0083] The selection ratio of parent chromosomes is a critical parameter that directly impacts the algorithm's convergence speed and global search capabilities. If the selection ratio is too high, only a few high-quality chromosomes in each generation survive and pass on to the next. This rapidly reduces population diversity and makes the algorithm susceptible to local optima. If the selection ratio is too low, a large number of low-quality chromosomes can also enter the next generation, slowing the population's evolution. Therefore, the system needs to set an appropriate parent selection ratio based on the specific problem, striking a balance between population diversity and convergence speed.
[0084] S106, performing a crossover operation on the parent chromosome to generate a child chromosome containing a new inventory level combination;
[0085] The purpose of this step is to recombine high-quality gene segments from the parent chromosome through a crossover operation, generating daughter chromosomes with new stock level combinations. Crossover is one of the core operations in genetic algorithms. It simulates the exchange and recombination of genes during biological evolution and is a key source of innovation and optimization. Common crossover operations include single-point crossover, multi-point crossover, and uniform crossover. The system can select the appropriate crossover method based on the chromosome encoding method and the characteristics of the problem.
[0086] Taking a single-point crossover as an example, the specific steps are as follows: First, the system randomly selects two individuals from the parent chromosomes as crossover targets; then, a crossover point is randomly selected on the chromosome code string, and the gene segments on the left and right sides of the crossover point come from the two parent individuals respectively; finally, by swapping the gene segments on both sides of the crossover point, two new daughter chromosomes are generated. The daughter chromosomes inherit some characteristics of the parent individuals, but also contain new stock level combinations, injecting new diversity into the population.
[0087] S107, performing a mutation operation on the offspring chromosome according to a preset mutation probability to obtain a mutated offspring chromosome;
[0088] In this step, the system performs mutations on the offspring chromosomes, further increasing the diversity of the population. Mutation randomly perturbs the values of certain genes in the chromosome code, modifying them to other possible values with a certain probability. By introducing a random element, mutations can help the algorithm escape local optima and explore new search areas. The probability of mutations is typically set low to ensure population stability and convergence.
[0089] The specific mutation method depends on the chromosome encoding method. For binary encoding, bit-flip mutation can be used, which changes certain bits on the chromosome from 0 to 1 or from 1 to 0 with a certain probability. For real number encoding, Gaussian mutation can be used, which adds a random perturbation following a Gaussian distribution to the original gene value. The system can set the intensity and frequency of mutation operations based on actual needs. The intensity controls the amplitude of the perturbation, while the frequency controls the probability of mutation.
[0090] S108. Compare the chromosomes with the smallest fitness values of each subpopulation in the same supplier group within a preset algebraic interval, copy the chromosomes with the smallest fitness values to other subpopulations, replace the chromosomes with the largest fitness values in other subpopulations, and update each subpopulation;
[0091] This step achieves collaborative population evolution by exchanging and sharing information among multiple subpopulations within the same supplier group. The system periodically compares the best individuals (i.e., chromosomes with the lowest fitness values) from each subpopulation, following a preset number of iterations. These individuals are then replicated to other subpopulations, replacing the worst individuals there (i.e., chromosomes with the highest fitness values). This mechanism of elite migration and elimination of inferior individuals accelerates population evolutionary convergence while avoiding local optima. In addition to replicating the best individuals, the system can also employ other information exchange methods, such as cross-pollinating partial genes from the best individuals and sharing fitness assessment results, to further promote cooperation and mutual learning between subpopulations.
[0092] In implementation, the system first sets an iterative generation interval, such as performing inter-subpopulation operations every 10 generations. At the end of each interval, the system identifies the chromosome with the lowest fitness value in each subpopulation, which is the local optimal solution for each subpopulation. The system then compares the fitness values of these local optimal solutions and selects the global optimal solution. Next, the system replicates the global optimal solution to all other subpopulations, replacing the chromosome with the highest fitness value in each subpopulation. This allows previously lagging subpopulations to learn from the best genes of the advanced subpopulations, thereby improving their own evolutionary capabilities. Finally, the system updates each subpopulation based on the new chromosomes. This process can utilize multi-threaded parallel computing to improve information exchange efficiency.
[0093] S109. When the number of iterations reaches a preset threshold, the chromosome with the smallest fitness value is selected from the final population of each supplier group and decoded to obtain the optimal inventory level value of the parts in the corresponding supplier group.
[0094] This step is the termination and output phase of the multi-subpopulation genetic algorithm. The algorithm stops after the system completes a preset number of iterations, indicating that the population has fully evolved and the chromosomes have converged to a near-optimal solution. From the final population of each supplier group, the system selects the chromosome with the lowest fitness value as the optimized result for that group. By decoding these chromosomes, the optimal inventory level for each component within each supplier group is obtained. In addition to the number of iterations as a termination criterion, the system can also set other strategies, such as fitness value thresholds and chromosome similarity, to address different convergence characteristics and accuracy requirements.
[0095] In specific implementation, the system first determines whether the current number of iterations has reached a preset threshold. If so, the algorithm terminates; otherwise, iterations continue. When the algorithm terminates, the system extracts the optimal chromosomes from each supplier group's final population, that is, the individuals with the smallest fitness values. After multiple rounds of evolution, these chromosomes have been able to effectively balance inventory costs and service levels, representing the optimal inventory configuration for that supplier group. Next, the system decodes these optimal chromosomes. Because chromosomes use specific encoding rules to represent inventory levels, they need to be converted back to actual component quantity values. The decoding process matches the chromosome encoding method and typically employs simple linear transformations or table lookups. Finally, the system outputs the decoded results, namely the optimal inventory level values for each component within each supplier group, providing a quantitative basis for inventory management decisions.
[0096] In practical applications, due to the dynamic nature of the supply chain environment and the limitations of the modeling and optimization processes, the optimization results may deviate from the actual optimal value. To improve the applicability and reliability of the solution, the system can post-process the optimization results after decoding. For example, the system can compare the optimal value with the historical inventory levels of the parts and manually review and correct any abnormal deviations. Furthermore, the system can perform sensitivity analysis to assess the impact of changes in various parameters and constraints on the optimization results, thereby identifying key influencing factors. If necessary, the system can also compare the optimization results with those of other optimization algorithms or heuristic rules to verify and supplement each other. These post-processing measures can further enhance the interpretability and robustness of the inventory optimization solution.
[0097] In the above embodiment, by grouping parts according to supplier characteristics and optimizing inventory levels using a genetic algorithm within each supplier group, parts with similar supply characteristics can be collaboratively optimized. During the optimization process, the population is divided into multiple sub-populations and an inter-population interaction mechanism is introduced. Information sharing is achieved between sub-populations by exchanging chromosomes with the smallest fitness values, thus avoiding falling into local optimal solutions. A parent selection strategy based on fitness value sorting and a mutation operation with a preset mutation probability are adopted to improve the diversity and convergence of the population. This grouping optimization method not only takes into account the differences in supplier characteristics, but also expands the understanding space through information interaction between sub-populations. The resulting inventory level can not only adapt to the supply characteristics of different suppliers, but also achieve a balance between inventory costs and service levels on a global scale, thereby improving the accuracy and practicality of inventory optimization.
[0098] In the above embodiment, the optimization of inventory level is achieved by supplier grouping and multi-subpopulation genetic algorithm. However, in order to further improve the optimization effect, it is necessary to have more precise control over the generation and evolution of the initial population. Therefore, the embodiment of the present application also provides a population optimization method based on historical data, which constrains the chromosome coding range by quantifying the cost ratio and guides the population evolution by using gene feature analysis. Figure 2 , a population optimization method based on historical data in an embodiment of the present application is described:
[0099] See also Figure 2 , which is a flow chart of a population optimization method based on historical data in an embodiment of the present application.
[0100] S201. Calculate a quantitative ratio of inventory cost to stockout cost based on historical inventory data of each component;
[0101] The system calculates the quantitative ratio of inventory cost to stock-out cost based on the historical inventory data of each component, specifically including: counting the cumulative inventory backlog duration of each component based on the historical inventory data of each component; recording the number of out-of-stock times for each component and the duration of the impact of each out-of-stock event; converting the cumulative inventory backlog duration into an inventory cost value; converting the number of out-of-stock times and the duration of the impact into a stock-out cost value; calculating the ratio of the inventory cost value to the stock-out cost value, and obtaining the quantitative ratio of the inventory cost to the stock-out cost.
[0102] This step quantifies inventory costs and out-of-stock costs, laying the foundation for subsequent constraining of the initial population. The system can calculate quantitative ratios using a variety of methods, not limited to indicators such as the cumulative duration of inventory overstock, the number of out-of-stock situations, and the duration of the impact. For example, comprehensive indicators such as inventory turnover rate and order fill rate can also be considered to form a more comprehensive cost quantification model.
[0103] In practical implementation, the system first collects historical inventory data for each component, calculates the cumulative duration of inventory overstock, and records the number of stockouts and the duration of each stockout. It then converts the overstock duration into an inventory cost value, and the stockouts into a stockout cost value. Finally, it calculates the ratio of the two cost values to obtain a quantitative ratio. This process can be automated using data analysis tools.
[0104] S202, constraining the initial population of each supplier group based on the quantization ratio, and setting the upper and lower limits of the chromosome encoding;
[0105] This step uses the quantization ratio to constrain the initial population and control the chromosome encoding range. The system can adaptively adjust the upper and lower encoding limits based on the quantization ratio. For example, a large quantization ratio indicates relatively high inventory costs, so the upper encoding limit can be appropriately lowered; conversely, a low quantization ratio can be raised. This allows for more precise control of the quality of the initial solution.
[0106] In practical implementation, the system first determines the chromosome length for each group based on the supplier grouping. The quantized ratios are then mapped to a preset coding range to determine the upper and lower limits for each gene locus. Random coding values outside this range can be corrected using methods such as truncation and scaling. This process can be performed within the chromosome generation function.
[0107] S203: Divide the upper and lower limits according to the quantization ratio to generate a coding mapping rule for the initial population;
[0108] This step divides the encoding range based on the quantization ratio, forming a coding mapping rule. This rule determines how the quantization ratio is converted into a specific encoding value. The system can use various mapping methods, such as piecewise linear functions and nonlinear functions, to flexibly configure according to actual needs.
[0109] In practical implementation, the system first divides the upper and lower encoding limits into several subintervals, each corresponding to a certain range of quantization ratios. Then, within each subinterval, a coding mapping function is determined based on the distribution of quantization ratios. This function can be a simple linear mapping or a complex nonlinear mapping. Finally, the mapping functions for all subintervals are integrated into a complete mapping rule. This process can be assisted by mathematical modeling tools.
[0110] S204, correcting the initial population according to the coding mapping rule;
[0111] This step uses the encoding mapping rule to correct the initial population so that it better conforms to the quantization ratio constraints. This correction process can be seen as a targeted adjustment and correction of the randomly generated initial solution to improve the population quality. The system can adopt various correction strategies, such as truncation recoding and local search.
[0112] In implementation, the system first decodes each chromosome in the initial population to obtain the solution vector it represents. The solution vector is then applied to the encoding mapping rules to calculate its corresponding ideal encoding value. The ideal encoding value is then compared with the actual encoding value. For loci with significant discrepancies, recoding or local search is performed to bring them as close to the ideal value as possible. Finally, the corrected encoding values are reassembled into chromosomes.
[0113] S205, calculating the fitness value of each chromosome in the corrected initial population;
[0114] This step evaluates the fitness of the corrected population, providing a basis for subsequent determination of strengths and weaknesses. Fitness measures the quality of the solution represented by each chromosome and is a core metric of the genetic algorithm. The system can employ different fitness functions depending on the specific optimization objective.
[0115] In practice, the system first decodes each chromosome to obtain a feasible solution. This feasible solution is then substituted into a fitness function to calculate its fitness value. Common fitness functions include total cost, profit margin, customer satisfaction, etc., or a weighted combination of multiple indicators.
[0116] S206, grouping the chromosomes according to the fitness values to obtain dominant genomes and inferior genomes;
[0117] This step divides the population into superior and inferior groups based on fitness, forming two groups of genomes: superior and inferior. This serves as a preparation for subsequent gene extraction and introduction, improving inferior individuals by drawing on the genetic characteristics of superior individuals. The system can employ various grouping methods, such as fixed ratios and fitness thresholds.
[0118] In practice, the system first sorts the population by fitness, generating an ordered sequence. Then, based on pre-defined grouping rules, it assigns a subset of chromosomes with the highest ranking to a dominant group, while the remaining chromosomes are assigned to a disadvantaged group. To facilitate subsequent analysis, the system can set a flag for each genome to distinguish its category.
[0119] S207, extracting characteristic gene fragments from the dominant genome;
[0120] The system extracts characteristic gene fragments from the dominant genome, specifically including: calculating the fitness value of each chromosome in the dominant genome; decoding the chromosome to obtain the gene locus value; calculating the correlation coefficient between the value of each gene locus and the fitness value; selecting the gene locus combination with a correlation coefficient greater than a preset threshold; and extracting the characteristic gene fragment where the gene locus combination is located.
[0121] This step extracts characteristic segments from the dominant genome that represent its superiority, preparing for the subsequent introduction of inferior individuals. These segments are typically a continuous substring of the dominant genome, containing key genes that significantly contribute to fitness. The system can employ various extraction methods, such as statistical analysis and pattern matching.
[0122] In implementation, the system first randomly extracts a certain number of samples from the dominant gene set and decodes them. It then counts the values of each gene position and calculates the correlation coefficient with the fitness value. Based on the correlation coefficient, it selects a set of key gene positions that contribute most to fitness. Finally, it extracts the characteristic fragments formed by these key gene positions and their context. To improve computational efficiency, the population can be compressed and stored in advance, recording only the differences in the gene positions.
[0123] It's important to note that the length and number of feature segments need to be appropriately configured based on the specifics of the problem. Segments that are too short may fail to capture complete pattern information, while segments that are too long may introduce excessive random noise, impacting the import effect. To this end, the system can employ a progressive extraction strategy, first extracting preliminary feature segments, then evaluating their effectiveness through methods such as cross-validation, and then further optimizing the length and composition of the segments. Furthermore, the system can incorporate domain knowledge to semantically interpret and evaluate the feature segments, thereby improving their interpretability and applicability.
[0124] S208. Directedly introduce characteristic gene fragments into chromosomes in the inferior genome.
[0125] This step purposefully introduces characteristic fragments extracted from the dominant genome into the chromosomes of the inferior genome to improve their fitness. This process can be seen as the inferior individual learning and imitating the dominant individual, improving its own evolutionary ability by absorbing the beneficial parts of the dominant gene. The system can adopt a variety of introduction strategies, such as full replacement and partial grafting.
[0126] In practice, the system first selects one or more chromosomes to be modified from the disadvantaged genome, typically individuals with low fitness values. It then determines the compatibility of each segment to be introduced with the chromosome and identifies the optimal grafting location. The characteristic segments are then inserted into the corresponding locations on the chromosome, replacing the original gene sequence.
[0127] In the above embodiment, historical data is used to calculate the quantitative ratio of inventory cost to out-of-stock cost, and a constraint mechanism and mapping rules for chromosome coding are established. This coding scheme based on the actual cost ratio makes the chromosome value space more consistent with business reality and avoids blind search. By dividing the upper and lower limits of the coding according to the quantitative ratio and correcting the initial population accordingly, the inventory level combination in the population is closer to actual operational needs. This coding constraint mechanism reduces the generation of invalid solutions, improves the quality of the population, and enables the genetic algorithm to search in a more valuable solution space, thereby improving the optimization efficiency and the practicality of the results.
[0128] The following describes the system in the embodiment of the present invention from the perspective of hardware processing. Figure 3 , which is a schematic diagram of the physical device structure of a supply chain inventory optimization system provided in an embodiment of the present application.
[0129] It should be noted that Figure 3 The structure of the system shown is only an example and should not limit the functions and scope of use of the embodiments of the present invention.
[0130] like Figure 3 As shown, the system includes a central processing unit (CPU) 301, which can perform various appropriate actions and processes, such as the methods described in the above embodiments, based on programs stored in a read-only memory (ROM) 302 or programs loaded from a storage unit 308 into a random access memory (RAM) 303. RAM 303 also stores various programs and data required for system operation. CPU 301, ROM 302, and RAM 303 are interconnected via a bus 304. An input / output (I / O) interface 305 is also connected to bus 304.
[0131] The following components are connected to the I / O interface 305: an input section 306 including a camera, infrared sensor, and the like; an output section 307 including a liquid crystal display (LCD) and speakers; a storage section 308 including a hard disk and the like; and a communication section 309 including a network interface card such as a LAN (Local Area Network) card or a modem. The communication section 309 performs communication processing via a network such as the Internet. A drive 310 is also connected to the I / O interface 305 as needed. Removable media 311, such as a magnetic disk, optical disk, magneto-optical disk, or semiconductor memory, is installed in the drive 310 as needed, so that computer programs read from the media can be installed in the storage section 308 as needed.
[0132] In particular, according to embodiments of the present invention, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of the present invention include a computer program product comprising a computer program carried on a computer-readable medium, the computer program including a computer program for executing the methods illustrated in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via the communication section 309 and / or installed from removable media 311. When executed by the central processing unit (CPU) 301, the computer program performs the various functions defined in the present invention.
[0133] It should be noted that the computer-readable medium described in the embodiments of the present invention may be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to, an electrical connection having one or more conductors, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), flash memory, optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present invention, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In the present invention, a computer-readable signal medium may include a data signal transmitted in baseband or as part of a carrier wave, which carries a computer-readable computer program. Such a propagated data signal may take any of a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof.
[0134] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions and operations of the systems, methods and computer program products according to various embodiments of the present invention. Each box in the flowchart or block diagram can represent a module, program segment, or part of the code, and the above-mentioned module, program segment, or part of the code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the boxes can also occur in an order different from that marked in the accompanying drawings. For example, two boxes shown in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flowchart, and the combination of boxes in the block diagram or flowchart, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or can be implemented using a combination of dedicated hardware and computer instructions.
[0135] As another aspect, the present invention further provides a computer-readable storage medium, which may be included in the system described in the above embodiments, or may exist independently and not incorporated into the system. The storage medium carries one or more computer programs, and when executed by a processor of a system, the system implements the methods provided in the above embodiments.
[0136] As described above, the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the above embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the above embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.
[0137] As used in the above embodiments, the term “when…” may be interpreted as “if…” or “after…” or “in response to determining…” or “in response to detecting…”, depending on the context. Similarly, the phrases “upon determining…” or “if (stated condition or event) is detected” may be interpreted as “if determining…” or “in response to determining…” or “upon detecting (stated condition or event)” or “in response to detecting (stated condition or event)”, depending on the context.
[0138] In the above embodiments, all or part of the embodiments can be implemented using software, hardware, firmware, or any combination thereof. When implemented using software, all or part of the embodiments can be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions described in the embodiments of the present application are generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., a floppy disk, hard disk, tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive).
[0139] Those skilled in the art will appreciate that all or part of the process steps in the above-described method embodiments can be implemented by a computer program instructing the relevant hardware. The program can be stored in a computer-readable storage medium, and when executed, the program can include the process steps in the above-described method embodiments. The aforementioned storage medium includes various media capable of storing program code, such as ROM or random access memory (RAM), magnetic disks, or optical disks.
Claims
1. A supply chain inventory optimization method, characterized in that: include: Classifying the parts according to the grouping information to which the parts belong, to obtain a number of supplier groups, each of the supplier groups including suppliers with similar supply characteristics; Based on a preset chromosome coding rule, an initial population is generated for each component in the supplier group, where each chromosome contains a target inventory level code for each component in the supplier group; For each of the supplier groups, dividing the population corresponding to each of the supplier groups into multiple sub-populations; The fitness value of the chromosome in each subpopulation is calculated based on a preset fitness function, and the preset fitness function is: ; In the above function, the is the preset fitness function, and the aforementioned is the preset weight coefficient, is the total inventory cost, For service levels, is a penalty term, For parts The unit holding cost, is the stockout cost, For the parts The demand, Provide suppliers with delivery time constraints; Sort the chromosomes in each subpopulation according to the fitness value from small to large, and select chromosomes with a preset proportion of fitness values ranked in the top as parent chromosomes; performing a crossover operation on the parent chromosome to generate a child chromosome containing a new inventory level combination; Performing a mutation operation on the offspring chromosome according to a preset mutation probability to obtain a mutated offspring chromosome; Comparing the chromosome with the smallest fitness value in each subpopulation of the same supplier group within a preset algebraic interval, copying the chromosome with the smallest fitness value to other subpopulations, replacing the chromosome with the largest fitness value in the other subpopulations, and updating each subpopulation; When the number of iterations reaches a preset threshold, the chromosome with the smallest fitness value is selected from the final population of each supplier group and decoded to obtain the optimal inventory level value of the parts in the corresponding supplier group; Calculating a quantitative ratio of inventory cost to stockout cost based on historical inventory data of each of the components; Constraining the initial population of each supplier group based on the quantified ratio to set upper and lower limits of chromosome encoding; Dividing the upper and lower limits according to the quantization ratio to generate a coding mapping rule for the initial population; Correcting the initial population according to the coding mapping rule; Calculate the fitness value of each chromosome in the corrected initial population; Grouping the chromosomes according to the fitness values to obtain dominant genomes and inferior genomes; extracting characteristic gene fragments from the dominant genome; The characteristic gene fragment is directedly introduced into the chromosome in the inferior genome.
2. The method according to claim 1, characterized in that The generating of an initial population for parts in each supplier group based on a preset chromosome encoding rule specifically includes: Obtain historical inventory data, current inventory levels, and production plan requirements for each component in the supplier group; Calculate the average consumption and standard deviation of each component based on the historical inventory data, and set the maximum inventory level and the minimum inventory level constraint range; Randomly generating a preset number of chromosomes using normal distribution within the constraints, each of the chromosomes containing the target inventory level code of each component; A feasibility test is performed on the chromosome, and if the encoding of the chromosome exceeds the constraint range, it is regenerated until an initial population that meets the constraint range is obtained.
3. The method according to claim 1, characterized in that The calculation of the quantitative ratio of inventory cost to stock-out cost based on the historical inventory data of each component specifically includes: Counting the cumulative inventory backlog duration of each component based on historical inventory data of each component; Record the number of times each component is out of stock and the duration of each out of stock situation; Convert the accumulated inventory backlog duration into an inventory cost value; Convert the number of out-of-stock times and the duration of the impact into out-of-stock cost values; The ratio of the inventory cost value to the stock-out cost value is calculated to obtain a quantitative ratio of the inventory cost to the stock-out cost.
4. The method according to claim 1, wherein The extracting of characteristic gene fragments from the dominant genome specifically includes: Calculating the fitness value of each chromosome in the dominant genome; Decoding the chromosome to obtain a gene locus value; Calculating the correlation coefficient between the value of each gene site and the fitness value; Selecting a gene locus combination whose correlation coefficient is greater than a preset threshold; Extract the characteristic gene fragment where the gene locus combination is located.
5. A supply chain inventory optimization system, characterized in that: The system comprises: One or more processors and a memory; the memory is coupled to the one or more processors, the memory is used to store computer program code, the computer program code includes computer instructions, and the one or more processors call the computer instructions to cause the system to perform the method according to any one of claims 1 to 4.
6. A computer-readable storage medium comprising instructions, characterized in that: When the instructions are executed on a system, the system is caused to perform the method according to any one of claims 1 to 4.
7. A computer program product, characterized in that When the computer program product is run on a system, the system is caused to perform the method according to any one of claims 1 to 4.
Citation Information
Patent Citations
Allocation and purchasing method and device, and equipment
CN107153880A
Intelligent warehouse shelving method and device based on genetic algorithm
CN110070231A