Background

A number of employees will be picked up from various places (bus-stops) within a city and brought to the plant. At the end of the work day, they will be returned back to where they were picked up. A similar situation holds for school students. The students are picked up from their homes and returned back to their homes after school. Transporting the passengers needs to be accomplished within a given time period. It is obvious that work at a plant starts at a specified time (8:30 in the morning for instance), and the first class starting time at some schools is 8:40 in the morning. The workers or the students must reach the plant or the school on time. We call this problem an employee transporting problem.

A set of different types of vehicles is used during the transportation of those passengers. Vehicles may differ in capacity, operating cost, and speed. Cruising within a city has speed limits, and transporting passengers within a city requires strict obedience to these speed limits. Subsequently, all the vehicles are assumed to have the same speed while traveling in the city streets.

Even though the vehicles may have different operating costs, they are chartered according to their capacities and paid accordingly. Every vehicle will be assigned to a subset of bus stops according to its capacity and the distance (time) required for traveling to this subset. Clearly, the number of passengers picked up or delivered cannot exceed the capacity of the vehicle. Further, the distance (time) required to travel through this subset of destinations (bus stops) via a route must remain less than a predetermined distance (time) amount. Any route is acceptable as long as the traveling distance (time) does not exceed the predetermined time, and thus, it is not necessarily the traveling salesman (TSP) route.

The vehicle routing problem (VRP) or vehicle scheduling problems concern with the distribution of goods between the center (depot) and the customers (destinations-final users). The objective is to determine an optimal set of routes by a fleet of identical vehicles to serve these customers. The total demand of the customers on a route cannot exceed the vehicle capacity. This type of problem is called capacitated vehicle routing problem (CVRP). The fleet of the vehicles may differ in size, capacity, and the operating costs. This gives rise to heterogeneous vehicle routing problem (HVRP) or fleet mix problem in the literature. All these problems are the extensions and/or generalizations of the vehicle routing problems. Toth and Vigo ([2002]) provide an extensive discussion on VRP and solution methods with some applications. There are also numerous excellent articles on those problems and solution methods in the literature. A general approach to modeling this class of problems is based on the integer formulation of Miller et al. ([1960]). Various researchers have modified and/or extended their formulation to handle different situations.

The latest developments and the challenges in terms of modeling and the solution techniques for VRP and its variants are presented in Bruce et al. ([2008]). Yaman ([2006]) presents different formulations for HVRP and one formulation with flow variables and also develops strong bounds. Baldacci et al. ([2011a]) developed an exact method for solving VRP after modeling it based on a partitioning problem. Again in another attempt, Baldacci et al. ([2011b]) describe an effective exact method for solving CVRP based on the set partitioning formulation.

One possible approach for dealing with the existence of binary and integer variables in those models is to rely on the heuristic solution methods for CVRP and HVRP. Desrochers and Verhoog ([1991]) propose a new savings heuristic based on successive route fusion. Gheysens et al. ([1986]) developed another heuristic based on a lower-bound procedure. Numerous others have developed various heuristic methods to solve the problem of determining fleet size and the mix vehicle routing problems in the literature. There have also been attempts to apply metaheuristic methods too. Önder ([2007]) attempts using metaheuristics to solve HRVP without an investigation of the structure of the model but fails unfortunately. Evidently, the application of heuristics and even the metaheuristics requires a thorough investigation of the structure of the problem and the model.

The sweep algorithm described in Toth and Vigo ([2002]) is a heuristic for a possible solution method for VRP and some other problems. Nurchanyo et al. ([2002]) investigates the capability of the sweep algorithm in solving the VRP for public transport. After trying various approaches, they conclude that it is capable of solving VRP for public transport under certain conditions. Renaud and Boctor ([2002]) apply the sweep algorithm for the fleet size and the mix vehicle routing problem. Two kinds of decisions are considered: selecting a mix of vehicles and the routing of the selected fleet. Their algorithm generates a large number of routes to be serviced by one or two vehicles. Then the selection of the vehicles is accomplished by solving a set partitioning problem with a special structure.

