Abstract
An employee transporting problem is described and a set partitioning model is developed. An investigation of the model leads to a knapsack problem as a surrogate problem. Finding a partition corresponding to the knapsack problem provides a solution to the problem. An exact algorithm is proposed to obtain a partition (subsetvehicle combination) corresponding to the knapsack solution. It requires testing and matching too many alternatives to obtain a partition. The sweep algorithm is implemented in obtaining a partition (subsetvehicle combination) in an efficient manner. Illustrations are provided to show how the algorithms obtain solutions.
Background
A number of employees will be picked up from various places (busstops) 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 (destinationsfinal 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 lowerbound 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 largesize 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 a∈A. 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=(A_{1},A_{2}.…,A_{ m }) is a collection of subsets of A where 1≤m≤n, A_{ i }∩A_{ j }=∅, for i≠j, and {\cup}_{j=1}^{m}{A}_{j}=A.
The cost per trip of assigning a vehicle v∈V 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:
Thus, the employee transporting model is given by the following:
subject to
where J^{P} 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 j∈J^{P}, and T_{max} is the maximum allowed total traveling distance (time) for any subset in any partition. The sum s\left({A}_{j}\right)=\sum _{a\in {A}_{j}}s\left(a\right) 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 })≤T_{max} 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 T_{max}. This means that it is not necessary to solve the TSP to determine the leastdistance (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 righthand side of the constraint T_{max}+ε 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 T_{max}+ε. 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 righthand side of the set of constraint 4 to T_{max}+ε.
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 partitionvehicle 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 v∈V and j∈J^{P} yields \sum _{j\in {J}^{P}}\sum _{v\in V}{y}_{\mathit{\text{vj}}}^{2}s\left({A}_{j}\right)\le \sum _{j\in {J}^{P}}\sum _{v\in V}{y}_{\mathit{\text{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 v∈V, but not every vehicle v∈V may be assigned to a subset. Consequently, \sum _{v\in V}{y}_{\mathit{\text{vj}}}=1 for all j∈J^{P}, and \sum _{j\in {J}^{P}}{y}_{\mathit{\text{vj}}}\le 1 for all v∈V. In fact, a new variable can be defined now representing whether a vehicle is assigned or not as follows:
Then a sequence of algebraic manipulations yields the righthand side of the inequality 3 to be the total number of passengers to be transported from all the destinations.
On the other side of the inequality, \sum _{v\in V}{Q}_{v}\sum _{j\in {J}^{P}}{y}_{\mathit{\text{vj}}}=\sum _{v\in V}{Q}_{v}{y}_{v}. Then constraint 3 becomes \sum _{v\in V}{Q}_{v}{y}_{v}\ge S\left(A\right). A simple modification in the objective function gives \sum _{v\in V}\sum _{j\in {J}^{P}}{c}_{v}{y}_{\mathit{\text{vj}}}=\sum _{v\in V}{c}_{v}\sum _{j\in {J}^{P}}{y}_{\mathit{\text{vj}}}=\sum _{v\in V}{c}_{v}{y}_{v}. Consequently, a knapsack problem is obtained for a partition P∈Ω as follows:
subject to
where y_{ v }∈{0,1} for all v∈V and the additional set of constraints δ(A_{ j })≤T_{max} for all j∈J^{P}, P∈Ω.
For any partition P∈Ω, this surrogate problem needs to be solved. The Stirling number of the second kind ({\mathcal{S}}_{n}^{\left(k\right)}) 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 {\mathcal{S}}_{15}^{\left(6\right)}=\phantom{\rule{1em}{0ex}}420,693,273. Consequently, the total number of all partitions of a set of n elements is given by \sum _{k=1}^{n}{\mathcal{S}}_{n}^{\left(k\right)}. In fact, the total number of all partitions of a set of 15 elements is \sum _{k=1}^{n}{\mathcal{S}}_{15}^{\left(k\right)}=\phantom{\rule{1em}{0ex}}1,382,858,545.
Let P^{∗}∈Ω be an optimal partition with a corresponding vehicle assignment (V^{∗}={1,2,…,v_{ p }}). Hence, \sum _{v\in {V}^{\ast}}{c}_{v}{y}_{v} is the minimum cost and the total transporting capacity is given by \sum _{v\in {V}^{\ast}}{Q}_{v}{y}_{v}=b\ge s\left(A\right). The righthand 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 })≤T_{max} holds.
The following knapsack problem is independent of any partition. If a partition (vehiclesubset assignment satisfying the capacity and the distance (time) constraints) can be obtained for this solution, a solution to the original problem is obtained.
subject to
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, \sum _{v\in {V}^{\ast}}{c}_{v}{y}_{v} is the minimum cost solution for the optimal partition P∗, and further, \sum _{v\in {V}^{\ast}}{c}_{v}{y}_{v}\le \sum _{v\in V}{c}_{v}{y}_{v} for any set V and any partition P∈Ω. The knapsack problem with the righthand side s(A)≤r<b can have a solution in Y(r), but there cannot be any corresponding vehiclesubset 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 \sum _{v\in {V}^{\prime}}{c}_{v}{y}_{v}<\sum _{v\in {V}^{\ast}}{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)=(y_{v 1},y_{v 2},…,y_{ vm }) be a solution to this knapsack problem for some 1≤m≤n together with V(r)={v_{1},v_{2},…,v_{ m }} corresponding to a vehiclesubset assignment (A_{1},A_{2},…,A_{ m }) satisfying the distance (time) constraints. Then \sum _{v\in V\left(r\right)}{c}_{v}{y}_{v} is the minimum cost satisfying the constraint \sum _{v\in V\left(r\right)}{Q}_{v}{y}_{v}\ge b>s\left(A\right). Subsequently, \sum _{v\in V\left(r\right)}{c}_{v}{y}_{v}\phantom{\rule{0.3em}{0ex}}\le \phantom{\rule{0.3em}{0ex}}\sum _{v\in {V}^{\ast}}{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 vehiclepartition combinations. Thus, an optimal partition (vehiclesubset 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 vehiclesubset 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 righthand 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 righthand side of the knapsack problem is presented. The knapsack problem
subject to
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}=\lceil \frac{b}{{a}_{j}}\rceil 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:
subject to
where 0≤x_{ j }≤w_{ j }, and the integer for j=1,2,…,m. Let ({x}_{1}^{\ast},{x}_{2}^{\ast},\dots ,{x}_{m}^{\ast}) be an optimal solution to this knapsack problem. Then \sum _{j=1}^{m}{a}_{j}{x}_{j}^{\ast}={b}_{\ast}\le \sum _{j=1}^{m}{a}_{j}{w}_{j}b. Consequently, the upper bound on r is {r}_{u}=\sum _{j=1}^{m}{a}_{j}({w}_{j}{x}_{j}^{\ast}) and the lower bound on r is r_{ ℓ }=b.
Intuitively, having a sufficient number of vehicles will provide a partition (vehiclesubset 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}\left(r\right)=({y}_{v1}^{t},{y}_{v2}^{t},\dots ,{y}_{\mathit{\text{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 Y^{t}(r), and go to Step 2.

Step 2. Use the subalgorithm to obtain a partition corresponding to the solution Y^{t}(r). If such a partition is obtained, go to Step 4, otherwise go to Step 3.

Step 3. Increase the righthand 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 (vehiclesubset assignment) is obtained.
The subalgorithm to find a partition corresponding to Y^{t}(r) will determine all the possible subsets for each vehicle in the solution Y^{t}(r), and subsequently, it will check whether a match is possible. The total capacity of the vehicles used in the solution Y^{t}(r) is \sum _{v\in V\left(r\right)}{Q}_{v}=r\ge s\left(A\right). Let s_{0}=s(A)−r be the slack representing the unused capacity of all the vehicles initially. Let R_{ v } represent the set of notyetassigned destinations for the vehicle v. Initially, R_{1}=A. P_{ v } represents the incomplete partition for the vehicles 1,2,…,v, and P_{0}=∅.
An exact algorithm to find a partition is as follows:

Step 0. Initialize: Set v=1, R_{1}=A, and P_{0}=∅. Go to Step 1.

Step 1. L_{1}={A_{ x }A_{ x }⊂A,Q_{1}−s_{0}≤s(A_{ x })≤Q_{1},δ(A_{ x })≤T_{max}}. If L_{1}=∅, 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 }:=P_{v−1}+A_{ v }, s_{ v }:=s_{v−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 }:=R_{v−1}−A_{ v }, and L_{ v }={A_{ x }⊂R_{ v }  Q_{ v }−s_{v−1}≤s(A_{ x })≤Q_{ v }}. If L_{ v }=∅, go to Step 4, otherwise go to Step 2.

Step 4. v:=v−1, P_{v−1}:=P_{ v }−A_{ v }, L_{ v }:=L_{ v }−A_{ v }, s_{v−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 L_{1}=∅.
This algorithm finds a partition for the solution Y^{t}(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 largesize problems. Consequently, an adaptation of the sweep method ([Toth and Vigo 2002]) is proposed as an easier and efficient approach for finding the subsetvehicle 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 Y^{t}(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 xaxis 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 δ≤T_{max}, 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:=A∪B, and v:=v+1. If v≤v_{ 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 largersize 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: minibusses with 15 seats, midibusses 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?
The initial knapsack problem to be solved is given as follows:
subject to
where y_{ i }≥0, and the integer for i=1,2,3. In this problem, y_{1} is the number of minibusses, y_{2} is the number of midibusses, and y_{3} is the number of coaches to employ. The solution to this knapsack problem yields Y^{1}=(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 w_{1}=7, w_{2}=4, and w_{3}=2. The transformation y_{ j }=w_{ j }−x_{ j } for j=1,2,3 gives the following knapsack problem:
subject to
where 0≤x_{1}≤7, 0≤x_{2}≤4, and 0≤x_{3}≤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 15x_{1}+30x_{2}+50x_{3}=230. Therefore, r_{ u }=325−230=95 and r_{ ℓ }=91. Obviously, if the righthand side of this knapsack is less than 230, a new solution is required.
The next range is 96≤r≤105 with an optimal solution Y^{2}=(1,3,0) with a cost of 200 TL. Further, the next range is 106≤r≤110 with an optimal solution of Y^{3}=(0,2,1) with a cost of 215 TL. T_{max}=370 distance (time) units for this town. First, the exact algorithm is implemented for finding a partition corresponding to the solution Y^{t}(r). There are no partitions for the solution Y^{1}(91)=(1,1,1) with T_{max}=370. Then the next best solution (next range) is attempted. Y^{2}(96)=(1,3,0). The total capacity of the vehicles now is 105. Therefore, s_{0}=105−91=14. The list L_{1} of all subsets satisfying the condition 30 −14≤s(A_{ x })≤30 and the distance constraint has 118 subsets of A. First, the subset A_{1}={4,7,8} with s(A_{1})=27 and δ(A_{1})=336 is chosen. The set of remaining destinations is {1,2,3,5,6,9,10} for the vehicle v=2 with Q_{2}=30. Now s_{1}=14−(30−27)=11. The list L_{2} of all subsets satisfying the condition 30 −11=19≤s(A_{ x })≤30 contains 22 subsets. First one in this list, A_{2}={6,10} with s(A_{2})=19 and δ(A_{2})=332 yields s_{2}=11 − (30 − 19)=0, and there are no subsets for v=3 satisfying the condition 30≤s(A_{ x })≤30. Subsequently, the subset A_{2}={6,10} is deleted from L_{2}. Next, the subset A_{2}={3,9} is tested. s(A_{2})=21 and δ(A_{2})=370. Now s_{2}=11 − (30 − 21)=2. The set of remaining destinations now is {1,2,5,6,10}. The set L_{3} of all subsets satisfying the condition 30−2≤s(A_{ x })≤30 and δ(A_{ x })≤370 for the vehicle v=3 with Q_{3}=30 contains three elements only. Taking A_{3}={2,5,10} with s(A_{3})=29 and δ(A_{3})=350 yields L_{4}=A_{4}={1,6} with s(A_{4})=14 and δ(A_{4})=305 for the vehicle v=4 with Q_{ v }=15. Hence, an optimal partition is obtained. There are also alternating optimal partitions: A_{3}={1,2,5,6} with s(A_{3})=28 and δ(A_{3})=330 for Q_{3}=30 and A_{4}={10} with s(A_{4})=15 and δ(A_{4})=332 for Q_{4}=15 with a cost of 200 TL.
Solving the same problem by the sweep algorithm yields A_{1}={2,4,5,7,8} with s(A_{1})=41, δ(A_{1})=346 for the vehicle of the capacity Q_{1}=50; A_{2}={3,9} with s(A_{2})=21, δ(A_{2})=370 for the vehicle of the capacity Q_{2}=30; and A_{3}={1,6,10} with s(A_{3})=29, δ(A_{3})=333 for the vehicle of capacity Q_{3}=30 corresponding to the knapsack solution Y^{3}=(0,2,1) with a cost of 215 TL and T_{max}=370. This is a good example that the sweep algorithm may miss the optimal partition.
Treating the constraint δ(A_{ x })≤T_{max} as a soft constraint is also considered. T_{max}=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 Y^{1}=(1,1,1) yields the partition A_{1}={1,4,5,6,7,8} with s(A_{1})=47, δ(A_{1})=370; A_{2}={2,3,9} with s(A_{2})=29, δ(A_{2})=373; and A_{3}={10} with s(A_{3})=15, δ(A_{3})=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 largersize 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:
subject to
where y_{ i }≥0 and the integer for i=1,2,3. The solution is Y^{1}=(1,21,1) with a cost of 1,295 in the range 694≤r≤695. The next best solution is Y^{2}=(1,23,0) with a cost of 1,300 in the range 696≤r≤710. Further, the next best solution is Y^{3}=(0,22,1) with a cost of 1,315 in the range 711≤r≤720. Finally, the next solution is Y^{4}=(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 Y^{1}=(1,21,1), Y^{2}=(1,23,0), and Y^{3}=(0,22,1), but finds a partition for the solution Y^{4}=(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.
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 subsetvehicle 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 largesize problems. The sweep algorithm is suitable for largesize 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.
References
Baldacci R, Mingozzi A, Roberti R: New route relaxation and pricing strategies for the vehicle routing problem. Oper Res 2011a, 59: 1269–1283. 10.1287/opre.1110.0975
Baldacci R, Bartolini E, Mingozzi A: An exact algorithm for the pickup and delivery problem with time windows. Oper Res 2011b, 59: 414–426. 10.1287/opre.1100.0881
Bruce GL, Raghavan S, Wasil EA (Eds): The vehicle routing problem: latest advances and new challenges. Operations research/computer science interface series, vol. 43. Heidelberg: Springer; 2008.
Desrochers M, Verhoog TW: A new heuristic for the fleet size and the mix vehicle routing problem. Comput Oper Res 1991, 18: 263–274. 10.1016/03050548(91)90028P
Gheysens F, Golden B, Assad A: A new heuristic for determining the fleet size and composition. Math Programming Study 1986, 26: 233–236. 10.1007/BFb0121103
Kellerer H, Pferschy U, Pisinger D: Knapsack problems. Heidelberg: Springer; 2004.
Miller C, Tucker A, Zemlin R: Integer programming formulations and traveling salesman problem. J ACM 1960, 7: 326–329. 10.1145/321043.321046
Nurchanyo GW, Alias A, Shamsuddin SMM, MNMd Sap: Sweep algorithm in vehicle routing problem for public transport. J Antarabanga (Teknologi Maklumat) 2002, 2: 51–64.
Önder I: An employee transporting problem and its heuristic solution. M.S Thesis. 2007. Çankaya University, Ankara
Renaud J, Boctor FF: A sweep based algorithm for the fleet size and the mix vehicle routing problem. Eur J Oper Res 2002, 140: 618–628. 10.1016/S03772217(01)002375
Toth P, Vigo D: The vehicle routing problem. Monographs on discrete mathematics and applications. Philadelphia: SIAM; 2002.
Yaman H: Formulations and valid inequalities for the heterogeneous vehicle routing problem. Math Programming A 2006, 106: 365–390. 10.1007/s1010700506116
Acknowledgements
The author thanks the anonymous Referees for their constructive comments for an improved version.
Author information
Authors and Affiliations
Corresponding author
Additional information
Competing interests
The author declares that he has no competing interests.
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 2.0 International License ( https://creativecommons.org/licenses/by/2.0 ), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
About this article
Cite this article
Yüceer, Ü. An employee transporting problem. J Ind Eng Int 9, 31 (2013). https://doi.org/10.1186/2251712X931
Received:
Accepted:
Published:
DOI: https://doi.org/10.1186/2251712X931
Keywords
 Employee transportation
 Set partitioning
 Knapsack problem
 Sweep algorithm