You are on page 1of 20

CEJOR

DOI 10.1007/s10100-017-0501-z

ORIGINAL PAPER

The sales force sizing problem with multi-period


workload assignments, and service time windows

M. Angélica Salazar-Aguilar1 · Vincent Boyer1 ·


Romeo Sanchez Nigenda1 · Iris A. Martínez-Salazar1

© Springer-Verlag GmbH Germany 2017

Abstract This work introduces the sales force sizing problem with multi-period work-
load assignments, and service time windows. The motivation of the problem arises
from a real life situation faced by a goods distribution company. The problem consists
in determining the size of the sales force (i.e. the number of vendors to hire) and
their daily schedules, within a planning horizon, to serve a set of customers in order to
minimize the total nominal wage. There are different categories of customers and each
customer has multiple time windows depending on the service day. Furthermore, the
nominal wage of a hired vendor is determined by the most expensive category of the
customers he serves. A mixed integer linear formulation and a heuristic are proposed
for this problem. The performance of the heuristic algorithm is assessed over a set
of instances adapted from literature. Computational results reveal the efficiency and
scalability of the proposed procedure, providing a better tradeoff in terms of solution
quality and running time than a commercial solver.

Keywords Sales force optimization · Workload assignment · Multi-period vehicle


routing problem · Personnel scheduling

1 Introduction

The Sales Force Sizing Problem (SFSP), introduced in this work, consists in determin-
ing the size of a sales force team needed to serve a set of customers within a planning

B Romeo Sanchez Nigenda


romeo.sanchezng@uanl.edu.mx

1 Graduate Program in Systems Engineering, Facultad de Ingeniería Mecánica y Eléctrica, Univer-


sidad Autónoma de Nuevo León, San Nicolás de los Garza, Nuevo León, México

123
M. A. Salazar-Aguilar et al.

horizon. The SFSP arises from a real situation faced by a nationwide distribution com-
pany in Mexico. Periodically, the company must realign its sales force to minimize the
total nominal wage. In order to do that, it is necessary to schedule the daily visits that
each vendor should perform, within a planning horizon of one working week, such
that all customers are served.
There are different classes of customers and different categories of vendors. The
vendor category determines the classes of customers vendors can serve. Specifically,
a vendor of category k can serve customers of class c, if and only if k ≥ c. The
salary of the vendor depends on the highest customer class it serves. Once vendors are
hired, they are paid for the whole planning horizon, even though they might not be
fully booked. The SFSP has a close resemblance to the Skill Vehicle Routing Problem
(SKVRP) (Cappanera et al. 2011, 2012), where technicians with different skills have
to satisfy customers with different requirements; and, the Fleet Size and Mix Vehicle
Routing Problem (FSMVRP) (Golden et al. 1984), where optimal fleet size and mix
of vehicles need to be determined to satisfy customer demand at minimal cost.
In our problem, each customer has a geographical location, time windows in which
it can be visited, and certain demand which determines its service time. Every day, the
vendors leave the depot to perform the scheduled visits and return to the depot after the
last visit has been performed. A working day has a duration of 8 h maximum, which
each daily schedule (tour) should not exceed. The planning horizon corresponds to a
working week (i.e., six working days in our case), and the objective function is the
minimization of the nominal wage. The SFSP falls into the category of Rich Vehicle
Routing Problems (RVRP) (Caceres-Cruz et al. 2014), given its realistic properties like
time-constrained, multi-period, time-windows, personnel skills, and heterogeneous
fleet. We contextualize the SFSP with respect to related work in Sect. 2.
We present a mixed integer linear formulation for the SFSP in Sect. 3. One impor-
tant distinction of our work, represented in our mathematical model, is that we must
determine the number of vendors to hire, and the classes of customers they serve as part
of the solution process. In addition, we propose a robust heuristic to solve the SFSP.
Our heuristic consists of two main phases, the first one constructs initial solutions in a
greedy fashion, and the second one corresponds to an improvement phase that perturbs
and adjusts such initial solutions. Details on the proposed heuristic algorithm can be
seen in Sect. 4.
Our empirical evaluation, which can be seen in Sect. 5, considers a set of instances
adapted from the Periodic Vehicle Routing Problem with Time Windows (PVRPTW )
literature. To assess the effectiveness of our approach in returning optimal or near-
optimal quality solutions, we generated small instance classes where CPLEX could
return optimal solutions. The proposed heuristic provides a better tradeoff in terms of
solution quality and running time, returning up to 79% of optimal solutions under 20 s.
On the contrary, CPLEX reported 82% of optimal solutions in 171,443 s. Furthermore,
in larger evaluation instances where the number of customers varies from 49 to 961
and the planning horizon goes from 4 up to 12 working days, CPLEX could not report
a better solution than our heuristic after 1 h of running time. Our computational results
show the efficiency of our heuristic across all evaluation scenarios. Finally, conclusions
are presented in Sect. 6.

123
The sales force sizing problem with multi-period workload...

2 Related work

