Pallet distribution method and device, computer equipment, readable storage medium and program product

By obtaining the pallet insertion results under the target route and optimizing the pallet position with random disturbances, the problem of low efficiency of maritime shipping is solved, the accuracy and intelligence of pallet allocation are improved, and the efficiency of maritime shipping is improved.

CN120373762APending Publication Date: 2025-07-25COSCO SHIPPING
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510471479.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-15
Publication Date
2025-07-25

AI Technical Summary

Technical Problem

In the prior art, maritime shipping is relatively low, mainly due to the different ranges, climate and port conditions of different routes, resulting in inaccurate and unreasonable cargo pallet distribution plans for commodities.

Method used

By obtaining the insertion results in the pallet collection under the target route, determining the current pallet allocation plan, and adjusting the pallet position through random disturbance until the iteration end condition is met, the pallet allocation plan is optimized to improve the gain of virtual resources.

Benefits of technology

It improves the accuracy and intelligence of pallet allocation, thereby improving maritime shipping efficiency, avoiding premature fall into local optimum, and achieving rapid generation of feasible solutions and finding improvement opportunities in neighboring space.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120373762A_ABST
    Figure CN120373762A_ABST
Patent Text Reader

Abstract

The invention relates to a pallet distribution method and device, computer equipment, a computer readable storage medium and a computer program product. The method comprises the following steps: under a target route, obtaining an insertion result of pallets in a to-be-distributed pallet set in a process of sequentially inserting the pallets into each ship in a ship set under a current sequence; determining a current pallet distribution scheme according to the insertion result; the positions of the second pallets in the to-be-distributed pallet set are moved forwards randomly in a random disturbance mode, and a new current sequence is obtained; returning to obtain an insertion result of the pallets in the to-be-distributed pallet set in the process of sequentially inserting the pallets in the to-be-distributed pallet set into each ship in the ship set under the current sequence until a preset iteration ending condition is met; wherein if the virtual resource gain condition of the new pallet allocation scheme corresponding to the new current sequence is superior to the virtual resource gain condition of the current pallet allocation scheme, the current pallet allocation scheme is updated. By adopting the method, the marine shipping efficiency can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of shipping, and particularly to a method, device, computer device, computer-readable storage medium, and computer program product for pallet allocation. Background Art

[0002] Marine transportation is more suitable for the transportation of bulk commodities because of its low freight rate, large shipping capacity, long voyage, etc.

[0003] In the actual shipping process, the voyages, climates, and port conditions of different shipping lines vary, and the characteristics of bulk commodities are different. It is necessary to reasonably allocate ships to each shipping line to ensure the smooth transportation. When users need to transport bulk commodities, they usually dispatch ships according to the algorithm rules of simple information such as the weight / volume of goods and the deadweight / capacity of ships. This method is likely to cause deviations in the number of ships allocated to each shipping line, resulting in inaccurate and unreasonable pallet allocation plans, which is not conducive to improving the efficiency of maritime shipping.

[0004] Therefore, there is a problem of low efficiency in maritime shipping in the related technologies. Summary of the Invention

[0005] Based on this, in view of the above technical problems, it is necessary to provide a method, device, computer device, computer-readable storage medium, and computer program product for pallet allocation that can improve the efficiency of maritime shipping.

[0006] In a first aspect, the present application provides a method for pallet allocation, including:

[0007] Under a target shipping line, obtain the insertion results during the process of sequentially inserting the pallets in the pallet set to be allocated into each ship in the ship set in the current sorting;

[0008] Determine the current pallet allocation plan according to the insertion results; the current pallet allocation plan is used to indicate the target ship corresponding to the first pallet and the second pallet; the target ship corresponding to the first pallet is the ship with the highest virtual resource gain data after inserting the first pallet; the second pallet is the pallet that fails to be inserted into any of the ships;

[0009] Randomly move the positions of the second pallets in the pallet set to be allocated forward randomly by means of random perturbation to obtain a new current sorting;

[0010] Return to obtain the insertion results during the process of sequentially inserting the pallets in the pallet set to be allocated into each ship in the ship set in the current sorting until a preset iteration end condition is satisfied; wherein, if the virtual resource gain situation of the new pallet allocation plan corresponding to the new current sorting is better than that of the current pallet allocation plan, the current pallet allocation plan is updated.

[0011] In one embodiment, the insertion results during the process of sequentially inserting the pallets in the to-be-allocated pallet set into each ship in the ship set under the current sorting include:

[0012] For the current pallet, if there is a ship in the ship set into which the current pallet can be inserted, it is determined that the insertion result of the current pallet is successfully inserted, and the current pallet is used as the first pallet; the current pallet is the currently to-be-inserted pallet in the to-be-allocated pallet set.

[0013] If there is no ship in the ship set into which the current pallet can be inserted, it is determined that the insertion result of the current pallet is not successfully inserted, and the current pallet is used as the second pallet.

[0014] In one embodiment, the determining the current pallet allocation plan according to the insertion results includes:

[0015] For the first pallet, obtain the first virtual resource value corresponding to the optimal route of each insertable ship before inserting the first pallet; the insertable ship is a ship into which the first pallet can be inserted.

[0016] Obtain the second virtual resource value corresponding to the optimal route of each insertable ship after inserting the first pallet.

[0017] According to the difference between the second virtual resource value and the corresponding first virtual resource value of each insertable ship, determine the virtual resource gain data corresponding to each insertable ship.

[0018] Use the insertable ship with the highest corresponding virtual resource gain data as the target ship corresponding to the first pallet.

[0019] In one embodiment, the returning the insertion results during the process of sequentially inserting the pallets in the to-be-allocated pallet set into each ship in the ship set under the current sorting until a preset iteration end condition is met includes:

[0020] Obtain the number of second pallets in the new pallet allocation plan.

[0021] If the number of second pallets in the new pallet allocation plan is less than the number of second pallets in the current pallet allocation plan, update the current pallet allocation plan to the new pallet allocation plan.

[0022] In one embodiment, the returning of the insertion results during the process of sequentially inserting the pallets in the to-be-allocated pallet set into each ship in the ship set under the current sorting until a preset iteration end condition is met includes:

[0023] Return the insertion results during the process of sequentially inserting the pallets in the to-be-allocated pallet set into each ship in the ship set under the current sorting until the number of the second pallets is zero, or the number of iterations meets a preset number threshold, determine that the preset iteration end condition is met, and output the current pallet allocation plan.

[0024] In one embodiment, the method further includes:

[0025] Determine the remaining pallet set; the remaining pallet set includes the remaining pallets that still cannot be inserted into any of the ships after the number of iterations meets the preset number threshold;

[0026] Obtain the loading capacity arrangement order; the loading capacity arrangement order is obtained by sorting the maximum loading capacities of the remaining pallets on each remaining available ship in descending order; the remaining available ships are the ships that still have insertion space;

[0027] The maximum loading capacity in the loading capacity arrangement order is used to indicate splitting the remaining pallets so as to sequentially allocate the split remaining pallets to the remaining available ships corresponding to the respective maximum loading capacities.

[0028] In a second aspect, the present application further provides a pallet allocation device, including:

[0029] An obtaining module, configured to obtain the insertion results during the process of sequentially inserting the pallets in the to-be-allocated pallet set into each ship in the ship set under the current sorting under a target shipping route;

[0030] A determining module, configured to determine the current pallet allocation plan according to the insertion results; the current pallet allocation plan is used to indicate the target ship corresponding to the first pallet and the second pallets; the target ship corresponding to the first pallet is the ship with the highest virtual resource gain data after inserting the first pallet; the second pallets are the pallets that cannot be inserted into any of the ships;

[0031] A perturbation module, configured to randomly move forward the positions of the second pallets in the to-be-allocated pallet set by means of random perturbation to obtain a new current sorting;

[0032] An iterative module, configured to return the insertion results during the process of sequentially inserting the pallets in the set of pallets to be allocated into each ship in the set of ships under the current sorting until a preset iterative end condition is met; wherein, if the virtual resource gain of the new pallet allocation plan corresponding to the new current sorting is better than that of the current pallet allocation plan, the current pallet allocation plan is updated.

[0033] In a third aspect, the present application further provides a computer device. The computer device includes a memory and a processor, the memory stores a computer program, and when the computer program is executed by the processor, the steps of the above method are implemented.

[0034] In a fourth aspect, the present application further provides a computer-readable storage medium. The computer-readable storage medium stores a computer program, and when the computer program is executed by the processor, the steps of the above method are implemented.

[0035] In a fifth aspect, the present application further provides a computer program product. The computer program product includes a computer program, and when the computer program is executed by the processor, the steps of the above method are implemented.

[0036] For the above pallet allocation method, device, computer device, computer-readable storage medium and computer program product, under the target shipping route, the insertion results during the process of sequentially inserting the pallets in the set of pallets to be allocated into each ship in the set of ships under the current sorting are obtained; the current pallet allocation plan is determined according to the insertion results; the current pallet allocation plan is used to indicate the target ship corresponding to the first pallet and the second pallet; the target ship corresponding to the first pallet is the ship with the highest virtual resource gain data after inserting the first pallet; the second pallet is the pallet that fails to be inserted into any ship; the positions of the second pallets in the set of pallets to be allocated are randomly moved forward by a random perturbation method to obtain a new current sorting; the insertion results during the process of sequentially inserting the pallets in the set of pallets to be allocated into each ship in the set of ships under the new current sorting are returned until a preset iterative end condition is met; wherein, if the virtual resource gain of the new pallet allocation plan corresponding to the new current sorting is better than that of the current pallet allocation plan, the current pallet allocation plan is updated.