The employee transporting problem is a variant of mix vehicle problem without routing. This article takes a different view from the literature and presents a set partitioning model for the employee transporting problem. The thrust of this article lies in the thorough investigation of the structure of the model. Subsequently, a surrogate problem is developed from this model which turns out to be a knapsack problem. The assignments of the vehicles are accomplished by matching subsets. For large-size problems, the sweep algorithm is proposed to obtain the assignments of the vehicles and consequently a partition in an efficient manner. The next section presents a set partitioning model, then the section ‘A surrogate constraint’ develops the surrogate problem. The solution methods are described in the section ‘A solution method,’ and some illustrations are presented in the section‘An illustration’. Finally, conclusions and findings of this article are summarized in the ‘Conclusions’ section.

A set partitioning model for employee transporting problem

Let A be the set of n destinations (bus stops) in an area, for instance, vicinity of a city. Each destination has a demand: the number of employees to be picked up and/or delivered. Let s(a) denote the number of employees at destination aA. Naturally, s(a)≥1 and an integer. Let V be the set of the vehicles available with different capacities. Then A v A represents a number of destinations to be serviced by the vehicle v of capacity Q v . If m vehicles are required for servicing those n destinations, then each vehicle v will serve a subset A v , and none of the subsets have any intersection. More specifically, a partition of the set A is obtained in the assignment of m vehicles. Let Ω be the class of all partitions of the set A. A partition P=(A1,A2.…,A m ) is a collection of subsets of A where 1≤mn, A i A j =, for ij, and j = 1 m A j =A.

The cost per trip of assigning a vehicle vV with capacity Q v to a subset A j PΩ is c v . This cost depends on the capacity of the vehicle only, and it is independent of the subset assigned. However, the total cost of the assignment depends on the partition PΩ. Consequently, the decision of assigning a vehicle to a subset is not independent of the partition PΩ. Therefore, the decision variable of assigning a vehicle to a subset is defined as follows:

y vj = 1 if the vehicle v V is assigned to the subset A j P 0 otherwise
(1)

Thus, the employee transporting model is given by the following:

min P Ω j J P v V c v y vj
(2)

subject to

y vj a A j s ( a ) Q v for all v V , A j P , P Ω
(3)
y vj δ ( A j ) T max for all v V , A j P , P Ω
(4)
y vj 0 , 1
(5)

where JP is the index set of the subsets in the partition PΩ, δ(A j ) is the traveling distance (time) to the destinations in a subset A j via some route for jJP, and Tmax is the maximum allowed total traveling distance (time) for any subset in any partition. The sum s( A j )= a A j s(a) represents the total number of passengers to be transported in a subset A j , and it reduces constraint 3 to y vj S(A j )≤Q v . This is a linear constraint. It simply expresses the fact that the total number of passengers to be transported from any subset cannot exceed the capacity of the vehicle.

The set of constraint 4 states that the traveling distance (time) to a subset A j P for any partition PΩ cannot exceed the maximum allowed distance (time). It is tacitly assumed that the vehicles start from the center and return back to the center after visiting every destination in their routes. Traveling distance (time) to a subset is independent of the vehicle; therefore, δ(A j )≤Tmax for all A j P, PΩ. This is not a linear constraint. The total distance (time) needs to be calculated for each subset A j . Any route to the subset A j is acceptable as long as the distance (time) does not exceed Tmax. This means that it is not necessary to solve the TSP to determine the least-distance (time) route for each subset.

The set of constraint 4 can also be treated as a set of soft constraints. The distance (time) traveled to any subset can be increased by a small amount (ε>0) to make the right-hand side of the constraint Tmax+ε at an added cost of opportunity loss of being late to work (school). Consequently, the objective function will be increased by η(δ(A j )) if the vehicle v traverses the subset A j in Tmax+ε. In this expression, η(.)>0 is the cost of opportunity loss of being late by an amount of ε for the subset A j . For a given value of ε, this problem is solved by setting the right-hand side of the set of constraint 4 to Tmax+ε.