There are many variants of the general Vehicle Routing Problem (VRP) (Dantzig
and Ramser 1959; Laporte 2009); among these, there are some more related to the
SFSP like the VRP with time windows (VRPTW) (Bräysy and Gendreau 2005a, b;
Kallehauge et al. 2005); the heterogeneous fleet VRP (HVRP) (Baldacci et al. 2008),
and the periodic delivery VRP (PVRP) (Francis et al. 2008; Tricoire et al. 2010).
In these problems, solutions usually minimize routing costs, distances, times or a
combination of these metrics.
More recently, there has been greater attention to a class of realistic VRP variants
commonly known as the Rich VRP (RVRP) (Caceres-Cruz et al. 2014; Lahyani et al.
2015). These classes of problems deal with multiobjective optimization functions,
uncertainty, dynamism, and many real application constraints. Some of these problems
deal with heterogeneous fleet, inventory information, scheduling constraints, multiple
planning periods, skills constraints, time windows, and energy issues. The SFSP, given
its properties, falls into the RVPR category.
Some of the first explicit RVRP cases are presented by Pellegrini (2005) and Pelle-
grini et al. (2007). The authors address a problem that considers a heterogeneous fleet
of vehicles, and multiple time windows constraints, where the specific demands from
customers restrict the types of vehicles that can be used. Their problem contains two
hierarchical objectives. The first one is related to determining the number of vehicles
needed, and the second one to minimizing the total time of the tours. Since different
types of vehicles have different costs, there could be many feasible solutions to the
problem. In the SFSP, we have to determine the number of vendors to be employed
based on their categories and associated wages, while minimizing the total nominal
wage. Therefore, we also have to consider different costs for serving the customers,
given the different wages associated with vendors.
Goel and Gruhn (2006) address another RVRP with a heterogeneous fleet with
compatibility and capacity constraints, different travel times and costs, multiple
pickup and delivery locations, different start and end locations for vehicles, among
other constraints. They propose an iterative improvement approach based on Large
Neighborhood Search (LNS) to solve the problem. An extension of their work con-
sidered additional real-life requirements (e.g., multidimensional capacity constraints,
order/vehicle compatibility constraints, orders with multiple pickups, and route restric-
tions for vehicles), see Goel and Gruhn (2008). One important difference with our
problem is the fact that we must determine how many vendors must be hired, based
on their categories, for the whole planning horizon. A bad decision could increase
substantially the nominal wage of the company if the workload assigned to vendors is
small, or if the vendors hired are over skilled.
On the same line of work, Vidal et al. (2014) present the Unified Hybrid Genetic
Search (UHGS) for several types of RVRP. Their empirical evaluation involved
instances up to 1000 customers, which we also consider. The proposed framework
outperforms all current state-of-the-art approaches and addresses any combination of
periodic, multi-depot, site-dependent, and duration-constrained VRPs with time win-
dows. Despite all recent advances, the main difference with respect to the SFSP lies
in the partial selection of vendors, given their categories (i.e., skills or compatibility

123
M. A. Salazar-Aguilar et al.

constraints), to satisfy the demand for the whole planning horizon. Notice that the
SFSP requires not only the selection but also the scheduling (routing) of the vendors
as part of the solution process.
In consequence, once a heterogeneous fleet is introduced, the total transportation
cost is a combination of fleet acquisition and routing costs. That is, we want to optimize
the number and mix of transportation units used to satisfy customer demand; and at
the same time, minimize the driving costs of the vehicles selected. The problem,
generally known as the Fleet Size and Mix Vehicle Routing Problem (FSMVRP), was
first introduced by Golden et al. (1984). Since then, there have been successful attempts
and variations, intersecting from multiple research areas, to extend the problem, and
solve it (Liu and Shen 1999; Dullaert et al. 2002; Dell’Amico et al. 2007; Belfiore
and Fávero 2007; Hasle and Kloster 2007; Goel and Gruhn 2008; Tricoire et al.
2013; Amador-Fontalvo et al. 2014). The SFSP also considers this type of hierarchical
optimization objective. In our case, we want to carefully select the number and types
of vendors to be hired for the whole planning horizon in order to minimize nominal
wage, but this attribute is linked to also minimizing the travel costs of the vendors
during different periods. A bad optimization in the routes schedules could increase
the number of vendors hired, and in consequence, the nominal wage. Such strong
dependency between fleet composition and routing is important for determining total
costs (Gheysens et al. 1984; Hoff et al. 2010).
One of the first works to address vehicle routing and crew scheduling in the context
of a VRP with time-windows, heterogeneous vehicles, multiple planning periods, and
driver working regulations is presented by Wen et al. (2011). Their problem is called
the integrated vehicle routing and crew scheduling problem (VRCSP). They propose a
two-step solution that decomposes first the multi-period planning problem into single
periods, solving each period with a Variable Neighborhood Search (VNS). Then, it
aggregates individual solutions to cover the full set of periods. While they consider
drivers having different categories, their categorization only determines if drivers are
internal or external to the company. We, on the other hand, consider vendors with
different categories and wages that restrict the set of customers that they can serve.
In addition, in our problem, vendors are hired for the whole planning horizon even if
they are not fully booked, so planning for single periods might yield inferior results.
For a comprehensive literature survey of the field of personnel scheduling, we refer
the reader to Van den Bergh et al. (2013).
Another problem that shares similar constraints to the SFSP is the Site-dependent
VRP (SDVRP) (Chao et al. 1999; Cordeau and Laporte 2001). This problem introduces
compatibility constraints between a heterogeneous fleet of vehicles and the customers
that require the services. It also considers a multilevel objective, since they have to
determine first the type of vehicle that will serve the customer, and then solve the VRP
for each vehicle type. More recent work on SDVRPs is due to Schwarze (2015). This
author introduces pricing strategies to perform the selection of vehicles for cooperative
scenarios. In this work, different competition and acceptance ratios are analyzed to
maintain the equilibrium of the system, and keep lower-skilled providers competitive
with respect to higher-skilled vehicles. Our work does not require to maintain a balance
between providers, but to look after the minimization of the nominal wage considering
vendors categories.

123
The sales force sizing problem with multi-period workload...

