1 Introduction

In 2021, the US experienced a shortage of 80,000 truck drivers, and according to projections by the American Trucking Associations, this shortfall could double to 160,000 by 2030. This has put a spotlight on the working conditions of truck drivers, who often face uncertainty due to the lack of compensation for overtime or waiting time. Additionally, many drivers have to cover their own fuel costs and are not provided with health care benefits (Sheidlower 2023). The industry needs to find ways to make the job of a truck driver more attractive and socially sustainable, and ensuring fair treatment of drivers can be a key part of this effort.

Fairness is important and required between drivers in transportation systems, to ensure that all drivers are treated equitably and have equal opportunities to earn fares or perform their duties (Jütte et al. 2017; Ma et al. 2017). Profit maximizing scheduling can be unfair and can lead to situations where some drivers are overworked and others are under-worked, which can have negative consequences for both the drivers and the transportation system. Fair scheduling can help to improve driver satisfaction and reduce turnover rates. Additionally, fairness considerations may be required by regulatory organizations or stakeholders who prioritize equity and social sustainability in transportation.

Transportation systems can use different policies to prioritize fairness between drivers. For example, transportation systems can use fair payment policies to ensure that all drivers are paid fairly for their work, regardless of their background (Rodríguez et al. 2018; Kudo and Belzer 2019). Also, transportation systems can give equal access to work opportunities for all drivers without discriminating them based on their race, gender, or beliefs (French and Strachan 2009). Another example is the use of fair scheduling to ensure that all drivers have equal access to scheduling opportunities, such as breaks, vacations, high-demand periods or special events (e.g., for taxi drivers) (Mohri et al. 2020; Eikenbroek et al. 2022; Ma et al. 2017). This helps to ensure that drivers have an equal treatment regarding their working time, wages, breaks, etc. In our paper, we study fair scheduling of truck drivers in transportation systems where we introduce fair driving times.

We study a sustainable transportation scheduling problem with an aim of balancing fairness and efficiency. We formulate a bi-objective multiple vehicle transportation model. The first objective function aims to maximize profit, which is the difference between revenue and the total cost, including vehicle fixed cost, fuel cost, and driver wage; thus, ensuring efficiency in transportation. In this paper, efficiency refers to the trade-off between the different cost elements within the objective function and the revenue collected, where a company tends to improve its profit at the lowest possible cost. The study also aims to improve fairness between drivers by minimizing the maximum deviation from the average value of customer allocation and driving times, which represents the equity aspect. To solve the problem, the weighted comprehensive criterion method is employed, and an iterative population-based heuristic is proposed. We show that the heuristic approach gives comparable results to the exact approach. The fairness price is also reported, which is the relative difference between total profit with and without the imposition of fairness. Thus, the main contributions of our work are:

  • We propose a bi-objective sustainable transportation model that maximizes the total profit and minimizes the maximum deviation from the average time.

  • We also explore a single objective formulation of our problem by including fairness as a component of the total cost, where drivers are rewarded when their driving times are longer than the average.

  • We develop an iterative population-based heuristic that is capable of solving large-scale instances.

  • We provide managerial insights into the trade-off between profit and fairness, the price of fairness, and the impact of fairness cost on profit.

Our case study results reveal that imposing fairness between drivers does not always lead to a significant reduction in total profit. We also show that increasing the fairness cost increases the total fuel consumed in order to reduce the travel time and improve the fairness.

The remainder of this paper is as follows: Sect. 2 reviews the related literature. In Sect. 3, we present the problem formulation and describe the profit and fairness functions. Section 4 presents the solution approach and Sect. 5 shows the heuristic performance. Section 6 gives managerial insights, and Sect. 7 concludes the paper.

2 Literature review

Our work is related to two research streams: fairness in routing/scheduling problems and sustainable transportation. There is a lot of literature on research in the stream of fairness in routing/scheduling problems. This stream can be classified into two categories: problems with fairness as a constraint and problems with fairness incorporated in the objective function.

2.1 Fairness as a constraint

Mohri et al. (2020) studied the problem of routing-scheduling for transporting hazardous materials. The authors proposed a bi-objective Stackelberg game model that incorporates fairness constraints into the optimization. They introduced a fairness index that measures the degree of equity in a given routing-scheduling plan, based on factors such as the distribution of hazmat routes and the impact on vulnerable populations. Fairbrother et al. (2020) studied the problem of scheduling time slots allocated to airlines for landing and taking off at airports. The authors proposed a slot-scheduling mechanism that takes into account efficiency, fairness, and airline preferences. The proposed mechanism involves a two-stage process where airlines first submit their slot requests, and then a slot-allocation algorithm is used to allocate the slots in a way that maximizes airport capacity, satisfies fairness constraints, and accommodates airline preferences. Angelelli et al. (2022) studied the use of demand-responsive transportation services and how collaboration between companies offering shared taxi services can lead to reduced costs, increased revenues, and a reduced environmental impact. The authors proposed mixed integer programming models for optimizing routes that incorporate constraints aimed at controlling the workload exchange between companies. An efficient heuristic algorithm is also presented to demonstrate the effectiveness of collaboration and the benefits of such a system. Eikenbroek and Still (Eikenbroek et al. 2022) discussed traffic management measures aimed at achieving the system optimum, which is the traffic state with minimum total travel time. But some drivers do not comply with advice to take longer paths for the system’s benefit, and the optimal state is not achieved. The authors proposed a social routing strategy that considers fairness in the resulting state and asks travelers to take a limited detour to improve efficiency. They showed that the best possible paths can be found by solving a bilevel optimization problem, and they use a descent algorithm to solve this problem. Numerical experiments demonstrate that the proposed routing strategy substantially improves the performance of the traffic system with only a small fraction of drivers taking a limited detour. (Xu et al. 2022) addressed the problem of truck routing and platooning considering drivers’ mandatory breaks, designated intermediate relays, and platoon size limit, to minimize fuel consumption while ensuring timely delivery of trucks. The problem is solved using a mixed-integer linear programming (MILP) model and a hybrid algorithm.

2.2 Fairness in the objective function

