Freight stowage method, system, electronic device and storage medium
By constructing cargo and pallet pools, and combining greedy strategies and preset inhibition mechanisms, cargo allocation is optimized, solving the problem of low efficiency in existing cargo allocation and achieving efficient and accurate cargo allocation and utilization of transport capacity resources.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-27
- Publication Date
- 2026-04-07
AI Technical Summary
Existing cargo allocation methods are inefficient and error-prone, especially with frequent rule conflicts under large-scale cargo volumes, resulting in low allocation efficiency.
Cargo pools and pallet pools are constructed. Priorities are determined based on the departure time and capacity of the freight vehicles associated with the pallet positions. A greedy algorithm combined with a backtracking strategy is used for cargo allocation, and a preset inhibition mechanism is used to verify the feasibility of the allocation results.
It improves the accuracy and efficiency of cargo allocation, increases the utilization rate of transport capacity and cargo fulfillment rate, and solves the problem of resource mismatch in traditional allocation systems.
Smart Images

Figure CN121212942B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of cargo transportation technology, and in particular to a cargo allocation method, a cargo allocation system, an electronic device, a storage medium, and a computer program product. Background Technology
[0002] Cargo stowage planning refers to the process of planning the stowage positions on a transport vehicle before loading cargo. The core of cargo stowage planning is developing a layout plan for cargo within the cargo hold, taking into account the nature, weight, and volume of the cargo, as well as the characteristics of the transport vehicle, to improve loading efficiency and safety. Currently, cargo stowage planning typically employs manual methods or automated methods based on rule engines. However, manual stowage planning suffers from low efficiency, high error rates, and an inability to account for predictive inventory. While automated methods based on rule engines offer improved efficiency, as cargo volume increases and rules become more complex, rule conflicts emerge, leading to similarly low efficiency and high error rates.
[0003] It is evident that existing cargo allocation methods still require improvement. Summary of the Invention
[0004] This application provides a cargo allocation method that can effectively improve the efficiency and accuracy of cargo allocation.
[0005] Accordingly, embodiments of this application also provide a cargo allocation system, an electronic device, a storage medium, and a computer program product to ensure the implementation and application of the above-mentioned cargo allocation method.
[0006] To address the aforementioned problems, this application discloses a cargo booking method, the method comprising:
[0007] Construct cargo pools for goods awaiting booking and pallet pools for pallet allocation;
[0008] The priority of the pallet pool is determined based on the departure time of the freight vehicle associated with the pallet and the capacity of the pallet.
[0009] Using a preset inhibition mechanism as a feasibility verification condition for cargo allocation results, and following the order of priority from high to low and the preset allocation constraints, a greedy algorithm combined with a backtracking strategy is used to allocate pallet positions to the cargoes in the cargo pool, thereby obtaining the cargo allocation results corresponding to the cargo pool.
[0010] This application also discloses a cargo allocation system, the system comprising: a client and a server, wherein...
[0011] The client is used to obtain the allocation constraints, capacity resource information, and cargo information to be allocated by the user-configured allocation operation; wherein, the capacity resource information includes: the transportation route, departure time, and transportation qualification of the freight vehicle, and the capacity of the pallet associated with the freight vehicle; the cargo information to be allocated includes: the warehouse location and cargo attributes associated with the cargo to be allocated.
[0012] The server is used to construct a cargo pool for cargo to be allocated and a pallet pool for pallet allocation based on the transportation capacity resource information and the cargo information to be allocated.
[0013] The server is also used to determine the priority of the pallet pool based on the departure time of the freight vehicle associated with the pallet and the capacity of the pallet.
[0014] The server is also used to use a preset inhibition mechanism as a feasibility verification condition for cargo allocation results, and to use a greedy combination backtracking strategy to allocate pallet positions to the cargo to be allocated in the cargo pool according to the priority from high to low and the preset allocation constraints, so as to obtain the cargo allocation results corresponding to the cargo pool.
[0015] This application also discloses an electronic device, including: a processor, and a memory communicatively connected to the processor;
[0016] The memory stores computer-executed instructions;
[0017] The processor executes computer execution instructions stored in the memory to implement the method described in the embodiments of this application.
[0018] This application also discloses a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the method described in this application.
[0019] This application also discloses a computer program product, including a computer program / computer executable instructions, which, when executed by a processor in an electronic device, implement the method described in this application.
[0020] Compared with the prior art, the embodiments of this application have the following advantages:
[0021] By constructing a cargo pool for goods awaiting allocation and a pallet pool for pallet slots to be assigned, and determining the priority of pallet slots in the pallet pool based on the departure time of the associated freight vehicles and the capacity of the pallet slots, a preset inhibition mechanism is used as a feasibility verification condition for cargo allocation results. Following the order of priority from high to low and preset allocation constraints, a greedy algorithm combined with a backtracking strategy is employed to allocate pallet slots to the goods awaiting allocation in the cargo pool, obtaining the corresponding cargo allocation results for the cargo pool. This effectively improves the accuracy and efficiency of cargo allocation results. Furthermore, by using a greedy strategy for cargo allocation and employing a preset inhibition mechanism to verify and adjust the feasibility of the allocation results, the utilization rate of transport capacity resources and the fulfillment rate of freight are also improved. Attached Figure Description
[0022] Figure 1 This is one of the flowcharts of the cargo allocation method disclosed in the embodiments of this application;
[0023] Figure 2 This is the second step of the cargo allocation method disclosed in the embodiments of this application;
[0024] Figure 3 This is a schematic diagram illustrating an application scenario of the cargo allocation method disclosed in the embodiments of this application;
[0025] Figure 4 This is a schematic diagram of the workflow of the cargo allocation system disclosed in the embodiments of this application;
[0026] Figure 5 This is a schematic diagram of the structure of an exemplary device provided in one embodiment of this application. Detailed Implementation
[0027] To make the above-mentioned objectives, features and advantages of this application more apparent and understandable, the application will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0028] The cargo allocation method disclosed in this application aims to provide a cargo allocation method applicable to a cargo system. By integrating data on warehouse inventory, forecasted inventory, and available transport capacity within a specified future time, and combining a series of constraints and priority strategies, it achieves automated, compliant, and efficient allocation of goods to preferred transport capacity, thus solving the defects of low efficiency and error-proneness in the existing allocation process.
[0029] like Figure 1 As shown, the cargo allocation method disclosed in this application includes steps 102 to 106.
[0030] Step 102: Construct a cargo pool for cargo to be allocated and a pallet pool for pallet positions to be assigned.
[0031] The cargo awaiting allocation includes goods in storage and / or anticipated inventory. Optionally, the goods in storage are goods that have already been received and can be shipped immediately; the anticipated inventory refers to goods that will be received and shipped within a specified time period, which can be goods that will be received and shipped within the next T+1 to T+5 days, where T represents the start date of the forecast.
[0032] The board slots to be allocated include: currently available board slots and / or board slots that will become available within a specified future time period.
[0033] Optionally, constructing a cargo pool for goods awaiting allocation includes: predicting goods to be shipped within a specified time period based on historical outbound data; using the goods awaiting shipment and currently stored goods as cargo awaiting allocation, slicing the cargo according to its warehouse, destination, channel set, and inbound time period to obtain a cargo pool for each slice; and sorting the cargo in the cargo pool according to the priority of goods currently stored in the warehouse and the priority of the channel set.
[0034] The goods stored in the warehouse can be obtained by analyzing the freight data obtained by calling the data acquisition interface of the freight management system. The freight data includes, but is not limited to, one or more of the following information: the channel to which the goods belong, product type, product grade, number of pieces, weight, volume, warehouse, and estimated departure time.
[0035] The specific implementation method for predicting goods to be shipped within a specified time period based on historical outbound data is described in existing technology and will not be repeated in this application embodiment. In the embodiments of this application, goods information for goods that will be received and can be shipped within a specified time period can be predicted based on historical outbound data. This goods information includes, but is not limited to, one or more of the following: goods type, quantity, weight, volume, etc. The historical outbound data can be obtained by calling the data reading interface of the freight management system.
[0036] By slicing (or grouping) the goods in the warehouse and the predicted inventory according to multiple dimensions such as the warehouse, destination, channel set, and inbound time period, a cargo pool corresponding to the goods to be allocated is obtained for each slice. The goods in each cargo pool have the characteristics of being in the same or nearby warehouse, having the same destination (i.e., the same port of arrival), having the same or similar channel set (i.e., having the same cargo attributes), and having the same inbound time or within a specified time difference range.
[0037] Optionally, constructing a pool of pallet slots to be allocated includes: constructing a pool of pallet slots to be allocated based on currently available pallet slots and pallet slots that will become available within the specified time period, wherein the pallet slots that will become available within the specified time period can be determined based on the logistics information of goods associated with already used pallet slots.
[0038] Step 104: Determine the priority of the pallet positions in the pallet pool based on the departure time of the freight vehicle associated with the pallet position and the capacity of the pallet position.
[0039] Optionally, the freight vehicle includes, but is not limited to, large cargo transport vehicles such as airplanes and ships. The freight vehicle associated with a pallet slot is the freight vehicle that has the pallet slot set up. Each freight vehicle can be associated with one or more pallet slots, which are used for loading cargo.
[0040] Optionally, determining the priority of pallet positions in the pallet pool based on the departure time of the associated freight vehicle and the capacity of the pallet position includes: assigning a primary priority to the pallet positions in the pallet pool in descending order of their departure times from the associated freight vehicles; assigning a secondary priority to the pallet positions in descending order of their capacities from the associated capacities; and obtaining the priority of the pallet position based on the primary and secondary priorities. For example, a pallet position assigned to a freight vehicle with an earlier departure time has a higher priority than a pallet position assigned to a freight vehicle with a later departure time; for pallet positions on the same freight vehicle, a pallet position with a larger capacity has a higher priority than a pallet position with a smaller capacity.
[0041] The aforementioned composite priority ranking mechanism based on departure time and pallet capacity prioritizes the allocation of early flights and large-capacity pallets, improving the utilization rate of transport capacity resources and loading efficiency, and avoiding the waste of large pallets caused by small-capacity pallets competing for resources.
[0042] Next, cargo allocation operations will be performed for the cargo in the cargo pool corresponding to each segment.
[0043] Step 106: Using a preset inhibition mechanism as a feasibility verification condition for cargo allocation results, according to the order of priority from high to low and the preset allocation constraints, a greedy combined with backtracking strategy is used to allocate the pallet positions to the cargo to be allocated in the cargo pool, thereby obtaining the cargo allocation results corresponding to the cargo pool.
[0044] Optionally, the preset suppression mechanisms include: a high-priority pallet not full suppression mechanism, a master order gap suppression mechanism, and an empty pallet blocking mechanism. Specifically, the high-priority pallet not full suppression mechanism prevents the allocation of goods from the same channel to lower-priority pallets if the highest-priority pallet has not reached its capacity / item count threshold; the master order gap suppression mechanism prevents the allocation of goods from any channel to lower-priority pallets if a high-priority pallet has not yet been loaded and only one master order quota remains (i.e., one master order is already in use); and the empty pallet blocking mechanism suspends the allocation of all lower-priority pallets if the highest-priority pallet is completely unallocated.
[0045] Optionally, the step of using a preset suppression mechanism as a feasibility verification condition for cargo allocation results, and allocating pallet positions to the cargoes awaiting allocation in the cargo pool according to the priority order from high to low and the preset allocation constraints using a greedy combined with a backtracking strategy to obtain the cargo allocation results corresponding to the cargo pool, includes: allocating pallet positions to the cargoes awaiting allocation in the current cargo pool according to the priority order from high to low and the preset allocation constraints using a greedy strategy to obtain a first allocation result corresponding to the current cargo pool; verifying the feasibility of the first allocation result using a preset suppression mechanism to obtain a second verification result; if the second verification result indicates that the first allocation result has not triggered the preset suppression mechanism, using the first allocation result as the cargo allocation result corresponding to the current cargo pool; if the second verification result indicates that the first allocation result has triggered the preset suppression mechanism, adjusting the allocation relationship between the cargoes awaiting allocation and the pallet positions until the first allocation result has not triggered the preset suppression mechanism.
[0046] In some optional embodiments, a greedy algorithm is used to allocate pallet positions to the cargo to be allocated according to the order of priority from high to low, to obtain the first allocation result, and the cargo is allocated in sufficient quantity to the high-priority pallet positions.
[0047] Optionally, the step of allocating pallet slots to the goods awaiting allocation in the current cargo pool using a greedy strategy according to the order of priority from high to low and the preset allocation constraints, to obtain the first allocation result corresponding to the current cargo pool, includes: performing the following allocation operations for each pallet slot in the pallet slot pool according to the order of priority from high to low: selecting candidate goods from the goods awaiting allocation based on the transportation route of the freight vehicle, the warehouse location associated with the goods awaiting allocation, and the cargo attributes of the goods awaiting allocation; setting the allocation priority of the candidate goods according to the channel priority and the order of entry time of the candidate goods; and so on. The process involves: First, allocating space to the current pallet location and the candidate cargo in descending order of allocation priority, performing master order combination allocation to obtain the first allocation result for the current pallet location. Then, matching and verifying the first allocation result according to preset allocation constraints, obtaining a first verification result. If the first verification result indicates successful matching, the allocation status of the cargo to be allocated is updated and the first allocation result is output. If the first verification result indicates failed matching, the process jumps to the step of performing master order combination allocation to the current pallet location and the candidate cargo in descending order of allocation priority to obtain the first allocation result for the current pallet location. The cargo attributes include one or more of the following: weight, volume, and product type.
[0048] The transportation route includes at least an origin and a destination. In practice, the warehouse location associated with the cargo to be loaded is selected by finding the origin of the freight vehicle associated with the currently assigned pallet position. Then, the cargo in the selected warehouse and the cargo predicted to arrive at the selected warehouse within a specified time period are selected as candidate cargo.
[0049] Then, select candidate goods from the candidate goods whose cargo attributes (such as whether they are electronic goods, the standards they meet, etc.) match the transportation qualifications (such as whether they can transport electronic goods, etc.) of the pallet location. For example, you can select candidate goods that match the destination, have the same transportation attributes, the same origin, whose warehouse meets the "unique warehouse" or "single pallet multi-warehouse whitelist" criteria, share a pallet with the channel group, and whose existing inventory is prioritized over the predicted inventory. Construct a candidate goods set, and use the candidate goods in this set as the candidate goods for the current pallet location.
[0050] Next, master orders are combined based on the capacity of the pallet and the volume, weight, and other information of the selected candidate goods. Candidate goods with the same or similar attributes are combined into one master order. For example, goods from multiple orders in the same channel are combined into one master order according to preset rules. Optionally, master orders are combined and allocated to the current pallet and the candidate goods in descending order of allocation priority to obtain the first allocation result for the current pallet. This includes: determining the next unallocated channel according to the channel priority of the candidate goods; obtaining the allocatable goods under the next unallocated channel; skipping the current channel if the number of allocatable goods is less than a preset master order item number threshold and the next unallocated channel is not an exceptional channel; and allocating the candidate goods under the channel as a master order to the current pallet as a master order if the number of allocatable goods is greater than or equal to the preset master order item number threshold, thus obtaining the first allocation result for the current pallet. Taking air freight as an example, by combining candidate cargo into master orders, a transport document summarizing multiple sub-orders is obtained. Then, based on the summarized transport document, the cargo and pallet allocation operation is performed with the master order as the loading unit, which can effectively reduce the amount of loading calculation and improve loading efficiency.
[0051] Then, the first cabin allocation result is matched and verified according to the preset cabin allocation constraints to obtain the first verification result.
[0052] For pallet positions where cargo allocation has been completed, the first allocation result for the current pallet position is further matched and verified according to preset allocation constraints to determine whether the cargo allocation result for the current pallet position meets the preset allocation constraints, thereby obtaining the first verification result corresponding to the first allocation result for the current pallet position. The allocation constraints include, but are not limited to, one or more of the following: compliance constraints, pallet position capacity and resource constraints, operational constraints, priority control logic constraints, etc. The allocation constraints can be flexibly configured according to application requirements.
[0053] The compliance cabin allocation constraints include, but are not limited to, one or more of the following:
[0054] 1. Uniqueness constraint of destination (e.g., port of arrival) for pallet allocation, which is used to restrict all goods allocated to the same pallet to originate from the same port of origin.
[0055] 2. Warehouse uniqueness constraint for pallet allocation, which is used to ensure that the goods allocated to each pallet position must be shipped from one warehouse;
[0056] 3. Minimum number of items in the master order: This constraint ensures that the number of items in each master order is not less than the preset number (e.g., 10 items).
[0057] 4. Channel group isolation constraint, used to restrict goods from different channel groups from being assigned to the same pallet position.
[0058] The board slot capacity and resource constraints include, but are not limited to, one or more of the following constraints:
[0059] 1. Pallet capacity and weight limits are used to constrain the preset upper limits of the number of large packages, total volume, and total weight that can be loaded on a single pallet (e.g., current master order + existing goods ≤ maximum number of packages per pallet, total weight ≤ maximum load capacity of pallet, total volume ≤ maximum capacity of pallet).
[0060] 2. Constraint on the proportion of general cargo in electrified transport capacity: This constraint is used to limit the upper limit of the quantity of non-electrified cargo relative to the pallet capacity when using transport capacity with electrification qualifications.
[0061] The operational-level constraints include, but are not limited to, one or more of the following constraints:
[0062] 1. Maximum number of main orders: This constraint is used to limit the maximum number of main orders that a single board slot can handle (e.g., a single board slot can handle a maximum of 2 main orders).
[0063] 2. Pallet splitting limit: This limit restricts the maximum number of pallet slots that can be split from the same pallet of goods. For example, goods in each pallet can be split into a maximum of 2 pallet slots to prevent excessive dispersion.
[0064] 3. Daily pallet consolidation frequency constraint, used to constrain the upper limit of the number of times goods in the same channel and on the same transport capacity can be consolidated (that is, the number of times goods in the same channel and on the same transport capacity can be consolidated shall not exceed 1 time, to avoid excessive channel dispersion).
[0065] The priority control logic constraints include, but are not limited to:
[0066] 1. Inventory priority constraint: This constraint is used to control the priority of cargo allocation under the same channel. For example, goods stored in the warehouse are given priority over predicted inventory in cargo allocation, so as to achieve "all goods that should be released are released".
[0067] If the allocation result of goods to the current pallet position (i.e., the first allocation result) meets the aforementioned preset allocation constraints, the current pallet position is considered to have successfully allocated goods. Further, the allocation result is recorded and the allocation status of the goods awaiting allocation is updated, as well as the remaining capacity (e.g., remaining weight, number of pieces, volume) and remaining pallet positions of the current pallet position are updated. Recording the allocation result includes, but is not limited to: setting the pallet position binding result for the goods; recording the relationship between the master order tag and the pallet position. Then, the allocation result of goods to the current pallet position is used as the first allocation result for the current pallet position. Next, if there are still goods awaiting allocation and remaining pallet position capacity, the allocation operation for goods awaiting allocation and remaining pallet positions that are not associated with any pallet position continues until all goods awaiting allocation to the pallet positions are allocated, or until all pallet positions in the pallet position pool have been allocated goods, resulting in the first allocation result for all pallet positions.
[0068] If the allocation result of the cargo to the current pallet position does not meet the above-mentioned preset allocation constraints, the temporarily occupied resources (such as releasing the occupied pallet position, unbinding the pallet position and candidate cargo) can be rolled back according to the specific reason why the first allocation result does not meet the allocation constraints, and the allocation operation of the current pallet position can be re-executed.
[0069] If, after verification, the first compartment allocation results for each plate position meet the preset compartment allocation constraints, then the preset suppression mechanism is used to further determine whether the first compartment allocation results for each plate position in the plate position pool meet the preset suppression mechanism.
[0070] The preset suppression mechanism is a control logic to prevent low-priority pallet slots from preempting resources. Before each attempt to allocate goods to a pallet slot, the preset suppression mechanism needs to be triggered. Optionally, the preset suppression mechanism includes: a high-priority pallet slot not fully loaded suppression mechanism, a master order gap suppression mechanism, and an empty pallet blocking mechanism. Specifically, the high-priority pallet slot not fully loaded suppression mechanism: if the current highest-priority pallet slot has not reached its capacity / number of items threshold, then allocating goods from the same channel to a lower-priority pallet slot is prohibited; the master order gap suppression mechanism: if a high-priority pallet slot has not yet been loaded and only one master order quota remains (i.e., one master order is already occupied), then goods from any channel are prohibited from entering a low-priority pallet slot; the empty pallet blocking mechanism: if the highest-priority pallet slot is completely unallocated, then all goods allocation operations for all low-priority pallet slots are suspended.
[0071] During the allocation of cargo to pallet positions in the pallet pool, although allocation is performed sequentially according to pallet position priority, the allocation results may still result in situations where ordinary cargo occupies pallet positions with special transportation qualifications, preventing cargo requiring special transportation qualifications from being successfully allocated, or where high-priority pallet positions still have available space while low-priority pallet positions are already full. Based on the aforementioned preset suppression mechanism, the first allocation results corresponding to each pallet position in the pallet pool are verified to determine whether all allocation results satisfy the preset suppression mechanism. If it is determined that the first allocation results corresponding to each pallet position all satisfy the preset suppression mechanism (i.e., the first verification result indicates successful first verification), the current first allocation result is considered to conform to the preset rules and preset suppression mechanism for cargo allocation, the allocation status of the cargo to be allocated is updated, and the first allocation result is output. On the other hand, if the first allocation results corresponding to one or more pallet positions do not satisfy the aforementioned preset suppression mechanism (i.e., the first verification result indicates failed matching verification), the allocation relationship between the cargo to be allocated and the pallet positions is further adjusted to obtain a cargo allocation result that matches the cargo pool and the pallet pool.
[0072] During the process of adjusting the allocation relationship between the cargo to be allocated and the pallet positions, it is necessary to determine whether it is necessary to actively release the candidate cargo that is already bound to the pallet positions, and to re-allocate the released candidate cargo to the pallet positions with the changed priority. Optionally, adjusting the allocation relationship between the cargo to be allocated and the pallet positions includes: adjusting the allocation relationship between the cargo to be allocated and the pallet positions by adopting a reverse shifting and rebalancing method based on the preset suppression mechanism triggered by the first allocation result. The method of adjusting the allocation relationship between the cargo to be allocated and the pallet positions using reverse rebalancing includes: for the candidate cargo to be allocated, finding a high-priority pallet position with remaining space as the first target pallet position; if the remaining space of the first target pallet position is sufficient to load the candidate cargo to be allocated, unbinding the cargo allocation relationship between the candidate cargo to be allocated and the bound pallet position, then allocating the candidate cargo to be allocated to the high-priority pallet position and storing the cargo allocation relationship between the candidate cargo to be allocated and the high-priority pallet position; if the remaining space of the first target pallet position is insufficient to load the candidate cargo to be allocated, using a rebalancing method to release the space occupied by the first target pallet position in order to attempt to allocate the candidate cargo to the first target pallet position.
[0073] For example, when a candidate cargo cannot be moved to a low-priority pallet because a high-priority pallet is not full, thus triggering the high-priority pallet not full cargo suppression mechanism, the current allocation can be paused. Then, first, a high-priority pallet H with remaining capacity belonging to the same capacity group is searched. It is checked whether this high-priority pallet has enough space to accommodate the candidate cargo to be allocated. If the space is insufficient, it is determined whether the space of the high-priority pallet can be released through "relocation". Specifically: A low-priority channel cargo G_low already bound to the high-priority pallet H is searched. If the low-priority channel cargo G_low can also be allocated to other low-priority pallets (such as pallet L), then the low-priority channel cargo G_low is temporarily unbound from the high-priority pallet H to release the space occupied by the low-priority channel cargo G_low. The low-priority channel cargo G_low is then bound to the low-priority pallet L, and the candidate cargo to be allocated is bound to the high-priority pallet H. In other words, the low-priority channel cargo G_low is moved to the low-priority pallet L, and the candidate cargo to be allocated is allocated to the high-priority pallet H. Next, update the binding relationship between the goods and the pallet positions.
[0074] In some optional embodiments, after obtaining a cargo allocation plan that satisfies preset allocation constraints and preset suppression mechanisms, the cargo allocation plan can be further evaluated to optimize it. For example, multiple cargo allocation plans can be generated, and a better one can be selected from them. Alternatively, a better cargo allocation plan can be obtained by fine-tuning the existing plan.
[0075] Based on this, such as Figure 2 As shown, the feasibility verification condition for the cargo allocation result is to use a preset suppression mechanism as the priority in descending order and according to the preset allocation constraints. After the greedy algorithm combined with backtracking strategy is used to allocate the pallet positions to the cargo to be allocated in the cargo pool and obtain the cargo allocation result corresponding to the cargo pool, the method further includes: step 108.
[0076] Step 108: Perform local optimization on the cargo allocation results based on the loading rate and fulfillment rate matched by the cargo allocation results.
[0077] The loading rate represents the proportion of utilized transportation capacity to the total available transportation capacity, and is used to reflect resource utilization efficiency.
[0078] Optionally, the loading rate can be obtained by the following method:
[0079] Loading rate = ∑(actual number of items allocated to a single pallet position × average volume of a single item) / ∑(capacity of each pallet) × 100%.
[0080] Alternatively, the loading rate can be calculated based on the ratio of the sum of the actual weights of goods allocated to each pallet to the sum of the maximum total load capacity of each pallet. Or, the smaller value obtained from the two methods above can be selected as the final loading rate. The actual number of goods allocated to a single pallet, the average volume of a single item, the capacity of each pallet, the actual weight of goods allocated to each pallet, and the maximum total load capacity of each pallet can be obtained through freight management. This application embodiment does not restrict the method of obtaining the parameters for calculating the loading rate.
[0081] The fulfillment rate refers to the proportion of goods that are successfully allocated space and shipped on time out of the goods that should be shipped on that day, and is used to measure the customer's delivery capability.
[0082] Optionally, the fulfillment rate can be obtained by the following method:
[0083] Fulfillment rate = (Quantity of goods already booked and stored in the warehouse / Total planned shipments (part available for shipment from the warehouse)) × 100%.
[0084] The quantity of goods already allocated and stored in the warehouse and the total planned shipment quantity can be determined based on the list of goods marked "T+0 available for shipment" in the warehouse. The quantity of goods already allocated and stored in the warehouse can be determined based on the actual allocation results. In the embodiments of this application, there are no restrictions on the method of obtaining the quantity of goods already allocated and stored in the warehouse and the total planned shipment quantity.
[0085] In practice, optimization targets can be preset. If the loading rate and the fulfillment rate do not meet the optimization targets, local optimization can be performed on the cargo allocation results. The optimization targets can be: a loading rate greater than or equal to 85% and / or a fulfillment rate greater than or equal to 98%.
[0086] For example, in the specific cargo allocation process, after obtaining a cargo allocation plan that satisfies both preset constraints and preset inhibition mechanisms, the next step is to determine whether the loading rate and fulfillment rate of the cargo allocation plan have reached the preset optimization target. If not, local optimization is performed on the cargo allocation result.
[0087] In the embodiments of this application, the loading rate and fulfillment rate of the cargo allocation results can be improved by means of "cargo exchange".
[0088] Optionally, based on the loading rate and fulfillment rate matched by the cargo allocation results, local optimization is performed on the cargo allocation results, including: adjusting the cargo allocation results by exchanging pallet positions to obtain adjusted cargo allocation results; obtaining the loading rate, fulfillment rate, and penalty items matched by the adjusted cargo allocation results; calculating the evaluation score matched by the adjusted cargo allocation results based on the loading rate, fulfillment rate, and penalty items; if the improvement of the evaluation score matched by the adjusted cargo allocation results relative to the evaluation score matched by the unadjusted cargo allocation results meets a preset threshold and the loading rate and fulfillment rate meet a preset optimization target, the adjusted cargo allocation results are used as optimized cargo allocation results. Conversely, if the improvement of the evaluation score matched by the adjusted cargo allocation results does not meet the preset threshold, the cargo and pallet allocation relationship is rolled back to the unadjusted cargo allocation results.
[0089] For a specific example, each allocated pallet position P is traversed, and the two master orders M1 and M2 on that pallet position are analyzed. If master order M1 belongs to a low-priority channel, master order M2 belongs to a high-priority channel but is not full, and there is another pallet position Q that can receive all the cargo of master order M1, and pallet position P can accommodate more cargo from high-priority channels after freeing up space, then master orders M1 and M2 can be exchanged. That is, master order M1 is moved out of pallet position P, and then master order M2 is expanded, thus obtaining the adjusted cargo allocation result.
[0090] Optionally, the penalty item represents the penalty score assigned to a cargo allocation result due to a violation of preset allocation constraints. The penalty item can be determined based on the violation count and the penalty factor corresponding to the violation item. For example, the penalty item is equal to the product of the violation count and the penalty factor (such as mixed pallets, excessive splitting).
[0091] After obtaining the load factor, fulfillment rate, and penalty items of the cargo allocation results before adjustment, and the load factor, fulfillment rate, and penalty items of the cargo allocation results after adjustment, the following formulas are used to calculate the evaluation scores of the cargo allocation results before and after adjustment:
[0092] Score=w1 LoadingRate+w2 DeliveryRate w3 Penalty;
[0093] Where LoadingRate represents the loading rate, DeliveryRate represents the fulfillment rate, Penalty represents the penalty item, and w1, w2, and w3 represent the weight coefficients of the corresponding items, with values set according to application requirements, such as 0.4, 0.5, and 0.1 respectively. If the difference between the evaluation score of the adjusted freight allocation result and the evaluation score of the freight allocation result before adjustment is greater than or equal to a preset difference threshold (e.g., 0.01), and the loading rate and the fulfillment rate meet the preset optimization target, then the adjusted freight allocation result can be considered better than the original freight allocation result, and the adjusted freight allocation result can be output as the final freight allocation result; conversely, if the difference is not found, then the original freight allocation result can be considered better than the adjusted freight allocation result, and the original freight allocation result can be output as the final freight allocation result, or the original freight allocation result can be re-executed for local optimization.
[0094] In summary, the cargo allocation method disclosed in this application constructs a cargo pool of goods awaiting allocation and a pallet pool of pallet slots to be allocated. Based on the departure time of the associated freight vehicle and the capacity of the pallet slot, the priority of the pallet slots in the pool is determined. A preset inhibition mechanism is used as a feasibility verification condition for the cargo allocation results. Following the order of priority from high to low and preset allocation constraints, a greedy algorithm combined with a backtracking strategy is employed to allocate pallet slots to the goods awaiting allocation in the cargo pool, obtaining the corresponding cargo allocation results. This effectively improves the accuracy and efficiency of cargo allocation. Furthermore, by employing a greedy strategy for cargo allocation and using a preset inhibition mechanism to verify and adjust the feasibility of the allocation results, the utilization rate of transport capacity resources and the fulfillment rate of freight are also improved.
[0095] Furthermore, by constructing cargo pools based on existing and predicted inventory, and building a dual-drive allocation model of "real-time + forward-looking" based on transportation capacity resources within a specified time period, dynamic optimization and matching of cargo and transportation capacity can be achieved, which helps to solve the resource mismatch problem of "cargo without space" or "space without cargo" in traditional freight allocation systems.
[0096] During the cargo allocation process, pre-set allocation constraints (such as master order ≥ 10 pieces, no mixed pallets, ≤ 1 pallet, ≤ 2 pallet splits, etc.) and verify the allocation results in real time based on the allocation constraints and automatically roll back during the allocation process to ensure that the allocation results are 100% compliant.
[0097] In addition, the cargo allocation method disclosed in this application uses multidimensional data to slice the cargo to be allocated in order to construct a cargo pool, which enables cargo in multiple warehouses in close proximity to be transported by palletizing, breaking through the traditional "one pallet, one warehouse" limitation and supporting multi-warehouse collaborative shipping scenarios.
[0098] by Figure 3 Taking the application scenario shown as an example, when the cargo allocation method disclosed in the embodiments of this application is applied to cross-border transportation scenarios such as aviation or shipping, by acquiring data from each transportation node in the cargo process and integrating multi-dimensional data as input data for the cargo allocation engine, the allocation operation is performed on the cargo waiting for allocation and the supply of transportation capacity resources at the originating port cargo station. The entire allocation operation process combines cargo attributes and practical information of trunk warehouses, transportation capacity strategies related to export customs, destination requirements, operation strategies and objectives, etc., which not only improves the accuracy of cargo allocation, but also improves the loading rate of transportation capacity resources and the fulfillment rate of cargo transportation.
[0099] The cargo attributes and operational information of the trunk warehouse include, but are not limited to, one or more of the following: cargo attributes, failure level, inventory / in-transit volume, bulk package flow, cargo category, port, country, etc.; the export customs-related capacity strategies include, but are not limited to, one or more of the following: cargo transportation capacity, pallet inventory, pallet specifications, capacity priority, on-time rate, departure time, etc.; the destination requirements include, but are not limited to, one or more of the following: pallet combination strategy, customs master bill constraint, customs-local strategy, mixed master bill strategy, port connectivity, etc.; the operational strategies and objectives include, but are not limited to, one or more of the following: fulfillment rate, load factor, cost, etc.
[0100] Based on the above embodiments, this embodiment also provides a cargo allocation system, including a client and a server. The specific functions and implementation methods of the client and server are described below.
[0101] The client is used to obtain the allocation constraints, capacity resource information, and cargo information to be allocated by the user-configured allocation operation; wherein, the capacity resource information includes: the transportation route, departure time, and transportation qualification of the freight vehicle, and the capacity of the pallet associated with the freight vehicle; the cargo information to be allocated includes: the warehouse location and cargo attributes associated with the cargo to be allocated.
[0102] The server is used to construct a cargo pool for cargo to be allocated and a pallet pool for pallet allocation based on the transportation capacity resource information and the cargo information to be allocated.
[0103] The server is also used to determine the priority of the pallet pool based on the departure time of the freight vehicle associated with the pallet and the capacity of the pallet.
[0104] The server is also used to use a preset inhibition mechanism as a feasibility verification condition for cargo allocation results, and to use a greedy combination backtracking strategy to allocate pallet positions to the cargo to be allocated in the cargo pool according to the priority from high to low and the preset allocation constraints, so as to obtain the cargo allocation results corresponding to the cargo pool.
[0105] The following is combined with Figure 4 The diagram illustrates the operation flow of a cargo allocation system in an air cargo scenario, and describes the specific implementation method of the cargo allocation system.
[0106] like Figure 4 As shown, after the simulated cargo allocation system is put into operation, route operators can input allocation constraints, capacity resource information (such as the flight's origin and departure address, departure time, transportation qualifications (such as transporting general cargo or goods), associated pallet positions, capacity of each pallet position, etc.), and optimization goals through the cargo allocation system's client. The client then sends the information input by the route operators to the server for storage.
[0107] Optionally, the server of the freight allocation system obtains information on goods in the warehouse through a preset data acquisition interface, and makes predictions based on historical data to obtain predicted inventory information, as well as information on the supply of transportation resources. Then, based on the information on goods in the warehouse, predicted inventory information, and supply of transportation resources, the server performs allocation operations from the goods to be allocated to the transportation resources, obtaining the freight allocation result. The freight allocation result includes the master order list, cargo details, warehouse origin, and channel for each pallet.
[0108] For the specific implementation details of each step in obtaining the cargo allocation results for each cargo pool, please refer to the relevant descriptions in the previous embodiments, which will not be repeated here.
[0109] In some optional embodiments, the server is further configured to perform local optimization on the cargo allocation result based on the loading rate and fulfillment rate matched by the cargo allocation result, and send the locally optimized cargo allocation result and the loading rate and fulfillment rate matched by the locally optimized cargo allocation result to the client;
[0110] The client is also used to output the received cargo allocation results and the loading rate and fulfillment rate that match the cargo allocation results.
[0111] The specific implementation method for performing local optimization on the cargo allocation results based on the loading rate and fulfillment rate matched by the cargo allocation results is described in the previous embodiments and will not be repeated here.
[0112] In some optional embodiments, the client is also configured to output the allocation constraints followed by the locally optimized cargo allocation results.
[0113] For example, the client can display the cargo allocation results to route operators through a visual interface. The displayed cargo allocation results include, but are not limited to, one or more of the following information: the master bill of lading list corresponding to each pallet slot, cargo details, warehouse origin, channel, load factor, fulfillment rate, and applicable allocation constraints. Displaying the cargo allocation results to route operators improves the interpretability of the cargo allocation results.
[0114] like Figure 4 As shown, in some optional embodiments, the server of the cargo allocation system is also used to monitor cargo inventory data and capacity supply data, and to perform risk control management based on the monitored cargo inventory data and capacity supply data. For example, when the server detects that capacity resources are empty or canceled, it pushes risk alarm information to the client to prompt the route operation personnel to perform abnormal handling through the client.
[0115] Optionally, route operators can modify scenario data (such as adding or reducing flights) through the client to intervene abnormally in the cargo allocation process.
[0116] like Figure 4 As shown, in some optional embodiments, the cargo inventory data and transportation capacity supply data monitored by the server can also be used as iterative training data for training the inventory prediction capability and / or transportation capacity prediction capability of the freight allocation system, for analyzing and learning the prediction deviation, thereby realizing iterative optimization of the freight allocation capability of the freight allocation system.
[0117] In summary, the cargo allocation system disclosed in this application constructs a cargo pool of goods awaiting allocation and a pallet pool of pallet slots to be assigned. Based on the departure time of the associated freight vehicle and the capacity of the pallet slot, the priority of the pallet slots in the pool is determined. A preset inhibition mechanism is used as a feasibility verification condition for the cargo allocation results. Following the order of priority from high to low and preset allocation constraints, a greedy algorithm combined with a backtracking strategy is employed to allocate pallet slots to the goods awaiting allocation in the cargo pool, obtaining the corresponding cargo allocation results. This effectively improves the accuracy and efficiency of cargo allocation. Furthermore, by employing a greedy strategy for cargo allocation and using a preset inhibition mechanism to verify and adjust the feasibility of the allocation results, the system also improves the utilization rate of transport capacity and the fulfillment rate of freight.
[0118] Based on the above embodiments, this embodiment also provides a cargo loading device, the device comprising:
[0119] Cargo pool and pallet pool construction module, used to construct cargo pools for cargo to be booked and pallet pools for pallet allocation;
[0120] The pallet priority determination module is used to determine the priority of pallet positions in the pallet pool based on the departure time of the freight vehicle associated with the pallet position and the capacity of the pallet position.
[0121] The cargo allocation module is used to verify the feasibility of cargo allocation results using a preset inhibition mechanism. According to the priority from high to low and the preset allocation constraints, it uses a greedy combined with backtracking strategy to allocate the pallet positions to the cargo to be allocated in the cargo pool, thereby obtaining the cargo allocation results corresponding to the cargo pool.
[0122] Optionally, the use of a preset inhibition mechanism as a feasibility verification condition for cargo allocation results, and the allocation of pallet positions to the cargoes in the cargo pool according to the priority order from high to low and the preset allocation constraints, using a greedy combined with backtracking strategy, to obtain the cargo allocation results corresponding to the cargo pool, includes:
[0123] According to the order of priority from high to low and the preset allocation constraints, a greedy strategy is used to allocate pallet positions to the cargo to be allocated in the current cargo pool, so as to obtain the first allocation result corresponding to the current cargo pool.
[0124] The feasibility of the first compartment allocation result is verified by using a preset suppression mechanism to obtain a second verification result;
[0125] If the second verification result indicates that the first cargo allocation result has not triggered the preset suppression mechanism, the first cargo allocation result will be used as the cargo allocation result corresponding to the current cargo pool.
[0126] If the second verification result indicates that the first allocation result has triggered the preset suppression mechanism, the allocation relationship between the cargo to be allocated and the pallet position is adjusted until the first allocation result does not trigger the preset suppression mechanism.
[0127] Optionally, the preset suppression mechanism includes: a high-priority board position not fully loaded suppression mechanism, a master order gap suppression mechanism, and an empty board blocking mechanism.
[0128] Optionally, the step of allocating pallet positions to the cargo awaiting allocation in the current cargo pool according to the order of priority from high to low and the preset allocation constraints, using a greedy strategy, to obtain the first allocation result corresponding to the current cargo pool, includes:
[0129] In accordance with the aforementioned priority order from high to low, the following compartment allocation operations are performed for each pallet in the pallet pool:
[0130] Candidate cargo is selected from the cargo to be allocated based on the transportation route of the freight vehicle, the warehouse location associated with the cargo to be allocated, and the cargo attributes of the cargo to be allocated.
[0131] Set the cargo allocation priority according to the channel priority and warehousing time order of the candidate cargo;
[0132] According to the order of priority from high to low, the current pallet position and the candidate cargo are combined for master order allocation to obtain the first allocation result of the current pallet position.
[0133] The first cabin allocation result is matched and verified according to the preset cabin allocation constraints to obtain the first verification result;
[0134] If the first verification result indicates that the matching verification is successful, update the allocation status of the cargo to be allocated and output the first allocation result;
[0135] If the first verification result indicates that the matching verification failed, the process jumps to the step of performing master order combination allocation of the current pallet position and the candidate cargo in descending order of allocation priority to obtain the first allocation result of the current pallet position.
[0136] Optionally, adjusting the allocation relationship between the cargo to be allocated and the pallet positions includes:
[0137] Based on the preset suppression mechanism triggered by the first allocation result, the allocation relationship between the cargo to be allocated and the pallet position is adjusted by reverse shifting and rebalancing.
[0138] Optionally, determining the priority of pallet positions in the pallet pool based on the departure time of the freight vehicle associated with the pallet position and the capacity of the pallet position includes:
[0139] Based on the departure time of the freight vehicles associated with the pallet positions, the pallet positions in the pallet position pool are assigned a primary priority from highest to lowest.
[0140] The board slots in the board slot pool are assigned a secondary priority in descending order of capacity.
[0141] The priority of the board position is obtained based on the primary priority and the secondary priority.
[0142] Optionally, a cargo pool for cargo awaiting stowage may be constructed, including:
[0143] Predict the goods to be shipped within a specified time period based on historical outbound data;
[0144] The goods to be shipped and the goods currently in the warehouse are used as the goods to be allocated. The goods to be allocated are sliced according to their warehouse, destination, channel set, and entry time period to obtain the goods pool corresponding to each slice.
[0145] The cargo awaiting allocation in the cargo pool is sorted according to the priority of cargo stored in the warehouse and the priority of the channel set.
[0146] Optionally, after using a preset suppression mechanism as a feasibility verification condition for the cargo allocation result, and employing a greedy algorithm combined with a backtracking strategy to allocate pallet positions to the cargoes in the cargo pool according to the priority order from high to low and the preset allocation constraints, and obtaining the cargo allocation result corresponding to the cargo pool, the device further includes:
[0147] The cargo allocation result optimization module is used to perform local optimization on the cargo allocation result based on the loading rate and fulfillment rate matched by the cargo allocation result.
[0148] Optionally, the step of performing local optimization on the cargo allocation results based on the load factor and fulfillment rate matched by the cargo allocation results includes:
[0149] The cargo allocation results are adjusted by using a pallet-based cargo exchange method to obtain the adjusted cargo allocation results;
[0150] Obtain the adjusted cargo allocation results, including load factor, fulfillment rate, and penalties.
[0151] The evaluation score for matching the adjusted cargo allocation result is calculated based on the load factor, the fulfillment rate, and the penalty item.
[0152] If the improvement of the evaluation score matched by the adjusted cargo allocation result relative to the evaluation score matched by the cargo allocation result before adjustment meets a preset threshold, and the loading rate and the fulfillment rate meet preset optimization targets, the adjusted cargo allocation result is taken as the optimized cargo allocation result.
[0153] The cargo allocation device disclosed in this application is used to implement the above-mentioned cargo allocation method. For the specific implementation of each module of the device, please refer to the specific implementation of the corresponding steps in the foregoing method embodiments, which will not be repeated here.
[0154] In summary, the cargo allocation device disclosed in this application constructs a cargo pool of goods awaiting allocation and a pallet pool of pallet slots to be assigned. Based on the departure time of the associated freight vehicle and the capacity of the pallet slot, the priority of the pallet slots in the pallet pool is determined. A preset inhibition mechanism is used as a feasibility verification condition for the cargo allocation results. Following the order of priority from high to low and preset allocation constraints, a greedy algorithm combined with a backtracking strategy is employed to allocate pallet slots to the goods awaiting allocation in the cargo pool, thereby obtaining the corresponding cargo allocation results for the cargo pool. This effectively improves the accuracy and efficiency of cargo allocation. Furthermore, by employing a greedy strategy for cargo allocation and using a preset inhibition mechanism to verify and adjust the feasibility of the allocation results, the utilization rate of transport capacity resources and the fulfillment rate of freight are also improved.
[0155] Furthermore, by constructing cargo pools based on existing and predicted inventory, and building a dual-drive allocation model of "real-time + forward-looking" based on transportation capacity resources within a specified time period, dynamic optimization and matching of cargo and transportation capacity can be achieved, which helps to solve the resource mismatch problem of "cargo without space" or "space without cargo" in traditional freight allocation systems.
[0156] During the cargo allocation process, pre-set allocation constraints (such as master order ≥ 10 pieces, no mixed pallets, ≤ 1 pallet, ≤ 2 pallet splits, etc.) and verify the allocation results in real time based on the allocation constraints and automatically roll back during the allocation process to ensure that the allocation results are 100% compliant.
[0157] In addition, the cargo allocation device disclosed in this application uses multi-dimensional data to slice the cargo to be allocated in order to build a cargo pool, which enables cargo in multiple warehouses in close proximity to be transported by palletizing, breaking through the traditional "one pallet, one warehouse" limitation and supporting multi-warehouse collaborative shipping scenarios.
[0158] On the other hand, this device achieves a positive cycle of "human service wisdom - standardized processes - intelligent service capabilities" by transforming customer service experience into iterative digital processes and applying them to intelligent dialogue products, representing a significant breakthrough compared to traditional solutions. Furthermore, this device can transform customer service experience into dynamic digital processes in real time and allow them to evolve dynamically. It not only supports the dynamic evolution of application rules but also uncovers standard operating procedures for complex customer service scenarios.
[0159] This application also provides a non-volatile readable storage medium storing one or more modules (programs). When these modules are applied to a device, they enable the device to execute the instructions for the method steps in this application.
[0160] This application also provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the methods described in this application.
[0161] This application also provides an electronic device, including: a processor and a memory communicatively connected to the processor; the memory stores computer-executable instructions; the processor executes the computer-executable instructions stored in the memory to implement the method described in this application embodiment. In this application embodiment, the electronic device includes devices such as servers and terminal devices.
[0162] This application also discloses a computer program product, including a computer program / computer executable instructions, which, when executed by a processor in an electronic device, implement the method described in this application.
[0163] Embodiments of this disclosure can be implemented as an apparatus with any suitable hardware, firmware, software, or any combination thereof, configured as desired, and the apparatus may include electronic devices such as servers (clusters) and terminals. Figure 5 An exemplary apparatus 500 is schematically shown that can be used to implement the various embodiments described in this application.
[0164] In one embodiment, Figure 5An exemplary device 500 is shown, which includes one or more processors 502, a control module (chipset) 504 coupled to at least one of the processors 502, a memory 506 coupled to the control module 504, a non-volatile memory (NVM) / storage device 508 coupled to the control module 504, one or more input / output devices 510 coupled to the control module 504, and a network interface 512 coupled to the control module 504.
[0165] Processor 502 may include one or more single-core or multi-core processors, and processor 502 may include any combination of general-purpose processors or special-purpose processors (e.g., graphics processors, application processors, baseband processors, etc.). In some embodiments, device 500 can serve as a server, terminal, or other device as described in the embodiments of this application.
[0166] In some embodiments, the apparatus 500 may include one or more computer-readable media (e.g., memory 506 or NVM / storage device 508) having instructions 514 and one or more processors 502 that are combined with the one or more computer-readable media and configured to execute the instructions 514 to implement the module and thus perform the actions described in this disclosure.
[0167] In one embodiment, the control module 504 may include any suitable interface controller to provide any suitable interface to at least one of the processors 502 and / or any suitable device or component communicating with the control module 504.
[0168] The control module 504 may include a memory controller module to provide an interface to the memory 506. The memory controller module may be a hardware module, a software module, and / or a firmware module.
[0169] Memory 506 may be used, for example, to load and store data and / or instructions 514 for device 500. In one embodiment, memory 506 may include any suitable volatile memory, such as suitable DRAM. In some embodiments, memory 506 may include double data rate type quad synchronous dynamic random access memory (DDR4 SDRAM).
[0170] In one embodiment, the control module 504 may include one or more input / output controllers to provide an interface to the NVM / storage device 508 and (one or more) input / output devices 510.
[0171] For example, NVM / storage device 508 may be used to store data and / or instructions 514. NVM / storage device 508 may include any suitable non-volatile memory (e.g., flash memory) and / or may include any suitable (one or more) non-volatile storage devices (e.g., one or more hard disk drives (HDDs), one or more optical disc drives (CDs), and / or one or more digital universal optical disc (DVD) drives).
[0172] NVM / storage device 508 may include storage resources that are part of a device on which device 500 is mounted, or that are accessible to the device but do not necessarily have to be part of the device. For example, NVM / storage device 508 may be accessed via a network through one or more input / output devices 510.
[0173] One or more input / output devices 510 may provide an interface for device 500 to communicate with any other suitable device. Input / output devices 510 may include communication components, audio components, sensor components, etc. A network interface 512 may provide an interface for device 500 to communicate via one or more networks. Device 500 may wirelessly communicate with one or more components of a wireless network according to any of one or more wireless network standards and / or protocols, such as accessing wireless networks based on communication standards, such as Bluetooth, WiFi, 2G, 3G, 4G, 5G, etc., or combinations thereof.
[0174] In one embodiment, at least one of the processors 502 may be logically packaged with one or more controllers (e.g., memory controller modules) of the control module 504. In one embodiment, at least one of the processors 502 may be logically packaged with one or more controllers of the control module 504 to form a system-in-package (SiP). In one embodiment, at least one of the processors 502 may be integrated with the logic of one or more controllers of the control module 504 on the same die. In one embodiment, at least one of the processors 502 may be integrated with the logic of one or more controllers of the control module 504 on the same die to form a system-on-a-chip (SoC).
[0175] In various embodiments, device 500 may be, but is not limited to, a terminal device such as a server, desktop computing device, or mobile computing device (e.g., laptop computing device, handheld computing device, tablet computer, netbook, etc.). In various embodiments, device 500 may have more or fewer components and / or different architectures. For example, in some embodiments, device 500 includes one or more cameras, a keyboard, a liquid crystal display (LCD) screen (including a touchscreen display), a non-volatile memory port, multiple antennas, a graphics chip, an application-specific integrated circuit (ASIC), and a speaker.
[0176] The detection device can use a main control chip as a processor or control module, and sensor data, position information, etc. can be stored in a memory or NVM / storage device. The sensor group can be used as an input / output device, and the communication interface can include a network interface.
[0177] This application also provides an electronic device, including: a processor; and a memory storing executable code thereon. When the executable code is executed, the processor performs one or more methods as described in this application embodiment. In this application embodiment, the memory can store various types of data, such as target files, file-application association data, and user behavior data, thereby providing a data foundation for various processing operations.
[0178] This application also provides one or more machine-readable media having executable code stored thereon, which, when executed, causes a processor to perform one or more of the methods described in this application.
[0179] As the device embodiment is basically similar to the method embodiment, the description is relatively simple, and relevant parts can be found in the description of the method embodiment.
[0180] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. The same or similar parts between the various embodiments can be referred to each other.
[0181] This application describes embodiments with reference to flowchart illustrations and / or block diagrams of methods, terminal devices (systems), and computer program products according to embodiments of this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing terminal device to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing terminal device, generate instructions for implementing the flowchart illustrations. Figure 1One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0182] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing terminal device to operate in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0183] These computer program instructions can also be loaded onto a computer or other programmable data processing terminal equipment, causing a series of operational steps to be performed on the computer or other programmable terminal equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable terminal equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0184] Although preferred embodiments of the present application have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments as well as all changes and modifications falling within the scope of the embodiments of the present application.
[0185] Finally, it should be noted that in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or terminal device that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or terminal device. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or terminal device that includes said element.
[0186] The foregoing has provided a detailed description of a cargo allocation method, a cargo allocation system, an electronic device, a storage medium, and a computer program product provided by this application. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the above embodiments are only for the purpose of helping to understand the method and its core ideas. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of this application. Therefore, the content of this specification should not be construed as a limitation of this application.
Claims
1. A cargo allocation method, characterized in that, The method includes: Construct cargo pools for goods awaiting booking and pallet pools for pallet allocation; The priority of the pallet pool is determined based on the departure time of the freight vehicle associated with the pallet and the capacity of the pallet. Using a preset suppression mechanism as a feasibility verification condition for the cargo allocation results, and following the order of priority from high to low and the preset allocation constraints, a greedy algorithm combined with a backtracking strategy is employed to allocate pallet positions to the cargoes awaiting allocation in the cargo pool, thereby obtaining the cargo allocation results corresponding to the cargo pool; wherein, The feasibility verification condition for using a preset inhibition mechanism as the cargo allocation result is as follows: According to the priority order from high to low and the preset allocation constraints, a greedy algorithm combined with a backtracking strategy is used to allocate pallet positions to the cargoes awaiting allocation in the cargo pool, thereby obtaining the cargo allocation result corresponding to the cargo pool, including: According to the order of priority from high to low and the preset allocation constraints, a greedy strategy is used to allocate pallet positions to the cargo to be allocated in the current cargo pool, so as to obtain the first allocation result corresponding to the current cargo pool. The feasibility of the first compartment allocation result is verified by a preset suppression mechanism to obtain a second verification result. The preset suppression mechanism is a control logic to prevent low-priority compartments from preempting resources. If the second verification result indicates that the first cargo allocation result has not triggered the preset suppression mechanism, the first cargo allocation result will be used as the cargo allocation result corresponding to the current cargo pool. If the second verification result indicates that the first allocation result has triggered the preset suppression mechanism, the allocation relationship between the cargo to be allocated and the pallet position is adjusted until the first allocation result does not trigger the preset suppression mechanism.
2. The method according to claim 1, characterized in that, The preset suppression mechanisms include: a high-priority board position not fully loaded suppression mechanism, a master order gap suppression mechanism, and an empty board blocking mechanism.
3. The method according to claim 1, characterized in that, The process of allocating pallet positions to the cargoes awaiting allocation in the current cargo pool according to the priority order from high to low and the preset allocation constraints, using a greedy strategy, to obtain the first allocation result corresponding to the current cargo pool, includes: In accordance with the aforementioned priority order from high to low, the following compartment allocation operations are performed for each pallet in the pallet pool: Candidate cargo is selected from the cargo to be allocated based on the transportation route of the freight vehicle, the warehouse location associated with the cargo to be allocated, and the cargo attributes of the cargo to be allocated. Set the cargo allocation priority according to the channel priority and warehousing time order of the candidate cargo; According to the order of priority from high to low, the current pallet position and the candidate cargo are combined for master order allocation to obtain the first allocation result of the current pallet position. The first cabin allocation result is matched and verified according to the preset cabin allocation constraints to obtain the first verification result; If the first verification result indicates that the matching verification is successful, update the allocation status of the cargo to be allocated and output the first allocation result; If the first verification result indicates that the matching verification failed, the process jumps to the step of performing master order combination allocation of the current pallet position and the candidate cargo in descending order of allocation priority to obtain the first allocation result of the current pallet position.
4. The method according to claim 1, characterized in that, The adjustment of the allocation relationship between the cargo to be allocated and the pallet positions includes: Based on the preset suppression mechanism triggered by the first allocation result, the allocation relationship between the cargo to be allocated and the pallet position is adjusted by reverse shifting and rebalancing.
5. The method according to claim 1, characterized in that, The step of determining the priority of pallet positions in the pallet pool based on the departure time of the freight vehicle associated with the pallet position and the capacity of the pallet position includes: Based on the departure time of the freight vehicles associated with the pallet positions, the pallet positions in the pallet position pool are assigned a primary priority from highest to lowest. The board slots in the board slot pool are assigned a secondary priority in descending order of capacity. The priority of the board position is obtained based on the primary priority and the secondary priority.
6. The method according to claim 1, characterized in that, Constructing a cargo pool for goods awaiting stowage includes: Predict the goods to be shipped within a specified time period based on historical outbound data; The goods to be shipped and the goods currently in the warehouse are used as the goods to be allocated. The goods to be allocated are sliced according to their warehouse, destination, channel set, and entry time period to obtain the goods pool corresponding to each slice. The cargo awaiting allocation in the cargo pool is sorted according to the priority of cargo stored in the warehouse and the priority of the channel set.
7. The method according to claim 1, characterized in that, The method of using a preset inhibition mechanism as a feasibility verification condition for cargo allocation results, and after allocating pallet positions to the cargoes in the cargo pool according to the priority order from high to low and the preset allocation constraints using a greedy combined with backtracking strategy to obtain the cargo allocation results corresponding to the cargo pool, further includes: Based on the loading rate and fulfillment rate matched by the cargo allocation results, local optimization is performed on the cargo allocation results.
8. The method according to claim 7, characterized in that, The step of performing local optimization on the cargo allocation results based on the load factor and fulfillment rate matched by the cargo allocation results includes: The cargo allocation results are adjusted by using a pallet-based cargo exchange method to obtain the adjusted cargo allocation results; Obtain the adjusted cargo allocation results, including load factor, fulfillment rate, and penalties. The evaluation score for matching the adjusted cargo allocation result is calculated based on the load factor, the fulfillment rate, and the penalty item. If the improvement of the evaluation score matched by the adjusted cargo allocation result relative to the evaluation score matched by the cargo allocation result before adjustment meets a preset threshold, and the loading rate and the fulfillment rate meet preset optimization targets, the adjusted cargo allocation result is taken as the optimized cargo allocation result.
9. A cargo allocation system, characterized in that, include: Client and server, among which, The client is used to obtain the allocation constraints, capacity resource information, and cargo information to be allocated by the user-configured allocation operation; wherein, the capacity resource information includes: the transportation route, departure time, and transportation qualification of the freight vehicle, and the capacity of the pallet associated with the freight vehicle; the cargo information to be allocated includes: the warehouse location and cargo attributes associated with the cargo to be allocated. The server is used to construct a cargo pool for cargo to be allocated and a pallet pool for pallet allocation based on the transportation capacity resource information and the cargo information to be allocated. The server is also used to determine the priority of the pallet pool based on the departure time of the freight vehicle associated with the pallet and the capacity of the pallet. The server is also used to use a preset inhibition mechanism as a feasibility verification condition for the cargo allocation results, and according to the priority from high to low and the preset allocation constraints, employs a greedy algorithm combined with a backtracking strategy to allocate pallet positions to the cargoes in the cargo pool, thereby obtaining the cargo allocation results corresponding to the cargo pool; wherein... The feasibility verification condition for using a preset inhibition mechanism as the cargo allocation result is as follows: According to the priority order from high to low and the preset allocation constraints, a greedy algorithm combined with a backtracking strategy is used to allocate pallet positions to the cargoes awaiting allocation in the cargo pool, thereby obtaining the cargo allocation result corresponding to the cargo pool, including: According to the order of priority from high to low and the preset allocation constraints, a greedy strategy is used to allocate pallet positions to the cargo to be allocated in the current cargo pool, so as to obtain the first allocation result corresponding to the current cargo pool. The feasibility of the first compartment allocation result is verified by a preset suppression mechanism to obtain a second verification result. The preset suppression mechanism is a control logic to prevent low-priority compartments from preempting resources. If the second verification result indicates that the first cargo allocation result has not triggered the preset suppression mechanism, the first cargo allocation result will be used as the cargo allocation result corresponding to the current cargo pool. If the second verification result indicates that the first allocation result has triggered the preset suppression mechanism, the allocation relationship between the cargo to be allocated and the pallet position is adjusted until the first allocation result does not trigger the preset suppression mechanism.
10. The system according to claim 9, characterized in that, The server is also configured to perform local optimization on the cargo allocation result based on the loading rate and fulfillment rate matched by the cargo allocation result, and send the locally optimized cargo allocation result and the loading rate and fulfillment rate matched by the locally optimized cargo allocation result to the client; The client is also used to output the received cargo allocation results and the loading rate and fulfillment rate that match the cargo allocation results.
11. An electronic device, characterized in that, include: A processor, and a memory communicatively connected to the processor; The memory stores computer-executed instructions; The processor executes computer execution instructions stored in the memory to implement the method as described in any one of claims 1-8.
12. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the method as described in any one of claims 1-8.
13. A computer program product comprising a computer program / computer executable instructions, characterized in that, When the computer program / computer executable instructions are executed by a processor in an electronic device, the method of any one of claims 1-8 is implemented.
Citation Information
Patent Citations
Cabin booking planning method, device and apparatus and storage equipment
CN111382894A
Goods distribution method and device and computer program product
CN120807255A