Keywords

1 Introduction

In this study, we consider a Vehicle Routing Problem (VRP) in which a combination of transportation costs and customer perceived waiting times should be minimized. Two types of customers have to be served: priority and non-priority customers. Customers are served from a depot with a heterogeneous fleet of vehicles having varying driving time limits. Also, customers have two types of demand: pickup demand from the customers to the depot and delivery demand from the depot to the customers. For this problem, we propose a bi-objective mathematical programming formulation, minimizing a combination of transportation costs and customer dissatisfaction. We model customer dissatisfaction with a non-linear function that approximates the perceived waiting time of customers, as opposed to modeling standard time windows. We aim to find solution generation methods that can find good solutions within reasonable computational time.

To illustrate the problem and to test our proposed solution methods, we use a case study of a wholesaler with its own last-mile delivery network. Using heterogeneous vehicles, this company aims to serve its customers within 1.5 h after order acceptance. Therefore, the time required for creating the transportation schedules should be limited. The company has 12 warehouses with more than 3000 customers, of which on average 1200 order products on a daily basis. To test our proposed solution methods, we use several real-life instances from this company with varying problem sizes and customer characteristics. These problem instances contain both priority and non-priority customers. Compared to non-priority customers, priority customers have smaller time windows in which they prefer to be served, and the penalty costs for serving customers outside these time windows increase faster as time elapses.

The contribution of this work is threefold. First, we provide a new formulation for this problem, extending existing formulations by including heterogeneous vehicles, customer prioritization, and various customer dissatisfaction functions. Second, to solve realistically sized problem instances, we propose a Simulated Annealing heuristic, Variable Neighborhood Search, and a combination of these. Third, we illustrate our approach using multiple instances from our real-life case study, providing insights into the benefits of our solution methods for various problem settings.

The remainder of this paper is structured as follows. Section 2 presents a literature review about exact mathematical problem formulations and heuristics that can find good solutions to this problem. Section 3 presents the mathematical problem formulation. Section 4 presents the heuristics used to solve the problem. Section 5 presents experiments that were conducted on several problem instances and Sect. 6 concludes on these experiments and provides directions for further research.

2 Literature Review

The core of the studied VRP is best described by a Pickup and Delivery VRP (PDVRP). In this variant, customers require simultaneous pickup and delivery, all transported to and from a single depot [3]. During the route, the vehicle’s load is a mix of pickup and delivery loads, constrained by the vehicle’s capacity. Cao and Lai [3] provide a mathematical model for the PDVRP; an improved version of this model includes time windows in which customers are to be served [11]. Zhang, et al. [22] also provide a model for the PDVRP; however, service times at customers are not considered. Finally, Zhang, et al. [23] model the PDVRP with service times at customers and time windows for customers. Compared to the standard PDVRP, our problem also includes prioritization amongst customers and customer satisfaction should be taken into account. In practice, firms often create tiered service levels and assign customers to these tiers based on, e.g., their sales (potential) [21]. Firms often benefit from implementing a prioritization strategy [6, p. 126]. To facilitate a prioritization strategy, one should first identify what influences customer satisfaction (i.e., service levels) [6, p. 126]. In literature, customer satisfaction related to the delivery service of logistics companies can be described by short waiting times, as customers often prefer to receive their orders as soon as possible [20]. However, customer satisfaction is typically modeled using a standard time window, see, e.g., Zhang, et al. [23], resulting in either maximum satisfaction when the order arrives within the time window, or minimum satisfaction when the order arrives outside the time window. Customer satisfaction can also be modeled by fuzzy time windows [1]. In fuzzy time windows, customer satisfaction is a function with values ranging between a minimum and maximum customer satisfaction. Fuzzy time windows are suitable to express the subjective function of satisfaction as they typically lead to maximum customer satisfaction [1, p. 532]. Ghannadpour, et al. [5] show that the width of the fuzzy time window can be adjusted to customer importance, where a smaller interval indicates a more important customer.