Ramos et al. (2014) aimed to provide a sustainable reverse logistics plan considering economic, environmental, and social objectives (promotion of equity among human resources). They propose a mathematical model for a multi-objective, multi-depot vehicle routing problem and provides a solution approach to obtain a balanced solution. The approach is validated with a real case study on recyclable waste collection systems. Jütte et al. (2017) presented a model for scheduling railway crew with the inclusion of fairness preferences. The proposed model incorporates fairness criteria, such as equal workload distribution, equal weekend work, and equal break times, into the optimization objective function. The model also includes constraints that ensure that each worker has a minimum number of rest days and maximum working hours per day and week. Ma et al. (2017) studied the issue of fairness in the scheduling of bus-crews. They proposed a model that takes into account the preferences of the bus-crew members in terms of work schedules and the fairness of the schedules among the crew members. The fairness is represented by the cost of potentially unfair working time, which is incorporated in the objective function. Rabbani (2019) proposed a sustainable vehicle routing problem model that considers mixed close and open routes, multiple servicing depots, heterogeneous fleets, and different waste capacities. The objective is to optimize three functions simultaneously: minimizing the cost of waste collection, minimizing pollutants emitted by the vehicles, and minimizing violation of servicing time limitations. Sühr et al. (2019) studied the problem of treatment of drivers in ride-hailing platforms such as Uber and Lyft. The authors argued that these platforms need to consider the fair distribution of income and power dynamics between the platform and drivers. They proposed a new framework for fairness in matching mechanisms, which distributes benefits to drivers over time based on their activity on the platform. Brar et al. (2020) investigated the problem of designing a taxi fleet management system that is fair for both drivers and passengers. The authors proposed an approach that ensures service fairness by assigning fares to drivers based on a rotation schedule, rather than a first-come, first-served basis. The rotation schedule is designed to ensure that all drivers have an equal opportunity to earn fares, regardless of their seniority or the time of day. Mojtahedi (2021) introduced a new framework that considers financial, environmental, and social considerations for vehicle routing in coordinated solid waste management. The objective is to minimize fleet size, transportation cost, CO\(_2\) emissions, and fair load assignment in the transfer stations. Dukkanci et al. (2022) studied a vehicle routing problem with the objectives of minimizing fuel consumption and maximizing driver and customer welfare.

2.3 Fairness as a part of social sustainability

Our work is also related to the stream of research on sustainable transportation since fairness can be considered as part of social sustainability. Omidvar and Tavakkoli-Moghaddam (2012) discussed sustainable vehicle routing for alternative fuel vehicles, with the primary objective of minimizing energy and fuel consumption while reducing greenhouse gas emissions. Micale (2019) incorporates complex real-world constraints such as different types of vehicles with varying capacity, velocity, and emissions, asymmetric paths, vehicle-client constraints, and delivery time windows in a vehicle routing problem. Govindan et al. (2019) proposed a distribution network model that incorporates environmental and social impacts (variable and fixed job opportunities). Kumar and Anbanandam (2022) proposed an environmental and social sustainability framework to evaluate and enhance sustainability in the freight industry considering environmental dimension (internal and external management practices, freight distribution and fleet operations, etc), social dimension (internal human resources, external population, stakeholder and macro social performance). Prajapati (2022) proposed an optimisation model for a sustainable agro-food grains supply chain in urban and rural areas, considering economic, environmental, and social sustainability aspects (accidents).

2.4 Contributions

Our work extends the literature by proposing a bi-objective sustainable transportation model of profit and fairness. We use the weighted comprehensive criterion method that allows for the simultaneous optimization of multiple objectives (profit and fairness). This method enables the decision-maker to balance the trade-off between profit maximization and fairness considerations in a systematic and efficient manner. Furthermore, we introduce an iterative population-based heuristic that is capable of solving large-scale instances of the problem. We demonstrate the effectiveness of our approach by comparing its performance with the exact approach, and we show that the heuristic approach provides comparable results. We also consider another formulation of the problem where drivers are rewarded when their driving time is greater than the average. Overall, our work contributes to the development of fair and efficient transportation systems by providing decision-makers with a tool to optimize profit while considering a fairness objective.

3 Problem description and formulation

We study the fairness problem between truck drivers in a delivery company. In a given service day, customers (\({\mathcal {A}}\)) are to be visited by at least one truck v. Each truck v will deliver from the company’s warehouse \(i_0\) to a set of customers part of their demand (\(Q_p\)) of product p and will return any damaged units while respecting the truck’s capacity (\(\text {Cap}_v\)) (see Fig. 1 for an illustrative example). The average speed of each truck from each location to the other is optimized and linked to fuel consumption. To keep the formulation linear, the speed is split into a set of discrete values (\(S_{i,j}^r\)) and the model identifies the optimal speed level value \(r \in {\mathcal {R}}\) through the decision variable (\(x_{i,j}^{v,r}\)). The total profit considers the revenue from delivering and returning units minus fixed cost for using trucks, fuel cost, drivers’ wages. Fairness between drivers is considered by balancing the traveling time. For each driver,the time deviation (\(\eta ^v\)) is calculated as the difference between the truck’s traveling time and the average time of all trucks. Thus, the fairness objective aims to minimize the maximum deviation. Consequently, the proposed model accounts for the three sustainability pillars, where economic aspects are considered in the profit maximization, social aspects are considered in the fairness part and incorporating the fuel cost in the objective function allows for environmental consideration. In the following subsections, we list the notations, the economic objective and the fairness functions, and the routing constraints.

Fig. 1
figure 1

An illustrative example that depicts the problem under study, featuring a single central warehouse, six customers, and a fleet of three vehicles