Some extensions to the SDVRP are the Skill Vehicle Routing Problem (SKVRP)
(Cappanera et al. 2011), and the Asymmetric Skill VRP (A-SKVRP) (Cappanera
et al. 2012). In these problems, we have to compute tours for a predefined set of
technicians, which have different skills to satisfy service requirements. Obviously,
services require skill levels, which constrain the technicians that can fulfill them. Their
work aims at minimizing the cost of tours while respecting the skill constraints. One
important distinction with respect to our work is that our solution must determine the
number of vendors to provide the services and minimize expenses. That is, the number
of vendors is not predefined. In addition, we must consider an extended planning
horizon (i.e., multiple periods), and multiple time windows when computing daily
schedules.
There are extensions to the SKVRP that consider different schemes for determining
skills pricing (Schwarze 2015), load balancing and resource utilization (Schwarze and
Voß 2013), resource-constrained routing and scheduling (Paraskevopoulos et al. 2016),
as well as applying skills-based models to real-world applications (Hertel and Gautam
2004; Borsani et al. 2006; Cappanera et al. 2014; Schwarze and Voß 2015; Yalçindağ
et al. 2016). Two of the main application areas for SKVRPs are Home Health Care
(HCC) services (Yalçindağ et al. 2016; Borsani et al. 2006; Cappanera et al. 2014), and
maintenance operations and sales (Paraskevopoulos et al. 2016; Hertel and Gautam
2004). To the best of our knowledge, there is no work that considers the minimization
of nominal wage based on category (i.e., skills or compatibility) constraints, when
vendors selection and tour-scheduling, over an extended planning horizon and time
windows, are taking into account.

3 Problem description

The sales force sizing problem (SFSP) consists of determining the number of vendors
and their daily schedule of visits such that all customers are visited within a planning
horizon of |D| days. If customer i ∈ V is served in day d ∈ D, its service must be
performed within the time window [aid , bid ] of that day; it is possible that the customer
does not accept to be served some days. All vendors leave and return to the depot every
day and their working time does not exceed the duration of a working day. The aim of
the SFSP is to serve all customers with a set of heterogeneous vendors in such a way
that the total nominal wage is minimized and some side constraints are satisfied. The
nominal wage of each vendor is determined by the most expensive class (category)
of the customers it serves. Namely, the maximum duration of a working day is called
T , and if a vendor is hired, he will be paid for the whole planning horizon even if he
works only one day.
Notice that the objective function (minimization of the nominal wage) implies that
the category of the customers that are served by each vendor tends to be homogeneous.
The category of a customer can be seen as the level of expertise required to the vendor
who provides the service. However, contrary to other contributions where employee
qualifications are considered, the salary of the employee does not depend on his skill
level but to the job assigned. In this case, the employee, like a freelance, is free to
accept or reject the job.

123
M. A. Salazar-Aguilar et al.

3.1 Mathematical model

Let G = (V, E) be an undirected complete graph, where the node set V = {0, . . . , n +
1} contains all customers and two copies 0 and n + 1 of the depot and E is the edge
set. The travel time ti j is known for all (i, j) ∈ E. Let si be the service time of
customer i ∈ V . Let C be the set of customer categories, ωc be the wage associated
c and Vc ⊂ V be the set of customers with the same category c ∈ C such
to category
that V = c∈C Vc . Each i ∈ V has a time window [aid , bid ] for each day d ∈ D, when
customer i does not accept a visit on day d, aid = bid = 0. Notice that, on each day,
node n + 1 has a time window that starts at 0 and finishes at the end of the working
day.
The sequence of visits assigned to a vendor during a working day is a route starting
at node 0 and ending at n + 1 and whose duration does not exceed a time limit T .
Since there are |D| working days in the planning horizon, the work performed by each
vendor can be represented by |D| routes. For a better explanation of our model, let |K |
be the maximum number of vendors. The decision variables are defined as follows:


⎨1 if customer j is served immediately after customer i
xidjk = by vendor k ∈ K in day d ∈ D,

0 otherwise.

1 if vendor k ∈ K serves customers with category c ∈ C,
ykc =
0 otherwise.

ti : starting time of service at node i ∈ V . wk : wage of vendor k ∈ K .


The objective is to minimize the total wage of hired vendors:


(SFSP)Minimize : z = wk (1)
k∈K

Subject to:


x0d jk = 1 k ∈ K , d ∈ D (2)
j∈V \{0}

x dj(n+1)k = 1 k ∈ K , d ∈ D (3)
j∈V
 
xidjk = x djik d ∈ D, j ∈ V \{n + 1}, k ∈ K (4)
(i, j)∈E ( j,i)∈E

xidjk ≤ ykc c ∈ C, j ∈ Vc , k ∈ K (5)
d∈D i∈V

xidjk = 1 j ∈ V (6)
k∈K d∈D i∈V

123
The sales force sizing problem with multi-period workload...

wk ≥ ωc ykc c ∈ C, k ∈ K (7)


ti + si + ti j − t j ≤ T 1− xidjk (i, j) ∈ E (8)
d∈D k∈K
  
tj ≥ a dj xidjk j ∈ V \{0} (9)
d∈D (i, j)∈E k∈K
  
tj ≤ bdj xidjk j ∈ V \{0} (10)
d∈D (i, j)∈E k∈K
t0 = 0 (11)
ti ≥ 0 i ∈ V, k ∈ K (12)
xidjk ∈ {0, 1} k ∈ K , d ∈ D, (i, j) ∈ E (13)
ykc ∈ {0, 1} k ∈ K , c ∈ C. (14)

Objective (1) is the sum of nominal wages of all hired vendors. Constraints (2)–(3)
ensure that every day each vendor starts and finishes its route at the depot. The flow
conservation of each visited location is guarantee with constraints (4). Constraints (5)
allow us to identify the customer categories served by each vendor and constraints (6)
ensure that each customer is served by only one vendor. Constraints (7) impose that
the nominal wage of vendor k ∈ K corresponds to the most expensive category of the
customers it serves. Constraints (8) guarantee time consistency and impose that the
working time does not exceed T . Constraints (9)–(10) are used to guarantee that each
customer is served within the time imposed by its time windows. Expression (11) is
to initialize the starting time of service at departure depot. The remaining constraints
impose conditions on the variables.

Algorithm 1 Proposed heuristic for the SFSP


