A method, system, equipment and medium for loading single type of pulp on a pulp ship

By using ship data files, loading area segmentation method, skyline algorithm and neighborhood search algorithm in pulp boat loading, combined with probability distribution function, the pulp package sequence is generated and optimized, and the problem that the existing technology cannot meet the refined needs is solved, and efficient and safe pulp boat loading is achieved.

CN118115057BActive Publication Date: 2025-05-02COSCO SHIPPING
View PDF 3 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

The existing pulp boat loading technology cannot meet the needs of refinement and cannot accurately realize the flat stack loading of pulp, resulting in poor rationality, economy and safety of the output loading diagram.

Method used

The ship information is obtained through the ship data file, and the ship information is defined as multiple information classes using the loading area segmentation method, and input data as the pulp loading algorithm is generated. The optimized skyline algorithm and neighborhood search algorithm are used to combine the probability distribution function to generate a combined pulp packet sequence, and the initial solution generation and optimization of the pulp packet is carried out under the conditions that meet the blind spot constraints and the red line collision constraints, and finally the loaded pulp number is maximized through post-processing operations.

Benefits of technology

The rationality, economy and safety of pulp boat loading have been improved, the refined needs of pulp boat loading schemes have been met, and the goal of maximizing the loading quantity of pulp is achieved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118115057B_ABST
    Figure CN118115057B_ABST
Patent Text Reader

Abstract

The present invention proposes a single-class pulp stowage method, system, equipment and medium for a pulp ship, the method comprising: defining the ship information into multiple information classes through a stowage area segmentation method, generating input data as a pulp stowage algorithm; traversing the basic pulp and the loadable area of ​​the cabin, generating a combined pulp package list according to the selected loading area and the basic pulp; generating a combined pulp package sequence from the combined pulp package list according to a probability distribution function; using an optimized skyline algorithm to pack the pulp packages into the loadable area to generate an initial solution; using a neighborhood search algorithm to perform cross replacement and mutation optimization on the pulp packages of the initial solution to solve a target solution; performing post-processing operations of identifying, adjusting and filling the gaps in the loadable area on the target solution, optimizing the target solution with the goal of maximizing the amount of loaded pulp and saving it as the final stowage result; if the loadable area has not been traversed completely, returning until the basic pulp has been traversed completely, and outputting a stowage result file.
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 method, system, equipment and medium for loading a single type of pulp on a pulp ship. 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 the stowage of pulp ships. The research on automatic stowage of ship cargo focuses on ro-ro ships and container ships, which has certain reference significance for the stowage of pulp ships. For example, the announcement number "CN115809746B" discloses a stowage method for pulp ships based on automatic stowage of the entire ship. According to the loading and unloading plan and the stowage plan, a single-layer pulp stowage map is used to generate a full-ship pulp stowage map, which is suitable for pulps of different specifications, and the optimal stowage plan is determined according to the stowage optimization target. The above scheme is indeed beneficial, but in actual application scenarios, the stowage of pulp ships still needs to consider the irregular structures of the cabin, such as steps and waist dimples, and there are blind spots in the lifting process. At the same time, the height of the pulp stowage is not proportional to the irregular structure, and the flat stacking stowage of the pulp cannot be accurately achieved, and the refined requirements of the pulp ship stowage plan cannot be met, resulting in poor rationality, economy and safety of the output stowage map.

[0005] Therefore, a single-type pulp loading method for a pulp ship is urgently needed to solve the problem that the current pulp ship loading scheme cannot meet the refined needs. Summary of the invention

[0006] In view of the deficiencies in the prior art, the present invention provides a method, system, equipment and medium for loading a single type of pulp on a pulp ship.

[0007] The first aspect of the present invention discloses a method for loading a single type of pulp on a pulp ship, comprising:

[0008] S1: obtaining ship information through a ship data file, defining the ship information into multiple information classes through a stowage area segmentation method, converting the ship information containing multiple information classes into size information through relative coordinates to generate input data for a pulp stowage algorithm, wherein the input data includes size information of a loadable area in a cabin, pulp size information, and stowage red line information;

[0009] S2: traverse the basic pulp size information and the size information of the loadable area in the cabin, select a basic pulp and a loadable area, and generate a combined pulp package list containing all combined pulp package sizes according to the selected loading area and basic pulp;

[0010] S3: calling a probability distribution function according to different cabin type constraints to generate a combined pulp bale sequence for loading from the combined pulp bale list;

[0011] S4: Using the optimized skyline algorithm, the pulp bale stowage is converted into a two-dimensional packing task by defining the loading area, and the pulp bales and skyline combinations are selected to put the pulp bales in the combined pulp bale sequence into the loading area, and the initial solution is generated under the conditions of satisfying the blind area constraint and the red line collision constraint;

[0012] S5: using a neighborhood search algorithm to perform cross-replacement and mutation optimization on the pulp bales of the initial solution, selecting the optimal solution of the initial solution solving process through the scoring function and comparison function of the neighborhood search algorithm, and outputting the optimal solution as the target solution;

