Les cahiers du GERAD

ISSN: 0711–2440

An Algorithm for Mini-clustering in Handicapped Transport J. Desrosiers, Y. Dumas F. Soumis, S. Taillefer D. Villeneuve G–91–02 January 1991

Les textes publi´es dans la s´erie des rapports de recherche H.E.C. n’engagent que la responsabilit´e de leurs auteurs. La publication de ces rapports de recherche b´en´eﬁcie d’une subvention du Fonds F.C.A.R.

AN ALGORITHM FOR MINI-CLUSTERING IN HANDICAPPED TRANSPORT

Jacques Desrosiers ´ GERAD and Ecole des H.E.C. 5255, avenue Decelles, Montr´eal, Canada, H3T 1V6 Yvan Dumas ´ GERAD and Ecole des H.E.C. 5255, avenue Decelles, Montr´eal, Canada, H3T 1V6 Fran¸ cois Soumis ´ GERAD and Ecole Polytechnique 5255, avenue Decelles, Montr´eal, Canada, H3T 1V6 Serge Taillefer GIRO Inc 1100 Cr´emazie E., Suite 300, Montr´eal, Canada H2P 2X2 Daniel Villeneuve ´ GERAD and Ecole Polytechnique 5255, avenue Decelles, Montr´eal, Canada, H3T 1V6

Les Cahiers du GERAD G–91–02

Abstract In many cities around the world, public transportation services are requested to provide adapted transportation for handicapped persons and people with restricted mobility. Efficiently dispatching daily several thousands of requests to a hundred vehicle fleet is a difficult and time consuming task. The DARSY package (described in Desrosiers et al. 1988) redesigns the classical “cluster first-route second” approach by reducing the relative importance of heuristic methods and by extending the utility of optimization procedures to global decision making in the routing process. A set of mini-clusters are created at the first stage. A heuristic algorithm builds good segments of routes transporting small groups of neighbouring passengers. At the second stage, all the vehicle routes are simultaneously constructed using a column generation algorithm which deals with global operational planning considerations. This paper is dedicated to the first stage. The mini-clustering algorithm we propose does not attempt to construct full itineraries and split passengers between vehicles. It only makes local decisions on grouping together similar requests. The quality of attraction between two requests is measured by temporal and spatial proximities, directionality, economy of distance, and feasibility. Handicapped transport is a very personalized type of service in which thousands of different persons (users, operators, and schedulers) may be involved. And from this perspective the construction of mini-clusters occupies a very strategic position in the optimization process. The quality of the service offered to users is intimately tied to the quality of these mini-clusters. This paper presents numerical tests on a typical daily data set involving almost 3000 users.