Input: An instance of the SFSP
Output: Sbest , a set of daily routes per vendor
1: Sbest ←Constructor()  build an initial solution
2: while I ter M + + < Max I ter do
3: Sinc ← Perturb(Sbest )
4: I ter ← 0
5: while I ter + + < Max N oI mp do
6: S  ← Sinc
7: Adjust(S  )
8: LocalSearch(S  )  improve the current solution
9: if S  is better than Sinc then
10: Sinc ← S 
11: Iter=0
12: end if
13: end while
14: if Sinc is better than Sbest then
15: Sbest ← Sinc
16: I ter M ← 0
17: end if
18: end while
19: return Sbest

123
M. A. Salazar-Aguilar et al.

Algorithm 2 Constructor(S)
Input: An instance of the SFSP
Output: S
1: Let S ← be an empty solution of the SFSP  set of daily routes per vendor
2: Let V be the set of customers
⊂ V be the set of unserved customers of category c ∈ C
3: Let Vc

4: while Vc = ∅ do
c∈C
5: Create a new vendor k and insert it in S
6: for c ∈ C do  starting from the most costly category to the less costly one
7: for v ∈ Vc do  the customer v is randomly chosen at each step
8: Try to insert v in one of the routes of k
9: Update Vc
10: end for
11: end for
12: end while
13: return S

4 Solution method

The proposed solution procedure (Algorithm 1) consists of two main stages: construc-
tion of an initial solution and improvement. The function Constructor (Algorithm 2)
builds an initial solution for the SFSP based on a greedy approach. At each iteration,
a new vendor is created and visits to customers are randomly assigned to one of his
routes, giving priority to the customers with higher categories.
In the improvement stage, the best found solution is perturbed (Shaking) in order to
avoid local optima, and a local search is applied to the resulting incumbent solution.
The perturbation (Algorithm 3) consists of selecting a vendor through a roulette wheel
procedure based on the vendor wages (i.e. the probability of selection is directly
proportional to the vendor wage) and removing all his routes from the incumbent
solution. The unvisited customers are then randomly reinserted in the routes of other
vendors. If there are not feasible insertions, a new vendor is hired. Before applying
the local search, the perturbed incumbent solution is adjusted with the function Adjust
(Algorithm 4), where customers are randomly reinserted in another route such that the
wage of the corresponding vendor does not increase. Finally, the function LocalSearch
(Algorithm 5) tries to improve the incumbent solution by removing vendors one by
one and reinserting the resulting unvisited customers in other vendor routes, with the
aim of minimizing the total wage increment.
The adjustment and the local search procedures are applied to the incumbent solu-
tion until 100 consecutive non-improvement solutions, defined by the MaxNoImp
parameter, are generated. The function Adjust acts as a soft shaking, where customers
are randomly reinserted into another route, such that the wage of the corresponding
vendor does not increase. In practice, this soft shaking allows to extend the neigh-
borhood of the local search procedure and to improve the solution quality. When the
improvement stage finishes, the incumbent is changed through the function Perturb
and so on. The whole process stops when the maximum number of iterations, defined
by MaxIter, is reached. Note that, in our heuristic, when a customer is inserted in a

123
The sales force sizing problem with multi-period workload...

Algorithm 3 Perturb(S)
Input: A solution S of the SFSP
Output: A perturbed solution S p of the SFSP
1: S p ← S
2: Select a vendor k in S p with a roulette wheel procedure based on its wage wk
3: Let V  be the set of customers with the highest category, served by vendor k
4: For all v ∈ V  remove v from the routes of vendor k
5: while V  = ∅ do
6: Select v ∈ V  at random
7: V  ← V  \{v}
8: Try to add customer v to any route of any vendor in S p
9: if It is not possible then
10: Create a new vendor k  and add v to any route of vendor k 
11: Add the routes of k  to S p
12: end if
13: end while
14: return S p

route, its position is such that the route length is minimized, which involves testing all
possible insertions.

Algorithm 4 Adjust(S)
Let S be a solution of the SFSP  set of daily routes per vendor
Input: A solution S of the SFSP
1: Let V be the set of all customers
2: while V = ∅ do
3: Select v ∈ V at random
4: Let rv be the route where customer v is visited in solution S
5: rv ← rv \{v}  remove v from rv
6: Insert v in any route rk such that the cost of vendor k ∈ S does not increase  best insertion of v in rk
7: V ← V \{v}
8: end while

5 Results and discussion

One of the main difficulties, when introducing a new research problem, is the
design of scenarios for assessing the contributions of proposed procedures. There-
fore, we adapted a set of instances from the literature to evaluate the proposed
MILP model and heuristic (H) for solving the SFSP. In particular, we adapted the
instances from the PVRPTW benchmarks proposed by Cordeau and Vidal (available
at http://neumann.hec.ca/chairedistributique/data/pvrptw/new/ and https://w1.cirrelt.
ca/~vidalt/en/VRP-resources.html, respectively). Notice that these benchmarks intro-
duce tour visits that our problem does not consider; and on the contrary, our problem
introduces vendor selection and customers’ categories that drive solution costs.
The main change we made to these instances is the addition of the customer cate-
gories which have been assigned randomly with a uniform distribution. The cost of a
category c has been set as 100 × (c + 1). Hence, we generated five sets of instances
by fixing the number of categories from 1 to 5. The adapted dataset is available at

123
M. A. Salazar-Aguilar et al.

Algorithm 5 LocalSearch(S)
Let S be a solution of the SFSP  set of daily routes per vendor
Input: A solution S of the SFSP
1: Let K be the set of vendors in the current solution S
2: while K = ∅ do
3: Select k ∈ K with a roulette wheel procedure based on its wage wk
4: Let Vk be the customers served by vendor k
5: K ← K \{k}
6: Let S  be a partial copy of S such that all daily routes of vendor k are not included
7: while Vk = ∅ do
8: Select the customer v ∈ Vk with the most expensive category
9: Try to insert v in any route of S  , starting with the route of the vendor with the highest wage
10: if It is not possible then
11: Create a new vendor k  and add v to any route of vendor k 
12: Add the routes of k  to S 
13: end if
14: Vk ← Vk \{v}
15: end while
16: if S  is better than S then
17: S ← S
18: end if
19: end while
20: return S

