Container ship stowage and slot reservation method based on dynamic programming

CN115271140BActive Publication Date: 2026-10-30SHANGHAI JIAOTONG UNIV +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210922452.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-08-02
Publication Date
2026-10-30
Estimated Expiration
2042-08-02

AI Technical Summary

Technical Problem

[0003]本发明针对现有人工箱位预留约束复杂、预留集装箱数量与箱位数量差异大、操作耗时长且得出的预留方案不一定为最佳的问题,提出一种基于动态规划的集装箱船舶配载箱位预留方法,能有效减少配载需耗费的时间,也可以在评估方案前快速给出可行的方案

Benefits of technology

[0033]本发明通过SSA算法来求解未放关箱箱位预留问题,采用状态表计算和状态表方案搜索,因此其求解时间非常短。相比现有技术在一次求解后只能输出一个结果,本方法可以通过一次求解给出若干个解,在实际场景中,将这些解都输出,配载员则可以有更多方案可以进行参考和筛选。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115271140B_ABST
    Figure CN115271140B_ABST
Patent Text Reader

Abstract

The application discloses a container ship loading and unloading container berth reservation method based on dynamic programming, and establishes a port container berth reservation model according to container terminal constraints; after a dynamic programming state table and a mark table are obtained by using a whole column optimization algorithm based on dynamic programming, a scheme searching algorithm is used to obtain a plurality of non-repeated container berth reservation schemes; and finally, an optimal container berth reservation scheme is calculated according to a scheme evaluation function. The application can effectively reduce the time consumed by loading and unloading, and can quickly give a feasible scheme before the scheme is evaluated. After the evaluation, the best container berth reservation scheme meeting the business is given, so that the influence caused by artificial factors is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a technology in the field of terminal ship control, specifically a method for reserving container ship loading slots based on dynamic programming. Background Technology

[0002] Ship stowage plays a significant role in loading and unloading operations. It is a core business of automated container terminal ship operations. Terminal stowage operators need to combine information such as the pre-stowage plan provided by the shipping company, the stowage requirements proposed by the shipping company, the actual arrival status of containers, container weight information, and the number of quay cranes to arrange the specific positions of containers on the ship. This information is then submitted to the shipping company for evaluation or adjustment, ultimately forming a complete stowage plan that provides container space input for subsequent ship arrivals and operations. In automated container terminals, containers can be divided into those in the yard and those not in the yard based on whether they have arrived at the terminal. Containers in the yard can be further divided into those released from customs and those not released from customs based on whether they have entered the yard. Stowage operators need to select locations for containers in the yard based on attribute groups, that is, to draw the selectable container positions for each attribute group on the pre-stowage plan. Containers in the yard that have not been released from customs and those not in the yard are collectively referred to as containers not released from customs, and container positions are reserved for them. The shipping company's pre-shipment chart shows available container slots. The terminal's clearance rate is approximately 92%-94%. A 360-meter container ship typically calls at approximately 1800 containers. Therefore, it can be estimated that approximately 108-144 containers with different attribute groups need to be reserved. Based on experience, the stowage handler needs to select 6%-8% of the available slots for reservation, which is a labor-intensive process. Summary of the Invention

[0003] This invention addresses the problems of complex constraints, large discrepancies between the number of reserved containers and the number of available spaces, time-consuming operations, and uncertain optimal reservation solutions in existing manual container space reservation methods. It proposes a dynamic programming-based container ship loading and reservation method that effectively reduces loading time and can quickly provide feasible solutions before evaluation. After evaluation, the optimal container space reservation solution that meets business requirements is provided, minimizing the impact of manual factors.

[0004] This invention is achieved through the following technical solution:

[0005] This invention relates to a container ship loading and berth reservation method based on dynamic programming. The method establishes a port berth reservation model based on container terminal constraints, uses a dynamic programming-based optimization algorithm to obtain a dynamic programming state table and a label table, uses a scheme search algorithm to obtain several non-repeating berth reservation schemes, and finally calculates the optimal berth reservation scheme based on the scheme evaluation function.