R´ esum´ e Dans plusieurs villes du monde, les services de transport public doivent offrir un transport sp´ecialis´e aux personnes handicap´ees ou `a mobilit´e r´eduite. Le probl`eme d’affecter chaque jour quelques milliers de requˆetes `a une flotte d’une centaine de v´ehicules est une tˆache longue et difficile. Dans le logiciel DARSY (d´ecrit dans Desrosiers et al. 1988), l’approche classique du “regroupement en premier–routage en second” a ´et´e substantiellement modifi´e de fa¸con `a r´eduire l’importance relative des m´ethodes heuristiques et de fa¸con `a augmenter l’utilisation de l’optimisation math´ematique dans la phase du routage, en ayant ainsi une vue de l’ensemble du probl`eme. Dans la premi`ere phase, de petits segments de route sont cr´e´es par un algorithme heuristique de mini-regroupement qui met ensemble des requˆetes semblables. Dans la deuxi`eme phase, tous les itin´eraires de v´ehicules sont simultan´ement construits par un algorithme de g´en´eration de colonnes qui tient compte des r`egles d’op´eration. Cet article traite de la premi`ere phase seulement. L’algorithme de mini-regroupement que nous proposons ne tente pas de construire inutilement des itin´eraires complets. Il ne prend que des d´ecisions locales sur les requˆetes semblables. La quantit´e de l’attraction entre deux requˆetes est calcul´ee `a l’aide de la proximit´e spatiale et temporelle, de la direction, de l’´economie de distance et de la faisabilit´e. Le transport des personnes handicap´ees constitue un type de service tr`es personnalis´e pour lequel des milliers d’utilisateurs, de chauffeurs et de d´ecideurs sont impliqu´es `a chaque jour. Et dans cette perspective, la construction des mini-groupes occupe une position strat´egique dans le processus d’optimisation. La qualit´e du service offert aux utilisateurs est intimement li´ee `a la qualit´e de ces mini-groupes. Cet article pr´esente des tests sur une journ´ee type avec pr`es de 3000 usagers.

1. Introduction Over the last ten years or so, the organization of transport services for handicapped persons has become a priority at several government levels. In Canada, for example, the law requires that adequate transport services be offered to these persons at the same fare as that paid by regular public transit users. In transport for the handicapped, service requests are generally known in advance of the day of operation and consist in requests for door to door transportation. Regular and occasional users are served by specially-equipped mini-buses or by taxis. A mathematical model which adequately describes the problem of creating vehicle itineraries and operator schedules is necessarily very complex. First, each request is made up of a pick-up point and a drop-off point, desired service times, and the number of persons to be transported along with the type of each person (ambulatory, in folding wheelchair, in non-folding wheelchair). In order to assure a quality of service which is often defined very subjectively, time window constraints are placed around requested pick-up and drop-off times. Secondly, we must consider the vehicles constraints: the number of each type (mini-bus and taxi) as well as the capacity of each type of vehicle for each type of passenger. In fact, there may exist up to five possibilities in our test problems for the uses of a mini-bus, in terms of the numbers of each type of passenger transported. For example, there may be 13 walking, 0 wheelchairs; 12 walking, 1 wheelchair; 9 walking, 3 wheelchairs; and so forth. Finally, a third type of constraint is provided by driver schedules, which are generally subject to scheduling rules in a collective agreement. In large cities such as Montr´eal and Toronto, handicapped transportation must be organized every day for more than 2500 passengers, two vehicle types and more than one hundred drivers distributed over about thirty scheduling pieces of work. This problem is therefore very difficult to solve mathematically. Some heuristic algorithms capable of dealing with this type of problem have appeared over the last few years. We can mention, on the one hand, the parallel insertion algorithms of Jaw et al. (1986) and of Roy et al. (1984a,b) and, on the other hand, the heuristic method of Desrosiers et al. (1988) which uses column generation and which forms the basis of the commercial software system DARSY (Dial-a-Ride System). In fact, this latter method originally used the insertion algorithm of Roy in order to construct an initial set of eligible itineraries, from which mini-clusters of requests were extracted. These mini-clusters were subsequently reassigned to vehicles and to drivers using a column generation algorithm. The gain realized over the insertion heuristic of Roy is approximately 10%. 1

The objective of this article is to provide a useful alternative for the construction of mini-clusters. The algorithm of Roy et al. (1984a) is no longer used in the DARSY software. In fact, although it would have been possible over the years to adapt this algorithm to new types of constraints (multidimensional capacity constraints, meals and coffee breaks, etc.) the algorithm becomes very slow as soon as the number of requests attains a threshold of about 1500. This obvious slowing down is mainly due to the local improvement heuristic which uses exchanges between itineraries, of which there may be a few hundred. The algorithm we propose does not attempt to uselessly construct itineraries. It only makes local decisions on clustering together with similar requests, that is, requests which are close together in time and space and which assure a certain quality of service to users. Global decisions concerning assignment to vehicles and driver schedules are left to the column generation optimization algorithm which uses the GENCOL software (Sanso et al. 1990). In the recent literature, most of the effort has been set on the computation of proximity measures between pairs of requests. This is the case of Kagaya et al. (1990) using the Fuzzy Theory. Our paper not only presents the construction of the lists of neighboring requests, but also the algorithmic approach to obtain a set of feasible mini-clusters.

2. Desirable characteristics of mini-clusters Suppose that we are in possession of optimal itineraries for a problem considered as a whole. It would then be possible to deduce the optimal mini-clusters according to the following procedure. Every itinerary is divided into segments which are determined by the vehicle load: we begin a segment with an empty load and we end the same segment when the load is again empty. Then the requests included in each segment of the itinerary where the vehicle is not empty constitute a mini-cluster. This method of defining mini-clusters reveals three properties: (a) Feasibility: the requests in a mini-cluster must be served by the same vehicle respecting the time window and capacity constraints at the pick-up and drop-off points; (b) Quality of service: the grouping is based on similar request characteristics, such as the time and spatial proximities, the directions of travel, the passenger types,...; (c) Economy of distance: the sum of all vehicle movements in all mini-clusters (internal distance) and between mini-clusters (external distance) must be almost minimal.

2

The objective of our algorithm is therefore to construct a set of feasible mini-clusters of good quality in which each request is placed only once. We also minimize the internal distance, all the while taking into account the external distance which is foreseen at the time of global construction of vehicle itineraries. A step which must precede the creation of mini-clusters consists in the determination of neighboring requests. The quality of attraction between two requests is measured by temporal and spatial proximities, directionality, economy of distance, and feasibility.

3. Constructing lists of neighboring requests Let {1, . . . , n} be a set of points which define the request pick-up locations and {n + 1, n + 2, . . . , 2n} be the set which defines the request drop-off locations. By convention, we let k and n + k be, respectively, the pick-up and the drop-off locations of the k th request. With each point i ∈ {1, . . . , 2n} are associated physical coordinates, a service duration si and a time interval [ai , bi ] during which service may take place. The load at a point i is given by a three-dimensional vector (q1i , q2i , q3i ) , i ∈ {1, . . . , 2n} as well as the maximum capacity of each type of vehicle (Q1v , Q2v , Q3v ), v ∈ {bus, taxi}. In this article the costs or distances are given in terms of travel time (in minutes) and are denoted by tij for the travel time between points i and j. Certain elements of the notation which have been introduced in this paragraph are not used in the balance of the text. They are nonetheless useful for intermediate calculations at different phases of the mini-clustering algorithm. Consider two requests i and j. There are six different ways to form a path which contains these two requests within a mini-cluster: (i) → (j) → (n + i) → (n + j)

(1)

(i) → (j) → (n + j) → (n + i)

(2)

(j) → (i) → (n + j) → (n + i)

(3)

(j) → (i) → (n + i) → (n + j)

(4)

(i) → (n + i) → (j) → (n + j)

(5)

(j) → (n + j) → (i) → (n + i)

(6)

The last two paths contain a portion in which the vehicle is empty. With these paths, requests i and j are in the same mini-cluster only if at least one other passenger is present in the vehicle during the time interval separating these two requests. 3

When two requests are clustered together, there may exist a certain savings in travel time compared with the sum of the two direct travel times ti,n+i + tj,n+j . The computation of this savings requires the following steps. Let C1 (i, j) be the cost of path (1), which is given by the sum of the arc durations: C1 (i, j) = tij + tj,n+i + tn+i,n+j .

(7)

The cost C1 (i, j) is computed according to the preceding formula if the path is feasible. Otherwise we allocate an arbitrarily large value to this way of clustering requests i and j. The conditions which determine the feasibility of this path depend on the respect of the time window constraints at the different pick-up and drop-off points and on the vehicle capacity. These conditions are not presented in detail here. As well, we define C2 (i, j), . . . , C6 (i, j) in a similar way. The savings s(i, j) obtained from clustering requests i and j is given by s(i, j) = ti,n+i + tj,n+j − min Ck (i, j).

(8)

k=1,...,6

Next, for request i we denote by θi the angle between a reference axis and the direction which is determined by the pick-up point i and the drop-off point n + i. The angle between two requests i and j is thus given by |θi − θj |. We say that two requests i and j are neighboring requests if : (ai ≤ aj ≤ bn+i ) or (ai ≤ bn+j ≤ bn+i ) or (aj ≤ ai ≤ bn+i ≤ bn+j ) (tij + tj,n+i ≤ α ti,n+i ), or (tij + ti,n+j ≤ α tj,n+j ), |θi − θj | ≤ β

0

s(i, j) ≥ −γ,

α>1

(9) (10) (11)

γ ≥ 0.

(12)

The first condition is concerned with closeness in time and is defined using the time window parameters. The second ensures a closeness in space which is calculated from an ellipse for which the foci are the coordinates of the points i and n + i, or j and n + j. The third condition does not tolerate a change in direction superior to β o . Finally, the fourth condition measures the savings associated with the best clustering. The affinity lists obtained in this way are symmetric. 4

The parameter γ is a tolerance parameter related to the external distance between mini-clusters foreseen in the simultaneous routing and scheduling of all vehicles. It also permits a certain increase compared to the sum of the direct vehicle movements ti,n+i + tj,n+j . As such, we may use the last two clustering paths (5) and (6) as we need to. In our tests, this parameter has been fixed at 5 minutes, which is approximately equal to half the time separating two successive mini-clusters in itineraries used in practice. Furthermore, the parameters α and β have been set at 1.5 and 90, respectively.

4. The philosophy of the mini-clustering algorithm The mini-clustering algorithm presented in this paper is a parallel insertion method, sequentially processing one request at a time. For a given request during the grouping procedure, three actions are possible: insertion into an existing mini-cluster, initialization of a new mini-cluster, or placement “on hold”. In order to take account of the fact that the requests with the best potential for initializing new mini-clusters are those of longest direct duration t i,n+i , the requests are processed, for any given time period, in decreasing order by duration. Graphically, these request durations are first of all distributed into classes and placed along the ordinate. Along the abscissa we consider the time periods. As seen in Figure 1, at each iteration the requests are then processed in the order of the cells lying along the diagonal of unit slope. The cells above this diagonal have been processed at preceding iterations or at initialization, while the cells below the diagonal remain to be processed at subsequent iterations or at the end of the selection process. There is also an extra waiting list made up of requests “on hold” . The cells along one diagonal are processed first, then those in the waiting list before the next diagonal. Along a diagonal, requests are sequentially treated one at a time in the increasing order by departure time. For a chosen request along the diagonal, the three actions (insertion, new mini-cluster, placement “on hold”) are permitted. For “on hold” requests, only insertion and the creation of a new mini-cluster are admissible. The appropriate action depends on the duration of the request as well. If the chosen request from a diagonal cell is “long”, we evaluate its potential for initializing a new mini-cluster in the light of its most promising neighbors which have not yet been assigned to mini-clusters. This potential is compared with the effect of the best insertion in an existing mini-cluster. If the result of this comparison is significant, we choose one or the other of these two alternatives; if it is not significant, we place the request on hold. If 5

the request is “short”, we insert it in the best existing mini-cluster if this is an obvious choice or, if not, we place it on hold. If the request is selected from the waiting list, it is not allowed to put it back on hold. In that case, even if the choices are doubtful, a final decision must be taken. CLASSES OF REQUEST DURATION

Iteration number

1

2

3

4

5

6

7

8

2

3

4

5

6

7

8

9

3

4

5

6

7

8

9

10

6

4

5

6

7

8

9

10

11

6

6 6

...

"On hold" list

TIME PERIODS

Figure 1 Illustration of the request selection process

The insertion of a request into an existing mini-cluster must respect as much as possible the quality criteria discussed above. Whenever the insertions involves three or more requests, feasibility criterion and savings cannot be calculated anymore using previous formulas for path (1) to (6). Instead, we use the dynamic programming algorithm described in Desrosiers et al. (1986) for the single vehicle optimization problem, which has been adapted to multidimensional vehicle loads.

5. Experimentation Numerical tests were conducted using data provided by the Wheel-Trans handicapped transport service in Toronto, Canada. The data covers a single day, February 27, 1989. A total of 2411 requests have been processed, involving a total number of 2749 passengers. In order to compare the manual and automatic solutions on the same basis we had to evaluate the manual solution. Thus given a sequence of stops in each itinerary of the manual solution, the arrival time at each pick-up and delivery stop was recalculated. The number of mini-clusters for which time window upper bound was 6

exceeded at pick-up or delivery stops for some requests is equal to 58. Our test results also contain such time window overflows. In fact, our algorithm initially respects all constraints imposed by the schedulers. However on their request, the path distances for each mini-cluster were reoptimized with the time windows slightly relaxed. Three tests where conducted using the mini-clustering algorithm. They differ on two parameters only: maximum delay and taxi feasibility (see Table 1). The maximum delay is given in minutes and represents the maximum deviation from the desired time of service. The taxi feasibility is a boolean parameter which favors at TRUE value the grouping of requests without non-folding weelchairs. Table 1: Test parameters

Maximum Delay (min.) Taxi Feasibility

Test (A) 60 False

Test (B) 60 True

Test (C) 40 True

Statistical test results appear on Table 2. Test (A) provides results which significantly reduce the number of mini-clusters, thus increasing the size and the average duration of mini-clusters. Despite the fact that the algorithm is a heuristic, it shares with optimization methods a tendancy to take advantage of the full flexibility provided by the constraints. For example, the maximum permitted delay between the desired service time and the scheduled one is 60 minutes. The manual solution gives a value of 12 minutes average delay compared with 25.3 minutes in the case of the algorithm. Thus while the constraints on the problem are respected, this tendancy to create longer delays could be seen as a drawback of the algorithm. Another drawback of the test (A) is its tendency to create too few mini-clusters without non-folding wheelchairs and with at most 4 ambulatory persons. Such mini-clusters can be feasibly served by taxis. There are only 299 such mini-clusters produced by the algorithm, compared with 642 produced manually. As a result, the column generation optimization algorithm for assigning miniclusters to vehicles (mini-buses and taxis) functions less efficiently, due to limitations on the number of available buses. Two supplementary tests were conducted. Test (B) almost replicates all values of the manual solution (see Table 2) except for the duration of delays. This is rectified in test (C) where the maximum delay value is reduced at 40 minutes.

7

Table 3 presents internal savings and expected total savings on travel time. The upper part compares the savings obtained by the grouping of requests with the total direct travel time. The lower part gives the comparison for the expected total internal and external travel time. In both cases, test (C) shows algorithmic results which are essentially equivalent to the normal solution. We finally have to say that the algorithm described in this paper has been implemented in FORTRAN and runs on a SUN SPARC STATION 1. The results are obtained in less than 5 minutes cpu time, which is an important advantage over manual solutions, and much more over the previous insertion algorithm of Roy et al. (1984a) which runs for several hours.

6. Conclusion The objective of this research has been to automatically and quickly obtain miniclustering results which are as close as possible, in terms of the quality, to those produced manually. The main conclusions are that the algorithm performs well numerically and is fast. From a certain point of view the mini-clustering algorithms, which make local decisions (in time and space), can be seen as leaving important decisions regarding the organization of this type of transport service to the optimization algorithm using column generation. This is certainly true in the sense of optimization of the cost of vehicle movement and of the use of available resources. In addition, handicapped transport is a very personalized type of service in which thousands of different persons (users, operators, and schedulers) may be involved. In this type of organization, the number of complaints must be at a minimum. And from this perspective, the construction of mini-clusters which constitute the most visible part of the process as well as the most accessible to all participants, occupies a very strategic position in the optimization process. The quality of the service offered to users is intimately tied to the quality of these mini-clusters.

7. References J. Desrosiers, Y. Dumas and F. Soumis (1988). The Multiple Vehicle Dial-A-Ride Problem. Lecture Notes in Economics and Mathematical System 308: Computer-Aided Transit Scheduling, J.R. Daduna, A. Wren (eds), Springer-Verlag, 15–27. J. Desrosiers, Y. Dumas and F. Soumis (1986). A Dynamic Programming Solution of the Large-Scale Single-Vehicle Dial-a-Ride Problem with Time Windows. American Journal of Mathematical and Management Sciences 6, 301–325. 8

J. Jaw, A. Odoni, H. Psaraftis and N. Wilson (1986). A Heuristic Algorithm for the Multi-Vehicle Advanced Request Dial-a-Ride Problem with Time Windows. Transportation Research B 20, 243–257. S. Kagaya, S. Kihuchi and R.A. Donelly (1990). Use of Fuzzy Theory Technique for Grouping of Trips in Vehicle Routing and Scheduling Problems. 5 th International Workshop on Computer-Aided Scheduling of Public Transport, Montr´eal, August 1990. S. Roy, J.-M. Rousseau, G. Lapalme and J.A. Ferland (1984a). Routing and Scheduling for the Transportation of Disasbled Persons — The Algorithm. TP 5596E, Transport Canada, Transport Development Center, Montr´eal, Canada H2Z 1X4. S. Roy, J.-M. Rousseau, G. Lapalme and J.A. Ferland (1984b). Routing and Scheduling for the Transportation of Disasbled Persons — The Tests. TP 5598E, Transport Canada, Transport Development Center, Montr´eal, Canada H2Z 1X4. B. Sanso, M. Desrochers, J. Desrosiers, Y. Dumas and F. Soumis (1990). Modeling and Solving Routing and Scheduling Problems: GENCOL User Guide, GERAD, 5255 Decelles, Montr´eal, Canada H3T 1V6, 120 pages.

9

Table 2: Statistics on Mini-clusters (2411 requests/2749 passengers) manual solution

test (a)

test (b)

test (c)

1323 962 361 673 650 642 58

930 793 137 618 312 299 41

1341 934 407 723 618 600 22

1303 932 371 717 586 568 23

number of requests per mini-cluster • average 1.8 • standard deviation 1.2

2.6 1.2

1.8 1.0

1.8 0.9

duration of mini-clusters (min.) • average 27.7 • standard deviation 23.9 • maximum 198

37.4 23.0 117

27.6 16.6 123

28.7 16.9 111

duration of delays per request(3) (min.) • average 14.9 25.3 • standard deviation 16.2 21.0

26.0 22.2

18.9 15.5

route excess per request(4) • average • standard deviation

0.44 0.43

0.45 0.44

number of mini-clusters • with ambulatories without ambulatories • with wheelchairs without wheelchairs • feasible by taxis(1) • time window overflows(2)

0.54 0.55

0.66 0.50

(1) Mini-clusters without non-folding wheelchairs and with at most 4 ambulatory persons. (2) Mini-clusters for which time window upper bounds are exceeded at pick-up or delivery stops for some requests. (3) Deviation from the desired time of service. (4) The ratio between the trip times by mini-bus and the direct trip time, minus one. 10

Table 3: Savings • • • • •

• • • • •

direct travel time manual solution test (a) test (b) test (c)

one request per mini-cluster manual solution test (a) test (b) test (c)

internal travel time 39771 36691 34780 36992 37368 total estimated(1) travel time 63881 49921 44080 50402 50398

savings 7.7% 12.5% 7.0% 6.0%

savings

(1) Computed as (internal travel time) + 10 ∗ (number of mini-clusters).

11

21.9% 31.0% 21.1% 21.1%

ISSN: 0711–2440

An Algorithm for Mini-clustering in Handicapped Transport J. Desrosiers, Y. Dumas F. Soumis, S. Taillefer D. Villeneuve G–91–02 January 1991

Les textes publi´es dans la s´erie des rapports de recherche H.E.C. n’engagent que la responsabilit´e de leurs auteurs. La publication de ces rapports de recherche b´en´eﬁcie d’une subvention du Fonds F.C.A.R.

AN ALGORITHM FOR MINI-CLUSTERING IN HANDICAPPED TRANSPORT

Jacques Desrosiers ´ GERAD and Ecole des H.E.C. 5255, avenue Decelles, Montr´eal, Canada, H3T 1V6 Yvan Dumas ´ GERAD and Ecole des H.E.C. 5255, avenue Decelles, Montr´eal, Canada, H3T 1V6 Fran¸ cois Soumis ´ GERAD and Ecole Polytechnique 5255, avenue Decelles, Montr´eal, Canada, H3T 1V6 Serge Taillefer GIRO Inc 1100 Cr´emazie E., Suite 300, Montr´eal, Canada H2P 2X2 Daniel Villeneuve ´ GERAD and Ecole Polytechnique 5255, avenue Decelles, Montr´eal, Canada, H3T 1V6

Les Cahiers du GERAD G–91–02

Abstract In many cities around the world, public transportation services are requested to provide adapted transportation for handicapped persons and people with restricted mobility. Efficiently dispatching daily several thousands of requests to a hundred vehicle fleet is a difficult and time consuming task. The DARSY package (described in Desrosiers et al. 1988) redesigns the classical “cluster first-route second” approach by reducing the relative importance of heuristic methods and by extending the utility of optimization procedures to global decision making in the routing process. A set of mini-clusters are created at the first stage. A heuristic algorithm builds good segments of routes transporting small groups of neighbouring passengers. At the second stage, all the vehicle routes are simultaneously constructed using a column generation algorithm which deals with global operational planning considerations. This paper is dedicated to the first stage. The mini-clustering algorithm we propose does not attempt to construct full itineraries and split passengers between vehicles. It only makes local decisions on grouping together similar requests. The quality of attraction between two requests is measured by temporal and spatial proximities, directionality, economy of distance, and feasibility. Handicapped transport is a very personalized type of service in which thousands of different persons (users, operators, and schedulers) may be involved. And from this perspective the construction of mini-clusters occupies a very strategic position in the optimization process. The quality of the service offered to users is intimately tied to the quality of these mini-clusters. This paper presents numerical tests on a typical daily data set involving almost 3000 users.

R´ esum´ e Dans plusieurs villes du monde, les services de transport public doivent offrir un transport sp´ecialis´e aux personnes handicap´ees ou `a mobilit´e r´eduite. Le probl`eme d’affecter chaque jour quelques milliers de requˆetes `a une flotte d’une centaine de v´ehicules est une tˆache longue et difficile. Dans le logiciel DARSY (d´ecrit dans Desrosiers et al. 1988), l’approche classique du “regroupement en premier–routage en second” a ´et´e substantiellement modifi´e de fa¸con `a r´eduire l’importance relative des m´ethodes heuristiques et de fa¸con `a augmenter l’utilisation de l’optimisation math´ematique dans la phase du routage, en ayant ainsi une vue de l’ensemble du probl`eme. Dans la premi`ere phase, de petits segments de route sont cr´e´es par un algorithme heuristique de mini-regroupement qui met ensemble des requˆetes semblables. Dans la deuxi`eme phase, tous les itin´eraires de v´ehicules sont simultan´ement construits par un algorithme de g´en´eration de colonnes qui tient compte des r`egles d’op´eration. Cet article traite de la premi`ere phase seulement. L’algorithme de mini-regroupement que nous proposons ne tente pas de construire inutilement des itin´eraires complets. Il ne prend que des d´ecisions locales sur les requˆetes semblables. La quantit´e de l’attraction entre deux requˆetes est calcul´ee `a l’aide de la proximit´e spatiale et temporelle, de la direction, de l’´economie de distance et de la faisabilit´e. Le transport des personnes handicap´ees constitue un type de service tr`es personnalis´e pour lequel des milliers d’utilisateurs, de chauffeurs et de d´ecideurs sont impliqu´es `a chaque jour. Et dans cette perspective, la construction des mini-groupes occupe une position strat´egique dans le processus d’optimisation. La qualit´e du service offert aux utilisateurs est intimement li´ee `a la qualit´e de ces mini-groupes. Cet article pr´esente des tests sur une journ´ee type avec pr`es de 3000 usagers.

