Scheduling Inland Waterway Transport Vessels and Locks Using a Switching Max-Plus-Linear Systems Approach

This paper considers the inland waterborne transport (IWT) problem, and presents a scheduling approach for inland vessels and locks to generate optimal vessel and lock timetables. The scheduling strategy is designed in the switching max-plus-linear (SMPL) systems framework, as these are characterized by a number of features that make them well suited to represent the IWT problem. In particular, the resulting model is linear in the max-plus algebra, and SMPL systems can switch between modes, an interesting feature due to the presence of vessel routing and ordering constraints in the model. Moreover, SMPL systems can be transformed into mixed-integer linear programming (MILP) problems, for which efficient solvers are available. Finally, a realistic case study is used to test the approach and assess its effectiveness.


I. INTRODUCTION
C ONSUMER and producer distance has increased as a result of globalization. Large container vessels are nowadays sailing across the oceans, delivering goods and bulk from port to port across the globe. However, these vessels cannot reach inland destinations due to their size, and thus goods and bulk must be transferred to various inland transportation methods, e.g., inland vessels, trucks and trains, for hinterland transportation.
Institutions such as the European Commission [1], [2] and the Port of Rotterdam [3] are heavily promoting a modal shift towards inland waterborne transport (IWT) in order to make better use of this natural network of inland waterways. The main reasons for this shift are cost efficiency [4], environmental friendliness [5], [6], high degree of safety [7] and investment costs of building additional infrastructure. This strategy, whereby vessel-to-infrastructure (V2I) interaction is introduced to coordinate the operations, transforms the original management problem into an optimization problem. Its resolution determines feasible decisions that maximize a certain profit function, which is usually linked to minimizing passage times. As vessels passing through locks occupy resources (namely space and time slots), the main challenge is the optimal allocation of these resources.
Locks can consist of one or multiple chambers, each characterized by a specific capacity and operation duration. Moreover, the latter depends on both the water levels and the number and type of vessels present during a particular operation. The lock scheduling problem then consists in minimizing waiting times of vessels passing through the lock while meeting capacity and duration constraints. This problem has received considerable attention from the research community, and different methodologies have been devised. An integrated approach to the generalized lock scheduling problem is discussed in [10]. Vessel passage through locks requires to solve two problems: determine vessel position inside the chamber and decide starting times of lock operations.
The vessel placement problem (VPP) is concerned with minimizing the number of lock operations needed to move all vessels to the other side of the lock. This is achieved by first deciding the vessel sequence, which is based on the service policy. Choice of service policy is examined in [11], [12], and the shortest-processing-time-first policy is shown to result in less overall network delay than firstcome-first-serve. Once the vessel sequence has been decided, vessels must be arranged within lock chambers while observing capacity and safety constraints. This problem is recast to a two-dimensional bin packaging problem in [13], and is solved to minimize the total operation time. The same authors present a model for the chamber-arranging problem in [14], and compare the performances offered by an exact decomposition method and a multi-order best fit heuristic method.
Once a solution has been determined for the VPP, the second step consists in solving the lock scheduling problem (LSP), whereby the optimal operation plan-time instants at which lock movements must be performed-must be determined to minimize the sum of waiting times of individual vessels [15]. A so called late-acceptance algorithm for the LSP that simultaneously considers waiting times and water usage in lock operations is proposed in [16]. Research focusing on the vessel order sequence is tackled in [17] by making an analogy to the identical parallel machine scheduling problem with sequence-dependent setup times and release dates.
The previous references focus on the scheduling of individual locks. On the other hand, the problem of scheduling inland vessels through locks considering larger portions of a waterway network has only started receiving increased attention in the last few years. The single-chamber serial lock scheduling scenario is examined in [18], while the multiple-chamber case is studied in [19], [20]. A solution to the problem combining a decision-making method to perform infrastructural modifications and dynamic lock scheduling is proposed in [21]. General serial-lock scheduling solutions using flexible job-shop scheduling and a two-dimensional bin-packing problem on the one hand, and a multi-commodity network perspective on the other hand, are presented in [22] and [23], respectively. Arrival sequence of vessels at locks, lockage operation and service time are jointly considered in [24] using a mixed-integer programming (MIP) model, which is solved with large neighborhood search-based heuristics.
This paper presents the design of a scheduling strategy, whereby multiple IWT vessels sail through a waterway network and pass multiple locks. The main difference with respect to other papers on serial lock scheduling is the fact that the discrete-event systems (DES) framework is employed here for the first time to model the IWT system, as the dynamics are governed by the evolution of events, and not time. Moreover, a switching max-plus-linear (SMPL) system modeling approach is adopted, as it allows to capture the characteristics of IWT operation of both locks and vessels, and also to introduce changes in the order of events. Then, the optimization of lock and vessel operation is carried out following a mixed-integer linear programming (MILP) approach.
Contributions of this work with respect to the current state of the art are described below: • Only a limited number of DES have been described as SMPL systems, such as production scheduling systems [25], [26], [27], railway traffic systems [25], [28], [29] and legged locomotion [30]. Conversely, modeling the IWT as an SMPL system is a novel approach to the best knowledge of the authors, and allows to address two problems simultaneously: choosing the route a vessel takes and deciding the lock entering order. • The vessel-lock interplay can be generalized to a production system in which products arrive from opposite directions and compete for the same resource. However, the issue of uneven water levels upstream and downstream of the lock introduces a particular feature: lock operations require water level inside the lock to match that of the passing vessel. This fact is taken into account in the derivation of the approach. • The solution presented in this paper allows vessels to overtake each other during navigation to exploit differences in terms of size, maximum speed and processing times at locks. To the best knowledge of the authors, there is no previous research on SMPL systems where jobs are allowed to overtake each other. • Although this paper addresses the particular application of IWT, the methodology is presented in such way that it can be applied to any system characterized by an analogous formulation. The rest of the paper is organized as follows: the IWT scheduling problem for locks and vessels is described in Section II. The proposed scheduler architecture is detailed in Section III, respectively. Section IV provides the complete derivation of modeling and scheduling approaches. A realistic case study is presented in Section V, together with the simulation results and discussion. Conclusion are drawn and future research directions are outlined in Section VI.