[0006] The container terminal constraints include: ① Containers can only be reserved in slots corresponding to their attribute groups; ② Slots should be reserved primarily for entire columns, taking into account the reasonable distribution of weight and ensuring the minimum total number of columns reserved; ③ Slot reservation should consider the balance of the ship and reduce the number of large-scale reservations on the same side of the ship; ④ Slots cannot be reserved below special containers; ⑤ Slots above reserved slots cannot be used for customs clearance selection; ⑥ Slot reservation should consider the reasonable distribution of container size and weight. Among these, constraints ①, ④, and ⑤ are mandatory, while the others, including constraints ②, ③, and ⑥, serve as indicators for evaluating the merits of the slot reservation scheme.

[0007] The port container space reservation model includes:

[0008] The objective function representing the sum of the reserved number of containers, the difference between the reserved number and the total number of containers (f1), and the difference between the reserved number of loaded containers (f2) and the total number of loaded containers (f3) is minf = f1 + f2 + f3, where: That is, the sum of the reserved columns with weight α1;

[0009] That is, the difference between the number of box slots reserved with weight α2 and the number of slots that need to be reserved; That is, the difference between the number of heavy container slots reserved with weight α3 and the number of heavy containers that need to be reserved;

[0010] Constraints That is, the number of reserved container slots should not be less than the number of container slots that need to be reserved, and the number of reserved heavy container slots should not be less than the number of heavy container slots that need to be reserved, α m For function f m The weights, where N is the number of bins to be reserved. H For the number of heavy-duty containers that need to be reserved, s i Let i be the number of available boxes in the i-th column of the set of available box locations. Let S = {s1, s2, s3, ..., s} be the number of stackable boxes in the i-th column of the stackable box location set. i} represents the set of configurable bin locations, indexed by i. For the set of counterweight box locations, indexed by i,

[0011] The aforementioned stack selection algorithm based on dynamic programming uses the Stack Selection Algorithm (SSA) to calculate the search results for a given bin location considering the entire stack reservation, given a given reservation number. Specifically, it includes:

[0012] Step 1: Input the set of available container slots S (n non-zero items) and the number of reserved container slots m.

[0013] Step 2: Create the state matrix V and the state flags flag, i = 0, 1, 2, ..., m, j = 0, 1, 2, ..., n.

[0014] Step 3: Initialize V and flag. For i = 0 and j = 0, let V(i, j) = 0 and flag(i, j) = 0; for i ≠ 0 and j = 0, let V(i, j) = -1000 to represent that there is no feasible solution and flag(i, j) = 0.

[0015] Step 4: j from 1 to n, i from 0 to m, calculate V: (1) When the first j columns in S are selected, their total number is less than the current reserved number i, then V(i, j) is assigned the value -1000; (2) When the j-th column or the j-th column and the preceding columns are selected as the reserved scheme, there are a more box slots than the current reserved number i, then V(i, j) is assigned the value -a; (3) When the j-th column or the j-th column and the preceding columns are selected as the reserved scheme, and the sum of the number of available box slots is exactly equal to the current reserved number i, then V(i, j) is assigned the value 0.

[0016] Step 5: Calculate the flag. If the value of V(i,j) is not obtained from V(i,j-1), mark it as 0; otherwise, mark it as 1.

[0017] Step 6: Return the state matrix V and the state flag.

[0018] The dynamic programming state table V is an (m+1)×(n+1) matrix. The values ​​in V represent whether there is a solution that satisfies the optimization objective. Each element V(i,j) records the state when the number of reserved bins is i, and the first j columns of S are selected as the reserved solution. This state includes:

[0019] ①-1000: This means that even if the first j columns of S are selected, the total number of columns selected is smaller than the reserved number, indicating that there is no feasible solution at present.

[0020] ② Negative number a is less than 0 and greater than -max(S): This means that with the current reserved number i, if column j or column j and the previous columns are selected as the reserved scheme, then there will be a extra box slots;

[0021] ③0: This means that with the current reservation number i, when the j-th column or the j-th column and the preceding columns are selected as the reservation scheme, the sum of the number of available container slots in these columns is exactly equal to i.