As our problem originates from the real-world and consists of a combination of known variants of the traditional VRP, it can be described as a Rich VRP (RVRP) [2]. These problems are NP-hard [10] and typically heuristics are being used to find good solutions in reasonable computational time [17]. Popular meta-heuristics that are used to solve RVRPs are, amongst others, Local Search and Variable Neighborhood Search (VNS) [2, p. 17]. Local Search methods, such as Simulated Annealing (SA) and Tabu Search (TS), are shown to provide good solutions for the VRP [13]. Tavakkoli-Moghaddam, et al. [18] show that SA provides good solutions for the VRP in reasonable computational time. Robusté, et al. [15] show that SA is an effective heuristic to solve VRPs, particularly when the problem is too large or too complex to be solved with traditional combinatorial optimization techniques. Kuo and Wang [8] use VNS in combination with SA, and show it is efficient and effective in solving VRPs. Stenger, et al. [16] show that VNS provides high-quality solutions to the VRP within short computational time. These improvement heuristics improve a given solution by making local changes. The starting solution is created by a so-called construction heuristic. Suitable construction heuristics for VRPs are the Clark and Wright savings, Cluster First Route Second, Route First Cluster Second, Nearest Neighbor, Nearest Insertion, and Farthest Insertion.

The mathematical model proposed by Cao and Lai [3] is used as the base model for the studied problem. To tailor this model to the studied problem, homogeneous vehicles are replaced by heterogeneous vehicles. To model customer satisfaction and prioritization among customers, we extend the base model. We combine the idea of fuzzy time windows as suggested by Afshar-Bakeshloo, et al. [1] with the ability to change the width of the interval to prioritize customers, as introduced by Ghannadpour, et al. [5]. To model the customer prioritization related to the shortest waiting time, we let customer satisfaction of priority customers decrease faster over time compared to non-priority customers, such that the priority customers are likely being served earlier, as done by Wang, et al. [19]. As the transportation costs should be minimized and customer satisfaction should be maximized, we minimize a combination of transportation costs and customer dissatisfaction. We model customer dissatisfaction with a non-linear function approximating the perceived waiting time of the customers.

To be able to solve realistic problem instances and to find good solutions in a short amount of time, we propose to use the metaheuristics SA, VNS, and a combination of SA and VNS. Furthermore, we propose a modified version of SA. The starting solution will be generated by a modified version of the Nearest Neighbor Heuristic, in which we not only take into account distances between customers, but also the perceived waiting times of customers.

3 Problem Formulation

Our proposed mathematical model minimizes a weighted average of the transportation costs and the perceived waiting times of customers while satisfying the following four conditions for each delivery moment: (i) each customer is visited exactly once, (ii) each vehicle can only be used once, (iii) the total driving time of a vehicle and its total service time at its customers should not exceed its driving time limit, and (iv) the vehicle’s load capacity cannot be exceeded.

The following assumptions are used for the mathematical model: (i) the depot is always operational, has infinite capacity, and does not suffer from stockouts, (ii) freights cannot be divided and each customer is visited once, (iii) vehicles cannot go back to the depot for a refill, (iv) the service time at the customer and the travel time between two nodes are independent of the vehicle and the driver, (v) all vehicles are always operational, (vi) the transportation costs are fixed meaning that fuel consumption is equal for every driven kilometer, (vii) pickup and delivery demand is fixed implying that these demands cannot be canceled, (viii) travel times, distances, and service times are deterministic, meaning that no online changes occur, and (iv) customers are always ready to hand over pickup demand and to receive delivery demand.

To model the perceived waiting times, we propose a customer dissatisfaction function \(\hat{f}_{i,t}\), which denotes the perceived waiting time of customer \(i \in \mathcal {N}\) at time \(t \in \mathcal {T}\), where \(\mathcal {N}\) represents the set of customers and \(\mathcal {T}\) represents the set of discrete time units. This dissatisfaction function is input for the mathematical model. The mathematical model determines the arrival time \(A_{i,k}\) at customer i by vehicle \(k \in \mathcal {K}\), where \(\mathcal {K}\) represents the set of vehicles. Furthermore, we use the binary variable \(\lambda _{i,t}\), which indicates whether a vehicle arrives at customer i at time t. The perceived waiting time of customer i can then be calculated as follows: \(\sum _{t \in T} \lambda _{i,t} \hat{f}_{i,t}\). We propose the following constraints to ensure that \(\lambda _{i,t}\) is set to 1 when \(A_{i,k}=t\) (with \(A_{i,k}=0\) when vehicle k is not serving costumer i):

