Distribution method and device for discrete berths and quay crane of container terminal

By building a hybrid integer planning model and applying branch and cutting algorithms, two-stage heuristic algorithms and other technologies, the discrete berths and shore bridge crane allocation of container terminals is solved, and a more efficient allocation plan is achieved.

CN119090198APending Publication Date: 2024-12-06BEIJING INST OF TECH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411120599.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-15
Publication Date
2024-12-06

AI Technical Summary

Technical Problem

The prior art has failed to effectively solve the problem of discrete berths and time-varying shore bridge crane distribution in container terminals, resulting in inefficiency.

Method used

Build a hybrid integer planning model, combine branch and cutting algorithms, two-stage heuristic algorithms and variable domain search algorithms, optimize the allocation of berths and shore bridge cranes, and improve the solution efficiency.

Benefits of technology

The efficiency of berth and shore bridge crane allocation is improved, the mathematical model is simplified, and the technical defects of insufficient research on discrete berths and time-varying shore bridge crane allocation problems in the existing technology.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119090198A_ABST
    Figure CN119090198A_ABST
Patent Text Reader

Abstract

The invention provides a container terminal discrete berth and quay crane distribution method and device, and the method comprises the steps: constructing a first mixed integer programming model based on a first problem of discrete berth and time-varying quay crane distribution, and constructing a second mixed integer programming model based on a second problem of discrete berth and time-varying quay crane distribution. Constructing a second mixed integer programming model; based on the priority relation between the ships, reexpressing the first problem and converting the first problem into a third problem of project scheduling based on resource limitation, and converting the first mixed integer programming model into a third mixed integer programming model; solving the third mixed integer programming model according to a branch and cut algorithm to obtain a first solving result; solving a second mixed integer programming model according to the first solving result and a two-stage heuristic algorithm to obtain a second solving result; and outputting the first solving result and the second solving result. The method makes up the defect of incomplete distribution of berths and quay cranes at present, and is beneficial to improving the solving efficiency at the same time.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of container terminals, and in particular to a method and device for allocating discrete berths and quay cranes of a container terminal. Background Art

[0002] Berths and quay cranes are key resources for automated container terminals, and optimizing their utilization is crucial to improving the economic benefits of automated container terminals. When the arrival of ships in the future is known, the problem is abstracted into a mathematical model and solved through an algorithm. Appropriate berths and berthing times can be allocated to ships that are about to arrive at the port, and quay cranes can be allocated to different ships to optimize the efficiency of loading and unloading cargo at automated container terminals. For large automated container terminals, they can be divided into continuous berths and discrete berths according to whether the berths are continuous; according to whether the quay cranes are based on different time unit requirements during the operation cycle, they can be divided into time-varying quay crane allocation and time-invariant quay crane allocation. The allocation problem of discrete berths is rarely studied in the prior art, and the time-varying quay crane allocation and time-invariant quay crane allocation are not considered at the same time. In addition, in specific studies, most of the berth allocation problem and quay crane allocation problem are integrated into an optimization problem, which makes the established mathematical model too complicated and affects the solution efficiency. Therefore, how to comprehensively consider discrete berth allocation, time-varying quay crane allocation and time-invariant quay crane allocation, and improve the solution efficiency, has become an important research direction in this field. Summary of the invention

[0003] The technical purpose to be achieved by the embodiments of the present application is to provide a method and device for allocating discrete berths and quay cranes of a container terminal, so as to solve the problem that the current allocation of berths and quay cranes does not take into account the allocation of discrete berths, and does not consider the allocation of time-varying quay cranes and the allocation of time-invariant quay cranes at the same time, and the solution efficiency is low.

[0004] In order to solve the above technical problems, an embodiment of the present application provides a method for allocating discrete berths and quay cranes of a container terminal, comprising:

[0005] Based on the first problem of discrete berths and time-invariant quay crane allocation, a first mixed integer programming model is constructed, and based on the second problem of discrete berths and time-varying quay crane allocation, a second mixed integer programming model is constructed;

[0006] Based on the priority relationship between ships, the first problem is reformulated and transformed into a third problem based on resource-constrained project scheduling, and the first mixed integer programming model is transformed into a third mixed integer programming model, wherein the objective functions corresponding to the first mixed integer programming model and the third mixed integer programming model are both first objective functions;

[0007] Solving the third mixed integer programming model according to a branch and cut algorithm to obtain a first solution result;

[0008] Solving the second mixed integer programming model according to the first solution result and a two-stage heuristic algorithm to obtain a second solution result;

[0009] The first solution result and the second solution result are output.

[0010] Specifically, in the method described above, the first objective function is:

[0011]

[0012] Where V is the set of ships; k is the ship index; c 1k is the penalty cost per time unit incurred by ship k due to berthing delay exceeding the estimated arrival time; c 2k is the penalty cost per time unit incurred by ship k due to the departure delay exceeding the requested departure time; c 3k is the unit additional cost of ship k due to deviation from the lowest cost berth, where a single berth is considered as one unit; k g is the estimated arrival time of the ship; k b is the estimated number of time units served by ship k; k is the lowest cost desired berth for ship k; d k is the requested departure time of vessel k, and d k =a k +b k ;X k is the starting berthing time of ship k; S k Y is the start time of operation of ship l; k is the berth allocated to ship k;

[0013] The first constraint condition corresponding to the third mixed integer programming model includes at least one of the following:

[0014] The ship's start time of operation is later than or equal to the ship's start time of berthing;

[0015] The vessel's berthing time is later than or equal to the vessel's estimated arrival time;

[0016] Each vessel should be allocated a berth;

[0017] Each vessel should berth to the allocated berth;

[0018] At the same berth, the difference between the start time of berthing of the latter ship and the start time of operation of the former ship is greater than or equal to the estimated service time of the former ship;

[0019] Two adjacent ships assigned to the same berth should berth at the corresponding berth;

[0020] The two ships in the minimum priority relation set satisfy the corresponding priority relation;

[0021] There is only one definite priority relationship between two ships;

[0022] The number of quay cranes used per time unit does not exceed the number of available quay cranes;

[0023] In the same priority relationship, the difference between the start berthing time of the low-priority ship and the start operation time of the high-priority ship is greater than or equal to the estimated service time of the high-priority ship;

[0024] Two adjacent ships assigned to the same berth have a corresponding priority relationship.

[0025] Specifically, in the method described above, solving the third mixed integer programming model according to the branch and cut algorithm to obtain a first solution result includes:

[0026] Initialize variables, the variables including: a first vector consisting of the start operation time corresponding to each ship, a second vector consisting of the number of start operations, a solution feasibility judgment variable, a prohibition set based on time units, a third vector violating the prohibition set, and the length of the third vector;

[0027] Determining a target constraint in the first constraint group according to the length of the third vector;

[0028] Solving the first objective function based on the objective constraint condition to obtain an initial solution vector corresponding to the first vector, and updating the first vector according to the initial solution vector;

[0029] After sorting the updated first vector in non-descending order and eliminating duplicate items, updating the second vector;

[0030] According to the first vector and the second vector, it is judged in turn whether the start operation time corresponding to each ship in the first vector meets the first preset condition. If the target ship meets the first preset condition, the activity corresponding to the target ship is added to the prohibited set, and the demand for the quay crane of the corresponding time unit is updated. The first preset condition is: the initial solution corresponding to the target ship in the first vector is less than or equal to the corresponding value of the target element in the second vector, and the sum of the initial solution corresponding to the target ship and the corresponding estimated operation time is greater than or equal to the sum of the time corresponding to the target element and a time unit;

[0031] If the demand for the quay crane is greater than the total number of available quay cranes in the corresponding time unit, adding the prohibited set to the third vector;

[0032] If the modulus of the third vector is equal to the length of the third vector, updating the feasibility judgment variable is feasible, and the updated first vector is output as the first solution result, otherwise returning to the step of determining the target constraint condition in the first constraint condition based on the length of the third vector.

[0033] Furthermore, in the above method, determining the target constraint in the first constraint according to the length of the third vector includes:

[0034] When the length of the third vector is zero, the target constraint condition does not include the first constraint condition that the number of quay cranes used in each time unit does not exceed the number of available quay cranes; otherwise, the target constraint is all constraints in the first constraint condition.

[0035] Specifically, in the method described above, the second objective function of the second mixed integer programming model is:

[0036]