[0022] The flag table is a matrix of the same size as V, with values ​​of 0 or 1, corresponding to each value of V. As a flag, when the value of V(i,j) is not obtained from V(i,j-1), it is marked as 0; otherwise, it is marked as 1.

[0023] The aforementioned scheme search algorithm, which combines a tag table with a search status table to obtain several unique container space reservation schemes, specifically includes:

[0024] Step 1: Input the state matrix V, state flag flag, attribute group configurable box set S, and box reserved number m.

[0025] Step 2: Initialize the reserved plan all , represents the set of the better reservation schemes with a reservation number of m.

[0026] Step 3: Initialize the plan curr , which is a 1×n array of 0s.

[0027] Step 4: In the status table, find the column with a status of 0 corresponding to the reserved number, and add it to the Plan. all c

[0028] Step 5: Repeat steps 3 and 4 until all solutions have been searched and a better container space reservation plan is obtained. all c

[0029] Step 6: Return the optimal container space reservation plan with a reservation quantity of m. all c

[0030] The aforementioned scheme evaluation function considers the scoring of schemes under constraints ②, ③, and ⑥ and calculates the optimal container space reservation scheme. The scheme evaluation function is f = f4 + f5 + f6, where f4 is the score for the number of reserved container spaces and the number of columns used in the scheme. f5 is used to score the number of heavy containers that the proposed solution can provide. f6 is used to score the options adopted for the scenario where the aircraft is positioned above or below the deck. α4, α5, and α6 represent the weights of f4, f5, and f6 in fitness, respectively, and β is the bin reservation coefficient (0 < β < 1). Let S be the set of configurable bins in attribute group j. j In the diagram, the i-th column is selected as the number of reserved boxes, and n... j Let ω be the number of bins that need to be reserved for attribute group j. Therefore, the closer the reserved number of bins is to the required number of bins, the higher the f4 score; ω is the heavy-duty bin space reservation coefficient (0 < ω < 1). Let S be the set of configurable bins in attribute group j. j In the above, the i-th column is selected as the number of reserved heavy-duty containers. The number of loaded containers in the unsealed containers of attribute group j. Therefore, the closer the number of reserved loaded containers is to the number of loaded containers in the unsealed containers of the corresponding attribute group, the larger the f5 score; Q1 and Q2 are the coefficients of the reserved container positions on the deck and in the cabin, respectively, and Q1 > Q2; and The set of configurable bins S in attribute group j are respectively. j In the i-th column, the number of containers selected as reserved on the deck and inside the hold, and These represent the number of available containers on the deck and inside the hold, respectively, in the i-th column. Therefore, the higher the f6 score, the greater the proportion of reserved container slots on the deck.

[0031] Preferably, the weights α4, α5, and α6 are as follows: considering that f4 is the primary objective of the container space reservation method, it needs to minimize the number of reserved rows to reduce the pressure on subsequent container loading; therefore, α4 should be larger than the other two. Secondly, to avoid reserving container space in the hold and causing incomplete hold operations to affect loading work on the deck, f6 has a larger proportion than f5; therefore, α6 > α5.

[0032] Technical effect

[0033] This invention uses the SSA algorithm to solve the problem of reserved container positions for unsealed containers. It employs state table calculation and state table solution search, resulting in a very short solution time. Compared to existing technologies that can only output one result after a single solution, this method can provide several solutions in a single operation. In practical scenarios, outputting all these solutions allows loading operators to have more options for reference and selection. Attached Figure Description

[0034] Figure 1 This is a flowchart of the present invention;

[0035] Figure 2 The intention is to obtain the state representation using the dynamic programming algorithm;

[0036] Figure 3 Here is a flowchart of the solution search process;

[0037] Figure 4 This is a schematic diagram illustrating an application scenario for an example. Detailed Implementation