II. PROBLEM STATEMENT
The problem considered in this paper is that of designing a scheduler for vessels and locks that minimizes cumulative arrival times of vessels at destinations, and can be formulated as follows. A set of vessels V = {1, . . . , N v } sailing through an inland waterway network must pass a set of locks L = {1, . . . , N l } on their way from origin to destination. These locks divide the overall network into different waterways, and are equipped with waiting areas so that vessels can wait until permission to enter locks is granted. Moreover, V = V d ∪V u , where V d and V u denote vessels traveling downstream (from inland towards the sea) and upstream (from the sea towards inland), respectively, and V u ∩ V d = ∅.
The following inland waterway and vessel information are inputs to the scheduler: • Inland waterway: network topology matrix, locations of locks and endpoints, and lock processing times. • Vessels: total number of vessels sailing the network, sailing times on all waterways, departure locations and times, arrival locations and deadlines, and relative priority of vessels (it might be critical for certain vessels to arrive at the destination faster than others depending on, e.g., cargo type). The assumptions of the problem are given below: • All vessels navigate between the same two endpoints, from end to end. • Bidirectional traffic between the endpoints is assumed. • There exists more than one waterway connecting the endpoints. • Vessels and locks are fully compliant with the solution of the scheduler.
• All locks consist of a single chamber, which can only fit a single vessel. • Lock operations start as soon as a vessel enters the lock. • Lock operation durations are only assumed to depend on the lock, and not on the vessel that is processed. • Sailing times of individual vessels for individual waterways are assumed to be known beforehand. • Vessels maintain a constant speed while sailing through a waterway. • Vessels can overtake other vessels in all waterways and waiting areas. • Departure times of vessels at the origin cannot be decided by the scheduler, but they are given. • Upper bounds on the maximum capacity of the waiting areas are not considered. System dynamics depend on the evolution of events. On the one hand, vessels sail through the waterways, and arrive at, move inside and exit a lock, after which they continue their journey along the adjacent waterway. On the other hand, locks can remain idle or process vessels, which requires to open, close, carry out leveling operations and open again to allow vessels resume navigation. Therefore, the DES framework can be conveniently employed to model optimization problems characterized by event-driven dynamics. In other words, state evolution depends entirely on the occurrence of asynchronous discrete events over time [31]. DES scheduling for IWT is then concerned with vessel routing and ordering decisions, i.e., determine the subset of waterways to be sailed and the relative passing order through each lock for each vessel, respectively. Occurrence of these events, and not time progression, causes the system to evolve to a different state.
As the operations of vessels and locks must be coordinated, event synchronization must be ensured. The example depicted in Figure 1 is introduced for clarity, and its associated state event variables and parameters are defined in Table 1. Consider that vessel k enters the system through waterway 1 and arrives at waiting area 1: in order for vessel k to move into the lock, it must sail through the waiting area first. This is only possible once the lock has processed the current vessel inside the lock (denoted with  k − μ), and the water level inside the lock matches the water level of vessel k. This situation is illustrated in more detail in Figure 2.
Remark 1: As vessel overtaking is possible, vessel k − 1 (which departed immediately before vessel k) may not always be right in front of vessel k. Parameter μ is introduced to account for the fact that relative positions of vessels may change during system evolution. Moreover, μ does not define a single scalar, but a set of natural scalars, i.e., μ ∈ {μ min , . . . , μ max }. Therefore, the current vessel inside the lock might be any vessel within the range defined by μ.
The time instant at which vessel k enters the lock, i.e., x 3 (k), is then equal to the maximum time of the previous events: • Vessel k arrives at the waiting area and enters the lock: 3) . • Vessel k − μ exits the lock, which is then drained to match water level of vessel k: x 4 (k − μ) + τ L (3,4) . This simple case can be modeled using the maximization operator, which is inherently nonlinear in conventional algebra [25]. However, max-plus-linear (MPL) systems are a class of DES that can be described by a model that is linear in the max-plus algebra, with maximization and addition as basic operations. Moreover, the use of MPL systems as basic models for scheduling offers additional advantages. Several system-theoretical results are available in the literature [32], [33], and it is possible to find bottlenecks in the scheduling process as well as good initial scheduling values by using system tools, e.g., max-plus eigenvalues and eigenvectors [29].
Conventional MPL systems are characterized by a fixed model structure, and therefore system dynamics always remain the same and cannot be influenced. Conversely, the IWT system is not fixed, and the system dynamics can change due to, e.g., vessels taking different routes in the network and overtaking other vessels. There exists a class of MPL systems that is endowed with the capability to switch between different modes: switching max-plus-linear (SMPL) systems.
Therefore, the proposed solution to address operational inefficiencies in IWT consists in designing a scheduler based on an SMPL model of the IWT system. The overall scheduler architecture is discussed next, after which the modeling and scheduling approaches will be presented.