$$\begin{aligned} \sum _{t \in \mathcal {T}} t\lambda _{i,t}=A_{i,k}&\qquad \forall i \in \mathcal {N},\forall k \in \mathcal {K}\\ \sum _{t \in \mathcal {T}} \lambda _{i,t}=1&\qquad \forall i \in \mathcal {N}\\ \lambda _{i,t} \in \{0,1\}&\qquad \forall i \in \mathcal {N},\forall t \in \mathcal {T} \end{aligned}$$

We propose two types of dissatisfaction functions as shown in Table 1: a quadratic function and a step function, where the latter corresponds with the typical approach considered in the VRP literature. Furthermore, we evaluate our dissatisfaction functions under two different situations for customer preferences: (i) customers prefer to be served as soon as possible (ASAP) and (ii) customers prefer to be served at a specific time (AST). We use several parameters in these dissatisfaction functions.

For the step function, we consider a fixed penalty \(v_i\) for visiting customer i outside its time window. In case of AST, this time window is given by \([lb_i,\; ub_i]\), where the middle point of this time window is \(m_i\) and the width of the time window is \(w_i\). In case of ASAP, this window is given by \([e_i,\; e_i+w_i]\), where \(e_i\) represents the earliest possible visiting moment of customer i, which depends on the driving time from the depot to this customer. For the quadratic function, we penalize the time after earliest visit time \(e_i\) or the deviation from a preferred visit time \(m_i\) in case of ASAP and AST, respectively. To distinguish between different priority customers, these time deviations are penalized by a factor \(a_i\). The equations for the two dissatisfaction functions for both situations are given in Table 1 and an illustration is given in Fig. 1.

Table 1. Proposed dissatisfaction functions for two situations of customer preferences.
Fig. 1.
figure 1

Quadratic and step penalty functions for two situations of customer preferences.

When using the quadratic dissatisfaction function in the ASAP situation, customer dissatisfaction increases rapidly with increasing waiting times. This is also experienced in practice, as the customer dissatisfaction exponentially increases when the perceived waiting time increases [4]. When using step functions, penalties remain constant when being outside the time window. The standard modelling approach in case of AST is to use a time window around the preferred visit time, and the assumption is that customer dissatisfaction is the same over the whole interval, while this is not experienced in practice [4]. The quadratic function uses increasing penalties with increasing deviations from the preferred visit time \(m_i\), thereby pushing the model to schedule the visit closer to the preferred time. The dissatisfaction functions ensure the distinction between priority and non-priority customers by letting the penalty value for priority customers increase faster than for non-priority customers. This distinction can be achieved by setting the parameter \(a_i\) higher for priority customers than for non-priority customers. When using the standard time window modeling approach, the width of the time window, denoted by \(w_i\), is smaller for priority than for non-priority customers.

In the following, we introduce the notation for the mathematical problem formulation for the RVRP with customer prioritization. Besides the sets \(\mathcal {N}\), \(\mathcal {K}\), and \(\mathcal {T}\) as introduced before, we also use \(\mathcal {N}_0\) to denote the set of customers including the depot, i.e., \(\mathcal {N}_0=\mathcal {N}\cup \{0\}\). For the parameters solely related to customers, we define for each customer i pickup demand \(p_i\), delivery demand \(d_i\), and service time \(s_i\). For the parameters related to the arcs between two nodes i and j, we define \(t_{i,j}\) as the travel time and \(c_{i,j}\) as the distance. For the parameters related to vehicles, we define for each vehicle k, its capacity \(q_k\), driving time limit \(l_k\), time-related costs \(tc_k\), distance-related costs \(dc_k\), and startup costs \(sc_k\) for using this vehicle. Furthermore, we have a parameter \(\alpha \in [0,1]\) to set the weight of the two objectives in the bi-objective goal function and a conversion factor \(\beta \) to convert the perceived waiting time penalty into the costs equivalent. Next, we introduce the variables in the mathematical model. The variable \(X_{i,j,k}\) indicates whether arc (ij) is traversed by vehicle k, \(A_{i,k}\) is the arrival time of vehicle k at customer i, \(Y_{i,j,k}\) is the demand picked up by vehicle k from customers up to node i and transported on arc (ij), and \(Z_{i,j,k}\) is the demand to be delivered by vehicle k to customers routed after node i and transported on arc (ij). As mentioned before, \(\lambda _{i,t}\) indicates whether the arrival time at customer i is at time t.