http://pisis.fime.uanl.mx/sfsp/. Notice that all vendors must start their work at time 0,
and all of them are initially located at the depot.
Under these initial considerations, our empirical evaluation focuses in assessing
the efficiency and scalability of our approach in returning optimal or near-optimal
solutions. In order to do so, our evaluation is organized in two Sects. 5.1 and 5.2. The
first subsection introduces a set of test scenarios with up to 16 customers, where both
the heuristic and the exact method can generate solutions, assessing the efficiency of
our approach. Beyond this size, the exact method (CPLEX) struggles to find feasible
solutions. Finally, Sect. 5.2 evaluates the scalability of our approach in scenarios with
up to 961 customers, analyzing the impact of the different components that form our
heuristic.
All the computational tests were carried out on a desktop computer equipped with
a 2.9 GHz Intel Core i5 and 8 GB of RAM memory. The proposed heuristic has been
coded in C++. For all the instances, the heuristic is run once and the best found solution
with the total processing time is reported.

5.1 Heuristic and MILP model evaluation

To assess the efficiency of our approach in returning optimal or near-optimal solutions,


we generated 200 evaluation instances, divided into 4 classes (Class10c3d, Class12c3d,
Class14c3d, and Class16c3d) given the number of customers (10, 12, 14, and 16) and a
planning horizon of 3 days. Each class itself is organized into 10 instances per customer
category. Given that there are 5 categories, each class introduces then 50 test cases.
We ran the proposed heuristic in each instance, and its solution was used to initialize
CPLEX with MIP Start to solve the MILP model within a time limit of 1 h.

123
The sales force sizing problem with multi-period workload...

We can see in Table 1 the percentage of optimal solutions found by our heuristic
(referred as H), and CPLEX per instance class and category. Both, H and CPLEX,
found all the optimal solutions for cases with up to 12 customers, irrespective of the
number of categories. In instances with 14 and 16 customers, CPLEX found 2 and 8%
more optimal solutions on average than our heuristic, respectively. If we analyze the
data by category, we can see that the largest percentage difference between CPLEX
and H is at most 5% in instances with 2 and 4 categories. In total, H found 79% of the
optimal solutions while CPLEX obtained 82%. Notice, however, that for our heuristic
the total percentage of optimal solutions corresponds to the solutions that were verified
given the solutions from CPLEX. There were only 5 (i.e., 158 out of 163) cases where
H did not return the optimal solution reported by CPLEX. This means that CPLEX
could not improve the remaining 37 solutions obtained by H, and at the same time it
could not prove that such solutions were optimal.
Table 2 shows the percentage of improvement by CPLEX, within an hour of time
limit, after initializing it with the H solutions. Notice that the largest percentage of
improvement by CPLEX is only 2.84% on average. This data is an indication of the
level of effectiveness of our heuristic in returning optimal or near-optimal quality
solutions. In addition, the efficiency of H is dismally superior to that of CPLEX. We
can see in Table 1 that H obtained the 79% of optimal solutions under 20 s of running
time, while CPLEX found 82% of optimal solutions in 171,443 s. Table 3 presents the
average running time of H and CPLEX per class and number of categories. We can
see that H is more stable, since its running times do not increase significantly, neither
by class nor by categories. On the contrary, CPLEX times tend to grow larger as the
number of customers increases given the number of variables needed to represent
them.

5.2 Scalability and performance evaluation

To evaluate how scalable is our approach, we took directly the benchmarks proposed
by Cordeau and Vidal and modified them with the addition of customers’ categories.
This new evaluation set is composed of five classes of 48 instances each one, con-
sidering up to 961 customers with a planning horizon up to 12 days. Table 4 displays
the characteristics of the tested instances with the best objective values reported by
our heuristic. The first column displays the instance name, the second one shows the
number of customers, and the third one the amount of periods (days) in the plan-
ning horizon. The remaining columns show the best objective values reported by our
heuristic when considering different categories of customers.
The best, average, and worst computation times, in seconds, are shown in Table 5.
Notice that the computation time increases with the number of categories, but the
average computation time is small, even for the instances with five vendor categories.
The variance in time is because we grouped instances by categories, and a single
category has instances from 49 up to 961 customers, and a planning horizon ranging
from 4 up to 12 days.
Figure 1 shows the percentage of improvement between the initial solutions, and
the best found solutions per instance set. One can observe that the average percentage

123
123
Table 1 Percentage of optimal solutions found by our heuristic (H) and CPLEX, and total of running time (in seconds)

Percentage of 1 Category 2 Categories 3 Categories 4 Categories 5 Categories Average per class


optimal solutions
Class name H CPLEX H CPLEX H CPLEX H CPLEX H CPLEX H CPLEX

Class10c3d 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100%
Class12c3d 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100%
Class14c3d 90% 90% 80% 90% 90% 90% 100% 100% 60% 60% 84% 86%
Class16c3d 70% 70% 30% 40% 30% 30% 20% 40% 10% 20% 32% 40%
Average per category 90% 90% 78% 83% 80% 80% 80% 85% 68% 70% 79% 82%
Total of optimal solutions 36/40 36/40 31/40 33/40 32/40 32/40 32/40 34/40 27/40 28/40 158/200 163/200
Total of running time 3.64 17748.22 3.75 39509.04 3.93 43692.77 4.3 34148.54 4.02 36344.56 19.64 171443.10
M. A. Salazar-Aguilar et al.
The sales force sizing problem with multi-period workload...

Table 2 Percentage of improvement by CPLEX after initializing it with the H solutions

Average (%) of Running CPLEX from the H solutions