The objective function is then the total cost of all assignments of vehicles to all subsets of any partition. The problem is then to find a partition PΩ and a corresponding set of assignments of the vehicles to those subsets of this partition such that the total cost of such partition-vehicle assignments is minimum. This expression clearly defines the employee transporting problem as a heterogenous fleet mix problem without routing.

A surrogate constraint

Multiplying the set of constraint 3 by y vj then summing the capacity constraints over vV and jJP yields j J P v V y vj 2 s( A j ) j J P v V y vj Q v . The variables y vj are binary variables, and thus, y vj 2=y vj . On the other hand, every subset A j P must be assigned to a vehicle vV, but not every vehicle vV may be assigned to a subset. Consequently, v V y vj =1 for all jJP, and j J P y vj 1 for all vV. In fact, a new variable can be defined now representing whether a vehicle is assigned or not as follows:

y v = j J P y vj = 1 if the vehicle v V is assigned 0 otherwise
(6)

Then a sequence of algebraic manipulations yields the right-hand side of the inequality 3 to be the total number of passengers to be transported from all the destinations.

j J P v V y vj 2 s ( A j ) = j J P v V y vj s ( A j )
(7)
= j J P s ( A j ) v V y vj
(8)
= j J P s ( A j ) = s ( A )
(9)

On the other side of the inequality, v V Q v j J P y vj = v V Q v y v . Then constraint 3 becomes v V Q v y v S(A). A simple modification in the objective function gives v V j J P c v y vj = v V c v j J P y vj = v V c v y v . Consequently, a knapsack problem is obtained for a partition PΩ as follows:

min v V c v y v
(10)

subject to

v V Q v y v s(A)
(11)

where y v ∈{0,1} for all vV and the additional set of constraints δ(A j )≤Tmax for all jJP, PΩ.

For any partition PΩ, this surrogate problem needs to be solved. The Stirling number of the second kind ( S n ( k ) ) gives the number of partitions with exactly k nonempty subsets of n elements. For instance, the number of partitions of 15 elements with exactly six nonempty subsets is S 15 ( 6 ) =420,693,273. Consequently, the total number of all partitions of a set of n elements is given by k = 1 n S n ( k ) . In fact, the total number of all partitions of a set of 15 elements is k = 1 n S 15 ( k ) =1,382,858,545.

Let PΩ be an optimal partition with a corresponding vehicle assignment (V={1,2,…,v p }). Hence, v V c v y v is the minimum cost and the total transporting capacity is given by v V Q v y v =bs(A). The right-hand side of the constraint can be greater than or equal to the total number of passengers (s(A)) to be carried due to the discreteness of the number of passengers at different locations and the traveling time constraint. For each subset A j P, the distance (time) constraint δ(A j )≤Tmax holds.

The following knapsack problem is independent of any partition. If a partition (vehicle-subset assignment satisfying the capacity and the distance (time) constraints) can be obtained for this solution, a solution to the original problem is obtained.

min v V c v y v
(12)

subject to

v V Q v y v r
(13)
y v 0 , 1 for all v V
(14)

Theorem 1.

Let Y(r=b) be an optimal solution to the knapsack problem above. If there exists a partition (satisfying the capacity and the distance constraints) corresponding to Y(b), then this solution is optimal to the problems (2), (3), and (4).

Proof.

Let P∗∈Ω be an optimal partition and V be the corresponding vehicle assignment. This solution satisfies the surrogate problem necessarily. Clearly, v V c v y v is the minimum cost solution for the optimal partition P∗, and further, v V c v y v v V c v y v for any set V and any partition PΩ. The knapsack problem with the right-hand side s(A)≤r<b can have a solution in Y(r), but there cannot be any corresponding vehicle-subset assignments and/or partitions available satisfying the distance (time) constraint. If this were possible, then there would be a partition P and V such that v V c v y v < v V c v y v . This is a contradiction to the hypothesis. Therefore, a knapsack problem with r=b needs to be considered.