III. SCHEDULER ARCHITECTURE
The overall architecture is depicted in Figure 3, and consists of three parts: input, scheduler and output.

A. INPUT
Inland waterway and vessel data are provided as inputs to the scheduler. This information, which must be made available before the first vessel departs, is summarized in Table 2.
On the one hand, the inland waterway is characterized by: • Topology matrix, T, which describes the same information as the network graph. A waterway is represented by two nodes connected by one arc, while a lock consists of four nodes (to represent all positions of interest) connected by three arcs. • Processing time of the lock that connects nodes i and j, τ L(i,j) . This information is expressed in time units. • Positions of locks and endpoints. It is recalled that all vessels are assumed to sail from one endpoint to the other, each vessel in one of the two possible directions.
On the other hand, vessel k is characterized by: • Sailing time along the waterway delimited between nodes i and j, which is denoted with τ w(i,j) (k). This information is assumed to be known beforehand, and is expressed in time units. • Departure location, d(k). Note that this implicitly defines the sailing direction and the arrival location. • Departure time (expressed in time units), u i (k). It is recalled that this time cannot be controlled. • Arrival deadlines (expressed in time units), a i (k). These are passed as hard constraints to the scheduler. • Vessel priority, σ (k). Setting a higher or lower numerical value of each entry of σ (k), i.e., σ i (k), leads to more or less effort from the scheduler in optimizing event i of vessel k, i.e., x i (k).