3.1 Sets and Parameters

  • \({\mathcal {A}}\): the set of depot and customers, indexed by i or j. \(|{\mathcal {A}}|\) is the cardinality of \({\mathcal {A}}\).

  • \({\mathcal {P}}\): the set of products to be delivered or collected, indexed by p. \(|{\mathcal {P}}|\) is the cardinality of \({\mathcal {P}}\).

  • \({\mathcal {R}}\): the set of speed levels, indexed by r. \(|{\mathcal {R}}|\) is the cardinality of \({\mathcal {R}}\).

  • \({\mathcal {V}}\): the set of available vehicles, indexed by v. \(|{\mathcal {V}}|\) is the cardinality of \({\mathcal {V}}\).

  • \(S_{i,j}^{r}\): the average speed value in [km/h] for the route between customer i and customer j using speed level r.

  • \(i_0\): the warehouse location of the delivery company.

  • \(\text {Cap}_v\): the maximum carrying capacity of vehicle v.

  • \(\text {Source}_p\): the source location of product p.

  • \(\text {Dest}_p\): the destination location of product p.

  • \(Q_p\): the maximum quantity available of product p.

  • \(d_{i,j}\): the direct traveling distance between customer i and customer j.

  • \(\tau _i\): the service time (including material handling, documentation, etc.) at location i.

  • \(\theta _{i,j}\): average road angle in degrees between i and j.

  • \(a_{i,j}^{v,r}\): average acceleration of vehicle v from i to j using speed value r.

  • M: a very large number.

  • \(M_1\): the weight of a vehicle when it is empty, \(M_1 = 6350\) kilogram.

  • \(M_2\): fuel-to-air mass ratio, \(M_2 = 1\).

  • \(M_3\): vehicle engine friction factor, \(M_3 = 0.2\) kilojoule/revolution/liter.

  • \(M_4\): vehicle average second-by-second engine speed, \(M_4=33\) revolution/second.

  • \(M_5\): engine displacement of the vehicle,\(M_5= 5\) liter.

  • \(M_6\): gravitational constant,\(M_6 = 9.81\) meter/square second.

  • \(M_7\): coefficient of aerodynamic drag of the vehicle, \(M_7=0.7\).

  • \(M_8\): air density, \(M_8 = 1.2041\) kilogram/cubic meter.

  • \(M_9\): frontal surface area of the vehicle, \(M_9=3.912\) square meter.

  • \(M_{10}\): coefficient of rolling resistance of the vehicle, \(M_{10}=0.01\).

  • \(M_{11}\): vehicle drive train efficiency, \(M_{11} = 0.4\).

  • \(M_{12}\): diesel engine efficiency, \(M_{12} = 0.9\).

  • \(M_{13}\): heating value of a typical diesel fuel, \(M_{13} = 44\) kilojoule/gram.

  • \(M_{14}\): conversion factor from gram/second to liter/second, \(M_{14}=747\).

  • \(\Lambda\): a vehicle constant, calculated as \(\frac{M_2}{M_{13}M_{14}}\).

  • \(\Gamma\): a vehicle constant, calculated as \(\frac{1}{10^3 M_{11}M_{12}}\).

  • \(\beta\): a vehicle-arc constant, calculated as \(0.5M_{7}M_{8}M_{9}\).

  • \(C_{\text {fuel}}\): fuel price per liter, \(C_{\text{fuel}} =\) £1.71/liter.

  • \(C_{\text {driver}}\): driver wage, \(C_{\text {driver}} =\) £14.5/hour.

  • \(C_{\text {Fixed}}^v\): fixed cost for using vehicle v.

  • \(\text {Rev}^p\): revenue per unit for commodity p.

3.2 Decision variables

  • \(x_{i,j}^{v,r}\): this binary decision variable indicates the route taken by the vehicle. It takes a value of 1 if customer j is directly visited from customer i using vehicle v and speed level r, and 0 otherwise.

  • \(y_i^v\): this binary variable takes a value of 1 if customer i is visited using vehicle v, and 0 otherwise.

  • \(u_i^v\): this integer decision variable represents the sequence of visiting customer i using vehicle v. It is utilized in the MTZ sub-tour elimination constraint.

  • \(F_{i,j}^{p,v}\): this continuous variable represents the quantity of product p carried using vehicle v on the route (ij).

  • \(\zeta\): this continuous variable represents the average driving time.

  • \(\eta ^v\): this continuous variable represents the difference between the total driving time of vehicle v and the average driving time \(\zeta\).

  • \(\omega\): this continuous variable captures the maximum deviation (\(\max _v \eta ^v\)).

3.3 Economic function

The economic objective function aims to maximize the profit (\(Z_1\)). The total revenue (\(C_1\)) is calculated considering the unit revenue and the quantity transported (Eq. (1)). The total cost (\(C_2 + C_3 + C_4\)) consists of the total vehicle fixed cost, total fuel cost and total driver wage. The total vehicle fixed cost (\(C_2\)) is used to cover part of the vehicle’s insurance and periodic maintenance costs. The total fuel cost (\(C_3\)) calculates the consumed fuel and multiplies it by the fuel price as described in Demir et al. (2014). The total wage (\(C_4\)) is calculated by multiplying the hourly wage rate by the total traveling time.

Remark 1

Incorporating total fuel consumption into the objective function guarantees minimization of the overall fuel expenses, accounting for the operational constraints and other elements of the function. Consequently, since emissions are proportional to fuel usage, this approach also addresses environmental concerns.