improvement/instance
Class name 1 Category 2 Categories 3 Categories 4 Categories 5 Categories
(%) (%) (%) (%) (%)

Class10c3d 0.00 0.00 0.00 0.00 0.00


Class12c3d 0.00 0.00 0.00 0.00 0.00
Class14c3d 0.00 3.33 0.00 0.00 6.19
Class16c3d 0.00 3.33 0.00 7.67 5.18
Average 0.00 1.67 0.00 1.92 2.84

of improvement in the instance set with only one category is almost 30%, while in the
set of instances with two categories of customers the improvement is around 27.5%. In
the remaining instance sets the average is larger than 20%. Hence, our improvement
strategies contribute significantly to obtain better solutions and the computational
effort of our heuristic is very small, it requires < 220 s in the worst average computation
time.
In order to evaluate the contribution of the Adjust function (Algorithm 4), we have
run the test, using all instance sets, with and without this function. In Fig. 2, the average
improvement per set of instances is shown. One can see that, by using the adjust
function, we can save on average 20% of the total cost of the hired vendors. Therefore,
we can conclude that such component is effective in improving the performance of
our proposed algorithm.
Finally, with the aim of analyzing the distribution of the different kinds of hired
vendors given by the best found solutions, we computed the percentage of each vendor
category in all instance sets (see Fig. 3). The vertical axis corresponds to the instance
sets and each color of the bars corresponds to a specific vendor category. For example,
in the instances with three categories, 19.2% of the hired vendors serve only customers
with category one, 23.9% serve customers with category one and/or two, and 57% of
the hired vendors serve at least one customer with category three.
Note that we also tried to solve the instances adapted from the literature with CPLEX
12.6, using as initial solution the one reported by our heuristic. For this test, CPLEX
was not able to improve the initial solution within 1 h, so we did not include these
results. Therefore, the use of the SFSP formulation may result impractical for an exact
method, and a heuristic may be the best alternative to tackle this problem.

6 Conclusions

In this work, we introduced the Sales Force Sizing Problem (SFSP) with multi-period
workload assignments and service time windows. This problem is motivated by a real
situation faced by a goods distribution company, which has to realign periodically its
sales force with the aim of minimizing the total nominal wage. The SFSP consists in
determining the size of a sales force team needed to serve a set of customers within a

123
123
Table 3 Total average running times (in seconds)

Average running time (s)/instance 1 Category 2 Categories 3 Categories 4 Categories 5 Categories Average time per class
Class name H CPLEX H CPLEX H CPLEX H CPLEX H CPLEX H CPLEX

Class10c3d 0.06 1.92 0.06 1.52 0.07 2.17 0.07 2.23 0.07 2.44 0.07 2.06
Class12c3d 0.08 32.30 0.08 37.61 0.09 47.36 0.09 80.85 0.08 67.97 0.08 53.22
Class14c3d 0.09 488.61 0.09 843.11 0.10 1309.97 0.12 586.93 0.11 447.20 0.10 735.16
Class16c3d 0.12 1251.98 0.12 3068.65 0.12 3009.76 0.13 2744.83 0.12 3116.83 0.12 2638.41
Average time per category 0.09 443.70 0.09 987.72 0.09 1092.31 0.10 853.71 0.10 908.61
M. A. Salazar-Aguilar et al.
Table 4 Instance features and objective values of the best found solutions for benchmark suite

Instance Customers Days 1 Category 2 Categories 3 Categories 4 Categories 5 Categories

Cordeau/pr01_SFP 49 4 300 500 800 900 1200


Cordeau/pr02_SFP 97 4 500 900 1200 1400 1800
Cordeau/pr03_SFP 145 4 800 1300 1800 2300 2900
Cordeau/pr04_SFP 193 4 1000 1500 2300 2800 3300
Cordeau/pr05_SFP 241 4 1000 1700 2300 3000 3500
Cordeau/pr06_SFP 289 4 1300 2100 2900 3700 4300
Cordeau/pr07_SFP 73 6 300 600 700 1000 1300
Cordeau/pr08_SFP 145 6 500 800 1100 1500 1800
Cordeau/pr09_SFP 217 6 600 1000 1500 2000 2300
Cordeau/pr10_SFP 289 6 800 1500 2000 2600 3100
Cordeau/pr11_SFP 49 4 300 500 700 800 900
Cordeau/pr12_SFP 97 4 400 800 1100 1400 1700
Cordeau/pr13_SFP 145 4 700 1200 1600 2100 2600
The sales force sizing problem with multi-period workload...

Cordeau/pr14_SFP 193 4 900 1400 2100 2500 2900


Cordeau/pr15_SFP 241 4 900 1600 2200 2600 3200
Cordeau/pr16_SFP 289 4 1200 2000 2700 3300 4000
Cordeau/pr17_SFP 73 6 300 500 600 800 1000
Cordeau/pr18_SFP 145 6 500 800 1100 1400 1600
Cordeau/pr19_SFP 217 6 600 1000 1400 1900 2000
Cordeau/pr20_SFP 289 6 800 1400 1900 2300 2500
Vidal/pr11a_SFP 361 4 1500 2600 3200 4200 4900
Vidal/pr12a_SFP 481 4 1800 3300 4300 5600 6700
Vidal/pr13a_SFP 601 4 2400 3900 5400 6100 7600
Vidal/pr14a_SFP 721 4 2700 4700 6200 7700 9400

123
Table 4 continued

Instance Customers Days 1 Category 2 Categories 3 Categories 4 Categories 5 Categories