[0037] Thus, by determining the target shipping route and the set of vessels on the target shipping route, attempting to insert all the pallets under the target shipping route into each vessel one by one, the insertion results during the process of successively inserting the pallets in the pallet set into each vessel in the current sorting are obtained, so as to determine the current pallet allocation plan according to the insertion results. The current pallet allocation plan indicates the target vessel corresponding to the first pallet and the second pallets that fail to be inserted into any vessel. The positions of the second pallets in the pallet set to be allocated are randomly moved forward by means of random perturbation to obtain a new current sorting, and the insertion results during the process of successively inserting the pallets in the pallet set to be allocated into each vessel in the vessel set are returned until the preset iteration end condition is met. Among them, if the virtual resource gain situation of the new pallet allocation plan corresponding to the new current sorting is better than that of the current pallet allocation plan, the current pallet allocation plan is updated; thus, by means of random perturbation, the positions of the remaining second pallets in the original sorting are randomly moved forward, so that they have a higher priority in the next insertion process, and the success probability of inserting these remaining second pallets is increased in subsequent iterations. For each perturbation test, a new pallet allocation plan will be generated, and it is judged whether to update the current pallet allocation plan according to the virtual resource gain situation of the new pallet allocation plan. When the virtual resource gain situation of the new pallet allocation plan is better than that of the current pallet allocation plan, the current pallet allocation plan is updated. Iterating in this way, when the preset iteration end condition is met, the finally obtained current pallet allocation plan can be output. It realizes the attempt to insert a single pallet into each vessel one by one first, and then realizes the overall insertion and improvement of all pallets on this basis. By combining the local search strategies of single pallet insertion and overall pallet insertion under the target shipping route, this method can quickly generate a feasible heuristic solution in a short time, and then based on the random perturbation mechanism, further search for improvement opportunities in the neighborhood space of the solution, avoid falling into premature local optimality, take into account the feasibility of the initial solution and the flexibility of subsequent optimization, effectively improve the accuracy and intelligence of pallet allocation, and further improve the efficiency of maritime shipping. BRIEF DESCRIPTION OF THE DRAWINGS

[0038] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the following will briefly introduce the drawings required for the description of the embodiments of the present application or related technologies. Obviously, the following drawings are only some embodiments of the present application. For those of ordinary skill in the art, other related drawings can be obtained based on these drawings without creative efforts.

[0039] Figure 1 It is a schematic flowchart of a pallet allocation method in an embodiment;

[0040] Figure 2 It is a schematic flow chart of a pallet allocation method in another embodiment;

[0041] Figure 3 It is a schematic flow chart of a unpacking process in one embodiment;

[0042] Figure 4 It is a schematic diagram of the profit calculation of a ship in one embodiment;

[0043] Figure 5 It is a schematic flow chart of another pallet allocation method in one embodiment;

[0044] Figure 6 It is a structural block diagram of a pallet allocation device in one embodiment;

[0045] Figure 7 It is an internal structure diagram of a computer device in one embodiment. Detailed implementation manners

[0046] In order to make the objectives, technical solutions and advantages of the present application clearer, the present application will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application, and are not used to limit the present application.

[0047] It should be noted that the terms "first", "second", etc. in the specification and claims of the present disclosure and the above-mentioned drawings are used to distinguish similar objects, and do not necessarily need to be used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged under appropriate circumstances, so that the embodiments of the present disclosure described herein can be implemented in an order other than those illustrated or described herein. The implementation manners described in the following exemplary embodiments do not represent all implementation manners consistent with the present disclosure. On the contrary, they are only examples of devices and methods consistent with some aspects of the present disclosure as detailed in the appended claims.

[0048] In one embodiment, as Figure 1 shown, a pallet allocation method is provided. In this embodiment, it is exemplified that the method is applied to a computer device. It can be understood that the computer device can be a terminal, a server, or a system including a terminal and a server. In this embodiment, the method includes the following steps:

[0049] Step S110, under a target shipping route, obtain the insertion results during the process of sequentially inserting the pallets in the to-be-allocated pallet set into each ship in the ship set in the current sorting.

[0050] Among them, the target shipping route may refer to a shipping route for which the ships and pallets under this shipping route need to be matched.

[0051] Among them, the current sorting refers to the current arrangement order of the pallets in the set of pallets to be allocated.

[0052] Among them, the current sorting can be determined according to a preset sorting rule. Among them, the preset sorting rule can include at least one of weight and loading period.

[0053] Among them, after a target shipping route is given and the ship situation (ship set) of the target shipping route is given, all the pallets in the set of pallets to be allocated under the target shipping route are subjected to a ship-by-ship insertion attempt for the ship set, and the insertion results during the process of inserting each pallet in the ship set can be obtained.

[0054] In practical applications, due to the tight ship capacity, the ship set may not be able to serve all the pallets. Therefore, the insertion results can include ships that can be completely inserted (successfully inserted), or pallets that cannot be inserted into any ship (unsuccessfully inserted).

[0055] Step S120, determine the current pallet allocation plan according to the insertion results.

[0056] Among them, the pallets with insertion results of ships that can be completely inserted can be used as the first pallets.

[0057] Among them, the pallets with insertion results of pallets that cannot be inserted into any ship can be used as the second pallets.

[0058] In specific implementation, when the computer device obtains the insertion results during the process of inserting each pallet in the ship set in the current sorting of the pallets in the set of pallets to be allocated, for the current pallet, where the current pallet is the pallet to be inserted currently in the set of pallets to be allocated, if there is a ship in the ship set into which the current pallet can be completely inserted, it is determined that the insertion result of the current pallet is successfully inserted, and the current pallet is used as the first pallet; if there is no ship in the ship set into which the current pallet can be inserted, it is determined that the insertion result of the current pallet is unsuccessfully inserted, and the current pallet is used as the second pallet.

[0059] Among them, when the insertion result of the pallet is that there is a ship that can be completely inserted, after selecting to completely insert the pallet, the ship with the highest virtual resource gain data is used as the target ship corresponding to the pallet.

[0060] In practical applications, the virtual resource gain data can refer to the profit increment (income increment).

[0061] In this way, the current pallet allocation plan can be determined according to the insertion results, and the current pallet allocation plan is used to indicate the target ship corresponding to the first pallet and the second pallet.

[0062] Step S130, randomly move forward the positions of the second pallets in the set of pallets to be allocated in a random perturbation manner to obtain a new current sorting.

[0063] In specific implementation, randomly move forward the positions of the second pallets in the set of pallets to be allocated in a random perturbation manner to change the sorting of the pallets in the set of pallets to be allocated, so as to obtain a new current sorting, so that the second pallets have a higher priority in the next insertion process.

[0064] In practical applications, random perturbation can be performed according to the urgency of the time window of the second pallets.

[0065] Step S140, return the insertion results during the process of successively inserting the pallets in the set of pallets to be allocated into each ship in the ship set until a preset iteration end condition is met.

[0066] Among them, if the virtual resource gain situation of the new pallet allocation plan corresponding to the new current sorting is better than that of the current pallet allocation plan, the current pallet allocation plan is updated.

[0067] Among them, the virtual resource gain situation can refer to the revenue situation.

[0068] In this way, in the case of obtaining a new current sorting by means of random perturbation, based on this new order, starting from empty load, re-insert all pallets, and the computer device can return the insertion results during the process of successively inserting the pallets in the set of pallets to be allocated into each ship in the ship set under the current sorting until a preset iteration end condition is met.

[0069] Among them, a new pallet allocation plan can be generated under the new current sorting, and the new pallet allocation plan can indicate the target ship corresponding to the new first pallet and the new second pallets.

[0070] Among them, if the virtual resource gain situation of the new pallet allocation plan corresponding to the new current sorting is better than that of the current pallet allocation plan, the current pallet allocation plan is updated, that is, the current pallet allocation plan is updated to the new pallet allocation plan.

[0071] In this way, in the case of meeting the preset iteration end condition, output the current pallet allocation plan to obtain the final optimal allocation plan.

[0072] Among them, the preset iteration end condition can include that the number of iterations meets a preset number threshold, or all the remaining pallets are inserted successfully, that is, there are no second pallets anymore (the number of second pallets is zero).

[0073] In the above pallet allocation method, during a target shipping route, obtain the insertion results during the process of successively inserting pallets in a pallet set to be allocated into each ship in a ship set under the current sorting; determine the current pallet allocation plan according to the insertion results; the current pallet allocation plan is used to indicate the target ship corresponding to a first pallet and a second pallet; the target ship corresponding to the first pallet is the ship with the highest virtual resource gain data after inserting the first pallet; the second pallet is the pallet that fails to be inserted into any ship; randomly move forward the positions of the second pallets in the pallet set to be allocated by means of random perturbation to obtain a new current sorting; return the insertion results during the process of successively inserting pallets in the pallet set to be allocated into each ship in the ship set under the new current sorting until a preset iteration end condition is met; wherein, if the virtual resource gain situation of the new pallet allocation plan corresponding to the new current sorting is better than that of the current pallet allocation plan, update the current pallet allocation plan.

[0074] Thus, by determining the target shipping route and the set of vessels on the target shipping route, attempting to insert all the pallets under the target shipping route into each vessel one by one, the insertion results during the process of successively inserting the pallets in the pallet set into each vessel in the current sorting are obtained, so as to determine the current pallet allocation plan according to the insertion results. The current pallet allocation plan indicates the target vessel corresponding to the first pallet and the second pallets that fail to be inserted into any vessel. By means of random perturbation, the positions of the second pallets in the pallet set to be allocated are randomly moved forward, obtaining a new current sorting, and returning the insertion results during the process of successively inserting the pallets in the pallet set to be allocated into each vessel in the vessel set until the preset iteration end condition is satisfied. Among them, if the virtual resource gain of the new pallet allocation plan corresponding to the new current sorting is better than that of the current pallet allocation plan, the current pallet allocation plan is updated; thus, by means of random perturbation, the positions of the remaining second pallets in the original sorting are randomly moved forward, so that they have a higher priority in the next insertion process, and the probability of successful insertion of these remaining second pallets is increased in subsequent iterations. For each perturbation test, a new pallet allocation plan will be generated, and it is judged whether to update the current pallet allocation plan according to the virtual resource gain of the new pallet allocation plan. When the virtual resource gain of the new pallet allocation plan is better than that of the current pallet allocation plan, the current pallet allocation plan is updated. Iterating in this way repeatedly, when the preset iteration end condition is satisfied, the finally obtained current pallet allocation plan can be output. It is realized that first, the insertion of a single pallet is attempted for each vessel, and then on this basis, the overall insertion and improvement of all pallets are realized. By combining the local search strategies of single-pallet insertion and overall pallet insertion under the target shipping route, this method can quickly generate a feasible heuristic solution in a short time, and then based on the random perturbation mechanism, further search for improvement opportunities in the neighborhood space of the solution, avoiding falling into premature local optimality, taking into account the feasibility of the initial solution and the flexibility of subsequent optimization, effectively improving the accuracy and intelligence of pallet allocation, and further improving the efficiency of maritime shipping.