[0013] S6: performing post-processing operations of identifying, adjusting, and filling gaps in the loading area on the target solution, optimizing the target solution with the goal of maximizing the amount of loaded pulp and saving it as the final loading result;

[0014] S7: If the loading area has not been traversed completely, return to step S2 until the basic pulp has been traversed completely, and output the loading result file.

[0015] In an optional embodiment, the ship data file is a JSON format file, which saves the crane base number, crane base position coordinates, crane radius, cabin number, cabin size, cabin position coordinates, cabin waist size, cabin layer number, cabin layer size and cabin layer loading area size through a dictionary data structure.

[0016] In an optional embodiment, defining the ship information into multiple information categories by using the stowage area segmentation method includes:

[0017] S11: Divide the ship into a crane area, a cabin area, a cabin layer area and a cabin layer loadable area;

[0018] S12: Define information classes of the ship segmentation areas respectively, and save the corresponding area information in the information classes.

[0019] In an optional embodiment, the converting the ship information containing multiple information categories into size information through relative coordinates to generate input data for the pulp loading algorithm includes:

[0020] S13: Obtaining absolute coordinates according to key points of the loadable area, setting a coordinate system center at the center of the stern, and converting the coordinate points of the absolute coordinates into relative coordinate points by using a coordinate conversion tool;

[0021] S14: Identify the assembly area as a rectangular area through a segmentation algorithm, obtain the ship red line information according to the relative coordinate points and return the blind spot position coordinates, blind spot radius, size information of the loading area, pulp size information, and red line information including the coordinates of two red line points.

[0022] In an optional embodiment, the generating a combined pulp package sequence for loading into the cabin from the combined pulp package list by calling a probability distribution function according to different cabin type constraints comprises:

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

[0024] S32: traversing the combined pulp bale list, judging that the current loading area is not the bow and stern cabin of the ship, selecting the max_area mode to allocate the probability of selecting a pulp bale according to the area of ​​the pulp bales in the combined pulp bale list;

[0025] S33: traversing the combined pulp bale list, determining that the current loading area is the bow and stern holds of the ship, and selecting the max_min mode to allocate the probability of selecting a pulp bale according to the sum of the length and width of the pulp bales in the combined pulp bale list;

[0026] S34: 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;

[0027] S35: traverse to generate a target length of a combined pulp package sequence, select a combined pulp package according to the target probability and the target length, and mark the corresponding sequence subscript, and generate a combined pulp package sequence from the combined pulp package list according to the sequence subscript.

[0028] In an optional embodiment, the step of converting pulp bale loading into a two-dimensional packing task by defining a loading area using an optimized skyline algorithm, and packing pulp bales in the combined pulp bale sequence into the loading area comprises:

[0029] S41: 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 with the goal of minimizing the area waste rate of the loading area through the bottom-left algorithm;

[0030] S42: 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 by using the skyline, wherein the skyline includes endpoint coordinates and a skyline length;

[0031] S43: 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 to update the skyline list;

[0032] S44: traverse the combined pulp package sequence and read the pulp packages in the sequence list in turn, allocate 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 in the combined pulp package sequence into the loadable area based on the selected pulp package and skyline combination to generate a pulp package loading list.

[0033] In an optional embodiment, generating an initial solution under the condition of satisfying a blind spot constraint and a red line collision constraint includes:

[0034] S45: obtaining the number of red lines according to the input data and presetting the red line touching limit times, and making a judgment according to the actual red line touching times and the touching limit times when loading the pulp package through the pulp package loading list; if the red line touching times exceed the touching limit times, the pulp package is mutated 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, the current pulp package is discarded and the next pulp package is loaded;

[0035] S46: 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;

[0036] S47: 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;

[0037] S48: 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 more than twice that of the lower blind area, and return the mutant pulp package data to the pulp package loading list;

[0038] S49: 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;

[0039] S410: confirming that all pulp bales in the combined pulp bale sequence have completed loading according to the pulp bale loading list, and updating the skyline list in real time when loading each pulp bale, and outputting an initial solution for pulp bale loading.

[0040] In an optional embodiment, the adopting of a neighborhood search algorithm to perform cross-replacement and mutation optimization on the pulp bales of the initial solution, selecting the optimal solution of the initial solution solving process through the scoring function and comparison function of the neighborhood search algorithm, and outputting the optimal solution as the target solution comprises:

[0041] S51: defining a neighborhood search function according to the input data and the initial solution, setting a target number of loop optimizations for the initial solution, updating the pulp packaging list of the initial solution, and optimizing the initial solution iteratively through the neighborhood search function;

[0042] S52: in the optimization iteration process, the pulp bale positions of the initial solution are cross-replaced in random order until the number of cyclic optimizations of the initial solution is less than one third of the target number;

[0043] S53: when the number of iteration optimizations of the initial 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;

[0044] S54: when the number of loop optimizations of the initial 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 package into a new pulp package with a uniform probability distribution, the initial solution is traversed until the neighborhood search operation of all pulp packages is completed, and a list of pulp packages of the optimal solution is output;

