An inventory and distribution data processing and optimization method based on an AI agent
By standardizing inventory and delivery data and applying AI agent modules, a consistent dataset and optimization model are generated, solving the problems of data consistency and lagging constraint parameters in existing technologies. This achieves efficient joint optimization of inventory and delivery, improving fulfillment stability and cost control.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- NANJING LIANCHENG TECH DEV
- Filing Date
- 2026-03-03
- Publication Date
- 2026-05-19
AI Technical Summary
Existing inventory and distribution joint optimization technologies suffer from problems such as difficulty in maintaining the consistency of input data, reliance on manual maintenance of constraint parameters leading to delayed updates, and lack of operable rollback control strategies when constraints are not met, resulting in increased redundant calculations and decreased fulfillment stability.
By performing field normalization preprocessing on inventory data, order data, and transportation capacity data, a preprocessing input dataset is generated. Then, using the AI intelligent agent software module combined with historical performance logs, a cost item weight set, constraint parameter table, and conflict priority table are generated. A mixed integer linear programming model is constructed, duplicate constraint rows are removed, and a mixed integer linear programming solver is used for node iterative solution. Variable freezing and hierarchical rollback recalculation are performed.
It improves data consistency and model solving efficiency in joint optimization of inventory and distribution, reduces the number of repeated calculations, and enhances fulfillment stability and on-time delivery rate.
Smart Images