1. Introduction Over the last ten years or so, the organization of transport services for handicapped persons has become a priority at several government levels. In Canada, for example, the law requires that adequate transport services be offered to these persons at the same fare as that paid by regular public transit users. In transport for the handicapped, service requests are generally known in advance of the day of operation and consist in requests for door to door transportation. Regular and occasional users are served by specially-equipped mini-buses or by taxis. A mathematical model which adequately describes the problem of creating vehicle itineraries and operator schedules is necessarily very complex. First, each request is made up of a pick-up point and a drop-off point, desired service times, and the number of persons to be transported along with the type of each person (ambulatory, in folding wheelchair, in non-folding wheelchair). In order to assure a quality of service which is often defined very subjectively, time window constraints are placed around requested pick-up and drop-off times. Secondly, we must consider the vehicles constraints: the number of each type (mini-bus and taxi) as well as the capacity of each type of vehicle for each type of passenger. In fact, there may exist up to five possibilities in our test problems for the uses of a mini-bus, in terms of the numbers of each type of passenger transported. For example, there may be 13 walking, 0 wheelchairs; 12 walking, 1 wheelchair; 9 walking, 3 wheelchairs; and so forth. Finally, a third type of constraint is provided by driver schedules, which are generally subject to scheduling rules in a collective agreement. In large cities such as Montr´eal and Toronto, handicapped transportation must be organized every day for more than 2500 passengers, two vehicle types and more than one hundred drivers distributed over about thirty scheduling pieces of work. This problem is therefore very difficult to solve mathematically. Some heuristic algorithms capable of dealing with this type of problem have appeared over the last few years. We can mention, on the one hand, the parallel insertion algorithms of Jaw et al. (1986) and of Roy et al. (1984a,b) and, on the other hand, the heuristic method of Desrosiers et al. (1988) which uses column generation and which forms the basis of the commercial software system DARSY (Dial-a-Ride System). In fact, this latter method originally used the insertion algorithm of Roy in order to construct an initial set of eligible itineraries, from which mini-clusters of requests were extracted. These mini-clusters were subsequently reassigned to vehicles and to drivers using a column generation algorithm. The gain realized over the insertion heuristic of Roy is approximately 10%. 1

