A modular container packing method in PI scenario based on adaptive hybrid genetic algorithm
By applying adaptive hybrid genetic simulation annealing algorithm and improved three-space segmentation heuristic loading algorithm in PI scenarios, the existing three-dimensional packing method has been solved in terms of constraints, efficiency and accuracy, and efficient modular container packing is achieved.
Patent Information
- Application Number
- CN202211069761.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-02
- Publication Date
- 2025-03-25
- Estimated Expiration
- 2042-09-02
AI Technical Summary
The existing three-dimensional packing method cannot fully meet the constraints, efficiency and accuracy requirements in PI scenarios.
A modular container boxing method based on adaptive hybrid genetic simulation annealing algorithm is adopted, and an improved three-space segmentation heuristic loading algorithm is combined with an optimized boxing solution.
Improves the efficiency and accuracy of modular container packing, can effectively solve multiple practical constraints, and achieve the goal of complete filling.
Smart Images

Figure CN115455816B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of article packing, and in particular to a three-dimensional intelligent packing method for standardized modular containers based on an adaptive hybrid genetic simulated annealing algorithm designed in an open logistics scenario of Physical Internet (PI). Background Art
[0002] In order to ensure the global sustainability of the flow, storage, realization, supply and use of physical entities, Professor Benoit Montreuil of Georgia Institute of Technology, inspired by the development of the Internet industry, has pioneered the theory of building a new generation of logistics system, Physical Internet (PI or π, translated as "physical Internet"). PI physical Internet is a future open global logistics system that is thought and designed from the top level. It is committed to applying the idea of DI (Digital Internet) to logistics, and through a set of standardized collaborative protocols, modular containers and intelligent interfaces, it will realize an efficient, sustainable, resilient, adaptable and interconnected logistics network worldwide. PI is an open global logistics system based on physical, digital and operational interconnection through encapsulation, interfaces and protocols. The whole set of PI concepts condenses standardization, leanness, digitization and intelligence into a complete network system. Its disruptive innovation can promote the leapfrog development of smart logistics.
[0003] The modular container in the PI scenario is one of the four key components of PI, called π-container. In order to alleviate the problems related to the diversity of boxes and containers in current logistics, π-containers are divided into three categories: packaging containers (P-containers), handling containers (H-containers), and transport containers (T-containers). Packaging containers are relatively small in size and are used to directly package items and encapsulate the specific contents of items; handling containers are of moderate size and are used to move, transport, and temporarily store a group of packaging containers to facilitate related logistics operations; transport containers are of the largest size and are carried by large vehicles, ships, transport aircraft, etc., and are used to transport a large number of handling containers and transport containers across cities, countries, and continents. The modularity of π-containers enables multiple smaller containers (packaging containers or handling containers) to be combined into a combined block, the size of which is completely matched with the internal space size of a larger container (handling container or transport container or carriage, or just a standard size space, such as the unit load required for pallet handling), thereby improving the storage and processing efficiency of the entire supply chain.
[0004] Pi containers are a key element of the interoperability necessary to achieve PI operation. Mimicking the data packets that are efficiently routed in the DI network, Pi containers are designed to be globally standardized, smart, green, and modular, which enable Pi containers to be efficiently moved, processed, stored, and transported through the open global logistics infrastructure built for the PI network. PI does not directly manipulate the items themselves, but encapsulates the items in packaging containers, hiding the specific contents of the items it ships from the logistics network and retaining only the key information required for logistics. In PI, the packaging containers that encapsulate the items are similar to the data packets in DI, and these key information are equivalent to the headers of the data packets. Ideally, all Pi containers are globally modularized and standardized in terms of size, function, and fixtures to share transportation and distribution resources. The use of Pi containers is considered one of the thirteen important features of PI implementation. Standardized modularization of item packaging, handling, and shipping containers has potential benefits from transportation, material handling, and environmental perspectives. In order to support the implementation of standard modular containers and advance the research and implementation of PI, it is imperative to design modular container packing methods suitable for PI scenarios.
[0005] Corresponding to the digital Internet, PI can be regarded as a logistics network, which uses π-nodes (intelligent interfaces such as logistics hubs and warehouses) and π-protocols to handle, transport, and store π containers to complete logistics services. Therefore, modular container packing in the PI scenario mainly involves the combination, stacking, and loading of π containers at π nodes. Due to the seamless interconnection at the information level, the information of the π containers carrying the physical objects that will arrive within a period of time can be obtained before the objects arrive. Therefore, it can be modeled as a three-dimensional offline packing problem of multi-box strongly heterogeneous modular containers considering multiple practical constraints, including volume, mass, center of gravity, stacking, and rotation. Other practical constraints such as conflict restrictions on grouping before packing (according to the destination address or route planning) have been considered. However, the existing three-dimensional packing methods cannot fully meet the requirements in terms of constraints, efficiency, and accuracy. Summary of the invention
[0006] In view of this, one of the purposes of the present invention is to provide a modular container packing method in a PI scenario based on an adaptive hybrid genetic algorithm, so as to solve the problem that the existing three-dimensional packing method cannot meet the requirements in terms of constraints, efficiency, accuracy, etc.
[0007] One of the purposes of the present invention is achieved through the following technical solutions:
[0008] A modular container packing method in a PI scenario based on an adaptive hybrid genetic algorithm, the method comprising:
[0009] Step S1: Obtain the parameters of cargo and container.
[0010] Step S2: setting the parameters of the adaptive hybrid genetic simulated annealing algorithm, including population size, maximum and minimum crossover rate and mutation rate, maximum number of iterations, initial temperature, termination temperature, and cooling coefficient;
[0011] Step S3: Generate an initial solution based on the basic rules and random rules according to the cargo and container information, use the improved three-space segmentation heuristic loading algorithm to generate a loading plan, calculate the fitness value, select the initial population according to the fitness value, and record the individual with the best fitness value;
[0012] Step S4: copy the elite solution according to the elite retention strategy;
[0013] Step S5: performing selection, crossover, and mutation operations of the genetic algorithm, using the improved three-space segmentation heuristic loading algorithm to generate a loading plan, and calculating the fitness value of the new chromosome;
[0014] Step S6: performing simulated annealing operation to cool down;
[0015] Step S7: retain the elite solution according to the elite retention strategy, generate a new generation of population, and record the individual with the best fitness value;
[0016] Step S8: Return to step S4 and execute in a loop until the termination condition is met, output the best loading plan, and draw a three-dimensional graph of the best plan.
[0017] Further, in step S3, the improved three-space segmentation heuristic loading algorithm includes the following steps:
[0018] Step S31: importing container and cargo information;
[0019] Step S32: Initializing the space, wherein one container of each type is initially selected;
[0020] Step S33: decoding the chromosome information to obtain a cargo loading sequence list, and sequentially reading an unloaded cargo as the current cargo for loading;
[0021] Step S34: decoding the chromosome information to obtain the placement method specified for the current goods, and updating the goods information accordingly;
[0022] Step S35: Decode the chromosome information to obtain the container type specified for the current cargo, and determine whether the cargo weight and size exceed the limit of the container. If not, proceed to the next step; if not, put the current cargo into the unloaded cargo list, and return to step S33 to continue the next cycle;
[0023] Step S36: Search whether there is enough remaining space in the specified type of container to load the goods. If not, select the next specified type of container. If the number of containers is limited, the default number is unlimited. It is also necessary to ensure that there are remaining containers. If there are, proceed to the next step. If not, the current goods are placed in the list of unloaded goods, and return to step S33 to continue the next cycle.
[0024] Step S37: placing the cargo to be loaded, dividing the space, and merging the space in the searched remaining space;
[0025] Step S38: Determine whether the cargo has been loaded. If so, end loading. If not, return to step S53 to continue the next cycle.
[0026] Furthermore, in step S36, the specific steps of searching for the remaining space are as follows:
[0027] Step S361: traverse the remaining space of the container in order, and first fill the previous container. If there is no space left, search for the remaining space of the next container.
[0028] Step S362: sort the remaining spaces of the same container in ascending order of z, y, and x coordinates;
[0029] Step S363: For each remaining space of the same container, on the premise that the goods can be loaded, the goods are loaded by classifying them into different loading priority categories.
[0030] Furthermore, the loading priority of each space is set as follows: the first priority is that the length, width and height of the space are respectively equal to the length, width and height of the goods, and the size of the space and the goods are completely matched; the second priority is that the length of the space is equal to the length of the goods and / or the width of the space is equal to the width of the goods and / or the height of the space is equal to the height of the goods, and at the same time, it is assumed that no unusable waste space will be generated after the current goods are placed in the current space, and it is ensured that the length of the space minus the length, width and height of the goods is still greater than the shortest side length of all the goods to be loaded; the third priority is that the length, width and height of the space are respectively integer multiples of the length, width and height of the goods, and the length, width and height of the space are divided by the length, width and height of the goods, and the remainders are all 0; the fourth priority is that no unusable waste space will be generated after the current goods are placed in the current space; the space with the lowest priority has no other constraints, and it is only necessary to ensure that the goods can be loaded.
[0031] A second object of the present invention is to provide a computer device, comprising a memory, a processor, and a computer program stored in the memory and capable of running on the processor, wherein the processor implements the method described above when executing the computer program.
[0032] A third object of the present invention is to provide a computer-readable storage medium having a computer program stored thereon, wherein the computer program implements the method described above when executed by a processor.
[0033] The beneficial effects of the present invention are as follows: for the modular container packing problem in the PI scenario, the present invention converts it into a three-dimensional offline packing problem of multi-box strongly heterogeneous modular containers considering multiple practical constraints through modeling; for the three-dimensional packing problem of multiple box types and multiple constraints, a multi-box three-dimensional packing method based on an adaptive hybrid genetic simulated annealing algorithm is proposed, and an adaptive hybrid genetic simulated annealing algorithm is used to find a better solution in a huge solution space; for the packing of modular-sized rectangular goods, an improved three-space segmentation heuristic loading algorithm is proposed, and on the premise of ensuring that the goods are fully supported, the optimal space is selected according to a customized strategy to load the goods, so as to achieve the goal of complete filling; the method proposed in the present invention has an outstanding effect on the packing of modular-sized rectangular goods, and is also compatible with the packing of heterogeneous rectangular goods of general sizes, and has excellent implementation effect, which solves the problem that the existing three-dimensional packing method cannot fully meet the actual needs in terms of constraints, efficiency, accuracy, etc.
[0034] Other advantages, objectives and features of the present invention will be described in the following description to some extent, and to some extent, will be obvious to those skilled in the art based on the following examination and study, or can be taught from the practice of the present invention. The objectives and other advantages of the present invention can be realized and obtained through the following description and the preceding claims. BRIEF DESCRIPTION OF THE DRAWINGS
[0035] In order to make the purpose, technical solutions and advantages of the present invention more clear, the present invention will be further described in detail below with reference to the accompanying drawings, in which:
[0036] Figure 1 It is the overall flow chart;
[0037] Figure 2 It is a schematic diagram of the coordinate system;
[0038] Figure 3 It is a schematic diagram of how the goods are placed;
[0039] Figure 4 It is a schematic diagram of the division of the remaining space in the container;
[0040] Figure 5 It is a schematic diagram of the remaining space in the container;
[0041] Figure 6 It is the flow chart of the improved three-space partitioning heuristic loading algorithm.
[0042] Figure 7Search flowchart for remaining space. DETAILED DESCRIPTION
[0043] The preferred embodiments of the present invention will be described in detail below with reference to the accompanying drawings. It should be understood that the preferred embodiments are only for illustrating the present invention, rather than for limiting the protection scope of the present invention.
[0044] In the description of the present invention, it is agreed that the container waiting to be packed may be a packaging container with packaged items, or it may be a transport container in which multiple smaller containers are nested, hereinafter referred to as goods; and the transport container or transport container or carriage or standard size space waiting to be filled is hereinafter referred to as a container.
[0045] like Figure 1 As shown, the present invention provides a modular container packing method in a PI scenario based on an adaptive hybrid genetic algorithm, comprising the following steps:
[0046] Step S1: Figure 2 As shown, the classic Cartesian space coordinate system is set, the lower left rear vertex of the container in the shape of a rectangular parallelepiped is set as the coordinate origin (0, 0, 0), and the length, width, and height directions of the container are set as the X-axis, Y-axis, and Z-axis respectively. On this basis, the container, space, and cargo are all rectangular parallelepipeds, which are orthogonal to the coordinate system, have three attributes of length, width, and height, and take the lower left rear vertex as the base point, and the base point coordinates are the coordinates of the corresponding cube. Get the parameters of cargo and container. Specifically, it includes the length, width, height, mass, whether it can be rotated, whether stacking is allowed on top of the cargo, quantity (all default to 1), and the center of gravity coordinates of the cargo (the default is its geometric center); the length, width, height, quantity of each container (all default to unlimited), the expected center of gravity coordinates (the default is its geometric center), and the safe deviation range of the center of gravity (all default to 0.3). Based on this, the length l of each cargo is obtained. i 、Width i , high h i 、Mass m i 、Is it possible to rotate and place rflg i , Is stacking allowed above the goods? i , the center of gravity coordinates of the cargo (X i , Y i , Z i ), i = 1, 2, ..., n; the length of each container L j , Width W j , high H j , the desired center of gravity coordinates (X j , Y j , Z j ), safe deviation range of center of gravity j=1, 2,..., N.
[0047] Set the fitness function to: where u j Indicates whether the container j is used, if so, u j =1, if not used, u j = 0. VRate j It represents the space utilization rate of container j, which is calculated as follows: where u ij Indicates whether cargo i is loaded into container j, if yes, the value is 1, otherwise the value is 0; v i = l i ·w i ·h i , represents the volume of cargo i. weight j represents the weight of container j. The used containers are sorted in reverse order according to the order of use, denoted as 1, 2, ..., un, and the sequence number corresponding to container j is denoted as seq. Then The earlier the container is used, the higher the weight is, so as to give priority to ensuring the space utilization of the front container, and for the containers with poor space utilization at the back, the goods in them will be rearranged together with the new goods. j Indicates whether the center of gravity of container j meets the required range constraints. If so, center j =1, if not satisfied, then center j =0, the center of gravity range constraint is expressed as follows:
[0048]
[0049] where u ij Indicates whether cargo i is loaded into container j, X i , Y i , Z i is the coordinate of the center of gravity of the cargo, X j , Y j , Z j is the desired center of gravity coordinate of the container, L j , W j , H j The length, width and height of the container; It is the safe deviation range of the center of gravity.
[0050] Step S2: Setting the parameters of the adaptive hybrid genetic simulated annealing algorithm, including population size, maximum and minimum crossover rate and mutation rate, maximum number of iterations, initial temperature, termination temperature, and cooling coefficient.
[0051] In this embodiment, the specific examples include population size popul_size=3n; maximum and minimum crossover rates P cmax =0.8, P cmin =0.3; maximum and minimum mutation rates P mmax =0.1, P mmin =0.01; maximum number of iterations epochs = 4000; initial temperature T 0 =3000; termination temperature T end =1; temperature reduction coefficient α=0.998.
[0052] The crossover probability and mutation probability of an individual are denoted as P c , P m , adaptively adjusted according to the individual fitness value, the specific calculation formula is as follows:
[0053]
[0054]
[0055] Among them, f max and f avg are the maximum fitness value and the average fitness value in the population, respectively; f′ is the larger fitness value of the parents participating in the crossover; f is the fitness value of the parent individuals participating in the mutation; P cmax >P cmin ∈(0,1),P mmax >P mmin ∈(0,1).
[0056] Step S3: Generate an initial solution based on the basic rules and random rules according to the cargo and container information, use the improved three-space segmentation heuristic loading algorithm to generate a loading plan, calculate the fitness value, select the initial population according to the fitness value, and record the individual with the best fitness value;
[0057] In this embodiment, three-segment encoding is specifically adopted:
[0058] ① The first gene a 0 ~a n-1 Code the loading order of goods: Use natural numbers to number n goods;
[0059] ② The second gene a n ~a 2n-1 Code the placement status of the goods: divided into three types: arbitrary rotation (6 placement methods, the code value is represented by natural numbers 0 to 5), prohibited rotation (1 placement method, the code value is 0), and horizontal rotation (2 placement methods, the code value is 0, 1). The schematic diagram of the placement of goods is shown in the figure Figure 3 As shown;
[0060] ③The third segment gene a 2n ~a 3n-1 Code the container type in which the goods are placed: it is represented by natural numbers "0~typeNum-1", where typeNum refers to the container type number, which is used to solve the problem of multi-box packing.
[0061] According to the cargo and container information, 3*popul_size initial solutions are generated based on basic rules and random rules. The loading plan is generated using the improved three-space partitioning heuristic loading algorithm, the fitness value is calculated, and the optimal solution is selected based on the fitness value. The popul_size solutions with the best fitness value are selected to form the initial population, and the individual with the best fitness value is recorded.
[0062] Among them, the generation rules of the initial solution are as follows: the three segments of the chromosomes of 0% to 2% are encoded as sequential loading, no rotation, and only one container; 2% to 4% are sequential loading, no rotation, and random containers; 4% to 6% are sequential loading, random rotation, and only one container; 6% to 8% are sequential loading, random rotation, and random containers; 8% to 10% are reverse loading, no rotation, and only one container; 10% to 12% are reverse loading, no rotation, and random containers; 12% to 14% are reverse loading, random rotation, and only one container; 14% to 16% are reverse loading, random rotation, and random containers; 16% to 100% are randomly generated loading order, random rotation, and random containers.
[0063] Among them, the improved three-space segmentation heuristic loading algorithm flow chart is as follows Figure 6 As shown, the algorithm specifically includes the following steps:
[0064] Step S31: importing container and cargo information;
[0065] Step S32: Initialize the space, derive an initial remaining space list according to the container information, wherein one container of each type is initially selected;
[0066] Step S33: decoding the chromosome information to obtain a cargo loading sequence list, and sequentially reading an unloaded cargo as the current cargo for loading;
[0067] Step S34: decoding the chromosome information to obtain the placement method specified for the current goods, and updating the goods information accordingly;
[0068] Step S35: Decode the chromosome information to obtain the container type specified for the current cargo, and determine whether the cargo weight and size exceed the limit of the container. If not, proceed to the next step; if not, put the current cargo into the unloaded cargo list, and return to step S33 to continue the next cycle;
[0069] Step S36: Search whether the specified type of container has enough remaining space to load the goods (in short, search for remaining space). If not, select the next specified type of container. If the number of containers is limited (the default number is unlimited), it is also necessary to ensure that there are remaining containers. If so, proceed to the next step. If not, the current goods are placed in the list of unloaded goods, and return to step S33 to continue the next cycle.
[0070] Step S37: Place the cargo to be loaded, divide the space, and merge the space in the searched remaining space. Once the cargo is placed in the space, the space is divided into upper space, front space, and right space. In this embodiment, two space division methods are used, namely Figure 4 As shown in the method (a) and method (b), both meet the requirement of full support (i.e. the upper cargo cannot be partially suspended in the air or placed on an uneven surface). For cargo C and space S, if min(Sl-Cl, Cw)>min(Sw-Cw, C.1), select method (a), otherwise select method (b). Delete the original space to be split from the remaining space list, and add the front space and right space with non-zero side lengths obtained by the split operation to the remaining space list. If the stacking constraint upflg of the current cargo i The value is 1, that is, the goods cannot be stacked, and other goods cannot be placed in the upper space, and this space is meaningless; if upflg i If the value is 0, the upper space is also added to the remaining space list. There are three directions for merging remaining spaces. The remaining space merging diagram is as follows: Figure 5 As shown;
[0071] Step S38: Determine whether the cargo has been loaded. If so, end loading. If not, return to step S33 and continue the next cycle.
[0072] In this embodiment, the specific steps of searching for the remaining space in step S36 are as follows:
[0073] Step S361: traverse the remaining space of the container in order, and first fill the previous container. If there is no space left, search for the remaining space of the next container.
[0074] Step S362: sort the remaining spaces of the same container in ascending order of z, y, and x coordinates;
[0075] Step S363: For each remaining space of the same container, provided that the cargo can be loaded, the loading priority of each space is set as follows:
[0076] ① The first priority is the highest priority. The length, width and height of the current space are equal to the length, width and height of the goods respectively, and the size of the space and the goods are completely matched;
[0077] ② The second priority is that the length of the space is equal to the length of the goods and / or the width of the space is equal to the width of the goods and / or the height of the space is equal to the height of the goods. At the same time, if the current goods are placed in the current space, no completely unusable waste space will be generated (ensuring that after deducting the length, width and height of the goods from the length, width and height of the space, the length is still greater than the shortest side length of all the goods to be loaded);
[0078] ③ The third priority is that the length, width and height of the space are integer multiples of the length, width and height of the goods (the length, width and height of the space divided by the length, width and height of the goods, the remainder is 0);
[0079] ④ The fourth priority is that the current space will not produce completely unusable waste space after the current goods are placed;
[0080] ⑤The fifth priority is the lowest priority. There are no other constraints on the current space, and it only needs to be able to accommodate the goods.
[0081] After completing the above steps S1-S3, continue to complete the following steps:
[0082] Step S4: copy the elite solution according to the elite retention strategy. In this embodiment, according to the elite retention strategy, the top 5% elite solutions are copied, and the copied elite individuals are still eligible to participate in subsequent selection, crossover, mutation, and simulated annealing operations.
[0083] Step S5: Perform selection, crossover, and mutation operations of the genetic algorithm, use the aforementioned improved three-space partitioning heuristic loading algorithm to generate a loading plan, and calculate the fitness value of the new chromosome. In this embodiment, the crossover operation adopts partial mapping crossover; the mutation operation selects multiple pairs of genes and adopts exchange mutation, and the selection operation adopts the common roulette algorithm; since the population order after the roulette selection is random, the adjacent individuals are directly paired with each other, and the crossover operation is performed with the crossover probability Pc: the first section cargo loading order is encoded, partially mapped crossover (PMX) is adopted, the start and end positions of the gene segment are randomly selected (the length of the gene segment is fixed to 5% of the first section code, rounded up), the two gene segments of the two parent individuals are exchanged, and the conflict detection and conflict elimination are performed on the two offspring individuals after the exchange, the second section cargo placement state is encoded and the third section cargo placement container type is encoded, and then according to the intersection position of the first section code, the corresponding positions are exchanged; the mutation operation mutates each individual with the mutation probability Pm, randomly selects multiple pairs of genes, and adopts exchange mutation to exchange each pair of genes for the first section code, and performs basic bit mutation within the corresponding value range for the second and third sections of the code. Since the above operations and the algorithms used are mostly well-known technologies in the art and do not present any technical obstacles to those skilled in the art, they will not be described in detail in this specification.
[0084] Step S6: Independently and randomly select two genes in each individual as perturbation points to perform exchange mutation to obtain a new solution, and perform simulated annealing operation to cool down.
[0085] Step S7: The elite solution is retained according to the elite retention strategy, a new generation of population is generated, and the individual with the best fitness value is recorded. In this embodiment, the reverse roulette selection algorithm is used to select 5% of non-repeated offspring from the last 30% of the population, and replace them with the pre-retained elite solution, and a new generation of population is generated. The individual with the best fitness value is recorded.
[0086] Step S8: Return to step S4 and execute the loop until the termination condition is met, output the best loading plan, and draw a three-dimensional graph of the best plan. In this embodiment, the termination conditions set include: ① the pre-given evolutionary epochs are completed; ② the best individual in the population has not improved for 50 consecutive generations; ③ the fitness optimal value reaches a given threshold value 1, as long as one of them is met.
[0087] It should be appreciated that embodiments of the present invention may be implemented or enforced by computer hardware, a combination of hardware and software, or by computer instructions stored in a non-transitory computer-readable memory. The method may be implemented in a computer program using standard programming techniques - including a non-transitory computer-readable storage medium configured with a computer program, wherein the storage medium so configured causes the computer to operate in a specific and predefined manner - according to the methods and drawings described in the specific embodiments. Each program may be implemented in a high-level procedural or object-oriented programming language to communicate with a computer system. However, if desired, the program may be implemented in an assembly or machine language. In any case, the language may be a compiled or interpreted language. In addition, the program may be run on a programmed ASIC for this purpose.
[0088] Furthermore, the operations of the processes described herein may be performed in any suitable order unless otherwise indicated herein or otherwise clearly contradicted by context. The processes described herein (or variations and / or combinations thereof) may be performed under the control of one or more computer systems configured with executable instructions, and may be implemented as code (e.g., executable instructions, one or more computer programs, or one or more applications) that is executed collectively on one or more processors, by hardware, or a combination thereof. The computer program includes a plurality of instructions that may be executed by one or more processors.
[0089] Further, the method can be implemented in any type of computing platform that is operably connected to a suitable computer, including but not limited to a personal computer, a minicomputer, a mainframe, a workstation, a network or distributed computing environment, a separate or integrated computer platform, or in communication with a charged particle tool or other imaging device, etc. Various aspects of the present invention can be implemented in machine-readable code stored on a non-transitory storage medium or device, whether removable or integrated into a computing platform, such as a hard disk, an optical read and / or write storage medium, a RAM, a ROM, etc., so that it can be read by a programmable computer, and when the storage medium or device is read by the computer, it can be used to configure and operate the computer to perform the process described herein. In addition, the machine-readable code, or portions thereof, can be transmitted via a wired or wireless network. When such media includes instructions or programs that implement the steps described above in conjunction with a microprocessor or other data processor, the invention described herein includes these and other different types of non-transitory computer-readable storage media. When programmed according to the methods and techniques of the present invention, the present invention also includes the computer itself.
[0090] Finally, it should be noted that the above embodiments are only used to illustrate the technical solution of the present invention rather than to limit it. Although the present invention has been described in detail with reference to the preferred embodiments, those skilled in the art should understand that the technical solution of the present invention can be modified or replaced by equivalents without departing from the purpose and scope of the technical solution, which should be included in the scope of the claims of the present invention.
Claims
1. A modular container packing method in PI scenario based on adaptive hybrid genetic algorithm, characterized by: The method comprises: Step S1: Obtaining parameters of cargo and container; Step S2: setting the parameters of the adaptive hybrid genetic simulated annealing algorithm, including population size, maximum and minimum crossover rate and mutation rate, maximum number of iterations, initial temperature, termination temperature, and cooling coefficient; Step S3: Generate an initial solution based on basic rules and random rules according to cargo and container information, generate a loading plan using an improved three-space segmentation heuristic loading algorithm, calculate the fitness value, select and form an initial population according to the fitness value, and record the individual with the best fitness value; in step S3, the improved three-space segmentation heuristic loading algorithm includes the following steps: Step S31: importing container and cargo information; Step S32: Initializing the space, wherein one container of each type is initially selected; Step S33: decoding the chromosome information to obtain a cargo loading sequence list, and sequentially reading an unloaded cargo as the current cargo for loading; Step S34: decoding the chromosome information to obtain the placement method specified for the current goods, and updating the goods information accordingly; Step S35: Decode the chromosome information to obtain the container type specified for the current cargo, and determine whether the cargo weight and size exceed the limit of the container. If not, proceed to the next step; if not, put the current cargo into the unloaded cargo list, and return to step S33 to continue the next cycle; Step S36: Search whether there is enough remaining space in the specified type of container to load the goods. If not, select the next specified type of container. If the number of containers is limited, the default number is unlimited. It is also necessary to ensure that there are remaining containers. If there are, proceed to the next step. If not, the current goods are placed in the list of unloaded goods, and return to step S33 to continue the next cycle. Step S37: placing the cargo to be loaded, dividing the space, and merging the space in the searched remaining space; Step S38: Determine whether the goods have been loaded. If so, end the loading process. If not, return to step S53 and continue the next cycle. Step S4: copy the elite solution according to the elite retention strategy; Step S5: performing selection, crossover, and mutation operations of the genetic algorithm, using the improved three-space segmentation heuristic loading algorithm to generate a loading plan, and calculating the fitness value of the new chromosome; Step S6: performing simulated annealing operation to cool down; Step S7: retain the elite solution according to the elite retention strategy, generate a new generation of population, and record the individual with the best fitness value; Step S8: Return to step S4 and execute in a loop until the termination condition is met, output the best loading plan, and draw a three-dimensional graph of the best plan.
2. According to claim 1, a modular container packing method in a PI scenario based on an adaptive hybrid genetic algorithm is characterized by: In step S36, the specific steps of searching for the remaining space are as follows: Step S361: traverse the remaining space of the container in order, and first fill the previous container. If there is no space left, search for the remaining space of the next container. Step S362: sort the remaining spaces of the same container in ascending order of z, y, and x coordinates; Step S363: For each remaining space of the same container, on the premise that the goods can be loaded, the goods are loaded by classifying them into different loading priority categories.
3. The modular container packing method in PI scenario based on adaptive hybrid genetic algorithm according to claim 1, characterized in that: The loading priority of each space is set as follows: the first priority is that the length, width and height of the space are respectively equal to the length, width and height of the goods, and the size of the space and the goods are completely matched; the second priority is that the length of the space is equal to the length of the goods and / or the width of the space is equal to the width of the goods and / or the height of the space is equal to the height of the goods. At the same time, it is assumed that no unusable waste space will be generated after the current goods are placed in the current space, and it is ensured that the length of the space minus the length, width and height of the goods is still greater than the shortest side length of all goods to be loaded; the third priority is that the length, width and height of the space are respectively integer multiples of the length, width and height of the goods, and the length, width and height of the space are divided by the length, width and height of the goods, and the remainders are all 0; the fourth priority is that no unusable waste space will be generated after the current goods are placed in the current space; the lowest priority space has no other constraints, and it is only necessary to ensure that the goods can be loaded.