Figure CN121788037B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the technical field of data processing and optimization in logistics and supply chain management, and in particular to a method for processing and optimizing inventory and distribution data based on AI agents. Background Technology
[0002] With the development of e-commerce, instant delivery, and multi-warehouse collaborative delivery systems, enterprises need to simultaneously handle multiple constraints during order fulfillment, such as inventory allocation, warehouse outbound capacity, vehicle loading, and route planning. Existing information systems typically separate inventory management and delivery scheduling into different functional modules. The inventory module focuses on calculating, locking, and releasing available inventory, while the delivery module focuses on order dispatching, load calculation, and arrival time estimation. Because the calculation objectives and constraints of the two modules differ, a common approach is for the inventory module to first provide the allocation results, and then the delivery module to plan the route accordingly. When the delivery module detects overload, unmet delivery time windows, or insufficient warehouse outbound capacity, it often needs to roll back and trigger a recalculation of inventory allocation, leading to increased recalculation frequency and latency. Furthermore, when order sizes are large or there are many constraints, feasible solutions can easily become difficult to find. On the one hand, there is the issue of stable acquisition; on the other hand, the constraints related to inventory and delivery have dynamic characteristics. For example, warehouse outbound capacity is affected by picking resources and wave scheduling, vehicle load is affected by vehicle type configuration, and delivery time windows change with customer demand. In existing technologies, these parameters mostly rely on manual configuration or static rule maintenance, which can easily lead to parameter lag, constraint omissions, or overlapping constraints. This increases the size of the optimization model and the number of nodes searched in the solution process, thus affecting cost control and fulfillment stability. Therefore, there is an urgent need for a joint data processing and optimization method for inventory and delivery. On the basis of ensuring data consistency, this method should form a structured input of cost item weights and constraint parameters, and provide clear control methods for constraint conflicts and rollback recalculations in the solution stage, so as to reduce redundant calculations and improve the overall performance of fulfillment and cost indicators.
[0003] For example, CN113361073A discloses a joint optimization method for inventory paths based on an improved Lagrange relaxation algorithm. It proposes to establish a mathematical model for the joint optimization problem of inventory paths, select coupling constraints and perform Lagrange relaxation decomposition, and obtain an approximate optimal solution by iteratively updating the multipliers. This method can improve the solution efficiency under a specific model structure, but its parameter settings and constraint inputs mainly rely on pre-given model data, and do not combine historical performance records and rollback records to dynamically generate and update cost item weights and upper limit constraint parameters. At the same time, for constraint conflicts such as load, time window or outbound capacity that occur during the solution process, no variable freezing and rollback recalculation strategy based on the priority of conflict type is given. Therefore, in the actual operating environment where constraints change frequently, repeated recalculation and result fluctuation may still occur.
[0004] For example, CN111260119A discloses a product inventory control and delivery route planning method. It proposes to establish an inventory control and delivery route planning model and use heuristic construction and iterative improvement to obtain joint decision results. However, this method lacks reusable processing steps for the normalization and consistency verification of input data, and it does not screen and delete duplicate and redundant constraints in the constraint set, making it difficult to control the model size when there are many types of constraints. In addition, this method lacks clear limitations on the inheritance of feasible solutions, node iteration control, and the order of constraint conflict handling in the solution stage, making it difficult to reduce the number of backtracking calculations caused by unmet constraints.
[0005] In summary, existing joint optimization technologies for inventory and distribution generally suffer from the following problems: diverse input data sources make it difficult to maintain consistency; reliance on manual maintenance of constraint parameters leads to update delays; and a lack of operable rollback control strategies when constraints such as load limits, delivery time window limits, inventory lock limits, and outbound capacity limits are not met. Summary of the Invention
[0006] The purpose of this section is to outline some aspects of the embodiments of the present invention and to briefly introduce some preferred embodiments. Some simplifications or omissions may be made in this section, as well as in the abstract and title of the present application, to avoid obscuring the purpose of this section, the abstract and title of the invention. Such simplifications or omissions shall not be used to limit the scope of the present invention.
[0007] In view of the aforementioned existing problems, the present invention is proposed.
[0008] To solve the above-mentioned technical problems, the present invention provides the following technical solution:
[0009] In a first aspect, the present invention provides a method for processing and optimizing inventory and delivery data based on an AI agent, comprising: performing field normalization preprocessing on inventory data, order data and transportation capacity data to obtain a preprocessed input dataset;
[0010] The AI agent software module deployed on the server generates a set of cost item weights, a constraint parameter table and a conflict priority table based on the preprocessed input dataset and historical fulfillment logs and rollback logs. The constraint parameter table includes an inventory lock-up limit, a vehicle load limit, an order delivery time window limit and a warehouse outbound capacity limit.
[0011] The cost item weight set and the constraint parameter table are converted into a variable index table and constraint matrix for mixed integer linear programming. A joint optimization model for inventory allocation and path selection is constructed, and duplicate constraint rows and dominated constraint rows in the constraint matrix are removed.
[0012] A mixed-integer linear programming solver is used to perform node-by-node iterative solution of the joint optimization model. The feasible solution of the previous round is used as the initial solution and written into the solver parameters. When the iterative solution causes any upper limit constraint to be unsatisfied, variable freezing and hierarchical rollback recalculation are performed according to the conflict priority table. The optimized inventory lock instruction data and delivery order instruction data are output.
[0013] In a second aspect, the present invention provides a computer device, comprising:
[0014] One or more processors;
[0015] The memory stores operable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations, including the process described above for the AI-based agent-based inventory and distribution data processing and optimization method.
[0016] Thirdly, the present invention provides a computer-readable medium for storing software, the software including instructions executable by one or more computers, the instructions causing the one or more computers to perform operations, the operations including the flow of the aforementioned AI agent-based inventory and distribution data processing and optimization method.
[0017] The beneficial effects of this invention are as follows: By performing field normalization preprocessing on inventory data, order data, and transportation capacity data, this invention forms a preprocessed input dataset that can be directly used in subsequent calculations, reducing constraint misjudgments caused by coding differences, missing values, and anomalies, and providing a consistent data foundation for joint solutions of inventory and delivery. Through an AI intelligent agent software module deployed on a server, combined with historical fulfillment logs and rollback logs, a cost item weight set, constraint parameter table, and conflict priority table are generated. This ensures that the inventory lock limit, vehicle load limit, order delivery time window limit, and warehouse outbound capacity limit have parameter bases that are updated according to the operational status, thereby reducing human error. This reduces maintenance costs and improves the adaptability of constraint settings. By converting the cost item weight set and constraint parameter table into a variable index table and constraint matrix, and removing duplicate and dominated constraint rows, the model size is reduced, the number of solution node expansions is decreased, and the solution efficiency of the joint optimization model is improved. Through node iterative solution and feasible solution inheritance of the mixed integer linear programming solver, and by performing variable freezing and hierarchical back-off recalculation according to conflict priority when the upper limit constraint is not satisfied, the number of repeated recalculations is reduced, feasible solutions are stably obtained, and inventory lock instruction data and delivery order instruction data are output, thereby reducing total costs and improving fulfillment stability and on-time delivery rate. Attached Figure Description
[0018] To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort. Wherein:
[0019] Figure 1 This is a flowchart illustrating the inventory and delivery data processing and optimization method based on AI intelligent agents as shown in this invention.
[0020] Figure 2 This is a schematic diagram illustrating the node-iterative solution process of the joint optimization model in the inventory and delivery data processing and optimization method based on AI intelligent agents shown in this invention. Detailed Implementation
[0021] To make the above-mentioned objects, features and advantages of the present invention more apparent and understandable, the specific embodiments of the present invention will be described in detail below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments.
[0022] Based on the embodiments of this invention, all other embodiments obtained by those skilled in the art without inventive effort should fall within the scope of protection of this invention.
[0023] Many specific details are set forth in the following description in order to provide a full understanding of the invention. However, the invention may also be practiced in other ways different from those described herein, and those skilled in the art can make similar extensions without departing from the spirit of the invention. Therefore, the invention is not limited to the specific embodiments disclosed below.
[0024] According to an embodiment of the present invention, in combination Figure 1 The flowchart shown illustrates a method for processing and optimizing inventory and delivery data based on AI agents, which specifically includes the following steps:
[0025] S1. Perform field normalization preprocessing on inventory data, order data, and transportation capacity data to obtain the preprocessed input dataset. Note the following in this step:
[0026] S1.1 Perform numerical unit conversion and code value mapping on inventory data, order data, and transportation capacity data respectively. The numerical unit conversion converts the value unit of the same data item from different sources to a unified value unit, and the code value mapping maps the code value of the same data item to a unified code format, so as to obtain standardized inventory data, standardized order data, and standardized transportation capacity data.
[0027] In a preferred embodiment, inventory data is taken from the inventory ledgers of the warehouse management system and the store front warehouse system, and includes at least: warehouse identifier, product identifier, batch identifier, available inventory quantity, locked inventory quantity, replenishment quantity in transit, shelf life expiration date, storage temperature zone identifier and update time; order data is taken from the order details of the order management system, and includes at least: order identifier, customer delivery address, order placement time, expected delivery start and end time periods, product identifier and required quantity, delivery service level and payment method; transportation capacity data is taken from the vehicle capacity ledger of the transportation management system, and includes at least: transportation capacity identifier, vehicle type, rated load, rated volume, temperature zone compatibility identifier, vehicle origin location, available dispatch time period and unit mileage cost.
[0028] The temperature zone compatibility indicator indicates the temperature control level corresponding to the cargo compartment temperature control capability of the transport capacity. This temperature control level includes at least normal temperature, refrigerated, and frozen. The refrigerated transport temperature range is 2℃ to 8℃, and the frozen transport temperature range is -18℃ to -10℃.
[0029] In a preferred embodiment, the numerical unit conversion adopts a proportional conversion method using a unit conversion lookup table. This unit conversion lookup table is pre-stored in the database of the server. Specifically, the unit conversion lookup table includes at least the data item name, data source identifier, original unit, unified unit, conversion factor, and decimal processing rules. The decimal processing rules are one of rounding down, rounding to the nearest whole number, or truncating to a specified number of decimal places.
[0030] In this embodiment, the proportional conversion method is performed according to the following steps: obtaining the value and unit of the data item to be processed; retrieving a unique matching reference entry from the unit conversion lookup table based on the data item name, data source identifier, and unit; reading the unified unit and conversion factor from the reference entry; converting the value proportionally according to the conversion factor to obtain a unified unit value; processing the unified unit value according to the decimal processing rules and writing it into the normalized data, and writing the unified unit into the unit field, thereby obtaining the normalized data item after the value unit conversion; when no matching reference entry is found in the unit conversion lookup table, the data item is recorded in the unit anomaly record and removed from the normalized data.
[0031] For example, the available inventory quantity in the inventory data is measured in pieces in the warehouse management system and in boxes in the store system. The store system records the packing specification of product P100 as 12 pieces / box. When the store system reports that the available inventory quantity of product P100 is 10 boxes, the value is 10 and the unit is box. The system retrieves the unit conversion table based on available inventory quantity - store system - box and finds that the unified unit is piece and the conversion factor is 12. Then, the value 10 is converted proportionally according to the conversion factor 12 to obtain the unified unit value of 120. After rounding down according to the decimal processing rules, the available inventory quantity is written as 120 and the unit field is written as piece, thus forming standardized inventory data.
[0032] Furthermore, the rated load of vehicles in the capacity data is measured in tons in the transportation management system and in kilograms in the vehicle asset ledger, with the unified unit limited to kilograms. When the transportation management system reports a rated load of 3.5 tons for a vehicle with a capacity identifier of C01, the system retrieves the unit conversion table based on the vehicle rated load - transportation management system - tons and finds that the unified unit is kilograms and the conversion factor is 1000. Then, the value 3.5 is converted proportionally according to the conversion factor of 1000 to obtain a unified unit value of 3500. After rounding to the nearest integer according to the decimal processing rules, the vehicle rated load is written as 3500 and the unit field is written as kilograms, thus forming standardized capacity data.
[0033] In a preferred embodiment, the encoding value mapping adopts an enumeration replacement method of encoding mapping lookup table; the encoding mapping lookup table is pre-stored in the database of the server, and the encoding mapping lookup table includes at least the data item name, data source identifier, original encoding value, unified encoding value, original encoding value description and unified encoding value description; wherein the unified encoding value adopts a predefined enumeration set, and a unique set of values is limited for the same data item.
[0034] In this embodiment, the enumeration replacement method is executed according to the following steps: obtaining the encoded value and data source identifier of the data item to be processed; retrieving a unique matching reference entry from the encoding mapping lookup table based on the data item name, data source identifier, and encoded value; reading the unified encoded value from the reference entry; replacing the encoded value with the unified encoded value and writing it into the normalized data, thereby obtaining the normalized data item after the encoded value mapping; when no matching reference entry is found in the encoding mapping lookup table, the data item is recorded in the encoding anomaly record and removed from the normalized data.
[0035] For example, the temperature zone identifier in the inventory data is represented by RT / CH / FR in the warehouse management system and by 1 / 2 / 3 in the store system, with a unified coding value of room temperature / refrigerated / frozen. When the temperature zone code of the source system is RT or the numerical code is 1, the normalized temperature zone identifier is mapped to room temperature; when the temperature zone code of the source system is CH or the numerical code is 2, the normalized temperature zone identifier is mapped to refrigerated; when the temperature zone code of the source system is FR or the numerical code is 3, the normalized temperature zone identifier is mapped to frozen. The storage temperature level corresponding to refrigerated goods is 2℃ to 8℃, the storage temperature level corresponding to frozen goods is -18℃ to -10℃, and the storage temperature level corresponding to room temperature goods is 10℃ to 25℃.
[0036] Furthermore, the vehicle type in the capacity data is represented by VAN / BOX / REEFER in the transportation management system, with a unified code of van / box truck / refrigerated truck. When the vehicle type code is VAN, it indicates that there is no independent cargo box and the cargo space is connected to the driver's cab, which is mapped as a van. When the vehicle type code is BOX, it indicates that there is a closed cargo box but no refrigeration unit, which is mapped as a box truck. When the vehicle type code is REEFER, it indicates that there is a refrigeration unit or insulated body and supports temperature-controlled transportation, which is mapped as a refrigerated truck.
[0037] Furthermore, the delivery service level in the order data is represented by A / B / C in the order management system and by 0 / 1 / 2 in the front-end warehouse system, with a unified code value of ordinary / express / scheduled. When the order management system reports a delivery service level of A, the system retrieves the unified code value of "scheduled" from the code mapping table based on the delivery service level - order management system - A, and then replaces A with "scheduled" and writes it into the standardized order data. When the front-end warehouse system subsequently reports a delivery service level of 2 for the same order, the system retrieves the unified code value of "scheduled" from the code mapping table based on the delivery service level - front-end warehouse system - 2, and then replaces 2 with "scheduled" and writes it into the standardized order data.
[0038] S1.2 Construct idempotent merge keys for the standardized inventory data, standardized order data, and standardized transportation capacity data respectively, and perform merging on duplicate data based on the idempotent merge keys to obtain deduplicated inventory data, deduplicated order data, and deduplicated transportation capacity data.
[0039] In a preferred embodiment, the idempotent merge key is constructed using a combination of business primary key elements, source identifier, and time merging, so that the same business can still obtain the same merge key in the case of repeated reporting, replay compensation, or multi-channel aggregation.
[0040] Specifically, the idempotent merge key for inventory data is obtained by concatenating the warehouse identifier, product identifier, batch identifier, and the minute value of the inventory update time. The inventory update time is rounded down to the nearest minute to avoid millisecond discrepancies in data written to different systems at the same time, which could prevent merging. The idempotent merge key for order data is obtained by concatenating the order identifier and the order detail line number. If there are split orders, a split order number is appended to ensure that the details of each sub-order are distinguishable and can be written repeatedly. The idempotent merge key for capacity data is obtained by concatenating the capacity identifier and the available departure date. Multiple capacity status reports from the same vehicle on the same day are merged into the same key.
[0041] Furthermore, for multiple inventory data entries under the same idempotent merge key, priority is given to retaining those with later update times and higher source credibility levels. In this embodiment, credibility level is defined as: the warehouse management system is higher than the store system. For summable items such as available inventory quantity and locked inventory quantity, the entry with the later update time is used as the primary one, and cross-source summation is not performed to avoid duplicate reporting and erroneous addition. For multiple order data entries under the same idempotent merge key, priority is given to retaining those with completed payment status and successful address resolution. If only the delivery service level differs, the higher level is retained, along with the original level source identifier. For multiple capacity data entries under the same idempotent merge key, priority is given to retaining those with later vehicle location updates. For static attributes such as rated load and rated volume, the registered values from the transportation management system are retained.
[0042] It should be noted that in inventory and delivery scenarios, log replay, interface retries, and cross-system synchronization delays often cause the same business to occur multiple times. If only deduplication is relied upon without limiting the idempotent merge key and merge strategy, two types of problems are likely to occur: first, the same order details are repeatedly included in the demand quantity, resulting in inflated demand; second, the same inventory ledger is repeatedly included in the available inventory quantity, resulting in inflated supply. This embodiment uses an idempotent merge key to fix the same business to the same merge unit, and then generates deduplicated inventory data, deduplicated order data, and deduplicated transportation capacity data according to priority rules, suppressing the disturbance of repeated input to subsequent joint optimization from the source.
[0043] S1.3 Perform integrity and range checks on the deduplicated inventory data, deduplicated order data, and deduplicated transportation capacity data. Generate complete values for missing items according to the principle of prioritizing items from the same source and aligning them with the nearest neighbor. Generate correction values for out-of-bounds items according to the principle of boundary truncation. This will yield the preprocessed input dataset.
[0044] In a preferred embodiment, the integrity check is performed according to the rule that if a critical element is missing, it will not be included in the solution input:
[0045] When inventory data is missing warehouse or product identifiers, the entry will not be included in the preprocessing input dataset but will be added to the missing items list; when the available inventory quantity is missing but there are inbound and outbound transaction records, the complete value will be generated based on the difference between the two most recent inventory counts from the same source and the transaction records.
[0046] If the order data is missing an order identifier or product identifier, that entry will not be included in the preprocessing input dataset; if the delivery address is missing, it will be filled in using the address of the most recent successful fulfillment of the same customer within the last 30 days.
[0047] If the capacity data is missing a capacity identifier, that entry will not be included in the preprocessing input dataset; if the rated load or rated volume is missing, it will be filled in using the registered values of the same vehicle type.
[0048] In a preferred embodiment, the range verification is performed using a dual-boundary rule of business physical boundary + operational rule boundary:
[0049] The lower bound of the inventory quantity is 0, and the upper bound is 1.2 times the peak inventory quantity of the product in the warehouse in the past 90 days; if it exceeds the upper bound, it will be adjusted according to the upper bound.
[0050] The lower limit of the rated load is 300 kg, and the upper limit is 20,000 kg; the lower limit of the rated volume is 2 cubic meters, and the upper limit is 120 cubic meters; if the limit is exceeded, it shall be corrected according to the boundary.
[0051] The lower bound of the order quantity is 1 piece, and the upper bound is the common upper limit of a single order for this product; in this example, it is 200 pieces; if the quantity exceeds the limit, it will be corrected according to the boundary and added to the out-of-limit list;
[0052] If the expected delivery start and end times are reversed or the span exceeds 24 hours, the process will be handled by starting and ending time correction + span truncation: if the start and end times are reversed, they will be swapped; if the span exceeds 24 hours, the time will be truncated to 24 hours from the starting point.
[0053] For example, if the quantity of goods P100 reported by order O7788 in the deduplication order data is 500 pieces, which exceeds the upper limit of 200 pieces, it will be corrected to 200 pieces according to the upper limit and added to the out-of-bounds list; if the same order is missing a delivery address, it will be supplemented to No. ××, ×× Road, Yuhuatai District, Nanjing City from the customer's most recent successfully fulfilled order in the past 30 days, and the source of the supplementation will be recorded as the customer's historical fulfillment address.
[0054] S2. Using the AI agent software module deployed on the server, a cost item weight set, constraint parameter table, and conflict priority table are generated based on the preprocessed input dataset and historical fulfillment logs and rollback logs. The constraint parameter table includes inventory lock-up limits, vehicle load limits, order delivery time window limits, and warehouse outbound capacity limits. Note that the following should be noted in this step:
[0055] S2.1 The AI intelligent agent software module deployed on the server matches and merges historical fulfillment logs and rollback logs based on the order identifier, warehouse identifier and transportation capacity identifier in the preprocessed input dataset to obtain a set of associated logs. It then counts the number of timeouts, rollback triggers and stockout triggers in the set of associated logs to generate a set of candidate penalty factors.
[0056] In a preferred embodiment, the AI agent software module is deployed on a scheduling server in an enterprise private cloud and includes: a log parsing unit, an association matching unit, an event statistics unit, a weight generation unit, a constraint calculation unit, and a priority generation unit; the module receives a preprocessed input dataset and receives historical performance logs and rollback logs.
[0057] In this embodiment, the historical fulfillment log includes at least the order identifier, warehouse identifier, transportation capacity identifier, picking start time, outbound completion time, vehicle departure time, receipt time, delivery mileage, and abnormal event marker; the rollback log includes at least the order identifier, rollback trigger time, trigger constraint type, summary of the plan before rollback, summary of the plan after rollback, and rollback reason enumeration.
[0058] It should be noted that, in this embodiment, the order identifier, warehouse identifier, and capacity identifier in the preprocessed input dataset are specifically the order identifier in the order details, the warehouse identifier in the inventory ledger, and the capacity identifier in the capacity ledger.
[0059] In a preferred embodiment, the matching and merging process employs a two-stage association: first, aggregation by order identifier, and then verification of consistency between warehouse identifier and capacity identifier.
[0060] Phase 1: Group historical fulfillment logs by order identifier and rollback logs by order identifier to form two types of log clusters at the order dimension;
[0061] Phase 2: For each order identifier, extract the warehouse identifier and capacity identifier that appear most frequently from the fulfillment log cluster as the main associations of the order; extract the main associations for the rollback log clusters in the same way; only when the main associations on both sides are consistent in warehouse identifier and capacity identifier will the log clusters on both sides be merged into a single association unit of the association log set; if they are inconsistent, the order identifier will be written into the association anomaly list and will not be included in the weight generation input.
[0062] Specifically, in this embodiment, the method for counting timeouts, rollback triggers, and stockout triggers in the associated log set includes:
[0063] Timeout count: The number of times the delivery time is later than the expected start and end time period; if there are multiple order dispatch retries, each fulfillment attempt will be counted separately.
[0064] Rollback trigger count: Count the number of rollback records related to this order identifier in the rollback log;
[0065] Out-of-stock trigger count: The number of times that the exception event marker in the fulfillment log includes out-of-stock or picking discrepancies, and this count is only included when the required quantity of the corresponding product cannot be covered by the outbound quantity.
[0066] S2.2 Perform normalization and weighted composite calculation on the candidate penalty factor set to obtain the cost item weight set; the cost item weight set includes transportation mileage cost, timeout penalty cost, stockout penalty cost and rollback penalty cost.
[0067] In a preferred embodiment, the normalization process adopts the method of scaling similar indicators to the maximum value range of 0 to 1 within the same statistical window: the cumulative transportation mileage is scaled according to the maximum mileage of the combined dimension; the number of timeouts, the number of stockout triggers, and the number of rollback triggers are scaled according to their respective maximum values, and then weighted and synthesized according to the business preference coefficient. In this embodiment, the business preference coefficient is defined as: stockout is higher than timeout, timeout is higher than rollback, and rollback is higher than mileage.
[0068] The weight generation unit outputs a set of cost item weights, which includes at least: transportation mileage cost weight, timeout penalty cost weight, stockout penalty cost weight, and rollback penalty cost weight.
[0069] For example, within a certain statistical window, the system sets the weight of the stockout penalty cost to 0.40, the weight of the timeout penalty cost to 0.30, the weight of the rollback penalty cost to 0.20, and the weight of the transportation mileage cost to 0.10. This set of weights is consistent with the operational strategy that stockouts and rollbacks near the window have a greater impact on satisfaction and secondary costs, and can be updated as the window scrolls.
[0070] S2.3. Calculate the upper limit of inventory lock, upper limit of vehicle load, upper limit of order delivery time window and upper limit of warehouse outbound capacity based on the preprocessed input dataset and summarize them into a constraint parameter table. Sort the trigger constraint types in the rollback log according to the number of occurrences to obtain a conflict priority table.
[0071] In a preferred embodiment, the constraint calculation unit generates four types of upper limits based on the preprocessed input dataset:
[0072] Inventory lock-up limit: For each warehouse identifier and product identifier, the available inventory quantity is multiplied by the lock-up ratio to obtain the lock-up limit; the lock-up ratio is 0.85 in this embodiment.
[0073] Vehicle load limit: The rated load in the transport capacity ledger is used directly. If the vehicle is a refrigerated truck and has multiple temperature compartments, the load limit is given separately according to the compartment allocation.
[0074] Order delivery time window limit: For each order identifier, the expected delivery start and end time period is taken as the limit, and the time difference between the time of completion of outbound delivery and the end point is taken as the available delivery time.
[0075] Warehouse outbound capacity limit: For each warehouse identifier, the average number of outbound orders that can be shipped from that warehouse in the same hourly period within the past 30 days is taken as the benchmark, and multiplied by 1.10 as fluctuation redundancy; this capacity is given hourly, forming a warehouse-hourly capacity limit sequence.
[0076] Furthermore, the upper limit of outbound capacity is first summarized by warehouse identifier and time period, and then the upper limit of inventory lock is summarized by warehouse identifier and product identifier. The upper limit of vehicle load capacity and the upper limit of order time window are linked by capacity identifier and order identifier respectively, forming a structured set that can be directly converted into a constraint matrix by S3.
[0077] As an example, the constraint parameter table includes:
[0078] Warehouse W01, item P100, inventory lock limit is 1020 units; Warehouse W01, item P200, inventory lock limit is 680 units.
[0079] Capacity C01: Vehicle load capacity is 3500 kg, rated volume is 18 cubic meters, and temperature zone compatibility is refrigerated; Capacity C02: Vehicle load capacity is 1500 kg, rated volume is 10 cubic meters, and temperature zone compatibility is ambient temperature.
[0080] Order O1001, expected delivery time is 10:00-12:00 on the same day; Order O1002, expected delivery time is 14:00-18:00 on the same day.
[0081] Warehouse W01 has a maximum of 210 orders that can be shipped out from 09:00 to 10:00 on the same day; and a maximum of 230 orders that can be shipped out from 10:00 to 11:00 on the same day.
[0082] It should be noted that in this embodiment, the conflict priority table is generated by sorting the trigger constraint types in the rollback log from high to low, and in the case of the same number of occurrences, the priority is given to those with a stronger impact on customer commitment: order delivery time window related is higher than inventory related, higher than warehouse outbound capacity related, and higher than vehicle load capacity related.
[0083] For example, the conflict priority table includes: first priority is the upper limit conflict of order delivery time window; second priority is the upper limit conflict of inventory lock; third priority is the upper limit conflict of warehouse outbound capacity; and fourth priority is the upper limit conflict of vehicle load capacity.
[0084] Preferably, in joint optimization, the cost item weights and constraint upper limits have a decisive impact on the feasible region and the optimal solution form. If the weights and constraints are derived from static manual experience, it is easy for old weights to be used after business fluctuations or for rollbacks to occur frequently without priority adjustment. In this embodiment, the cost item weight set, constraint parameter table, and conflict priority table are generated by statistical analysis of fulfillment logs and rollback logs, so that the model input is updated in a rolling manner with the business status. During periods when stockouts and timeouts occur more frequently, the relative weights of stockout penalties and timeout penalties increase, and the solution tends to choose a combination with more stable inventory and more accurate fulfillment. The constraint types triggered by rollbacks are ranked higher in the priority table, and the freeze and rollback paths when constraints are not met in S4 are closer to the real mode, thereby reducing invalid recalculation rounds.
[0085] S3. Convert the cost item weight set and constraint parameter table into a variable index table and constraint matrix for mixed-integer linear programming, construct a joint optimization model for inventory allocation and path selection, and remove duplicate constraint rows and dominated constraint rows from the constraint matrix. Note that the following points should be noted in this step:
[0086] S3.1. Determine the inventory lock variable, order allocation variable, and path selection variable based on the preprocessed input dataset, assign a unique variable number to each variable, and generate a variable index table.
[0087] In a preferred embodiment, the variable index table is structured in the format of variable category-business object-number, so that each business decision corresponds to a unique number:
[0088] Inventory lock-in variables: warehouse identifier + product identifier + batch identifier, representing the locked quantity decision;
[0089] Order assignment variables: Order ID + Warehouse ID, indicating which warehouse is responsible for picking and shipping the order;
[0090] Route selection variables: Capacity identifier + Route sequence identifier, indicating which route sequence a vehicle uses.
[0091] It should be noted that the unique number allocation in this embodiment uses consecutive integer numbers and is segmented by category for easy investigation: the inventory lock variable number starts from 100,000, the order allocation variable number starts from 200,000, and the path selection variable number starts from 300,000.
[0092] For example, the inventory lock variable number corresponding to warehouse W01, product P100, and batch B01 is 100001; the inventory lock variable number corresponding to warehouse W02, product P100, and batch B03 is 100045; the order allocation variable number for order O1001 handled by warehouse W01 is 200010; the order allocation variable number for order O1001 handled by warehouse W02 is 200011; the path selection variable number for capacity C01 selecting route sequence R07 is 300120; and the path selection variable number for capacity C01 selecting route sequence R09 is 300121.
[0093] S3.2 Construct linear target coefficients for inventory locking variables, order allocation variables, and path selection variables based on the cost item weight set, and construct upper limit constraint inequalities for the corresponding variables in the variable index table based on the constraint parameter table to generate a constraint matrix.
[0094] In a preferred embodiment, the linear target coefficients are constructed according to the variable categories:
[0095] For the inventory lock-in variable, the coefficient is related to the weight of the stockout penalty cost: the further the lock-in deviates from the safe range of available inventory, the higher the coefficient; in this embodiment, the safe range is jointly defined by the upper limit of inventory lock-in and the proportion of near-expiration.
[0096] For the order allocation variable, the coefficient is related to the tightness of warehouse outbound capacity and the weight of the timeout penalty cost: the tighter the outbound capacity and the narrower the order time window, the higher the coefficient.
[0097] For the route selection variable, the coefficient is related to the weight of transportation mileage cost and the weight of rollback penalty cost: the longer the route mileage and the higher the historical rollback rate, the higher the coefficient.
[0098] In this embodiment, the constraint matrix adopts a structure where rows correspond to constraint entries and columns correspond to variable numbers: each row represents an upper bound constraint inequality, and each column corresponds to a variable number in the variable index table; the matrix elements are the coefficients of the variable in the constraint, and the right side of the matrix stores the boundary values of the constraint in that row; the constraint types include at least:
[0099] Inventory lock-up limit constraint: The locked quantity of the same batch of goods in the same warehouse shall not exceed the inventory lock-up limit;
[0100] Vehicle load limit constraint: The total weight of all assigned orders under the same capacity identifier shall not exceed the vehicle load limit;
[0101] Order delivery time window upper limit constraint: The combination of the warehouse outbound time and the route arrival time assigned to an order must not be later than the end of its time window;
[0102] Warehouse outbound capacity limit constraint: The number of outbound orders in the same hourly period of the same warehouse shall not exceed the capacity limit of that hourly period.
[0103] S3.3 Perform row vector screening on the constraint matrix, and delete duplicate constraint rows with the same coefficient vector and the same constraint boundary vector; for constraint rows corresponding to the same subset of variables, delete the dominated constraint rows with looser constraint boundary vectors and the same coefficient vector.
[0104] In this embodiment, the coefficient vector refers to the combination of coefficients in each variable number column of a constraint row; the boundary vector refers to the boundary value (including the upper limit value and the constraint type identifier of the row) corresponding to the constraint row; the duplicate constraint row refers to two rows of constraints that are completely identical in the set of variable numbers involved, and the coefficients of each variable are completely identical, and the boundary values are also identical; the dominated constraint row refers to two rows of constraints that are identical in the set of variable numbers involved and the coefficients are identical, but the boundary value of one row is more lenient, so that the row no longer forms an additional contraction to the feasible region; for example, if the outbound capacity of the same warehouse in the same hour is given an upper limit of 230 orders and an upper limit of 260 orders at the same time, then the constraint row corresponding to the upper limit of 260 orders is dominated by the upper limit of 230 orders.
[0105] Furthermore, the row vector screening method implemented in this embodiment specifically includes: first generating row signatures according to the constraint type and the set of participating variable numbers, and then comparing the consistency of coefficients and boundary values within the same signature group; if they are consistent and the boundary values are consistent, then duplicate rows are deleted; if they are consistent but the boundary values are more lenient, then the dominated rows are deleted; this processing method reduces the size of the constraint matrix and reduces the number of times the solver repeatedly processes equivalent constraints in node iterations.
[0106] S3.4 Combine the linear objective coefficients, variable index table, and constraint matrix after performing row vector screening to form a joint optimization model for inventory allocation and path selection.
[0107] In a preferred embodiment, the constraint matrix after performing row vector screening, together with the linear objective coefficients and the variable index table, forms a joint optimization model in the form of mixed-integer linear programming, the mathematical expression of which is as follows:
[0108] ;
[0109] ;
[0110] ;
[0111] ;
[0112] ;
[0113] ;
[0114] in, A is the inventory locking decision set, which consists of warehouse identifier, product identifier, and batch identifier; A is the order allocation candidate set, which consists of order identifier and warehouse identifier; R is the route selection candidate set, which consists of capacity identifier and route sequence identifier. For warehouse identification; For product identification; For batch identification; For order identification; For capacity identification; For route sequence identification; For warehouse unloaded goods batch The number of locked decisions; For orders From warehouse The allocation instruction quantity to be undertaken, which can be 0 or 1; For transport capacity Select route sequence The indicator value is either 0 or 1; For the linear target coefficients corresponding to the inventory lock-in variables; Assign linear target coefficients to the variables corresponding to the orders; Select the linear target coefficients corresponding to the path variables; For warehouse unloaded goods Inventory lock-in limit; For orders Order weight; For transport capacity The maximum vehicle load capacity; It is a set of non-negative integers; It is a binary set.
[0115] It should be noted that inventory locking, order allocation, and path selection are coupled. Any individual optimization will result in infeasibility or high rollback risk on the other side. This embodiment unifies the three types of decisions into the model and removes duplicate and dominated constraint rows before entering the model, making the constraint matrix more compact. The constraint set faced by the solver has reduced equivalent redundancy, the boundary judgment in node iteration is faster, and the feasible solution is less affected by numerical noise from duplicate constraints. At the same time, joint modeling ensures that warehouses with tight inventory are assigned too many orders and vehicles with insufficient load capacity are still assigned orders within the same feasible domain, thereby reducing the rollback frequency in S4.
[0116] S4. A mixed-integer linear programming solver is used to iteratively solve the joint optimization model node by node. The feasible solution from the previous round is used as the initial solution and written into the solver parameters. When any upper limit constraint is not satisfied in the iterative solution, variable freezing and hierarchical rollback recalculation are performed according to the conflict priority table. The optimized inventory lock instruction data and delivery order instruction data are output. It should be noted that the following points are important in this step:
[0117] S4.1 Input the joint optimization model into the mixed integer linear programming solver, configure the initial solution parameters of the solver to the feasible solution of the previous round, and perform node-by-node iterative solution on the joint optimization model to obtain the iterative solution;
[0118] Reference Figure 2 Methods for iterative node solving using a joint optimization model include:
[0119] (1) Temporarily set the integer variables in the joint optimization model as continuous variables to obtain the root node planning model, and add the root node planning model to the set of nodes to be processed;
[0120] (2) Select candidate node planning models from the set of nodes to be processed and solve the planning model of the candidate node to obtain the target limit value and the corresponding variable value of the candidate node planning model;
[0121] (3) When the variable value satisfies the integer variable value constraint, the variable value is recorded as the current feasible solution and the current optimal limit value is updated; when the variable value does not satisfy the integer variable value constraint, the branch variable that does not satisfy the integer variable value constraint is selected and at least two child nodes are generated, and each child node is added to the set of nodes to be processed.
[0122] (4) Perform target limit value judgment on each node in the set of nodes to be processed. When the target limit value of a node is greater than or equal to the current optimal limit value, remove the node from the set of nodes to be processed.
[0123] (5) Under the condition that the set of nodes to be processed is not empty, the candidate node selection, candidate node planning solution, child node generation and node elimination process are executed in a loop until the set of nodes to be processed is empty or the difference between the current optimal limit value and the minimum target limit value of the candidate node is less than the termination difference threshold. The current feasible solution is output as the output solution of the node iterative solution.
[0124] In a preferred embodiment, the mixed-integer linear programming solver is an open-source solver that supports branch and bound and warm start, such as Gurobi, CPLEX, or SCIP; the solver takes the linear objective coefficients, variable value types, constraint matrix, and boundary values of the joint optimization model as input.
[0125] In this embodiment, temporarily setting integer variables as continuous variables means that: for order allocation variables and path selection variables that were originally limited to binary or integer values, they are temporarily allowed to take any real number in the range of 0 to 1; for inventory locking variables, they are temporarily allowed to take non-negative real numbers; the resulting root node programming model is in the form of linear programming, with its constraint set and objective coefficients remaining unchanged, only the variable value types are relaxed.
[0126] It should be noted that the candidate node planning model refers to the sub-problem model obtained by applying a value splitting condition to a certain branch variable based on the root node planning model; for example, applying a splitting condition of not less than 1 or not greater than 0 to a certain path selection variable, thereby forming two sub-node models.
[0127] In this embodiment, the target limit value is: the optimal target value of the linear programming relaxation problem is used as the limit value of the node; when the limit value is not better than the current optimal limit value, the node is removed from the set of nodes to be processed.
[0128] Furthermore, the integer variable value constraints include: the order allocation variable and the path selection variable are 0 or 1; the inventory lock variable is a non-negative integer; when the variable values obtained from the node solution simultaneously satisfy the above value type constraints, they constitute the current feasible solution.
[0129] In this embodiment, the previous feasible solution is used as the initial solution. The solver hot start parameters are written in: the inventory lock instruction data and delivery order instruction data output in the previous round are decomposed into variable values and submitted to the solver as the initial feasible solution, thereby shortening the feasibility search time of the new round of solution.
[0130] Preferably, in this embodiment, the difference between the current optimal boundary value and the minimum boundary value in the set of nodes to be processed is used as the difference index. When the difference is less than or equal to five per thousand of the current optimal boundary value, the process terminates. At the same time, the upper limit of the solution time is set to 8 seconds. When either of these conditions is met, the current round of node iteration ends and the current feasible solution is output.
[0131] S4.2 Perform upper limit constraint verification on the iterative solution, where the upper limit constraint verification includes the upper limit of inventory lock, the upper limit of vehicle load, the upper limit of order delivery time window, and the upper limit of warehouse outbound capacity.
[0132] In a preferred embodiment, the upper limit constraint verification checks the iterative solution class by class according to the constraint parameter table:
[0133] Inventory lock limit verification: Compare the locked quantity of the same batch of goods in the same warehouse in the iterative solution with the inventory lock limit. If the limit is exceeded, the solution is deemed unsuccessful.
[0134] Vehicle load limit verification: Sum the order weights of the orders carried by a certain capacity identifier in the iterative solution and compare them with the vehicle load limit. If the load exceeds the limit, the test is rejected.
[0135] Order delivery time window upper limit verification: Combine the warehouse outbound time and route arrival time corresponding to the iterative solution with the end point of the order time window, and judge it as failing if it is later than the end point;
[0136] Warehouse outbound capacity limit verification: The number of outbound orders allocated to the same warehouse in the same hourly period in the iterative solution is compared with the capacity limit of that hourly period. If the limit is exceeded, it is judged as failing.
[0137] The verification output is the verification conclusion plus a set of trigger constraint types, which is then entered into the priority decision in S4.3.
[0138] S4.3 When the upper limit constraint verification fails, the target constraint type is determined according to the conflict priority table, and the variables corresponding to the target constraint type in the variable index table are frozen. The solution is rolled back to the previous feasible solution and the node iteration is triggered again.
[0139] When the upper limit constraint verification fails, this embodiment selects the highest-ranked one from the set of trigger constraint types according to the conflict priority table as the target constraint type; the target constraint types include: order delivery time window upper limit conflict, inventory lock upper limit conflict, warehouse outbound capacity upper limit conflict and vehicle load capacity upper limit conflict.
[0140] It should be noted that the freezing process in this embodiment includes: if the target constraint type is an order delivery time window upper limit conflict, then the path selection variable corresponding to the order that caused the timeout is frozen, so that the order cannot continue to select the route sequence that caused the late arrival in the next round of recalculation, and at the same time, the order allocation variable of the order is restricted, so that it turns to the nearest or faster outbound warehouse among the candidate warehouses; if the target constraint type is an inventory lock upper limit conflict, then the over-locked inventory lock variable is frozen, so that the locked quantity of the batch of goods in the warehouse cannot continue to increase in the next round, and at the same time, the relevant order allocation variable is turned to other warehouses or to different batches in the same warehouse; if the target constraint type is an in-warehouse outbound capacity upper limit conflict, then the newly added order allocation variable in the hourly segment is frozen, so that the allocation scale of the warehouse in the hourly segment will not expand, and some orders are guided to be allocated to adjacent hourly segments or other warehouses; if the target constraint type is a vehicle load upper limit conflict, then some path selection variables of overloaded vehicles are frozen, so that they cannot continue to accept the set of orders that caused overload in the next round, and some orders are migrated to other vehicle routes through the order allocation variable.
[0141] The solver's initial feasible solution is restored to the variable values of the previous round, while retaining the newly added freeze constraints. Then, the node iteration is retried to ensure that the new round of search is conducted within the space of the existing feasible baseline plus the newly added freeze constraints, thereby avoiding repeated exploration in infeasible regions.
[0142] S4.4 When the upper limit constraint verification passes, inventory lock instruction data and delivery dispatch instruction data are generated based on the iterative solution. The inventory lock instruction data is generated from the final value of the inventory lock variable, and the delivery dispatch instruction data is generated from the final value of the path selection variable.
[0143] When the upper limit constraint verification passes, this embodiment generates two types of instruction data based on the iterative solution:
[0144] (1) Inventory lock instruction data is generated from the final value of the inventory lock variable, which includes at least: warehouse identifier, product identifier, batch identifier, lock quantity, lock effective time and lock invalidation time; in this embodiment, the lock invalidation time is 60 minutes after the end of the order time window, so that the lock is automatically released when the fulfillment window ends.
[0145] (2) The delivery dispatch instruction data is generated by the final value of the path selection variable, which includes at least: capacity identifier, carrying order list, arrival station sequence list, planned departure time, planned arrival time of each station and temperature zone loading requirements; the arrival station sequence list is given in the form of warehouse departure - customer station 1 - customer station 2 - return to warehouse or end point in this embodiment, so that the execution end can directly schedule.
[0146] In a preferred embodiment, the warehouses involved in the scheduling include two city warehouses, W01 and W02, and the goods include two types of fast-moving consumer goods, P100 and P200. W01 has an available inventory of 1200 units of P100 and 800 units of P200; W02 has 600 units of P100 and 1100 units of P200. Based on a locking ratio of 0.85, the maximum locked inventory for W01 of P100 is 1020 units, and the maximum locked inventory for W02 of P100 is 510 units.
[0147] Regarding warehouse outbound capacity, W01 has a daily outbound order limit of 230 orders between 10:00 and 11:00, and W02 has a daily outbound order limit of 180 orders between 10:00 and 11:00. The transportation capacity includes three vehicles: C01 is a refrigerated truck with a maximum load capacity of 3500 kg and a rated volume of 18 cubic meters; C02 is a normal-temperature van with a maximum load capacity of 1500 kg and a rated volume of 10 cubic meters; and C03 is a minivan with a maximum load capacity of 800 kg and a rated volume of 6 cubic meters. The order volume includes six orders: O1001, O1002, and O1003 require refrigerated storage, with time windows ending at 12:00, 12:30, and 13:00 respectively; O1004, O1005, and O1006 require refrigerated storage. 1006 represents normal temperature, with time windows ending at 18:00, 18:30, and 19:00 on the same day. The weights of each order are as follows: O1001 420 kg, O1002 380 kg, O1003 260 kg, O1004 180 kg, O1005 210 kg, and O1006 160 kg. Historical fulfillment statistics show that the number of stockout triggers is higher than the number of timeouts within the past 14 days. The weighted set of cost items is as follows: stockout penalty cost weight 0.40, timeout penalty cost weight 0.30, rollback penalty cost weight 0.20, and transportation mileage cost weight 0.10. The rollback trigger constraint type sorting shows that the order delivery time window is the most relevant, followed by inventory lock-up.
[0148] Under this input, the joint optimization model formed by S3 is submitted to the solver. The solver first obtains the boundary values using a continuously relaxed root node programming model and then performs node iterations based on the initial solution after a hot start. The first round of iterations yields the following solution: refrigerated orders O1001 to O1003 are all assigned by W01 and carried by C01, while ambient temperature orders O1004 to O1006 are assigned by W02 and carried by C02. Meanwhile, C03, as an alternative route to carry O1006, was not selected. Subsequently, when performing the upper limit constraint check, it was found that: because W01 has locked 10 batches of B01 for P100 in this solution. 80 items exceeded the 1020-item inventory lock limit, causing the validation to fail. The set of trigger constraints included an inventory lock limit conflict. According to the conflict priority table, if time window conflicts also exist, the time window will be processed first. In this round, there is only an inventory lock conflict, so the target constraint type is determined to be an inventory lock limit conflict. The system freezes the inventory lock variables corresponding to W01-P100-B01, preventing them from increasing in the next round. It also imposes restrictions on the order allocation variables directly associated with this batch of locks, causing some of the P100 demand to be redirected to W02 or other batches of W01. The system rolls back to the previous feasible solution and recalculates.
[0149] The second round of iterative solution verification passed, and the output instruction data example is as follows:
[0150] Inventory lock instruction data: W01, P100, batch B01, locked quantity 1000 pieces, lock effective time 09:50 on the same day, lock expires at 13:00 on the same day; W01, P200, batch B02, locked quantity 520 pieces, lock effective time 09:50 on the same day, lock expires at 19:30 on the same day; W02, P100, batch B03, locked quantity 460 pieces, lock effective time 09:50 on the same day, lock expires at 13:30 on the same day;
[0151] Delivery order data: For capacity C01, the order list includes O1001, O1002, and O1003, with the station sequence being W01 departure - customer 1 - customer 2 - customer 3. The planned departure time is 10:05 AM, and the planned arrival times for each station are 10:35 AM, 11:10 AM, and 11:45 AM. The loading requirement is refrigerated. For capacity C02, the order list includes O1004 and O1005, with the station sequence being W02 departure - customer 4 - customer 5. The planned departure time is 1:30 PM, and the planned arrival times for each station are 2:10 PM and 3:05 PM. The loading requirement is ambient temperature. For capacity C03, the order list includes O1006, with the station sequence being W02 departure - customer 6. The planned departure time is 4:40 PM, and the planned arrival time is 5:20 PM. The loading requirement is ambient temperature.
[0152] When a conflict occurs in the inventory lock limit, the solution is to return from the over-locked state to the feasible region by freezing the conflict-related variables and recalculating the order. Without sacrificing the time window of refrigerated orders, some P100 locks are transferred from W01 to W02, reducing the risk of stockouts and rollback.
[0153] Other aspects disclosed in the embodiments of the present invention also provide a computer device including one or more processors and a memory.
[0154] The memory is used to store operable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations, including the flow of the AI-based inventory and distribution data processing and optimization method of the foregoing embodiments, especially... Figure 1 The flowchart of the method is shown.
[0155] Other aspects disclosed in the embodiments of the present invention also propose a computer-readable medium for storing software including instructions executable by one or more computers, which, upon execution, cause the one or more computers to perform operations, including the flow of the AI-based agent-based inventory and distribution data processing and optimization method of the foregoing embodiments, particularly... Figure 1 The flowchart of the method is shown.
[0156] It should be recognized that embodiments of the present invention may be implemented or carried out by computer hardware, a combination of hardware and software, or by computer instructions stored in a non-transitory computer-readable storage medium.
[0157] The method can be implemented using standard programming techniques, including a non-transitory computer-readable storage medium configured with a computer program in the computer program, wherein the storage medium is configured such that the computer operates in a specific and predefined manner.
[0158] Each program can be implemented in a high-level procedural or object-oriented programming language to communicate with the computer system; however, if necessary, the program can be implemented in assembly or machine language.
[0159] In any case, the language can be either compiled or interpreted.
[0160] Furthermore, for this purpose, the program can run on a programmed application-specific integrated circuit.
[0161] The processes described herein (or variations and / or combinations thereof) can be executed under the control of one or more computer systems configured with executable instructions, and can be implemented by hardware or a combination thereof as code (e.g., executable instructions, one or more computer programs, or one or more applications) that commonly executes on one or more processors. The computer program includes a plurality of instructions executable by one or more processors.
[0162] Furthermore, the method can be implemented in any suitable computing platform, including but not limited to personal computers, minicomputers, mainframes, workstations, networked or distributed computing environments, standalone or integrated computer platforms, or in communication with charged particle tools or other imaging devices.
[0163] Various aspects of the present invention can be implemented in machine-readable code stored on a non-transitory storage medium or device, whether portable or integrated into a computing platform, such as a hard disk, optical read and / or write storage medium, RAM, ROM, etc., such that it can be read by a programmable computer, and when the storage medium or device is read by the computer, it can be used to configure and operate the computer to perform the processes described herein.
[0164] Furthermore, machine-readable code, or parts thereof, can be transmitted via wired or wireless networks.
[0165] When such media includes instructions or programs that combine with a microprocessor or other data processor to implement the steps described above, the invention described herein includes these and other different types of non-transitory computer-readable storage media.
[0166] It should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and are not intended to limit it. Although the present invention has been described in detail with reference to preferred embodiments, those skilled in the art should understand that modifications or equivalent substitutions can be made to the technical solutions of the present invention without departing from the spirit and scope of the technical solutions of the present invention, and all such modifications or substitutions should be covered within the scope of the claims of the present invention.
Claims
1. A method for processing and optimizing inventory and delivery data based on AI intelligent agents, characterized in that, include: S1. Perform field normalization preprocessing on inventory data, order data, and transportation capacity data to obtain the preprocessed input dataset; S2. Using the AI intelligent agent software module deployed on the server, a cost item weight set, a constraint parameter table and a conflict priority table are generated based on the preprocessed input dataset and historical performance logs and rollback logs. The constraint parameter table includes an inventory lock-up limit, a vehicle load limit, an order delivery time window limit and a warehouse outbound capacity limit. S3. Convert the cost item weight set and the constraint parameter table into a variable index table and constraint matrix for mixed integer linear programming, construct a joint optimization model for inventory allocation and path selection, and remove duplicate constraint rows and dominated constraint rows from the constraint matrix. S3 includes: S3.1 Determining inventory locking variables, order allocation variables, and path selection variables based on the preprocessed input dataset, assigning unique variable numbers to each variable, and generating a variable index table; S3.2 Constructing linear target coefficients for the inventory locking variables, order allocation variables, and path selection variables based on the cost item weight set, and constructing upper limit constraint inequalities for the corresponding variables in the variable index table based on the constraint parameter table, generating a constraint matrix; S3.3 Performing row vector screening on the constraint matrix, deleting duplicate constraint rows with the same coefficient vector and the same constraint boundary vector; for constraint rows corresponding to the same subset of variables, deleting dominated constraint rows with looser constraint boundary vectors and the same coefficient vector; S3.4 Combining the linear target coefficients, the variable index table, and the constraint matrix to form a joint optimization model for inventory allocation and path selection; The mathematical expression of the joint optimization model is as follows: ; ; ; ; ; ; in, A is the inventory locking decision set, which consists of warehouse identifier, product identifier, and batch identifier; A is the order allocation candidate set, which consists of order identifier and warehouse identifier; R is the route selection candidate set, which consists of capacity identifier and route sequence identifier. For warehouse identification; For product identification; For batch identification; For order identification; For capacity identification; For route sequence identification; For warehouse unloaded goods batch The number of locked decisions; For orders From warehouse The allocation instruction quantity to be undertaken, which can be 0 or 1; For transport capacity Select route sequence The indicator value is either 0 or 1; For the linear target coefficients corresponding to the inventory lock-in variables; Assign linear target coefficients to the variables corresponding to the orders; Select the linear target coefficients corresponding to the path variables; For warehouse unloaded goods Inventory lock-in limit; For orders Order weight; For transport capacity The maximum vehicle load capacity; It is a set of non-negative integers; It is a binary set; S4. Use a mixed-integer linear programming solver to perform node-by-node iterative solution on the joint optimization model, and write the previous feasible solution as the initial solution into the solver parameters. When the iterative solution causes any upper limit constraint to be unsatisfied, perform variable freezing and hierarchical rollback recalculation according to the conflict priority table, and output the optimized inventory lock instruction data and delivery order instruction data.
2. The method for processing and optimizing inventory and delivery data based on AI intelligent agents according to claim 1, characterized in that, S1 includes: S1.1 Perform numerical unit conversion and code value mapping on the inventory data, order data and transportation capacity data respectively. The numerical unit conversion converts the value unit of the same data item in different sources to a unified value unit. The code value mapping maps the code value of the same data item to a unified code format to obtain standardized inventory data, standardized order data and standardized transportation capacity data. S1.2 Construct idempotent merge keys for the standardized inventory data, the standardized order data, and the standardized transportation capacity data respectively, and perform merging on duplicate data based on the idempotent merge keys to obtain deduplicated inventory data, deduplicated order data, and deduplicated transportation capacity data; S1.3 Perform integrity and range checks on the deduplicated inventory data, the deduplicated order data, and the deduplicated transportation capacity data. Generate complete values for missing items according to the principle of prioritizing items from the same source and emphasizing proximity. Generate correction values for out-of-bounds items according to the principle of boundary truncation to obtain the preprocessed input dataset.
3. The method for processing and optimizing inventory and distribution data based on AI intelligent agents according to claim 1 or 2, characterized in that, S2 includes: S2.1 The AI intelligent agent software module deployed on the server matches and merges the historical fulfillment logs and the rollback logs based on the order identifier, warehouse identifier and transportation capacity identifier in the preprocessed input dataset to obtain an associated log set, and counts the number of timeouts, rollback triggers and stockout triggers in the associated log set to generate a candidate penalty factor set; S2.2 Perform normalization and weighted composite calculation on the candidate penalty factor set to obtain the cost item weight set; S2.
3. Calculate the upper limit of inventory lock, upper limit of vehicle load, upper limit of order delivery time window and upper limit of warehouse outbound capacity based on the preprocessed input dataset and summarize them into a constraint parameter table. Sort the trigger constraint types in the rollback log according to the number of occurrences to obtain a conflict priority table.
4. The method for processing and optimizing inventory and delivery data based on AI intelligent agents according to claim 3, characterized in that, The set of cost item weights includes transportation mileage costs, timeout penalty costs, stockout penalty costs, and rollback penalty costs.
5. The method for processing and optimizing inventory and delivery data based on AI intelligent agents according to claim 1, characterized in that, S4 includes: S4.1 Input the joint optimization model into the mixed integer linear programming solver, configure the initial solution parameters of the solver as the feasible solution of the previous round, and perform node iterative solution on the joint optimization model to obtain the iterative solution; S4.2 Perform upper limit constraint verification on the iterative solution, wherein the upper limit constraint verification includes the upper limit of inventory lock, the upper limit of vehicle load capacity, the upper limit of order delivery time window, and the upper limit of warehouse outbound capacity; S4.3 When the upper limit constraint verification fails, the target constraint type is determined according to the conflict priority table, and the variables corresponding to the target constraint type in the variable index table are frozen. The solution is rolled back to the previous feasible solution and the node iteration is triggered again. S4.4 When the upper limit constraint verification passes, inventory lock instruction data and delivery dispatch instruction data are generated based on the iterative solution, wherein the inventory lock instruction data is generated from the final value of the inventory lock variable, and the delivery dispatch instruction data is generated from the final value of the path selection variable.
6. The method for processing and optimizing inventory and delivery data based on AI intelligent agents according to claim 5, characterized in that, The joint optimization model is solved by node-by-node iterative solution, including: The integer variables in the joint optimization model are temporarily set as continuous variables to obtain the root node planning model, and the root node planning model is added to the set of nodes to be processed. Candidate node planning models are selected from the set of nodes to be processed, and the planning models are solved to obtain the target limit values and corresponding variable values of the candidate node planning models. When the value of the variable satisfies the integer variable value constraint, the variable value is recorded as the current feasible solution and the current optimal limit value is updated; when the value of the variable does not satisfy the integer variable value constraint, the branch variable that does not satisfy the integer variable value constraint is selected and at least two child nodes are generated, and each child node is added to the set of nodes to be processed. For each node in the set of nodes to be processed, a target limit value is determined. When the target limit value of a node is greater than or equal to the current optimal limit value, the node is removed from the set of nodes to be processed. Under the condition that the set of nodes to be processed is not empty, the process of selecting candidate nodes, solving candidate node planning, generating child nodes and eliminating nodes is performed cyclically until the set of nodes to be processed is empty or the difference between the current optimal boundary value and the minimum target boundary value of the candidate node is less than the termination difference threshold. The current feasible solution is then output as the output solution of the node iterative solution.
7. A computer device, characterized in that, include: One or more processors; The memory stores operable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations, including the flow of the inventory and distribution data processing and optimization method based on an AI agent as described in any one of claims 1 to 6.
8. A computer-readable medium for storing software, characterized in that: The software includes instructions executable by one or more computers, which cause the one or more computers to perform operations, including the process of the AI agent-based inventory and distribution data processing and optimization method as described in any one of claims 1 to 6.