B. SCHEDULER
As mentioned in Section II, scheduling for IWT systems aims to determine the route to be followed by each vessel and the order in which each vessel passes through each lock en route from its origin to its destination. This requires to generate routing and ordering constraints, respectively. The resulting model is modified for feasibility, and additional constraints are added, e.g., parametrization of the routing control variables, and ensuring both that only one route is chosen per vessel and vessels can only sail in one direction. With all this, the model is solved by making use of available efficient solvers. The previous paragraph is only a brief summary-the design will be properly detailed in Section IV.

C. OUTPUT
The scheduler returns a single vector containing the optimal solution, which must be post-processed to retrieve information of interest. The scheduler output can be split into vessel, lock and network properties.
Remark 2: It should be noted that the scheduler only returns a schedule if the problem is feasible for given waterway network and vessel data. If this is not the case, e.g., an arrival deadline is too strict, the scheduler will indicate that the problem is infeasible.
Information of interest for vessel k determined by the scheduler is indicated below: • Delays at lock l, l (k). These are determined as the difference between the obtained optimal schedule (with the influence of other vessels) and the schedule that would result if the waterway was empty (save for vessel k). • Intermediate node departure times, which can be inferred from the optimal solution.
Information of interest for lock l determined by the scheduler is as follows: • Optimal operation times, which indicate when the levelings must be realized. • Number of total lock levelings performed by lock l, L l . • Number of empty lock levelings, L e,l . This is defined as the number of lock operations when no vessel occupies the lock. • Occupancy of lock l at time unit t, O l (t), which is a binary variable. • Queue order at lock l at time unit t, Q l (t). This corresponds to the list of vessels that are waiting to be serviced by lock l at time t. Several global waterway network properties can be computed from the scheduler solution, which allows to analyze IWT system performance: • The cumulative arrival time A net is defined as the sum of all individual vessel destination arrival times x a (k): • The cumulative vessel delay D net is defined as the sum of all individual vessel delays at all locks: • The makespan C max is defined as the largest time of completion of all jobs in the system: • The bottleneck B net is defined as the lock where most vessel delays occur. This is defined as the maximum of the sum of all vessel delays for each lock: Table 3 summarizes what the scheduler produces after the problem is solved.

IV. SMPL-BASED IWT SCHEDULING
This section presents the design of the scheduler, which constitutes the core of the architecture presented in Figure 3. The scheduler is designed as an SMPL system, as conventional MPL systems are not endowed with the switching capabilities required by IWT routing and ordering constraints. However, the resulting SMPL system must be transformed into an MILP problem to be used for scheduling.
The corresponding derivations are detailed in the following sections. Prior to that, some max-plus algebra definitions are provided.

A. SOME MAX-PLUS ALGEBRA DEFINITIONS
The basic max-plus operators oplus ⊕ and otimes ⊗, also referred to as tropical addition and multiplication, respectively, are defined as Just as the zero-element 0 and unit-element 1 are the neutral elements in conventional algebra, the two neutral max-plus algebra elements are denoted with and e, and are defined as def = −∞ and e def = 0.
Max-plus binary variables can take the max-plus zero or the max-plus unit e values. Let v ∈ { , e} be a max-plus binary variable, then the adjoint variablev is defined as