[0075] In one of the embodiments, during the process of determining the target vessel corresponding to the first pallet, the difference in the virtual resource values corresponding to the vessel before and after inserting the first pallet can be calculated respectively, so as to select the vessel with the largest difference as the target vessel corresponding to the first pallet.

[0076] In practical applications, the virtual resource value can refer to the profit value (income value) corresponding to the vessel.

[0077] Specifically, taking a certain first pallet as an example, the computer device can determine the insertable vessels in the vessel set. The insertable vessels refer to the vessels into which the first pallet can be completely inserted, and obtain the first virtual resource values corresponding to the optimal routes of each insertable vessel before inserting the first pallet. Among them, the virtual resource value can be a profit value (income value). Specifically, during the pallet insertion process, after each vessel inserts the pallet, it needs to regenerate a feasible sailing route (feasible route) based on the updated pallet set assigned to itself. Since different pallets may have a starting port and a destination port, as well as corresponding time or load restrictions, the generation of the feasible sailing route of the vessel needs to consider the above constraints and select the one that can bring the highest profit among all feasible sailing routes as the optimal route.

[0078] In this way, for the same insertable vessel, the profit value corresponding to the optimal route of the insertable vessel before inserting the first pallet is used as the first virtual resource value; the profit value corresponding to the optimal route of the insertable vessel after inserting the first pallet is used as the second virtual resource value. Specifically, in the process of obtaining the second virtual resource value corresponding to the optimal route of the insertable vessel after inserting the first pallet, for any insertable vessel, the computer device can obtain all the feasible routes of the any insertable vessel after inserting the first pallet; determine the virtual resource values corresponding to each feasible route, and take the feasible route with the highest corresponding virtual resource value as the optimal route of the any insertable vessel after inserting the first pallet, and take the highest virtual resource value as the second virtual resource value.

[0079] Thus, the computer device can determine the virtual resource gain data corresponding to each insertable vessel according to the difference between the second virtual resource value and the corresponding first virtual resource value of each insertable vessel, and thus take the insertable vessel with the highest corresponding virtual resource gain data as the target vessel corresponding to the first pallet.

[0080] In the technical solution of this embodiment, for the first pallet, the first virtual resource value corresponding to the optimal route of each insertable ship before inserting the first pallet is obtained; the insertable ship is a ship into which the first pallet can be inserted; the second virtual resource value corresponding to the optimal route of each insertable ship after inserting the first pallet is obtained; according to the difference between the second virtual resource value corresponding to each insertable ship and the corresponding first virtual resource value, the virtual resource gain data corresponding to each insertable ship is determined; the insertable ship with the highest corresponding virtual resource gain data is used as the target ship corresponding to the first pallet. In this way, for the insertable ships into which the first pallet can be inserted, the first virtual resource value corresponding to the optimal route of each insertable ship before inserting the first pallet and the second virtual resource value corresponding to the optimal route of each insertable ship after inserting the first pallet are respectively obtained, so that according to the difference between the second virtual resource value corresponding to each insertable ship and the corresponding first virtual resource value, the insertable ship with the highest corresponding virtual resource gain data can be used as the target ship corresponding to the first pallet, so as to allocate the first pallet to the ship with the highest virtual resource gain after insertion, thereby effectively improving the virtual resource gain of the ship.

[0081] In one embodiment, the insertion results in the process of sequentially inserting the pallets in the pallet set to be allocated into each ship in the ship set in the current sorting are returned until a preset iteration end condition is met, including: obtaining the number of second pallets in the new pallet allocation plan; in the case where the number of second pallets in the new pallet allocation plan is less than the number of second pallets in the current pallet allocation plan, updating the current pallet allocation plan to the new pallet allocation plan.

[0082] In specific implementation, during the iteration process, the computer device can obtain the number of second pallets in the new pallet allocation plan. In the case where the number of second pallets in the new pallet allocation plan is less than the number of second pallets in the current pallet allocation plan, the current pallet allocation plan is updated to the new pallet allocation plan. At the same time, the best sorting of the pallets can be updated to the new current sorting.

[0083] In some other embodiments, during the iteration process, the computer device can obtain the number of second pallets in the new pallet allocation plan and the total virtual resource gain data corresponding to the new pallet allocation plan. In the case where the total virtual resource gain data corresponding to the new pallet allocation plan is greater than or equal to the total virtual resource gain data corresponding to the current pallet allocation plan, and the number of second pallets in the new pallet allocation plan is less than or equal to the number of second pallets in the current pallet allocation plan, the current pallet allocation plan is updated to the new pallet allocation plan. At the same time, the best sorting of the pallets can be updated to the new current sorting.

[0084] Among them, the total virtual resource gain data corresponding to the new pallet allocation plan may refer to the sum of the virtual resource values (profit values) of the optimal routes corresponding to each ship under the new pallet allocation plan.

[0085] Among them, the total virtual resource gain data corresponding to the current pallet allocation plan may refer to the sum of the virtual resource values (profit values) of the optimal routes corresponding to each ship under the current pallet allocation plan.

[0086] It can be understood that the update priority corresponding to the reduction of the second pallet quantity is higher than the update priority corresponding to the increase of the total virtual resource gain data.

[0087] The technical solution of this embodiment obtains the quantity of the second pallet in the new pallet allocation plan; and when the quantity of the second pallet in the new pallet allocation plan is less than the quantity of the second pallet in the current pallet allocation plan, updates the current pallet allocation plan to the new pallet allocation plan. In this way, when the quantity of the second pallet in the new pallet allocation plan is less than the quantity of the second pallet in the current pallet allocation plan, that is, if the new pallet allocation plan can serve more pallets, the current pallet allocation plan is updated to the new pallet allocation plan, so that the current pallet allocation plan output after the iteration ends is the pallet allocation plan with the optimal revenue situation calculated during the iteration process, thereby effectively improving the utilization rate of shipping resources and improving the efficiency of maritime shipping.

[0088] In one embodiment, the method further includes: determining a remaining pallet set; the remaining pallet set includes the remaining pallets that still cannot be inserted into any ship after the number of iterations meets a preset number threshold; obtaining a loading quantity arrangement order; the loading quantity arrangement order is obtained by sorting the maximum loading quantities of the remaining pallets on each remaining available ship in descending order; the remaining available ships are the ships that still have insertion space; the maximum loading quantity in the loading quantity arrangement order is used to indicate splitting the remaining pallets so as to sequentially allocate the split remaining pallets to the remaining available ships corresponding to the corresponding maximum loading quantities.

[0089] Among them, the remaining available ships may refer to the ships that still have service space (insertion space) after the number of iterations meets the preset number threshold.

[0090] In a specific implementation, after the number of iterations meets a preset number threshold, if there are still pallets that cannot be inserted into any ship, the computer device can determine a set of remaining pallets. The set of remaining pallets includes the remaining pallets that still cannot be inserted into any ship after the number of iterations meets the preset number threshold. Moreover, for the remaining pallet to be inserted currently in the set of remaining pallets, the computer device can obtain a loading capacity arrangement order, which is obtained by sorting the maximum loading capacities of the remaining pallets on each remaining available ship in descending order. In this way, the maximum loading capacity in the loading capacity arrangement order is used to indicate that the remaining pallet is to be split, and the split remaining pallets are sequentially allocated to the remaining available ships corresponding to the respective maximum loading capacities.

[0091] The technical solution of this embodiment determines a set of remaining pallets, where the set of remaining pallets includes the remaining pallets that still cannot be inserted into any ship after the number of iterations meets the preset number threshold, obtains a loading capacity arrangement order, which is obtained by sorting the maximum loading capacities of the remaining pallets on each remaining available ship in descending order, the remaining available ships are the ships that still have insertion space, and the maximum loading capacity in the loading capacity arrangement order is used to indicate that the remaining pallet is to be split, and the split remaining pallets are sequentially allocated to the remaining available ships corresponding to the respective maximum loading capacities.

[0092] In this way, when there are still remaining pallets after the number of iterations meets the preset number threshold, the remaining pallets can be split according to the maximum loading capacities of the remaining pallets on the remaining available ships, and the split remaining pallets are sequentially allocated to the remaining available ships corresponding to the respective maximum loading capacities, so as to ensure that the remaining pallets can be allocated to the ships that still have insertion space as much as possible, achieving the full utilization of the insertion space of the ships and improving the utilization rate of shipping resources.

[0093] In another embodiment, as Figure 2As shown, a flow chart of a method for allocating pallets is provided, the method comprising: according to manual experience, inserting a complete pallet for a set of pallets to be allocated in the order of ABC routes, specifically, sorting all pallets in the set of pallets to be allocated under the ABC routes according to a preset sorting rule, obtaining the insertion result of the pallets in the set of pallets to be allocated being inserted into each ship in the set of ships in the current sorting, for the first pallet that is successfully inserted, selecting the optimal ship (target ship) for insertion, giving priority to the insertion position with the largest profit increment (highest virtual resource gain data), for the second pallet that is not successfully inserted, randomly moving the position of each second pallet in the set of pallets to be allocated forward by random perturbation to obtain a new current sorting, returning the insertion result of the pallets in the set of pallets to be allocated being inserted into each ship in the set of ships in the current sorting, until the preset iteration end condition is met; wherein, if the virtual resource gain of the new pallet allocation scheme corresponding to the new current sorting is better than the virtual resource gain of the current pallet allocation scheme, the current pallet allocation scheme is updated.

[0094] Among them, some oversized pallets and some pallets that cannot be fully inserted at the end of the iteration are disassembled, and these pallets are collectively referred to as remaining pallets. Figure 3 As shown, a flowchart of cargo splitting is provided. When splitting a remaining pallet, the maximum load that can be placed on each remaining available ship is first considered (based on the logic of giving priority to serving the remaining pallets). The maximum load can be determined by binary search, or by inferring the formula in a certain way. In practical applications, since the binary search does not take a long time and is more versatile, once the constraint requirements change, the inference formula may not be used, but the binary search can still be used. Therefore, the binary search is used to determine the maximum load.

[0095] When splitting, we will first determine whether it can be fully inserted and whether it is feasible when the cargo volume is 0. If so, splitting will no longer be considered.

