Pulp ship loading optimization method, system, equipment and medium based on multi-level solution

Optimizing pulp boat loading through multi-stage solution methods solves the problem that pulp boat loading is difficult to achieve flat stacking in the prior art, improves the rationality and safety of loading, and is suitable for pulp boat loading that considers irregular structure and blind spots of the cabin.

CN118095541BActive Publication Date: 2025-04-01COSCO SHIPPING
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410230214.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-02-29
Publication Date
2025-04-01
Estimated Expiration
2044-02-29

AI Technical Summary

Technical Problem

The existing pulp boat loading technology is difficult to accurately realize the flat stacking of pulp loading, and cannot meet the optimization solution of the pulp boat loading scheme, especially when considering the irregular structure of the cabin, the blind spots of placement and the non-equal relationship between the height and the irregular structure.

Method used

The pulp boat loading optimization method based on multi-stage solution is adopted, and the pulp package of the loadable area is selected through the probability distribution function. The skyline algorithm is used to generate a skyline list, and the first-level solution is optimized to meet the loading area constraints, and further optimize to meet the red line collision and blind spot obstacle avoidance constraints. Cross-substitution and variation optimization are performed through neighborhood search algorithms. Finally, the gap of the loadable area is filled through post-processing operations and the target solution is output.

Benefits of technology

It improves the rationality, economy and safety of the loading results of pulp boats, and can consider the irregular structure and blind spots of the cabin more refinedly, achieving efficient and flat stacking loading of pulp.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118095541B_ABST
    Figure CN118095541B_ABST
Patent Text Reader

Abstract

The present invention proposes a pulp ship loading optimization method, system, equipment and medium based on multi-level solution. The method comprises: determining the loading area of ​​the pulp ship according to ship information, and selecting pulp packages corresponding to the loading area through a probability distribution function; generating a skyline list in the loading area according to a skyline algorithm, traversing all skylines to select a skyline that meets the loading area constraint, and generating a primary solution for pulp package loading; optimizing the primary solution according to red line collision constraints and blind spot obstacle avoidance constraints, until all pulp packages are traversed and a secondary solution is output; cross-replacing and mutation optimization are performed on the pulp packages of the secondary solution by a neighborhood search algorithm, and a tertiary solution is determined by a scoring function and a comparison function of the neighborhood search algorithm; and performing post-processing operations of identifying, adjusting and filling gaps in the loading area on the tertiary solution, so as to optimize the tertiary solution with the goal of maximizing the number of pulp packages loaded, and output and save it as a target solution.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of pulp ship loading, and in particular to a pulp ship loading optimization method, system, equipment and medium based on multi-level solution. Background Art

[0002] With the improvement of people's living standards, the transportation volume of pulp has also increased rapidly in recent years. The rapid growth of transportation volume has given rise to more and more loading demands.

[0003] Pulp stowage is a key link in the transportation process of pulp ships. The quality of the stowage plan directly affects the safety and economy of pulp transportation at sea. A reasonable stowage plan can improve the efficiency of terminal loading and unloading, reduce cargo losses, and shorten the ballast water adjustment time.

[0004] Among the existing ship stowage technologies, there are relatively few studies on pulp ship stowage. The research on automatic stowage of ship cargo focuses on ro-ro ships and container ships. However, since the irregular structures of the cabin, such as steps and waist dimples, need to be considered during the actual stowage of pulp ships, and there are blind spots in the lifting process, and the height of the pulp stowage is not proportional to the irregular structure, it is impossible to accurately achieve the flat stacking of pulp, and it is impossible to meet the optimization solution of the pulp ship stowage plan.

[0005] Therefore, there is an urgent need for a pulp ship loading optimization method based on multi-level solution to solve the above-mentioned problems existing in the pulp ship loading optimization. Summary of the invention

[0006] In view of the deficiencies in the prior art, the present invention proposes a pulp ship loading optimization method, system, equipment and medium based on multi-level solution.

[0007] The first aspect of the present invention discloses a pulp ship loading optimization method based on multi-level solution, comprising:

[0008] S1: determining a loading area of ​​a pulp ship according to ship information, and selecting pulp bales corresponding to the loading area through a probability distribution function;

[0009] S2: Generate a skyline list in the loading area according to the skyline algorithm, traverse all skylines to select the skyline that meets the loading area constraint, and generate a first-level solution for pulp bale loading;

[0010] S3: Optimizing the primary solution according to the red line collision constraint and the blind area obstacle avoidance constraint until all pulp bales are traversed and the secondary solution is output;

[0011] S4: using a neighborhood search algorithm to perform cross-replacement and mutation optimization on the pulp bales of the secondary solution, and determining a tertiary solution through a scoring function and a comparison function of the neighborhood search algorithm;

[0012] S5: performing post-processing operations of identifying, adjusting, and filling gaps in the loading area on the three-level solution, optimizing the three-level solution with the goal of maximizing the number of pulp bales loaded, and outputting and saving it as a target solution.

[0013] In an optional embodiment, determining the loading area of ​​the pulp ship according to the ship information, and selecting the pulp bales corresponding to the loading area by using a probability distribution function comprises:

[0014] S11: defining a probability distribution function based on pulp bale size and quantity constraints, and configuring a probability mode for the probability distribution function according to the cabin type constraints;

[0015] S12: traverse the pulp bales, and determine that the current loading area is not the bow and stern cabins of the ship, then select the max_area mode to allocate the probability of selecting the pulp bales according to the area of ​​the pulp bales;

[0016] S13: traverse the pulp bales, and determine that the current loading area is the bow and stern cabins of the ship, then select the max_min mode to distribute the probability of selecting the pulp bales according to the sum of the length and width of the pulp bales;

[0017] S14: Select the waste_area mode to traverse the distribution probability values ​​generated by all pulp packages, and calculate the target probability of each pulp package by summing the distribution probability values;

[0018] S15: Select pulp bales to be placed in the corresponding loading area in sequence according to the target probability.

[0019] In an optional embodiment, generating a skyline list in the loadable area according to the skyline algorithm, traversing all skylines to select a skyline that satisfies the loading area constraint, and generating a primary solution for pulp bale loading includes:

[0020] S21: The irregular area is transformed into a regular loading area including a rectangle, a step shape and a trapezoid by defining the shape change of the loading area, and then the three-dimensional packing task of the regular loading area is transformed into a two-dimensional packing task according to the obtained pulp bales and cabin heights, and the pulp bales are optimized by minimizing the area waste rate of the loading area through the bottom-left algorithm;