B. SMPL SYSTEMS MODELING
A suitable model must incorporate routing and ordering capabilities to reflect the real features of IWT. These concepts are defined as follows: • Routing describes the route a vessel takes through the waterway network. If there is only one path between the two endpoints, the routing is fixed. However, this is not the case, as multiple paths were assumed to exist in Section II. Therefore, the routing is variable, and the scheduler determines the optimal route. Routing constraints must then be formulated to capture the dynamics of all routes. • Ordering describes the order in which vessels pass through a lock. When several vessels arrive simultaneously at a lock, the scheduler determines the order of the queue in which vessels are allowed to enter the lock. This can be achieved by incorporating ordering constraints. The schematic representation of the waterway network depicted in Figure 4 is used to illustrate the derivation of the SMPL model. This network comprises two corridors such as the one in Figure 1, i.e., each consisting of three waterways and a lock. Bidirectional traffic is allowed as indicated by the side arrows: vessels start at either the upstream node x 1 or the downstream node x 12 , and sail until reaching the opposite endpoint through either corridor, which leads to a variable routing situation. Description of variables and parameters introduced in Figure 4 is provided in Table 4.

1) ROUTING CONSTRAINTS
Max-plus binary routing control variables must be introduced to activate only one of the routes for vessel k. The variables are denoted by s ij (k), and are defined as follows: The previous definition requires to introduce a routing variable between each pair of nodes. However, the following relationship holds for route 1: s 1,2 (k) = s 2,3 (k) = s 3,4 (k) = s 4,5 (k) = s 5,6 (k) = s 6,12 (k), i.e., if vessel k sails from node 1 to node 2, it must sail through the rest of nodes in that route. Then, a single routing variable can be used for the whole route 1, which is simply denoted with s 1 (k). Naturally, similar relationships can be derived for the rest of routes. The four following cases can be distinguished, each with a different set of routing constraints: • Vessel k sails downstream via left route 1, ∀k ∈ V d : • Vessel k sails downstream via right route 2, ∀k ∈ V d : • Vessel k sails upstream via left route 3, ∀k ∈ V u : x 6 (k) ≥ x 12 (k) ⊗ τ w (6,12) • Vessel k sails upstream via right route 4, ∀k ∈ V u : Naturally, one and only one route must be selected for vessel k. This can be expressed as

2) ORDERING CONSTRAINTS
Multiple vessels are expected to pass through the same lock, which may lead to conflicts in the case of equal passing times. Therefore, ordering constraints must be introduced as follows.
Max-plus binary ordering control variables w i,μ (k − μ) are defined as The adjoint ordering variablew i,μ (k − μ) is defined as For every node in the network where the order of the vessels is fixed, two ordering constraints for state x i must be introduced. By virtue of (14) and (15), only one of the two constraints (16) and (17) is simultaneously active. Note also that the inclusion of binary routing variables s i,j (k−μ)⊗ s i,j (k) ensures constraint activation only when both vessels k and k − μ take the same route.
• The time of event x i for vessel k is greater or equal than the time of event x i for vessel k − μ plus some operation time τ i,j (k−μ) of vessel k−μ, only when both s i,j (k − μ) and s i,j (k) equal e. Thus, when both vessels are sailing through the same route, event x i happens first for vessel k − μ and thus precedes vessel k. This can be expressed as • The time of event x i for vessel k − μ is greater or equal than the time of event x i for vessel k plus some operation time τ i,j (k) of vessel k, only when both s i,j (k − μ) and s i,j (k) equal e. Thus, when both vessels are sailing through the same route, event x i happens first for vessel k and thus precedes vessel k − μ. This can be expressed as As overtaking on the waterways is allowed, ordering constraints are only necessary for the two locks. Equations (16) and (17) must then be extended to consider all possible cases, which amounts to four pairs of equations. A complete derivation is provided for the lock in route 1 (between nodes 3 and 4), but the same must be done for the lock in route 2 (between nodes 8 and 9). For the sake of simplicity, ordering variables (14) are renamed as defined in Table 5 (renamed adjoint ordering variables follow the same pattern). Moreover, a safety timing τ safety is introduced to prevent a vessel from entering the lock immediately after the previous vessel has come out of it.
. (20) • Vessel k and k − μ sail upstream with vessel k in front, ∀k, (k − μ) ∈ V u : • Vessel k sails downstream and enters the lock, while vessel k − μ sails upstream and exits the lock, ∀k ∈ V d , ∀(k − μ) ∈ V u : • Vessel k sails downstream and exits the lock, while vessel k−μ sails upstream and enters the lock, ∀k ∈ V d , ∀(k − μ) ∈ V u : • Vessel k sails upstream and enters the lock, while vessel k − μ sails downstream and exits the lock, ∀k ∈ V u , ∀(k − μ) ∈ V d : • Vessel k sails upstream and exits the lock, while vessel k − μ sails downstream and enters the lock, ∀k ∈ V u , ∀(k − μ) ∈ V d :

