Mathematical Model for Maritime Inventory Routing Problem with Multiple Time Windows

This paper considers a new variant of the maritime inventory routing problem which considers multiple time windows. The typical time windows that this problem considers that it may exist for certain ports which only permit a ship entering and leaving the ports within daytime due to both natural conditions and their facilities. A mathematical model formulated as mixed integer programming is developed for solving this kind of problem. The problem is to find how many products and how much of each products are carried by each ship from source ports which assumed have constant production rates to destination ports which assumed have constant consumptions rates without exceeding the production port storages and out of stocks in the consumption port storages during the planning horizon. The objective of the problem is to minimize the cost while satisfying a set of technical and physical constraints. The detailed modified variables and constraints from the ones exist in the literature are discussed. Then the model is tested with several test problems with different days of planning horizon as well as different number of ship visits at consumption ports during planning horizon. The experiment results solved using LINGO show that modeling multiple time windows can give higher objective functions in comparison to the ones of without time windows. Moreover, modeling multiple time windows significantly increases the computational time in comparison with the ones without multiple time windows. Keywords—mathematical model, maritime, inventory routing problem, multiple time windows


I. INTRODUCTION
This paper presents methods to solve the maritime inventory routing problem with multiple time windows.The problem is motivated by the desire to more closely modeling the real world problem faced by a national oil company in the South East Asia region.This problem is similar to that in [1], except that it now considers that the ports that are served by the ships vary due to each port's natural conditions and facilities.For example, some ports are small with incomplete facilities.In these ports, ships may only shift in and out from the ports during daytime.This means that a time window may exist, and hence this corresponds to a problem with multiple time windows during a predefined planning horizon.
It is relatively difficult to find papers that discuss multiple time windows.The few papers in the literature which discuss this problem are [2], [3], [4], and [5].All of these, except [4], focus on the routing problem without considering inventory constraints.Christiansen and Fagerholt [2] discuss a ship scheduling problem for pick-up and delivery of bulk cargoes.In addition to the lack of inventory constraints, their problem assumes that the ports are not available for service at night and during weekends.In contrast, this paper's problem only restricts in that a ship can only enter or leave some ports during daytime.However, once a ship is in a port, a loading/unloading service will not be interrupted until the process is finished.
Favaretto, Moretti, and Pellegrini [3] discuss a generic vehicle routing problem, not inventory routing problem, where customers have multiple time windows and may be visited several times during a predefined planning horizon.They formulated a mathematical model of such problems and proposed to solve them by using the ant colony method.Furthermore, Tricoire, Romauch, Doerner, and Hartl [5] presents a multi-period orienteering problem to routing and scheduling sales representatives, which visit their customers according to certain multiple time windows which exist for each customer.The problem categorized the customers into mandatory and optional customers.Each customer in the first category must be visited exactly once while the second category is optional.This paper is also not considered as inventory routing problem.They proposed to solve this by using an exact method, which had embedded within it a sub-process, that they called a variable neighbourhood search.Doerner, Gronalt, Hartl, Kiechle, and Reimann [4] also discuss the vehicle routing problem, but where multiple time windows are interdependent.In that, the prior pickup time determines the next visit for each particular customer.There also exists inventory constraints that must be considered when calculating the next visit, therefore, unlike the other above papers, this paper can be categorised as an inventory routing problem (IRP), because the customer may be visited more than one.In [4], repeated visits may be necessary to avoid products perishing, while this paper must maintain storage levels within their limits.Unlike this paper's problem that considers several non-mixable products, Doerners' paper only concerned one product (or several mixable products) to be picked up.This means, in their problem, there is no need for an assignment method to allocate products into compartments.Moreover, they assume that service time is fixed.In this paper's problem, the service (loading/unloading process) time depends on the quantities loaded or unloaded.Also, there exists a fixed setup time for changing products in this paper's model.
As defined in [1], an IRP that uses ships to distribute product(s) can be categorized as a maritime inventory routing problem (mIRP).Many papers have discussed this problem, for example [6], [7], [8], [9] and [10].However these mIRP papers do not include daily operational port's time windows in their model.The study of the multiple time windows problem is interesting both in theory and practice, as many problems can have this situation, not only in maritime, but also in land transportation scenarios.