[0037] Where V is the set of ships; k is the ship index; c 1k is the penalty cost per time unit incurred by ship k due to berthing delay exceeding the estimated arrival time; c 2k is the penalty cost per time unit incurred by ship k due to the departure delay exceeding the requested departure time; c 3k is the unit additional cost of ship k due to deviation from the lowest cost berth, where a single berth is considered as one unit; k is the estimated arrival time of the ship; C k is the completion time of ship k; b k is the lowest cost desired berth for ship k; d k is the requested departure time of vessel k, and d k =a k +b k ;X k is the starting berthing time of ship k; S k is the start time of operation of ship k; Y k is the berth allocated to ship k; c4 is the single setup cost of each quay crane; W jkt is the setup cost of the quay crane j assigned to the ship k at time unit t;

[0038] The second constraint of the second mixed integer programming model includes at least one of the following:

[0039] The vessel's berthing time is later than or equal to the vessel's estimated arrival time;

[0040] The ship's start time of operation is later than or equal to the ship's start time of berthing;

[0041] Each vessel should be allocated a berth;

[0042] Each vessel should berth to the allocated berth;

[0043] Two adjacent ships assigned to the same berth should berth at the corresponding berth;

[0044] The total number of time units required to serve each ship is equal to the sum of the number of time units served by each quay crane.

[0045] During the time unit of providing service, the number of quay cranes allocated to a ship is greater than or equal to the minimum number of quay cranes that can be allocated to the ship;

[0046] During the time unit of providing service, the number of quay cranes allocated to a ship is less than or equal to the maximum number of quay cranes that can be allocated to the ship;

[0047] The number of ships served by each quay crane in each time unit is less than or equal to one;

[0048] At the same berth, the start berthing time of the next ship is later than or equal to the completion time of the previous ship;

[0049] Once a vessel has commenced an operation it cannot be interrupted until the operation is completed;

[0050] In the case where a ship needs to be served within a time unit, the number of quay cranes serving the ship within the time unit is less than or equal to the minimum number of quay cranes that can be allocated to the ship, and is greater than or equal to one;

[0051] Define the setup costs of the leftmost quay crane, the rightmost quay crane and the quay cranes assigned to the vessel;

[0052] In each time unit, each ship has only one leftmost quay crane and one rightmost quay crane;

[0053] The leftmost quay crane assigned to a vessel in the same time unit is located to the left of the rightmost quay crane assigned to another vessel at the berth to the left of the vessel.

[0054] Preferably, in the above method, solving the second mixed integer programming model according to the first solution result and a two-stage heuristic algorithm to obtain a second solution result includes:

[0055] According to the second preset condition, the initial solution in the first solution result is converted into a feasible solution, wherein the second preset condition is that the total number of time units that the target ship needs to be served is less than or equal to the product of the estimated number of time units to be served and the number of quay cranes used in each time unit providing services, and is greater than the product of the number of quay cranes used in each time unit providing services minus one and the number of time units providing services;

[0056] The feasible solution is improved according to a variable domain search algorithm to obtain the second solution result.

[0057] Specifically, in the method described above, converting the initial solution in the first solution result into a feasible solution according to the second preset condition includes:

[0058] When the second preset condition is met, a first number of quay cranes are removed within the last service time unit corresponding to the initial solution to obtain the feasible solution, where the first number is the product of the estimated number of time units served and the number of quay cranes used in each service-providing time unit, and the difference between the total number of quay crane operating time units required by the target ship and the total number of quay crane operating time units required by the target ship.

[0059] Specifically, in the above method, the step of improving the feasible solution according to the variable domain search algorithm to obtain the second solution result includes:

[0060] Determine an operator set according to a variable domain search algorithm, wherein the operator set includes: a forward shift operator, a backward shift operator, a forward right operator, a right forward operator, a backward right operator, and a right backward operator;

[0061] Randomly generate ship priority lists;

[0062] For each ship in the ship priority list, randomly selecting an operator from the operator set and operating the feasible solution to obtain a first reference solution;

[0063] If the first reference solution is less than or equal to the second reference solution, the first reference solution is assigned to the second reference solution and the disappointment value is reset to zero; otherwise, the second reference solution is assigned to the feasibility solution and the disappointment value is increased by one, wherein the initial value of the second reference solution is the feasibility solution;

[0064] When the disappointment value is equal to a preset disappointment threshold, the second reference solution at this time is determined to be the second solution result, otherwise, the process returns to the step of randomly generating a ship priority list.

[0065] Another embodiment of the present application further provides a control device, including:

[0066] A first processing module is used to construct a first mixed integer programming model based on a first problem of discrete berths and time-invariant quay crane allocation, and to construct a second mixed integer programming model based on a second problem of discrete berths and time-varying quay crane allocation;

[0067] A second processing module is used to reformulate and transform the first problem into a third problem based on resource-constrained project scheduling based on the priority relationship between ships, and transform the first mixed integer programming model into a third mixed integer programming model, wherein the objective functions corresponding to the first mixed integer programming model and the third mixed integer programming model are both first objective functions;

[0068] A third processing module, used for solving the third mixed integer programming model according to a branch and cut algorithm to obtain a first solution result;

[0069] a fourth processing module, configured to solve the second mixed integer programming model according to the first solution result and a two-stage heuristic algorithm to obtain a second solution result;

[0070] A fifth processing module is used to output the first solution result and the second solution result.

[0071] Another embodiment of the present application also provides an electronic device, including a processor, a memory, and a computer program stored in the memory and executable on the processor, wherein the computer program, when executed by the processor, implements the steps of the method for allocating discrete berths and quay cranes of a container terminal as described above.

[0072] Yet another embodiment of the present application provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps of the method for allocating discrete berths and quay cranes of a container terminal as described above.

[0073] Another embodiment of the present application further provides a computer program product, comprising computer instructions, which, when executed by a processor, implement the steps of the method for allocating discrete berths and quay cranes of a container terminal as described above.

[0074] Compared with the prior art, the method and device for allocating discrete berths and quay cranes of a container terminal provided in the embodiment of the present application have at least the following beneficial effects:

[0075] The present application constructs a first mixed integer programming model based on time-invariant quay crane allocation and discrete berth allocation, and optimizes the first mixed integer programming model through ship optimization relationship to obtain a third mixed integer programming model corresponding to the resource-constrained project scheduling problem, and calculates the third mixed integer programming model through the branch and cut algorithm to obtain the first solution result, which can improve the quality and efficiency of solving the first mixed integer programming model. At the same time, a second mixed integer programming model is constructed based on time-varying quay crane allocation and discrete berth allocation, and the second mixed integer programming model is solved based on the first solution result and the two-stage heuristic algorithm, and the second solution result is obtained, which is conducive to simplifying the solution process with a small loss in solution quality. It makes up for the current lack of research on discrete berths and the technical deficiencies of not considering both time-varying and time-invariant quay crane allocation problems, and is conducive to simplifying the mathematical model for solution and improving solution efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0076] Figure 1 One of the flow diagrams of the method for allocating discrete berths and quay cranes of a container terminal in this application;

[0077] Figure 2 The second flowchart of the method for allocating discrete berths and quay cranes of a container terminal in this application;

[0078] Figure 3 The third flowchart of the method for allocating discrete berths and quay cranes of a container terminal in this application;

[0079] Figure 4 The fourth flowchart of the method for allocating discrete berths and quay cranes of a container terminal in this application;

[0080] Figure 5 It is a schematic diagram of the structure of the control device in this application. DETAILED DESCRIPTION

[0081] In order to make the technical problems, technical solutions and advantages to be solved by the application clearer, the following will be described in detail in conjunction with the accompanying drawings and specific embodiments. In the following description, specific details such as specific configurations and components are provided only to help fully understand the embodiments of the application. Therefore, it should be clear to those skilled in the art that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of the application. In addition, for clarity and brevity, the description of known functions and structures has been omitted.

[0082] It should be understood that the references to "one embodiment" or "an embodiment" throughout the specification mean that the specific features, structures, or characteristics associated with the embodiment are included in at least one embodiment of the present application. Therefore, the references to "in one embodiment" or "in an embodiment" appearing throughout the specification do not necessarily refer to the same embodiment. In addition, these specific features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.

[0083] In the various embodiments of the present application, it should be understood that the size of the serial numbers of the following processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0084] It should be understood that the term "and / or" in this article is only a description of the association relationship of the associated objects, indicating that there can 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. In addition, the character " / " in this article generally indicates that the associated objects before and after are in an "or" relationship.

[0085] In the embodiments provided in the present application, it should be understood that "B corresponding to A" means that B is associated with A, and B can be determined according to A. However, it should also be understood that determining B according to A does not mean determining B only according to A, and B can also be determined according to A and / or other information.

[0086] When describing the embodiments of the present application, some symbols used in the following description are first explained.