[0021] S22: Generate a skyline list in the loadable area by using a skyline algorithm, and divide the loadable area into a packed area and an unpacked area based on the skyline, wherein the skyline includes endpoint coordinates and a skyline length;

[0022] S23: based on the constraint condition that the coordinates of the skyline endpoints are the smallest on the X-axis and the Y-axis respectively, the pulp bales identified as rectangular boxes are allocated to the unboxed areas of the skyline segmentation, the skyline is cut by the rectangular box and a new skyline is generated at the top of the rectangular box and added to the skyline list, and the current skyline that cannot be allocated with a rectangular box is merged with other skylines and the skyline list is updated;

[0023] S24: traverse the pulp packages, assign the selected pulp packages to different skylines to calculate the wasted area, obtain the selected pulp package and skyline combination with the smallest wasted area by traversing the skyline list, and pack the pulp packages into the loadable area based on the selected pulp packages and skyline combination to generate a primary solution including a pulp package loading list.

[0024] In an optional embodiment, optimizing the primary solution according to the redline collision constraint comprises:

[0025] S31: Obtain the number of red lines according to the ship information and preset the red line touching limit times; when loading the pulp package through the pulp package loading list, make a judgment based on the actual red line touching times and the touching limit times; if the red line touching times exceed the touching limit times, mutate the pulp package into a pulp package that does not touch the red line according to the pulp package loading list; if the pulp package cannot be mutated, discard the current pulp package and load the next pulp package.

[0026] In an optional embodiment, optimizing the primary solution according to the blind spot obstacle avoidance constraint until all pulp bales are traversed to output the secondary solution comprises:

[0027] S32: Acquire work restriction information of the ship's waist and crane through the ship information, and generate a ship obstacle avoidance blind area according to the work restriction information, wherein the ship obstacle avoidance blind area includes a circular blind area, an upper blind area, and a lower blind area;

[0028] S33: traverse the pulp package list, calculate the distance between the center of the circular blind area and the center of gravity of the pulp package, if the distance is greater than the radius of the blind area, return the pulp package data to the pulp package list to calculate the next pulp package, if the distance is less than the radius of the blind area, calculate the intersection coordinates of the pulp package and the circular blind area according to the center of gravity height of the pulp package, move the pulp package to the edge of the circular blind area according to the intersection coordinates to avoid obstacles, and return the moved pulp package data to the pulp package list;

[0029] S34: traverse the pulp package loading list, calculate the distance between the lower blind area and the center of gravity of the pulp package, if the center of gravity of the pulp package is not in the lower blind area and the pulp package is not located in the projection of the lower blind area, return the pulp package data to the pulp package loading list to calculate the next pulp package, if the center of gravity of the pulp package is in the lower blind area, search the pulp package loading list to mutate the pulp package into a mutant pulp package with a height of more than twice the lower blind area, and return the mutant pulp package data to the pulp package loading list;

[0030] S35: traverse the pulp package loading list, determine whether the next pulp package can be loaded above the currently loaded pulp package to avoid the upper blind area, if yes, load the next pulp package, if not, determine the positional relationship between the next pulp package and the upper blind area, continue loading when the center of gravity of the pulp package is far away from the upper blind area, and when the center of gravity of the pulp package is within the upper blind area, mutate the pulp package into a larger pulp package until the center of gravity of the pulp package is far away from the upper blind area, and return the pulp package data to the pulp package loading list;

[0031] S36: Confirm that all pulp bales have been loaded according to the pulp bale loading list, and update the skyline list in real time when each pulp bale is loaded, and output the secondary solution of the pulp bale loading.

[0032] In an optional embodiment, the adopting of a neighborhood search algorithm to perform cross-replacement and mutation optimization on the pulp bales of the secondary solution, and determining the tertiary solution by using a scoring function and a comparison function of the neighborhood search algorithm comprises:

[0033] S41: defining a neighborhood search function according to the ship information and the secondary solution, setting a target number of loop optimizations for the secondary solution, updating the pulp package loading list of the secondary solution, and optimizing and iterating the secondary solution through the neighborhood search function;

[0034] S42: in the optimization iteration process, cross-replacing the pulp bale positions of the secondary solution in random order until the number of cyclic optimization times of the secondary solution is less than one third of the target number;

[0035] S43: when the number of iteration optimizations of the secondary solution is between one third and two thirds of the target number, optimizing the variation of the pulp bale to a pulp bale of a new size according to the probability distribution function of the cabin type constraint configuration;

[0036] S44: when the number of loop optimizations of the secondary solution is between two-thirds of the target number and the maximum target number, a uniform distribution random mutation method is used to mutate the pulp bale into a new pulp bale with a uniform probability distribution, the secondary solution is traversed until the neighborhood search operation of all pulp bales is completed, and an optimized secondary solution is output;

[0037] S45: Optimizing the scores of pulp bale loading schemes in the loading area in the secondary solution through scoring function calculation, sorting the loading scheme scores according to the scoring priority of the comparison function, and selecting the pulp bale loading scheme with the highest score to update it as the tertiary solution output after the neighborhood search operation.

[0038] In an optional embodiment, the post-processing operation of identifying, adjusting, and filling gaps in the loading area of ​​the three-level solution to optimize the three-level solution with the goal of maximizing the number of pulp bales loaded, and outputting and saving it as a target solution includes:

[0039] S51: Acquire the pulp package loading position information and loading area information of the third-level solution;

[0040] S52: Detecting the gap area of ​​the loading area according to the post-processing strategy, dividing the gap area into a number of rectangular blocks and obtaining position information and size information of the rectangular blocks;

[0041] S53: traversing the rectangular blocks, merging the rectangular blocks into gap rectangular blocks with the maximum gap area of ​​the merged rectangular blocks as a constraint, and acquiring position information and size information of the gap rectangular blocks;

[0042] S54: determining the number of rows and columns of the gap pulp bale combination according to the sizes of the gap rectangular blocks and the pulp bales without detecting the rationality of the pulp bale combination;

[0043] S55: Detecting the rationality of the current gap pulp package combination. If it is reasonable, fill the gap pulp package in the gap rectangular block. If it is unreasonable, adjust the number of pulp packages in the rows and columns of the gap pulp package combination according to the number limit of the gap pulp package combination and the number limit of the rows and columns, until the detection result of the gap pulp package combination is legal and then fill it in the gap rectangular block, and output the pulp package type and position information of the gap pulp package combination;

[0044] S56: traverse all the gap rectangular blocks until the target optimization of maximizing the amount of loaded pulp is completed, and the third-level solution is updated as the target solution for storage.