[0038] like Figure 4The diagram illustrates the application scenario of this embodiment, showing a cross-section of a container ship along its length and width. The container groups along the width direction, circled by the black dashed box, are called bays. The container ship is divided into several bays, each marked with a bay number. Each odd-numbered bay describes a 20' container bay; the shaded area in the diagram represents one 20' container, or 1 TEU. Even-numbered bays, although physically a combination of two odd-numbered bays, are only used to describe 40' container bays. Furthermore, each bay is divided into two parts by hatch covers: one above deck and one inside the hold. Each bay consists of several slots. Container groups along the ship's height are called slots, numbered starting from the center of the bay (00). Slots on the port side are numbered odd-numbered, and those on the starboard side are numbered even-numbered. Each slot consists of several tiers, with container groups along the ship's width called tiers, numbered starting from the bottom of the bay. The deck numbering uses only even numbers. The deck and cabin numbering is not consecutive. Cabin numbering starts from 02 and increases upwards; deck numbering starts from 82 (80 for some bays near the stern) and increases upwards.

[0039] The shaded area in the diagram is container slot number 110186. After the current container slot is used, its adjacent slot 130186 must also store a 20' container, and the even-numbered container slot 120186 formed by them cannot be used again.

[0040] Through specific practical experiments, under the specific environment settings of Python 3.9, 32GB RAM, and Intel Core i7-7700 CPU, the genetic method (GA), simulated annealing method (SA), artificial bee colony method (ABC), and improved genetic method (IGA) were adopted. By taking several parameter sets, each parameter set was solved three times for a single example. The results of the three solutions were used as the score of the parameter set, and parallel comparisons were made. The parameter values ​​of each parameter in the parameter set with the lowest score were selected as the parameters for the comparative experiment to ensure that each method was in its optimal state.

[0041] The above method parameter comparison uses a case study with a medium scale in the container space reservation example, namely 31 available columns, 7 reserved numbers, and 4 reserved heavy containers, as the benchmark case. After multiple comparisons, the parameter selections for each method are as follows:

[0042] 1) Traditional genetic method (GA): crossover probability is 0.85, mutation probability is 0.25.

[0043] 2) Simulated annealing method (SA): starting temperature is 500℃, ending temperature is 1℃, and cooling rate is 0.97.

[0044] 3) Artificial bee colony method (ABC): Limit (a parameter that reflects global and local search capabilities and controls the convergence of the method) is 15.

[0045] 4) Improved genetic method (IGA): self-crossover probability is 0.20.

[0046] This embodiment further uses both generated case studies and historical real-world data case studies for verification. Cases 2, 6, 7, 10, and 11, marked in bold, originate from historical real-world data on ship loading at a container terminal. Since the problem size is affected by the number of available columns, the number of reserved container slots, and the number of loaded containers that have not yet been released, the ratio of these three quantities needs to be controlled when generating case studies. A case study named "XYZ" in the parameters represents X for the number of available columns, Y for the number of reserved container slots, and Z for the number of loaded containers that have not yet been released. Regarding the time control of the intelligent method's solution, a maximum solution time is set for each case, and the fitness value achieved by each method within this maximum solution time is recorded. The maximum solution time is set according to the size of the case, increasing as the size increases.

[0047] In addition, the values ​​of common parameters for each method, such as population size and maximum number of iterations, are fixed. In this experiment, the population size was set to 100, and the maximum number of iterations was not limited. The maximum computation time was used as the termination condition.

[0048] Table 1 Comparison Results of Methods for Reserved Space for Unsealed Containers

[0049]

[0050] Due to the characteristics of the ship loading and unsealing container space reservation optimization problem, it becomes similar to the 0-1 knapsack problem, where we need to select 'a' numbers from n numbers such that their sum is not less than a fixed value N. R At that time, its solution space contains (2) n -1) solutions (including infeasible solutions) represent a very large number for intelligent methods. The proposed method differs from the evolutionary solution approach of intelligent methods; it employs state table calculation and state table solution search, resulting in a very short solution time. Even when solving the largest example (11), this method completes solution search and fitness evaluation in only 0.04 seconds. Therefore, it can be seen that the first advantage of this method is that it is very suitable for solving a variant of the 0-1 knapsack problem—the problem of reserving space for unplaced knapsacks.

