A TIME LIMITED VEHICLE ROUTING PROBLEM

This modification of vehicle routing problem (or the traveling salesman problem) is based on the bank payment orders pick-up case study. The depot (called the centre) is the city, to which daily payment orders are transported from the bank branches. The payment orders have to be delivered to the centre in a given time, i.e. the time interval between loading payment orders at the branches and unloading them at the centre must not exceed a given value. Vehicle capacity is not the limiting factor in this problem. The transportation is executed at the public road network. The shortest distances between cities, or between the cities and the centre, are known.


Introduction and a mathematical model
This modification of vehicle routing problem (or the traveling salesman problem) is based on the bank payment orders pick-up case study. The depot (called the centre) is the city, to which daily payment orders are transported from the bank branches. The payment orders have to be delivered to the centre in a given time, i.e. the time interval between loading payment orders at the branches and unloading them at the centre must not exceed a given value. Vehicle capacity is not the limiting factor in this problem. The transportation is executed at the public road network. The shortest distances between cities, or between the cities and the centre, are known.
Let us have n cities connected by the road network with the shortest distance matrix C. Let us suppose that the city 1 is the centre to which the payment orders are transported from other nϪ1 cities. The pick-up from each city must be finished in the time T, which forecloses the pick-up payment orders by one Hamiltonian cycle. The result forms more routes-cycles; each of them includes city 1 (as in the vehicle routing problem). The pick-up time T starts to be computed since the departure time from the first branch on the route. Thus, the traveling time from the city 1 to the first branch is not included in the time T. For the model of the problem we would need the traveling times between each pair of cities. Because of simplicity, these times are derived from the vehicle average speed and distances given by matrix C. Instead of a time limit to the pick-up time, the maximal route length to the centre 1 can be set. Let us denote it by L.
Comment. The vehicle routing problem, in which the delivery traveling time from city 1 to other nϪ1 cities 1) is limited, is similar to the above mentioned problem. The optimal routes in both problems are, in fact, the same except for their directions.
The time limited vehicle routing problem (TLVRP) is similarly as the traveling salesman problem (which is reduced on the vehicle routing problem in case of a big enough value L) NP hard.
Let us set the mathematical model of TLVRP first (for delivery case of TLVRP). The binary variable x ij equals 1, if the edge (i, j) is included in the route, i.e. the vehicle goes from city i to city j; otherwise this variable equals zero.
The mathematical model of TLVRP is: The objective function (1) represents the total length of all the routes. The set of equations (2) assures that only one edge comes out from each city. Similarly, constraints (3) state that only one edge comes to each city. Equations (2) and (3) are not applied on city 1, because from and to city 1 there come as many edges as there are routes. The set of inequalities (4) defines variable u i corresponding to the length of the route from city 1 to city i. The con- ditions (5) mean that no such length exceeds the limit L. The constant M is a big enough positive number (or L ϩ c ij Ϫ c 1j ).

Heuristic methods
As the TLVRP belongs to the class of NP hard problems, it will be useful to propose heuristic methods for a large scale problem solution. The heuristic methods used for the traveling salesman problem or the vehicle routing problem will be modified. It is assumed that the matrix C is symmetric and nonnegative, and c 1i Յ L for i ϭ 2, 3, …, n (otherwise, the TLVRP does not have a feasible solution).
The following notation will be used in the proposed modifications of heuristic methods. Let us denote by M the set of cities that were not included in any route. At the beginning of the method set M equals { 2, 3, …, n}. The heuristic method ends when the set M is empty. The route will be denoted as tr ϭ (tr(1), tr(2), …, tr(m)), where tr(1) ϭ tr(m) ϭ 1. The constraints (5) will be tested for each possible change of the route (enlargement) in the form: If the condition P1 is satisfied, the route is feasible for delivery (in the case of pick-up the tr should be reversed). If the condition P2 is satisfied, the route is feasible for the pick-up; for delivery it is necessary to reverse tr.

The nearest neighborhood method
In this method the following steps are executed until the set M is empty: Step 1. Let us denote the city with the shortest distance c 1i as k and let it form the route tr(1) ϭ 1, tr(2) ϭ k, tr(3) ϭ 1, let it set m ϭ 3. City k is deleted from the set M.
Step 2. Let us find city k from M which minimizes the distance c tr(mϪ1),k and for which the route enlargement tr when inserting this city after city tr(mϪ1) satisfies the condition P1 or P2. If such a city k does not exist, the route is closed and the method follows by step 1 (starting the new route).
Step 3. Let us enlarge the route tr by inserting city k after the city tr(mϪ1), let m increase by 1 and delete city k from set M. If set M is not empty, follow step 2; otherwise, the method ends.

The insert method
The following steps are taken until set M is empty.
Step 1. Let us denote city k with the greatest distance c 1i and put the route tr(1) ϭ 1, tr(2) ϭ k, tr(3) ϭ 1, and m ϭ 3. City k is deleted from set M. If set M is empty the method ends.
Step 2. City k from set M being found minimizes value d ϭ ϭ c tr(i),k ϩ c k,tr(iϩ1) Ϫ c tr(i), tr(iϩ1) for all i ϭ 1, 2, …, mϪ1 and k ʦ M. The route tr satisfies the condition P1 or P2 if this route is enlarged by inserting city k between cities tr(i) and tr(iϩ1), where i minimizes the value d. If city k does not exist, the route is closed and the method follows by step 1 (start a new route). Enlarge the route tr by inserting city k between the city tr(i) and tr(iϩ1), increase m by 1. City k will be deleted from set M. If set M is empty the method ends; otherwise, it follows by step 2.

The savings method
The following steps are executed until set M is empty.
Step 1. If set M contains only city k, the route tr(1) ϭ 1, tr(2) ϭ k, tr(3) ϭ 1 is formed; let m ϭ 3. City k will be deleted from set M and the method ends.
Step 2. Let it find the pair of cities from M in the form (k, l), that satisfies the condition and maximizes savings. If this pair (k, l) does not exist, form direct routes (1, k, 1) for all each city k from M, stop.
Step 4. Find city i from set M that maximizes s ik , or city j from M that maximizes s lj , such that the route, being formed by inserting i into the route before city k, satisfies conditions P1 or P2, or being formed by inserting j into the route after city l, satisfies conditions P1 or P2. If either i nor j do not exist, the route is closed and the method follows by step 1.
Step 3. If (or j does not exist), city i is inserted into the route before city k and city i is deleted from set M. Let s increase by 1 and k equal i. If (or i does not exist), city j is inserted into the route after city l and city j is deleted from M. Let m increase by 1. The method follows by step 4.

Numerical experiments
The proposed model and heuristics were applied to a set of problems and the results are shown in table 1. It contains 20 time limited vehicle routing problems, which are solved by using heuristics proposed above, by the model (1) -(6) and LINGO8.0 solver and CPLEX9.0 solver. The value of objective function obtained using heuristics (the best value of three heuristic methods) and model are shown. Beside the objective value, the computation time and lower bound of the objective function are placed in table 1.