[0087] V: ship set, V = {1, 2, ..., n};

[0088] I: berth set, I = 1, 2, ..., m;

[0089] J: set of quay cranes, J = {1, 2, …, τ};

[0090] k: ship index, k = 1, 2, ..., n;

[0091] i: berth index, i=1,2,…,m;

[0092] j: quay crane index, j = 1, 2, …, τ;

[0093] t: time unit index, t = 1, 2, ..., Τ;

[0094] n: total number of ships;

[0095] m: total number of berths;

[0096] τ: total number of available quay cranes in each time unit;

[0097] Τ: total number of time unit indexes;

[0098] Δt: duration of the time unit;

[0099] a k : estimated arrival time of ship k, k∈V;

[0100] g k : the estimated number of time units served by ship k, k∈V;

[0101] e k : The specific number of quay cranes used in each time unit during the service of ship k, k∈V;

[0102] b k : The expected berthing position with the lowest cost for ship k, k∈V;

[0103] d k : The requested departure time of vessel k, where d k Defined as d k =a k +g k , k∈V;

[0104] c 1k : The penalty cost per time unit incurred by ship k due to berthing delay exceeding the estimated arrival time, k∈V;

[0105] c 2k : The penalty cost per time unit incurred by ship k due to the departure delay exceeding the requested departure time, k∈V;

[0106] c 3k : the unit extra cost of ship k due to deviation from the lowest cost berth, a single berth is considered as a unit, no matter how long the berth is, k∈V;

[0107] X k : The starting berthing time of ship k, k∈V;

[0108] S k : The start operation time of ship k. The start operation time of ship k should be later than its start berthing time, that is, S k ≥X k The ship may not be able to start service due to the lack of available quay cranes (Quality Control, QC), so this decision variable is defined, k∈V;

[0109] Y k : berth index assigned to ship k, k∈V;

[0110] If berth i is allocated to ship k, then otherwise

[0111] If both ships k and k' are assigned to berth i, and ship k leaves the berth before ship k' starts berthing, then Φ ikk’ =1; otherwise Φ ikk’ =0;

[0112] Z kt :If ship k is in service at time unit t, then Z kt =1, otherwise Z kt =0;

[0113] θ kk′ : If the operation on ship k is completed, and then ship k′ is selected for operation, then θ kk′ =1, otherwise θ kk′ =0;

[0114] Γ t : The set of ships served at time unit t;

[0115] f k : Total operation time units of quay crane, which indicates the number of time units of quay crane required to load and unload ship k;

[0116] ma k : The maximum number of quay cranes that can be assigned to ship k;

[0117] mi k : The minimum number of quay cranes that can be assigned to ship k;

[0118] c4: Single setup cost of each quay crane;

[0119] C k : Completion time of ship k;

[0120] U jkt : If quay crane j is assigned to ship k at time unit t, then U jkt =1; otherwise,

[0121] U jkt =0;

[0122] L jkt : The leftmost crane number among the quay cranes assigned to ship k at time unit t, if U jkt -U j-1,kt ≥1, then L jkt =1; otherwise, L jkt =0;

[0123] R jkt : The rightmost crane number among the quay cranes assigned to ship k at time unit t, if U jkt -U j+1,kt ≥1, then R jkt =1; otherwise, R jkt =0;

[0124] W jkt : represents the setup cost of the quay crane j assigned to the ship k at time unit t. If U jkt -U jk,t-1 ≥1, then W jkt =11; otherwise, W jkt =0.

[0125] Based on the above symbols, the following is a detailed description of a method and device for allocating discrete berths and quay cranes of a container terminal provided by the present application in combination with the accompanying drawings and specific embodiments:

[0126] See also Figure 1 An embodiment of the present application provides a method for allocating discrete berths and quay cranes of a container terminal, comprising:

[0127] Step S101, based on the first problem of discrete berths and time-invariant quay crane allocation, a first mixed integer programming model is constructed, and based on the second problem of discrete berths and time-varying quay crane allocation, a second mixed integer programming model is constructed; in this step, when constructing the first mixed integer programming model based on the first problem of discrete berths and time-invariant quay crane allocation, a first assumption can be made for the first problem, that is, a specific number of quay cranes are required in the ship operation process (loading and unloading process), and the ship operation process will only start when and only when this number of quay cranes are available, and during the entire operation process, the number of quay cranes serving the ship must remain unchanged. The objective function of the first mixed integer programming model constructed at this time includes: the penalty cost caused by the ship berthing later than the expected arrival time, the ship's departure delay exceeding the agreed time, and the ship berthing deviating from the minimum cost berth, which can be specifically expressed as:

[0128]

[0129] Since the symbols in the objective function have been explained above, they will not be repeated here.

[0130] Specifically, the constraint conditions corresponding to the first mixed integer programming model include at least one of the following:

[0131] The ship's berthing time is later than or equal to the ship's estimated arrival time, that is

[0132] The ship's start time of operation is later than or equal to the ship's start time of berthing, that is

[0133] Each vessel shall be allocated a berth, i.e.

[0134] Each vessel should berth to the allocated berth, i.e.

[0135] The number of quay cranes used per time unit cannot exceed the number of available quay cranes, i.e.

[0136] At the same berth, the difference between the start time of berthing of the latter ship and the start time of operation of the former ship is greater than or equal to the estimated service time of the former ship, that is, and

[0137] Two adjacent ships assigned to the same berth should berth to the corresponding berth, i.e.

[0138] Each vessel must be serviced for an estimated time unit, i.e.

[0139] Once the vessel has commenced an operation it cannot be interrupted until the operation is completed, i.e. and

[0140] It should be noted that the decision variable Z kt ,

[0141] Since the assumptions corresponding to the first problem cannot be applied to all situations in actual operation, because in practice, the operation of the ship can start with some available quay cranes, that is, the quay cranes at this time are less than needed. Therefore, the assumptions corresponding to the first problem are relaxed to obtain the second problem based on discrete berths and time-varying quay crane allocation, and the second mixed integer programming model is constructed based on the second problem. Since the time-varying quay crane allocation may further increase the cost, the objective function corresponding to the second mixed integer programming model can be expressed as:

[0142]

[0143] Since the symbols in the objective function have been explained above, they will not be repeated here.

[0144] The second constraint of the second mixed integer programming model includes at least one of the following:

[0145] The ship's berthing time is later than or equal to the ship's estimated arrival time, that is

[0146] The ship's start time of operation is later than or equal to the ship's start time of berthing, that is

[0147] Each vessel shall be allocated a berth, i.e.

[0148] Each vessel should berth to the allocated berth, i.e.

[0149] Two adjacent ships assigned to the same berth should berth to the corresponding berth, i.e.

[0150] The total number of time units required to serve each ship is equal to the sum of the number of time units served by each quay crane, that is,

[0151] During the time unit of providing service, the number of quay cranes assigned to a ship is greater than or equal to the minimum number of quay cranes that can be assigned to the ship, that is,

[0152] During the time unit of providing service, the number of quay cranes assigned to a ship is less than or equal to the maximum number of quay cranes that can be assigned to the ship, that is,

[0153] The number of ships served by each quay crane in each time unit is less than or equal to one, that is,

[0154] At the same berth, the start berthing time of the next ship is later than or equal to the completion time of the previous ship, that is,

[0155] Once the vessel has commenced an operation it cannot be interrupted until the operation is completed, i.e. and

[0156] In the case where a ship needs to be served within a time unit, the number of quay cranes serving the ship within the time unit is less than or equal to the minimum number of quay cranes that can be allocated to the ship, and greater than or equal to one, that is, and

[0157] Define the setup costs of the leftmost quay crane, the rightmost quay crane, and the quay cranes assigned to the ship, where the definition constraints for the leftmost quay crane include: The defined constraints for the rightmost quay crane include: The constraints defined for the setup costs of the quay cranes assigned to the vessel include:

[0159]

[0160] In each time unit, each ship has only one leftmost quay crane and one rightmost quay crane, i.e. and

[0161] The leftmost quay crane assigned to a ship in the same time unit is located to the right of the rightmost quay crane assigned to another ship at the berth on the left side of the ship, i.e.