[0045] The second aspect of the present invention discloses a pulp ship loading optimization system based on multi-level solution, the system comprising:

[0046] A preliminary selection module, used to determine the loading area of ​​the pulp ship according to the ship information, and select the pulp bales corresponding to the loading area through a probability distribution function;

[0047] The first-level solution module is used to generate a list of skylines in the loadable area according to the skyline algorithm, traverse all skylines to select the skyline that meets the loading area constraints, and generate a first-level solution for pulp bale loading;

[0048] A secondary solution module, used for optimizing the primary solution according to the red line collision constraint and the blind area obstacle avoidance constraint, until all pulp bales are traversed to output the secondary solution;

[0049] A third-level solution module, for performing cross-replacement and mutation optimization on the pulp bales of the second-level solution by using a neighborhood search algorithm, and determining the third-level solution by using a scoring function and a comparison function of the neighborhood search algorithm;

[0050] The target solution module is used for post-processing operations such as identifying, adjusting, and filling gaps in the loading area of ​​the three-level solution, so as to optimize the three-level solution with the goal of maximizing the number of pulp bales loaded, and output and save it as the target solution.

[0051] The third aspect of the present invention discloses a pulp ship loading optimization device based on multi-level solution, comprising:

[0052] at least one processor, and

[0053] a memory communicatively connected to the at least one processor; wherein,

[0054] The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the pulp ship loading optimization method based on multi-level solution as disclosed in any one of the first aspects of the present invention.

[0055] The fourth aspect of the present invention discloses a computer-readable storage medium, which stores computer-executable instructions, and the computer-executable instructions are used to enable a computer to execute the pulp ship loading optimization method based on multi-level solution as described in any one of the items disclosed in the first aspect of the present invention.

[0056] Compared with the prior art, the present invention has the following advantages:

[0057] The present invention generates a primary solution and a secondary solution respectively by combining the optimized skyline algorithm with the blind spot obstacle avoidance constraint and the red line touch constraint, and then performs crossover and mutation, performs neighborhood search for multiple times, finds a tertiary solution, and then performs post-processing operations of identifying, adjusting, and filling gaps on the tertiary solution. After the multi-level solution process, the target solution after the loading optimization of the pulp ship is output, and the irregular structure of the cabin, the placement blind spot, and the refined requirements of the non-proportional relationship between the height and the irregular structure are taken into consideration, so as to improve the rationality, economy and safety of the output loading result, and provide an effective solution for the loading of the pulp ship. BRIEF DESCRIPTION OF THE DRAWINGS

[0058] In order to more clearly illustrate the embodiments of the present invention 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 only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.

[0059] Figure 1 It is a flow chart of the pulp ship loading optimization method based on multi-level solution of the present invention;

[0060] Figure 2 It is a schematic diagram of the pulp ship loading optimization system based on multi-level solution of the present invention. DETAILED DESCRIPTION

[0061] In order to make the purpose, technical solutions and advantages of the present application clearer, the present application is described and illustrated below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not intended to limit the present application. Based on the embodiments provided in the present application, all other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of the present application.

[0062] Obviously, the drawings described below are only some examples or embodiments of the present application. For ordinary technicians in this field, the present application can also be applied to other similar scenarios based on these drawings without creative work. In addition, it can also be understood that although the efforts made in this development process may be complicated and lengthy, for ordinary technicians in this field related to the content disclosed in this application, some changes in design, manufacturing or production based on the technical content disclosed in this application are just conventional technical means, and should not be understood as insufficient content disclosed in this application.

[0063] Reference to "embodiments" in this application means that a particular feature, structure, or characteristic described in conjunction with the embodiments may be included in at least one embodiment of the present application. The appearance of the phrase in various locations in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment that is mutually exclusive with other embodiments. It is explicitly and implicitly understood by those of ordinary skill in the art that the embodiments described in this application may be combined with other embodiments without conflict.

[0064] Unless otherwise defined, the technical terms or scientific terms involved in this application should be understood by people with ordinary skills in the technical field to which this application belongs. The words "one", "a", "a", "the" and the like involved in this application do not indicate a quantitative limitation, and may represent the singular or plural. The terms "include", "comprise", "have" and any of their variations involved in this application are intended to cover non-exclusive inclusions; for example, a process, method, system, product or device that includes a series of steps or modules (units) is not limited to the listed steps or units, but may also include steps or units that are not listed, or may also include other steps or units inherent to these processes, methods, products or devices. The words "connect", "connected", "coupled" and the like involved in this application are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect. The "multiple" involved in this application refers to two or more. "And / or" describes the association relationship of associated objects, indicating that there may be three relationships, for example, "A and / or B" can represent: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the objects before and after are in an "or" relationship. The terms "first", "second", "third", etc. involved in this application are only used to distinguish similar objects and do not represent a specific ordering of the objects.

[0065] Example 1

[0066] See also Figure 1 The embodiment of the present invention discloses a pulp ship loading optimization method based on multi-level solution, including:

[0067] S1: determining a loading area of ​​a pulp ship according to ship information, and selecting pulp bales corresponding to the loading area through a probability distribution function;

[0068] S2: Generate a skyline list in the loading area according to the skyline algorithm, traverse all skylines to select the skyline that meets the loading area constraint, and generate a first-level solution for pulp bale loading;

[0069] S3: Optimizing the primary solution according to the red line collision constraint and the blind area obstacle avoidance constraint until all pulp bales are traversed and the secondary solution is output;

[0070] S4: using a neighborhood search algorithm to perform cross-replacement and mutation optimization on the pulp bales of the secondary solution, and determining a tertiary solution through a scoring function and a comparison function of the neighborhood search algorithm;

[0071] S5: performing post-processing operations of identifying, adjusting, and filling gaps in the loading area on the three-level solution, optimizing the three-level solution with the goal of maximizing the number of pulp bales loaded, and outputting and saving it as a target solution.

[0072] In an optional embodiment, determining the loading area of ​​the pulp ship according to the ship information, and selecting the pulp bales corresponding to the loading area by using a probability distribution function comprises:

[0073] S11: defining a probability distribution function based on pulp bale size and quantity constraints, and configuring a probability mode for the probability distribution function according to the cabin type constraints;

[0074] S12: traverse the pulp bales, and determine that the current loading area is not the bow and stern cabins of the ship, then select the max_area mode to allocate the probability of selecting the pulp bales according to the area of ​​the pulp bales;

[0075] S13: traverse the pulp bales, and determine that the current loading area is the bow and stern cabins of the ship, then select the max_min mode to distribute the probability of selecting the pulp bales according to the sum of the length and width of the pulp bales;