[0096] If splitting is required, the maximum amount (maximum loading capacity) that can be split among all remaining available ships is considered. If this maximum amount is less than the splitting threshold, no further splitting will be performed. At this time, it is considered that further splitting will be too fragmented.

[0097] Here, when this splitting is applied to greedy insertion, since the splitting of the super-large pallet is completed at one time within the function, that is, a super-large pallet with a cargo volume of x will be split into x1, x2, x3 (x1+x2+x3=x) at one time and placed on the remaining available ships, instead of splitting x1 and then mixing the remaining x2 with other ordinary cargoes and re-inserting them in sorted order, the search space can be reduced.

[0098] In this way, the loading capacity arrangement order is obtained; the loading capacity arrangement order is obtained by sorting the maximum loading capacity of the remaining pallets on each remaining available ship in order from large to small; the remaining available ships are ships that still have insertion space; the maximum loading capacity under the loading capacity arrangement order is used to indicate the splitting of the remaining pallets, so as to distribute the split remaining pallets in sequence to the remaining available ships corresponding to the corresponding maximum loading capacity.

[0099] Among them, if there is a situation where the maximum loading capacity of the remaining pallets on the remaining available ships is the same, the maximum loading capacity corresponding to the remaining available ships with higher virtual resource gain data (higher profit increment) after inserting the remaining pallets will be prioritized.

[0100] Further, for the calculation of the virtual resource value (profit) corresponding to the ship in this application, refer to Figure 2 First, determine the feasibility of the constraints: determine the time window, capacity and load feasibility, cross-month restrictions, etc. If the feasibility of the constraints is not met, return negative infinity; if the feasibility of the constraints is met, calculate the ship cost and ship revenue to calculate the profit.

[0101] Specifically, we first consider a static profit calculation function as follows. The input of this function includes the following information: basic information of the ship, the cargo pallets loaded on the ship, and the route of the ship. Based on the above information, we can further calculate the travel time and fuel consumption of the ship between each section, as well as the arrival time and stay time at each port.

[0102] Given the above information, based on Figure 4 The profit formula shown calculates the profit of the current ship: Profit (income) = total income - total cost. Total income = freight rate * cargo volume + surcharge + fuel surcharge * cargo volume; Total cost = variable cost + fixed cost. Variable cost = fuel cost + port fee + carbon tax + cargo fee * cargo volume; Fixed cost = fixed cost per ship per day * single ship voyage days.

[0103] Taking a navigation mission as an example, the following information is known:

[0104] The ship carrying out the mission is S, with a total capacity of 52,000 tons and a route of A1.

[0105] Departing empty from port M, it passes through P, SAN, T, SAV, LI and NAP in sequence.

[0106] Among them, the first loading port is Port P, and the planned arrival time is January 12.

[0107] The goods of customers A, B, and C loaded on the ship. Among them, the goods of customers A and B have a laycan period from January 1st to 7th. 32,000 tons of goods are loaded at P, and then 2,000 tons are unloaded at T, 5,500 tons at NAP, and 24,500 tons at LI. The goods of customer C have a laycan period from January 23rd to 29th. 19,950 tons are loaded at SAN, 6,450 tons are unloaded at SAV, and 13,500 tons at LI.

[0108] Calculation process:

[0109] Step 1: According to the port task sequence of the ship M - P - SAN - T - SAV - LI - NAP, as well as the ship's basic data, port basic data, and port distances, calculate the fixed cost per ship per day, the voyage days of a single ship, the sailing time (distance / speed, including the empty - load sailing time and full - load sailing time), the time in port (the loading duration at the port (loading volume / loading efficiency) and the unloading duration (unloading volume / unloading efficiency)), the ship's oil prices (heavy - oil price and light - oil price), and the fuel consumption (empty - load fuel consumption, full - load fuel consumption, and fuel consumption in port). At this time, the oil cost, fixed cost, and carbon emissions can be calculated.

[0110] Step 2: According to the customer's goods transportation loading and unloading port information and the volume of goods, such as for customer A: loaded at P - unloaded at T - volume of goods 2,000, loaded at P - unloaded at NAP - volume of goods 5,500. Subsequently, according to the customer contract situation, obtain the freight (freight rate), surcharges, bunker surcharges, and tally fees (cargo fees) for the loading and unloading ports of the corresponding customer route (such as route A1). At the same time, based on the basic data of port dues, obtain the port dues for the corresponding ports. At this time, the total voyage income, variable costs, and TCE (Time Charter Equivalent) can be calculated.

[0111] Step 3: Calculate the contribution margin based on the total voyage income and variable costs, and then calculate the net profit in combination with the fixed costs.

[0112] Step 4: Summarize the data of all laycan periods in the current month according to steps 1 - 3, so as to calculate the total benefit value of the current month.

[0113] In this way, the virtual resource value corresponding to the ship can be calculated.

[0114] In summary, the present application combines a local search strategy of single - cargo - tray insertion and overall - cargo - tray insertion under a certain voyage. This method can quickly generate a feasible heuristic solution in a short time, and then based on a random perturbation mechanism, further search for improvement opportunities in the neighborhood space of the solution to avoid falling into premature local optimality.