The objective of this article is to provide a useful alternative for the construction of mini-clusters. The algorithm of Roy et al. (1984a) is no longer used in the DARSY software. In fact, although it would have been possible over the years to adapt this algorithm to new types of constraints (multidimensional capacity constraints, meals and coffee breaks, etc.) the algorithm becomes very slow as soon as the number of requests attains a threshold of about 1500. This obvious slowing down is mainly due to the local improvement heuristic which uses exchanges between itineraries, of which there may be a few hundred. The algorithm we propose does not attempt to uselessly construct itineraries. It only makes local decisions on clustering together with similar requests, that is, requests which are close together in time and space and which assure a certain quality of service to users. Global decisions concerning assignment to vehicles and driver schedules are left to the column generation optimization algorithm which uses the GENCOL software (Sanso et al. 1990). In the recent literature, most of the effort has been set on the computation of proximity measures between pairs of requests. This is the case of Kagaya et al. (1990) using the Fuzzy Theory. Our paper not only presents the construction of the lists of neighboring requests, but also the algorithmic approach to obtain a set of feasible mini-clusters.

2. Desirable characteristics of mini-clusters Suppose that we are in possession of optimal itineraries for a problem considered as a whole. It would then be possible to deduce the optimal mini-clusters according to the following procedure. Every itinerary is divided into segments which are determined by the vehicle load: we begin a segment with an empty load and we end the same segment when the load is again empty. Then the requests included in each segment of the itinerary where the vehicle is not empty constitute a mini-cluster. This method of defining mini-clusters reveals three properties: (a) Feasibility: the requests in a mini-cluster must be served by the same vehicle respecting the time window and capacity constraints at the pick-up and drop-off points; (b) Quality of service: the grouping is based on similar request characteristics, such as the time and spatial proximities, the directions of travel, the passenger types,...; (c) Economy of distance: the sum of all vehicle movements in all mini-clusters (internal distance) and between mini-clusters (external distance) must be almost minimal.