We define the proposed mathematical problem formulation as follows:

$$\begin{aligned} \min \left( \alpha \Bigg ( \sum _{(i,j) \in \mathcal {N}_0, k\in \mathcal {K}} \Big ( c_{i,j} dc_k + \left( t_{i,j}+s_j \right) tc_k \Big ) X_{i,j,k} + \sum _{j \in \mathcal {N}, k \in \mathcal {K}} sc_k X_{0,j,k} \Bigg ) \right. \nonumber \\ \left. +\,(1-\alpha ) \Bigg ( \beta \sum _{i \in \mathcal {N}, t \in \mathcal {T}} \hat{f}_{i,t} \lambda _{i,t} \Bigg ) \right) \end{aligned}$$
(1)

s.t.

$$\begin{aligned} \sum _{i \in \mathcal {N}_0,k \in \mathcal {K}}X_{i,j,k}=1&\qquad \forall j \in \mathcal {N} \end{aligned}$$
(2)
$$\begin{aligned} \sum _{i \in \mathcal {N}_0}{X_{i,j,k}} - \sum _{i\in \mathcal {N}_0}{X_{j,i,k}}=0&\qquad \forall j\in \mathcal {N}_0,\forall k\in \mathcal {K} \end{aligned}$$
(3)
$$\begin{aligned} \sum _{j\in \mathcal {N}}{X_{0,j,k}} \le 1&\qquad \forall k\in \mathcal {K} \end{aligned}$$
(4)
$$\begin{aligned} A_{i,k}+s_i+t_{i,j}X_{i,j,k} - A_{j,k} \le l_k (1 - X_{i,j,k})&\qquad \forall i\in \mathcal {N},\forall j\in \mathcal {N}_0,\forall k\in \mathcal {K} \end{aligned}$$
(5)
$$\begin{aligned} A_{j,k}\ge t_{0,j} X_{0,j,k}&\qquad \forall j\in \mathcal {N}, \forall k \in \mathcal {K} \end{aligned}$$
(6)
$$\begin{aligned} {A_{0,k}\le l}_k&\qquad \forall k\in \mathcal {K}\end{aligned}$$
(7)
$$\begin{aligned} \sum _{i\in \mathcal {N}_0, k\in \mathcal {K}}{Y_{j,i,k} }-\sum _{i\in \mathcal {N}_0, k\in \mathcal {K}}{Y_{i,j,k} = p_j}&\qquad \forall j\in \mathcal {N}\end{aligned}$$
(8)
$$\begin{aligned} \sum _{i\in \mathcal {N}_0, k\in \mathcal {K}}{Z_{i,j,k} } - \sum _{i\in \mathcal {N}_0, k\in \mathcal {K}}{Z_{j,i,k} = d_j}&\qquad \forall j\in \mathcal {N} \end{aligned}$$
(9)
$$\begin{aligned} Y_{i,j,k}+Z_{i,j,k} \le q_k X_{i,j,k}&\qquad \forall (i,j) \in \mathcal {N}_0, \forall k\in \mathcal {K} \end{aligned}$$
(10)
$$\begin{aligned} \sum _{t\in T}{t { \lambda }_{i,t} = A_{i,k} }&\qquad \forall i\in \mathcal {N}, \forall k\in \mathcal {K} \end{aligned}$$
(11)
$$\begin{aligned} \sum _{t\in T}{{ \lambda }_{i,t} = 1 }&\qquad \forall i\in \mathcal {N} \end{aligned}$$
(12)
$$\begin{aligned} X_{i,j,k}\in \{0,1\}&\qquad \forall (i,j) \in \mathcal {N}_0, \forall k\in \mathcal {K} \end{aligned}$$
(13)
$$\begin{aligned} A_{j,k}\ge 0&\qquad \forall j\in \mathcal {N}, \forall k\in \mathcal {K} \end{aligned}$$
(14)
$$\begin{aligned} Y_{i,j,k},\ Z_{i,j,k}\ge 0&\qquad \forall (i,j) \in \mathcal {N}_0, \forall k\in \mathcal {K} \end{aligned}$$
(15)
$$\begin{aligned} { \lambda }_{i,t}\in \{0,1\}&\qquad \forall i\in \mathcal {N}, \forall t\in \mathcal {T} \end{aligned}$$
(16)