[0051] Secondly, based on the experimental results in Table 1, the following conclusions can be drawn. In 10 out of the 11 examples, this method yielded relatively good container space reservation schemes. In example 9, the genetic method obtained the optimal container space reservation scheme. Furthermore, among the average results of all examples' container space reservation schemes, this method received the best method evaluation. Therefore, it can be seen that this method is not only superior in terms of solution time but also in the quality of its solution results, enabling it to play a better role in the problem of reserving container space for unsealed containers.

[0052] Compared with existing technologies, this method has high solution efficiency and high solution quality.

[0053] The above-described specific implementations can be partially adjusted by those skilled in the art in different ways without departing from the principles and purpose of the present invention. The scope of protection of the present invention is defined by the claims and is not limited to the above-described specific implementations. All implementation schemes within the scope of the claims are bound by the present invention.

Claims

1. A method for optimizing vessel stowage at container terminals based on dynamic programming for whole-train optimization, characterized in that, A port container space reservation model is established based on the constraints of the container terminal. After obtaining the dynamic programming state table and label table using the dynamic programming-based optimization algorithm, a scheme search algorithm is used to obtain several non-repeating container space reservation schemes. Finally, the optimal container space reservation scheme is calculated based on the scheme evaluation function. The container terminal constraints include: ① Containers can only be reserved in slots corresponding to their attribute groups; ② Slots should be reserved primarily for entire columns, taking into account the reasonable distribution of weight and ensuring the minimum total number of columns reserved; ③ Slot reservation should consider the balance of the ship and reduce the number of large-scale reservations on the same side of the ship; ④ Slots cannot be reserved below special containers; ⑤ Slots above reserved slots cannot be used for customs clearance selection; ⑥ Slot reservation should consider the reasonable distribution of container size and weight. Among these, constraints ①, ④, and ⑤ are mandatory, while the others, including constraints ②, ③, and ⑥, serve as indicators for evaluating the merits of the slot reservation scheme. The port container space reservation model includes: The sum of the reserved columns represents the total number of columns. Difference between reserved number and total number of boxes and the difference between the reserved number of heavy boxes and the total number of heavy boxes The objective function of the sum ,in: That is, weighted The sum of the reserved columns; That is, weighted The difference between the number of container slots reserved and the number that needs to be reserved; That is, weighted The difference between the number of reserved heavy-duty container spaces and the number of heavy-duty containers that need to be reserved; Constraints , In other words, the number of reserved container slots should not be less than the number of container slots that need to be reserved, and the number of reserved loaded container slots should not be less than the number of loaded container slots that need to be reserved. function weight Number of containers to be reserved Number of heavy-duty containers to be reserved The first in the set of available container slots Number of configurable boxes per column The first in the set of available container slots Number of counterweight boxes in the column Available container space collection, through index The counterweight box assembly can be used to... index .

2. The container terminal vessel stowage optimization method based on dynamic programming for whole-train optimization as described in claim 1, characterized in that, The aforementioned dynamic programming-based whole-column optimization algorithm uses dynamic programming to calculate the search results for a given box location considering whole-column reservations under a given reservation number. Specifically, it includes: Step 1: Input the set of configurable bin slots for the attribute group (common (Non-zero items), number of reserved container slots ; Step 2: Create the state matrix Status flags , = 0, 1, 2, …, , = 0, 1, 2, …, ; Step 3: Initialization , ,for = 0 and = 0, let =0, = 0; for 0 and = 0, let =-1000 means there is no feasible solution. = 0; Step 4: From 1 to , From 0 to ,calculate :1) When selected The front of the middle The total number of columns is greater than the current reserved number. Small, then Assigned value ;2) When selecting the first Column or number The column and the preceding columns are used as a reserve scheme, compared to the current reserve number. extra Each box position, then Assigned value ;3) When selecting the first Column or number The column and the preceding columns are reserved as backup plans, and the sum of the available container slots is exactly equal to the current reserved number. ,but Assigned value ; Step 5: Calculation ,when The value is not determined by If obtained, mark it as 0; otherwise, mark it as 1. Step 6: Return the state matrix and status flags .