$$\begin{aligned} C_1= & {} \sum _{p\in {\mathcal {P}}}\sum _{v\in {\mathcal {V}}}\sum _{j\in {\mathcal {A}} \setminus \{\text {Source}_p\}}{\text {Rev}^p \times F_{\text {Source}_p,j}^{p,v}}, \end{aligned}$$
(1)
$$\begin{aligned} C_2= & {} \sum _{v\in {\mathcal {V}}}{C^v_{\text {Fixed}} \times y_{i_0}^v} \end{aligned}$$
(2)
$$\begin{aligned} C_3 &= {} C_{\text {fuel}} \times \sum _{i\in {\mathcal {A}}} \sum _{j\in {\mathcal {A}}}\sum _{v\in {\mathcal {V}}}\nonumber \\{} & {} \quad \Bigg [\sum _{r\in {\mathcal {R}}} \Big [M_{3}M_{4}M_{5}\Lambda \left( \frac{d_{i,j}}{S_{i,j}^r}\right) x_{i,j}^{v,r} + \beta \Lambda \Gamma d_{i,j}(S_{i,j}^r)^2 x_{i,j}^{v,r} \nonumber \\{} & {} \quad +\left( M_{6}\sin \left( \frac{\theta _{i,j}\pi }{180}\right) + M_{6}M_{10}\cos \left( \frac{\theta _{i,j}\pi }{180}\right) +a_{i,j}^{v,r}\right) \times M_{1}\Gamma \Lambda d_{i,j} x_{i,j}^{v,r} \Big ] \nonumber \\{} & {} \quad +\sum _{p\in {\mathcal {P}}} \left( M_{6}\sin \left( \frac{\theta _{i,j}\pi }{180}\right) + M_{6}M_{10}\cos \left( \frac{\theta _{i,j}\pi }{180}\right) +a_{i,j}^{v,r}\right) \times \Lambda \Gamma d_{i,j}F_{i,j}^{p,v}\Bigg ] \end{aligned}$$
(3)
$$\begin{aligned} C_4 &= {} C_{\text {driver}}\times \sum _{i\in {\mathcal {A}}}\sum _{j\in {\mathcal {A}}}\sum _{r\in {\mathcal {R}}} \sum _{v\in {\mathcal {V}}}\frac{d_{i,j}}{S_{i,j}^r} x_{i,j}^{v,r} \end{aligned}$$
(4)
$$\begin{aligned} \max Z_1= {} C_1 - (C_2 + C_3 + C_4) \end{aligned}$$
(5)

3.4 Fairness function

To improve fairness between drivers (\(Z_2\)), one possibility is to consider minimizing the maximum deviation. This reduces any deviations from the average value and improves fairness between drivers in terms of customer allocation and driving times. The model, in this case, is bi-objective.

$$\begin{aligned} \min Z_2 = \omega \end{aligned}$$
(6)

subject to

$$\begin{aligned} \omega= {} \max _{v \in {\mathcal {V}}}{\eta ^v - M(1 - y_{i_0}^v)}. \end{aligned}$$
(7)
$$\begin{aligned} \eta ^v= {} \Big |\zeta - \sum _{r\in {\mathcal {R}}}{\sum _{i\in {\mathcal {A}}} {\sum _{j\in {\mathcal {A}}}{\Big (\tau _i + \frac{d_{i,j}}{S_{i,j}^r}\Big )x_{i,j}^{v,r}}}}\Big |, \ \ \ \ \ \forall v \in {\mathcal {V}}, \end{aligned}$$
(8)
$$\begin{aligned} \zeta= {} \frac{\sum _{v\in {\mathcal {V}}}\sum _{r\in {\mathcal {R}}} {{\sum _{i\in {\mathcal {A}}}{\sum _{j\in {\mathcal {A}}}{\Big (\tau _i + \frac{d_{i,j}}{S_{i,j}^r}\Big )x_{i,j}^{v,r}}}}}}{\sum _{v \in {\mathcal {V}}}{y_{i_0}^v}}, \end{aligned}$$
(9)

Constraint(7) finds the maximum deviation and assigns it to \(\omega\). Constraint(8) calculates the deviation of vehicle’s v travelling time from the average. Constraint (9) calculates the average total travelling time.

Equations (7)–(9) are nonlinear and can be converted to linear as follows. First, Equation (9) requires knowing the number of used vehicles, which is a decision variable. Introducing \({\mathcal {B}}^v\) as a binary decision variable that is equal to 1 to indicate that up to v vehicles are used by the model, 0 otherwise. We also use \(\sigma ^v\) to store the average travelling time based on each possible number of vehicle. Then the following constraints can be added:

$$\begin{aligned}{} & {} \sum _{v \in {\mathcal {V}}}{{\mathcal {B}}^v = 1,} \end{aligned}$$
(10)
$$\begin{aligned}{} & {} v {\mathcal {B}}^v \le \sum _{v \in {\mathcal {V}}}{y_{i_0}^v} \le v {\mathcal {B}}^v + |{\mathcal {V}} |(1- {\mathcal {B}}^v),\ \ \ \ \ \forall v \in {\mathcal {V}}, \end{aligned}$$
(11)

Constraint (10) ensures that only one \({\mathcal {B}}^v\) will be one. Constraint (11) links \({\mathcal {B}}^v\) with the total number of used vehicles (\(\sum _{v \in {\mathcal {V}}}{y_{i_0}^v}\)), such that \({\mathcal {B}}^v\) is only one when v corresponds to the total number of used vehicles. If v is less than the used vehicles, the upper bound of the constraints forces \({\mathcal {B}}^v\) to be zero to activate \(|{\mathcal {V}} |(1- {\mathcal {B}}^v)\) and if v is greater than the total number of used vehicles, the lower bound is bounded \(v {\mathcal {B}}^v\) forces \({\mathcal {B}}^v\) to be zero. Thus, \({\mathcal {B}}^v\) will only be one when v corresponds to \(\sum _{v \in {\mathcal {V}}}{y_{i_0}^v}\).

Equation (9) can then be modified to

$$\begin{aligned}{} & {} \sigma ^v =\frac{\sum _{v\in {\mathcal {V}}}\sum _{r\in {\mathcal {R}}} {{\sum _{i\in {\mathcal {A}}}{\sum _{j\in {\mathcal {A}}}{\Big (\tau _i + \frac{d_{i,j}}{S_{i,j}^r}\Big )x_{i,j}^{v,r}}}}}}{v}, \ \ \ \ \ \forall v \in {\mathcal {V}}, \end{aligned}$$
(12)
$$\begin{aligned}{} & {} \sigma ^v - M(1-{\mathcal {B}}^v) \le \zeta \le \sigma ^v + M(1-{\mathcal {B}}^v),\ \ \ \ \ \forall v \in {\mathcal {V}}, \end{aligned}$$
(13)

Constraints (12) and (13) convert the non-linear average constraint to linear. Equation (12) calculates the average value for each number of vehicle and Eq. (13) assigns \(\sigma ^v\) to \(\zeta\) when \({\mathcal {B}}^v\) is equal to 1.

The absolute function in Eq. (8) can be replaced by the following inequalities.