The objective function (1) minimizes a weighted average of transportation costs and perceived waiting times of the customers, where the transportation costs consist of distance-related transportation costs, time-related transportation costs, and vehicle startup costs. Constraint (2) makes sure that each customer is visited exactly once and constraint (3) ensures that a vehicle always departs from the node at which the vehicle arrives. Constraint (4) indicates that a vehicle can be used only once, i.e., it can only leave the depot once. Sub-tours are eliminated by constraint (5) and constraint (6) ensures that the arrival time at a customer cannot be earlier than the driving time from the depot to that customer. Constraint (7) ensures that the total driving time and service time limit of each vehicle is not exceeded. The vehicle loads on each arc, for pickup demand and delivery demand, respectively, are calculated by constraints (8) and (9). Constraint (10) makes sure that the vehicle capacity is not exceeded. Constraints (11) and (12) ensure that the correct input is used for the dissatisfaction function. Finally, the domain restrictions for the variables are indicated by constraints (13)–(16).

4 Heuristics

As the studied problem is NP-hard [10], we use heuristics to find good solutions for large-size problem instances [17] in a short amount of time. To provide a starting solution for the improvement heuristics, we use the Nearest Neighbor Heuristic [14]. In the standard Nearest Neighbor Heuristic, a vehicle constructs its route by inserting the closest customer until its driving time limit or capacity limit is reached. So, the costs for adding customer j to the route of vehicle k is calculated as follows: \(C(i,j,k)=c_{i,j}\), where the current location of vehicle k is denoted by i. So, only the travel distance is taken into account. In our problem, we also have to consider customer dissatisfaction and transportation costs; therefore, we modify the standard Nearest Neighbor Heuristic such that customer dissatisfaction and transportation costs are also taken into account. We propose to calculate the costs for making a route between nodes i and j with vehicle k with the following formula: \(C(i,j,k) = \alpha (c_{i,j} dc_k + t_{i,j} tc_k ) + (1-\alpha ) \beta \hat{f}_{j,A_{j,k}}\), where the current location of vehicle k is denoted by i. This construction heuristic is executed in a parallel manner. This means that we are gradually constructing the routes of all vehicles. In each iteration of the construction heuristic, we loop over all customers j and vehicles k to find the lowest value for C(ijk) and then add customer j to the route of vehicle k. Then, we repeat this procedure until all customers are visited. If all customers are visited, all vehicles return to the depot.

After that, we improve the starting solution with improvement heuristics. In these improvement heuristics, we modify the current solution with neighborhood operators. We consider the following two neighborhood operators: (i) a move-operator, in which we insert a customer from a certain route into another route, and (ii) a swap-operator, in which we swap two customers on the same route or between different routes. When generating a neighbor solution, we select the move-operator and the swap-operator with equal probability. We use the following four improvement heuristics: (i) the standard version of Simulated Annealing [7], (ii) the standard version of Variable Neighborhood Search [12], (iii) the standard version of Simulated Annealing combined with the standard version of Variable Neighborhood Search [9], and (iv) a modified version of Simulated Annealing. In the modified version of Simulated Annealing, we generate multiple neighbor solutions and evaluate the best solution among these neighbor solutions, as opposed to evaluating only one neighbor solution [7].