123
Vidal/pr15a_SFP 841 4 3100 5100 6700 8700 10300
Vidal/pr16a_SFP 961 4 3500 5800 8000 9900 11700
Vidal/pr17a_SFP 361 6 1200 2000 2800 3300 4300
Vidal/pr18a_SFP 521 6 1700 2700 3900 4800 5400
Vidal/pr19a_SFP 701 6 2100 3600 4800 6000 7100
Vidal/pr20a_SFP 881 6 2400 4100 5500 7000 8600
Vidal/pr21a_SFP 421 12 1100 1900 2600 3200 4000
Vidal/pr22a_SFP 601 12 1400 2600 3500 4400 5100
Vidal/pr23a_SFP 781 12 2000 3200 4300 5700 6600
Vidal/pr24a_SFP 961 12 2200 3700 5300 6200 7600
Vidal/pr11b_SFP 361 4 1300 2400 3100 4100 4700
Vidal/pr12b_SFP 481 4 1800 3000 4100 5300 6200
Vidal/pr13b_SFP 601 4 2200 3700 5100 6100 7200
Vidal/pr14b_SFP 721 4 2600 4300 6000 7300 8500
Vidal/pr15b_SFP 841 4 2900 4900 6600 7900 9700
Vidal/pr16b_SFP 961 4 3400 5500 7500 9700 10800
Vidal/pr17b_SFP 361 6 1100 1900 2600 3200 3900
Vidal/pr18b_SFP 521 6 1400 2500 3600 4400 5000
Vidal/pr19b_SFP 701 6 1900 3300 4500 5700 6500
Vidal/pr20b_SFP 881 6 2400 3800 5400 6400 7800
Vidal/pr21b_SFP 421 12 1100 1900 2500 3200 3700
Vidal/pr22b_SFP 601 12 1500 2400 3200 4300 4500
Vidal/pr23b_SFP 781 12 1800 3000 4100 5100 6000
Vidal/pr24b_SFP 961 12 2100 3600 5000 6100 7000
M. A. Salazar-Aguilar et al.
The sales force sizing problem with multi-period workload...

Table 5 Best, average, and worst CPU times of the proposed algorithm per instance class in the benchmark
suite

Time (s) 1 Category 2 Categories 3 Categories 4 Categories 5 Categories

Min 0.4 0.47 0.33 0.49 0.47


Ave 31.67 48.28 52.47 67.08 78.59
Max 159.11 264.98 248.02 295.16 476.10

Fig. 1 Average percentage of improvement between the initial solution and the best found solution across
categories

planning horizon. The SFSP belongs to the category of Rich Vehicle Routing Problems
(RVRP), since it takes into account multiple periods, time-windows, personnel skills,
and heterogeneous fleets. A two stages heuristic has been designed and evaluated on
a large set of instances adapted from the literature. The first stage of the heuristic
consists of a greedy approach that builds a feasible solution, and the second stage
contains three components called: Perturb, Adjust, and Local Search.
We carried out experimental work considering two different evaluation sets. The
first evaluation set contains up to 16 customers with a planning horizon of 3 days, which
is aimed at evaluating the efficiency of the heuristic with respect to the MILP model.
We found that the heuristic returns 79% of optimal solutions under 20 s of running
time, providing a better tradeoff than the exact model, which returned 82% of optimal
solutions in 171,443 s. The second evaluation set considered up to 961 customers for a
planning horizon up to 12 days, aimed at evaluating the scalability of our approach. In
both evaluation sets, the number of customer categories goes from one to five. Results

123
M. A. Salazar-Aguilar et al.

Fig. 2 Average percentage of improvement obtained by the Adjust function

Fig. 3 Average percentage of vendors per category on each instance set

revealed that the computation time increases with the number of categories. Moreover,
we also show that each component of the second stage contributes to the quality of
the solutions, allowing an average improvement > 20% on all tested instances of the
second evaluation set. The exact method (CPLEX) could not report solutions within
the allowed running time.
Finally, we noticed that the linear relaxation of the SFSP is very weak. Therefore,
our future work includes the study of new models and valid inequalities that can lead to
a stronger formulation, and a better approximation of the lower bounds. Furthermore,
we plan to develop new heuristics and exact approaches such as branch-and-price to
solve this problem.

123
The sales force sizing problem with multi-period workload...

Acknowledgements We thank CJOR reviewers for many helpful comments. This study was partially
funded by UANL-PAICYT (Grant No. IT480-15), and by Consejo Nacional de Ciencia y Tecnología
(Grant No. CB-2013/220811).

Compliance with ethical standards

Conflict of interest The authors declare that they have no conflict of interest.