[0162] Step S102, based on the priority relationship between ships, the first problem is reformulated and converted into a third problem based on resource-constrained project scheduling, and the first mixed integer programming model is converted into a third mixed integer programming model, wherein the objective functions corresponding to the first mixed integer programming model and the third mixed integer programming model are both first objective functions; in this step, in order to facilitate the solution of the first mixed integer programming model, the first problem is reformulated as a third problem based on resource (i.e., quay crane)-constrained project scheduling, and a second assumption can be made on the third problem to convert the first mixed integer programming model into a third mixed integer programming model, wherein the second assumption is: if the arrival time of ship k' is later than the requested departure time of ship k, then ship k has priority over ship k', that is, ships k and k' have a priority relationship (k, k'), and ship k' cannot berth before the operation of ship k is completed. At the same time, in order to facilitate the conversion of the first mixed integer programming model into the third mixed integer programming model, the following definition is proposed:

[0163] Definition 1: Activity. Loading and unloading containers for a ship is considered an activity. The operation on ship k is defined as activity k. The expected operation time of ship k is taken as the duration of activity k. The expected arrival time and required departure time of each ship are taken as the start and end time of the corresponding activity, respectively.

[0164] Definition 2: Transitive precedence relation. If there are precedence relations (k1, k2) and (k2, k3), then k1 is the precedence activity of k3, that is, (k1, k3) is a transitive precedence relation.

[0165] Definition 3: Minimum precedence relation set. The minimum precedence relation set E is a set such that each precedence relation pair is not a transitive precedence relation pair.

[0166] Definition 4: Resource. The quay cranes that provide container loading and unloading services are considered as resources. For each activity, the number of quay cranes required is different and predetermined.

[0167] Definition 5: Forbidden set. A forbidden set is a set F of activities that cannot be performed simultaneously due to resource constraints (there is no precedence relationship between the activities in the set).

[0168] Definition 6: Minimal forbidden set. A minimal forbidden set is a forbidden set such that every subset of it is not a forbidden set. Let Ψ be the set of all minimal forbidden sets.

[0169] Therefore, the resource-constrained project scheduling problem proposed in the embodiment of the present application is a non-preemptive scheduling problem that determines the allocation of berth and quay crane resources under priority and resource constraints and seeks the minimum total cost. Its objective function is consistent with the first objective function corresponding to the first mixed integer programming model. Since a new definition is added, the constraint conditions corresponding to the first objective function need to be modified to meet the requirements of the third mixed integer programming model.

[0170] In a specific embodiment, the first constraint condition corresponding to the third mixed integer programming model includes at least one of the following:

[0171] The ship's berthing time is later than or equal to the ship's estimated arrival time, that is

[0172] The ship's start time of operation is later than or equal to the ship's start time of berthing, that is

[0173] Each vessel shall be allocated a berth, i.e.

[0174] Each vessel should berth to the allocated berth, i.e.

[0175] At the same berth, the difference between the start time of berthing of the latter ship and the start time of operation of the former ship is greater than or equal to the estimated service time of the former ship, that is, and

[0176] Two adjacent ships assigned to the same berth should berth to the corresponding berth, i.e.

[0177] The two ships in the minimum priority relation set satisfy the corresponding priority relation, namely

[0178] There is only one definite priority relationship between two ships, namely

[0179] The number of quay cranes used per time unit does not exceed the number of available quay cranes, i.e.

[0180] In the same priority relationship, the difference between the start berthing time of the low-priority ship and the start operation time of the high-priority ship is greater than or equal to the estimated service time of the high-priority ship, that is,

[0181] Two adjacent ships assigned to the same berth have a corresponding priority relationship, that is, if but That is to say in,

[0182] Step S103, solving the third mixed integer programming model according to the branch and cut algorithm to obtain a first solution result; that is, after obtaining the third mixed integer programming model that can be simply solved, it can be solved according to the branch and cut algorithm to obtain a first solution result, and the first solution result is used as the solution result of the first mixed integer programming model;

[0183] Step S104, solving the second mixed integer programming model according to the first solution result and the two-stage heuristic algorithm to obtain a second solution result; in this step, after obtaining the allocation method corresponding to the discrete berths and the time-invariant quay crane, that is, the first solution result, when solving the allocation method corresponding to the discrete berths and the time-invariant quay crane, that is, the second solution result corresponding to the second mixed integer programming model, the two-stage heuristic algorithm and the first solution result can be used for calculation, and the second solution result can be obtained based on the known first solution result, which is beneficial to improve the efficiency of solving the second mixed integer programming model.

[0184] Step S105, outputting the first solution result and the second solution result. In this step, after obtaining the first solution result and the second solution result, the first solution result and the second solution result are output, so as to arrange the loading and unloading of the ship according to the two solution structures, thereby ensuring the efficiency of the actual loading and unloading of the ship.

[0185] In summary, the present application constructs a first mixed integer programming model based on time-invariant quay crane allocation and discrete berth allocation, and optimizes the first mixed integer programming model through ship priority relationship to obtain a third mixed integer programming model corresponding to the resource-constrained project scheduling problem, and calculates the third mixed integer programming model through the branch and cut algorithm to obtain the first solution result, which can improve the quality and efficiency of solving the first mixed integer programming model. At the same time, a second mixed integer programming model is constructed based on time-varying quay crane allocation and discrete berth allocation, and the second mixed integer programming model is solved based on the first solution result and the two-stage heuristic algorithm, and the second solution result is obtained, which is conducive to simplifying the solution process with a small loss in solution quality. It makes up for the current lack of research on discrete berths and the technical deficiencies of not simultaneously considering time-varying and time-invariant quay crane allocation, and is conducive to simplifying the mathematical model for solution and improving solution efficiency.

[0186] See also Figure 2 Specifically, according to the method described above, solving the third mixed integer programming model according to the branch and cut algorithm to obtain a first solution result includes:

[0187] Step S201, initializing variables, the variables include: a first vector consisting of the start operation time corresponding to each ship, a second vector consisting of the number of start operations, a solution feasibility judgment variable, a prohibition set based on time units, a third vector violating the prohibition set, and the length of the third vector; wherein, in a specific embodiment, the first vector is a vector of the start operation time corresponding to each ship, which after initialization can be expressed as The second vector is a vector of the number of starting operations obtained by sorting the first vector in non-descending order and eliminating duplicate items. After initialization, it can be expressed as Ψ=[1,…,e,…,|Ψ|]. The feasibility judgment variable (feasible) of the solution can be expressed as "infeasible" or "NO" after initialization. The third vector can be expressed as an empty set after initialization. The length of the third vector can be expressed as the modulus of the third vector after initialization.

[0188] Step S202, according to the length of the third vector, determine the target constraint in the first constraint group; in this step, since the length of the third vector can represent the number of prohibited sets to a certain extent, when the number of prohibited sets is small, it will lead to the constraint that the number of quay cranes used in each time unit does not exceed the number of available quay cranes. At this time, this constraint can be ignored. That is, in a specific embodiment, when the length of the third vector is zero, the target constraint is the first constraint that does not include the number of quay cranes used in each time unit does not exceed the number of available quay cranes; otherwise, the target constraint is all the constraints in the first constraint.

[0189] Step S203, solving the first objective function based on the target constraint condition, obtaining the initial solution vector corresponding to the first vector, and updating the first vector according to the initial solution vector; in this step, the first objective function is solved based on the above-redetermined target constraint condition to obtain the initial solution vector corresponding to the first vector, and update it to the first vector. It should be noted that when the target constraint condition is a complete first constraint condition, the size of the solution obtained by the solution will be further compared with the solution in the first vector, and the larger value of the two will be selected as the initial solution in the initial solution vector.

[0190] Step S204, after sorting the updated first vector in non-descending order and eliminating duplicate items, the second vector is updated; in this step, the second vector is updated based on the sorting in non-descending order and eliminating duplicate items of the updated first vector, so as to ensure the accuracy of subsequent calculations.

[0191] Step S205, according to the first vector and the second vector, determine in turn whether the start operation time corresponding to each ship in the first vector meets the first preset condition. If the target ship meets the first preset condition, the activity corresponding to the target ship is added to the prohibited set, and the demand for the quay crane of the corresponding time unit is updated. The first preset condition is: the initial solution corresponding to the target ship in the first vector is less than or equal to the corresponding value of the target element in the second vector, and the sum of the initial solution corresponding to the target ship and the corresponding estimated operation time is greater than or equal to the sum of the time corresponding to the target element and a time unit. In this step, after obtaining the updated first vector and the second vector, in order to ensure that the operations corresponding to each ship do not conflict, it is determined in turn whether the start operation time corresponding to each ship in the first vector meets the first preset condition, wherein the first preset condition is and Ψ[e] represents the start operation time corresponding to the operation number e of the target ship k, and Ψ[e]+1 represents the sum of the start operation time corresponding to the operation number e of the target ship k and a time unit. If the first preset condition is met, it means that the operation of the target ship will affect the operation of the next ship, so the activity corresponding to the target ship is added to the prohibited set, and the demand for the quay crane of the corresponding time unit is updated, wherein the updated demand for the quay crane is the sum of the original demand for the quay crane and the usage of the quay crane corresponding to the target ship, e k The sum.

