SCHEDULING METHOD AND SYSTEM FOR FULLY AUTONOMOUS WATERBORNE INTER TERMINAL TRANSPORTATION

20220035374 · 2022-02-03

    Inventors

    Cpc classification

    International classification

    Abstract

    The present application discloses is a scheduling method and system for fully autonomous waterborne inter terminal transportation, and belongs to the field of transportation. The method includes: establishing a dynamic scheduling model for waterborne Autonomous guided vessels (wAGVs); quickly inserting the dynamically arriving transportation tasks into all the existing wAGV paths, calculating the insertion cost and selecting the path and position with the lowest insertion cost to obtain updated initial paths; improving the initial path using a heuristic algorithm based on tabu search to obtain quasi-optimal wAGV paths; executing the scheduling wAGV paths. The scheduling model of the present application is based on the combinatorial optimization, and considers performance indexes such as transportation distance and customer satisfaction, and constraints such as time window and loading capacity. An initial path by using an insertion method within the framework of rolling horizon is constructed. The initial path is then optimized and improved by designing a tabu search heuristic so that obtaining quasi-optimal multi-wAGV paths are obtained in real time. This system is helpful to improve the autonomy level of large ports.

    Claims

    1. A scheduling method for fully autonomous waterborne inter terminal transportation, comprising the following steps: 1) modeling against a fully autonomous waterborne inter terminal transportation scheduling problem, establishing a waterborne autonomous guided vessel (wAGV) oriented mixed integer programming dynamic scheduling model, and solving the mixed integer programming dynamic scheduling model to obtain a starting optimal path for a scheduling system; 2) inserting a newly arrived transportation task into the possible positions in all the existing paths of wAGVs calculated in the previous step but has not been completely executed within a rolling horizon framework, and calculating the corresponding insertion cost, comparing and selecting paths and positions that are with the minimum cost, inserting the task into the path, processing all the newly arrived transportation tasks in turn and obtaining updated initial paths; 3) based on the updated initial paths, using a heuristic algorithm based on tabu search to further improve the initial path, and solving to obtain a final scheduling scheme at the current time step, wherein the final scheduling scheme is paths of all the wAGVs; the paths of all the wAGVs include terminal node sequences to be visited by all the wAGVs, corresponding visiting times, service times and the number of loading and unloading containers in TEUs; 4) scheduling the wAGVs according to the paths of all the wAGVs obtained by the solution, and repeating steps 2) to 4) for each new time step.

    2. The method for the fully autonomous waterborne inter terminal transportation scheduling according to claim 1, wherein performance indexes of the dynamic scheduling model are as follows:
    min c.sub.1Σ.sub.v∈Vcustom-characterx.sub.ijvD.sub.ij+c.sub.2∥w∥.sub.1+c.sub.3∥d∥.sub.1  (1), where c.sub.1, c.sub.2 and c.sub.3 are weight coefficients of the three performance indexes in the model, wherein the first item minimizes the total driving distance, and the second item and the third item minimize the waiting time and the delay time, respectively; x.sub.ijv(k) is integer binary variable with value of 0 or −1; for all (i,j)∈custom-character(k), v∈V, if wAGV v travles from node i to node j, then x.sub.ijv(k)=1, otherwise x.sub.ijv(k)=0; V is a fleet set with n.sub.v wAGVs; D.sub.ij is the waterway distance between the nodes i and j; vector w=[w.sub.i.sup.t], i∈custom-character(k), where w.sub.i.sup.t represents the waiting time at the node i; vector d=[d.sub.i.sup.t], i∈custom-character(k), where d.sub.i.sup.t represents the delay time at the node i; ∥⋅∥.sub.1 represents a 1 norm; custom-character(k) is a node set of an inter terminal scheduling transport network, and custom-character(k) is an edge set of the inter terminal scheduling transport network.

    3. The method for the fully autonomous waterborne inter terminal transportation scheduling according to claim 2, wherein constraints of the dynamic scheduling model comprise:
    Σ.sub.v∈Vz.sub.iv=1,∀i∈custom-character  (2)
    z.sub.iv=z.sub.(i+n)v,∀i∈custom-character,v∈V,  (3)
    z.sub.ii=1,∀i∈V.sub.o,  (4)
    z.sub.iv=1,∀icustom-character′(k),v∈V.sub.d,  (5)
    custom-characterx.sub.ijv=custom-characterx.sub.ijv=z.sub.iv,∀i∈custom-characterv∈V,  (6)
    custom-characterx.sub.vjv=1,∀v∈V,  (7)
    custom-characterx.sub.i(n.sub.v.sub.+2n(k)+n.sub.d.sub.+v)v=1∀v∈V,  (8)
    A.sub.v=kT.sub.s,∀v∈V.sub.w,  (9)
    A.sub.i≤A.sub.i+n,∀i∈custom-character.sub.n,  (10) x i j v ( k ) = 1 .fwdarw. max ( A i , t i , min ) + s i + d i j u = A j , ( i , j ) , v �� , ( 11 )
    t.sub.i,min−w.sub.i≤A.sub.i≤t.sub.i,max−s.sub.i+d.sub.i,∀i∈custom-character,  (12)
    0≤w.sub.i≤w.sub.max,∈i∈custom-character,  (13)
    0≤d.sub.i≤d.sub.max,∀i∈custom-character,  (14)
    y.sub.v.sub.0=l.sub.v,∀v∈V,  (15)
    x.sub.ijv(k)=1.fwdarw.y.sub.i+q.sub.i=y.sub.j,∀i∈custom-character,v∈V,  (16)
    0≤y.sub.j≤Q,∀i∈custom-character,  (17)
    x.sub.ijv,z.sub.iv∈{0,1},  (18) where z.sub.iv(k) is an integer variable from 0 to 1; for all i∈custom-character(k), v∈V, if a wAGV v visits the node i, then z.sub.iv(k)=1, otherwise z.sub.iv(k)=0; V.sub.o(k)={1, . . . , n.sub.v} is defined as a starting node set of all the wAGVs, and V.sub.e(k)={n.sub.v+2n(k)+n.sub.d+1, . . . , 2n.sub.v+2n(k)+n.sub.d} is defined as an ending node set of all the wAGVs; wherein n(k)=E.sub.v∈V|R.sub.v.sup.p(k)|+|R.sub.new(k)| is a number of pickup and delivery tasks, and n.sub.d is a number of delivery-only tasks; all pick-up nodes are defined as custom-character(k)={n.sub.v+1, . . . , n.sub.v+n(k)}, delivery nodes corresponding to the pick-up nodes are defined as custom-character(k)={n.sub.v+n(k)+1, . . . , n.sub.v+2n(k)}, and the delivery-only nodes are defined as custom-character′(k)={n.sub.v+2n(k)+1, . . . , n.sub.v+2n(k)+n.sub.d(k)}, in which u is a cruising speed of the wAGV, T.sub.s is a step length of the time step, k is a discrete time step serial number, A.sub.i represents the time arriving at the node i, y.sub.i is a number of containers loaded on the wAGV arrived at the node i, s.sub.i is a required terminal service time, t.sub.i,min, t.sub.i,max are an earliest pickup time and a latest delivery time, respectively; Q is a maximum loading capacity of the wAGV, a subscript max indicates a maximum allowable value of corresponding physical quantity, and a subscript min indicates a minimum allowable value of the corresponding physical quantity.

    4. The method for the fully autonomous waterborne inter terminal transportation scheduling according to claim 1, wherein the step of inserting a newly arrived transportation task into possible positions in all existing paths of the wAGVs, and calculating an insertion cost according to a path calculated in the previous step but has not been completely executed under a rolling horizon framework comprises: for all the wAGVs, defining an incomplete path thereof as custom-character(k)={r.sub.1, . . . , r.sub.m}, where r.sub.i,r.sub.i, i=1, . . . , m is a node to be visited in a previous plan of the wAGV v, and custom-character may be an empty set; assuming that the newly arrived transportation task is custom-characterp.sub.i, d.sub.icustom-character, inserting the task into all possible positions in the existing paths of the wAGVs, and calculating the insertion cost; for the pick-up node p.sub.i, inserting the task into an edge custom-characterr.sub.i,r.sub.jcustom-character of a certain path custom-character(k); if neither the capacity nor the time window constraints are violated, calculating the insertion cost as:
    Δd.sub.p=d.sub.r.sub.i.sub.p.sub.i+d.sub.p.sub.i.sub.r.sub.i−d.sub.r.sub.i.sub.r.sub.j, where d.sub.r.sub.i.sub.p.sub.i represents a distance from the node r.sub.i to the node p.sub.i; sorting the costs of all possible insertion positions of the pick-up node p.sub.i in an ascending order, and then starting from the smallest Δd.sub.p, inserting, in a similar way, the delivery node d.sub.i into the possible positions which do not violate the capacity and the time window constraints after the corresponding picking node p.sub.i, and calculating the insertion cost of the delivery node d.sub.i as Δd.sub.d; selecting a minimum Δd.sub.d value and the current corresponding Δd.sub.p, then the cost of inserting the new task custom-characterp.sub.i, d.sub.icustom-character into the path custom-character being Δd.sub.p+Δd.sub.d; sequentially calculating the cost of inserting custom-characterp.sub.i, d.sub.icustom-character into current paths of all wAGVs and selecting the paths and positions corresponding to the selected minimal cost value, and inserting the task to update the path; processing all newly arrived transportation tasks in turn according to an arrival time sequence.

    5. The method for the fully autonomous waterborne inter terminal transportation scheduling according to claim 1, wherein the step 3) comprises: 3.1) designing a neighborhood space of the current solution; 3.2) defining two matrices to store neighborhood search and iterative information; first, defining an n×n-dimensional matrix, where n≤n.sub.v, which stores optimal solution information obtained after neighborhood transformation between any two path pairs and a sequence number of the path pair, wherein the sequence number is a row sequence number of a defined second matrix; the second matrix stores neighborhood transformation information of the corresponding path pair, including ID of two path involved in the transformation, the number of tasks transformed in the two paths and the positions in the path; 3.3) defining a tabu table, wherein the tabu table comprises tabu objects and tabu lengths, the tabu objects are defined as a transportation task ID and a path ID, and the tabu length is positioned as a sum of a number of current iteration steps and a preset number of steps of tabu release, and when the number of iteration steps is less than the tabu length, the transportation tasks in the tabu objects cannot be inserted into the corresponding path, so as to avoid the iteration from falling into a loop; 3.4) in each iteration, selecting the neighborhood transformation with the most cost reduction; if the transformed cost value is smaller than the current recorded minimum cost value and the transformation is not in the tabu table, recording the cost value as the minimum cost value and updating the path; it is noted that each iteration only needs to update the matrix information corresponding to the path with neighborhood transformation in the matrix, rather than update the matrices of all paths; 3.5) repeating the above steps from 3.1) to 3.4) for iteration, and gradually improving the quality of the scheduling scheme to approximate optimum through continuous neighborhood change and path update; wherein the final scheduling scheme is the paths of all the wAGVs, including the sequence of terminal nodes to be visited, the corresponding visit time, staying time and the number of loaded and unloaded cargoes.

    6. The method for the fully autonomous waterborne inter terminal transportation scheduling according to claim 5, wherein the step 3.1) comprises: designing two kinds of neighborhood spaces, wherein the first structure is to arbitrarily select any group of pick-up and delivery nodes in one of the two paths in the existing solution, first delete the pick-up and delivery nodes from the initial route, and then insert them into the other path; before inserting another path, it is necessary to detect whether the capacity constraint is satisfied, and the waiting time or the delay time generated due to the time window constraint is used for calculating the insertion cost along with the driving distance according to the weight in the dynamic scheduling model; the second neighborhood structure is to exchange a group of pick-up and delivery nodes in two arbitrarily selected paths, that is, selecting pick-up and delivery node pairs from the two paths first, and then deleting from the initial route, and then inserting the pick-up and delivery node pairs into another path; before inserting another path, it is necessary to check whether the capacity constraint is satisfied, and the waiting time or the delay time generated due to the time window constraint is used for calculating the insertion cost along with the driving distance according to the weight in the dynamic scheduling model.

    7. A system for fully autonomous waterborne inter terminal transportation scheduling, comprising a waterborne autonomous guided vessel (wAGV) system, an initial path solving module of a dynamic scheduling model, an initial path construction module, a real-time optimization module and a scheduling module; wherein the wAGV system comprises a number of wAGVs which are controlled by the scheduling module to execute transportation tasks; the initial path solving module of the dynamic scheduling model is configured for acquiring parameters involved in defining the dynamic scheduling model, establishing the dynamic scheduling model, determining constraints of the model and acquiring a first initial scheduling path of the scheduling system; the initial path construction module is configured for inserting new transportation tasks into the possible positions in all the existing wAGV paths according to the paths calculated in a previous step but has not been completely executed within a rolling horizon framework, calculating the insertion cost and selects paths and corresponding positions with the lowest insertion cost, selecting the paths and positions corresponding to the minimum cost, inserting the task into updated paths, and sequentially processing all new transportation tasks and obtaining updated initial paths; the real-time optimization module is configured by adopting a heuristic algorithm based on tabu search, combining the initial paths obtained by the initial path construction module and constraints of the dynamic scheduling model to obtain a quasi-optimal scheduling result within the rolling horizon framework, and realizing the real-time scheduling system; and the scheduling module is configured for controlling, according to the scheduling result according to the paths of all wAGVs in the current rolling horizon step obtained by the real-time optimization module, the wAGVs to visit specific terminals at specific times according to the scheduling result according to the paths of all wAGVs in the current rolling horizon framework obtained by the real-time optimization module, picking up or unloading a specific number of containers, and completing the assigned transportation task in an approximately shortest driving path with the minimum waiting time and delay time.

    Description

    BRIEF DESCRIPTION OF DRAWINGS

    [0021] FIG. 1 is a schematic diagram of a dynamic planning path for a wAGV;

    [0022] in which, 1, Container terminal, 2, Waterway node, 3, Planned completed path, 4, Planned but uncompleted path, 5,1 TEU container, 6, wAGV.

    [0023] FIG. 2 is a schematic diagram of the neighborhood of the select-insert action;

    [0024] FIG. 3 is a schematic diagram of the neighborhood of an exchange action;

    [0025] FIG. 4 is a planned path at time step k=7;

    [0026] FIG. 5 is a planned path at time step k=8;

    [0027] FIG. 6 shows a diagram of travel-distance/terminal ID vs. time of waterborne AGV 2;

    [0028] FIG. 7 shows the loads on board waterborne AGVs;

    [0029] FIG. 8 is a diagram showing the satisfaction of request time windows.

    DESCRIPTION OF EMBODIMENTS

    [0030] The present application will be further illustrated and explained with reference to specific embodiments. Technical features of various embodiments of the present application can be combined accordingly without conflicting with each other.

    [0031] According to the method, the problem of dynamic scheduling of waterway transportation among large port terminals is considered, and the nodes and time series of taking a specific number of containers from a specific terminal and transporting them to a destination terminal within a certain time window are determined. The overall goal is to complete the transportation tasks among all terminals, and at the same time, wAGVs have the shortest driving distances, the shortest waiting times and the shortest delay times at the terminals.

    [0032] FIG. 1 is a schematic diagram of a dynamic planned path for a wAGV. Because the planned transportation tasks may not be finished at the new decision time step, the scheduling decision at the new decision time step needs to consider both the previous uncompleted tasks and the newly arrived transportation tasks.

    [0033] Based on the above scheduling decision requirements, this embodiment provides a scheduling method for fully autonomous waterborne inter terminal transportation, which mainly includes the following steps:

    [0034] 1) modeling against a fully autonomous waterborne inter terminal transportation scheduling problem, establishing a wAGV-oriented mixed integer programming dynamic scheduling model, and solving the mixed integer programming problem to obtain a starting optimal path of the scheduling system;

    [0035] 2) inserting a newly arrived transportation task into the possible positions in all the existing paths of wAGVs calculated in the previous step but has not been completely executed within a rolling horizon framework, and calculating the corresponding insertion cost, comparing and selecting the paths and positions that are with the minimal cost, inserting the task into the path, processing all the newly arrived transportation tasks in turn and obtaining updated initial paths;

    [0036] 3) based on the updated initial paths, using a heuristic algorithm based on tabu search to further improve the initial path, and obtaining a final scheduling scheme at the current time step, wherein the final scheduling scheme consist of paths of all the wAGVs; the paths of all the wAGVs include terminal node sequences to be visited by all the wAGVs, corresponding visiting times, service times and the number of loading and unloading containers in TEUs;

    [0037] 4) scheduling the wAGVs according to the paths of all the wAGVs obtained by the solution, and repeating steps 2)-4) for each new time step.

    [0038] It can be seen from the steps of the method of the present application that a dynamic scheduling model is proposed firstly. In this embodiment, the model is a dynamic scheduling mathematical model based on rolling horizons and mixed integer programming. By solving this model, the initial optimized path of the scheduling system is obtained (the modeling and model solving of the present application can occur at any time or time step in the actual transportation scheduling process, and the time of model solving is taken as the initial time step of the method of the present application). After the initial optimized path is obtained, the real-time performance of the scheduling system is considered. For the newly arrived transportation, it needs to be inserted into the existing path, and a new optimized scheduling scheme is obtained by considering constraints and insertion costs. Therefore, according to the present application, an initial path construction method combining a rolling horizon, an insertion method and a path improvement solving algorithm based on tabu search are further provided, so that a final scheduling scheme under the current time step can be obtained, and the final scheduling scheme consist of the paths of all wAGVs in the system; the paths of all wAGVs in the system include terminal node sequences to be visited by all wAGVs, corresponding visiting time, staying time and number of loaded and unloaded cargoes. For the next time step, the initial path construction method combined with the rolling horizon and insertion method, and the improved path heuristic algorithm based on tabu search, which are proposed by the present application, are repeatedly executed considering the path calculated in the previous step and the newly arrived transportation task within the rolling horizon framework, thus completing the full autonomous waterborne inter terminal transportation scheduling in the whole time range.

    [0039] Each part of the present application will be further explained below.

    [0040] I. Dynamic Scheduling Based on Rolling Horizon and Mixed Integer Programming

    [0041] First, the parameters involved in the mathematical model of the scheduling problem are defined. We consider, a time range t∈[0, ∞], a dynamic transportation system with a fleet of n.sub.v wAGVs denoted by V, where the wAGV set executing the tasks is V.sub.w. The re-scheduling is performed with an interval T.sub.s, and the discrete planning time step is defined as k, then t=kT.sub.s.

    [0042] At each time step k, the tasks unfinished R.sub.v(k)=R.sub.v.sup.p (k)∪R.sub.v.sup.d(k), ∀v∈Vand the newly arrived task R.sub.new(k) at [(k+N.sub.p−1)T.sub.s, (k+N.sub.p)T.sub.s] are considered, and the re-scheduling problem is established in the time horizon [kT.sub.s, (k+N.sub.p)T.sub.s], where R.sub.v.sup.p(k) are the tasks that have not yet commenced by kT.sub.s, and R.sub.v.sup.d(k) are the tasks for which the container have already been placed on the wAGV v for delivery to the destination terminal.

    [0043] At the next time step k+1, the scheduling process is repeated and the tasks in the next N.sub.p time steps are considered, thus accounting for the term “rolling horizon”. At the same time, the number of containers on each wAGV can be calculated as l.sub.v(k)≤Q, where Q is the maximum capacity of the wAGV. The real-time position of the wAGV is recorded as (x.sub.v(k), y.sub.v(k)), the corresponding waterway section is recorded as g.sub.v(k), and the remaining time of staying/serving at the current point is s.sub.v(k). Therefore, the dynamic system state of the wAGV can be expressed (x.sub.v (k), y.sub.v(k), g.sub.v(k), s.sub.v(k), l.sub.v (k), R.sub.v(k)),∀v∈V. The cruising speed of the wAGV is u.

    [0044] Accordingly, for each transportation task i E U.sub.v6531v R.sub.v(k) U R.sub.new(k), it can be expressed by (i, p.sub.i, d.sub.i, t.sub.i,min, t.sub.i,max q.sub.i, s.sub.i) which represent the task number, the pickup terminal, the delivery terminal, the earliest pickup time, the latest delivery time, the number of containers, and the required terminal service time, respectively. For the pickup terminal p.sub.i, q.sub.i>0; for the delivery terminal d.sub.i, q.sub.i<0.

    [0045] The waterway transportation network between terminals is modeled. V.sub.o(k)={1, . . . , n.sub.v} is defined as the starting node set for all wAGVs and V.sub.e(k)={n.sub.v+2n(k)+n.sub.d(k)+1, . . . , 2n.sub.v+2n(k)+n.sub.d(k)} as the ending node set for all wAGVs, where Σ.sub.v∈V|R.sub.v.sup.p(k)|+|R.sub.new(k)| is the number of pick-up and delivered transportation tasks, and n.sub.d(k) is the number of delivery-only tasks. All pick-up nodes are defined as custom-character(k)={n.sub.v+1, . . . , n.sub.v+n(k)} and the delivery nodes corresponding to the pick-up nodes are custom-character(k)={n.sub.v+n(k)+1, . . . , n.sub.v+2n(k)} and the delivery-only nodes are custom-character′(k)={n.sub.v+2n(k)+1, . . . , n.sub.v+2n(k)+n.sub.d(k)}. Therefore, the transportation network considered for the inter-terminal scheduling problem is custom-character(k)=(custom-characterT (k), custom-character(k)), where the node set is custom-characterf(k)=custom-character(k)∪custom-character(k)∪custom-character′(k)∪V.sub.o(k)∪V.sub.e(k), and the edge set is


    custom-character(k)={(i,j)|


    (i,j)∈(custom-character(k)∪custom-character(k)∪custom-character′(k))×(custom-character(k)∪custom-character(k)∪custom-character′(k)))


    ∪{(i,j)|i∈V.sub.o(k),jcustom-character(k)∪custom-character(k)∪custom-character′(k)}


    ∪{(i,j)|icustom-character(k),∪custom-character(k)∪custom-character′(k,j∈V.sub.o(k)},i≠j}.

    [0046] The following decision variables are defined:

    [0047] 0-1 binary variable x.sub.ijv(k) for all i, j) ∈custom-character(k), v∈V, if the wAGV v tavels from node i.fwdarw.j, then x.sub.ijv(k)=1, otherwise x.sub.ijv(k)=0;

    [0048] 0-1 binary variable z.sub.iv(k) for all i∈custom-character(k), v∈V, if the wAGV v visits the node i, then z.sub.iv(k)=1, otherwise z.sub.iv(k)=0;

    [0049] the integer variable y.sub.i(k) for all i∈custom-character(k) represents the number of containers loaded on the wAGV arriving at the node i;

    [0050] the continuous variable A.sub.i(k) for all i∈custom-character(k) represents the time to reach the node i;

    [0051] the continuous variable w.sub.i.sup.t(k) for all i∈custom-character(k) represents the waiting time at the node i;

    [0052] the continuous variable d.sub.i.sup.t(k) for all i∈custom-character(k) represents the delay time at the node i;

    [0053] For simplicity of description, ⋅ (k) in the dynamic parameters will be omitted below. After these parameters are defined, a mixed integer programming model is established to model the scheduling problem.


    min c.sub.1Σ.sub.v∈V(custom-characterx.sub.ijvd.sub.ij+c.sub.2∥w∥.sub.1+c.sub.3∥d∥.sub.1  (1)

    [0054] subject to


    Σ.sub.v∈Vz.sub.iv=1,∀i∈custom-character  (2)


    z.sub.iv=z.sub.(i+n)v,∀i∈custom-character,v∈V,  (3)


    z.sub.ii=1,∀i∈V.sub.o,  (4)


    z.sub.iv=1,∀icustom-character′(k),v∈V.sub.d,  (5)


    custom-characterx.sub.ijv=custom-characterx.sub.ijv=z.sub.iv,∀i∈custom-characterv∈V,  (6)


    custom-characterx.sub.vjv=1,∀v∈V,  (7)


    custom-characterx.sub.i(n.sub.v.sub.+2n(k)+n.sub.d.sub.+v)v=1∀v∈V,  (8)


    A.sub.v=kT.sub.s,∀v∈V.sub.w,  (9)


    A.sub.i≤A.sub.i+n,∀i∈custom-character.sub.n,  (10)

    [00001] x i j v ( k ) = 1 .fwdarw. max ( A i , t i , min ) + s i + d i j u = A j , ( i , j ) , v �� , ( 11 )
    t.sub.i,min−w.sub.i≤A.sub.i≤t.sub.i,max−s.sub.i+d.sub.i,∀i∈custom-character,  (12)


    0≤w.sub.i≤w.sub.max,∈i∈custom-character,  (13)


    0≤d.sub.i≤d.sub.max,∀i∈custom-character,  (14)


    y.sub.v.sub.0=l.sub.v,∀v∈V,  (15)


    x.sub.ijv(k)=1.fwdarw.y.sub.i+q.sub.i=y.sub.j,∀i∈custom-character,v∈V,  (16)


    0≤y.sub.j≤Q,∀i∈custom-character,  (17)


    x.sub.ijv,z.sub.iv∈{0,1},  (18)

    [0055] In formula (1), the first term minimizes the total travel distance, while the second term and the third term minimize the waiting time and the delay time, respectively. c.sub.1, c.sub.2 and c.sub.3 are the weight coefficients among them. Formulas (2)-(18) represent constraints such as consistency, time, capacity and 0-1 integer variable, respectively. Specifically, formula (2) constrains each node is visited by one and only one wAGV, and formula (3) defines for each pair of pick-up and delivery nodes, the pick-up node is visited before the delivery node and is visited by the same wAGV. Formulas (4) and (5) ensure that the wAGV will visit the starting node and the ending node with containers. Formula (6) means that the wAGV will only enter and exit a certain node if it visits that node. Formulas (7) and (8) constrain the wAGV to start and end at correct nodes. Formula (9) constrains the time consistency of the wAGVs that are executing tasks. Formula (10) ensures delivery after picking up. Formula (11) constrains the time consistency between adjacent visited nodes. Formulas (12)-(14) define time window constraints. The capacity constraints are defined by formulas (15)-(17). The 0-1 integer variable is defined by formula (18).

    [0056] Because the problem defined by formulas (1)-(18) is a complex combinatorial optimization problem, it is used to solve the starting path when the number of transportation tasks at the first step is small in the actual scheduling system. The modeling and model solution of the present application can take place at any time or time step (preferably the initial stage when the number of transportation tasks is small) in the actual transportation scheduling process. The present application takes the starting time as the initial time step of the present method, and further proposes an efficient real-time solution algorithm (heuristic real-time solution algorithm) for the situation that transportation tasks come in real time, and a large number of transportation tasks need to be handled in subsequent time steps.

    [0057] II. Real-Time Heuristic Solution Algorithm

    [0058] Firstly, according to the path calculated in the previous step but has not been completely executed in the rolling horizon framework, the newly arrived task is inserted according to certain rules, and an initial planned path is obtained.

    [0059] For all the wAGVs, the incomplete path thereof is defined as custom-character(k)={r.sub.1, . . . , r.sub.m}, where r.sub.i, r.sub.i, i=m is a node to be visited in the previous plan by wAGV v. Note custom-character(k) may be an empty set. If the newly arrived transportation task is <p.sub.i, d.sub.i>, the cost of inserting this task into all possible positions in the existing paths of the wAGV will be calculated once, and these insertion positions need to meet the constraints such as time window, capacity, pick-up followed by delivery and non-transshipment. For the pick-up node p.sub.i, the task is inserted into an edge custom-characterr.sub.i,r.sub.jcustom-character of a certain path custom-character(k); if neither the capacity nor the time window constraints are violated, calculating the insertion cost as:


    Δd.sub.p=d.sub.r.sub.i.sub.p.sub.i+d.sub.p.sub.i.sub.r.sub.j−d.sub.r.sub.i.sub.r.sub.j

    [0060] The costs of all possible insertion positions of the pick-up node p.sub.i are sorted in an ascending order, and then starting from the smallest Δd.sub.p, d.sub.i is inserted after the corresponding point p.sub.i in a similar way. The insertion cost of d.sub.i is calculated as Δd.sub.d for the position that does not violate the constraints. For d.sub.i, if it is detected that an insertion point violates the capacity constraint, the remaining insertion positions can be skipped. The minimum Δd.sub.d value and the current corresponding Δd.sub.p are found out, then the cost of inserting the new task custom-characterp.sub.r, d.sub.icustom-character into the path custom-character(k) is Δd.sub.p+Δd.sub.d. The costs of inserting custom-characterp.sub.r, d.sub.icustom-character into current paths of all wAGVs are sequentially calculated, and the paths and positions corresponding to the selected minimal cost value are selected, and the task is inserted to update the path. All newly arrived transportation tasks are processed in turn to obtain updated initial paths.

    [0061] Based on the obtained initial path, tabu search is used to improve it. Tabu search is a kind of neighborhood search. However, there are two main differences between its search rules and other neighborhood search methods. First, during iterations, it allows the incumbent solution to be temporarily inferior to the current best solution, thus avoiding falling into the local optimal solution. Secondly, tabu search defines a tabu data structure to memorize the most recently executed actions, so that only the actions not in this memory structure can be executed in the future, so as to avoid iteration falling into an infinite loop. When the incumbent solution is better than the global optimal solution, this tabu action can also be forgiven.

    [0062] Firstly, the neighborhood space of the current solution is designed. Because of constraints such as pickup followed by delivering and no transshipment, it is necessary to consider the simultaneous movement of the pick-up node and the delivery node when designing the neighborhood.

    [0063] Two kinds of neighborhoods are designed. The first one is to arbitrarily select any group of pick-up and delivery nodes in two of the paths in the existing solution, delete the pick-up and delivery nodes from the initial route first, and then insert them into the other path, as shown in FIG. 2. Different from the previous new task insertion, only the capacity constraint needs to be strictly met, and the time window constraint is similar to formula (1), which only involves penalty for the waiting time and the delay time, but does not need to be strictly met.

    [0064] The second neighborhood structure is to exchange a group of pick-up and delivery nodes in two arbitrarily selected paths, that is, pick-up and delivery node pairs are selected from two paths first, and then are deleted from the initial route, and then the pick-up and delivery node pairs are inserted into another path, as shown in FIG. 3. Similarly, the capacity constraint needs to be strictly met, and the time window constraint takes the way of penalty in the cost function.

    [0065] Based on the designed neighborhoods, two matrices are defined to store neighborhood search and iteration information. At first, an n×n (n≤n.sub.v) dimensional matrix is defined to store the optimal solution information obtained by neighborhood transformation between any two path pairs and the sequence number of the path pair, wherein the sequence number is a row sequence number of a defined second matrix. The second matrix stores the information of two interchanged routes, including the IDs of the routes, positions in the routes and number of tasks, etc. By this structure, in each iteration, we only need to update the matrix information that is related to the changed routes in the previous iteration instead of all paths. At the same time, a tabu table is defined, wherein the tabu table comprises tabu objects and tabu lengths. The tabu objects are defined as a transportation task ID and a path ID, and the tabu length is positioned as a sum of a number of current iteration steps and a preset number of steps of tabu release, and when the number of iteration steps is less than the tabu length, the transportation tasks in the tabu objects cannot be inserted into the corresponding path, so as to avoid iteration falling into a loop. In each iteration, selecting the neighborhood transformation with the most cost reduction; if the transformed cost value is smaller than the current recorded minimum cost value and the transformation is not in the tabu table, recording the cost value as the minimum cost value and updating the path; it shall be noted that each iteration only needs to update the matrix information corresponding to the path with neighborhood transformation in the matrix, and does not need to update the matrices of all paths. The above steps are repeated for iteration, and the quality of the scheduling scheme is gradually improved to be quasi-optimal through continuous neighborhood change and path update; wherein the final scheduling scheme is the paths of all wAGVs, including the sequence of terminal nodes to be visited, the corresponding arrival times, stopping times and the number of loaded and unloaded cargoes.

    [0066] The system for the fully autonomous waterborne inter terminal transportation scheduling according to the present application includes a wAGV system, an initial path solving module of a dynamic scheduling model, an initial path construction module, a real-time optimization module and a scheduling module.

    [0067] The wAGV system comprises a number of wAGVs, which are controlled by the scheduling module to execute transportation tasks.

    [0068] The initial path solving module of the dynamic scheduling model is used for acquiring parameters involved in defining the dynamic scheduling model, establishing the dynamic scheduling model, determining constraints of the model and acquiring a first initial scheduling path of the scheduling system.

    [0069] The initial path construction module inserts new transportation tasks into the possible positions in all the existing wAGV paths according to the paths calculated in the previous step but has not been completely executed within a rolling horizon framework, calculates the insertion cost and selects paths and corresponding positions with the lowest insertion cost, selects the paths and positions corresponding to the minimum cost, inserts the task into updated paths, and sequentially processes all new transportation tasks and obtains updated initial paths.

    [0070] The real-time optimization module adopts a heuristic algorithm based on tabu search, combines the initial paths obtained by the initial path construction module and constraints of the dynamic scheduling model to obtain a quasi-optimal scheduling result within the rolling horizon framework, and realizes the real-time scheduling system.

    [0071] The scheduling module is used for controlling, according to the scheduled paths obtained by the real-time optimization module, the wAGVs to visit specific terminals at specific times, picking up or unloading a specific number of containers, and completing the assigned transportation task in an approximately shortest driving path, with the minimum waiting time and delay time.

    [0072] In order to verify the effectiveness of the proposed algorithm, a simulation experiment is carried out using the data of multi-terminal transportation in the port of Rotterdam.

    [0073] The number of the wAGVs is 8, T.sub.s=15 min., N.sub.p=4, i.e., the scheduling time domain to 1 hour. FIG. 4 and FIG. 5 show the planned path of one of the wAGVs for two consecutive time steps k=7 and k=8. The small rectangle on the path indicates 1 TEU, and the number above indicates the transport task number to which the container belongs. FIGS. 4 and 5 contain the planned results of this time step: the ID of the terminal to be visited, the arrival and departure times, and the number of containers to be loaded and unloaded. For example, in FIG. 4, when the wAGV leaves the terminal 6, there are 2 containers of the task 9 and 2 containers of the task 18; next, the wAGV arrives the terminal 8, then the two containers of the task 18 are unloaded first, and then the two containers of the task 21 are loaded. Loading and unloading operations at the same terminal are often carried out together to reduce the total distance traveled. Comparing the planned paths for k=7 and k=8, it can be seen that newly arriving tasks 23 and 26 are inserted into the path for k=7. The operations that happen at the same terminal node are integrated to reduce the driving distance.

    [0074] FIG. 6 shows the accumulation of traveling distance of one of the wAGVs over time, and the visited terminal is also marked in the figure. Whenever the wAGV arrives at a terminal, it will stay for a period of time to complete the loading and unloading operation. The reason for the wAGV to stay for different periods of time at different terminals is that loading and unloading operations of multiple tasks need to be carried out at certain terminals, or the wAGV needs to wait for the start of tasks at that terminal.

    [0075] As the wAGV has the maximum capacity limit, the number of containers on board all eight wAGVs in the whole simulation period is given in FIG. 7. It can be seen that all wAGVs are not overloaded, that is, the number of containers has never exceeded the upper limit of the capacity of 4 TEU.

    [0076] For the time window constraint, the set time difference of all transportation tasks and the time required for task time completion are shown in FIG. 8. All tasks are completed within the time window, which also shows the effectiveness of the scheduling algorithm.

    [0077] The above examples only express several embodiments of the present application, and their descriptions are specific and detailed, but they cannot be understood as limiting the scope of the patent of the present application. It should be pointed out that, for those of ordinary skill in the field, without departing from the concept of the present application, several modifications and improvements can be made, which belong to the protection scope of the present application. Therefore, the scope of protection of the patent of the present application shall be subject to the appended claims.