[0045] S55: Calculate the score of the pulp bale loading scheme in the loading area in the optimal solution through the scoring function, sort the loading scheme scores according to the scoring priority of the comparison function, and select the pulp bale loading scheme with the highest score to update it as the target solution output after the neighborhood search operation.

[0046] In an optional embodiment, the post-processing operation of identifying, adjusting, and filling gaps in the loading area of ​​the target solution to optimize the target solution with the goal of maximizing the amount of loaded pulp and saving it as the final loading result includes:

[0047] S61: Acquire the pulp package loading position information and loading area information of the target solution;

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

[0049] S63: 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;

[0050] S64: 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;

[0051] S65: 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;

[0052] S66: Traverse all the gap rectangular blocks until the target optimization of maximizing the amount of loaded pulp is completed, and update the target solution to the final loading result for storage.

[0053] A second aspect of the present invention discloses a single-type pulp loading system for a pulp ship, the system comprising:

[0054] A data processing module is used to obtain ship information through a ship data file, define the ship information into multiple information classes through a stowage area segmentation method, and convert the ship information containing multiple information classes into size information through relative coordinates to generate input data for a pulp stowage algorithm, wherein the input data includes size information of a loadable area in a cabin, pulp size information, and stowage red line information;

[0055] A loading and matching module is used to traverse the basic pulp size information and the size information of the loadable area of ​​the cabin, select a basic pulp and a loadable area, and generate a combined pulp package list containing all combined pulp package sizes according to the selected loading area and basic pulp;

[0056] A loading sequence generation module, used for generating a combined pulp bale sequence for loading from the combined pulp bale list by calling a probability distribution function according to different cabin type constraints;

[0057] The initial solution module is used to convert the pulp bale stowage into a two-dimensional packing task by defining the loading area using the optimized skyline algorithm, select the pulp bale and skyline combination to put the pulp bales in the combined pulp bale sequence into the loading area, and generate the initial solution under the conditions of satisfying the blind area constraint and the red line collision constraint;

[0058] An optimization solution module, used for performing cross-replacement and mutation optimization on the pulp bales of the initial solution by using a neighborhood search algorithm, selecting the optimal solution of the initial solution solution process by using a scoring function and a comparison function of the neighborhood search algorithm, and outputting the optimal solution as a target solution;

[0059] A post-processing module, used for performing post-processing operations of identifying, adjusting, and filling gaps in the loading area on the target solution, so as to optimize the target solution with the goal of maximizing the amount of loaded pulp and save it as the final loading result;

[0060] The loading result output module is used to return to the loading selection module if the loadable area has not been traversed until the basic pulp has been traversed, and output the loading result file.

[0061] The third aspect of the present invention discloses a single-type pulp loading device for a pulp ship, comprising:

[0062] at least one processor, and

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

[0064] 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 single-type pulp loading method for a pulp vessel as disclosed in any one of the first aspects of the present invention.

[0065] A fourth aspect of the present invention discloses a computer-readable storage medium storing computer-executable instructions for causing a computer to execute a method for loading a single type of pulp on a pulp vessel as disclosed in any one of the first aspect of the present invention.

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

[0067] The present invention uses an optimized skyline algorithm to sequentially place pulp packages in a combined pulp package sequence into a loadable area to generate an initial solution, and then performs crossover and mutation on the initial solution, performs neighborhood searches multiple times to find the optimal solution, and then performs post-processing operations such as identifying, adjusting, and filling gaps on the optimal solution to maximize the amount of pulp loaded and save the final result. The optimization solution process takes into account the irregular structure of the cabin, the placement blind area, and the refined requirements of the non-proportional relationship between the height and the irregular structure, thereby improving the rationality, economy, and safety of the output loading results, and providing an effective solution for the loading of pulp ships. BRIEF DESCRIPTION OF THE DRAWINGS

[0068] 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.

[0069] Figure 1 It is a flow chart of a method for loading a single type of pulp on a pulp ship of the present invention;

[0070] Figure 2 It is a schematic diagram of a single type of pulp loading system of a pulp ship of the present invention. DETAILED DESCRIPTION

[0071] 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.

[0072] 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.

[0073] 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.

[0074] 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.

[0075] Example 1

[0076] See also Figure 1 The embodiment of the present invention discloses a method for loading a single type of pulp on a pulp ship, comprising:

[0077] S1: obtaining ship information through a ship data file, defining the ship information into multiple information classes through a stowage area segmentation method, converting the ship information containing multiple information classes into size information through relative coordinates to generate input data for a pulp stowage algorithm, wherein the input data includes size information of a loadable area in a cabin, pulp size information, and stowage red line information;

[0078] In an optional embodiment, the ship data file is a JSON format file, which saves the crane base number, crane base position coordinates, crane radius, cabin number, cabin size, cabin position coordinates, cabin waist size, cabin layer number, cabin layer size and cabin layer loading area size through a dictionary data structure.