[0076] S14: Select the waste_area mode to traverse the distribution probability values ​​generated by all pulp packages, and calculate the target probability of each pulp package by summing the distribution probability values;

[0077] S15: Select pulp bales to be placed in the corresponding loading area in sequence according to the target probability.

[0078] It should be noted that, given the combined pulp packages that can be loaded in the current cabin (including the sizes of various combined pulp packages), a pulp package sequence of a specified length is generated, which is used to try to load them into the cabin in turn as the task goal, and a pulp package of a certain size is selected from the input pulp packages in turn through a loop (the number of times is the specified pulp package sequence length) and added to the sequence. In this process, in order to meet the goal of placing as few combined pulp packages as possible, consider loading combined pulp packages with larger sizes first, and by calling the probability distribution generation function, the larger the size of the pulp package, the higher the probability of being selected, so that the combined pulp packages with larger sizes are given priority in the generated combined pulp package sequence. At the same time, considering that the cabin types and sizes of the bow and stern cabins and the middle cabins of the ship are quite different, different probability distributions are used for the bow and stern cabins and the middle cabins.

[0079] In an optional embodiment, generating a skyline list in the loadable area according to the skyline algorithm, traversing all skylines to select a skyline that satisfies the loading area constraint, and generating a primary solution for pulp bale loading includes:

[0080] S21: The irregular area is transformed into a regular loading area including a rectangle, a step shape and a trapezoid by defining the shape change of the loading area, and then the three-dimensional packing task of the regular loading area is transformed into a two-dimensional packing task according to the obtained pulp bales and cabin heights, and the pulp bales are optimized by minimizing the area waste rate of the loading area through the bottom-left algorithm;

[0081] S22: Generate a skyline list in the loadable area by using a skyline algorithm, and divide the loadable area into a packed area and an unpacked area based on the skyline, wherein the skyline includes endpoint coordinates and a skyline length;

[0082] S23: based on the constraint condition that the coordinates of the skyline endpoints are the smallest on the X-axis and the Y-axis respectively, the pulp bales identified as rectangular boxes are allocated to the unboxed areas of the skyline segmentation, the skyline is cut by the rectangular box and a new skyline is generated at the top of the rectangular box and added to the skyline list, and the current skyline that cannot be allocated with a rectangular box is merged with other skylines and the skyline list is updated;

[0083] S24: traverse the pulp packages, assign the selected pulp packages to different skylines to calculate the wasted area, obtain the selected pulp package and skyline combination with the smallest wasted area by traversing the skyline list, and pack the pulp packages into the loadable area based on the selected pulp packages and skyline combination to generate a primary solution including a pulp package loading list.

[0084] It should be noted that the task objective is to pack the pulp bales into the cabin in order given a combined pulp bale sequence, and output the pulp bale loading solution through the input combined pulp bale sequence and cabin information: the first-level solution includes the number, size and position of the pulp bales loaded in each loading area.

[0085] Furthermore, the problem of the task objective is a three-dimensional packing problem. Since the height of the pulp and the cabin are known, the problem can be first regarded as a two-dimensional packing problem for solution. The following algorithms can be used in the two-dimensional packing problem: shelf algorithm, guillotine algorithm, maximal rectangles algorithm and skyline algorithm.

[0086] Furthermore, the Skyline algorithm is applicable to the rectangular packing problem. However, in this project, the loadable space in the cabin includes various shapes such as convex and stepped shapes. At the same time, there are also requirements such as the number of touches with the bulkhead and the center of gravity of the pulp bale cannot fall within the blind spot. The skyline algorithm needs to be optimized. In order to adapt to the requirements of various shapes of loadable areas such as convex shapes in the task, the following basic framework is defined. By changing the height and width of the irregular area, it is converted into a rectangular loading area, a stepped loading area, and a convex loading area suitable for pulp packaging.

[0087] Furthermore, the Skyline algorithm is implemented by maintaining a list of horizontal segments (skyline segments), which consists of the top segments of the entire area. A skyline segment is determined by two objects: the coordinates of the left endpoint of the segment (x, y) and the length of the segment w. Below the skyline segment is the allocated space, and above it is the unallocated space. The bottom-left heuristic method is adopted, that is, the unallocated space with the smallest y-axis and the smallest x-axis is selected as much as possible to stack a rectangle. When the rectangle is placed on the skyline, the placed skyline will be cut, that is, the skyline needs to be shortened according to the placement of the rectangle, and the top edge of the rectangle is added to the list as a new skyline. When a skyline is obviously not able to place a rectangle, the skyline needs to be merged. Specifically, the skyline is raised to the same height as other skylines, and then multiple skylines are merged into one. The above steps are repeated: select the skyline to place the rectangle, cut the skyline, and merge the skylines, so that the skyline algorithm can be implemented for rectangle packing.

[0088] Furthermore, in order to improve the loading efficiency and the utilization rate of the loading area, a heuristic method of minimizing the wasted area is adopted. The wasted area generated when a pulp bag is placed on all the skyline segments in the skyline list is calculated, and the skyline segment with the smallest wasted area is selected to place the currently traversed pulp bag. The specific steps are as follows: define a skyline segment class, which includes the x-coordinate of the left endpoint of the line segment, the y-coordinate of the left endpoint of the line segment, and the width of the line segment; define a combined pulp bag class, including the number of basic pulp bags in a row of the combined pulp bag, the number of basic pulp bags in a column of the combined pulp bag, the x-coordinate of the lower left corner of the combined pulp bag, the y-coordinate of the lower left corner of the combined pulp bag, and the width and height of the combined pulp bag; calculate the number of pulp bags placed on each skyline. The outer layer has a loop to traverse each skyline segment, and traverses the skyline segment after the i-th (i traversal represents the selected skyline) skyline based on the x-coordinate of the lower right corner point of the combined pulp package and the x-coordinate of the lower left corner point of the combined pulp package; if the skyline is already on the right side of the pulp package and has no contact with the pulp package, no wasted area will be generated and the subsequent skyline segments will not; if the skyline is on the left side of the pulp package, there is also no pulp package that is not in contact, and continue to traverse the next skyline segment; when the pulp package is above a skyline, calculate the product of the remaining width of the skyline and the height of the pulp package. If the pulp package is longer than the skyline segment, a wasted area will be generated below, and the product of the height difference between the pulp and the skyline and the width of the pulp package that has grown will be calculated.

[0089] In an optional embodiment, optimizing the primary solution according to the redline collision constraint comprises:

[0090] S31: Obtain the number of red lines according to the ship information and preset the red line touching limit times; when loading the pulp package through the pulp package loading list, make a judgment based on the actual red line touching times and the touching limit times; if the red line touching times exceed the touching limit times, mutate the pulp package into a pulp package that does not touch the red line according to the pulp package loading list; if the pulp package cannot be mutated, discard the current pulp package and load the next pulp package.

[0091] It should be noted that, since the constraint target of pulp loading includes that the number of times the pulp bale contacts the red line (i.e., the number of times the short side of the pulp bale contacts the cabin bulkhead) does not exceed a preset number (preferably 10 times), the pulp bale is judged when it is placed. If placing the pulp bale will cause the total number of red line touches to be greater than the set number, the pulp bale will be discarded or mutated into other pulp bales that meet the requirements, to ensure that the number of touches with the red line always meets the given requirements.

[0092] In an optional embodiment, optimizing the primary solution according to the blind spot obstacle avoidance constraint until all pulp bales are traversed to output the secondary solution comprises:

[0093] S32: Acquire work restriction information of the ship's waist and crane through the ship information, and generate a ship obstacle avoidance blind area according to the work restriction information, wherein the ship obstacle avoidance blind area includes a circular blind area, an upper blind area, and a lower blind area;

[0094] S33: traverse the pulp package list, calculate the distance between the center of the circular blind area and the center of gravity of the pulp package, if the distance is greater than the radius of the blind area, return the pulp package data to the pulp package list to calculate the next pulp package, if the distance is less than the radius of the blind area, calculate the intersection coordinates of the pulp package and the circular blind area according to the center of gravity height of the pulp package, move the pulp package to the edge of the circular blind area according to the intersection coordinates to avoid obstacles, and return the moved pulp package data to the pulp package list;

[0095] S34: traverse the pulp package loading list, calculate the distance between the lower blind area and the center of gravity of the pulp package, if the center of gravity of the pulp package is not in the lower blind area and the pulp package is not located in the projection of the lower blind area, return the pulp package data to the pulp package loading list to calculate the next pulp package, if the center of gravity of the pulp package is in the lower blind area, search the pulp package loading list to mutate the pulp package into a mutant pulp package with a height of more than twice the lower blind area, and return the mutant pulp package data to the pulp package loading list;

[0096] S35: traverse the pulp package loading list, determine whether the next pulp package can be loaded above the currently loaded pulp package to avoid the upper blind area, if yes, load the next pulp package, if not, determine the positional relationship between the next pulp package and the upper blind area, continue loading when the center of gravity of the pulp package is far away from the upper blind area, and when the center of gravity of the pulp package is within the upper blind area, mutate the pulp package into a larger pulp package until the center of gravity of the pulp package is far away from the upper blind area, and return the pulp package data to the pulp package loading list;

[0097] It should be noted that in pulp loading, due to the waist of the cabin and the working limitations of the crane, some blind spots (including rectangular and circular blind spots) will be generated. When loading in the blind spots, the center of gravity of the pulp must not be placed within the blind spots. Therefore, it is necessary to design obstacle avoidance algorithms for circular blind spots, blind spots in staircase-type loading areas, and blind spots in other shapes of loading areas.

[0098] Furthermore, for the circular blind spot caused by the crane, the center of gravity of the pulp bale is moved to the edge of the circular blind spot to avoid obstacles. For the blind spot of the staircase-type loading area, it is regarded as the lower blind spot, that is, when loading the staircase-type area, the blind spot is loaded first, and then the remaining loadable space is loaded. At this time, if the center of gravity of the pulp bale falls within the blind spot, the pulp is directly transformed into a larger pulp bale to avoid the blind spot. For the blind spot of other shapes of loading areas, it is regarded as the upper blind spot, that is, the blind spot is loaded last. In this case, when loading the area under the projection of the blind spot, judgments are continuously made. If there is room for another pulp that can avoid the blind spot above the currently loaded pulp bale, no operation is required; otherwise, the relationship between the currently loaded pulp bale and the blind spot needs to be judged. If the center of gravity of the pulp bale can avoid the blind spot after it is placed in the blind spot, then place it in the blind spot. Otherwise, consider whether the pulp bale can suddenly change into a larger size pulp bale that can avoid the blind spot. If so, load a new pulp bale. Otherwise, abandon the current pulp bale and continue to try the next pulp bale.

[0099] S36: Confirm that all pulp bales have been loaded according to the pulp bale loading list, and update the skyline list in real time when each pulp bale is loaded, and output the secondary solution of the pulp bale loading.

[0100] In an optional embodiment, the adopting of a neighborhood search algorithm to perform cross-replacement and mutation optimization on the pulp bales of the secondary solution, and determining the tertiary solution by using a scoring function and a comparison function of the neighborhood search algorithm comprises:

[0101] S41: defining a neighborhood search function according to the ship information and the secondary solution, setting a target number of loop optimizations for the secondary solution, updating the pulp package loading list of the secondary solution, and optimizing and iterating the secondary solution through the neighborhood search function;

[0102] S42: in the optimization iteration process, cross-replacing the pulp bale positions of the secondary solution in random order until the number of cyclic optimization times of the secondary solution is less than one third of the target number;

[0103] S43: when the number of iteration optimizations of the secondary solution is between one third and two thirds of the target number, optimizing the variation of the pulp bale to a pulp bale of a new size according to the probability distribution function of the cabin type constraint configuration;

[0104] S44: when the number of loop optimizations of the secondary solution is between two-thirds of the target number and the maximum target number, a uniform distribution random mutation method is used to mutate the pulp bale into a new pulp bale with a uniform probability distribution, the secondary solution is traversed until the neighborhood search operation of all pulp bales is completed, and an optimized secondary solution is output;

[0105] S45: Optimizing the scores of pulp bale loading schemes in the loading area in the secondary solution through scoring function calculation, sorting the loading scheme scores according to the scoring priority of the comparison function, and selecting the pulp bale loading scheme with the highest score to update it as the tertiary solution output after the neighborhood search operation.

[0106] It should be noted that after the above-mentioned optimized skyline algorithm is calculated, a solution can be generated, but this solution is often not the optimal solution, so it needs to be optimized. The initial solution is subjected to neighborhood operations to find the optimal solution. Specifically, the neighborhood search is achieved by exchanging and replacing the pulp packages in the combined pulp package sequence. An evaluation function is designed according to the task objectives, and the solution before the neighborhood operation and the solution after the neighborhood operation are scored and compared. If the latter is close to the target, it is selected as the new basic solution. If the former is still closer to the target, the original basic solution is maintained, and this cycle is repeated to find the optimal solution.