3) COMPLETE SMPL MODEL
To derive a complete SMPL model, constraints on the arrival times must be added to the previous ordering and routing constraints, and can be expressed as where a i (k) denotes the arrival deadline of vessel k at node i, as indicated in Table 2.
and V tot is the total number of scheduling variables. The scheduling model can then be written in matrix form as where A μ and B are the system matrices, and whose entries result from the appropriate stacking of individual equations.

C. SCHEDULING WITH SMPL SYSTEMS: AN MILP REFORMULATION
The previous SMPL system (28) cannot be directly used for scheduling due to the fact that def = −∞. Therefore, the optimal scheduling problem must be recast as an MILP problem of the form with c x ∈ R n , c v ∈ R l , b ∈ R m , E x ∈ R m×n and E v ∈ R m×l . Definition of an appropriate performance function and reformulation of the previous routing and ordering constraints are addressed below, and will replace the general cost function and constraints in (29).

1) PERFORMANCE FUNCTION
The performance function for vessel k is denoted with J(k), and is built as the sum of two terms as where J out (k) and J in (k) optimize the states x(k) and the inputs v(k), respectively. On the one hand, penalty on the states is defined as where σ i (k) is the weight on the state, i.e., time of event occurrence, for vessel k at node i, and n is the total number of nodes in the system. Selection of values for σ (k) should follow from the knowledge of the destination for vessel k, as only penalization on arrival at the destination is sought.
On the other hand, penalty on the inputs is defined as where λ i (k) is the weight on the input for vessel k at node i, V tot is the total number of scheduling values for vessel k and If vessel k can select all existing routes and overtaking with all other vessels is permitted, all entries of λ(k) can be set equal to 0. J(k) can be rewritten using standard MILP notation as with c T x = σ (k) and c T v = λ(k).

2) CONSTRAINTS
The max-plus routing and ordering constraints presented in Sections IV-B1 and IV-B2, respectively, are reformulated as MILP constraints. On the one hand, routing constraints are reformulated using the following transformation: such that s i ≈ βs c i and β 0, i = 1, 2, 3, 4. The same four cases presented in Section IV-B1 are reformulated using (34): • Vessel k sails downstream via left route 1, ∀k ∈ V d : such that w i,μ = βw c i,μ and β 0, i = 1, 2, 3, 4. Moreover, the adjoint can be approximated as:w i,μ = β(1 − w c i,μ ). In the same spirit as Section IV-B2, a complete derivation is provided for the lock in route 1 (between nodes 3 and 4), but the same must be done for the lock in route 2 (between nodes 8 and 9). Note that (18)- (25) are grouped below into the four possible cases for convenience: (3,4) . (41b) • Both vessels k and k − μ travel upstream, ∀k, (3,4) . (42b) • Vessel k travels downstream and vessel k − μ travels