[0079] In an optional embodiment, defining the ship information into multiple information categories by using the stowage area segmentation method includes:

[0080] S11: Divide the ship into a crane area, a cabin area, a cabin layer area and a cabin layer loadable area;

[0081] S12: Define information classes of the ship segmentation areas respectively, and save the corresponding area information in the information classes.

[0082] In an optional embodiment, the converting the ship information containing multiple information categories into size information through relative coordinates to generate input data for the pulp loading algorithm includes:

[0083] S13: Obtaining absolute coordinates according to key points of the loadable area, setting a coordinate system center at the center of the stern, and converting the coordinate points of the absolute coordinates into relative coordinate points by using a coordinate conversion tool;

[0084] S14: Identify the assembly area as a rectangular area through a segmentation algorithm, obtain the ship red line information according to the relative coordinate points and return the blind spot position coordinates, blind spot radius, size information of the loading area, pulp size information, and red line information including the coordinates of two red line points.

[0085] It should be noted that due to the presence of steps and dimples inside the cabin, and the blind spots where the crane cannot be placed during lifting, the available area in the cabin is not a simple rectangular shape, and the cabin areas need to be re-divided to generate the loading area required by the algorithm. Considering the presence of steps and dimples in the cabin, the cabin is divided into multiple loading areas based on the height information of the steps and dimples. At the same time, considering that the height of the steps and the pulp is not proportional during pulp loading, there will be a height difference in the same layer of pulp, and the cabin layers are divided into multiple loading areas based on the size and position of the steps.

[0086] Furthermore, based on the above segmentation method, a ship is divided into cranes, cabins, cabin layers, and loading areas on each layer, and multiple classes are defined to save input information:

[0087] class CRANEDTATA#defines the crane class and saves the crane related attributes

[0088] class CABIN#defines the cabin class and saves cabin-related attributes

[0089] class LAYER#defines the cabin layer class and saves cabin layer related attributes

[0090] class LAYERTYPE#defines the possible division methods of the cabin layer

[0091] class LA_COORD#Defines the loadable area class and saves the loadable area related attributes

[0092] class TOP_OBSTACLE#Define the waist dimple class and save the waist dimple related attributes

[0093] Based on the input information saved in the above classes, it needs to be converted into the size information of the loadable area, pulp size information, and loading redline information required by the algorithm.

[0094] Furthermore, since the loadable area is represented by the absolute coordinates of each key point (LASLP_XC_LIST, LASLP_YC_LIST), the absolute coordinate to relative coordinate algorithm is implemented through the function change_coordinate, and then based on the relative coordinates, the length and width information of the loadable area is obtained, which is implemented through the function get_stwoageCase, and finally the size information of the loadable area is obtained. The specific steps are as follows: the default original coordinate system is the stern center; the coordinate points in the absolute coordinates are converted to relative coordinate points to obtain the coordinates with conversion points; the coordinates of the relative coordinate origin in the original coordinate system are obtained, and the relative coordinate origin is determined in the original coordinate system. Whether the original coordinates are opposite in the x and y directions (regardless of whether the axis is converted), and then further determine whether the xy axes are swapped; based on the above relative coordinate information, the red line information of each loading area can be generated, which is implemented through the function get_redline, and finally the red line information redlines is obtained, and all possible red lines are further obtained, keeping the direction of the line the same and confirming the overlap with the cabin as the red line. Taking the input of cabin number 6, the third floor, the fourth segmentation method, and the fifth loadable area as an example, the algorithm recognizes the loadable area as a rectangle, and returns the position coordinates and radius of the circular blind area, the size information of the loadable area, and the coordinates of the two points of the red line.

[0095] S2: traverse the basic pulp size information and the size information of the loadable area in the cabin, select a basic pulp and a loadable area, and generate a combined pulp package list containing all combined pulp package sizes according to the selected loading area and basic pulp;

[0096] It should be noted that before loading the pulp bales, the corresponding assembly area and the pulp bales assembled in the area need to be generated, and each loadable area is traversed first, and then all the pulp bales of this loading task are traversed to ensure that all loading areas have completed the loading of the pulp bales and all the pulp bales are loaded in the ship's cabin.

[0097] S3: calling a probability distribution function according to different cabin type constraints to generate a combined pulp bale sequence for loading from the combined pulp bale list;

[0098] In an optional embodiment, the generating a combined pulp package sequence for loading into the cabin from the combined pulp package list by calling a probability distribution function according to different cabin type constraints comprises:

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

[0100] S32: traversing the combined pulp bale list, judging that the current loading area is not the bow and stern cabin of the ship, selecting the max_area mode to allocate the probability of selecting a pulp bale according to the area of ​​the pulp bales in the combined pulp bale list;

[0101] S33: traversing the combined pulp bale list, determining that the current loading area is the bow and stern holds of the ship, and selecting the max_min mode to allocate the probability of selecting a pulp bale according to the sum of the length and width of the pulp bales in the combined pulp bale list;

[0102] S34: 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;