2

The objective of our algorithm is therefore to construct a set of feasible mini-clusters of good quality in which each request is placed only once. We also minimize the internal distance, all the while taking into account the external distance which is foreseen at the time of global construction of vehicle itineraries. A step which must precede the creation of mini-clusters consists in the determination of neighboring requests. The quality of attraction between two requests is measured by temporal and spatial proximities, directionality, economy of distance, and feasibility.

3. Constructing lists of neighboring requests Let {1, . . . , n} be a set of points which define the request pick-up locations and {n + 1, n + 2, . . . , 2n} be the set which defines the request drop-off locations. By convention, we let k and n + k be, respectively, the pick-up and the drop-off locations of the k th request. With each point i ∈ {1, . . . , 2n} are associated physical coordinates, a service duration si and a time interval [ai , bi ] during which service may take place. The load at a point i is given by a three-dimensional vector (q1i , q2i , q3i ) , i ∈ {1, . . . , 2n} as well as the maximum capacity of each type of vehicle (Q1v , Q2v , Q3v ), v ∈ {bus, taxi}. In this article the costs or distances are given in terms of travel time (in minutes) and are denoted by tij for the travel time between points i and j. Certain elements of the notation which have been introduced in this paragraph are not used in the balance of the text. They are nonetheless useful for intermediate calculations at different phases of the mini-clustering algorithm. Consider two requests i and j. There are six different ways to form a path which contains these two requests within a mini-cluster: (i) → (j) → (n + i) → (n + j)