II. MATHEMATICAL MODEL
In modeling this kind of mIRP with multiple time windows, we refer to [1].There are several variables that must be used in addition to those that have been discussed in our previous research.The first two variables are s l imk and t l im, which represent the level of product k at the time when a ship leaves and the time of the ship when it leaves, from node (i,m), respectively.The variable t l im is added to the model because ships must leave the port within its operational time windows, while s l imk is added to maintain that at the time of the ships' leaving, that the levels of the port's storages are within their lower and upper limits.
The other new variables are t o imd, t i imd, t po imd, and t pi imd.These variables are related to modeling the multiple time windows.These variables are not continuous as shown in Fig. 1.If discrete time modeling is used instead, it is not difficult to formulate the multiple time windows, because the model has an explicit time indicator.The constraints T WS id ≤ tim ≤ T WF id and T WS id ≤ t l im ≤ T WF id can be used to bound that the arrival and leaving time must be within the time windows of ports.Unlike for discrete time modeling, the continuous time modeling does not have an explicit time signal.In this kind of modeling the time signal is represented by a pair of port number (i) and the sequence ship's visit number at that port (m), called as a node (i,m).The new variables are used to enforce that ships must enter and leave certain ports within their time windows.The detailed modeling are as follow.

A. Notations
In modeling multiple time windows, there are several parameters and variables that must be used for this problem in addition to those that have been discussed in [1].The subscripts are defined as follow: i The last six variables which are specifically being used for this problem influence some constraints as in [1].Routing constraints do not change, neither do the loading and unloading constraints.However, the scheduling and inventory constraints have changed significantly, so they will be explained in detail below.

B. Scheduling and time windows constraints
The travelling time and cost of ship v from port i to port j are denoted by TTijv and CTijv, respectively.The arrival and leaving time of any ships at node (i,m) are represented by variables tim and t l im, respectively.Some ports have restrictions that any ships entering and/or leaving the ports must do so during daytime.These restrictions lead to multiple time windows constraints.An example of a port that has time windows between 8.00am to 4.00pm for each day in a week can be seen in Fig. 1. imd are used to guarantee that node (i,m) has only one ship's visit during the planning horizon.These variables are used to capture in which day the ship will arrive to and leave from the port at node (i,m).When a ship does not arrive within the port's time window, the ship must wait.A continuous variable t we im is declared as the entering waiting time of a ship at node (i,m).If the time of when a ship arrives is inside the time window, the ship can directly lay into the port and there is no waiting time.Therefore, the value of t we im is zero.In the same way, a ship must also leave from certain ports within their time windows.The duration of the leaving waiting time of the ship at node (i,m) is denoted as t wl im.

Monday
At certain ports, there is also a restriction that only one ship at a time can lay in it.So, if there is another ship in the port, the ship must wait to enter it.The variable t we im is used to model this waiting time.A parameter T B i is the duration between the departure of one ship and the arrival of the next ship.When the parameter is set to be zero, it means that the port can have more than one ship simultaneously.The detailed activities of a ship during its time in a port can be seen in Fig. 2

Fig. 2. Detailed activities of a ship during its time in a port
The scheduling and time windows constraints are as follows: Constraints ( 1)-( 2) restrict the arrival and leaving time of a ship within the planning horizon.Constraint (3) calculates the arrival and leaving time of a ship in one node, while constraint (4) tracks the routing time from a node to another node.Constraint (5) ensures that the time precedence constraints are not violated.This constraint restricts a port to only have another ship after a particular period of time.Constraints ( 6)- (7) enforce that a ship enters and leaves a port within its time windows.Constraints ( 8)-( 9) set the time of when a ship arrives and leaves at the particular day and time when it arrives and leaves node (i,m).Constraints ( 10)-( 11) are used to determine in which day a ship arrives and leaves a port.Finally, constraints (12)-( 13) guarantee that only one day occurs for each of arriving and leaving at node (i,m).

