5.2 IP Model
5.2.1 IP Model Description
Given the requirement of assigning all activities, the Bredstr¨om and R¨onnqvist (2008) model presents the following advantages compared to other models available in the literature. The Korsah et al. (2010) model includes waiting times in the definition. Waiting times are the idle periods in which employees are neither performing activities nor travelling, e.g. when arriving to a location before the time window opening employees are required to wait until it occurs. Such approach greatly increases the number of variables that are generated for the model. In smaller instances, i.e. with less than 25 activities and an equal or smaller number of employees, this is not an important issue as the solver can handle it, but one observed difficulty reported in the literature for VRPTW when using mathematical solvers refers to the amount of memory being used for big models, i.e. more than 100 activities. Knowing waiting times, although desirable as a performance indicator, it is not necessary when the aim is to cover all activities. Another model by Rasmussen et al. (2012) considers that in some cases assigning all activities is not possible and therefore introduces additional variables to allow the possibility of unassigned activities. Their approach is discussed in the next section (see Section 5.3). The IP model is as follows:
min αp X k∈K X (i,j)∈A cikxijk+ αT X k∈K X (i,j)∈A Tijxijk (5.1)
s.t. X k∈K X j:(i,j)∈A xijk = 1 ∀ i ∈ N, (5.2) X j:(o,j)∈A xojk = X j:(j,d)∈A xjdk = 1 ∀ k ∈ K, (5.3) X j:(i,j)∈A xijk− X j:(j,i)∈A xjik = 0 ∀ i ∈ N, ∀ k ∈ K, (5.4)
tik+ (T ij + Di)xijk ≤ tjk + bi(1 − xijk) ∀ k ∈ K, ∀ (i, j) ∈ A, (5.5)
ai X j:(i,j)∈A xijk ≤ tik ≤ bi X j:(i,j)∈A xijk ∀ k ∈ K, ∀ i ∈ N, (5.6) ak i ≤ tik ≤ bki ∀ k ∈ K, ∀ i ∈ o, d, (5.7) X k∈K tik = X k∈K tjk ∀ (i, j) ∈ Psync, (5.8) X k∈K tik+ pij ≤ X k∈K tjk ∀ (i, j) ∈ Pprec, (5.9) xijk ∈ {0, 1} ∀ k ∈ K, ∀ (i, j) ∈ A, (5.10) tik ∈ Z+ ∀ k ∈ K, ∀ i ∈ N. (5.11)
In this model, N is the set of activities’ locations. The node o refers to the starting point of the employees. Node d denotes the final destination of employees after com- pleting their activities. In this model nodes (o and d) represent the same node if the starting and ending location is the same, but still two nodes are required due to the nature of the model, i.e. based on network flow. Set A contains all the locations in N plus the two extra locations for starting and ending nodes. If the start and end location are different for every employee then employees’ starting and ending locations are also included in A. The set of all available employees is represented by K. Every activity i defines a time window on its starting time. The time window is given by ai (earliest start time) and bi (latest start time). Activity i’s duration is given by Di.
Travel time between location i and j is considered in the integer variable Tij. Vari-
able tik is a binary variable that indicates whether employee k performs the activity
at location i. Note, if two or more activities have the same location but cannot be performed on the same visit then additional variables for every activity are required due to the nature of the model. Employee k’s working time is given by ak
i (start time)
and bk
j (end time). The constant Eij considers the travelling time between locations i
and j plus the duration of activity at i, i.e. Eij = Tij+ Di. Using such a constant as-
sumes that as soon as an employee finishes an activity he starts travelling for his next assignment immediately. If the employee arrives at the next location early, before the opening of the time window, he has to wait.
assigning activities to employees. Such cost is given by cik for activity i performed
by employee k. The second component is the travel time of all employees when performing their visits. Both components have a weight factor. The cost component’s weight is αp, and for travel time component is αT. Such weights can be set accordingly
depending on the units being used or the importance given to any of the components. Using weighted sums as objective function has the advantage of allowing more than one aspect of the WSRP to be considered e.g. employees’ costs and travel time. Weights can be adjusted depending on which component has more relevance for a given scenario. A disadvantage of weighted sums is the loss of a common unit of measure i.e. money and time. In addition, sometimes a negative value in a component’s sum could diminish the result of another component. In multi-objective optimisation weighted sums are often used. Nevertheless, it has disadvantages as sometimes it fails to locate Pareto optimal solutions (Ward Athan and Papalambros, 1996).
The constraints are described as follows. All visits must be performed (constraint 5.2). All employees must start (leave) from location o and return to location d (constraint 5.3). Constraint (5.4) maintains flow conservation, i.e. once an employee visits a location represented by a node, to perform an activity, he must leave the location. Constraint (5.5) ensures that the integer variable capturing the start time of activity i is less than the next activity j which the employee performs, avoiding cycles. Each visit’s time window must be met, constraint (5.6) enforces the start time to be within the time window (ak
i–bkj). Visits should be performed during employee’s working time
(5.7). Synchronisation constraints (5.8) are necessary for every pair of visits that need to be synchronised. Other types of time-dependent activities constraint are enforced in (5.9). Decision variable xijk = 1 when employee k travels from location i to j, it
assumes it performs the activity at i. Or, xijk = 0 if the employees does not use that
segment of the graph, i.e. does not perform activity i and travel towards j. Constraint (5.10) restricts such variables to be binary. Variables recording the starting time of activities are positive integers (constraint 5.11).