Let Y(r=b)=(yv 1,yv 2,…,y vm ) be a solution to this knapsack problem for some 1≤mn together with V(r)={v1,v2,…,v m } corresponding to a vehicle-subset assignment (A1,A2,…,A m ) satisfying the distance (time) constraints. Then v V ( r ) c v y v is the minimum cost satisfying the constraint v V ( r ) Q v y v b>s(A). Subsequently, v V ( r ) c v y v v V c v y v implies that they must be equal. The sets V and V(r) may not be equal because of the existence of alternating optimal vehicle-partition combinations. Thus, an optimal partition (vehicle-subset combination) exists for the solution Y(r). □

The argument until now assumes that there is only one type of each vehicle; hence, y v is a binary variable, and the surrogate problem is a (0,1) knapsack problem. However, if the number of vehicles of each capacity is more than one, then the surrogate problem becomes a bounded integer knapsack problem. All the arguments up to now apply equally well to the case of bounded integer knapsack problem. In this form, the employee transporting problem is reduced to the common sense problem of determining the number of vehicles of each capacity to transport all the passengers at a minimum cost provided that the distance (time) of any route to a subset of destinations does not exceed a predetermined limit without any consideration of routing and vehicle-subset assignments.

A solution method

The knapsack problem can be solved by any method in the literature, see for instance Kellerer et al. ([2004]). It contains |V| variables, binary or integer. Fortunately, in this class of problems, |V| is a rather small number possibly not exceeding 10. This fact simplifies the numerical computations somehow while solving this knapsack problem. After obtaining a solution to the knapsack problem, a partition of the set A is sought, satisfying the capacity and the distance constraints. If such a partition is obtained, then an optimal solution to the original problem is found. Otherwise, the right-hand side value of the knapsack problem is increased to the next range, and the procedure is repeated. Before describing the algorithms, first, how to determine the range on the right-hand side of the knapsack problem is presented. The knapsack problem

min z = j = 1 m c j y j

subject to

j = 1 m a j y j b

where y j ≥0, and the integer for j=1,2,…,m can be converted to a maximization knapsack problem by setting y j =w j x j where w j = b a j is the smallest integer greater than or equal to b/a j for j=1,2,…,m. The new knapsack problem is given as follows:

max z = j = 1 m c j x j j = 1 m c j w j

subject to

j = 1 m a j x j j = 1 m a j w j b

where 0≤x j w j , and the integer for j=1,2,…,m. Let ( x 1 , x 2 ,, x m ) be an optimal solution to this knapsack problem. Then j = 1 m a j x j = b j = 1 m a j w j b. Consequently, the upper bound on r is r u = j = 1 m a j ( w j x j ) and the lower bound on r is r =b.

Intuitively, having a sufficient number of vehicles will provide a partition (vehicle-subset assignment). Obviously, the algorithm will converge to a solution after a finite number iterations. A main algorithm to solve the knapsack problem consecutively and a subalgorithm to obtain a partition will be described next. Let Y t (r)=( y v 1 t , y v 2 t ,, y vm t ) represent the number of each type of vehicle in the knapsack solution in the iteration t.

The main algorithm is as follows:

  • Step 0. Initialize: Set t=1, r=s(A), go to Step 1.

  • Step 1. Solve the knapsack problem to obtain a solution Yt(r), and go to Step 2.

  • Step 2. Use the subalgorithm to obtain a partition corresponding to the solution Yt(r). If such a partition is obtained, go to Step 4, otherwise go to Step 3.

  • Step 3. Increase the right-hand side range to the next level for which r is the lower bound. Set t:=t+1 and go to Step 1.

  • Step 4. Terminate: An optimal partition (vehicle-subset assignment) is obtained.

The subalgorithm to find a partition corresponding to Yt(r) will determine all the possible subsets for each vehicle in the solution Yt(r), and subsequently, it will check whether a match is possible. The total capacity of the vehicles used in the solution Yt(r) is v V ( r ) Q v =rs(A). Let s0=s(A)−r be the slack representing the unused capacity of all the vehicles initially. Let R v represent the set of not-yet-assigned destinations for the vehicle v. Initially, R1=A. P v represents the incomplete partition for the vehicles 1,2,…,v, and P0=.