[0107] Further, by defining a neighborhood search function, the pulp package sequence is updated. The neighborhood search function is defupdate_input(M, inputItems, new_list, epoch, max_epoch, isSpeCabin, type): where M is the BinManager class, inputItems is a list of combined pulp packages of basic pulp of various sizes, epoch is the current cycle number (number of optimizations), max_epoch is the maximum cycle number (number of optimizations), isSpeCabin marks whether it is the fore and aft cabin, type represents the type of basic pulp currently loaded, and a scoring function is defined, including calculating the number of basic pulp packages loaded in the loading area, calculating the number of combined pulp packages loaded in the loading area, and calculating the number of times the pulp touches the bulkhead (red line). A comparison function is defined to obtain the comparison result. The first item in the scoring list of the two groups of results is the result score after the current neighborhood operation, and the second item is the current best result score. The comparison function scoring priority includes sorting according to the number of basic pulp packages, the number of combined pulp packages, and the number of times the red line is touched.

[0108] In an optional embodiment, the post-processing operation of identifying, adjusting, and filling gaps in the loading area of ​​the three-level solution to optimize the three-level solution with the goal of maximizing the number of pulp bales loaded, and outputting and saving it as a target solution includes:

[0109] S51: Acquire the pulp package loading position information and loading area information of the third-level solution;

[0110] S52: Detecting the gap area of ​​the loading area according to the post-processing strategy, dividing the gap area into a number of rectangular blocks and obtaining position information and size information of the rectangular blocks;

[0111] It should be noted that after the third-level solution is loaded with pulp by the skyline algorithm, there will still be gaps in the loading area that are not loaded. Consider using a post-processing strategy to identify the size of the gap area and determine whether the area can continue to be loaded with pulp. If it can be loaded, load the largest possible pulp package in the gap area to maximize the amount of loaded pulp. The location information of each pulp load after loading by the skyline algorithm and the loading area information are output to fill the gap The pulp package type and location information.

[0112] S53: traversing the rectangular blocks, merging the rectangular blocks into gap rectangular blocks with the maximum gap area of ​​the merged rectangular blocks as a constraint, and acquiring position information and size information of the gap rectangular blocks;

[0113] S54: determining the number of rows and columns of the gap pulp bale combination according to the sizes of the gap rectangular blocks and the pulp bales without detecting the rationality of the pulp bale combination;

[0114] S55: Detecting the rationality of the current gap pulp package combination. If it is reasonable, fill the gap pulp package in the gap rectangular block. If it is unreasonable, adjust the number of pulp packages in the rows and columns of the gap pulp package combination according to the number limit of the gap pulp package combination and the number limit of the rows and columns, until the detection result of the gap pulp package combination is legal and then fill it in the gap rectangular block, and output the pulp package type and position information of the gap pulp package combination;

[0115] S56: traverse all the gap rectangular blocks until the target optimization of maximizing the amount of loaded pulp is completed, and the third-level solution is updated as the target solution for storage.

[0116] Furthermore, firstly, the gap area existing in the loading area is detected, and the gap area is identified and divided into multiple rectangular blocks to obtain the size and position information of each rectangular block. At the same time, considering that the obtained rectangular blocks may be merged into a rectangular block with a larger area, all rectangular blocks are traversed to merge the mergeable rectangular blocks to maximize the area of ​​the rectangular blocks; based on the obtained gap rectangular block information, without considering whether the combination mode of the basic pulp packages is reasonable (satisfying the legality constraint of the pulp package loading), the number of rows and columns of the basic pulp package combination is determined based on the ratio of the length and width of the rectangular block to the length and width of the basic pulp package; then, it is judged whether the type of the combined pulp package is reasonable, and if it is reasonable, the type is filled into the rectangular block; if it is unreasonable, it is considered that the unreasonable reason is that the number of basic pulp packages in the row or column exceeds the limit, so it is judged whether the number of rows or columns exceeds the limit, and then the number of pulp packages in the row or column that exceeds the limit is halved, and then the rationality is detected, and if it is unreasonable, it is halved until the combined pulp package is reasonable.

[0117] The present invention generates a primary solution and a secondary solution respectively by combining the optimized skyline algorithm with the blind spot obstacle avoidance constraint and the red line touch constraint, and then performs crossover and mutation, performs neighborhood search for multiple times, finds a tertiary solution, and then performs post-processing operations of identifying, adjusting, and filling gaps on the tertiary solution. After the multi-level solution process, the target solution after the loading optimization of the pulp ship is output, and the irregular structure of the cabin, the placement blind spot, and the refined requirements of the non-proportional relationship between the height and the irregular structure are taken into consideration, so as to improve the rationality, economy and safety of the output loading result, and provide an effective solution for the loading of the pulp ship.

[0118] like Figure 2 As shown, the second aspect of the present invention discloses a pulp ship loading optimization system based on multi-level solution, the system comprising:

[0119] A preliminary selection module, used to determine the loading area of ​​the pulp ship according to the ship information, and select the pulp bales corresponding to the loading area through a probability distribution function;

[0120] The first-level solution module is used to generate a list of skylines in the loadable area according to the skyline algorithm, traverse all skylines to select the skyline that meets the loading area constraints, and generate a first-level solution for pulp bale loading;

[0121] A secondary solution module, used for optimizing the primary solution according to the red line collision constraint and the blind area obstacle avoidance constraint, until all pulp bales are traversed to output the secondary solution;

[0122] A third-level solution module, for performing cross-replacement and mutation optimization on the pulp bales of the second-level solution by using a neighborhood search algorithm, and determining the third-level solution by using a scoring function and a comparison function of the neighborhood search algorithm;

[0123] The target solution module is used for post-processing operations such as identifying, adjusting, and filling gaps in the loading area of ​​the three-level solution, so as to optimize the three-level solution with the goal of maximizing the number of pulp bales loaded, and output and save it as the target solution.

[0124] The third aspect of the present invention discloses a pulp ship loading optimization device based on multi-level solution, comprising:

[0125] at least one processor, and

[0126] a memory communicatively connected to the at least one processor; wherein,

[0127] The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the pulp ship loading optimization method based on multi-level solution as disclosed in any one of the first aspects of the present invention.

[0128] The computer device may be a terminal, and the computer device includes a processor, a memory, a network interface, a display screen and an input device connected through a system bus. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The network interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a pulp ship loading optimization method based on multi-level solution is implemented. The display screen of the computer device may be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer device may be a touch layer covered on the display screen, or a key, trackball or touchpad provided on the housing of the computer device, or an external keyboard, touchpad or mouse, etc.