$$\begin{aligned}{} & {} \eta ^v \ge \zeta -\sum _{r\in {\mathcal {R}}}{\sum _{i\in {\mathcal {A}}} {\sum _{j\in {\mathcal {A}}}{\Big (\tau _i+ \frac{d_{i,j}}{S_{i,j}^r}\Big ) x_{i,j}^{v,r}}}}, \ \ \ \ \ \forall v \in {\mathcal {V}}, \end{aligned}$$
(14)
$$\begin{aligned}{} & {} \eta ^v \ge \sum _{r\in {\mathcal {R}}}{\sum _{i\in {\mathcal {A}}} {\sum _{j\in {\mathcal {A}}}{\Big (\tau _i + \frac{d_{i,j}}{S_{i,j}^r}\Big )x_{i,j}^{v,r}}}} - \zeta , \ \ \ \ \ \forall v \in {\mathcal {V}}, \end{aligned}$$
(15)

Finally, the maximum function is replaced by an inequality subject to minimising \(\omega\) in the objective function, where the deviation of vehicle v is skipped if the vehicle is not used (\(- M(1 - y_1^v)\)).

$$\begin{aligned} \omega \ge \eta ^v - M(1 - y_{i_0}^v), \ \ \ \ \ \forall v \in {\mathcal {V}}, \end{aligned}$$
(16)

Another possibility is to award drivers with driving time more than the average. In this case, Eq. (14) is eliminated, so that only positive differences are considered. Consequently, the objective function is given by

$$\begin{aligned} Z_2 = \sum _{v\in {\mathcal {V}}} C_{\text {fairness}}\eta ^v \end{aligned}$$
(17)

Since Eq. (17) is monetary. It can be included in the total cost objective function. Thus, in such case, the model becomes a single objective.

3.5 Routing model constraints

$$\begin{aligned}{} & {} \sum _{r \in {\mathcal {R}}}{\sum _{i \in {\mathcal {A}}: i \ne j}{x_{i,j}^{v,r}}} = y_j^v,\ \ \ \forall j \in {\mathcal {A}},\ v \in {\mathcal {V}}, \end{aligned}$$
(18)
$$\begin{aligned}{} & {} \sum _{r \in {\mathcal {R}}}{\sum _{j \in {\mathcal {A}}: i \ne j}{x_{i,j}^{v,r}}} = y_i^v,\ \ \ \forall i \in {\mathcal {A}},\ v \in {\mathcal {V}}, \end{aligned}$$
(19)
$$\begin{aligned}{} & {} \sum _{v \in {\mathcal {V}}}{y_i^v} \ge 1,\ \ \ \forall i\in {\mathcal {A}} \setminus \{i_0\}, \end{aligned}$$
(20)
$$\begin{aligned}{} & {} u_i^v - u_j^v +(|{\mathcal {A}}|-1) \sum _{r\in {\mathcal {R}}}{x_{i,j}^{v,r}} \le |{\mathcal {A}}|-2, \ \ \ \forall i \in {\mathcal {A}}\setminus \{i_0\},\ j \in {\mathcal {A}}\setminus \{i_0\},\ v \in {\mathcal {V}}, \end{aligned}$$
(21)
$$\begin{aligned}{} & {} 2 \le u_i^v \le |{\mathcal {A}}|,\ \ \ \forall i \in {\mathcal {A}}\setminus \{i_0\},\ v\in {\mathcal {V}}, \end{aligned}$$
(22)
$$\begin{aligned}{} & {} u_{i_0}^v = 1, \ \ \ \forall v\in {\mathcal {V}}, \end{aligned}$$
(23)
$$\begin{aligned}{} & {} \sum _{j\in {\mathcal {A}}}{F_{i,j}^{p,v}} = \sum _{j\in {\mathcal {A}}}{F_{j,i}^{p,v}},\nonumber \\{} & {} \quad \ \forall i \in {\mathcal {A}},\ v \in {\mathcal {V}},\ p \in {\mathcal {P}}, i \ne \text {Source}_p, i \ne \text {Dest}_p, \end{aligned}$$
(24)
$$\begin{aligned}{} & {} \sum _{p\in {\mathcal {P}}}{F_{i,j}^{p,v}} \le \text {Cap}_v \sum _{r\in {\mathcal {R}}}{x_{i,j}^{v,r}}, \ \ \ \forall i \in {\mathcal {A}},\ j \in {\mathcal {A}},\ i \ne j, \end{aligned}$$
(25)
$$\begin{aligned}{} & {} \sum _{j\in {\mathcal {A}}: j \ne \text {Source}_p}{F_{j,\text {Source}_p}^{p,v}} = 0, \ \ \ \forall v \in {\mathcal {V}},\ p\in {\mathcal {P}}, \end{aligned}$$
(26)
$$\begin{aligned}{} & {} \sum _{j\in {\mathcal {A}}: j \ne \text {Dest}_p}{F_{\text {Dest}_p,j}^{p,v}} = 0, \ \ \ \forall v \in {\mathcal {V}},\ p \in {\mathcal {P}}, \end{aligned}$$
(27)
$$\begin{aligned}{} & {} \sum _{v \in {\mathcal {V}}}{\sum _{j \in {\mathcal {A}}: j \ne \text {Source}_p}{F_{i,j}^{p,v}}} \le Q_p, \ \ \ \forall p \in {\mathcal {P}}, \end{aligned}$$
(28)
$$\begin{aligned}{} & {} F_{i,j}^{p,v}\ge 0,\ \ \ \forall i \in {\mathcal {A}},\ j \in {\mathcal {A}},\ p \in {\mathcal {P}},\ v\in {\mathcal {V}},\nonumber \\{} & {} \quad x_{i,j}^{v,r}\ge 0,\ \ \ \forall i \in {\mathcal {A}},\ j \in {\mathcal {A}},\ v\in {\mathcal {V}},\ r\in {\mathcal {R}},\nonumber \\{} & {} \quad y_i^v \in \{0,1\},\ \ \ \forall i \in {\mathcal {A}},\ v \in {\mathcal {V}}, \nonumber \\{} & {} \quad u_i^v \in {\mathbb {Z}},\ \ \ \forall i \in {\mathcal {A}},\ v \in {\mathcal {V}}. \end{aligned}$$
(29)