[0192] Step S206, if the demand for the quay crane is greater than the total number of available quay cranes in the corresponding time unit, the prohibition set is added to the third vector; in this step, the demand for the quay crane obtained above is compared with the total number of available quay cranes in the corresponding time unit. If the demand for the quay crane is greater than the total number of available quay cranes in the corresponding time unit, it means that the available quay cranes at this time cannot meet the use demand of the ship, so the prohibition set obtained above is added to the third vector. It should be noted that this step can be processed sequentially for each ship in the corresponding first vector, or it can be processed uniformly after all ships are processed as above to obtain the updated demand for quay cranes.

[0193] Step S207, if the modulus of the third vector is equal to the length of the third vector, then the feasibility judgment variable is updated to be feasible, and the updated first vector is output as the first solution result, otherwise return to the step of determining the target constraint condition in the first constraint condition according to the length of the third vector. In this step, the modulus of the third vector and the length of the third vector are judged. If the modulus of the third vector is equal to the length of the third vector, then it is determined that the initial solution in the initial solution vector is feasible at this time, and the feasibility judgment variable is updated to be feasible or "YES", and the updated first vector is output as the first solution result. If the modulus of the third vector is not equal to the length of the third vector, then it is determined that the initial solution in the initial solution vector is not feasible at this time, and the feasibility judgment variable is not updated or the feasibility judgment variable is updated to "not feasible" or "NO". At this time, since the result obtained is not feasible, it returns to the previous step to recalculate, preferably returning to the step of determining the target constraint condition in the first constraint condition according to the length of the third vector.

[0194] See also Figure 3 Preferably, the method described above solves the second mixed integer programming model according to the first solution result and the two-stage heuristic algorithm to obtain a second solution result, including:

[0195] Step S301, converting the initial solution in the first solution result into a feasible solution according to the second preset condition, wherein the second preset condition is that the total number of time units that the target ship needs to be served is less than or equal to the product of the estimated number of time units to be served and the number of quay cranes used in each time unit providing services, and is greater than the product of the number of quay cranes used in each time unit providing services minus one and the number of time units providing services;

[0196] Step S302, improving the feasible solution according to the variable domain search algorithm to obtain the second solution result.

[0197] In this implementation, when solving based on the two-stage heuristic algorithm, the initial solution in the first solution result is first converted into a feasible solution of the second mixed integer programming model through the second preset condition, and then the feasible solution is improved based on the variable field search algorithm to obtain the required second solution result, thereby simplifying the solution process of the second mixed integer programming model and ensuring the accuracy of the result. Among them, the second preset condition is: the total number of time units that the target ship needs to serve is less than or equal to the product of the estimated number of time units to be served and the number of quay cranes used in each time unit providing service, and is greater than the product of the number of quay cranes used in each time unit providing service minus one and the number of time units providing service, that is, The second preset condition is used to ensure that a second solution result can be obtained by subsequent calculation based on the first solution result.

[0198] Specifically, in the method described above, converting the initial solution in the first solution result into a feasible solution according to the second preset condition includes:

[0199] When the second preset condition is met, a first number of quay cranes are removed within the last service time unit corresponding to the initial solution to obtain the feasible solution, where the first number is the product of the estimated number of time units served and the number of quay cranes used in each service-providing time unit, and the difference between the total number of quay crane operating time units required by the target ship and the total number of quay crane operating time units required by the target ship.

[0200] In a specific embodiment, if the second preset condition is met, the first number of quay cranes can be removed within the last service time unit corresponding to the initial solution to obtain a feasible solution corresponding to the second mixed integer programming model, wherein the first number is the product of the estimated number of time units served and the number of quay cranes used in each service-providing time unit minus the difference between the total number of quay crane operating time units required by the target ship, that is, the number of quay cranes added in the early and middle stages of the operation during the last service time unit is removed, which is conducive to ensuring the accuracy of the feasibility solution finally obtained.

[0201] See also Figure 4 Specifically, in the method described above, the feasibility solution is improved according to the variable domain search algorithm to obtain the second solution result, including:

[0202] Step S401, determining an operator set according to a variable domain search algorithm, wherein the operator set includes: a forward shift operator, a backward shift operator, a forward right operator, a right forward operator, a backward right operator, and a right backward operator;

[0203] Step S402, randomly generating a ship priority list;

[0204] Step S403, for each ship in the ship priority list, randomly select an operator from the operator set and operate the feasible solution to obtain a first reference solution;

[0205] Step S404: if the first reference solution is less than or equal to the second reference solution, assign the first reference solution to the second reference solution and return the disappointment value to zero; otherwise, assign the second reference solution to the feasible solution and increase the disappointment value by one, wherein the initial value of the second reference solution is the feasible solution;

[0206] Step S405, when the disappointment value is equal to the preset disappointment threshold, determining that the second reference solution at this time is the second solution result, otherwise, returning to the step of randomly generating a ship priority list.

[0207] In this embodiment, when the feasibility solution is improved according to the variable domain search algorithm, first, the operator set corresponding to the variable domain search algorithm is determined. Since the application scenario corresponding to this application is loading and unloading cargo for ships at the dock, which mainly involves two dimensions of time and linear space, it is determined that the operator set in this application includes: forward operator, backward operator, forward right operator, right forward operator, backward right operator and right backward operator. Further, a ship priority list is randomly generated to facilitate subsequent calculations based on the determined priority.

[0208] Specifically, when performing calculations, for each ship in the ship priority list, an operator is randomly selected from the operator set and the feasibility solution is operated to obtain a first reference solution; then the size relationship between the first reference solution and the feasibility solution is determined. If the first reference solution is less than or equal to the second reference solution, it means that the first reference solution is better than the second reference solution, so the first reference solution is assigned to the second reference solution, and the disappointment value is reset to zero, wherein the second reference solution is a solution for output, and its initial value is the feasibility solution obtained above, and the disappointment value is used to indicate whether the solution obtained by the current calculation is better than the solution or feasibility solution obtained by the previous calculation. If the first reference solution is greater than the second reference solution, it means that the second reference solution is better than the first reference solution, then the second reference solution is kept unchanged, and the disappointment value is increased by one. When the disappointment value reaches the preset disappointment threshold, it means that a solution better than the current second reference solution cannot be obtained within the preset number of times, so the current second reference solution is determined to be the optimal solution, and thus the second reference solution is determined to be the second solution result; if the disappointment value does not reach the preset disappointment threshold, it means that it is impossible to determine whether it is the optimal solution at this time, so return to the previous step and perform iterative calculation again, preferably returning to the step of randomly generating a ship priority list, and disrupting the ship priority to ensure that the final second solution result is the optimal solution to adapt to various situations.

[0209] It should be noted that the step of determining the relationship between the disappointment value and the preset disappointment threshold in this embodiment is for all ships. That is, only when all ships can be moored at the best position and have the best number of quay cranes serving them in each time unit, the entire system will reach the optimal solution.

[0210] It should be noted that in this embodiment, a judgment variable κ can also be introduced, whose initial value is zero. When the first reference solution is greater than the second reference solution, κ=0; otherwise, κ is increased by 1. Moreover, if κ is greater than zero, the disappointment value is returned to zero, otherwise, the disappointment value is increased by 1.

[0211] The following is an example of operating each operator in the operator set on the feasible solution to obtain the first reference solution.

[0212] Specifically, the method as described above, performing operation on the feasible solution according to the forward operator to obtain the first reference solution, includes:

[0213] When the first condition is met, the operation time of the target ship is moved forward by one time unit, and one time unit (S k The number of quay cranes allocated to the target ship in the above-mentioned example is the number of quay cranes allocated to the target ship at the start of operation time (S k ) The number of quay cranes allocated in the time unit The number of available quay cranes that were not assigned in the time unit before the start of the operation The smaller value of ;

[0214] The first condition includes:

[0215] The start operation time of the target ship is greater than the expected arrival time, that is, S k >a k ;

[0216] The berth Y corresponding to the target ship k A time unit (S) before the start of the operation k -1) No ships are berthed;

[0217] A time unit (S) before the start of the operation k -1) There are available quay cranes;

[0218] The target ship starts operation at the time (S k ) The number of quay cranes allocated in the time unit The number of available quay cranes that were not assigned in the time unit before the start of the operation are all greater than the minimum number of quay cranes that can be assigned to ship k (mik ).