In Sect. 5, we benchmark (i) our proposed construction heuristic against the standard version of the Nearest Neighbor Heuristic and (ii) these improvement heuristics against the deterministic version of Simulated Annealing, which we refer to as ‘Descent’. The Descent heuristic only accepts solutions that improve the best solution so far. We use the modified Nearest Neighbor Heuristic before using the improvement heuristics. We also apply a modeling trick to the construction and improvement heuristic. We relax constraint (7) by allowing vehicles to have overtime in which \(l_k\) is exceeded. Based on the overtime, we add overtime penalty costs to the objective function (1). This modeling trick helps to escape from local optima but can cause the heuristic to find infeasible solutions having vehicles with overtime. Therefore, it is possible that the construction heuristic finds an infeasible solution, which the improvement heuristic uses as starting solution. Moreover, it enables constructing good routes for large scenarios for which a feasible solution is hard to find or non-existent.

Finally, we apply post-processing to the solutions found by the construction heuristic and improvement heuristic. First, we improve the solution by swapping customers within every single route. Second, we improve the solution by swapping vehicles to find the best vehicle for each route, which might result in less overtime.

5 Experiments

In this section, we present the experiments and their corresponding results. In Sect. 5.1, we describe the data from the problem instances. In Sect. 5.2, we present the experiments with the mathematical model. In Sect. 5.3, we give an introduction to the experiments with the heuristics and present the parameter settings for the heuristics. In Sect. 5.4, we present the results of the experiments with the heuristics.

5.1 Description of Problem Instances

As mentioned in the introduction, we perform our experiments using real-life instances from our case study. The involved company has 12 warehouses, but for our experiments, we limit ourselves to one of these warehouses, which serves approximately 300 customers, of which on average 120 distinct customers place orders over six different delivery moments within day. The first vehicles leave the depot at 8:00 AM and the last vehicles leave the depot at 3:30 PM. Transportation costs include fuel costs, salaries, depreciation, vehicle packing costs, service costs, and cleaning costs; these data are extracted from a full year of company data. Real (asymmetric) travel distances and (asymmetric) travel times are extracted by using Google APIs. Besides that, a full year of GPS-data from the company is used to generate a customer service time distribution. We extracted 7 problem instances from company data, ranging from low demand (38 customers) to high demand (95 customers); scenario-specific information regarding the fraction of priority customers, volume of pickup demand \(p_i\), volume of delivery demand \(d_i\), travel distance \(c_{i,j}\), travel time \(t_{i,j}\), and preferred visit time \(m_i\), are presented in Table 2. For these parameters, we provide the mean value and the standard deviation, of which the latter is presented between brackets. The scenario number corresponds with the number of customers that placed an order in this scenario.

Table 2. Scenario-specific information

Other data that are extracted from a full year of company data are the same for each scenario. These data include the (i) number of vehicles, which is 14, (ii) service time \(s_i\), which has an empirical distribution with a mean of 138 s, a median of 107 s, and a standard deviation of 109 s, (iii) vehicle capacity \(q_k=500\), (iv) driving time limit of \(l_k=9000\) s for the first 4 vehicles and \(l_k=5400\) s for the other 10 vehicles, (v) distance costs \(dc_k\,=\,\,\)€0.0001 per meter, (vi) time costs \(tc_k\,=\,\,\)€0.0028 per second, and (vii) startup costs of a vehicle \(sc_k\,=\,\,\)€1.68 (equal to time costs for 10 min). Furthermore, as discussed in Sect. 3, \(\alpha \) is the weight assigned to the transportation costs, and \(1 - \alpha \) is the weight assigned to the penalty costs for the perceived waiting time of customers. Increasing \(\alpha \) results in (i) a decrease in transportation costs and (ii) an increase in waiting times. The parameter \(\beta \) is a conversion factor to convert the perceived waiting time penalty into the cost equivalent. Increasing \(\beta \) results in (i) a decrease in waiting times and (ii) an increase in transportation costs.

To allow the involved company to make a trade-off between transportation costs and perceived waiting times, we performed a number of experiments with different values of \(\alpha \) and \(\beta \). From the results, the involved company decided that the values \(\alpha =0.5\) and \(\beta =100\) resulted in the best overall objective.

For both the ASAP and AST situation we use (i) \(a_i = 5\times 10^{-6.965}\) for priority customers and \(a_i = 1\times 10^{-6.85}\) for non-priority customers, and (ii) use a penalty \(v_i=0.5\). For the ASAP situation, we use \(w_i=600\) and \(w_i=1200\) for priority customers and non-priority customers, respectively. For the AST situation, we use the same \(w_i\) values to set the width of the windows \([lb_i,\; ub_i]\) around the preferred time \(m_i\).