(1)

(i) → (j) → (n + j) → (n + i)

(2)

(j) → (i) → (n + j) → (n + i)

(3)

(j) → (i) → (n + i) → (n + j)

(4)

(i) → (n + i) → (j) → (n + j)

(5)

(j) → (n + j) → (i) → (n + i)

(6)

The last two paths contain a portion in which the vehicle is empty. With these paths, requests i and j are in the same mini-cluster only if at least one other passenger is present in the vehicle during the time interval separating these two requests. 3

When two requests are clustered together, there may exist a certain savings in travel time compared with the sum of the two direct travel times ti,n+i + tj,n+j . The computation of this savings requires the following steps. Let C1 (i, j) be the cost of path (1), which is given by the sum of the arc durations: C1 (i, j) = tij + tj,n+i + tn+i,n+j .

(7)

The cost C1 (i, j) is computed according to the preceding formula if the path is feasible. Otherwise we allocate an arbitrarily large value to this way of clustering requests i and j. The conditions which determine the feasibility of this path depend on the respect of the time window constraints at the different pick-up and drop-off points and on the vehicle capacity. These conditions are not presented in detail here. As well, we define C2 (i, j), . . . , C6 (i, j) in a similar way. The savings s(i, j) obtained from clustering requests i and j is given by s(i, j) = ti,n+i + tj,n+j − min Ck (i, j).