[0103] S35: traverse to generate a target length of a combined pulp package sequence, select a combined pulp package according to the target probability and the target length, and mark the corresponding sequence subscript, and generate a combined pulp package sequence from the combined pulp package list according to the sequence subscript.

[0104] It should be noted that, given the list of combined pulp packages that can be loaded in the current cabin (including the sizes of various combined pulp packages), a sequence of combined pulp packages of specified length is generated, which is used to try to load them into the cabin in sequence as the task goal. The combined pulp package sequence for loading is generated by the input combined pulp package list, and a combined pulp package of a certain size is selected from the input combined pulp package list in sequence 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, it is considered to give priority to loading combined pulp packages with larger sizes. 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 larger the size of the pulp package is, the priority is given to 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.

[0105] S4: Using the optimized skyline algorithm, the pulp bale stowage is converted into a two-dimensional packing task by defining the loading area, and the pulp bales and skyline combinations are selected to put the pulp bales in the combined pulp bale sequence into the loading area, and the initial solution is generated under the conditions of satisfying the blind area constraint and the red line collision constraint;

[0106] It should be noted that the task objective is to load the pulp bale sequences into the cabin in order given the combined pulp bale sequences and cabin data, and output the initial solution for pulp bale loading, including the number, size and position of pulp bales loaded in each loading area.

[0107] 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.

[0108] In an optional embodiment, the step of converting pulp bale loading into a two-dimensional packing task by defining a loading area using an optimized skyline algorithm, and packing pulp bales in the combined pulp bale sequence into the loading area comprises:

[0109] S41: 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 with the goal of minimizing the area waste rate of the loading area through the bottom-left algorithm;

[0110] It should be explained that the Skyline algorithm is suitable for the rectangular packing problem. However, in this project, the loading 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 contacts with the bulkhead and the center of gravity of the pulp bale cannot fall within the blind spot. Therefore, the skyline algorithm needs to be optimized.

[0111] Furthermore, in order to adapt to the requirements of various shapes of loading areas such as convex shapes in the task, the following basic framework is defined, which transforms the irregular area into a rectangular loading area, a stepped loading area and a convex loading area suitable for pulp packaging by changing the height and width of the irregular area.

[0112] S42: 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 by using the skyline, wherein the skyline includes endpoint coordinates and a skyline length;

[0113] S43: 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 to update the skyline list;

[0114] S44: traverse the combined pulp package sequence and read the pulp packages in the sequence list in turn, allocate 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 in the combined pulp package sequence into the loadable area based on the selected pulp package and skyline combination to generate a pulp package loading list.

[0115] It should be noted that 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 endpoint on the left 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. After 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 obviously cannot be placed on 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.

[0116] 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.

[0117] In an optional embodiment, generating an initial solution under the condition of satisfying a blind spot constraint and a red line collision constraint includes:

[0118] S45: obtaining the number of red lines according to the input data and presetting the red line touching limit times, and making a judgment according to the actual red line touching times and the touching limit times when loading the pulp package through the pulp package loading list; if the red line touching times exceed the touching limit times, the pulp package is mutated 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, the current pulp package is discarded and the next pulp package is loaded;