An exact algorithm to find a partition is as follows:

  • Step 0. Initialize: Set v=1, R1=A, and P0=. Go to Step 1.

  • Step 1. L1={A x |A x A,Q1s0s(A x )≤Q1,δ(A x )≤Tmax}. If L1=, go to Step 5, otherwise go to Step 2.

  • Step 2. Let A v L v be the first subset in this list. Set P v :=Pv−1+A v , s v :=sv−1−(Q v s(A v )), and v:=v+1. Go to Step 3.

  • Step 3. If (v>v m ), go to Step 5. Otherwise, R v :=Rv−1A v , and L v ={A x R v | Q v sv−1s(A x )≤Q v }. If L v =, go to Step 4, otherwise go to Step 2.

  • Step 4. v:=v−1, Pv−1:=P v A v , L v :=L v A v , sv−1:=s v +(Q v s(A v )), and R v :=R v +A v . If v=1, go to Step 1, otherwise go to Step 2.

  • Step 5. Terminate by declaring that either a feasible partition is obtained if R v = or there are no feasible partitions if R v or L1=.

This algorithm finds a partition for the solution Yt(r) if it exists by checking all the possibilities. An example is provided to illustrate how this algorithm works. Unfortunately, it requires checking so many alternatives; it is not practical for solving large-size problems. Consequently, an adaptation of the sweep method ([Toth and Vigo 2002]) is proposed as an easier and efficient approach for finding the subset-vehicle assignments. This sweep algorithm is also a subalgorithm to be called by the main algorithm in Step 2 to obtain a partition.

The sweep algorithm is as follows:

  • Step 0. Initialize: Convert the Cartesian coordinates to the polar coordinates for each destination a j (x,y)→a j (r,θ) for j=1,2,…,n. The destinations are called nodes from now on. Set v:=1. Start with the vehicle v in the solution Yt(r) with the capacity Q v . Go to Step 1.

  • Step 1. Set B:=, A v :=, s(A v )=0, k=0.

  • Step 1a. Start rotating from the x-axis and find a node a vk such that minθ a j (r,θ)=a vk (r,θ) where θ k θ j for all a j A. If a vk exists, then go to Step 1b, otherwise go to Step 3.

  • Step 1b. If s(A v )+s(a vk )≤Q v , then go to Step 1c, otherwise go to Step 1e.

  • Step 1c. Calculate δ(A v +{a vk })=δ. If δTmax, then go to Step 1d, otherwise go to Step 1e.

  • Step 1d. A v :=A v +{a vk }, and A:=A−{a vk }. Set k:=k+1 and go to Step 1a.

  • Step 1e. Set B:=B+{a vk } and A:=A−{a vk }. If A=, go to Step 2, otherwise go to Step 1a.

  • Step 2. Set A:=AB, and v:=v+1. If vv m , then go to Step 1, otherwise go to Step 3.

  • Step 3. Terminate by declaring either that a partition is obtained if A= or a partition is not obtained if A.

An illustration

An implementation of the main algorithm and the subalgorithms is essential to observe how the employee transporting problem can be solved to optimality in an efficient manner. A small example with ten destinations and 91 passengers to be transported is used in testing the knapsack solution and the exact algorithm. A larger-size example with 79 destinations and 694 passengers is used to implement the sweep method. Both examples are randomly generated.

A small town with ten destinations is considered. The coordinates and the number of passengers to be transported from/to each destination is given in Table 1. The distance matrix is given in Table 2. There are three types of vehicles available for transportation: mini-busses with 15 seats, midi-busses with 30 seats, and coaches with 50 seats with costs of 35, 55, and 105 TL per trip, respectively. There are altogether 91 passengers to be transported. How many vehicles of each type are needed and to which subsets will they be assigned to accomplish the task at a minimum cost?