V. CASE STUDY
The scheduling approach presented in Section IV is tested on a realistic case study. The overall system is described first, and details regarding the considered fleet of vessels are provided. The scheduler is then tested using different vessel data, which allows to highlight specific features. Figure 4 was used to derive an SMPL model of a bidirectional IWT system. This inland waterway network is extended for completeness with an additional lock in series as shown in Figure 5, and is used as the case study in this paper. The network consists of three locks: lock 1 (between nodes 3 and 4), lock 2 (between nodes 7 and 8) and lock 3 (between nodes 12 and 13). The starting sailing points are x 1 (k) and x 16 (k) for the downstream-and upstream-sailing vessels, respectively, and sail through the network to either x 16 (k) or x 1 (k), respectively. As the endpoints are connected by two routes and vessels can sail in both directions, the equations derived in Section IV only need to be slightly modified to account for the additional lock.

A. SYSTEM DESCRIPTION
The inputs to the scheduler are summarized in Table 6. Note that a discrete time setting is considered, and thus time parameters are expressed in discrete time units. Six vessels sail through the network: vessels 1, 2, and 5 sail downstream, while vessels 3, 4 and 6 sail upstream. For each of the six vessels, all parameters defined in Table 1 are provided: • Vessels: waterway sailing times τ w(i,j) (k), departure location d(k), departure time u i (k), arrival deadline a i (k) and vessel priority σ (k). It can also be seen that vessels depart one time unit after the preceding vessel, with vessel 1 departing at time unit 1. • Network: lock, departure and arrival locations, processing times τ L(i,j) (which are assumed to be equal for all three locks) and topology matrix T (with binary entries: 1 if the two nodes are connected, and 0 otherwise). The latter is given at the bottom of the next page.

B. RESULTS AND DISCUSSION
The scheduler, which was built in the MATLAB [34] programming environment, is executed once, thus assuming that   all required information is available, and the optimal solution is determined using GUROBI [35] as solver. Computational performance is summarized in Table 7.
Optimal schedules and subsequent state evolution of the six vessels are summarized in Table 8 and can be visualized in Figure 6, wherein vertical lines are used to bypass the states on the unselected route. On the other hand, lock passage order is as follows: All vessels have equal sailing times τ w(i,j) (k) and lock operation times τ L(i,j) , and no vessel has priority over other vessels. Therefore, vessels which are scheduled on the same  route and sail in the same direction are expected to arrive in the same order of departure, a fact that is confirmed by the results. Finally, delays at locks (in comparison to the situation in which each vessel sails alone) are given in Table 9.
In what concerns lock properties, the optimal schedules and subsequent state evolution of the locks are summarized in Table 10 and can be visualized in Figure 7. Their properties are as follows:  Finally, the global network properties are computed according to definitions (1)-(4) and summarized in Table 11. Lock 1 is identified as the IWT bottleneck, which comes as no surprise as it is present on all routes, and thus chances of vessels meeting there are higher.

1) SCENARIO WITH MULTIPLE VESSEL TYPES
This scenario uses the input data provided in Table 6, but three different types of vessels are considered instead. Vessels 1 and 2 are slow vessels and have a sailing time τ w(i,j) (k) = 25. Vessels 3 and 4 are normal vessels and have a sailing time τ w(i,j) (k) = 20. Vessel 5 and 6 are fast vessels and have a sailing time of τ w(i,j) (k) = 15.
The optimal schedule and state evolution of the six vessels can be visualized in Figure 8. It can be seen how vessels 2 and 5 must wait at lock 1, even if they arrive earlier than vessel 1 due to superior speed. This ordering ensures that vessel 1 meets its deadline on arrival. If a different scheduling policy, e.g., first-come first-serve, was applied, vessel 1 would miss its deadline. Moreover, as the number of vessels is the same as in the first scenario, Table 7 also represents the computational performance of this scenario.