[0219] Specifically, the method as described above, performing operation on the feasible solution according to the backshift operator to obtain the first reference solution, includes:

[0220] When the second condition is met, the operation time of the target ship is moved back by one time unit, and the number of quay cranes allocated to the target ship is the number of quay cranes allocated to the target ship at the completion time (C k ) The number of quay cranes in service during the time unit One time unit after completion (C k +1) Number of available quay cranes The smaller value of ;

[0221] The second condition includes:

[0222] The completion time of the target ship is less than the expected departure time, that is, C k <d k ;

[0223] The berth corresponding to the target ship is completed one time unit (C k +1) No ships are berthed;

[0224] After the completion of the work, a time unit (C k +1) There are available quay cranes;

[0225] The target ship is completed at the time (C k ) The number of quay cranes in service during the time unit and one time unit after completion (C k +1) Number of available quay cranes are all less than the minimum number of quay cranes that can be assigned to ship k (mi k ).

[0226] Specifically, the method described above, operating the feasible solution according to the forward right operator to obtain the first reference solution, includes:

[0227] When the third condition is met, the operation time (S k ) in the time unit where at least one quay crane allocated to the target ship moves rightward to a time unit (S k +1) and completion time (C k ), and the number of quay cranes adjusted is the start operation time (S k ) The number of quay cranes allocated to the target ship in the time unit The time unit (S) after the start operationk -1) and completion time (C k ) And the time unit (S) after the start operation k -1) and completion time (C k ) remaining number of quay cranes that can be allocated to the target ship The smaller value of ;

[0228] The third condition includes:

[0229] After the start operation, a time unit (S k -1) and the completion time (C k ) There are available quay cranes between

[0230] After the start operation, a time unit (S k -1) and the completion time (C k ) The target vessel mentioned between the two may accept the services of other quay cranes.

[0231] Specifically, the method as described above, operating the feasible solution according to the backward right operator to obtain the first reference solution, includes:

[0232] If the fourth condition is met, the completion time (C k ) The time unit assigned to the target ship's quay crane moves right to the start operation time (S k ) and the time unit before completion (C k -1), and the number of quay cranes adjusted is the completion time (C k ) The number of quay cranes assigned to the target ship in the time unit The start time of the operation and the time unit before the completion (C k -1) The remaining number of available quay cranes and the start time of the operation and the time unit before the completion (C k -1) The remaining number of quay cranes that can be allocated to the target ship The smaller value of ;

[0233] The fourth condition includes:

[0234] At the start operation time (S k ) and the time unit before completion (C k -1) There are available quay cranes;

[0235] At the start operation time (S k ) and the time unit before completion (Ck -1) The target vessel may accept the services of other quay cranes.

[0236] Specifically, the method as described above, operating the feasible solution according to the right-forward operator to obtain the first reference solution, includes:

[0237] When the fifth condition is met, one of the quay cranes allocated to the target ship in each time unit of operation is moved to the time unit (S ) before the first target time unit and the start of operation. k -1), and the adjusted number of quay cranes is the sum of the first target time unit and the time unit before the start of operation (S k -1) The remaining number of available quay cranes and the smaller value between the first number, wherein the first target time unit is the larger value of the time unit where the estimated arrival time is located and the completion time of the previous ship, that is, max{a k ,C k-1}, the first number is the start operation time of the target ship (S k ) and completion time (C k ) between the number of quay cranes allocated to the target ship and the minimum number of quay cranes that can be allocated to the target ship, that is,

[0238] The fifth condition includes:

[0239] The start operation time is greater than the estimated arrival time, that is, S k >a k ;

[0240] The berth (Y) corresponding to the target ship k ) before the start of the operation (S k -1) No ships are docked;

[0241] In the first target time unit (max{a k ,C k-1}) and the time unit (S) before the start operation k -1) There are available quay cranes between.

[0242] Specifically, the method described above, operating the feasible solution according to the right backward operator to obtain the first reference solution, includes:

[0243] In the case where the sixth condition is met, one of the quay cranes allocated to the target ship in each time unit of operation is moved to a time unit after completion (C k+1) and the second target time unit, and the number of quay cranes adjusted is the time unit after completion (C k+1 ) and the remaining number of available quay cranes between the second target time unit and the second number, wherein the second target time unit is the requested departure time of the target ship (d k ) and the estimated arrival time of the next ship (X k+1 ), that is, minPd k ,X k+1}, the second number is the start operation time of the target ship (S k ) and completion time (C k The total difference between the number of quay cranes allocated to ships and the minimum number of quay cranes that can be allocated to ships is

[0244] The sixth condition includes:

[0245] The completion time is less than the requested departure time unit, that is, C k <d k ;

[0246] The berth (Y) corresponding to the target ship k ) after the completion of the work (C k+1 ) No vessel is docked;

[0247] After the completion of the work, a time unit (C k+1 ) and the target time unit (min{d k ,X k+1}) There are available quay cranes between.

[0248] See also Figure 5 Another embodiment of the present application further provides a control device, comprising:

[0249] A first processing module 501 is used to construct a first mixed integer programming model based on a first problem of discrete berths and time-invariant quay crane allocation, and to construct a second mixed integer programming model based on a second problem of discrete berths and time-varying quay crane allocation;

[0250] A second processing module 502 is used to reformulate and transform the first problem into a third problem based on resource-constrained project scheduling based on the priority relationship between ships, and transform the first mixed integer programming model into a third mixed integer programming model, wherein the objective functions corresponding to the first mixed integer programming model and the third mixed integer programming model are both first objective functions;

[0251] A third processing module 503 is used to solve the third mixed integer programming model according to a branch and cut algorithm to obtain a first solution result;

[0252] A fourth processing module 504 is used to solve the second mixed integer programming model according to the first solution result and a two-stage heuristic algorithm to obtain a second solution result;

[0253] The fifth processing module 505 is used to output the first solution result and the second solution result.

[0254] Specifically, in the above device, the first objective function is:

[0255]

[0256] Where V is the set of ships; k is the ship index; c 1k is the penalty cost per time unit incurred by ship k due to berthing delay exceeding the estimated arrival time; c 2k is the penalty cost per time unit incurred by ship k due to the departure delay exceeding the requested departure time; c 3k is the unit additional cost of ship k due to deviation from the lowest cost berth, where a single berth is considered as one unit; k g is the estimated arrival time of the ship; k b is the estimated number of time units served by ship k; k is the lowest cost desired berth for ship k; d k is the requested departure time of vessel k, and d k =a k +b k ;X k is the starting berthing time of ship k; S k Y is the start time of operation of ship l; k is the berth allocated to ship k;

[0257] The first constraint condition corresponding to the third mixed integer programming model includes at least one of the following:

[0258] The vessel's berthing time is later than or equal to the vessel's estimated arrival time;

[0259] The ship's start time of operation is later than or equal to the ship's start time of berthing;

[0260] Each vessel should be allocated a berth;

[0261] Each vessel should berth to the allocated berth;

[0262] At the same berth, the difference between the start time of berthing of the latter ship and the start time of operation of the former ship is greater than or equal to the estimated service time of the former ship;

[0263] Two adjacent ships assigned to the same berth should berth at the corresponding berth;

[0264] The two ships in the minimum priority relation set satisfy the corresponding priority relation;

[0265] There is only one definite priority relationship between two ships;

[0266] The number of quay cranes used per time unit does not exceed the number of available quay cranes;

[0267] In the same priority relationship, the difference between the start berthing time of the low-priority ship and the start operation time of the high-priority ship is greater than or equal to the estimated service time of the high-priority ship;

[0268] Two adjacent ships assigned to the same berth have a corresponding priority relationship.

[0269] Specifically, in the above-mentioned device, the third processing module includes:

[0270] A first processing unit is used to initialize variables, wherein the variables include: a first vector composed of the start operation time corresponding to each ship, a second vector composed of the number of start operations, a solution feasibility judgment variable, a prohibition set performed by time unit, a third vector violating the prohibition set, and the length of the third vector;

[0271] a second processing unit, configured to determine a target constraint in the first constraint group according to the length of the third vector;

[0272] a third processing unit, configured to solve the first objective function based on the objective constraint condition, obtain an initial solution vector corresponding to the first vector, and update the first vector according to the initial solution vector;

[0273] a fourth processing unit, configured to sort the updated first vector in non-descending order and eliminate duplicate items, and then update the second vector;