(8)

k=1,...,6

Next, for request i we denote by θi the angle between a reference axis and the direction which is determined by the pick-up point i and the drop-off point n + i. The angle between two requests i and j is thus given by |θi − θj |. We say that two requests i and j are neighboring requests if : (ai ≤ aj ≤ bn+i ) or (ai ≤ bn+j ≤ bn+i ) or (aj ≤ ai ≤ bn+i ≤ bn+j ) (tij + tj,n+i ≤ α ti,n+i ), or (tij + ti,n+j ≤ α tj,n+j ), |θi − θj | ≤ β

0

s(i, j) ≥ −γ,

α>1

(9) (10) (11)

γ ≥ 0.

(12)

The first condition is concerned with closeness in time and is defined using the time window parameters. The second ensures a closeness in space which is calculated from an ellipse for which the foci are the coordinates of the points i and n + i, or j and n + j. The third condition does not tolerate a change in direction superior to β o . Finally, the fourth condition measures the savings associated with the best clustering. The affinity lists obtained in this way are symmetric. 4

The parameter γ is a tolerance parameter related to the external distance between mini-clusters foreseen in the simultaneous routing and scheduling of all vehicles. It also permits a certain increase compared to the sum of the direct vehicle movements ti,n+i + tj,n+j . As such, we may use the last two clustering paths (5) and (6) as we need to. In our tests, this parameter has been fixed at 5 minutes, which is approximately equal to half the time separating two successive mini-clusters in itineraries used in practice. Furthermore, the parameters α and β have been set at 1.5 and 90, respectively.

4. The philosophy of the mini-clustering algorithm The mini-clustering algorithm presented in this paper is a parallel insertion method, sequentially processing one request at a time. For a given request during the grouping procedure, three actions are possible: insertion into an existing mini-cluster, initialization of a new mini-cluster, or placement “on hold”. In order to take account of the fact that the requests with the best potential for initializing new mini-clusters are those of longest direct duration t i,n+i , the requests are processed, for any given time period, in decreasing order by duration. Graphically, these request durations are first of all distributed into classes and placed along the ordinate. Along the abscissa we consider the time periods. As seen in Figure 1, at each iteration the requests are then processed in the order of the cells lying along the diagonal of unit slope. The cells above this diagonal have been processed at preceding iterations or at initialization, while the cells below the diagonal remain to be processed at subsequent iterations or at the end of the selection process. There is also an extra waiting list made up of requests “on hold” . The cells along one diagonal are processed first, then those in the waiting list before the next diagonal. Along a diagonal, requests are sequentially treated one at a time in the increasing order by departure time. For a chosen request along the diagonal, the three actions (insertion, new mini-cluster, placement “on hold”) are permitted. For “on hold” requests, only insertion and the creation of a new mini-cluster are admissible. The appropriate action depends on the duration of the request as well. If the chosen request from a diagonal cell is “long”, we evaluate its potential for initializing a new mini-cluster in the light of its most promising neighbors which have not yet been assigned to mini-clusters. This potential is compared with the effect of the best insertion in an existing mini-cluster. If the result of this comparison is significant, we choose one or the other of these two alternatives; if it is not significant, we place the request on hold. If 5

the request is “short”, we insert it in the best existing mini-cluster if this is an obvious choice or, if not, we place it on hold. If the request is selected from the waiting list, it is not allowed to put it back on hold. In that case, even if the choices are doubtful, a final decision must be taken. CLASSES OF REQUEST DURATION

Iteration number

1

2

3

4

5

6

7

8

2

3

4

5

6

7

8

9

3

4

5

6

7

8

9

10

6

4

5

6

7

8

9

10

11

6

6 6

...

"On hold" list

TIME PERIODS

Figure 1 Illustration of the request selection process

The insertion of a request into an existing mini-cluster must respect as much as possible the quality criteria discussed above. Whenever the insertions involves three or more requests, feasibility criterion and savings cannot be calculated anymore using previous formulas for path (1) to (6). Instead, we use the dynamic programming algorithm described in Desrosiers et al. (1986) for the single vehicle optimization problem, which has been adapted to multidimensional vehicle loads.

5. Experimentation Numerical tests were conducted using data provided by the Wheel-Trans handicapped transport service in Toronto, Canada. The data covers a single day, February 27, 1989. A total of 2411 requests have been processed, involving a total number of 2749 passengers. In order to compare the manual and automatic solutions on the same basis we had to evaluate the manual solution. Thus given a sequence of stops in each itinerary of the manual solution, the arrival time at each pick-up and delivery stop was recalculated. The number of mini-clusters for which time window upper bound was 6

exceeded at pick-up or delivery stops for some requests is equal to 58. Our test results also contain such time window overflows. In fact, our algorithm initially respects all constraints imposed by the schedulers. However on their request, the path distances for each mini-cluster were reoptimized with the time windows slightly relaxed. Three tests where conducted using the mini-clustering algorithm. They differ on two parameters only: maximum delay and taxi feasibility (see Table 1). The maximum delay is given in minutes and represents the maximum deviation from the desired time of service. The taxi feasibility is a boolean parameter which favors at TRUE value the grouping of requests without non-folding weelchairs. Table 1: Test parameters

Maximum Delay (min.) Taxi Feasibility

Test (A) 60 False

Test (B) 60 True

Test (C) 40 True