Equations (18) and (19) ensure that if vehicle v goes to customer i (\(y_i^v = 1\)), then it comes from one customer and leaves to one customer. Constraint (20) ensures that each customer is visited by at least one vehicle. Equations (21)–(23) are the classical MTZ subtour elimination constraints that prevent having multiple tours. Constraint (24) ensures flow conservation. Constraint (25) ensures that the total transported quantity by vehicle v does not exceed its capacity. Constraints (26) and (27) prevent transporting commodity p to its source or from its destination. Constraint (28) ensures that for each commodity, the total transported quantity by all vehicles does not exceed the available quantity. Constraint (29) defines the variable types.

4 Solution approach

The model is a bi-objective in the case where the maximum deviation needs to be minimized and the profit is to be maximized. Since objective functions have different unit and different order of magnitude, we utilize the weighted comprehensive criterion method to solve it and provide decision makers with a particular solution that aligns with their interest (Hamdan et al. 2018; Cheaitou et al. 2021; Hamdan et al. 2017). This method normalizes the two objective functions by calculating their relative difference from their ideal values as follows.

$$\begin{aligned} z = \alpha _1 \frac{Z_1^{ideal} - Z_1}{Z_1^{ideal}} + (1-\alpha _1) \frac{Z_2 - Z_2^{ideal}}{Z_2^{ideal}} \end{aligned}$$
(30)

where \(\alpha _1\) is the importance weight of the profit objective function, \(Z_1^{ideal}\) is the ideal profit value resulting from solving the model while maximizing the profit objective function only and \(Z_2^{ideal}\) is the ideal maximum deviation resulting from solving the model while minimizing the maximum deviation. Note that \(\alpha _1\) represents the decision maker’s preference.

We use the \(\epsilon\)-constraint method to handle the non-convex nature of the objective functions when generating the Pareto optimal set. In this method, one of the objectives is selected as the primary objective to be optimized, while the others are converted into constraints with a specified threshold, known as the \(\epsilon\) value. The mathematical formulation of the model using the \(\epsilon\)-constraint method is as follows:

$$\begin{aligned} \begin{aligned}&\max Z_1&\text {subject to}{} & {} Z_2 \le \epsilon , \end{aligned} \end{aligned}$$
(31)

where \(Z_1\) represents the profit function to be maximized, \(Z_2\) represents the maximum deviation function to be minimized, and \(\epsilon\) is the allowable maximum deviation threshold. By systematically varying the value of \(\epsilon\), different points on the Pareto optimal set are identified. Each value of \(\epsilon\) leads to a different feasible solution space and, thus, a different optimal solution for the primary objective \(Z_1(x)\). The set of these optimal solutions constitutes the Pareto optimal set, providing a spectrum of trade-off solutions between profit maximization and deviation minimization. The Pareto optimal set generated by the \(\epsilon\)-constraint method gives decision-makers the flexibility to choose the most appropriate trade-off according to their preference or policy constraints.

The problem proposed in this work can be simplified to the well-known traveling salesman problem by assuming a single vehicle, fixed speed, unlimited capacity, and that all customers are visited only once. Therefore, the problem is classified as NP-hard, as previously shown by Karp (1972). To solve large-sized instances, we propose an iterative population-based heuristic.

  • \(\mu\): the number of operations.

  • \(\Pi\): an integer multiplier for the number of individuals.

  • \(\Psi\): the number of individuals created by the algorithm, indexed by \(\psi = 1,\dots ,\Psi\). Note that \(\Psi = \Pi \times \mu\).

  • \(Veh_{\psi }\): the set of selected vehicles for individual \(\psi\).

  • \(\text {Route}_{\psi }^{v}\): the customers visited by vehicle v (and their visiting sequence) in individual \(\psi\).

  • \(\text {Quant}{\psi }^{v}\): the quantities transported to the customers in \(\text {Route}{\psi }^{v}\) using vehicle v.

  • \(\text {SpeedLevel}{\psi }^{v}\): the average driving speeds to visit the customers in \(\text {Route}{\psi }^{v}\).

  • \(V_{\psi }\): the number of vehicles in individual \(\psi\), which is equal to the cardinality of \(Veh_{\psi }\).

  • \(n_{\psi }^{v}\): the number of customers included in the service of vehicle v in individual \(\psi\).

  • \(\Delta\): the maximum number of iterations, with \(\delta = 1,\dots ,\Delta\).

  • randi(a,b): a function that generates a random integer between a and b.

  • randperm(a,b): a function that returns a random permutation of a with b elements chosen.

  • \(\varphi ^{\text {max}}\): the maximum number of iterations without a change in the best objective value.

  • \(\Xi\): the number of subgroups calculated as \(\Xi = \frac{\Psi }{\Pi \mu }\), with \(\xi = 1,\dots ,\Xi\).

The heuristic in Algorithm 1 generates \(\Psi\) individuals that satisfy all constraints using Algorithm 2. It then evaluates each individual \(\psi\) by calculating its objective value (\(Z_1\), \(Z_2\), or z). The individuals are randomly divided into \(\Xi\) subgroups, with each subgroup containing \(\mu\) individuals. The best individual in each subgroup \(\xi\) is selected and subjected to \(\mu\) operations, which are:

  1. 1.

    Route flip, which reverses the sequence of customers in a randomly selected vehicle.

  2. 2.

    Route swap, which changes the sequence of two randomly chosen customers in a randomly selected vehicle.

  3. 3.

    Route slide, which changes the position of a randomly selected customer in a randomly selected vehicle.

  4. 4.

    One speed change, which changes the speed on one randomly chosen arc in a randomly selected vehicle.

  5. 5.

    Speed change, which changes the speed values on all arcs in a randomly selected vehicle.

  6. 6.

    Quantity transfer, which selects two vehicles transporting to the same customer and swaps the smallest quantity between the customers.

  7. 7.

    Vehicle change, which randomly selects a vehicle and changes its type from the available options.

  8. 8.

    Swap customers, which selects two random vehicles and swaps unique customers between them without violating vehicle capacities.

  9. 9.

    Remove a customer, which removes a randomly selected customer from the service.

  10. 10.

    Add a customer, which adds a customer not currently in the service.

  11. 11.

    Add an additional driver, which adds another vehicle to the service from the list of unused vehicles and assigns customers to it.

  12. 12.

    Do nothing, which keeps the best individual in the \(\xi\) subgroup unchanged.