[0274] a fifth processing unit, configured to determine, in turn, whether the start operation time corresponding to each ship in the first vector satisfies a first preset condition based on the first vector and the second vector; if the target ship satisfies the first preset condition, the activity corresponding to the target ship is added to the prohibited set, and the demand for the quay crane of the corresponding time unit is updated, wherein the first preset condition is that the initial solution corresponding to the target ship in the first vector is less than or equal to the corresponding value of the target element in the second vector, and the sum of the initial solution corresponding to the target ship and the corresponding estimated operation time is greater than or equal to the sum of the time corresponding to the target element and a time unit;

[0275] a sixth processing unit, configured to add the prohibited set to the third vector if the demand for the quay crane is greater than the total number of available quay cranes in the corresponding time unit;

[0276] The seventh processing unit is used to update the feasibility judgment variable as feasible if the modulus of the third vector is equal to the length of the third vector, and output the updated first vector as the first solution result; otherwise, return to the step of determining the target constraint condition in the first constraint condition according to the length of the third vector.

[0277] Preferably, in the above device, the second processing unit comprises:

[0278] When the length of the third vector is zero, the target constraint condition does not include the first constraint condition that the number of quay cranes used in each time unit does not exceed the number of available quay cranes; otherwise, the target constraint is all constraints in the first constraint condition.

[0279] Specifically, in the above device, the second objective function of the second mixed integer programming model is:

[0280]

[0281] Where V is the set of ships; k is the ship index; c 1k is the penalty cost per time unit incurred by ship k due to berthing delay exceeding the estimated arrival time; c 2k is the penalty cost per time unit incurred by ship k due to the departure delay exceeding the requested departure time; c 3k is the unit additional cost of ship k due to deviation from the lowest cost berth, where a single berth is considered as one unit; k is the estimated arrival time of the ship; k is the completion time of ship k; b k is the lowest cost desired berth for ship k; d k is the requested departure time of vessel k, and dk =a k +b k ;X k is the starting berthing time of ship k; S k is the start time of operation of ship k; Y k is the berth allocated to ship k; c4 is the single setup cost of each quay crane; W jkt is the setup cost of the quay crane j assigned to the ship k at time unit t;

[0282] The second constraint of the second mixed integer programming model includes at least one of the following:

[0283] The vessel's berthing time is later than or equal to the vessel's estimated arrival time;

[0284] The ship's start time of operation is later than or equal to the ship's start time of berthing

[0285] Each vessel should be allocated a berth;

[0286] Each vessel should berth to the allocated berth;

[0287] Two adjacent ships assigned to the same berth should berth at the corresponding berth;

[0288] The total number of time units required to serve each ship is equal to the sum of the number of time units served by each quay crane.

[0289] During the time unit of providing service, the number of quay cranes allocated to a ship is greater than or equal to the minimum number of quay cranes that can be allocated to the ship;

[0290] During the time unit of providing service, the number of quay cranes allocated to a ship is less than or equal to the maximum number of quay cranes that can be allocated to the ship;

[0291] The number of ships served by each quay crane in each time unit is less than or equal to one;

[0292] At the same berth, the start berthing time of the next ship is later than or equal to the completion time of the previous ship;

[0293] Once a vessel has commenced an operation it cannot be interrupted until the operation is completed;

[0294] In the case where a ship needs to be served within a time unit, the number of quay cranes serving the ship within the time unit is less than or equal to the minimum number of quay cranes that can be allocated to the ship, and is greater than or equal to one;

[0295] Define the setup costs of the leftmost quay crane, the rightmost quay crane and the quay cranes assigned to the vessel;

[0296] In each time unit, each ship has only one leftmost quay crane and one rightmost quay crane;

[0297] The leftmost quay crane assigned to a vessel in the same time unit is located to the left of the rightmost quay crane assigned to another vessel at the berth to the left of the vessel.

[0298] Specifically, in the above-mentioned device, the fourth processing module includes:

[0299] an eighth processing unit, configured to convert the initial solution in the first solution result into a feasible solution according to the second preset condition, wherein the second preset condition is that the total number of time units that the target ship needs to be served is less than or equal to the product of the estimated number of time units to be served and the number of quay cranes used in each time unit providing services, and is greater than the product of the number of quay cranes used in each time unit providing services minus one and the number of time units providing services;

[0300] The ninth processing unit is used to improve the feasible solution according to the variable domain search algorithm to obtain the second solution result.

[0301] Further, in the above device, the eighth processing unit includes:

[0302] When the second preset condition is met, a first number of quay cranes are removed within the last service time unit corresponding to the initial solution to obtain the feasible solution, where the first number is the product of the estimated number of time units served and the number of quay cranes used in each service-providing time unit, and the difference between the total number of quay crane operating time units required by the target ship and the total number of quay crane operating time units required by the target ship.

[0303] Specifically, in the above-mentioned device, the ninth processing unit includes:

[0304] A first sub-processing unit, configured to determine an operator set according to a variable domain search algorithm, wherein the operator set includes: a forward shift operator, a backward shift operator, a forward right operator, a right forward operator, a backward right operator, and a right backward operator;

[0305] A second sub-processing unit, for randomly generating a ship priority list;

[0306] a third sub-processing unit, configured to randomly select an operator from the operator set for each ship in the ship priority list and operate the feasible solution to obtain a first reference solution;

[0307] a fourth sub-processing unit, configured to assign the first reference solution to the second reference solution and return the disappointment value to zero if the first reference solution is less than or equal to the second reference solution, and otherwise assign the second reference solution to the feasibility solution and increase the disappointment value by one, wherein the initial value of the second reference solution is the feasibility solution;

[0308] The fifth sub-processing unit is used to determine that the second reference solution at this time is the second solution result when the disappointment value is equal to a preset disappointment threshold value, otherwise, return to the step of randomly generating a ship priority list. The control device embodiment of the present application is a device corresponding to the embodiment of the method for allocating discrete berths and quay cranes of the above-mentioned container terminal. All implementation means in the above-mentioned method embodiment are applicable to the embodiment of the device and can achieve the same technical effect. The above-mentioned control device provided in the embodiment of the present application can implement all the method steps implemented in the embodiment of the method for allocating discrete berths and quay cranes of the above-mentioned container terminal, and can achieve the same technical effect. The parts and beneficial effects of this embodiment that are the same as the method embodiment will not be specifically described here.

[0309] Another embodiment of the present application further provides an electronic device, including a processor, a memory, and a computer program stored in the memory and executable on the processor. When the computer program is executed by the processor, the steps of the method for allocating discrete berths and quay cranes of a container terminal as described above are implemented, and the same technical effect can be achieved. To avoid repetition, it will not be described here.

[0310] Yet another embodiment of the present application provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, the computer program implements the steps of the method for allocating discrete berths and quay cranes of a container terminal as described above, and can achieve the same technical effect. To avoid repetition, it will not be described here.

[0311] Another embodiment of the present application further provides a computer program product, including computer instructions, which, when executed by a processor, implement the steps of the method for allocating discrete berths and quay cranes of a container terminal as described above, and can achieve the same technical effect. To avoid repetition, they are not described again here.

[0312] In addition, the present application may repeat reference numerals and / or letters in different examples. This repetition is for the purpose of simplicity and clarity, and does not in itself indicate the relationship between the various embodiments and / or settings discussed.

[0313] It should also be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusions.

[0314] The above is a preferred embodiment of the present application. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles described in the present application. These improvements and modifications should also be regarded as the scope of protection of the present application.

Claims

1. A method for allocating discrete berths and quay cranes at a container terminal, characterized in that: include: Based on the first problem of discrete berths and time-invariant quay crane allocation, a first mixed integer programming model is constructed, and based on the second problem of discrete berths and time-varying quay crane allocation, a second mixed integer programming model is constructed; Based on the priority relationship between ships, the first problem is reformulated and transformed into a third problem based on resource-constrained project scheduling, and the first mixed integer programming model is transformed into a third mixed integer programming model, wherein the objective functions corresponding to the first mixed integer programming model and the third mixed integer programming model are both first objective functions; Solving the third mixed integer programming model according to a branch and cut algorithm to obtain a first solution result; Solving the second mixed integer programming model according to the first solution result and a two-stage heuristic algorithm to obtain a second solution result; The first solution result and the second solution result are output.