[0119] It should be noted that, since the constraint target of pulp loading includes that the number of times the pulp bale touches the red line (i.e., the number of times the short side of the pulp bale touches 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.

[0120] S46: 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;

[0121] 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.

[0122] 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.

[0123] S47: 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;

[0124] S48: 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 more than twice that of the lower blind area, and return the mutant pulp package data to the pulp package loading list;

[0125] S49: 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;

[0126] S410: confirming that all pulp bales in the combined pulp bale sequence have completed loading according to the pulp bale loading list, and updating the skyline list in real time when loading each pulp bale, and outputting an initial solution for pulp bale loading.

[0127] S5: using a neighborhood search algorithm to perform cross-replacement and mutation optimization on the pulp bales of the initial solution, selecting the optimal solution of the initial solution solving process through the scoring function and comparison function of the neighborhood search algorithm, and outputting the optimal solution as the target solution;

[0128] It should be noted that after the above-mentioned optimized skyline algorithm is calculated, an initial 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.

[0129] In an optional embodiment, the adopting of a neighborhood search algorithm to perform cross-replacement and mutation optimization on the pulp bales of the initial solution, selecting the optimal solution of the initial solution solving process through the scoring function and comparison function of the neighborhood search algorithm, and outputting the optimal solution as the target solution comprises:

[0130] S51: defining a neighborhood search function according to the input data and the initial solution, setting a target number of loop optimizations for the initial solution, updating the pulp packaging list of the initial solution, and optimizing the initial solution iteratively through the neighborhood search function;

[0131] S52: in the optimization iteration process, the pulp bale positions of the initial solution are cross-replaced in random order until the number of cyclic optimizations of the initial solution is less than one third of the target number;

[0132] S53: when the number of iteration optimizations of the initial 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;

[0133] S54: when the number of loop optimizations of the initial 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 package into a new pulp package with a uniform probability distribution, the initial solution is traversed until the neighborhood search operation of all pulp packages is completed, and a list of pulp packages of the optimal solution is output;

[0134] S55: Calculate the score of the pulp bale loading scheme in the loading area in the optimal solution through the scoring function, sort the loading scheme scores according to the scoring priority of the comparison function, and select the pulp bale loading scheme with the highest score to update it as the target solution output after the neighborhood search operation.

[0135] It should be noted that the pulp package sequence is updated by defining a neighborhood search function. The neighborhood search function is def update_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 indicates whether it is the fore and aft cabin, type represents the type of basic pulp currently loaded, and the scoring function is defined to include calculating the number of basic pulp packages loaded in the loading area, the number of combined pulp packages loaded in the loading area, and 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 touches.

[0136] S6: performing post-processing operations of identifying, adjusting, and filling gaps in the loading area on the target solution, optimizing the target solution with the goal of maximizing the amount of loaded pulp and saving it as the final loading result;

[0137] It should be noted that after the target 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 as large a pulp package as possible 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.

[0138] In an optional embodiment, the post-processing operation of identifying, adjusting, and filling gaps in the loading area of ​​the target solution to optimize the target solution with the goal of maximizing the amount of loaded pulp and saving it as the final loading result includes:

[0139] S61: Acquire the pulp package loading position information and loading area information of the target solution;

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

[0141] S63: 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;

[0142] S64: 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;

[0143] S65: 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;

[0144] S66: Traverse all the gap rectangular blocks until the target optimization of maximizing the amount of loaded pulp is completed, and update the target solution to the final loading result for storage.

[0145] S7: If the loading area has not been traversed completely, return to step S2 until the basic pulp has been traversed completely, and output the loading result file.

[0146] 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 of basic pulp packages is reasonable (satisfying the legality constraint of 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 illegal, it is considered that the reason for the illegality 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 illegal, it is halved until the combined pulp package is reasonable.

[0147] The present invention uses an optimized skyline algorithm to sequentially place pulp packages in a combined pulp package sequence into a loadable area to generate an initial solution, and then performs crossover and mutation on the initial solution, performs neighborhood searches multiple times to find the optimal solution, and then performs post-processing operations such as identifying, adjusting, and filling gaps on the optimal solution to maximize the amount of pulp loaded and save the final result. The optimization solution process takes into account the irregular structure of the cabin, the placement blind area, and the refined requirements of the non-proportional relationship between the height and the irregular structure, thereby improving the rationality, economy, and safety of the output loading results, and providing an effective solution for the loading of pulp ships.

[0148] like Figure 2 As shown, the second aspect of the present invention discloses a single-type pulp loading system for a pulp ship, the system comprising:

[0149] A data processing module is used to obtain ship information through a ship data file, define the ship information into multiple information classes through a stowage area segmentation method, and convert the ship information containing multiple information classes into size information through relative coordinates to generate input data for a pulp stowage algorithm, wherein the input data includes size information of a loadable area in a cabin, pulp size information, and stowage red line information;

[0150] A loading and matching module is used to traverse the basic pulp size information and the size information of the loadable area of ​​the cabin, select a basic pulp and a loadable area, and generate a combined pulp package list containing all combined pulp package sizes according to the selected loading area and basic pulp;

[0151] A loading sequence generation module, used for generating a combined pulp bale sequence for loading from the combined pulp bale list by calling a probability distribution function according to different cabin type constraints;

[0152] The initial solution module is used to convert the pulp bale stowage into a two-dimensional packing task by defining the loading area using the optimized skyline algorithm, select the pulp bale and skyline combination to put the pulp bales in the combined pulp bale sequence into the loading area, and generate the initial solution under the conditions of satisfying the blind area constraint and the red line collision constraint;

[0153] An optimization solution module, used for performing cross-replacement and mutation optimization on the pulp bales of the initial solution by using a neighborhood search algorithm, selecting the optimal solution of the initial solution solution process by using a scoring function and a comparison function of the neighborhood search algorithm, and outputting the optimal solution as a target solution;

[0154] A post-processing module, used for performing post-processing operations of identifying, adjusting, and filling gaps in the loading area on the target solution, so as to optimize the target solution with the goal of maximizing the amount of loaded pulp and save it as the final loading result;

[0155] The loading result output module is used to return to the loading selection module if the loadable area has not been traversed until the basic pulp has been traversed, and output the loading result file.

[0156] The third aspect of the present invention discloses a single-type pulp loading device for a pulp ship, comprising:

[0157] at least one processor, and

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

[0159] 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 single-type pulp loading method for a pulp vessel as disclosed in any one of the first aspects of the present invention.

[0160] 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 single-type pulp loading method for a pulp ship 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 covering 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.

[0161] A fourth aspect of the present invention discloses a computer-readable storage medium storing computer-executable instructions for causing a computer to execute a method for loading a single type of pulp on a pulp vessel as disclosed in any one of the first aspect of the present invention.

[0162] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiments can be implemented 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 above-mentioned embodiments of the method for loading a single type of pulp through a pulp boat. 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.

[0163] 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.

[0164] 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 method for loading a single type of pulp on a pulp ship, characterized in that: The method comprises: S1: obtaining ship information through a ship data file, defining the ship information into multiple information classes through a stowage area segmentation method, converting the ship information containing multiple information classes into size information through relative coordinates to generate input data for a pulp stowage algorithm, wherein the input data includes size information of a loadable area in a cabin, pulp size information, and stowage red line information; S2: traverse pulp size information and size information of the loadable area of ​​the cabin, select a basic pulp and a loadable area, and generate a combined pulp bale list containing all combined pulp bale sizes according to the selected loading area and basic pulp; S3: calling a probability distribution function according to different cabin type constraints to generate a combined pulp bale sequence for loading from the combined pulp bale list; S4: Using the optimized skyline algorithm, the pulp bale stowage is converted into a two-dimensional packing task by defining the loading area, and the pulp bales and skyline combinations are selected to put the pulp bales in the combined pulp bale sequence into the loading area, and the initial solution is generated under the conditions of satisfying the blind area constraint and the red line collision constraint; S5: using a neighborhood search algorithm to perform cross-replacement and mutation optimization on the pulp bales of the initial solution, selecting the optimal solution of the initial solution solving process through the scoring function and comparison function of the neighborhood search algorithm, and outputting the optimal solution as the target solution; S6: performing post-processing operations of identifying, adjusting, and filling gaps in the loading area on the target solution, optimizing the target solution with the goal of maximizing the amount of loaded pulp and saving it as the final loading result; S7: If the loading area has not been traversed completely, return to step S2 until the pulp has been traversed completely, and output the loading result file; In step S4, the optimized skyline algorithm is used to convert the pulp bale loading into a two-dimensional packing task by defining the loading area, and the pulp bales in the combined pulp bale sequence are packed into the loading area, including: S41: 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 with the goal of minimizing the area waste rate of the loading area through the bottom-left algorithm; S42: 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 by using the skyline, wherein the skyline includes endpoint coordinates and a skyline length; S43: 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 to update the skyline list; S44: traverse the combined pulp package sequence and read the pulp packages in the sequence list in turn, allocate 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 in the combined pulp package sequence into the loadable area based on the selected pulp package and skyline combination to generate a pulp package loading list.

2. The method for loading a single type of pulp on a pulp ship according to claim 1, characterized in that: The ship data file is a JSON format file, which stores the crane base number, crane base position coordinates, crane radius, cabin number, cabin size, cabin position coordinates, cabin waist size, cabin layer number, cabin layer size and cabin layer loading area size through a dictionary data structure.

3. The method for loading a single type of pulp on a pulp ship according to claim 2, characterized in that: The ship information is defined as multiple information categories by the stowage area segmentation method, including: S11: Divide the ship into a crane area, a cabin area, a cabin layer area and a cabin layer loadable area; S12: Define information classes of the ship segmentation areas respectively, and save the corresponding area information in the information classes.

4. The method for loading a single type of pulp on a pulp ship according to claim 3, characterized in that: The ship information containing multiple information categories is converted into size information through relative coordinates to generate input data for the pulp loading algorithm, including; S13: Obtaining absolute coordinates according to key points of the loadable area, setting a coordinate system center at the center of the stern, and converting the coordinate points of the absolute coordinates into relative coordinate points by using a coordinate conversion tool; S14: Identify the assembly area as a rectangular area through a segmentation algorithm, obtain the ship red line information according to the relative coordinate points and return the blind spot position coordinates, blind spot radius, size information of the loading area, pulp size information, and red line information including the coordinates of two red line points.

5. The method for loading a single type of pulp on a pulp ship according to claim 4, characterized in that: The generating of a combined pulp bale sequence for loading into the cabin from the combined pulp bale list by calling a probability distribution function according to different cabin type constraints comprises: S31: defining a probability distribution function based on the combined pulp bale size and quantity constraints, and configuring a probability mode for the probability distribution function according to the cabin type constraints; S32: traversing the combined pulp bale list, judging that the current loading area is not the bow and stern cabin of the ship, selecting the max_area mode to allocate the probability of selecting a pulp bale according to the area of ​​the pulp bales in the combined pulp bale list; S33: traversing the combined pulp bale list, determining that the current loading area is the bow and stern holds of the ship, and selecting the max_min mode to allocate the probability of selecting a pulp bale according to the sum of the length and width of the pulp bales in the combined pulp bale list; S34: 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; S35: traverse to generate a target length of a combined pulp package sequence, select a combined pulp package according to the target probability and the target length, and mark the corresponding sequence subscript, and generate a combined pulp package sequence from the combined pulp package list according to the sequence subscript.

6. The method for loading a single type of pulp on a pulp ship according to claim 1, characterized in that: The generating of the initial solution under the condition of satisfying the blind spot constraint and the red line collision constraint comprises: S45: acquiring the number of red lines according to the input data and presetting the red line touch limit times, and performing a judgment according to the actual red line touch times and the touch limit times when loading the pulp package through the pulp package loading list; if the red line touch times exceed the touch limit times, the pulp package is mutated 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, the current pulp package is discarded and the next pulp package is loaded; S46: 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; S47: 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; S48: 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 more than twice that of the lower blind area, and return the mutant pulp package data to the pulp package loading list; S49: 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; S410: confirming that all pulp bales in the combined pulp bale sequence have completed loading according to the pulp bale loading list, and updating the skyline list in real time when loading each pulp bale, and outputting an initial solution for pulp bale loading.

7. The method for loading a single type of pulp on a pulp ship according to claim 1, characterized in that: The adopting of the neighborhood search algorithm to perform cross-replacement and mutation optimization on the pulp bales of the initial solution, selecting the optimal solution of the initial solution solving process through the scoring function and comparison function of the neighborhood search algorithm, and outputting the optimal solution as the target solution comprises: S51: defining a neighborhood search function according to the input data and the initial solution, setting a target number of loop optimizations for the initial solution, updating the pulp packaging list of the initial solution, and optimizing the initial solution iteratively through the neighborhood search function; S52: in the optimization iteration process, the pulp bale positions of the initial solution are cross-replaced in random order until the number of cyclic optimizations of the initial solution is less than one third of the target number; S53: when the number of iteration optimizations of the initial 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; S54: when the number of loop optimizations of the initial 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 package into a new pulp package with a uniform probability distribution, the initial solution is traversed until the neighborhood search operation of all pulp packages is completed, and a list of pulp packages of the optimal solution is output; S55: Calculate the score of the pulp bale loading scheme in the loading area in the optimal solution through the scoring function, sort the loading scheme scores according to the scoring priority of the comparison function, and select the pulp bale loading scheme with the highest score to update it as the target solution output after the neighborhood search operation.

8. The method for loading a single type of pulp on a pulp ship according to claim 7, characterized in that: The post-processing operations of identifying, adjusting, and filling the gaps in the loading area of ​​the target solution are performed to optimize the target solution with the goal of maximizing the amount of loaded pulp and save it as the final loading result, including: S61: Acquire the pulp package loading position information and loading area information of the target solution; S62: Detecting the gap area of ​​the loading area according to the post-processing strategy, dividing the gap area into a plurality of rectangular blocks and obtaining position information and size information of the rectangular blocks; S63: 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; S64: 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; S65: 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 detected 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; S66: Traverse all the gap rectangular blocks until the target optimization of maximizing the amount of loaded pulp is completed, and update the target solution to the final loading result for storage.

9. A single type pulp loading system for a pulp ship based on the method according to any one of claims 1 to 8, characterized in that: The system comprises: A data processing module is used to obtain ship information through a ship data file, define the ship information into multiple information classes through a stowage area segmentation method, and convert the ship information containing multiple information classes into size information through relative coordinates to generate input data for a pulp stowage algorithm, wherein the input data includes size information of a loadable area in a cabin, pulp size information, and stowage red line information; A loading and matching module is used to traverse pulp size information and size information of the loadable area of ​​the cabin, select a basic pulp and a loadable area, and generate a combined pulp package list containing all combined pulp package sizes according to the selected loading area and basic pulp; A loading sequence generation module, used for generating a combined pulp bale sequence for loading from the combined pulp bale list by calling a probability distribution function according to different cabin type constraints; The initial solution module is used to convert the pulp bale stowage into a two-dimensional packing task by defining the loading area using the optimized skyline algorithm, select the pulp bale and skyline combination to put the pulp bales in the combined pulp bale sequence into the loading area, and generate the initial solution under the conditions of satisfying the blind area constraint and the red line collision constraint; An optimization solution module, used for performing cross-replacement and mutation optimization on the pulp bales of the initial solution by using a neighborhood search algorithm, selecting the optimal solution of the initial solution solution process by using a scoring function and a comparison function of the neighborhood search algorithm, and outputting the optimal solution as a target solution; A post-processing module, used for performing post-processing operations of identifying, adjusting, and filling gaps in the loading area on the target solution, so as to optimize the target solution with the goal of maximizing the amount of loaded pulp and save it as the final loading result; The loading result output module is used to return to the loading selection module if the loadable area has not been traversed completely until the pulp has been traversed completely, and output the loading result file.

10. A single type of pulp loading equipment for a pulp ship, 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 so that the at least one processor can execute the method for loading a single type of pulp on a pulp ship according to any one of claims 1-8.

11. 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 method for loading a single type of pulp for a pulp ship according to any one of claims 1-8.

Citation Information

Patent Citations

  • Methods, systems, equipment, and media for loading pulp ships based on fully automated loading.

    CN115809746B

  • Automatic stowage method for improving stability of water transportation of high board rolls

    CN103500390A

  • Multi-objective mixed flow bilateral assembly line balancing method based on migratory bird optimization algorithm

    CN108038339A