Cargo loading method and related device
By using heuristic algorithms and taboo search algorithms in cargo loading methods, the problems of low container space utilization and complex calculations are solved, and the fast and accurate optimal loading scheme determination is achieved, which improves the computing efficiency and accuracy.
Patent Information
- Application Number
- CN202510009649.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-03
- Publication Date
- 2025-05-06
AI Technical Summary
In the prior art, the process of loading goods in containers is complicated and cumbersome, and it is impossible to effectively utilize the container space, and manual calculation errors are prone to occur.
A cargo loading method is adopted to determine the best loading scheme by obtaining the container's load capacity information and inventory unit list, and to use heuristic algorithms and taboo search algorithms to ensure maximum space utilization.
The rapid and accurate determination of the optimal container loading scheme is achieved, improving computing efficiency and accuracy, ensuring maximum space utilization without manual calculations.
Smart Images

Figure CN119940618A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computers, and in particular to a cargo loading method and related devices. Background Art
[0002] At present, containers are often used to load goods. The traditional cargo loading plan requires manual repeated calculation of how to load. The calculation process is complicated and cumbersome. Due to errors in manual calculation, it is impossible to maximize the space utilization of the container. The determination of the loading plan is cumbersome. Therefore, providing a suitable cargo loading method has become a technical problem that needs to be solved urgently. Summary of the invention
[0003] In view of this, the purpose of this application is to provide a cargo loading method and related devices, which can quickly and accurately determine the best loading plan for a container and ensure maximum space utilization without manual calculation, greatly improving calculation efficiency and accuracy. The specific scheme is as follows:
[0004] In one aspect, the present application provides a cargo loading method, comprising:
[0005] S1, obtaining the carrying capacity information and inventory unit list of the container; the carrying capacity information includes the container size and the maximum payload; the inventory unit list includes a plurality of inventory units, each of the inventory units includes parameter information and loading status information of a type of goods; the loading status information includes the loaded quantity and the unloaded quantity;
[0006] S2, based on the carrying capacity information and the inventory unit list, determining an initial loading scheme corresponding to an initial loading sequence by a heuristic algorithm; the initial loading sequence is used to indicate the loading order between multiple types of goods; the initial loading scheme includes the initial loading sequence and the initial spatial coordinates of each of the goods in the container;
[0007] S3, taking the initial loading plan as the current solution, searching in the neighborhood of the current solution by means of a taboo search algorithm, adjusting the loading sequence, and for each loading sequence, determining the loading plan corresponding to each loading sequence by means of the heuristic algorithm, and determining the best loading plan from among the multiple loading plans and the initial loading plan; the best loading plan includes the best loading sequence and the best spatial coordinates of each of the cargoes in the container.
[0008] Optionally, the S2 includes:
[0009] S201, initializing the inventory unit list, the actual payload of the container and the available space set; the available space set includes at least one available space;
[0010] S202, based on the maximum payload and the actual payload, determining whether the remaining payload is greater than 0, determining whether the available space set is not empty, and whether there is an unloaded quantity greater than 0;
[0011] S203, if yes, obtain one of the available spaces and initialize the index i=0;
[0012] S204, determining whether i is less than the length of the target loading sequence;
[0013] S205, if yes, determine the target type corresponding to the i in the target loading sequence, and execute S206; if no, move the available space from the available space set to the unavailable space set, and return to execute S202;
[0014] S206, determining whether the unloaded quantity of the target cargo corresponding to the target type is not 0, and whether the remaining effective load is not less than the load of a single target cargo;
[0015] S207, if yes, then generate a target loading unit; the target loading unit includes at least one target cargo;
[0016] S208, otherwise, update the index i=i+1, and return to execute S204;
[0017] S209, updating the available space set based on the coordinates of the target loading unit and the coordinates of the available space;
[0018] S210, determining whether the available space set is empty;
[0019] S211, if yes, output the initial loading plan; if no, return to execute S202.
[0020] Optionally, the parameter information includes cargo loading restrictions, and the cargo loading restrictions include placement restrictions; in S207, generating a target loading unit includes:
[0021] For each placement mode allowed by the placement mode restriction, based on the size of the available space, the carrying capacity information and the inventory unit list, determining a loading unit loaded in the available space; the goods in the loading unit are stacked according to the placement mode;
[0022] The placement mode corresponding to the maximum space utilization of the available space is used as the target placement mode;
[0023] The loading units stacked according to the target placement manner are used as the target loading units.
[0024] Optionally, in S203, before obtaining the available space, the method further includes:
[0025] Get the unavailable space collection;
[0026] When a target available space in the available space set is adjacent to a first unavailable space, and the target available space and the first unavailable space are located in regular shapes, spatially merging the target available space and the first unavailable space to obtain a first available space;
[0027] The target available space is replaced by the first available space in the available space set, and the first unavailable space is deleted from the unavailable space set.
[0028] Optionally, in S203, before obtaining the available space, the method further includes:
[0029] Get the unavailable space collection;
[0030] When a target available space in the available space set is adjacent to a first unavailable space, and the target available space and the first unavailable space are located in irregular shapes, spatially merging the target available space and the first unavailable space to obtain a second available space and at least one second unavailable space;
[0031] The target available space is replaced by the second available space in the available space set, and the first unavailable space is replaced by the second unavailable space in the unavailable space set.
[0032] Optionally, the step S209 of updating the set of available spaces based on the coordinates of the loading unit and the coordinates of the available spaces includes:
[0033] determining a remaining space based on the coordinates of the loading unit and the coordinates of the available space;
[0034] The available space is deleted from the available space set, and the remaining space is added to the available space set.
[0035] Optionally, the S3 includes:
[0036] In the jth iteration process, the current solution is determined; when j is 1, the initial loading solution is the current solution, and when j is greater than 1, the current solution is the candidate solution with the best evaluation value in the candidate solution set;
[0037] Determine whether the current solution is better than the optimal solution, and if so, use the current solution to update the optimal solution;
[0038] According to the neighborhood solution generation strategy, searching in the neighborhood of the current solution by means of a taboo search algorithm, adjusting the loading sequence, and determining a plurality of neighborhood solutions by means of the heuristic algorithm based on the adjusted loading sequence;
[0039] Adding a neighborhood solution that is not prohibited by the taboo table to a candidate solution set; the candidate solution set includes multiple candidate solutions;
[0040] Determine whether the iteration stop condition is met, if not, repeat the execution, if so, use the optimal solution as the best loading solution.
[0041] In another aspect, the present application also provides a cargo loading device, comprising:
[0042] an acquisition unit, configured to acquire the carrying capacity information and inventory unit list of the container; the carrying capacity information includes the container size and the maximum payload; the inventory unit list includes a plurality of inventory units, each of the inventory units includes parameter information and loading status information of a type of cargo; the loading status information includes the loaded quantity and the unloaded quantity;
[0043] A first determining unit is configured to determine an initial loading scheme corresponding to an initial loading sequence by a heuristic algorithm based on the carrying capacity information and the inventory unit list; the initial loading sequence is used to indicate a loading sequence between multiple types of goods; the initial loading scheme includes the initial loading sequence and an initial spatial coordinate of each of the goods in the container;
[0044] The second determination unit is used to take the initial loading plan as the current solution, search in the neighborhood of the current solution based on the carrying capacity information and the inventory unit list by a taboo search algorithm, adjust the loading sequence, and for each loading sequence, use the heuristic algorithm to determine the loading plan corresponding to each loading sequence, and determine the best loading plan from the multiple loading plans and the initial loading plan; the best loading plan includes the best loading sequence and the best spatial coordinates of each of the goods in the container.
[0045] In another aspect, an embodiment of the present application provides a computer device, the computer device comprising a processor and a memory:
[0046] The memory is used to store program code and transmit the program code to the processor;
[0047] The processor is configured to execute the method described above according to the instructions in the program code.
[0048] On the other hand, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium is used to store a computer program, and the computer program is used to execute the method described in the above aspects.
[0049] The embodiment of the present application provides a cargo packing method and related devices, S1, obtaining the carrying capacity information and inventory unit list of the container; the carrying capacity information includes the container size and the maximum payload, the inventory unit list includes multiple inventory units, each inventory unit includes parameter information and loading status information of a type of cargo; the loading status information includes the loaded quantity and the unloaded quantity; S2, based on the carrying capacity information and the inventory unit list, determining the initial loading scheme corresponding to the initial loading sequence through a heuristic algorithm; the initial loading sequence is used to indicate the loading order between multiple types of cargo; the initial loading scheme includes the initial loading sequence and the initial spatial coordinates of each cargo in the container; S3, taking the initial loading scheme as the current solution, searching in the neighborhood of the current solution through a taboo search algorithm, adjusting the loading sequence, for each loading sequence, using a heuristic algorithm to determine the loading scheme corresponding to each loading sequence, and determining the best loading scheme from multiple loading schemes and the initial loading scheme; the best loading scheme includes the best loading sequence and the best spatial coordinates of each cargo in the container.
[0050] In the embodiment of the present application, the initial loading plan is calculated by a heuristic algorithm, which can reduce the search space of the subsequent taboo search algorithm, thereby improving the calculation efficiency. During the calculation process of the taboo search algorithm, the loading sequence of the goods is continuously adjusted to determine the optimal loading plan. In addition, the use of the taboo search algorithm can avoid falling into the local optimal solution and improve the quality and search efficiency of the optimal packing plan. In short, the present application can quickly and accurately determine the optimal loading plan for the container, for example, it can ensure the maximum space utilization, without manual calculation, greatly improving the calculation efficiency and accuracy. BRIEF DESCRIPTION OF THE DRAWINGS
[0051] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0052] Figure 1 A schematic diagram of a flow chart of a cargo loading method provided in an embodiment of the present application is shown;
[0053] Figure 2 A schematic diagram showing a flow chart of another cargo loading method provided in an embodiment of the present application is shown;
[0054] Figure 3 A schematic diagram of determining an initial loading scheme provided by an embodiment of the present application is shown;
[0055] Figure 4 A schematic diagram of a space division provided in an embodiment of the present application is shown;
[0056] Figure 5 A top view of a space merger provided by an embodiment of the present application is shown;
[0057] Figure 6 A schematic diagram of the overall process of a cargo loading method provided by an embodiment of the present application is shown;
[0058] Figure 7 A structural block diagram of a cargo loading device provided in an embodiment of the present application;
[0059] Figure 8 A structural diagram of a computer device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0060] In order to make the above-mentioned objects, features and advantages of the present application more obvious and easy to understand, the specific implementation methods of the present application are described in detail below with reference to the accompanying drawings.
[0061] In the following description, many specific details are set forth to facilitate a full understanding of the present application, but the present application may also be implemented in other ways different from those described herein, and those skilled in the art may make similar generalizations without violating the connotation of the present application. Therefore, the present application is not limited to the specific embodiments disclosed below.
[0062] For ease of understanding, a cargo loading method and related devices provided in an embodiment of the present application are described in detail below in conjunction with the accompanying drawings.
[0063] refer to Figure 1 As shown, it is a schematic diagram of a flow chart of a cargo loading method provided in an embodiment of the present application, and the method may include the following steps.
[0064] S1, obtain the container's carrying capacity information and inventory unit list.
[0065] In an embodiment of the present application, the container has carrying capacity information, which can reflect the relevant restrictions when the container is loaded with goods. The carrying capacity information may include the container size and the maximum payload. The maximum payload is the maximum weight that the container can carry, and the container size can reflect the size restrictions on the goods when the container is loaded with goods.
[0066] The inventory unit list is a list of inventory units. The inventory unit list may include multiple inventory units. Each inventory unit includes parameter information and loading status information of a type of goods, that is, a type of goods can form an inventory unit. The inventory unit is used to manage the same type of goods, that is, to manage the loading status information of the goods. If there are N types of goods, there are N inventory units. In each inventory unit, the parameter information and loading status information of the goods of this type may be included. The parameter information is mainly static parameters of the goods, such as the type, size, weight and quantity of the goods. The loading status information is some parameter information of the goods of this type that changes during the loading process. The loading status information may include the loaded quantity and the unloaded quantity. That is, for each type of goods, the loading status information may record the loaded quantity and the unloaded quantity of the goods of this type.
[0067] S2, based on the container’s carrying capacity information and inventory unit list, determines the initial loading plan corresponding to the initial loading sequence through a heuristic algorithm.
[0068] Specifically, according to the carrying capacity information of the container and the inventory unit list recording the cargo information, a loading scheme, namely, an initial loading scheme, may be determined through a heuristic algorithm, and the initial loading scheme corresponds to an initial loading sequence.
[0069] The loading sequence can be understood as the order in which multiple types of goods are loaded, for example, first loading type A goods, then loading type B goods. For multiple types of goods, multiple loading sequences can be formed, and the initial loading sequence can be one of the multiple loading sequences, that is, the initial loading sequence is used to indicate the loading order between multiple types of goods.
[0070] The loading sequence represents the overall loading order in the entire container, and does not restrict all cargoes to be placed according to the loading sequence. That is, the cargo type that is first in the sequence is not necessarily all located in the innermost area of the container, and a small part of it may be located in the outermost surface area of the container.
[0071] The initial loading plan may include an initial loading sequence and the initial spatial coordinates of each cargo in the container, wherein the initial spatial coordinates of the cargo in the container may include the specific coordinates of the eight vertices of the cargo in the container, and the specific position of the cargo in the container may be reflected by the initial spatial coordinates. That is, the position of each cargo in the container under the initial loading sequence may be recorded in the initial loading plan.
[0072] S3, taking the initial loading plan as the current solution, searching in the neighborhood of the current solution through the taboo search algorithm, adjusting the loading sequence, for each loading sequence, using the heuristic algorithm to determine the loading plan corresponding to each loading sequence, and determining the best loading plan from multiple loading plans and the initial loading plan.
[0073] Specifically, in order to enable the container to load goods better, such as improving the space utilization of the container, reducing the center of gravity offset, etc., it is necessary to find more loading schemes and determine the best loading scheme from them. As an example, the best loading scheme is the loading scheme with the highest space utilization of the container, or it can be the loading scheme with the smallest center of gravity offset.
[0074] The initial loading scheme determined by the heuristic algorithm can be used as the current solution, and other solutions can be found near the current solution. The taboo search algorithm can be used to search in the neighborhood of the current solution, and the loading order of the goods (i.e., the loading sequence) is continuously adjusted during the search process. Under each loading sequence, loading is performed based on the container's carrying capacity information and the inventory unit list of the goods.
[0075] In other words, for each loading sequence, a heuristic algorithm needs to be used to calculate according to the carrying capacity information and the inventory unit list, so as to determine the corresponding loading plan under the loading sequence. Then, the best loading plan can be determined from multiple loading plans and the initial loading plan. As an example, the best loading plan can achieve the maximum utilization of the container space.
[0076] Specifically, the optimal loading plan may include an optimal loading sequence and the optimal spatial coordinates of each cargo in the container, that is, the optimal loading sequence between the cargoes and the specific position of each cargo in the container may be reflected in the optimal loading plan.
[0077] refer to Figure 2 As shown, a flow chart of another cargo loading method provided in an embodiment of the present application can generate a new loading plan by using a taboo search algorithm and a heuristic algorithm when the iteration stop condition is not met, and output the optimal loading plan when it is determined that the iteration stop condition is met.
[0078] In short, by calculating the initial loading plan through a heuristic algorithm, the search space of the subsequent taboo search algorithm can be reduced, thereby improving the calculation efficiency. During the calculation process of the taboo search algorithm, the optimal loading plan is determined by continuously adjusting the loading sequence of the goods. In addition, the use of the taboo search algorithm can avoid falling into the local optimal solution and improve the quality and search efficiency of the optimal packing plan. In short, the present application can quickly and accurately determine the optimal loading plan for the container, for example, it can ensure the maximum space utilization, without manual calculation, greatly improving the calculation efficiency and accuracy.
[0079] In a possible implementation, S2 may specifically include S201-S211, see Figure 3 As shown, it is a schematic diagram of determining an initial loading scheme provided in an embodiment of the present application.
[0080] S201, initialize the inventory unit list, the actual payload of the container and the available space set.
[0081] Specifically, each item in the inventory unit list can be initialized, for example, the loaded quantity and the unloaded quantity, and the actual payload, available space set, unavailable space set, and allocated space set of the container can be initialized. The actual payload can be the weight currently loaded in the container, and the actual payload increases as the cargo is continuously loaded. The available space set includes at least one available space, which can be understood as a usable space that can be loaded with cargo. In short, the available space is a space area inside the container that can accommodate at least one type of cargo.
[0082] It is understandable that when the cargo is initially loaded, the size of the actual payload is 0. The available space set includes an available space, which is the size of the container. In addition, the state information such as the unavailable space set and the allocated space set can also be cleared.
[0083] S202, based on the maximum payload and the actual payload, determine whether the remaining payload is greater than 0, determine whether the available space set is not empty, and whether there is an unloaded quantity greater than 0.
[0084] Specifically, the remaining payload is the weight of the remaining cargo that can be loaded in the container, that is, the difference between the maximum payload and the actual payload. The remaining payload can be calculated based on the maximum payload and the actual payload. It is determined whether the remaining payload is greater than 0, whether the available space set is not empty, and whether there is an unloaded quantity greater than 0.
[0085] S203: If yes, obtain an available space and initialize index i=0.
[0086] If the remaining payload is greater than 0, it means that the container can still carry some weight and can be loaded with goods. If the available space set is not empty, it means that there is still available space in the set and goods can be loaded in the available space. If the unloaded quantity of a certain type of goods is greater than 0, it means that there are still goods that have not been loaded.
[0087] If the remaining payload is greater than 0, the available space set is not empty, and the unloaded quantity is greater than 0, an available space can be obtained from the available space set, and the initial index is i = 0. When obtaining the available space, the smallest available space can be obtained first, and the cargo can be loaded from the smallest space. In this way, the small space is occupied first, and then the large space is filled, which can improve the space utilization to a certain extent.
[0088] S204, determining whether i is smaller than the length of the target loading sequence.
[0089] Specifically, the length of the target loading sequence is the total number of cargo types. For example, if the target loading sequence is type A, type B, and type C, then the length of the target loading sequence is 3. It can be determined whether i is less than the length of the target loading sequence.
[0090] S205, if yes, determine the target type corresponding to i in the target loading sequence, and execute S206; if no, move the available space from the available space set to the unavailable space set, and return to execute S202.
[0091] Specifically, if i is 0, it means that the cargo has just been loaded. According to the loading order represented by the target loading sequence, it corresponds to the first cargo type in the order. As i increases, it corresponds to the cargo type at the end of the target loading sequence. Assuming that the number of cargo types in the target loading sequence is N, that is, the length of the target loading sequence is N, when the last type of cargo is loaded, the corresponding i is N-1.
[0092] If i is less than the length of the target loading sequence, it means that the loading calculation is performed on the i+1th cargo type, and the inventory unit corresponding to i in the target loading sequence can be determined, in which the loading status information of the target type of cargo is recorded, that is, according to the first type in the sequence corresponding to i being 0, the calculation is performed in sequence to obtain the cargo type corresponding to i, that is, the target type, indicating the loading calculation status of the target type of cargo, and then continue to execute S206.
[0093] If i is greater than or equal to the length of the target loading sequence, it means that all types of goods in the target loading sequence have been calculated. For a certain available space, no matter what type of goods, they cannot be loaded in the available space. For example, if the available space is too small, it is necessary to move the available space from the available space set to the unavailable space set, and return to execute S202 to obtain the next available space for calculation. Unavailable space is the space that cannot be loaded with goods. In short, unavailable space is the space area that can no longer hold any type of goods. Unavailable space can be used for space merging to improve space utilization. When the first loading is initialized, the unavailable space set is empty.
[0094] S206, determining whether the unloaded quantity of the target cargo corresponding to the target type is not 0, and whether the remaining effective load is not less than the load of a single target cargo.
[0095] Specifically, the cargo corresponding to the target type can be recorded as the target cargo, and it can be determined whether the unloaded quantity of the target cargo is not 0, and whether the remaining payload of the current container is greater than or equal to the load of a single target cargo. Specifically, the target cargo can be managed using an inventory unit, that is, it can be determined whether the unloaded quantity of the inventory unit is not 0.
[0096] S207: If yes, generate a target loading unit.
[0097] Specifically, if the unloaded quantity of the inventory unit managing the target goods is not 0, it means that there are target goods that have not been fully loaded and the target goods can continue to be loaded. If the remaining payload is not less than the load of a single target goods, it means that from the perspective of the weight limit of the container, the container can still load at least one target goods. In short, through these two judgments, it can be determined from the perspectives of goods and containers whether the container can load at least one target goods.
[0098] If the unloaded quantity of the target cargo is greater than 0, and the remaining payload is not less than the load of a single target cargo, a target loading unit may be generated by comparing the size information of the cargo and the space, and the target loading unit may include at least one target cargo. If the target loading unit cannot be generated, S208 is executed to update the index.
[0099] The loading unit can be understood as a unit composed of at least one cargo of the same cargo type, that is, the loading unit includes at least one cargo. If it includes multiple cargoes, the multiple cargoes belong to the same cargo type. In short, one target cargo can be composed of a target loading unit, or multiple target cargoes can be composed of a target loading unit.
[0100] By grouping target goods into target loading units, loading and transportation can be facilitated. In this way, when moving large quantities of goods, by combining the same type of goods into loading units (i.e., "blocks"), great flexibility can be brought to the cargo handling. There is no need to carry each piece of cargo individually, and the same type of goods can be carried together, which can reduce loading and unloading and transportation costs.
[0101] In addition, parameter information of the goods, such as type, size and weight of individual goods, etc., can also be recorded in the loading unit. Information such as the number of rows, columns and layers of the goods that make up the block can also be recorded.
[0102] S208: Otherwise, update the index i=i+1, and return to execute S204.
[0103] Specifically, whether the unloaded quantity of the target cargo is not 0, and whether the remaining payload is not less than the load of a single target cargo, if one of these two conditions is not met, or both conditions are not met, it means that the container cannot be loaded with another target cargo because all the target cargo has been loaded or because the container cannot bear the weight of another target cargo.
[0104] At this time, the relevant loading calculation can be performed for the next type of goods in the target loading sequence, that is, the index needs to be updated to make i equal to i+1, and return to execute S204. In short, calculation needs to be performed for the next type of goods loading.
[0105] S209: Update the available space set based on the coordinates of the target loading unit and the coordinates of the available space.
[0106] If the target loading unit can be generated, the unfilled space can be divided out and the available space set can be updated based on the coordinates of the target loading unit in the three-dimensional space and the coordinates of the occupied available space in the three-dimensional space.
[0107] In addition, the status information of the actual payload of the container, the allocated space set, etc. can also be updated, and the status information of the corresponding inventory unit can be updated according to the quantity of goods in the loading unit. For example, the unloaded quantity of type A goods is updated from 20 units to 10 units.
[0108] refer to Figure 4 As shown, it is a schematic diagram of a space division provided in an embodiment of the present application. After the goods are put in, three new available spaces can be divided based on the coordinates, which are located to the right, in front and above the goods respectively.
[0109] In a possible implementation, S209, based on the coordinates of the loading unit and the coordinates of the available space, updating the available space set may specifically include determining the remaining space based on the coordinates of the loading unit and the coordinates of the available space; deleting the available space from the available space set, and adding the remaining space to the available space set.
[0110] Specifically, the position occupied by the loading unit can be added to the allocated space set, and the position occupied by the loading unit can be removed from the available space to obtain the remaining space. The remaining space is added to the available space set as a new available space, and the available space occupied by the goods can be deleted from the set, thereby improving the accuracy of each available space in the available space set.
[0111] S210: Determine whether the available space set is empty.
[0112] Specifically, after the available space set is updated, it may be determined whether the available space set is empty, so as to know whether there is available space to continue loading cargo.
[0113] S211, if yes, output the initial loading plan; if no, return to execute S202.
[0114] Specifically, if the available space set is empty, it means that there is no available space to load the goods, all available spaces have been calculated, and the initial loading plan can be output. If the available space set is not empty, it can continue to return to S202 and continue to obtain the next available space for loading related calculations.
[0115] In addition, the available space set and the unavailable space set together constitute the unallocated space set. The allocated space set includes multiple allocated spaces, which represent the space areas occupied by goods. These spaces will be used to track the spatial coordinates of the loading unit and then determine the placement and location of each cargo.
[0116] In a possible implementation, when loading goods, some goods may have some loading restrictions, and these restrictions need to be considered when generating a loading plan.
[0117] Specifically, the parameter information may include cargo loading restrictions, which refer to the restriction conditions when loading cargo. The cargo loading restrictions may include placement restrictions, which refer to the restrictions on the placement method. The placement method describes the relative position relationship between the length, width and height of the cargo and the length, width and height of the container. There are a maximum of 6 placement methods and a minimum of one.
[0118] In S207, a target loading unit is generated, which may specifically include S2071-S2073.
[0119] S2071, for each placement method allowed by the placement method restriction, determine the loading unit loaded in the available space based on the size of the available space, the carrying capacity information and the inventory unit list.
[0120] Specifically, the placement restriction may include at least one allowed placement of the goods. For each allowed placement, the loading units that can be loaded in the available space may be determined based on the size of the available space, the remaining payload of the container, and the inventory unit list of the goods.
[0121] The goods in the loading unit are stacked according to a placement method. For example, the placement method is that the length, width and height of the container are consistent with the length, width and height of the goods, and each of the goods in the loading unit is stacked according to this placement method.
[0122] S2072, taking the placement method corresponding to the maximum utilization of the available space as the target placement method.
[0123] For each placement method, the loading unit corresponding to the placement method is determined, and then the space utilization rate of the loading unit to the available space can be calculated based on the volume of the loading unit and the available space. For example, assuming that the volume of the available space is Z, the space utilization rate of loading unit M can be M / Z, and the space utilization rate of loading unit N can be N / Z. The placement method corresponding to the maximum space utilization of the available space can be used as the target placement method.
[0124] S2073, taking the loading units stacked in the target arrangement as the target loading units.
[0125] Specifically, the loading unit corresponding to the target placement method can be recorded as the target loading unit.
[0126] In short, by calculating the loading units formed by all allowable placement methods in the available space and selecting the target loading unit that maximizes space utilization, the utilization of container space can be improved, so that the container can be loaded with as much cargo as possible while meeting the loading restrictions, thereby achieving reasonable planning of the loaded cargo.
[0127] In addition, cargo loading restrictions may also include stacking layer restrictions. The stacking layer restriction is the maximum number of stacking layers allowed for this type of cargo, such as 3 layers. When determining the loading unit, it may also be determined based on the stacking layer restriction, so that the determined target loading unit can not only achieve maximum utilization of the container space, but also meet the cargo stacking layer restriction, and can be loaded based on the product characteristics of the cargo.
[0128] In a possible implementation, in S203, before obtaining an available space, S2031-S2033 may also be executed.
[0129] S2031, obtain an unavailable space set.
[0130] Specifically, a set of unavailable spaces may be obtained, where the unavailable spaces are spaces that cannot be loaded with cargo due to being too small or other factors.
[0131] S2032: When the target available space in the available space set is adjacent to the first unavailable space and the target available space and the first unavailable space are located in regular shapes, spatially merge the target available space and the first unavailable space to obtain the first available space.
[0132] Specifically, if there is an available space (i.e., a target available space) in the available space set, and the target available space is adjacent to an unavailable space (i.e., a first unavailable space), and if the shape of the area where the two are located is regular, such as a rectangular parallelepiped, then the two spaces can be merged into a larger available space, and the available space obtained after the merger is recorded as the first available space, which is also a new available space. Adjacent means that there is a common area between the two spaces, so that the two spaces can be combined into a larger space. As an example, the target available space can be the smallest available space. Of course, the size of the target available space is not specifically limited here.
[0133] Of course, if there is no unavailable space in the unavailable space set, the smallest available space can be used as the target available space for loading calculation.
[0134] S2033: Use the first available space in the available space set to replace the target available space, and delete the first unavailable space from the unavailable space set.
[0135] Specifically, after the space merging process is performed, the newly formed available space (i.e., the first available space) can be added to the available space set, and the target available space can be deleted from the available space set. In addition, the merged unavailable space (i.e., the first unavailable space) also needs to be deleted from the unavailable space set.
[0136] In short, by carrying out space merging processing, it is possible to fully utilize the unavailable space and combine it into a larger available space, thereby further improving the space utilization rate of the container.
[0137] In a possible implementation, in S203, before obtaining the available space, the method further includes S2034-S2036.
[0138] S2034, obtain the unavailable space set.
[0139] Among them, this step is the same as the aforementioned step S2031 and will not be repeated here.
[0140] S2035: When the target available space in the available space set is adjacent to the first unavailable space and the regions where the target available space and the first unavailable space are located have irregular shapes, spatially merge the target available space and the first unavailable space to obtain a second available space and at least one second unavailable space.
[0141] At this time, if the shapes of the areas where the two spaces (i.e., the target available space and the first unavailable space) are located are irregular, since the shapes of the goods are generally regular, in order to facilitate the loading of goods, the irregularly shaped areas can be processed through spatial merging to obtain new spaces with regular shapes, i.e., (the second available space and the second unavailable space).
[0142] The second available space is a new available space obtained by merging, and the second unavailable space is a new unavailable space obtained by merging. The second available space may be one or more, and the second unavailable space may be one or more.
[0143] In other words, when the target available space and an unavailable space (i.e., the first unavailable space) are merged, if the area where the two are located is irregular in shape, the area can be divided into a new available space with a regular shape (i.e., the second available space) and at least one unavailable space (the second unavailable space).
[0144] S2036: Use the second available space in the available space set to replace the target available space, and use the second unavailable space in the unavailable space set to replace the first unavailable space.
[0145] Specifically, the target available space is replaced by the new available space (ie, the second available space) in the available space set, and the original unavailable space (ie, the first unavailable space) is replaced by all the new unavailable space (ie, the second unavailable space) in the unavailable space set.
[0146] Specifically, in order to make the shape of the available space more regular, if the shape of the combined area is irregular, considering that the goods are generally regular rectangular structures, the area can be divided into a new available space with a regular shape and multiple unavailable spaces, and the new available space is added to the available space set, and the target available space is deleted from it.
[0147] As an example, when the minimum available space in the available space set is adjacent to the unavailable space, the area where they are located can be re-divided and merged; the minimum available space and part of the unavailable space are merged into a larger target available space, and the remaining area is divided into multiple smaller unavailable spaces.
[0148] refer to Figure 5 As shown, it is a top view of a space merger provided by an embodiment of the present application. Figure 5 This is a two-dimensional top view, so the coordinates of each vertex on the z-axis are not shown here, only the coordinates of the vertex on the x-axis and y-axis are shown. Then, the four vertex coordinates of the unavailable space are (x0', y0'), (x', y0'), (x0', y') and (x', y'), which is the rectangular area on the left. The four vertex coordinates of the target available space are (x0, y0), (x, y0), (x0, y) and (x, y), which is the rectangular area on the right. When x0 and x' are equal, the space can be merged. The vertex coordinates of the new available space after the space merger are (x0', y0), (x, y0), (x0', y) and (x, y), and then it is divided into two regular shaped unavailable spaces, whose vertex coordinates are (x0', y0'), (x0', y0), (x', y0') and (x', y0), and (x0', y), (x0', y'), (x', y) and (x', y'), which are the three shaded areas in the reference figure.
[0149] In short, by combining and dividing adjacent available spaces and unavailable spaces, new available spaces and unavailable spaces with regular shapes are obtained, which can facilitate cargo loading and improve space utilization. Of course, if the smaller regular available spaces cannot load cargo, they will be placed in the unavailable space set.
[0150] refer to Figure 6As shown, it is a schematic diagram of the overall process of a cargo loading method provided by an embodiment of the present application. Initialize the inventory unit list, actual payload, available space set, unavailable space set, allocated space set and loading sequence corresponding to the inventory unit list. Determine whether there are incompletely loaded inventory units in the inventory unit list, whether the available space set is empty, and whether the remaining payload of the container is greater than 0. After the judgment is completed, obtain the next space of the container (i.e., an available space), initialize the index i to 0, obtain the current index and the loading sequence of the inventory unit list, if i is less than the length of the sequence, determine the inventory unit corresponding to i from the inventory unit list, when the unloaded quantity of the current inventory unit is not 0, and the current container The remaining payload is not less than the load of a single cargo, the current inventory unit assembles a candidate block set in the current available space. If the candidate block set is not empty, it means that it has been formed into a block, and select the best block to be placed in the available space, update the unloaded quantity of the inventory unit, the actual payload of the current container, the available space set, the unavailable space set and the allocated space set, and determine whether the available space set is empty. If it is not empty, obtain the next space.
[0151] For example, the target loading sequence is type A, type B and type C. According to the space from small to large, the first available space taken out is R1, and i is initialized to 0. At this time, the inventory unit is type A goods. If the unloaded quantity of type A is 0, or the remaining effective load is less than the cargo load of type A, it means that type A goods cannot be loaded, and the index needs to be updated. At this time, i is 1. At this time, the inventory unit is type B goods. If type B goods can be loaded, the best block is formed, and the next available space R2 is obtained. At this time, i is 1, which is less than the length of the sequence 3, and then it is continued to determine whether the space can load type B goods.
[0152] If i is not less than the length of the sequence, it means that the space cannot load any kind of cargo. It is necessary to determine whether the space belongs to the available space set. If so, move it to the unavailable space set and take the next space. In addition, if the available space set is empty, it means that all available spaces have been calculated, and the current space does not belong to the available space set (it is empty at this time). Then return to judge the three conditions and output the initial loading plan.
[0153] In a possible implementation, step S3 may specifically include S301-S305.
[0154] S301, during the j-th iteration, determine the current solution.
[0155] During the search process of the taboo search algorithm, multiple iterations can be performed. In each iteration, a current solution needs to be determined. When j is 1, that is, the first iteration, the initial loading plan can be used as the current solution. When j is greater than 1, the current solution is the candidate solution with the best evaluation value in the candidate solution set.
[0156] The evaluation value may be calculated based on an evaluation function, and each candidate solution in the candidate solution set is evaluated by the evaluation function to calculate the evaluation value.
[0157] The evaluation function may be used to evaluate the volume utilization of the container space, or to evaluate the center of gravity offset, where the center of gravity offset can be understood as the offset between the geometric center of gravity of the container when empty and the center of gravity of the container when loaded with goods. The evaluation function may also be used to evaluate the total value of the goods. As an example, the evaluation function may be the maximum volume utilization, the minimum center of gravity offset, the highest total value of the goods, etc., or their weighted average.
[0158] In addition, during the first iteration, before determining the current solution, some parameters can be preset, such as the maximum time the algorithm runs, the maximum number of iterations allowed, the evaluation function, the neighborhood solution generation strategy, the number of candidate solutions, the length of the taboo table, and other parameters, and the taboo table can be initialized.
[0159] S302, determining whether the current solution is better than the optimal solution, and if so, using the current solution to update the optimal solution.
[0160] If the current solution is better than the optimal solution, the optimal solution is updated and the current solution is used as the new optimal solution so that the optimal loading plan can be determined based on the optimal solution in the future. The optimal solution can be the solution with the best quality determined in the previous j-1 iterations.
[0161] S303, according to the neighborhood solution generation strategy, searching in the neighborhood of the current solution by means of a taboo search algorithm, adjusting the loading sequence, and determining multiple neighborhood solutions by means of a heuristic algorithm based on the adjusted loading sequence.
[0162] Among them, the neighborhood generation strategy can be a strategy for generating a neighborhood solution in the neighborhood of the current solution, which can be achieved by randomly exchanging at least two elements in the loading sequence. For example, the existing loading sequence is to first load type A, then type B, and finally type C goods. Then the neighborhood generation strategy can be to exchange type A and type B, that is, the new loading sequence is to first load type B, then type A, and finally type C goods.
[0163] According to the neighborhood solution generation strategy, the taboo search algorithm can be used to search in the neighborhood of the current solution to adjust the loading sequence. For each adjusted loading sequence, a heuristic algorithm is used to determine the corresponding multiple neighborhood solutions. In short, according to the neighborhood solution generation strategy, several neighborhood solutions are generated in the neighborhood of the current solution.
[0164] S304, adding the neighborhood solutions that are not prohibited by the taboo table to the candidate solution set. Specifically, the taboo table can record the taboo items that have been searched, and the taboo items are the exchanged element pairs. Since the exchanged element pairs are in a corresponding relationship with the neighborhood solutions, if the element pair corresponding to a neighborhood solution is in the taboo table, it means that the neighborhood solution has been searched before, and there is no need to repeat the calculation. Therefore, the neighborhood solutions that are not prohibited by the taboo table can be added to the candidate solution set, and the solutions in the candidate solution set are recorded as candidate solutions, that is, the candidate solution set includes multiple candidate solutions.
[0165] In addition, the taboo items corresponding to the candidate solutions can be added to the taboo table to mark that these candidate solutions have been searched in this iteration. If the taboo table is full, the earliest added taboo item will be removed.
[0166] In addition, a quantity limit may be set for the candidate solutions in the candidate solution set, or no limit may be set. When a quantity limit is set, the size of the candidate solution set may be dynamically managed according to the set candidate solution quantity limit. When the number of candidate solutions in the candidate solution set exceeds the limit, the worst solution may be deleted based on the ranking result of the evaluation function to ensure the validity and representativeness of the candidate solution set.
[0167] S305, determining whether the iteration stop condition is satisfied, if not, repeating the process, if so, taking the optimal solution as the best loading solution.
[0168] Specifically, it can be determined whether the iteration stop condition is met. If not, the process returns to step S301 and is repeated. If the iteration stop condition is met, the optimal solution is output as the optimal loading solution.
[0169] In addition, the optimal solution can be output in the form of data and graphics, including the order and location of the goods, the space utilization of the container, etc. The iteration stop condition can be reaching the maximum number of iterations, or the quality of the solution is no longer improved.
[0170] The tabu search algorithm can avoid repeated searches for known local optimal solutions, thereby improving search efficiency and further shortening the time to find the optimal solution. By using the tabu search algorithm to generate the best packing solution, repeated searches can be avoided and it helps to jump out of the local optimal solution, thereby improving the quality of the best packing solution and search efficiency.
[0171] In summary, this application fully considers the space dimensions and load-bearing limitations of containers and the constraints of product size, weight, product orientation, and number of stacking layers. It can automatically determine the optimal placement and orientation of goods in the container, thereby achieving the goal of maximizing space utilization, ensuring transportation safety, and reducing transportation costs. It can also provide a three-dimensional visualization interface to provide scientific guidance for packing.
[0172] Based on the above cargo loading method, the present application embodiment also provides a cargo loading device, referring to Figure 7 As shown, it is a structural block diagram of a cargo loading device provided in an embodiment of the present application, and the device may include:
[0173] The acquisition unit 201 is used to acquire the carrying capacity information and inventory unit list of the container; the carrying capacity information includes the container size and the maximum payload; the inventory unit list includes a plurality of inventory units, each of which includes parameter information and loading status information of a type of goods; the loading status information includes the loaded quantity and the unloaded quantity;
[0174] A first determining unit 202 is configured to determine an initial loading scheme corresponding to an initial loading sequence by a heuristic algorithm based on the carrying capacity information and the inventory unit list; the initial loading sequence is used to indicate a loading sequence between multiple types of goods; the initial loading scheme includes the initial loading sequence and the initial spatial coordinates of each of the goods in the container;
[0175] The second determination unit 203 is used to take the initial loading plan as the current solution, search in the neighborhood of the current solution based on the carrying capacity information and the inventory unit list by a taboo search algorithm, adjust the loading sequence, and for each loading sequence, use the heuristic algorithm to determine the loading plan corresponding to each loading sequence, and determine the best loading plan from the multiple loading plans and the initial loading plan; the best loading plan includes the best loading sequence and the best spatial coordinates of each of the goods in the container.
[0176] Optionally, the first determining unit is used to:
[0177] S201, initializing the inventory unit list, the actual payload of the container and the available space set; the available space set includes at least one available space;
[0178] S202, based on the maximum payload and the actual payload, determining whether the remaining payload is greater than 0, determining whether the available space set is not empty, and whether there is an unloaded quantity greater than 0;
[0179] S203, if yes, obtain one of the available spaces and initialize the index i=0;
[0180] S204, determining whether i is less than the length of the target loading sequence;
[0181] S205, if yes, determine the target type corresponding to the i in the target loading sequence, and execute S206; if no, move the available space from the available space set to the unavailable space set, and return to execute S202;
[0182] S206, determining whether the unloaded quantity of the target cargo corresponding to the target type is not 0, and whether the remaining effective load is not less than the load of a single target cargo;
[0183] S207, if yes, then generate a target loading unit; the target loading unit includes at least one target cargo;
[0184] S208, otherwise, update the index i=i+1, and return to execute S204;
[0185] S209, updating the available space set based on the coordinates of the loading unit and the coordinates of the available space;
[0186] S210, determining whether the available space set is empty;
[0187] S211, if yes, output the initial loading plan; if no, return to execute S202.
[0188] Optionally, the parameter information includes cargo loading restrictions, and the cargo loading restrictions include placement restrictions; and the first determining unit is used to:
[0189] For each placement mode allowed by the placement mode restriction, based on the size of the available space, the carrying capacity information and the inventory unit list, determining a loading unit loaded in the available space; the goods in the loading unit are stacked according to the placement mode;
[0190] The placement mode corresponding to the maximum space utilization of the available space is used as the target placement mode;
[0191] The loading units stacked according to the target placement manner are used as the target loading units.
[0192] Optionally, the first determining unit is used to:
[0193] Get the unavailable space collection;
[0194] When a target available space in the available space set is adjacent to a first unavailable space, and the target available space and the first unavailable space are located in regular shapes, spatially merging the target available space and the first unavailable space to obtain a first available space;
[0195] The target available space is replaced by the first available space in the available space set, and the first unavailable space is deleted from the unavailable space set.
[0196] Optionally, the first determining unit is used to:
[0197] Get the unavailable space collection;
[0198] When a target available space in the available space set is adjacent to a first unavailable space, and the target available space and the first unavailable space are located in irregular shapes, spatially merging the target available space and the first unavailable space to obtain a second available space and at least one second unavailable space;
[0199] The target available space is replaced by the second available space in the available space set, and the first unavailable space is replaced by the second unavailable space in the unavailable space set.
[0200] Optionally, the first determining unit is used to:
[0201] determining a remaining space based on the coordinates of the loading unit and the coordinates of the available space;
[0202] The available space is deleted from the available space set, and the remaining space is added to the available space set.
[0203] Optionally, the second determining unit is used to:
[0204] In the jth iteration process, the current solution is determined; when j is 1, the initial loading solution is the current solution, and when j is greater than 1, the current solution is the candidate solution with the best evaluation value in the candidate solution set;
[0205] Determine whether the current solution is better than the optimal solution, and if so, use the current solution to update the optimal solution;
[0206] According to the neighborhood solution generation strategy, searching in the neighborhood of the current solution by means of a taboo search algorithm, adjusting the loading sequence, and determining a plurality of neighborhood solutions by means of the heuristic algorithm based on the adjusted loading sequence;
[0207] Adding a neighborhood solution that is not prohibited by the taboo table to a candidate solution set; the candidate solution set includes multiple candidate solutions;
[0208] Determine whether the iteration stop condition is met, if not, repeat the execution, if so, use the optimal solution as the best loading solution.
[0209] In another aspect, the present application provides a computer device, referring to Figure 8 , which is a structural diagram of a computer device provided in an embodiment of the present application, wherein the computer device includes a processor 310 and a memory 320:
[0210] The memory 320 is used to store program codes and transmit the program codes to the processor 310;
[0211] The processor 310 is used to execute the method provided in the above embodiment according to the instructions in the program code.
[0212] The computer device may include a terminal device or a server, and the aforementioned apparatus may be configured in the computer device.
[0213] On the other hand, an embodiment of the present application further provides a storage medium, wherein the storage medium is used to store a computer program, and the computer program is used to execute the method provided by the above embodiment.
[0214] A person skilled in the art can understand that all or part of the steps of implementing the above method embodiment can be completed by program instruction hardware, and the above program can be stored in a computer-readable storage medium. When the program is executed, it executes the steps of the above method embodiment; and the above storage medium can be at least one of the following media: read-only memory (English: Read-only Memory, abbreviated: ROM), RAM, magnetic disk or optical disk, etc. Various media that can store program codes.
[0215] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0216] The above is only a preferred implementation of the present application. Although the present application has been disclosed as a preferred embodiment, it is not intended to limit the present application. Any technician familiar with the art can use the above disclosed methods and technical contents to make many possible changes and modifications to the technical solution of the present application without departing from the scope of the technical solution of the present application, or modify it into an equivalent embodiment of equivalent changes. Therefore, any simple modification, equivalent change and modification made to the above embodiments based on the technical essence of the present application without departing from the content of the technical solution of the present application still falls within the scope of protection of the technical solution of the present application.
Claims
1. A cargo loading method, characterized in that: include: S1, obtain the container's carrying capacity information and inventory unit list; The carrying capacity information includes container size and maximum payload, the inventory unit list includes a plurality of inventory units, each of the inventory units includes parameter information and loading status information of a type of cargo; the loading status information includes loaded quantity and unloaded quantity; S2, based on the carrying capacity information and the inventory unit list, determining an initial loading scheme corresponding to an initial loading sequence by a heuristic algorithm; the initial loading sequence is used to indicate the loading order between multiple types of goods; the initial loading scheme includes the initial loading sequence and the initial spatial coordinates of each of the goods in the container; S3, taking the initial loading plan as the current solution, searching in the neighborhood of the current solution by means of a taboo search algorithm, adjusting the loading sequence, and for each loading sequence, determining the loading plan corresponding to each loading sequence by means of the heuristic algorithm, and determining the best loading plan from among the multiple loading plans and the initial loading plan; the best loading plan includes the best loading sequence and the best spatial coordinates of each of the cargoes in the container.
2. The method according to claim 1, characterized in that The S2 includes: S201, initializing the inventory unit list, the actual payload of the container and the available space set; the available space set includes at least one available space; S202, based on the maximum payload and the actual payload, determining whether the remaining payload is greater than 0, determining whether the available space set is not empty, and whether there is an unloaded quantity greater than 0; S203, if yes, obtain one of the available spaces and initialize the index i=0; S204, determining whether i is less than the length of the target loading sequence; S205, if yes, determine the target type corresponding to the i in the target loading sequence, and execute S206; if no, move the available space from the available space set to the unavailable space set, and return to execute S202; S206, determining whether the unloaded quantity of the target cargo corresponding to the target type is not 0, and whether the remaining effective load is not less than the load of a single target cargo; S207, if yes, then generate a target loading unit; the target loading unit includes at least one target cargo; S208, otherwise, update the index i=i+1, and return to execute S204; S209, updating the available space set based on the coordinates of the loading unit and the coordinates of the available space; S210, determining whether the available space set is empty; S211, if yes, output the initial loading plan; if no, return to execute S202.
3. The method according to claim 2, characterized in that The parameter information includes cargo loading restrictions, and the cargo loading restrictions include placement restrictions; in S207, generating a target loading unit includes: For each placement mode allowed by the placement mode restriction, based on the size of the available space, the carrying capacity information and the inventory unit list, determining a loading unit loaded in the available space; the goods in the loading unit are stacked according to the placement mode; The placement mode corresponding to the maximum space utilization of the available space is used as the target placement mode; The loading units stacked according to the target placement manner are used as the target loading units.
4. The method according to claim 2, characterized in that: In S203, before obtaining the available space, the method further includes: Get the unavailable space collection; When a target available space in the available space set is adjacent to a first unavailable space, and the target available space and the first unavailable space are located in regular shapes, spatially merging the target available space and the first unavailable space to obtain a first available space; The target available space is replaced by the first available space in the available space set, and the first unavailable space is deleted from the unavailable space set.
5. The method according to claim 2, characterized in that: In S203, before obtaining the available space, the method further includes: Get the unavailable space collection; When a target available space in the available space set is adjacent to a first unavailable space, and the target available space and the first unavailable space are located in irregular shapes, spatially merging the target available space and the first unavailable space to obtain a second available space and at least one second unavailable space; The target available space is replaced by the second available space in the available space set, and the first unavailable space is replaced by the second unavailable space in the unavailable space set.
6. The method according to claim 2, characterized in that The step S209, updating the set of available spaces based on the coordinates of the loading unit and the coordinates of the available spaces, includes: determining a remaining space based on the coordinates of the loading unit and the coordinates of the available space; The available space is deleted from the available space set, and the remaining space is added to the available space set.
7. The method according to claim 1, characterized in that The S3 includes: In the jth iteration process, the current solution is determined; when j is 1, the initial loading solution is the current solution, and when j is greater than 1, the current solution is the candidate solution with the best evaluation value in the candidate solution set; Determine whether the current solution is better than the optimal solution, and if so, use the current solution to update the optimal solution; According to the neighborhood solution generation strategy, searching in the neighborhood of the current solution by means of a taboo search algorithm, adjusting the loading sequence, and determining a plurality of neighborhood solutions by means of the heuristic algorithm based on the adjusted loading sequence; Adding a neighborhood solution that is not prohibited by the taboo table to a candidate solution set; the candidate solution set includes multiple candidate solutions; Determine whether the iteration stop condition is met, if not, repeat the execution, if so, use the optimal solution as the best loading solution.
8. A cargo loading device, characterized in that: include: Get unit, used to get the container's carrying capacity information and inventory unit list; The carrying capacity information includes container size and maximum payload, the inventory unit list includes a plurality of inventory units, each of the inventory units includes parameter information and loading status information of a type of cargo; the loading status information includes loaded quantity and unloaded quantity; A first determining unit is configured to determine an initial loading scheme corresponding to an initial loading sequence by a heuristic algorithm based on the carrying capacity information and the inventory unit list; the initial loading sequence is used to indicate a loading sequence between multiple types of goods; the initial loading scheme includes the initial loading sequence and an initial spatial coordinate of each of the goods in the container; The second determination unit is used to take the initial loading plan as the current solution, search in the neighborhood of the current solution by means of a taboo search algorithm, adjust the loading sequence, and for each loading sequence, determine the loading plan corresponding to each loading sequence by means of the heuristic algorithm, and determine the best loading plan from among the multiple loading plans and the initial loading plan; the best loading plan includes the best loading sequence and the best spatial coordinates of each of the goods in the container.
9. A computer device, characterized in that: The computer device comprises a processor and a memory: The memory is used to store program code and transmit the program code to the processor; The processor is configured to execute the method according to any one of claims 1 to 7 according to the instructions in the program code.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium is used to store a computer program, and the computer program is used to execute the method according to any one of claims 1 to 7.