5.2 Experiments with the Mathematical Model

For each scenario, we try to solve the mathematical model for the two situations ASAP and AST. We try to solve both situations with the dissatisfaction function approach and the standard time window modeling approach. To achieve this, we implement the mathematical model in AIMMS using the general-purpose solver CPLEX version 12.8, on a machine equipped with an Intel Hexa-Core 4.1 GHz and 16 GB of RAM. We limit the computational time to 3600 s.

For none of the scenarios, the model is able to find an optimal solution; the gap, the fractional difference between the lower bound and the incumbent solution, is on average 89%. Therefore, we perform two modifications. First, we set the time units to minutes \((\mathcal {T}=\{1,\ldots ,150\})\) by modifying constraint (11) such that \(\sum _{t \in \mathcal {T}}60 t \lambda _{i,t} \ge A_{i,k}\), resulting in a significant reduction in the number of decision variables \(\lambda _{i,t}\). Second, we also consider smaller scenarios, with 15 and 24 customers. For the scenario with 24 customers, the model still does not find optimal solutions, and the gap is on average 63%. For the scenario with 15 customers, the model is able to find optimal solutions within 3600 s, taking 2735 s and 1895 s for the ASAP and AST situation, respectively. Note that changing the time units from seconds to minutes results in an over-approximation of the dissatisfaction penalty, causing an approximation error in the objective function. Therefore, there is no guarantee that the optimal solutions found are the true optima of the original problems.

5.3 Experimental Settings

As discussed in Sect. 5.2, it is hard to solve the instances to optimality by using the mathematical model. Furthermore, the corresponding computational time is not acceptable, as the company aims to serve customers within 1.5 h after order acceptance. Therefore, we only consider the heuristics in the remaining experiments. We refer to (i) the standard version of the Nearest Neighbor Heuristic as ‘NN’, (ii) the modified version of the Nearest Neighbor Heuristic as ‘NN-IMPR’, (iii) the standard version of Simulated Annealing as ‘SA’, (iv) the standard version of Variable Neighborhood Search as ‘VNS’, (v) the standard version of Simulated Annealing combined with the standard version of Variable Neighborhood Search as ‘SA-VNS’, and (vi) the modified version of Simulated Annealing as ‘SA-STPD’. Furthermore, we use the Descent improvement heuristic for benchmarking purposes, which we refer to as ‘Descent’.

To find suitable parameter settings for the heuristics, we have conducted experiments on all scenarios with a proper selection of parameter values. We chose the parameter values that found the best solutions over 25 replications (i.e., running every experiment 25 times with the same parameter settings to provide statistically significant results) with regard to the following KPIs: (i) the best objective value found, (ii) the average objective value found, (iii) the worst objective value found, and (iv) the fraction of the solutions containing overtime, i.e., where \(l_k\) is exceeded at least once. After having found these parameter values, we tried to minimize the computational time by varying the parameter values, taking into account that the performance on these KPIs should not diminish. The resulting parameter settings for the heuristics are presented in Table 3.

Table 3. Parameter settings for the heuristics

We perform experiments with the quadratic dissatisfaction function (DF=Q) and the standard time window modeling approach (DF=S) for both the ASAP and AST situation. For each experiment, we perform 25 replications, i.e., we run every experiment 25 times with the same parameter settings, to provide statistically significant results. When no feasible solution can be found within one replication after running the combination of the construction heuristic and improvement heuristic 25 times, the scenario is classified as ‘infeasible’ for that heuristic. During the execution of the heuristics for a specific setting of the dissatisfaction function, the corresponding quadratic or step function is used during the optimization, and afterwards the objective value is calculated assuming a quadratic perceived waiting time function. We do not report the computation times as they are all negligible and do not deviate significantly among the different improvement heuristics.

5.4 Experimental Results