The heuristic performs a total of 15 operations by repeating Operations (1)–(3) on the \(\text {SpeedLevel}_{\psi }^{v}\) chromosome. The resulting modified individuals replace the original ones in an attempt to improve the solution quality. In each subsequent iteration, the new individuals are evaluated, and the best individual is retained while the process is repeated. If the number of iterations without improvement in the best objective value reaches \(\varphi ^{\text {max}}\), completely new random individuals are created by calling Algorithm 2 to maximize diversity and escape local optima.

Algorithm 1
figure a

Main algorithm

Algorithm 2 performs various checks on the total quantity transported, vehicle load, and chromosome consistency. It takes as input the number of individuals to generate (\(\Psi\)), the set of vehicles (\({\mathcal {V}}\)), the set of locations (\({\mathcal {A}}\)), the demand at each location (Q), the starting location for each vehicle (S), and the capacity of each vehicle (\(\text {Cap}_v\)).

The algorithm first randomly selects a starting number of vehicles (\(V_{\psi }\)) and corresponding vehicles for each individual (potential solution \(\psi\)), and then generates a set of random routes (\(\text {Route}{\psi }^{v}\)) for each vehicle v in the individual. The algorithm then loads each vehicle with a random fraction of the demand of each location (\(\text {Quant}{\psi }^{v,\text {Route}_{\psi }^{v}}\)) and checks the total quantity loaded on all vehicles for each solution against the demand of the location. If the quantity is not equal to the demand of the location, the algorithm adjusts the quantity until the demand is fulfilled. Next, the algorithm checks if the capacity constraint of each vehicle is violated. If the capacity of a vehicle is exceeded, the algorithm either selects another vehicle with available capacity or adds a new vehicle. It then assigns a random location to the new vehicle and transfers demand to the new vehicle until the capacity constraint is satisfied. Finally, the algorithm updates the route for each vehicle to include all locations in the quantity chromosome for each vehicle, and assigns a random speed level (\(\text {SpeedLevel}_{\psi }^{v}\)) to each vehicle and each route. This process is repeated \(\Psi\) times to generate a set of feasible solutions.

Algorithm 2
figure b

Create feasible solutions

Remark 2

Operation 10 is ignored if the model requires visiting all customers (Constraint (20)) and that \(n_{\psi }^{v}\) in Algorithm 2 is set to \(|{\mathcal {A}}|\).

5 Heuristic performance

We compare the proposed iterative heuristic and the exact approach to show the robustness of the proposed algorithm. We use the Instance Set A of the Pollution-Routing Problem datasets proposed by Demir et al. (2012) in our numerical experiments, since these datasets contain most of the parameters used in our problem, especially those of the fuel consumption. The dataset coding system is UK-X-Y, where X is the number of customers excluding the depot, signifying the instance size, and Y distinguishes between different instances of the same size X with varying parameters or conditions. X is considered to be 10, 15, 20, 25, 50, and 75. Three different instances for each size (X) are considered, labeled as Y = 1, 2, and 3. We conduct the analysis on a computer running Windows 11 with an Intel(R) Core(TM) i7-9750 H CPU @ 2.60GHz and 16-GB RAM.

We set a time limit of three hours for the CPLEX exact solver. In the heuristic, we vary the number of iterations (\(\Delta\)) from 1000 to 15000 iterations with a step of 1000 iterations. We use a multiplier for the number of individuals \(\Pi = 3\). The heuristic solution is repeated 5 times.

Table 1 shows the MIP gap provided by the solver upon termination and the relative gap between the exact and heuristic approaches, calculated as \(E_{Z_1} = 100 \times \frac{Z_1^{\text {Exact}} - Z_1^{\text {Heuristic}}}{Z_1^{\text {Exact}}}\) and \(E_{Z_2} = 100 \times \frac{Z_2^{\text {Heuristic}} - Z_2^{\text {Exact}}}{Z_2^{\text {Exact}}}\) for the profit maximization and the maximum deviation minimization problems, respectively. Instances “UK-50-1” through “UK-75-3” could not be solved by CPLEX within the three-hour limit. Thus, their MIP values in the table are replaced by an asterisk (*). Table 1 shows that the average relative gap is acceptable (i.e., less than 5%) and that for most instances, it is below 1%.

Table 2 gives the computation time of the exact approach in seconds and the time saving of the heuristic approach \(\text {TS} = 100 \times \frac{\text {Time}^{\text {Exact}} - \text {Time}^{\text {Heuristic}}}{\text {Time}^{\text {Exact}}}\) in the case of large-sized instances that could not be solved, or that took significant computational time using the exact solver. Table 2 shows that the time saving (i.e., the percentage reduction in computational time) varies between 16% and 99% depending on the problem size and the objective function setting.

Table 1 Relative gap between the exact and heuristic approaches at \(\Delta =\) 15000 iterations
Table 2 Exact computation time (seconds) and time saving when using the heuristic approach at \(\Delta =\) 15000 iterations

6 Insights

In this section, we evaluate the proposed model using three instances based on locations in the UK (P-5, P-6, and P-7). The distances between these locations are given in Table 3. Note that customer 6 is included in instances P-6 and P-7, and customer 7 is included in instance P-7 only. The characteristics of these instances are provided in Table 4. We analyze two problem formulations: the first considers a bi-objective approach that aims to maximize the total profit while minimizing the maximum deviation, and the second employs a single objective formulation that incorporates fairness cost into profit maximization, as described in Sect. 3.4. We refer to the second formulation using the letter “R”, e.g. P-5-R.

Table 3 Distance in kilometers
Table 4 Instance details

6.1 Fairness price