Table 1 The coordinates and the number of passengers
Table 2 The distances between the destinations

The initial knapsack problem to be solved is given as follows:

min z = 35 y 1 + 55 y 2 + 105 y 3

subject to

15 y 1 + 30 y 2 + 50 y 3 91

where y i ≥0, and the integer for i=1,2,3. In this problem, y1 is the number of mini-busses, y2 is the number of midi-busses, and y3 is the number of coaches to employ. The solution to this knapsack problem yields Y1=(1,1,1) with a cost of 195 TL. The following argument shows that this solution is valid for 91≤r≤95. A simple computation shows w1=7, w2=4, and w3=2. The transformation y j =w j x j for j=1,2,3 gives the following knapsack problem:

max z = 35 x 1 + 55 x 2 + 105 x 3 675

subject to

15 x 1 + 30 x 2 + 50 x 3 325 91 = 234

where 0≤x1≤7, 0≤x2≤4, and 0≤x3≤2 are all integers. The optimal solution to this knapsack is X=(6,3,1) and Y=(1,1,1) with z=480−675=−195=−z and 15x1+30x2+50x3=230. Therefore, r u =325−230=95 and r =91. Obviously, if the right-hand side of this knapsack is less than 230, a new solution is required.

The next range is 96≤r≤105 with an optimal solution Y2=(1,3,0) with a cost of 200 TL. Further, the next range is 106≤r≤110 with an optimal solution of Y3=(0,2,1) with a cost of 215 TL. Tmax=370 distance (time) units for this town. First, the exact algorithm is implemented for finding a partition corresponding to the solution Yt(r). There are no partitions for the solution Y1(91)=(1,1,1) with Tmax=370. Then the next best solution (next range) is attempted. Y2(96)=(1,3,0). The total capacity of the vehicles now is 105. Therefore, s0=105−91=14. The list L1 of all subsets satisfying the condition 30 −14≤s(A x )≤30 and the distance constraint has 118 subsets of A. First, the subset A1={4,7,8} with s(A1)=27 and δ(A1)=336 is chosen. The set of remaining destinations is {1,2,3,5,6,9,10} for the vehicle v=2 with Q2=30. Now s1=14−(30−27)=11. The list L2 of all subsets satisfying the condition 30 −11=19≤s(A x )≤30 contains 22 subsets. First one in this list, A2={6,10} with s(A2)=19 and δ(A2)=332 yields s2=11 − (30 − 19)=0, and there are no subsets for v=3 satisfying the condition 30≤s(A x )≤30. Subsequently, the subset A2={6,10} is deleted from L2. Next, the subset A2={3,9} is tested. s(A2)=21 and δ(A2)=370. Now s2=11 − (30 − 21)=2. The set of remaining destinations now is {1,2,5,6,10}. The set L3 of all subsets satisfying the condition 30−2≤s(A x )≤30 and δ(A x )≤370 for the vehicle v=3 with Q3=30 contains three elements only. Taking A3={2,5,10} with s(A3)=29 and δ(A3)=350 yields L4=A4={1,6} with s(A4)=14 and δ(A4)=305 for the vehicle v=4 with Q v =15. Hence, an optimal partition is obtained. There are also alternating optimal partitions: A3={1,2,5,6} with s(A3)=28 and δ(A3)=330 for Q3=30 and A4={10} with s(A4)=15 and δ(A4)=332 for Q4=15 with a cost of 200 TL.

Solving the same problem by the sweep algorithm yields A1={2,4,5,7,8} with s(A1)=41, δ(A1)=346 for the vehicle of the capacity Q1=50; A2={3,9} with s(A2)=21, δ(A2)=370 for the vehicle of the capacity Q2=30; and A3={1,6,10} with s(A3)=29, δ(A3)=333 for the vehicle of capacity Q3=30 corresponding to the knapsack solution Y3=(0,2,1) with a cost of 215 TL and Tmax=370. This is a good example that the sweep algorithm may miss the optimal partition.