3. The container terminal vessel stowage optimization method based on dynamic programming for whole-train optimization as described in claim 1, characterized in that, In the aforementioned dynamic programming-based whole-column optimization algorithm: The dynamic programming state table For one The matrix, The values ​​in the table indicate whether there is a solution that satisfies the optimization objective, where each element... Record the number of containers reserved. When, select The front of the middle Several columns in the list are used as the status when a reserved scheme is implemented. This status includes: ① -1000: Indicates the current reserved amount In the case of selection The front of the middle The total number of columns is also smaller than the reserved number, indicating that there is currently no feasible solution; ② Negative numbers Less than 0, greater than 0 : This indicates the current reserved amount In the case of selecting the first Column or number If the column and the preceding columns are reserved as a backup plan, then there will be extra... One container space; ③ 0: Indicates the current reserved amount In the case of selecting the first Column or number If we consider this column and the preceding columns as reserved options, then the sum of the number of available container slots in these columns is exactly equal to... ; The aforementioned tag table It is a size and A consistent matrix, whose values ​​are either 0 or 1, and Each value corresponds to a marker, when The value is not determined by If obtained, it is marked as 0; otherwise, it is marked as 1.

4. The container terminal vessel stowage optimization method based on dynamic programming for whole-train optimization as described in claim 1, characterized in that, The aforementioned scheme search algorithm, which combines a tag table with a search status table to obtain several unique container space reservation schemes, specifically includes: Step 1: Input the state matrix Status flags Attribute group configurable box set Container space reserved number ; Step 2: Initialize the reserved scheme This indicates that the reserved amount is... A set of some of the better reserved solutions; Step 3: Initialization , for one The 0 array; Step 4: In the status table, find the column with a status of 0 corresponding to the reserved number, and add it to the column. ; Step 5: Repeat steps 3 and 4 until all solutions have been searched and the optimal container space reservation solution is obtained. ; Step 6: Return the reserved amount as Optimal container space reservation scheme .

5. The container terminal vessel stowage optimization method based on dynamic programming for whole-train optimization as described in claim 1, characterized in that, The aforementioned scheme evaluation function considers the scoring of schemes under constraints ②, ③, and ⑥ and calculates the optimal container space reservation scheme. The scheme evaluation function... ,in: To score the number of reserved containers provided in the plan by summing the columns, , The number of heavy containers that the plan can provide is used to score the proposal. , The plan is scored based on whether the plane is above or below the deck. , , , They represent , , Weights in fitness Container space reserve coefficient ( ), In the attribute group Available container slots In the middle, the first The column was selected as the reserved number of containers. Attribute group The number of containers that need to be reserved; therefore, the closer the number of containers reserved is to the number of containers that need to be reserved, The higher the score; Heavy container space reservation coefficient ( ), In the attribute group Available container slots In the middle, the first The column was selected as the reserved number of heavy-duty container positions. Show attribute group The number of unreleased boxes in the box; therefore, the closer the reserved number of unreleased boxes is to the number of unreleased boxes in the corresponding attribute group, the better. The higher the score; and The coefficients for the reserved container spaces on deck and inside the hold are respectively. ; and In the attribute group respectively Available container slots In the middle, the first The number of containers reserved on deck and inside the hold, and The first The number of available container slots on deck and in the hold; therefore, when a larger proportion of the reserved container slots are for deck use... The higher the score.

6. The container terminal vessel stowage optimization method based on dynamic programming for whole-train optimization as described in claim 5, characterized in that, The weights mentioned , , Considering The primary goal of designing container space reservation methods is to minimize the number of reserved rows to reduce the pressure on subsequent container loading. It should be larger than the other two; secondly, to avoid reserving space inside the hold, which could lead to incomplete work inside the hold affecting loading operations on the deck, The proportion is greater than ,therefore .

Citation Information

Patent Citations

  • Port dangerous goods container position distribution model and algorithm

    CN110378644A

  • Container area elastic template planning method for container port storage yard

    CN111401694A