[0129] The fourth aspect of the present invention discloses a computer-readable storage medium, which stores computer-executable instructions, and the computer-executable instructions are used to enable a computer to execute the pulp ship loading optimization method based on multi-level solution as described in any one of the items disclosed in the first aspect of the present invention.

[0130] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment method can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the pulp ship loading optimization method based on multi-level solution as described above. Among them, any reference to memory, storage, database or other media used in the embodiments provided in this application may include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.

[0131] Alternatively, if the above modules of the present invention are implemented in the form of software function modules and sold or used as independent products, they can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiment of the present invention can be essentially or partly reflected in the form of a software product that contributes to the relevant technology. The computer software product is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, terminal, or network device, etc.) to execute all or part of the methods of each embodiment of the present invention. The aforementioned storage medium includes: various media that can store program codes, such as mobile storage devices, RAM, ROM, magnetic disks or optical disks.

[0132] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims

1. A pulp ship loading optimization method based on multi-level solution, characterized in that: The method comprises: S1: determining a loading area of ​​a pulp ship according to ship information, and selecting pulp bales corresponding to the loading area through a probability distribution function; S2: Generate a skyline list in the loading area according to the skyline algorithm, traverse all skylines to select the skyline that meets the loading area constraint, and generate a first-level solution for pulp bale loading; S3: Optimizing the primary solution according to the red line collision constraint and the blind area obstacle avoidance constraint until all pulp bales are traversed and the secondary solution is output; S4: using a neighborhood search algorithm to perform cross-replacement and mutation optimization on the pulp bales of the secondary solution, and determining a tertiary solution through a scoring function and a comparison function of the neighborhood search algorithm; S5: performing post-processing operations of identifying, adjusting, and filling gaps in the loading area on the three-level solution, optimizing the three-level solution with the goal of maximizing the number of pulp bales loaded, and outputting and saving it as a target solution; The method of using a neighborhood search algorithm to perform cross-replacement and mutation optimization on the pulp bales of the secondary solution and determining the tertiary solution through a scoring function and a comparison function of the neighborhood search algorithm includes: S41: defining a neighborhood search function according to the ship information and the secondary solution, setting a target number of loop optimizations for the secondary solution, updating the pulp package loading list of the secondary solution, and optimizing and iterating the secondary solution through the neighborhood search function; S42: in the optimization iteration process, cross-replacing the pulp bale positions of the secondary solution in random order until the number of cyclic optimization times of the secondary solution is less than one third of the target number; S43: when the number of iteration optimizations of the secondary solution is between one third and two thirds of the target number, optimizing the variation of the pulp bale to a pulp bale of a new size according to the probability distribution function of the cabin type constraint configuration; S44: when the number of loop optimizations of the secondary solution is between two-thirds of the target number and the maximum target number, a uniform distribution random mutation method is used to mutate the pulp bale into a new pulp bale with a uniform probability distribution, the secondary solution is traversed until the neighborhood search operation of all pulp bales is completed, and an optimized secondary solution is output; S45: Optimizing the scores of pulp bale loading schemes in the loading area in the secondary solution through scoring function calculation, sorting the loading scheme scores according to the scoring priority of the comparison function, and selecting the pulp bale loading scheme with the highest score to update it as the tertiary solution output after the neighborhood search operation.

2. The pulp ship loading optimization method based on multi-level solution according to claim 1 is characterized in that: The step of determining the loading area of ​​the pulp ship according to the ship information and selecting the pulp bales corresponding to the loading area by using a probability distribution function comprises: S11: defining a probability distribution function based on pulp bale size and quantity constraints, and configuring a probability mode for the probability distribution function according to the cabin type constraints; S12: traverse the pulp bales, and determine that the current loading area is not the bow and stern cabins of the ship, then select the max_area mode to allocate the probability of selecting the pulp bales according to the area of ​​the pulp bales; S13: traverse the pulp bales, and determine that the current loading area is the bow and stern cabins of the ship, then select the max_min mode to distribute the probability of selecting the pulp bales according to the sum of the length and width of the pulp bales; S14: Select the waste_area mode to traverse the distribution probability values ​​generated by all pulp packages, and calculate the target probability of each pulp package by summing the distribution probability values; S15: Select pulp bales to be placed in the corresponding loading area in sequence according to the target probability.

3. The pulp ship loading optimization method based on multi-level solution according to claim 1 is characterized in that: The method of generating a skyline list in the loadable area according to the skyline algorithm, traversing all skylines to select a skyline that satisfies the loading area constraint, and generating a first-level solution for pulp bale loading includes: S21: The irregular area is transformed into a regular loading area including a rectangle, a step shape and a trapezoid by defining the shape change of the loading area, and then the three-dimensional packing task of the regular loading area is transformed into a two-dimensional packing task according to the obtained pulp bales and cabin heights, and the pulp bales are optimized by minimizing the area waste rate of the loading area through the bottom-left algorithm; S22: Generate a skyline list in the loadable area by using a skyline algorithm, and divide the loadable area into a packed area and an unpacked area based on the skyline, wherein the skyline includes endpoint coordinates and a skyline length; S23: based on the constraint condition that the coordinates of the skyline endpoints are the smallest on the X-axis and the Y-axis respectively, the pulp bales identified as rectangular boxes are allocated to the unboxed areas of the skyline segmentation, the skyline is cut by the rectangular box and a new skyline is generated at the top of the rectangular box and added to the skyline list, and the current skyline that cannot be allocated with a rectangular box is merged with other skylines and the skyline list is updated; S24: traverse the pulp packages, assign the selected pulp packages to different skylines to calculate the wasted area, obtain the selected pulp package and skyline combination with the smallest wasted area by traversing the skyline list, and pack the pulp packages into the loadable area based on the selected pulp packages and skyline combination to generate a primary solution including a pulp package loading list.

4. The method for optimizing loading of a pulp ship based on multi-level solution according to claim 3, characterized in that: Optimizing the primary solution according to the redline collision constraint includes: S31: Obtain the number of red lines according to the ship information and preset the red line touching limit times; when loading the pulp package through the pulp package loading list, make a judgment based on the actual red line touching times and the touching limit times; if the red line touching times exceed the touching limit times, mutate the pulp package into a pulp package that does not touch the red line according to the pulp package loading list; if the pulp package cannot be mutated, discard the current pulp package and load the next pulp package.