2. The method according to claim 1, characterized in that The first objective function is: Where V is the set of ships; k is the ship index; c 1k is the penalty cost per time unit incurred by ship k due to berthing delay exceeding the estimated arrival time; c 2k is the penalty cost per time unit incurred by ship k due to the departure delay exceeding the requested departure time; c 3k is the unit additional cost of ship k due to deviation from the lowest cost berth, where a single berth is considered as one unit; k g is the estimated arrival time of the ship; k b is the estimated number of time units served by ship k; k is the lowest cost desired berth for ship k; d k is the requested departure time of vessel k, and d k =a k +b k ;X k is the starting berthing time of ship k; S k is the start time of operation of ship k; Y k is the berth allocated to ship k; The first constraint condition corresponding to the third mixed integer programming model includes at least one of the following: The vessel's berthing time is later than or equal to the vessel's estimated arrival time; The ship's start time of operation is later than or equal to the ship's start time of berthing; Each vessel should be allocated a berth; Each vessel should berth to the allocated berth; At the same berth, the difference between the start time of berthing of the latter ship and the start time of operation of the former ship is greater than or equal to the estimated service time of the former ship; Two adjacent ships assigned to the same berth should berth at the corresponding berth; The two ships in the minimum priority relation set satisfy the corresponding priority relation; There is only one definite priority relationship between two ships; The number of quay cranes used per time unit does not exceed the number of available quay cranes; In the same priority relationship, the difference between the start berthing time of the low-priority ship and the start operation time of the high-priority ship is greater than or equal to the estimated service time of the high-priority ship; Two adjacent ships assigned to the same berth have a corresponding priority relationship.

3. The method according to claim 2, characterized in that Solving the third mixed integer programming model according to the branch and cut algorithm to obtain a first solution result includes: Initialize variables, the variables including: a first vector consisting of the start operation time corresponding to each ship, a second vector consisting of the number of start operations, a solution feasibility judgment variable, a prohibition set performed by time unit, a third vector violating the prohibition set, and the length of the third vector; Determining a target constraint in the first constraint group according to the length of the third vector; Solving the first objective function based on the objective constraint condition to obtain an initial solution vector corresponding to the first vector, and updating the first vector according to the initial solution vector; After sorting the updated first vector in non-descending order and eliminating duplicate items, updating the second vector; According to the first vector and the second vector, it is judged in turn whether the start operation time corresponding to each ship in the first vector meets the first preset condition. If the target ship meets the first preset condition, the activity corresponding to the target ship is added to the prohibited set, and the demand for the quay crane of the corresponding time unit is updated. The first preset condition is: the initial solution corresponding to the target ship in the first vector is less than or equal to the corresponding value of the target element in the second vector, and the sum of the initial solution corresponding to the target ship and the corresponding estimated operation time is greater than or equal to the sum of the time corresponding to the target element and a time unit; If the demand for the quay crane is greater than the total number of available quay cranes in the corresponding time unit, adding the prohibited set to the third vector; If the modulus of the third vector is equal to the length of the third vector, updating the feasibility judgment variable is feasible, and the updated first vector is output as the first solution result, otherwise returning to the step of determining the target constraint condition in the first constraint condition based on the length of the third vector.

4. The method according to claim 3, characterized in that The step of determining the target constraint condition in the first constraint condition according to the length of the third vector includes: When the length of the third vector is zero, the target constraint condition does not include the first constraint condition that the number of quay cranes used in each time unit does not exceed the number of available quay cranes; otherwise, the target constraint is all constraints in the first constraint condition.

5. The method according to claim 3, characterized in that: The second objective function of the second mixed integer programming model is: Where V is the set of ships; k is the ship index; c 1k is the penalty cost per time unit incurred by ship k due to berthing delay exceeding the estimated arrival time; c 2k is the penalty cost per time unit incurred by ship k due to the departure delay exceeding the requested departure time; c 3k is the unit additional cost of ship k due to deviation from the lowest cost berth, where a single berth is considered as one unit; k is the estimated arrival time of the ship; k is the completion time of ship k; b k is the lowest cost desired berth for ship k; d k is the requested departure time of vessel k, and d k =a k +b k ;X k is the starting berthing time of ship k; S k is the start time of operation of ship k; Y k is the berth allocated to ship k; c4 is the single setup cost of each quay crane; W jkt is the setup cost of the quay crane j assigned to the ship k at time unit t; The second constraint of the second mixed integer programming model includes at least one of the following: The vessel's berthing time is later than or equal to the vessel's estimated arrival time; The ship's start time of operation is later than or equal to the ship's start time of berthing; Each vessel should be allocated a berth; Each vessel should berth to the allocated berth; Two adjacent ships assigned to the same berth should berth at the corresponding berth; The total number of time units required to serve each ship is equal to the sum of the number of time units served by each quay crane. During the time unit of providing service, the number of quay cranes allocated to a ship is greater than or equal to the minimum number of quay cranes that can be allocated to the ship; During the time unit of providing service, the number of quay cranes allocated to a ship is less than or equal to the maximum number of quay cranes that can be allocated to the ship; The number of ships served by each quay crane in each time unit is less than or equal to one; At the same berth, the start berthing time of the next ship is later than or equal to the completion time of the previous ship; Once a vessel has commenced an operation it cannot be interrupted until the operation is completed; In the case where a ship needs to be served within a time unit, the number of quay cranes serving the ship within the time unit is less than or equal to the minimum number of quay cranes that can be allocated to the ship, and is greater than or equal to one; Define the setup costs of the leftmost quay crane, the rightmost quay crane and the quay cranes assigned to the vessel; In each time unit, each ship has only one leftmost quay crane and one rightmost quay crane; The leftmost quay crane assigned to a vessel in the same time unit is located to the left of the rightmost quay crane assigned to another vessel at the berth to the left of the vessel.

6. The method according to claim 1, characterized in that Solving the second mixed integer programming model according to the first solution result and a two-stage heuristic algorithm to obtain a second solution result includes: According to a second preset condition, the initial solution in the first solution result is converted into a feasible solution, wherein the second preset condition is that the total number of time units that the target ship needs to serve is less than or equal to the product of the estimated number of time units to be served and the number of quay cranes used in each time unit providing services, and is greater than the product of the number of quay cranes used in each time unit providing services minus one and the number of time units providing services; The feasible solution is improved according to a variable domain search algorithm to obtain the second solution result.

7. The method according to claim 6, characterized in that The converting the initial solution in the first solution result into a feasible solution according to the second preset condition includes: When the second preset condition is met, a first number of quay cranes are removed within the last service time unit corresponding to the initial solution to obtain the feasible solution, where the first number is the product of the estimated number of time units served and the number of quay cranes used in each service-providing time unit, and the difference between the total number of quay crane operating time units required by the target ship and the total number of quay crane operating time units required by the target ship.

8. The method according to claim 6, characterized in that The step of improving the feasible solution according to the variable domain search algorithm to obtain the second solution result includes: Determine an operator set according to a variable domain search algorithm, wherein the operator set includes: a forward shift operator, a backward shift operator, a forward right operator, a right forward operator, a backward right operator, and a right backward operator; Randomly generate ship priority lists; For each ship in the ship priority list, randomly selecting an operator from the operator set and operating the feasible solution to obtain a first reference solution; If the first reference solution is less than or equal to the second reference solution, the first reference solution is assigned to the second reference solution and the disappointment value is reset to zero; otherwise, the second reference solution is assigned to the feasibility solution and the disappointment value is increased by one, wherein the initial value of the second reference solution is the feasibility solution; When the disappointment value is equal to a preset disappointment threshold, the second reference solution at this time is determined to be the second solution result, otherwise, the process returns to the step of randomly generating a ship priority list.

9. A control device, characterized in that: include: A first processing module is used to construct a first mixed integer programming model based on a first problem of discrete berths and time-invariant quay crane allocation, and to construct a second mixed integer programming model based on a second problem of discrete berths and time-varying quay crane allocation; A second processing module is used to reformulate and transform the first problem into a third problem based on resource-constrained project scheduling based on the priority relationship between ships, and transform the first mixed integer programming model into a third mixed integer programming model, wherein the objective functions corresponding to the first mixed integer programming model and the third mixed integer programming model are both first objective functions; A third processing module, used for solving the third mixed integer programming model according to a branch and cut algorithm to obtain a first solution result; a fourth processing module, configured to solve the second mixed integer programming model according to the first solution result and a two-stage heuristic algorithm to obtain a second solution result; A fifth processing module is used to output the first solution result and the second solution result.

10. An electronic device, characterized in that: The invention comprises a processor, a memory and a computer program stored in the memory and executable on the processor, wherein when the computer program is executed by the processor, the steps of the method for allocating discrete berths and quay cranes of a container terminal according to any one of claims 1 to 8 are implemented.

11. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the method for allocating discrete berths and quay cranes of a container terminal according to any one of claims 1 to 8 are implemented.

12. A computer program product, characterized in that The method comprises computer instructions, which, when executed by a processor, implement the steps of the method for allocating discrete berths and quay cranes of a container terminal according to any one of claims 1 to 8.