C. Inventory constraints
There are four parameters that are related to the inventory constraints.QQik defines an initial inventory of product k at port i.The maximum and minimum level of product k at port i are represented by SMik and SXik, respectively.Rik is the production (or consumption) rate of product k at port i.These variables are related to the inventory constraints: simk and s l imk, which represents the level of product k at the time when a ship arrives and leaves at node (i,m), respectively.The inventory constraints are as follow: Constraint (14) imposes that the loading quantity must not exceed the available product in the storage.Constraint (15) sets the storage level at the time of first arrival.Constraints ( 16)-(17) track the storage levels of the previous and current visit.Constraints (18)-( 19) guarantee that the storage level will be within its limits at the time when a ship arrives and departs from a port, respectively.Finally, constraint (20) enforces that the storage level at the end of the planning horizon must be within its limit

A. Test Problems
The method described in this paper is an extension to the model introduced in [1].Several test problems which have been used in the previous research as in [1] have been modified to include time window constraints.All of the test problems are set to have time windows between 0.3 and 0.7 each day for the starting and end of a time window for each day during the planning horizon for all ports.The problem presented in this section is a modified version of test problem 3 in [1], as described below:

B. Computational Results
From Table 2, it can be seen that some of the mathematical model solutions in this paper have the same values as the ones solved without time windows discussed in [1].In contrast, modeling multiple time windows can give higher objective functions in comparison to the ones of previous paper, as in test problem 2 with a 10 day planning horizon scenario and test problems 3, 4, and 5 with the 15 day planning horizon scenarios.Moreover, modeling multiple time windows significantly increases the computational time in comparison with the ones without multiple time windows.
As also seen in Table 2, the mathematical model found optimal solutions for all of the test problems with scenario 1.However, by increasing the planning horizon from 10 days to 15 days, the computational time increased significantly, and hence the mathematical model could not get solutions for test problems 1 and 5 with scenario 2 for the 15 day planning horizon and test problem 3 for both the 10 and 15 day planning horizons.It found a solution for test problem 4 with the 15 day planning horizon, but the model was not terminated before the time limit. - ⁿ ) the solution did not terminate before the time limit of 8.64E+5 seconds (24 hours) ( * ) a feasible solution was not found before the time limit of 8.64E+5 seconds (24 hours) IV. CONSLUSION In this paper, a new variant of inventory routing problem is considered.The problem is an extension of the work in the area in that the problem considers a ship that can only enter and leave the ports within their time windows during planning horizon.A mathematical model is formulated as mixed integer programming for solving this problem.A set of new parameters, new variables and modified constrainst, especially scheduling and time windows constraints and inventory constraints are discussed.The objective of the problem is to find a minimum cost solution while satisfying a number of technical and physical constraints within a given planning horizon.Several problem instances are created due to uniqueness of the problem.The test results on problem instances show that the longer planning horizon the higher objective function and the longer computational time.This excessive running time was a major motivation for our next research agenda, developing a heuristic method.
The variables are as follow: limvkc the quantity of product k onboard loaded in compartment c of ship v after departing from node (i,m) , j the port M the number of ships visited a port mp the number of ships visited a production port mc the number of ships visited a consumption port (i,m) a node represents the number of ships visited port i V the ship K the product C the compartment D the day The complete parameters are: CMvc the maximum capacity of the compartment c of ship v COik the loading (or unloading) setup cost of product k at port i CTijv the traveling cost of ship v from port i to port j CWiv the setup cost of ship v at port i ISik initial inventory of product k at port i Jik equal to 1 if port i is a producer of product k, and equal to -1 if it is a consumer Ni the maximum number of visits of ships at port H i ∈ QQvkc the initial quantity of product k loaded in compartment c of ship v Rik the production (or consumer) rate of product k at port i SMik the minimum level of product k at port i SXik the maximum level of product k at port i iv setup time of ship v before leaving from port i TQik the loading (or unloading) rate of one unit of product k at port i TTijv the traveling time of ship v from port i to port j D, of days is defined during a given planning horizon, as it is unknown in advance which day a port-visiting number node will occur.It is possible that each port has different starting and ending points of their time windows of each day, denoted by T WS imd and T WF imd, where index d represents the number of the day during the planning horizon at node (i,m).
. It is common that a ship enters a port in one day and then leaves it the next day

Table I .
Data of Ports and their Storages

Table 2 .
The Result of the Mathematical Model Solved using Lingo