[0115] Furthermore, for the convenience of those skilled in the art to understand, Figure 5 a flow diagram of another cargo - tray allocation method is provided, asFigure 5 As shown in Figure 5 , the method includes: Initial solution generation: Obtain an initial feasible solution. For specific local details, refer to the explanation of Figure 5 , and no specific limitations are provided here. Among them, during the initial solution generation process, after the insertion of the complete pallet is completed, it is judged whether there are remaining pallets. If not, the initial solution is output (corresponding to the insertion result during the process of sequentially inserting the pallets in the set of pallets to be allocated into each ship in the set of ships in the current sorting until the preset iteration end condition is met, and the current pallet allocation plan is output). If so, then perform ship exchange and adjustment between routes: Reduce the remaining cargo volume and increase the revenue. Figure 2 Among them, reducing the remaining cargo volume and increasing the revenue are specifically achieved through local search. Specifically, the local details include: Obtain the current pallet allocation plan (current solution S); in this embodiment, the current pallet allocation plan is the initial solution output in the previous process; Traverse the local search operators in a random order; Among them, the local search operators include simple relocate, load port relocate, discharge port relocate, simple swap, load port swap, discharge port swap, ship swap. Specifically: Obtain the pallet adjustment rule indicated by the current search operator; The pallet adjustment rule is used to adjust the pallets required for the current service between two ships to obtain a new pallet allocation plan; The current search operator is one of the multiple search operators to be searched; In the case where the transportation cost corresponding to the new pallet allocation plan is lower than the transportation cost corresponding to the current pallet allocation plan, the new pallet allocation plan is used as the new current pallet allocation plan (S'); In the case where the preset iteration end condition is not met, another search operator among the multiple search operators is used as the new current search operator; Return to the step of obtaining the pallet adjustment rule indicated by the current search operator until the iteration end condition is met, and output the current pallet allocation plan. Among them, the iteration end condition may include that the number of iterations meets the preset number threshold.

[0116] Among them, reducing the remaining cargo volume and increasing the revenue are specifically achieved through local search. Specifically, the local details include: Obtain the current pallet allocation plan (current solution S); in this embodiment, the current pallet allocation plan is the initial solution output in the previous process; Traverse the local search operators in a random order; Among them, the local search operators include simple relocate, load port relocate, discharge port relocate, simple swap, load port swap, discharge port swap, ship swap. Specifically: Obtain the pallet adjustment rule indicated by the current search operator; The pallet adjustment rule is used to adjust the pallets required for the current service between two ships to obtain a new pallet allocation plan; The current search operator is one of the multiple search operators to be searched; In the case where the transportation cost corresponding to the new pallet allocation plan is lower than the transportation cost corresponding to the current pallet allocation plan, the new pallet allocation plan is used as the new current pallet allocation plan (S'); In the case where the preset iteration end condition is not met, another search operator among the multiple search operators is used as the new current search operator; Return to the step of obtaining the pallet adjustment rule indicated by the current search operator until the iteration end condition is met, and output the current pallet allocation plan. Among them, the iteration end condition may include that the number of iterations meets the preset number threshold.

[0117] In some embodiments, the local search process specifically includes: obtaining the current pallet allocation plan, which is used to indicate the pallets currently required by the ships in the ship set; the ship set includes at least two ships; obtaining the pallet adjustment rule indicated by the current search operator, which is used to adjust the pallets currently required between two ships to obtain a new pallet allocation plan; the current search operator is one of the multiple search operators to be searched; in the case where the transportation cost corresponding to the new pallet allocation plan is lower than the transportation cost corresponding to the current pallet allocation plan, taking the new pallet allocation plan as the new current pallet allocation plan; in the case where the preset iteration end condition is not satisfied, taking another search operator to be searched among the multiple search operators as the new current search operator; returning to the step of obtaining the pallet adjustment rule indicated by the current search operator until the iteration end condition is satisfied, and outputting the current pallet allocation plan.

[0118] Among them, the current pallet allocation plan is used to indicate the pallets currently required by the ships in the ship set.

[0119] Among them, the ship set includes at least two ships.

[0120] Among them, the pallet adjustment rule is used to adjust the pallets currently required between two ships to obtain a new pallet allocation plan.

[0121] Among them, the current search operator is one of the multiple search operators to be searched.

[0122] In specific implementation, the pallet adjustment rule indicated by the current search operator can be used to adjust the pallets currently required between two ships, so as to obtain a new pallet allocation plan.

[0123] In specific implementation, if the transportation cost corresponding to the new pallet allocation plan is lower than the transportation cost corresponding to the current pallet allocation plan, the current pallet allocation plan can be updated, and the new pallet allocation plan can be taken as the new current pallet allocation plan.

[0124] Among them, the transportation cost corresponding to the pallet allocation plan refers to the sum of the transportation costs of each ship under the corresponding sailing route in the pallet allocation plan.

[0125] In specific implementation, in the case where the preset iteration end condition is not satisfied, after taking another search operator to be searched among the multiple search operators as the new current search operator, the computer device can return to the step of obtaining the pallet adjustment rule indicated by the current search operator until the iteration end condition is satisfied, and output the current pallet allocation plan.

[0126] In the above pallet allocation method, a current pallet allocation plan is obtained; the current pallet allocation plan is used to indicate the pallets currently required by the ships in the ship set; the ship set includes at least two ships; a pallet adjustment rule indicated by the current search operator is obtained; the pallet adjustment rule is used to adjust the pallets currently required between two ships to obtain a new pallet allocation plan; the current search operator is one of the multiple search operators to be searched; in the case where the transportation cost corresponding to the new pallet allocation plan is lower than the transportation cost corresponding to the current pallet allocation plan, the new pallet allocation plan is used as the new current pallet allocation plan; in the case where the preset iteration end condition is not satisfied, another search operator to be searched among the multiple search operators is used as the new current search operator; the step of obtaining the pallet adjustment rule indicated by the current search operator is returned until the iteration end condition is satisfied, and the current pallet allocation plan is output.

[0127] In this way, in the case of satisfying the pallet adjustment rule, the present application continuously searches for a new pallet allocation plan with a lower transportation cost and uses it as the new current pallet allocation plan. By continuously iteratively searching for different pallet adjustment rules indicated by multiple search operators, the allocation of pallets between ships can be gradually optimized, thereby reducing the cost of the entire transportation process. Moreover, by using multiple search operators and continuously switching the search operator to be searched when the iteration end condition is not satisfied, it is possible to search within a larger solution space. This helps to avoid prematurely falling into a local optimal solution, increases the possibility of finding the global optimal pallet allocation plan, makes the finally obtained pallet allocation plan more likely to be optimal or close to optimal, and effectively enhances the accuracy and rationality of the pallet allocation plan.

[0128] In one embodiment, in the case where the transportation cost corresponding to the new pallet allocation plan is lower than the transportation cost corresponding to the current pallet allocation plan, using the new pallet allocation plan as the new current pallet allocation plan includes: traversing all new pallet allocation plans obtained by adjusting the pallets currently required between two ships under the pallet adjustment rule indicated by the current search operator.

[0129] Among them, in the case where the transportation cost corresponding to the currently traversed new pallet allocation plan is lower than the transportation cost corresponding to the current pallet allocation plan, the new pallet allocation plan is used as the new current pallet allocation plan.

[0130] In a specific implementation, the computer device can adjust the pallets required for the current service between two ships under the pallet adjustment rules indicated by the current search operator to obtain a new pallet allocation plan. Since the ship set includes at least two ships and there are multiple combinations of two ships, multiple new pallet allocation plans can be obtained by adjusting the pallets required for the current service between two ships. During the process of traversing all combinations of two ships to adjust the pallets required for the current service, the transportation costs corresponding to the newly obtained pallet allocation plans can be calculated. When the transportation cost corresponding to the newly obtained pallet allocation plan currently traversed is lower than the transportation cost corresponding to the current pallet allocation plan, the newly obtained pallet allocation plan is used as the new current pallet allocation plan.

[0131] In practical applications, during the process of the computer device traversing all the newly obtained pallet allocation plans obtained by adjusting the pallets required for the current service between two ships under the pallet adjustment rules indicated by the current search operator, the computer device can obtain all combinations of two ships in the ship set under the pallet adjustment rules indicated by the current search operator; then, obtain the newly obtained pallet allocation plan obtained by adjusting the pallets required for the current service between the current combinations under the pallet adjustment rules indicated by the current search operator; the current combination is a combination to be adjusted among all combinations of two ships; when there are other combinations to be adjusted among all combinations of two ships, one combination among the other combinations to be adjusted is determined as the new current combination, and the step of obtaining the newly obtained pallet allocation plan obtained by adjusting the pallets required for the current service between the current combinations under the pallet adjustment rules indicated by the current search operator is returned until there are no other combinations to be adjusted among all combinations of two ships, so that the current pallet allocation plan finally iteratively obtained under the current search operator is the local optimal solution under the current search operator, that is, the pallet allocation plan with the lowest transportation cost under the current search operator.

[0132] The technical solution of this embodiment traverses all the newly obtained pallet allocation plans obtained by adjusting the pallets required for the current service between two ships under the pallet adjustment rules indicated by the current search operator; among them, when the transportation cost corresponding to the newly obtained pallet allocation plan currently traversed is lower than the transportation cost corresponding to the current pallet allocation plan, the newly obtained pallet allocation plan is used as the new current pallet allocation plan.

[0133] In this way, the current pallet allocation plan finally iteratively obtained under the current search operator is the local optimal solution under the current search operator, that is, the pallet allocation plan with the lowest transportation cost under the current search operator, and the local optimal solution under the current search operator can be accurately searched.

[0134] In some embodiments, the current search operator includes one of a first search operator or a second search operator. Among them, the first search operator is used to reallocate ships between different shipping lines and change the allocated quantity. The second search operator is used to change the ship dispatching plan by exchanging ships between different shipping lines.

[0135] Specifically, the pallet adjustment rule indicated by the first search operator is used to adjust the pallet currently required to be served by one of the ships in the current combination to another ship in the current combination. The pallet at the specific position to be adjusted needs to be determined according to the pallet adjustment rule indicated by the first search operator. For example, if the current combination includes a first ship and a second ship, the pallet adjustment rule indicated by the first search operator can be used to adjust some of the pallets currently required to be served by the first ship to the second ship.

[0136] In practical applications, the first search operator may refer to the relocate operator.

[0137] In one embodiment, when the current search operator is the first search operator, the current combination includes a first ship and a second ship. Obtaining a new pallet allocation plan obtained by adjusting the pallets currently required to be served among the current combinations according to the pallet adjustment rule indicated by the current search operator includes: obtaining a first pallet allocation plan according to the pallet adjustment rule indicated by the first search operator; the first pallet allocation plan is used to adjust the target pallets currently required to be served by the first ship to the second ship; the target pallets are the pallets that conform to the pallet adjustment rule indicated by the first search operator; taking the first pallet allocation plan as the new pallet allocation plan.

[0138] In specific implementation, when the current search operator is the first search operator and the current combination includes a first ship and a second ship, during the process of the computer device obtaining a new pallet allocation plan obtained by adjusting the pallets currently required to be served among the current combinations according to the pallet adjustment rule indicated by the current search operator, the computer device can obtain a first pallet allocation plan according to the pallet adjustment rule indicated by the first search operator. Specifically, according to the pallet adjustment rule indicated by the first search operator, the pallets to be adjusted in the first ship can be determined as the target pallets. Correspondingly, the first pallet allocation plan is to adjust the target pallets currently required to be served by the first ship to the second ship. In this way, the first pallet allocation plan can be used as the new pallet allocation plan under the first search operator.

[0139] In practical applications, the first search operator (relocate operator) may include at least one of simple relocate, loading port relocate, and discharging port relocate:

[0140] Simple relocation: Adjust at least one pallet currently required for the service of one of the vessels in the current combination to another vessel. For example, the current combination includes Vessel 1 and Vessel 2. Select the pallet of Vessel 1 and Vessel 2, place the pallet of Vessel 1 into Vessel 2, and update the sailing routes of Vessel 1 and Vessel 2 to calculate the change in transportation costs.

[0141] Loading port relocation: Adjust the pallets loaded by one of the vessels in the current combination at the target loading port to another vessel. The target loading port includes at least one loading port in the current sailing route of the said vessel. For example, select Loading Port 1 on Vessel 1 and Vessel 2 respectively, place the pallets of Vessel 1 with the same Loading Port 1 into Vessel 2, and update the sailing routes of Vessel 1 and Vessel 2 to calculate the change in transportation costs.

[0142] Discharging port relocation: Adjust the pallets unloaded by one of the vessels in the current combination at the target discharging port to another vessel. The target discharging port includes at least one discharging port in the current sailing route of the said vessel. For example, select Discharging Port 5 on Vessel 1 and Vessel 2 respectively, place the pallets of Vessel 1 with the same Discharging Port 5 into Vessel 2, and update the sailing routes of Vessel 1 and Vessel 2 to calculate the change in transportation costs.

[0143] In some other embodiments, the pallet adjustment rule indicated by the second search operator is used to exchange the pallets currently required for the service of one of the vessels in the current combination with the pallets currently required for the service of another vessel. The pallets at the specific adjustment positions need to be determined according to the pallet adjustment rule indicated by the second search operator. For example, the current combination includes the First Vessel and the Second Vessel. The pallet adjustment rule indicated by the second search operator can be used to exchange the positions of some pallets currently required for the service of the First Vessel with some pallets currently required for the service of the Second Vessel.

[0144] In practical applications, the second search operator can refer to the swap operator.

[0145] In one embodiment, when the current search operator is the second search operator, the current combination includes the First Vessel and the Second Vessel. Obtaining a new pallet allocation plan by adjusting the pallets currently required for the service among the current combinations under the pallet adjustment rule indicated by the current search operator includes: obtaining a second pallet allocation plan according to the pallet adjustment rule indicated by the second search operator; the second pallet allocation plan is used to adjust the first pallet currently required for the service of the First Vessel to the Second Vessel, and adjust the second pallet currently required for the service of the Second Vessel to the First Vessel; both the first pallet and the second pallet are pallets that conform to the pallet adjustment rule indicated by the second search operator; taking the second pallet allocation plan as the new pallet allocation plan.

[0146] In a specific implementation, when the current search operator is the second search operator, the current combination includes a first ship and a second ship. When the computer device obtains a new pallet allocation plan obtained by adjusting the pallets of the current required services among the current combinations according to the pallet adjustment rule indicated by the current search operator, the computer device may obtain a second pallet allocation plan according to the pallet adjustment rule indicated by the second search operator. Specifically, according to the pallet adjustment rule indicated by the second search operator, the pallets to be adjusted in the first ship can be determined as the first pallets, and the pallets to be adjusted in the second ship can be determined as the second pallets. Accordingly, the second pallet allocation plan is used to adjust the first pallets required for the current services of the first ship to the second ship, and adjust the second pallets required for the current services of the second ship to the first ship. In this way, the second pallet allocation plan can be used as the new pallet allocation plan under the second search operator.

[0147] In practical applications, the second search operator (swap operator) may include at least one of simple swap, loading port swap, unloading port swap, and ship change swap:

[0148] Simple swap: Swap at least one pallet required for the current services of one of the ships in the current combination and at least one pallet required for the current services of the other ship. For example, the current combination includes Ship 1 and Ship 2. One pallet each of Ship 1 and Ship 2 is selected (such as Pallet 3 of Ship 1 and Pallet 4 of Ship 2). Put Pallet 3 of Ship 1 into Ship 2, and at the same time put Pallet 4 of Ship 2 into Ship 1, and update the sailing paths of Ship 1 and Ship 2 to calculate the change in transportation cost.

[0149] Loading port swap: Swap the pallets loaded by one of the ships at the first loading port and the pallets loaded by the other ship at the second loading port. The first loading port includes at least one loading port in the current sailing path of the one ship, and the second loading port includes at least one loading port in the current sailing path of the other ship. For example, Loading Port 1 of Ship 1 and Loading Port 3 of Ship 2 are selected respectively. Put the pallets of Ship 1 with the same Loading Port 1 into Ship 2, and put the pallets of Ship 2 with the same Loading Port 3 into Ship 1, and update the sailing paths of Ship 1 and Ship 2 to calculate the change in transportation cost.

[0150] Discharge port swap: Swap the cargo trays unloaded by one of the vessels in the current combination at the first discharge port and the cargo trays unloaded by the other vessel at the second discharge port. The first discharge port includes at least one discharge port in the current sailing route of the one vessel, and the second discharge port includes at least one discharge port in the current sailing route of the other vessel. For example, select discharge port 4 on vessel 1 and discharge port 4 on vessel 2 respectively, put the cargo trays with the same discharge port 4 on vessel 1 into vessel 2, put the cargo trays with the same discharge port 4 on vessel 2 into vessel 1, and update the sailing routes of vessel 1 and vessel 2 to calculate the change in the target value.

[0151] Vessel swap: Swap all the cargo trays currently required by one of the vessels in the current combination with all the cargo trays currently required by the other vessel. For example, select vessel 1 and vessel 2 respectively, swap all the cargo trays on vessel 1 with all the cargo trays on vessel 2, and update the sailing routes of vessel 1 and vessel 2 to calculate the change in the target value (which will be affected by the departure positions and departure times of different vessels).

[0152] In this way, the cargo trays required by the vessels will determine the loading ports and discharge ports they need to pass through. After determining the ports to pass through, the algorithm will traverse all the feasible port sequences that each vessel can call at, and select the best port sequence with the lowest transportation cost from them.

[0153] Among them, during the local search process, if all the operators have been traversed but the time limit has not been reached, the "destroy - repair" strategy is executed to perturb the current solution S. Specifically, the current solution S is perturbed through the "destroy - repair" strategy. Specifically, first determine the perturbation range: select N (N is a positive integer, and the specific value is determined according to the preset screening ratio range) cargo trays with the highest transportation costs from the cargo trays required by the vessels in the vessel set indicated by the current solution S as the target cargo trays; secondly, in the destruction stage: remove the selected N target cargo trays to obtain the current cargo tray allocation plan; finally, in the repair stage: randomly select the greedy insertion algorithm or the regret value insertion algorithm to re - determine the insertion vessels corresponding to each removed target cargo tray in the vessel set.

[0154] Specifically, it includes: screening out a target pallet set under the original pallet allocation plan according to a preset screening ratio range; the original pallet allocation plan is used to indicate the pallets required to be served by the ships in the ship set; the transportation cost corresponding to the target pallets in the target pallet set is higher than the transportation cost corresponding to the pallets that are not screened out; obtaining the current pallet allocation plan, and determining the target transportation cost change amount corresponding to each target pallet; the target transportation cost change amount is used to indicate the minimum transportation cost change amount after the target pallet is inserted into the ship set under the current pallet allocation plan; the current pallet allocation plan is the pallet allocation plan obtained by removing the target pallet set from the original pallet allocation plan; according to the target transportation cost change amount corresponding to each target pallet, re-determine the inserting ships corresponding to each target pallet in the ship set to obtain a new current pallet allocation plan.

[0155] In this embodiment, the original pallet allocation plan refers to the current solution S when all operators have been traversed but the time limit has not been reached.

[0156] Among them, the screening ratio range is used to indicate the proportion range of the screened pallets among all pallets.

[0157] Among them, the transportation cost corresponding to the target pallets in the target pallet set is higher than the transportation cost corresponding to the pallets that are not screened out.

[0158] In this embodiment, the transportation cost corresponding to a pallet refers to the difference in the total transportation cost of the corresponding ship before and after removing the pallet.

[0159] In specific implementation, the computer device can obtain the original pallet allocation plan, and screen out the target pallet set to be removed under the original pallet allocation plan according to the preset pallet removal rule. The transportation cost corresponding to the target pallets in the target pallet set is higher than the transportation cost corresponding to the pallets that are not screened out.

[0160] Among them, the pallet removal rule can indicate a preset screening ratio range (for example, the number of pallets to be removed does not exceed 70% of the number of pallets being served). In practical applications, 10%-30% (the specific value can be determined according to actual requirements) of the pallets with high transportation costs can be randomly selected as the target pallet set to be removed to balance the exploration of the solution space and the reparability of the solution.

[0161] Among them, the current pallet allocation plan is the pallet allocation plan obtained by removing the target pallet set from the original pallet allocation plan.

[0162] Among them, the transportation cost change amount refers to the transportation cost change amount when the target pallet is inserted into all possible positions under the current pallet allocation plan.

[0163] Specifically, for any target pallet, determine the transportation costs of each ship before inserting the any target pallet under the current pallet allocation plan, and then obtain the transportation costs of each ship after inserting the any target pallet during the process of attempting to insert the any target pallet into each ship. Thus, based on the difference between the transportation costs of each ship before inserting the any target pallet and the transportation costs after inserting the any target pallet, obtain the change in transportation costs when the any target pallet is inserted into all possible positions under the current pallet allocation plan.

[0164] Among them, the target change in transportation cost is used to indicate the minimum change in transportation cost after the target pallet is inserted into the set of ships.

[0165] Specifically, for any target pallet, by obtaining the change in transportation cost of each ship during the process of sequentially inserting the any target pallet into each of the ships under the current pallet allocation plan; take the minimum change in transportation cost as the target change in transportation cost corresponding to the any target pallet.

[0166] In specific implementation, the computer device can re-determine the ships corresponding to the insertion of each target pallet in the set of ships according to the target change in transportation cost corresponding to each target pallet, and obtain a new current pallet allocation plan.

[0167] In the above pallet allocation method, a set of target pallets is screened out under the original pallet allocation plan according to a preset screening ratio range; the original pallet allocation plan is used to indicate the pallets that the ships in the set of ships need to serve; the transportation costs of the target pallets in the set of target pallets are higher than the transportation costs of the pallets that are not screened out; obtain the current pallet allocation plan, and determine the target change in transportation cost corresponding to each target pallet; the target change in transportation cost is used to indicate the minimum change in transportation cost after the target pallet is inserted into the set of ships under the current pallet allocation plan; the current pallet allocation plan is the pallet allocation plan obtained by removing the set of target pallets from the original pallet allocation plan; according to the target change in transportation cost corresponding to each target pallet, re-determine the ships corresponding to the insertion of each target pallet in the set of ships, and obtain a new current pallet allocation plan.

[0168] Thus, the present application adopts a destruction-repair strategy: in the destruction stage, according to a preset screening ratio range, a corresponding set of target pallets with higher transportation costs is screened out under the original pallet allocation plan, so as to remove the set of target pallets from the original pallet allocation plan, obtain the current pallet allocation plan, and realize removing a part of the pallets from the original solution, introducing the incompleteness of the solution, and providing more space for the repair stage to explore a better solution; in the repair stage: obtain the change amount of the target transportation cost corresponding to each target pallet under the current pallet allocation plan, and the change amount of the target transportation cost is used to indicate the minimum change amount of the transportation cost after the target pallet is inserted into the set of ships under the current pallet allocation plan, so as to re-determine the inserting ship corresponding to each target pallet in the set of ships, and obtain a new current pallet allocation plan. It realizes that by using the destruction-repair strategy, when the original pallet allocation plan falls into a local optimal solution, by perturbing the original pallet allocation plan, the current local optimal state is broken. The set of target pallets with higher transportation costs is removed, and then the target pallets are re-inserted, enabling the algorithm to enter a new search neighborhood and having the opportunity to find a better global solution, avoiding poor solution quality caused by falling into a local optimum, and making the finally output new current pallet allocation plan have high quality in terms of transportation cost and resource utilization, etc., and can improve the accuracy of the pallet allocation plan.

[0169] In one embodiment, according to the change amount of the target transportation cost corresponding to each target pallet, re-determining the inserting ship corresponding to each target pallet in the set of ships to obtain a new current pallet allocation plan includes: screening out the first inserting pallet in the set of target pallets according to the change amount of the target transportation cost corresponding to each target pallet, so as to obtain a new current pallet allocation plan; the new current pallet allocation plan is obtained after inserting the first inserting pallet into the ship matching the corresponding change amount of the target transportation cost; taking the remaining target pallets as a new set of target pallets, and returning to the step of determining the change amount of the target transportation cost corresponding to each target pallet until a preset iteration end condition is met, and outputting the new current pallet allocation plan.

[0170] Wherein, the first inserting pallet refers to the first target pallet whose insertion position is determined under the current pallet allocation plan in the set of target pallets.

[0171] Wherein, the remaining target pallets refer to the target pallets whose insertion positions are not determined.

[0172] In a specific implementation, when the computer device re-determines the insertion vessels corresponding to each target pallet in the vessel set according to the target transportation cost change amount corresponding to each target pallet to obtain a new current pallet allocation plan, the computer device can screen out the target pallets that need to be inserted at the beginning in the target pallet set according to the target transportation cost change amount corresponding to each target pallet as the first insertion pallets, and determine the vessels to be inserted by the first insertion pallets in the vessel set under the current pallet allocation plan to obtain a new current pallet allocation plan. Specifically, it can be selected to insert the first insertion pallets into the vessels corresponding to the corresponding target transportation cost change amount, that is, the new current pallet allocation plan can be used to insert the first insertion pallets into the vessels matching the corresponding target transportation cost change amount.

[0173] Further, the remaining target pallets can be used as a new target pallet set, and the step of determining the target transportation cost change amount corresponding to each target pallet is returned until the preset iteration end condition is met, and the new current pallet allocation plan is output.

[0174] Among them, the preset iteration end condition may include that there are no target pallets with undetermined insertion positions, or the number of iterations meets the preset number threshold.

[0175] The technical solution of this embodiment screens out the first insertion pallets in the target pallet set according to the target transportation cost change amount corresponding to each target pallet to obtain a new current pallet allocation plan; the new current pallet allocation plan is used to insert the first insertion pallets into the vessels matching the corresponding target transportation cost change amount; the remaining target pallets are used as a new target pallet set, and the step of determining the target transportation cost change amount corresponding to each target pallet is returned until the preset iteration end condition is met, and the new current pallet allocation plan is output. In this way, the first insertion pallets are determined through the target transportation cost change amount corresponding to each target pallet to obtain a new current pallet allocation plan, and the remaining target pallets are used as a new target pallet set. By continuously iterating and adjusting the pallet allocation and preferentially inserting the target pallets with less impact on the transportation cost, the transportation capacity of the vessels can be utilized more reasonably, avoiding resource waste. Ensure that each vessel can serve the pallets in a relatively optimal state, improve the utilization efficiency of the vessel resources, and make the resource allocation of the entire transportation system more reasonable.

[0176] In one embodiment, screening out the first insertion pallets in the target pallet set according to the target transportation cost change amount corresponding to each target pallet includes: in the case of using the Greedy insert algorithm, taking the target pallet with the smallest corresponding target transportation cost change amount as the first insertion pallet.

[0177] In a specific implementation, when the computer device selects the first inserted pallet from the set of target pallets according to the change amount of the target transportation cost corresponding to each target pallet, in the case of using the greedy insertion algorithm, that is, in the case of using the greedy insertion algorithm, the target pallet with the smallest corresponding change amount of the target transportation cost can be used as the first inserted pallet.

[0178] In practical applications, for the greedy insertion algorithm, sorting the change amounts of the target transportation costs corresponding to all target pallets from small to large can obtain an insertion priority list under the greedy insertion algorithm. Among them, the target pallet corresponding to the first position in the insertion priority list is the first inserted pallet. The core idea of greedy insertion is to select the current optimal local solution at each step in order to obtain a global solution. The following is the detailed process of greedy insertion:

[0179] S1. Greedy selection: For the current solution, select a target pallet to insert. Specifically, the first inserted pallet can be selected. The criterion for greedy selection is that each insertion can bring the smallest cost increment (or the smallest cost). That is, for each target pallet, calculate the cost increment of inserting it into the current solution. Select the insertion position with the smallest cost: Calculate the cost increment of each target pallet at all possible insertion positions in the current solution (since the port order is enumerated, the position is only refined to each ship), and select the target pallet with the smallest insertion cost increment (i.e., the first inserted pallet) and insert it into the best position (i.e., the ship corresponding to the smallest cost increment of the first inserted pallet).

[0180] S2. Update the solution: Insert the selected target pallet into the best position of the current solution. After insertion, update the current solution, and at the same time remove the target pallet from the set of target pallets, and then go to S1.

[0181] S3. Termination condition: When all target pallets are inserted into the solution, the greedy insertion process terminates. At this time, a complete solution is obtained.

[0182] In the technical solution of this embodiment, the greedy insertion algorithm selects the optimal solution in the current state at each decision-making step, that is, selects the target pallet with the smallest change in transportation cost for insertion. This local optimal selection strategy enables the algorithm to quickly construct a solution without exhaustive search for all possible combinations, thereby improving the calculation efficiency and being able to obtain a feasible pallet allocation plan in a short time, effectively improving the pallet allocation efficiency.

[0183] In one embodiment, screening out the first inserted pallet from the set of target pallets according to the change amount of the target transportation cost corresponding to each target pallet includes: in the case of adopting the regret value insertion algorithm, determining the additional transportation cost corresponding to each target pallet under the current pallet allocation plan; the additional transportation cost is used to indicate the additional transportation cost corresponding to the target pallet when the target pallet is not inserted into the ship matching the corresponding change amount of the target transportation cost; and taking the target pallet with the largest corresponding additional transportation cost as the first inserted pallet.

[0184] In a specific implementation, when the computer device screens out the first inserted pallet from the set of target pallets according to the change amount of the target transportation cost corresponding to each target pallet, in the case of adopting the regret value insertion algorithm, the computer device can determine the additional transportation cost corresponding to each target pallet under the current pallet allocation plan. The additional transportation cost is used to indicate the additional transportation cost corresponding to the target pallet when the target pallet is not inserted into the ship matching the corresponding change amount of the target transportation cost, and take the target pallet with the largest corresponding additional transportation cost as the first inserted pallet.

[0185] In some of these embodiments, when the computer device determines the additional transportation cost corresponding to each target pallet under the current pallet allocation plan, it can obtain the second-lowest transportation cost change amount corresponding to each target pallet after being inserted into the set of ships under the current pallet allocation plan. That is, for any target pallet, obtain the transportation cost change amount corresponding to each ship during the process of inserting the target pallet into each of the ships in turn under the current pallet allocation plan. Among them, the smallest transportation cost change amount is the target transportation cost change amount, and the transportation cost change amount that is only smaller than the target transportation cost change amount is used as the second-lowest transportation cost change amount.

[0186] By obtaining the difference between the target transportation cost change amount corresponding to each target pallet and the corresponding second-lowest transportation cost change amount, the additional transportation cost corresponding to each target pallet is determined.

[0187] In practical applications, the additional transportation cost can refer to the regret value. For regret value insertion, the calculation of the regret value is the difference between the target transportation cost change amount and the second-lowest transportation cost change amount, and the regret values are sorted from largest to smallest to obtain an insertion priority list. Among them, the target pallet corresponding to the first position in the insertion priority list is the first inserted pallet.

[0188] Regret value insertion is a strategy for optimizing problems, used to balance the current insertion choice and the opportunity loss in the future. The following is the detailed process of regret value insertion:

[0189] S1. Calculate the insertion cost: For each target pallet, sequentially calculate the cost increment when it is inserted into all possible positions in the current solution (since the port order is enumerated, the position is only refined to each ship). The insertion cost increments of each pallet are arranged in ascending order, and record the lowest cost (the change in the target transportation cost) at the best insertion position and the second lowest cost (the second lowest change in the transportation cost) at the second-best insertion position.

[0190] S2. Calculate the regret value: Calculate the regret value of each target pallet based on its insertion cost. The regret value reflects the additional cost brought by the second-best choice when the best position is not selected. If multiple second-best positions are considered, the regret value is the additional cost of the total cost of choosing the second-best position relative to the best position.

[0191] S3. Select a pallet for insertion: Among the target pallets, select the target pallet with the largest regret value (the first inserted pallet) for insertion. This can minimize the opportunity loss of future decisions to the greatest extent. Insert the selected target pallet into the current solution and remove it from the set of target pallets, then go to S1.

[0192] S4. Termination condition: The regret value insertion process terminates when one of the following situations occurs: the set of target pallets is empty, that is, all target pallets have been inserted, or the preset iteration count threshold is reached.

[0193] In the technical solution of this embodiment, in the case of adopting the regret value insertion algorithm, determine the additional transportation cost corresponding to each target pallet under the current pallet allocation plan; the additional transportation cost is used to indicate the additional transportation cost corresponding to the target pallet when the target pallet is not inserted into the ship that matches the corresponding change in the target transportation cost; use the target pallet with the largest corresponding additional transportation cost as the first inserted pallet; wherein, the additional transportation cost is calculated based on the difference between the change in the target transportation cost corresponding to each target pallet and the corresponding second lowest change in the transportation cost. In this way, in each iteration process, select the target pallet with the largest corresponding additional transportation cost for insertion, not only paying attention to the current optimal choice, but also comprehensively considering the possible losses that may occur after other possible choices are missed, so as to be able to more comprehensively evaluate various insertion schemes, avoid missing the globally better solution due to only considering the local optimum, can minimize the opportunity loss of future decisions to the greatest extent, find a pallet allocation plan closer to the global optimum, improve the quality of the final allocation result, and can further reduce the transportation cost or make the resource utilization more reasonable.

[0194] Furthermore, after performing the local search, the computer device can determine whether there are remaining goods. If not, output the current solution; if so, split the remaining pallets to maximize the pallet service volume. For specific local details, refer to the Figure 3 explanation, and no specific limitations are made here.

[0195] It should be understood that although the steps in the flowcharts involved in the above-described embodiments are sequentially shown according to the indication of the arrows, these steps are not necessarily executed sequentially in the order indicated by the arrows. Unless there is a clear indication in this article, the execution of these steps has no strict order limit, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-described embodiments may include multiple steps or multiple stages. These steps or stages are not necessarily executed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be executed alternately or in turn with at least a part of the steps or stages in other steps or other steps.

[0196] Based on the same inventive concept, an embodiment of the present application also provides a pallet allocation device for implementing the pallet allocation method involved above. The solution provided by this device to solve the problem is similar to the solution described in the above method. Therefore, the specific limitations in one or more embodiments of the pallet allocation device provided below can refer to the limitations on the pallet allocation method in the above text, and will not be repeated here.

[0197] In an exemplary embodiment, as Figure 6 shown, a pallet allocation device is provided, including: an acquisition module 610, a determination module 620, a perturbation module 630, and an iteration module 640, where:

[0198] The acquisition module 610 is configured to obtain the insertion results during the process of sequentially inserting the pallets in the pallet set to be allocated into each ship in the ship set under the target shipping route in the current sorting.

[0199] The determination module 620 is configured to determine the current pallet allocation plan according to the insertion results; the current pallet allocation plan is used to indicate the target ship corresponding to the first pallet and the second pallet; the target ship corresponding to the first pallet is the ship with the highest virtual resource gain data after inserting the first pallet; the second pallet is the pallet that fails to be inserted into any of the ships.

[0200] The perturbation module 630 is configured to randomly move forward the positions of the second pallets in the pallet set to be allocated in a random perturbation manner to obtain a new current sorting.

[0201] An iteration module 640, configured to return the insertion results during the process of sequentially inserting the pallets in the set of pallets to be allocated into each ship in the ship set under the current sorting until a preset iteration end condition is met; wherein, if the virtual resource gain of the new pallet allocation scheme corresponding to the new current sorting is better than the virtual resource gain of the current pallet allocation scheme, the current pallet allocation scheme is updated.

[0202] In one embodiment, the obtaining module 610 is specifically configured to, for the current pallet, determine that the insertion result of the current pallet is a successful insertion and use the current pallet as the first pallet if there is a ship in the ship set into which the current pallet can be inserted; the current pallet is the pallet to be currently inserted in the set of pallets to be allocated; if there is no ship in the ship set into which the current pallet can be inserted, determine that the insertion result of the current pallet is an unsuccessful insertion and use the current pallet as the second pallet.

[0203] In one embodiment, the determining module 620 is specifically configured to, for the first pallet, obtain a first virtual resource value corresponding to the optimal route of each insertable ship before inserting the first pallet; the insertable ship is a ship into which the first pallet can be inserted; obtain a second virtual resource value corresponding to the optimal route of each insertable ship after inserting the first pallet; determine virtual resource gain data corresponding to each insertable ship according to the difference between the second virtual resource value and the corresponding first virtual resource value of each insertable ship; and use the insertable ship with the highest corresponding virtual resource gain data as the target ship corresponding to the first pallet.

[0204] In one embodiment, the iteration module 640 is specifically configured to obtain the number of second pallets in the new pallet allocation scheme; if the number of second pallets in the new pallet allocation scheme is less than the number of second pallets in the current pallet allocation scheme, update the current pallet allocation scheme to the new pallet allocation scheme.

[0205] In one embodiment, the iteration module 640 is specifically configured to return the insertion results during the process of sequentially inserting the pallets in the set of pallets to be allocated into each ship in the ship set under the current sorting until the number of second pallets is zero or the number of iterations meets a preset number threshold, determine that the preset iteration end condition is met, and output the current pallet allocation scheme.

[0206] In one embodiment, the device further includes: a splitting module, configured to determine a remaining pallet set; the remaining pallet set includes the remaining pallets that still cannot be inserted into any of the ships after the number of iterations meets the preset number threshold; obtain the loading capacity arrangement order; the loading capacity arrangement order is obtained by sorting the maximum loading capacities of the remaining pallets on each remaining available ship in descending order; the remaining available ships are the ships that still have insertion space; the maximum loading capacity in the loading capacity arrangement order is used to indicate splitting the remaining pallets so as to sequentially allocate the split remaining pallets to the remaining available ships corresponding to the respective maximum loading capacities.

[0207] Each module in the above pallet allocation device can be implemented in whole or in part by software, hardware, and their combination. Each of the above modules can be embedded in the processor in the computer device in hardware form or be independent of it, or can be stored in the memory in the computer device in software form so that the processor can call and execute the operations corresponding to each of the above modules.

[0208] In an exemplary embodiment, a computer device is provided. The computer device can be a terminal, and its internal structure diagram can be as Figure 7 shown. The computer device includes a processor, a memory, an input / output interface, a communication interface, a display unit, and an input device. Among them, the processor, the memory, and the input / output interface are connected through a system bus, and the communication interface, the display unit, and the input device are connected to the system bus through the input / output interface. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The input / output interface of the computer device is used for the processor to exchange information with external devices. The communication interface of the computer device is used for wired or wireless communication with external terminals, and the wireless method can be implemented through WIFI, a mobile cellular network, near field communication (NFC), or other technologies. The computer program, when executed by the processor, implements a pallet allocation method. The display unit of the computer device is used to form a visually visible picture, which can be a display screen, a projection device, or a virtual reality imaging device. The display screen can be a liquid crystal display screen or an electronic ink display screen. The input device of the computer device can be a touch layer covering the display screen, or a button, a trackball, or a touchpad provided on the housing of the computer device, or an external keyboard, a touchpad, or a mouse, etc.

[0209] Those skilled in the art can understand, Figure 7The structure shown is only a block diagram of some structures related to the solution of this application, and does not constitute a limitation on the computer device to which the solution of this application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine some components, or have different component arrangements.

[0210] In one embodiment, a computer device is further provided, including a memory and a processor. A computer program is stored in the memory, and when the processor executes the computer program, the steps in the above method embodiments are implemented.

[0211] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in the above method embodiments are implemented.

[0212] In one embodiment, a computer program product is provided, including a computer program. When the computer program is executed by a processor, the steps in the above method embodiments are implemented.

[0213] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use, and processing of relevant data need to comply with relevant regulations.

[0214] Those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be completed by instructing relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above methods. Among them, any reference to a memory, a database, or other media used in the embodiments provided in this application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM), etc. The databases involved in the embodiments provided in this application can include at least one of relational databases and non-relational databases. Non-relational databases can include distributed databases based on blockchain, etc., without limitation. The processors involved in the embodiments provided in this application can be general-purpose processors, central processors, graphics processors, digital signal processors, programmable logic devices, data processing logics based on quantum computing, artificial intelligence (AI) processors, etc., without limitation.

[0215] The technical features of the above embodiments can be combined arbitrarily. For the sake of concise description, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, it should be considered as the scope recorded in this application.

[0216] The above-described embodiments merely represent several implementation manners of the present application. The description thereof is relatively specific and detailed, but it should not be construed as a limitation on the patent scope of the present application. It should be noted that for those of ordinary skill in the art, without departing from the concept of the present application, several modifications and improvements can still be made, and these all fall within the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the appended claims.

Claims

1. A pallet allocation method, characterized in that, The method includes: Under the target shipping route, obtaining the insertion results during the process of sequentially inserting the pallets in the pallet set to be allocated into each ship in the ship set under the current sorting; Determining the current pallet allocation plan according to the insertion results; the current pallet allocation plan is used to indicate the target ship corresponding to the first pallet and the second pallet; the target ship corresponding to the first pallet is the ship with the highest virtual resource gain data after inserting the first pallet; the second pallet is the pallet that fails to be inserted into any of the ships; Randomly moving forward the positions of each second pallet in the pallet set to be allocated by means of random perturbation to obtain a new current sorting; Returning the insertion results during the process of sequentially inserting the pallets in the pallet set to be allocated into each ship in the ship set under the current sorting until a preset iteration end condition is met; wherein, if the virtual resource gain situation of the new pallet allocation plan corresponding to the new current sorting is better than that of the current pallet allocation plan, the current pallet allocation plan is updated.

2. The method according to claim 1, wherein The obtaining the insertion results during the process of sequentially inserting the pallets in the pallet set to be allocated into each ship in the ship set under the current sorting includes: For the current pallet, if there is a ship in the ship set into which the current pallet can be inserted, it is determined that the insertion result of the current pallet is successfully inserted, and the current pallet is used as the first pallet; the current pallet is the pallet to be inserted currently in the pallet set to be allocated; If there is no ship in the ship set into which the current pallet can be inserted, it is determined that the insertion result of the current pallet is not successfully inserted, and the current pallet is used as the second pallet.

3. The method according to claim 2, wherein The determining the current pallet allocation plan according to the insertion results includes: For the first pallet, obtaining the first virtual resource value corresponding to the optimal shipping route of each insertable ship before inserting the first pallet; the insertable ship is the ship into which the first pallet can be inserted; Obtaining the second virtual resource value corresponding to the optimal shipping route of each insertable ship after inserting the first pallet; Determining the virtual resource gain data corresponding to each insertable ship according to the difference between the second virtual resource value and the corresponding first virtual resource value of each insertable ship; Taking the insertable ship with the highest corresponding virtual resource gain data as the target ship corresponding to the first pallet.

4. The method according to claim 1, wherein The returning the insertion results during the process of sequentially inserting the pallets in the pallet set to be allocated into each ship in the ship set under the current sorting until a preset iteration end condition is met includes: Obtaining the number of second pallets in the new pallet allocation plan; If the number of second pallets in the new pallet allocation plan is less than the number of second pallets in the current pallet allocation plan, updating the current pallet allocation plan to the new pallet allocation plan.

5. The method according to claim 1, wherein The returning the insertion results during the process of sequentially inserting the pallets in the pallet set to be allocated into each ship in the ship set under the current sorting until a preset iteration end condition is met includes: Return the insertion results during the process of sequentially inserting the pallets in the pallet set to be allocated into each ship in the ship set under the current sorting, until the number of the second pallets is zero, or the number of iterations meets the preset iteration threshold, determine that the preset iteration end condition is satisfied, and output the current pallet allocation plan.

6. The method according to claim 5, characterized in that, The method further includes: Determine the remaining pallet set; the remaining pallet set includes the remaining pallets that still cannot be inserted into any of the ships after the number of iterations meets the preset iteration threshold; Obtain the loading capacity arrangement order; the loading capacity arrangement order is obtained by sorting the maximum loading capacities of the remaining pallets on each remaining available ship in descending order; the remaining available ships are the ships that still have insertion space; The maximum loading capacity in the loading capacity arrangement order is used to indicate splitting the remaining pallets, so as to sequentially allocate the split remaining pallets to the remaining available ships corresponding to the respective maximum loading capacities.

7. A pallet allocation device, characterized in that, The device includes: An obtaining module, configured to obtain the insertion results during the process of sequentially inserting the pallets in the pallet set to be allocated into each ship in the ship set under the current sorting under the target shipping route; A determining module, configured to determine the current pallet allocation plan according to the insertion results; the current pallet allocation plan is used to indicate the target ship corresponding to the first pallet and the second pallets; the target ship corresponding to the first pallet is the ship with the highest virtual resource gain data after inserting the first pallet; the second pallets are the pallets that cannot be inserted into any of the ships; A perturbation module, configured to randomly move forward the positions of the second pallets in the pallet set to be allocated in a random perturbation manner to obtain a new current sorting; An iteration module, configured to return and obtain the insertion results during the process of sequentially inserting the pallets in the pallet set to be allocated into each ship in the ship set under the current sorting until the preset iteration end condition is satisfied; wherein, if the virtual resource gain situation of the new pallet allocation plan corresponding to the new current sorting is better than the virtual resource gain situation of the current pallet allocation plan, the current pallet allocation plan is updated.

8. A computer device, comprising a memory and a processor, the memory storing a computer program, characterized in that, When the processor executes the computer program, the steps of the method according to any one of claims 1 to 6 are implemented.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, the steps of the method according to any one of claims 1 to 6 are implemented.

10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, the steps of the method according to any one of claims 1 to 6 are implemented.