We compare the total profit when fairness between drivers is not maximized (i.e., maximization of the total profit problem) and the case when fairness is fully maximized (i.e., minimization of the maximum deviation problem). We report the fairness price, which is the relative difference between the total profit when fairness is not maximized and the total profit when fairness is fully maximized, calculated as \(100\times \frac{Z_1^{\text {No Fairness}}-Z_1^{\text {fairness}}}{Z_1^{\text {No fairness}}}\) (Hamdan et al. 2022). Figure 2 shows that the price of fairness varies between 3.74% and 39.64%. This means that for some instances, imposing fairness between drivers does not lead to a significant reduction in total profit, while in others it can result in a profit reduction of 39.64%. Thus, ensuring equal driving times might not be economically viable in some cases. In such instances, reward programs that provide incentives for drivers to accept driving, such as a higher pay rate for driving longer, might be more suitable.

Fig. 2
figure 2

Price of fairness

6.2 Impact of fairness cost on the profit

We are examining the problem setup as described in Sect. 3.4 with Eq. (17). By adding Eq.  (17) to the total cost, the model becomes a single objective maximizing the total profit. In this context, drivers who have a longer travel time than the average are rewarded with \(\sum _{v\in {\mathcal {V}}}C_{\text {fairness}} \times \eta ^v\). The fairness cost, which is \(C_{\text {fairness}} + C_{\text {driver}}\) of the regular driver wage, can be viewed as a bonus when the driving time exceeds the average. To analyze the impact of the fairness cost, we vary \(C_{\text {fairness}}\) [£/hour] as follows: 0, 10, 14.5, 20, 50.

Figure 3 shows the total deviation and total profit (excluding the total fairness cost) as a function of the fairness cost. Figure 4 displays the changes in the total fuel cost and total driver wage compared to the case with no fairness (\(C_{\text {fairness}} = 0\)) calculated as \(100 \times \frac{ C_3 - C_3^{C_{\text {fairness}}=0}}{C_3^{C_{\text {fairness}}=0}}\). A positive cost change indicates an increase in cost compared to the case without a fairness cost.

When the fairness cost is less than or equal to the hourly driver wage \(C_{\text {driver}}\), specifically \(C_{\text {fairness}} = 10\) or \(14.5\), the total deviation decreases compared to the case when \(C_{\text {fairness}} = 0\). Concurrently, the total profit also decreases due to the increase in total fuel cost. This reduction in total deviation is associated with an increase in both total fuel consumption and the total driver wage, as illustrated in Fig. 4. In some scenarios, such as P-6-R and P-7-R at \(C_{\text {fairness}} = 10\), the increased fuel cost slightly reduces driving time, thereby affecting the total driver wage. Additionally, deploying an extra vehicle to reduce the deviation can lead to a sharp drop in profit, as observed in scenario P-6-R at \(C_{\text {fairness}} = 14.5\). Furthermore, driving at a speed below the optimal level can slightly increase fuel consumption and driving time. However, it may also contribute to reduced deviation and profit, as shown in scenario P-5-R at \(C_{\text {fairness}} = 10\), where the total fuel cost increased from 10.1 to 10.2, and the total driver wage increased from 1.8 to 5.4, as demonstrated in Fig. 4.

Fig. 3
figure 3

Total deviation (in hours) and total profit with the fairness cost

Fig. 4
figure 4

Changes in the total fuel cost and the total driver wage with respect to the case of no fairness cost

6.3 Profit and fairness trade-offs

The Pareto optimal set is obtained as follows. In the first iteration, we set \(\epsilon\) to the maximum deviation that corresponds to the maximum profit (when solving \(Z_1\) only) minus one to obtain a new point in the Pareto set. In subsequent iterations, we set \(\epsilon\) to the most recently found maximum deviation minus one and continue this process until \(\epsilon\) equals the maximum deviation obtained from minimizing the maximum deviation problem (\(Z_2\)). The Pareto optimal set provides decision-makers with valuable insights into the trade-offs between multiple objectives. Specifically, it illustrates how improvements in one objective may come at the expense of another.

Figure 5 depicts the Pareto optimal set, which showcases the trade-offs between the two objectives: the minimization of the maximum deviation and the maximization of the total profit. Decision-makers can examine this Pareto optimal set to select the optimal trade-off point that aligns with their preferences and constraints. The results of the three case studies suggest that improving fairness by an average of 31.87, 34.34 and 23.52% results in a 0.77, 0.29 and 2.98% reduction in total profit on average for the three instances, respectively. These trade-offs can be visualized on the Pareto optimal set, where a movement towards a more fair solution incurs a cost in terms of profitability. The trade-offs, expressed as percentages, are computed by taking the average of relative changes across all pairs of consecutive Pareto optimal points, with each relative change calculated between two such points. These percentages depends on the cost and distance structure of the problem. The decision-maker can use this information to balance their objectives and select an optimal point on the Pareto optimal set that achieves the desired balance between maximum deviation and total profit.

Fig. 5
figure 5

Pareto optimal solutions

7 Conclusions

Our study highlights the importance of fairness in transportation systems, particularly in drivers scheduling, to ensure equitable treatment and opportunities for all drivers. We propose a bi-objective optimization model that considers both profit maximization and fairness objectives and use a weighted comprehensive criterion method and an iterative population-based heuristic to solve the problem efficiently. Our approach enables decision-makers to balance the trade-off between profit and fairness in a systematic and effective manner. We demonstrate the effectiveness of our solution approach by comparing its performance with the exact approach and find that it provides comparable results. We also study another formulation of the problem where drivers are rewarded when their driving time is greater than the average. Our work contributes to the development of fair and efficient transportation systems and provides a useful tool for decision-makers to optimize profit while considering fairness objectives.

We evaluate the price of fairness by comparing the maximum total profit without and with a fairness objective function. We find out that in some cases, imposing fairness between drivers does not lead to a significant total profit reduction, while in others it can result in a total profit reduction of 39.64%. In such cases, reward programs that provide incentives for drivers to accept longer driving times might be more suitable.

The proposed mathematical model and the associated heuristic can be integrated into user-friendly software. This software could be beneficial for any company involved in delivery or collection activities. It facilitates the scheduling of transportation tours for various drivers, with a focus on both profit and fairness, catering to a broad segment of industries. Incorporating this model allows software vendors to stand out in a saturated market. While many existing solutions prioritize profit and operational constraints like time constraints, our approach balances profit with fairness, offering a unique selling point for vendors.