5. The method for optimizing loading of a pulp ship based on multi-level solution according to claim 4, characterized in that: The step of optimizing the primary solution according to the blind spot obstacle avoidance constraint until all pulp bales are traversed and the secondary solution is outputted includes: S32: Acquire work restriction information of the ship's waist and crane through the ship information, and generate a ship obstacle avoidance blind area according to the work restriction information, wherein the ship obstacle avoidance blind area includes a circular blind area, an upper blind area, and a lower blind area; S33: traverse the pulp package list, calculate the distance between the center of the circular blind area and the center of gravity of the pulp package, if the distance is greater than the radius of the blind area, return the pulp package data to the pulp package list to calculate the next pulp package, if the distance is less than the radius of the blind area, calculate the intersection coordinates of the pulp package and the circular blind area according to the center of gravity height of the pulp package, move the pulp package to the edge of the circular blind area according to the intersection coordinates to avoid obstacles, and return the moved pulp package data to the pulp package list; S34: traverse the pulp package loading list, calculate the distance between the lower blind area and the center of gravity of the pulp package, if the center of gravity of the pulp package is not in the lower blind area and the pulp package is not located in the projection of the lower blind area, return the pulp package data to the pulp package loading list to calculate the next pulp package, if the center of gravity of the pulp package is in the lower blind area, search the pulp package loading list to mutate the pulp package into a mutant pulp package with a height of more than twice the lower blind area, and return the mutant pulp package data to the pulp package loading list; S35: traverse the pulp package loading list, determine whether the next pulp package can be loaded above the currently loaded pulp package to avoid the upper blind area, if yes, load the next pulp package, if not, determine the positional relationship between the next pulp package and the upper blind area, continue loading when the center of gravity of the pulp package is far away from the upper blind area, and when the center of gravity of the pulp package is within the upper blind area, mutate the pulp package into a larger pulp package until the center of gravity of the pulp package is far away from the upper blind area, and return the pulp package data to the pulp package loading list; S36: Confirm that all pulp bales have been loaded according to the pulp bale loading list, and update the skyline list in real time when each pulp bale is loaded, and output the secondary solution of the pulp bale loading.

6. The method for optimizing loading of a pulp ship based on multi-level solution according to claim 1, characterized in that: The post-processing operation of identifying, adjusting, and filling the gaps in the loading area of ​​the three-level solution to optimize the three-level solution with the goal of maximizing the number of pulp bales loaded, and outputting and saving it as a target solution includes: S51: Acquire the pulp package loading position information and loading area information of the third-level solution; S52: Detecting the gap area of ​​the loading area according to the post-processing strategy, dividing the gap area into a number of rectangular blocks and obtaining position information and size information of the rectangular blocks; S53: traversing the rectangular blocks, merging the rectangular blocks into gap rectangular blocks with the maximum gap area of ​​the merged rectangular blocks as a constraint, and acquiring position information and size information of the gap rectangular blocks; S54: determining the number of rows and columns of the gap pulp bale combination according to the sizes of the gap rectangular blocks and the pulp bales without detecting the rationality of the pulp bale combination; S55: Detecting the rationality of the current gap pulp package combination. If it is reasonable, fill the gap pulp package in the gap rectangular block. If it is unreasonable, adjust the number of pulp packages in the rows and columns of the gap pulp package combination according to the number limit of the gap pulp package combination and the number limit of the rows and columns, until the gap pulp package combination is tested to be legal and then filled in the gap rectangular block, and output the pulp package type and position information of the gap pulp package combination; S56: traverse all the gap rectangular blocks until the target optimization of maximizing the amount of loaded pulp is completed, and the third-level solution is updated as the target solution for storage.

7. A pulp ship loading optimization system based on multi-level solution, characterized in that: The system comprises: A preliminary selection module, used to determine the loading area of ​​the pulp ship according to the ship information, and select the pulp bales corresponding to the loading area through a probability distribution function; The first-level solution module is used to generate a list of skylines in the loadable area according to the skyline algorithm, traverse all skylines to select the skyline that meets the loading area constraints, and generate a first-level solution for pulp bale loading; A secondary solution module, used for optimizing the primary solution according to the red line collision constraint and the blind area obstacle avoidance constraint, until all pulp bales are traversed to output the secondary solution; A third-level solution module, for performing cross-replacement and mutation optimization on the pulp bales of the second-level solution by using a neighborhood search algorithm, and determining the third-level solution by using a scoring function and a comparison function of the neighborhood search algorithm; A target solution module is used for performing post-processing operations of identifying, adjusting, and filling gaps in the loading area on the three-level solution, optimizing the three-level solution with the goal of maximizing the number of pulp bales loaded, and outputting and saving it as a target solution; The method of using a neighborhood search algorithm to perform cross-replacement and mutation optimization on the pulp bales of the secondary solution and determining the tertiary solution through a scoring function and a comparison function of the neighborhood search algorithm includes: A neighborhood search function is defined according to the ship information and the secondary solution, the target number of loop optimization of the secondary solution is set, the pulp package loading list of the secondary solution is updated, and the secondary solution is optimized and iterated by the neighborhood search function; in the optimization iteration process, the pulp package positions of the secondary solution are cross-replaced in random order until the number of loop optimization of the secondary solution is less than one third of the target number; when the number of loop optimization of the secondary solution is between one third and two thirds of the target number, the pulp package is mutated and optimized to a pulp package of a new size according to the probability distribution function of the cabin type constraint configuration; when the number of loop optimization of the secondary solution is between two thirds of the target number and the maximum target number, the pulp package is mutated to a new pulp package with a uniform probability distribution using a uniform distribution random mutation method, the secondary solution is traversed until the neighborhood search operation of all pulp packages is completed, and the optimized secondary solution is output; the score of the pulp package stowage plan in the loading area of ​​the optimized secondary solution is calculated by a scoring function, the stowage plan score is sorted according to the scoring priority of the comparison function, and the pulp package stowage plan with the highest score is selected and updated to the third-level solution output after the neighborhood search operation.

8. A pulp ship loading optimization device based on multi-level solution, characterized in that: include: at least one processor, and a memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the pulp ship loading optimization method based on multi-level solution as described in any one of claims 1 to 6.

9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-executable instructions, and the computer-executable instructions are used to enable a computer to execute the pulp ship loading optimization method based on multi-level solution as described in any one of claims 1 to 6.

Citation Information

Patent Citations

  • Three-dimensional loading optimization method based on spatial region division model

    CN113222291A

  • Port ship dispatching optimization method and device and storage medium

    CN115564144A