Statistical test results appear on Table 2. Test (A) provides results which significantly reduce the number of mini-clusters, thus increasing the size and the average duration of mini-clusters. Despite the fact that the algorithm is a heuristic, it shares with optimization methods a tendancy to take advantage of the full flexibility provided by the constraints. For example, the maximum permitted delay between the desired service time and the scheduled one is 60 minutes. The manual solution gives a value of 12 minutes average delay compared with 25.3 minutes in the case of the algorithm. Thus while the constraints on the problem are respected, this tendancy to create longer delays could be seen as a drawback of the algorithm. Another drawback of the test (A) is its tendency to create too few mini-clusters without non-folding wheelchairs and with at most 4 ambulatory persons. Such mini-clusters can be feasibly served by taxis. There are only 299 such mini-clusters produced by the algorithm, compared with 642 produced manually. As a result, the column generation optimization algorithm for assigning miniclusters to vehicles (mini-buses and taxis) functions less efficiently, due to limitations on the number of available buses. Two supplementary tests were conducted. Test (B) almost replicates all values of the manual solution (see Table 2) except for the duration of delays. This is rectified in test (C) where the maximum delay value is reduced at 40 minutes.

7

Table 3 presents internal savings and expected total savings on travel time. The upper part compares the savings obtained by the grouping of requests with the total direct travel time. The lower part gives the comparison for the expected total internal and external travel time. In both cases, test (C) shows algorithmic results which are essentially equivalent to the normal solution. We finally have to say that the algorithm described in this paper has been implemented in FORTRAN and runs on a SUN SPARC STATION 1. The results are obtained in less than 5 minutes cpu time, which is an important advantage over manual solutions, and much more over the previous insertion algorithm of Roy et al. (1984a) which runs for several hours.

6. Conclusion The objective of this research has been to automatically and quickly obtain miniclustering results which are as close as possible, in terms of the quality, to those produced manually. The main conclusions are that the algorithm performs well numerically and is fast. From a certain point of view the mini-clustering algorithms, which make local decisions (in time and space), can be seen as leaving important decisions regarding the organization of this type of transport service to the optimization algorithm using column generation. This is certainly true in the sense of optimization of the cost of vehicle movement and of the use of available resources. In addition, handicapped transport is a very personalized type of service in which thousands of different persons (users, operators, and schedulers) may be involved. In this type of organization, the number of complaints must be at a minimum. And from this perspective, the construction of mini-clusters which constitute the most visible part of the process as well as the most accessible to all participants, occupies a very strategic position in the optimization process. The quality of the service offered to users is intimately tied to the quality of these mini-clusters.

7. References J. Desrosiers, Y. Dumas and F. Soumis (1988). The Multiple Vehicle Dial-A-Ride Problem. Lecture Notes in Economics and Mathematical System 308: Computer-Aided Transit Scheduling, J.R. Daduna, A. Wren (eds), Springer-Verlag, 15–27. J. Desrosiers, Y. Dumas and F. Soumis (1986). A Dynamic Programming Solution of the Large-Scale Single-Vehicle Dial-a-Ride Problem with Time Windows. American Journal of Mathematical and Management Sciences 6, 301–325. 8

J. Jaw, A. Odoni, H. Psaraftis and N. Wilson (1986). A Heuristic Algorithm for the Multi-Vehicle Advanced Request Dial-a-Ride Problem with Time Windows. Transportation Research B 20, 243–257. S. Kagaya, S. Kihuchi and R.A. Donelly (1990). Use of Fuzzy Theory Technique for Grouping of Trips in Vehicle Routing and Scheduling Problems. 5 th International Workshop on Computer-Aided Scheduling of Public Transport, Montr´eal, August 1990. S. Roy, J.-M. Rousseau, G. Lapalme and J.A. Ferland (1984a). Routing and Scheduling for the Transportation of Disasbled Persons — The Algorithm. TP 5596E, Transport Canada, Transport Development Center, Montr´eal, Canada H2Z 1X4. S. Roy, J.-M. Rousseau, G. Lapalme and J.A. Ferland (1984b). Routing and Scheduling for the Transportation of Disasbled Persons — The Tests. TP 5598E, Transport Canada, Transport Development Center, Montr´eal, Canada H2Z 1X4. B. Sanso, M. Desrochers, J. Desrosiers, Y. Dumas and F. Soumis (1990). Modeling and Solving Routing and Scheduling Problems: GENCOL User Guide, GERAD, 5255 Decelles, Montr´eal, Canada H3T 1V6, 120 pages.

9

Table 2: Statistics on Mini-clusters (2411 requests/2749 passengers) manual solution

test (a)

test (b)

test (c)

1323 962 361 673 650 642 58

930 793 137 618 312 299 41

1341 934 407 723 618 600 22

1303 932 371 717 586 568 23

number of requests per mini-cluster • average 1.8 • standard deviation 1.2

2.6 1.2

1.8 1.0

1.8 0.9

duration of mini-clusters (min.) • average 27.7 • standard deviation 23.9 • maximum 198

37.4 23.0 117

27.6 16.6 123

28.7 16.9 111

duration of delays per request(3) (min.) • average 14.9 25.3 • standard deviation 16.2 21.0

26.0 22.2

18.9 15.5

route excess per request(4) • average • standard deviation

0.44 0.43

0.45 0.44

number of mini-clusters • with ambulatories without ambulatories • with wheelchairs without wheelchairs • feasible by taxis(1) • time window overflows(2)

0.54 0.55

0.66 0.50

(1) Mini-clusters without non-folding wheelchairs and with at most 4 ambulatory persons. (2) Mini-clusters for which time window upper bounds are exceeded at pick-up or delivery stops for some requests. (3) Deviation from the desired time of service. (4) The ratio between the trip times by mini-bus and the direct trip time, minus one. 10

Table 3: Savings • • • • •

• • • • •

direct travel time manual solution test (a) test (b) test (c)

one request per mini-cluster manual solution test (a) test (b) test (c)

internal travel time 39771 36691 34780 36992 37368 total estimated(1) travel time 63881 49921 44080 50402 50398

savings 7.7% 12.5% 7.0% 6.0%

savings

(1) Computed as (internal travel time) + 10 ∗ (number of mini-clusters).

11

21.9% 31.0% 21.1% 21.1%