First, we show the results of the experiments for the ASAP situation. The results for the different heuristics can be found in Table 4. Here we show the best objective value found, with in between brackets the increase when considering the average objective value. With respect to the construction heuristics, we see that NN-IMPR always outperforms NN, and is able to find feasible solutions for more instances. All improvement heuristics can find feasible solutions. We see that the SA approaches (SA, SA-STPD, SA-VN) outperform both Descent and VNS. When comparing the dissatisfaction function approach and the standard approach, we find that the dissatisfaction function approach significantly outperforms the standard approach regarding the objective and the average perceived waiting times of customers.

Table 4. Comparison of heuristics using the ASAP situation

Next, by using the SA heuristic, we compare the effect of the dissatisfaction function and the standard approach on the perceived waiting times of the priority and non-priority customers. The following results are shown in Table 5: (i) the average objective value, referred to as ‘Obj’, (ii) the average perceived waiting time, referred to as ‘Avg’, (iii) the standard deviation of the perceived waiting time, referred to as ‘StDev’, and (iv) the maximum perceived waiting time, referred to as ‘Max’. The results related to perceived waiting time are presented for both priority and non-priority customers. When analyzing these results, we find that the perceived waiting times for both the priority and non-priority customers are significantly lower when using the dissatisfaction function approach. Furthermore, we find that the perceived waiting times of priority customers are significantly lower than for non-priority customers.

Table 5. Comparison of dissatisfaction functions using the ASAP situation

The comparison of heuristics under the AST situation are shown in Table 6. When comparing the two construction heuristics, we find that NN-IMPR outperforms NN when using the dissatisfaction function approach. When using the standard time window modeling approach, we find that NN-IMPR and NN can only find feasible solutions for a small number of scenarios; therefore, no conclusion can be drawn whether one construction heuristic outperforms the other construction heuristic. When comparing the improvement heuristics, we find that only SA and SA-VN can find solutions for all scenarios. Regarding the objective value, SA and SA-VN perform similarly and outperform the other improvement heuristics. Furthermore, SA and SA-VN have similar perceived waiting times for customers. SA-STPD outperformed VNS and Descent regarding the objective value and VNS outperformed Descent regarding the objective value. When comparing the dissatisfaction function approach and the standard time window modeling approach, we find that the dissatisfaction function approach significantly outperforms the standard time window modeling approach regarding the objective and the average perceived waiting times of customers.

Table 6. Comparison of heuristics using the AST situation
Table 7. Comparison of dissatisfaction functions using the AST situation

Finally, we compare the effect of the dissatisfaction function and the standard time window modeling approach on the perceived waiting times of the priority and non-priority customers, by using the SA heuristic. The corresponding results are presented in Table 7. Similarly as in the ASAP situation, the dissatisfaction function approach will result in lower average perceived waiting times for both priority and non-priority customers. Furthermore, we find that the perceived waiting times of priority customers are significantly lower than for non-priority customers.

6 Conclusion

We proposed a bi-objective mathematical programming formulation for rich vehicle routing problems, minimizing a combination of transportation costs and customer dissatisfaction, distinguishing between priority and non-priority customers. We modelled customer dissatisfaction with a non-linear function that approximates the perceived waiting time of customers. The proposed mathematical model could only solve instances up to 15 customers. To be able to solve realistically sized instances, we used heuristics. We first created an initial route with a construction heuristic and then improved this route with various improvement heuristics. For the construction heuristic, we found that it is beneficial to allow vehicles to violate restrictions, which later on would be repaired by the improvement heuristic. For the improvement heuristics, we considered Descent, Simulated Annealing, Modified Simulated Annealing, Variable Neighborhood Search, and a combination of the last two. We found that Simulated Annealing or the combination of Simulated Annealing with Variable Neighborhood Search always provided the best results. Furthermore, we found that the perceived waiting times for both the priority and non-priority customers are significantly lower when using the dissatisfaction function approach, as opposed to modeling standard time windows, with average savings of 48% and 20%, respectively. With respect to the combined objective of transportation costs and waiting time penalties, the dissatisfaction function approach resulted in average savings over all experiments of 48%.

With respect to further research, we propose (i) the development of a matheuristics that can help to find a good solution for the proposed mathematical problem in a shorter time and (ii) the use of Machine Learning techniques to decrease the solution space of the mathematical problem formulation.