2) SCENARIO WITH DIFFERENT VESSEL PRIORITIES
This scenario considers the same input data as in Section V-B1, except for the fact that vessel 5 now transports a special type of cargo that renders early arrival at destination convenient (although not mandatory). This can be  implemented by modifying the vessel priorities σ (k) as follows. Let σ a (k) denote the entry of σ (k) that corresponds to the arrival node. Then, these values can be modified as follows: σ a (5) > max{σ a (1), σ a (2), σ a (3), σ a (4), σ a (6)}. The optimal schedule and state evolution of the six vessels can be visualized in Figure 9. As expected, vessel 5 is allowed to go through lock 1 before vessel 2. Interestingly enough, vessel 1 is now scheduled on the right route 2 instead of the left route 1, as was the case in the previous example. This allows to make room for vessel 5 on route 1. Once again, as this scenario also considers six vessels, Table 7 summarizes its computational performance.

VI. CONCLUSION AND FUTURE RESEARCH
This paper presented the design of a scheduler for inland waterway transport vessels and locks, as locks constitute the main bottlenecks for adequate inland waterborne transport (IWT) flows. The scheduler was designed to ensure that vessels reach the destination as early as possible before the arrival deadlines. Although this is a valid performance criterion, it ignores the fact that this situation may incur additional berthing costs at ports and terminals. In this regard, future research will investigate the design of a performance criterion such that minimal gaps between arrival times and deadlines are obtained. This might also lead to lower vessel speeds with respect to the current solution, thus reducing fuel consumption and sailing more efficiently.
The scheduler was designed as a switching max-pluslinear (SMPL) system. On the one hand, event synchronization is modeled via maximization operations, which are linear in max-plus algebra. On the other hand, SMPL systems can deal with varying system dynamics in a straightforward manner, which is of interest in the case of IWT systems as it allows to consider routing and ordering constraints. It is worth noting that the routing and ordering constraints are network-dependent, and different network topologies lead to different MILP models. In this regard, future research will investigate how to automate the generation of models given the topology matrix of the network.
Modeling nonlinear discrete-event systems (DES) as an MPL or SMPL allows for the use of system-theoretical methods to analyze the network [32], [33]. The use of these methods could help address practical issues such as determining which waterway is most impacted when a vessel gets stuck, the maximum possible traffic flow increase with no vessels waiting at locks, and the system bottlenecks and possible mitigating actions. Furthermore, uncertainty analysis can be carried out by using the stochastic version of the SMPL model [26].  The scheduling problem was solved in an offline manner, thus assuming that all the information was available to the scheduler prior to the simulation. In addition to this requirement, the increase in computational burden for increased problem sizes may render offline scheduling unsuitable. An interesting extension to the current scheduling strategy is to perform online scheduling, as it allows for rescheduling in response to new vessel data and measurements (e.g., updated vessel speeds and arrival times), disturbances (e.g., unexpected vessel departures) and disruptions (e.g., blocked waterways and locks). This could be done using model predictive scheduling, which uses a receding horizon principle that has been studied in detail [33].
The scheduler was tested on a realistic case study, including several variations (different speeds and priorities of vessels) to highlight particular features. While the scheduler succeeded in determining optimal operational timetables for vessels and locks, only single-chamber locks with capacity for one vessel were considered. Future research will consider multiple-chamber locks, which simply appears to require more routing control variables, and multiple vessels within a chamber, which is also based on synchronization but leads to a combinatorial problem. Furthermore, waiting areas at locks with bounded capacities will also be considered, as the consideration of a maximum capacity renders the problem more realistic from the application perspective. In addition to these features, future work will also consider a wider array of different case studies, and real data will be used for further validation of its applicability.