References
Amador-Fontalvo JE, Paternina-Arboleda CD, Montoya-Torres JR (2014) Solving the heterogeneous vehi-
cle routing problem with time windows and multiple products via a bacterial meta-heuristic. Int J Adv
Oper Manag 6(1):81–100
Baldacci R, Battarra M, Vigo D (2008) Routing a heterogeneous fleet of vehicles. In: Golden BL, Raghavan
S, Wasil EA (eds) The vehicle routing problem: latest advances and new challenges. Springer, Boston,
pp 3–27
Belfiore PP, Fávero LPL (2007) Scatter search for the fleet size and mix vehicle routing problem with time
windows. CEJOR 15(4):351–368
Borsani V, Matta A, Beschi G, Sommaruga F (2006) A home care scheduling model for human resources.
In: 2006 international conference on service systems and service management, vol 1, pp 449–454
Bräysy O, Gendreau M (2005a) Vehicle routing problem with time windows, part I: route construction and
local search algorithms. Transp Sci 39(1):104–118
Bräysy O, Gendreau M (2005b) Vehicle routing problem with time windows, part II: metaheuristics. Transp
Sci 39(1):119–139
Caceres-Cruz J, Arias P, Guimarans D, Riera D, Juan AA (2014) Rich vehicle routing problem: survey.
ACM Comput Surv 47(2):32:1–32:28
Cappanera P, Gouveia L, Scutellà MG (2011) The skill vehicle routing problem. In: Proceedings of the
network optimization: 5th international conference, INOC 2011, Hamburg, Germany, June 13–16,
2011. Springer, Berlin, pp 354–364
Cappanera P, Gouveia L, Scutellà MG (2012) Models and valid inequalities to asymmetric skill-based
routing problems. EURO J Transp Logist 2(1):29–55
Cappanera P, Scutellà MG Visintin F (2014) Home care services delivery: equity versus efficiency in opti-
mization models. In: Proceedings of the international conference on health care systems engineering.
Springer International Publishing, pp 1–13
Chao IM, Golden B, Wasil E (1999) A computational study of a new heuristic for the site-dependent vehicle
routing problem. Inf Syst Oper Res 37(3):319–336
Cordeau JF, Laporte G (2001) A tabu search algorithm for the site dependent vehicle routing problem with
time windows. Inf Syst Oper Res 39(3):292–298
Dantzig GB, Ramser JH (1959) The truck dispatching problem. Manag Sci 6(1):80–91
Dell’Amico M, Monaci M, Pagani C, Vigo D (2007) Heuristic approaches for the fleet size and mix vehicle
routing problem with time windows. Transp Sci 41(4):516–526
Dullaert W, Janssens GK, Srensen K, Vernimmen B (2002) New heuristics for the fleet size and mix vehicle
routing problem with time windows. J Oper Res Soc 53(11):1232–1238
Francis PM, Smilowitz KR, Tzur M (2008) The period vehicle routing problem and its extensions. In: Golden
BL, Raghavan S, Wasil EA (eds) The vehicle routing problem: latest advances and new challenges.
Springer, Boston, pp 73–102
Gheysens F, Golden B, Assad A (1984) A comparison of techniques for solving the fleet size and mix
vehicle routing problem. Oper Res Spektrum 6(4):207–216
Goel A, Gruhn V (2006) Solving a dynamic real-life vehicle routing problem. In: Operations research
proceedings 2005: selected papers of the annual international conference of the German Operations
Research Society (GOR). Springer, Berlin, pp 367–372
Goel A, Gruhn V (2008) A general vehicle routing problem. Eur J Oper Res 191(3):650–660
Golden B, Assad A, Levy L, Gheysens F (1984) The fleet size and mix vehicle routing problem. Comput
Oper Res 11(1):49–66

123
M. A. Salazar-Aguilar et al.

Hasle G, Kloster O (2007) Industrial vehicle routing. In: Hasle G, Lie K-A, Quak E (eds) Geometric
modelling, numerical simulation, and optimization: applied mathematics at SINTEF. Springer, Berlin,
pp 397–435
Hertel L, Gautam N (2004) A mathematical programming model for scheduling pharmaceutical sales
representatives. In: Proceeding of the industrial engineering research conference
Hoff A, Andersson H, Christiansen M, Hasle G, Lkketangen A (2010) Industrial aspects and literature
survey: fleet composition and routing. Comput Oper Res 37(12):2041–2061
Kallehauge B, Larsen J, Madsen OB, Solomon MM (2005) Vehicle routing problem with time windows.
In: Desaulniers G, Desrosiers J, Solomon MM (eds) Column generation. Springer, Boston, pp 67–98
Lahyani R, Khemakhem M, Semet F (2015) Rich vehicle routing problems: from a taxonomy to a definition.
Eur J Oper Res 241(1):1–14
Laporte G (2009) Fifty years of vehicle routing. Transp Sci 43(4):408–416
Liu FH, Shen SY (1999) The fleet size and mix vehicle routing problem with time windows. J Oper Res
Soc 50(7):721–732
Paraskevopoulos DC, Laporte G, Repoussis PP, Tarantilis CD (2016) Resource constrained routing and
scheduling: review and research prospects. Tech. Rep. CIRRELT-2016-03, CIRRELT
Pellegrini P (2005) Application of two nearest neighbor approaches to a rich vehicle routing problem. Tech.
Rep. TR/IRIDIA/2005-15, Université Libre de Bruxelles
Pellegrini P, Favaretto D, Moretti E (2007) Multiple ant colony optimization for a rich vehicle routing
problem: a case study. Knowledge-based intelligent information and engineering systems: 11th inter-
national conference, KES 2007, XVII Italian workshop on neural networks, Vietri sul Mare, Italy,
September 12–14, 2007. Proceedings, part II, Springer, Heidelberg, pp 627–634
Schwarze S (2015) Pricing strategies for the site-dependent vehicle routing problem. OR Spectr 38(1):137–
173
Schwarze S, Voß S (2013) Improved load balancing and resource utilization for the skill vehicle routing
problem. Optim Lett 7(8):1805–1823. https://doi.org/10.1007/s11590-012-0524-2
Schwarze S, Voß S (2015). A Bicriteria skill vehicle routing problem with time windows and an application to
pushback operations at airports. In: Logistics management: products, actors, technology—proceedings
of the german academic association for business research, Bremen, 2013. Springer International Pub-
lishing, pp 289–300
Tricoire F, Romauch M, Doerner KF, Hartl RF (2010) Heuristics for the multi-period orienteering problem
with multiple time windows. Comput Oper Res 37(2):351–367
Tricoire F, Bostel N, Dejax P, Guez P (2013) Exact and hybrid methods for the multiperiod field service
routing problem. CEJOR 21(2):359–377
Van den Bergh J, Beliën J, Bruecker PD, Demeulemeester E, Boeck LD (2013) Personnel scheduling: a
literature review. Eur J Oper Res 226(3):367–385
Vidal T, Crainic TG, Gendreau M, Prins C (2014) A unified solution framework for multi-attribute vehicle
routing problems. Eur J Oper Res 234(3):658–673
Wen M, Krapper E, Larsen J, Stidsen TK (2011) A multilevel variable neighborhood search heuristic for a
practical vehicle routing and driver scheduling problem. Networks 58(4):311–322
Yalçindağ S, Cappanera P, Scutellà MG, Şahin E, Matta A (2016) Pattern-based decompositions for human
resource planning in home health care services. Comput Oper Res 73:12–26

123

You might also like