Treating the constraint δ(A x )≤Tmax as a soft constraint is also considered. Tmax=370 distance time units in this example. Now it is increased by 1% to 373.7 at an additional cost of opportunity loss of 2% of the total cost of the solution. Then Y1=(1,1,1) yields the partition A1={1,4,5,6,7,8} with s(A1)=47, δ(A1)=370; A2={2,3,9} with s(A2)=29, δ(A2)=373; and A3={10} with s(A3)=15, δ(A3)=332 at a total cost of 195+2%(195)=198.90 TL. This is another alternative to consider for the fleet mix problem.

Now a larger-size problem shows how efficient the sweep algorithm is in obtaining a partition if it exists or not for the given fleet of vehicles. This example has 79 destinations located in a metropolitan area, and the total distance to be traveled should not exceed 50 km. Table 3 provides the locations in (x,y) and (r,θ) polar coordinates and the number of passengers to be transported from those 79 destinations to the center in the morning and back later in the evening in this metropolitan area. There are 694 passengers to be transported; therefore, the knapsack problem to be solved is given as follows:

min z = 35 y 1 + 55 y 2 + 105 y 3

subject to

15 y 1 + 30 y 2 + 50 y 3 694

where y i ≥0 and the integer for i=1,2,3. The solution is Y1=(1,21,1) with a cost of 1,295 in the range 694≤r≤695. The next best solution is Y2=(1,23,0) with a cost of 1,300 in the range 696≤r≤710. Further, the next best solution is Y3=(0,22,1) with a cost of 1,315 in the range 711≤r≤720. Finally, the next solution is Y4=(2,23,0) with a cost of 1,335 in the range 721≤r≤725. The sweep algorithm does not obtain any partitions for the solutions Y1=(1,21,1), Y2=(1,23,0), and Y3=(0,22,1), but finds a partition for the solution Y4=(2,23,0) given in Table 4. Therefore, the relative error is less than (1,335−1,295)/1,295=3.09%. As an indication of the efficiency of the sweep algorithm, one should point out that a small laptop computer (netbook) with a processor chip of 1.60 GHz solves the last problem in 1.73 s of CPU time.

Table 3 The locations and the number of passengers to be transported
Table 4 Solution of the large-size problem for Y=(2,23,0)

Conclusions

The employee transporting problem is actually a set partitioning problem for the assignment of the vehicles. The capacities of the vehicles vary in size. Therefore, it is a heterogenous fleet problem. These facts make the employee transporting problem belong to a different class of problems than the HVRP in the literature. Although in both problems the aim is to determine the fleet mix and composition, the employee transporting problem strives for this aim without routing. A set partitioning model is developed, deviating from the integer formulations in the literature. An important aspect of this article is the thorough investigation of the model structure. Consequently, this investigation leads to a knapsack problem from the model structure. This knapsack problem is the common sense problem of determining the number of vehicles of each capacity to transport all the passengers at a minimum cost by ignoring the subset-vehicle assignments.

The partition obtained for the knapsack solution is an optimal solution. There is an exact algorithm to find the partition for a given knapsack solution. However, it requires matching too many subsets; it is impractical for large-size problems. The sweep algorithm is suitable for large-size problems. It is a heuristic method which obtains a partition in a very efficient manner computationally but may miss the optimal partition. A few examples are provided to illustrate how the main algorithm and each subalgorithm works. It is worth mentioning at this point that other heuristics and/or metaheuristics can be implemented in obtaining the partition after deciding the mix of the fleet. The employee transporting problem differs in nature from HVRP by not considering the routing, thus a computational comparison with other methods in the literature will not serve any purpose and such a task was not undertaken.

The model for the employee transporting problem and its solution can provide useful insights to practitioners in order to decide the mix of vehicles in the fleet and subsequently the fleet size to transport the passengers from/to the destinations. Furthermore, vehicle drivers are human beings; hence, they may have preferences and/or restrictions where to go. The approach of this article allows including the preferences and/or restrictions of the drivers in the choice of destination subsets.