This paper aims to address a green, multi-objective open vehicle routing problem for reverse logistics, targeting the joint optimization of total cost, CO2 emissions and customer satisfaction. The corresponding model integrates customer-based consolidation points and dual time windows with flexibility in scenarios where returns are operated by third-party logistics (3PL) providers.
A mixed-integer linear program is formulated to capture multiple constraints, including vehicle heterogeneity, route duration limits and flexible scheduling needs. Two novel features are introduced: (1) local consolidation points, where selected customers temporarily collect returns from nearby locations, and (2) dual time windows that distinguish between acceptable and preferred service intervals.
Results demonstrate the model's ability to explore diverse trade-offs among environmental, economic and service-related objectives. The use of consolidation points and flexible time windows enhances route efficiency while improving customer alignment. The multi-objective solution techniques provide decision-makers with a structured method to evaluate competing goals.
The proposed model is well aligned with logistics strategies used in sectors such as e-commerce, retail and consumer goods, where returns are handled through 3PL providers and vehicle return trips are often unnecessary. Its integration of consolidation mechanisms and preference-sensitive scheduling has the potential to improve routing efficiency, reduce emissions and enhance customer satisfaction in dense urban environments.
This study is the first to jointly address cost, emissions and customer satisfaction within an open vehicle routing context while also integrating customer-based consolidation and dual time windows to enhance flexibility and realism in reverse logistics routing.
1. Introduction
Planning delivery and collection routes is a critical operational task in logistics and supply chain management (Dutta et al., 2022; Singhtaun and Piyapornthana, 2022). Each day, goods are transported across cities and regions to serve customers, stores, and drop-off points. Effective route planning reduces transportation costs, saves time, and improves service quality and reliability (Dasdemir et al., 2022), while operating under constraints such as limited fleet capacity, fuel costs, service-time preferences, and emission regulations (Heidari et al., 2023). In this context, the Vehicle Routing Problem (VRP), first introduced by Dantzig and Ramser (1959), serves as the classical optimization framework. In its basic form, vehicles depart from a central depot, visit customers, and return to the depot (see also Niu et al., 2022; Peng et al., 2024). Since then, numerous VRP variants have been developed to capture real-world complexities (e.g. Shao et al., 2023; Singhtaun and Piyapornthana, 2022). Comprehensive overviews of these variants are provided by Shao et al. (2023), and Archetti et al. (2025).
An important extension of the classical VRP is the Open Vehicle Routing Problem (OVRP), which has received increasing attention in recent years. In the OVRP, vehicles are not required to return to the depot after completing their routes; instead, each route may terminate at the last customer served (Sánchez-Oro et al., 2020; Soto-Mendoza et al., 2020). This open-route structure is particularly relevant in settings involving third-party logistics (3PL) providers, rental fleets, or contract-based carriers, where eliminating return trips can significantly reduce travel time, fuel consumption, and operating costs (Cao et al., 2025; Ren, 2011). The concept was first introduced informally by Schrage (1981) and later formalized by Sariklis and Powell (2000). Recent modeling advances and applications of the OVRP are discussed by, among others, Xiao et al. (2024) and Zhang et al. (2024).
The OVRP has been widely applied in reverse logistics, where used products are collected from geographically dispersed customers (Sánchez-Oro et al., 2020; Tonbul et al., 2024). In such settings, customer availability is often restricted to specific time windows, making service-time coordination essential. Incorporating time-window constraints yields the Open Vehicle Routing Problem with Time Windows (OVRPTW), which more accurately reflects operational scheduling requirements (Niu et al., 2022). In practice, planners must also account for heterogeneous vehicle capacities and maximum route durations (Ruiz et al., 2019). At the same time, companies seek to minimize costs while responding to increasing environmental pressures and service-quality expectations. These concerns have motivated the development of green vehicle routing models aimed at reducing fuel consumption and greenhouse gas emissions (Dutta et al., 2022; Heidari et al., 2023; Niu et al., 2018a), while maintaining high customer satisfaction, as delays or missed collections can negatively affect service perception (Cota et al., 2022; Sun et al., 2021).
While previous studies have examined trade-offs between cost and either environmental impact or service quality (e.g. Sánchez-Oro et al., 2020; Zheng et al., 2023), to the best of our knowledge, no study has jointly addressed cost, CO2 emissions, and customer satisfaction within the OVRP framework. Some works integrate environmental considerations by embedding fuel consumption or emissions into a single cost-based objective (e.g. Niu et al., 2018b; Zhang and Wang, 2013), while others incorporate service quality through time-window penalties, without modeling customer satisfaction as a separate objective (e.g. Xia and Fu, 2019). Moreover, although consolidation mechanisms (e.g. Atefi et al., 2018; Rostami et al., 2025) and dual time-window structures (e.g. Rahmani, 2021) have been studied in OVRP variants, these features are typically considered in bi-objective or cost-focused settings, without explicitly capturing their interaction with environmental and customer-oriented objectives.
Motivated by these gaps, this study proposes a novel extension of the OVRP that jointly considers cost, CO2 emissions, and customer satisfaction, and incorporates two additional features to better reflect real-world reverse logistics operations:
Local consolidation points: Certain customers may temporarily act as intermediate collection points for nearby returns. Multiple vehicles can deliver to these nodes, after which another vehicle continues the route depending on capacity. This mechanism enables chained open routes, reduces redundant trips, and improves routing efficiency while supporting economic and environmental objectives (Atefi et al., 2018; Rostami et al., 2025).
Dual time windows: The problem distinguishes between operationally acceptable service intervals and preferred customer time slots. The former provides scheduling flexibility, while the latter is treated as a soft constraint capturing customer satisfaction. This structure is particularly relevant in reverse logistics, where coordination with individual customer availability is critical (Rahmani, 2021).
The proposed model, which is formulated as a mixed-integer linear program (MILP), addresses logistical challenges that are increasingly relevant in sectors such as e-commerce, retail, consumer electronics, and drugstore chains (e.g. Amazon, H&M, IKEA, MediaMarkt, Rossmann), which often manage high volumes of returns from geographically dispersed customers. These activities are frequently outsourced to 3PL providers to improve efficiency and competitiveness (Ren et al., 2024). In such settings, vehicles are not necessarily required to return to a central depot, making open routing particularly suitable (Brito et al., 2016; Niu et al., 2018b). In dense urban environments, customer-based consolidation points can further enhance routing efficiency by aggregating returns, while dual time windows support flexible scheduling that accounts for both operational constraints and customer preferences. By jointly considering cost, CO2 emissions, and customer satisfaction, the proposed model offers strong practical potential for modern reverse logistics operations.
The remainder of the paper is organized as follows. Section 2 introduces the problem and notation. Section 3 presents the proposed mathematical model. Detailed linearization of the nonlinear constraints is provided in Supplementary Material 1. Section 4 presents an illustrative case study, and Section 5 concludes the paper.
2. Problem definition
This study considers a green open vehicle routing problem for reverse logistics in which a geographically distributed set of customers is served by a heterogeneous fleet of non-returning vehicles. Routes start at customer nodes and may terminate at either another customer or the central depot, eliminating mandatory return trips and thereby reducing travel distance, fuel consumption, and emissions. The choice of route termination points directly affects feasibility, load transfers, and cost optimization, distinguishing the proposed formulation from the classical OVRP.
Figure 1 schematically compares the classical OVRP with the proposed variant. In the classical OVRP (left panel), vehicles start at customer nodes and terminate at the depot, whereas the proposed structure (right panel) incorporates customer-based consolidation points and dual time windows.
The two side-by-side network diagrams consist of a legend on the far right. The legend defines three shapes: a single circular node for “Customer”, a rectangle for “Depot”, and a double circle node for “Customer acting as consolidation point”. The first diagram on the left represents a standard distribution network. At the top left, a circular node connects to a circular node at the center, and from that central circular node, a downward arrow points into the rectangular node. At the top right, another circular node has a long arrow that points directly into the rectangular node. To the rectangular node, three separate upward arrows point from various circular nodes. The path on the left flows to the rectangular node from a circular node, and then to this circular node; a final arrow points from a circular node at the bottom. The center path consists of a vertical line of three circular nodes where arrows point upward toward the rectangular node. The path on the right consists of a circular node at the bottom with a long upward arrow that connects to another circular node, pointing into the rectangular node. The second diagram on the right represents a consolidated network. At the top, two circular nodes point to a double circle node, which then has an arrow pointing into the rectangular node. Below the rectangular node, a single upward arrow points from another double circle node in the middle to the rectangular node. This double circle node receives arrows from the circular node from the right, and also receives an upward arrow from a third double circle node at the bottom. The bottom double circle node at the bottom right connects to two adjacent circular nodes via upward arrows. On the left, a separate chain of two circular nodes flows upwards and connects to the double circle node in the middle.Schematic comparison between the classical OVRP (left) and the proposed problem (right)
The two side-by-side network diagrams consist of a legend on the far right. The legend defines three shapes: a single circular node for “Customer”, a rectangle for “Depot”, and a double circle node for “Customer acting as consolidation point”. The first diagram on the left represents a standard distribution network. At the top left, a circular node connects to a circular node at the center, and from that central circular node, a downward arrow points into the rectangular node. At the top right, another circular node has a long arrow that points directly into the rectangular node. To the rectangular node, three separate upward arrows point from various circular nodes. The path on the left flows to the rectangular node from a circular node, and then to this circular node; a final arrow points from a circular node at the bottom. The center path consists of a vertical line of three circular nodes where arrows point upward toward the rectangular node. The path on the right consists of a circular node at the bottom with a long upward arrow that connects to another circular node, pointing into the rectangular node. The second diagram on the right represents a consolidated network. At the top, two circular nodes point to a double circle node, which then has an arrow pointing into the rectangular node. Below the rectangular node, a single upward arrow points from another double circle node in the middle to the rectangular node. This double circle node receives arrows from the circular node from the right, and also receives an upward arrow from a third double circle node at the bottom. The bottom double circle node at the bottom right connects to two adjacent circular nodes via upward arrows. On the left, a separate chain of two circular nodes flows upwards and connects to the double circle node in the middle.Schematic comparison between the classical OVRP (left) and the proposed problem (right)
The transportation network is modeled as a complete directed graph , where includes the depot (node 0) and customer nodes . The arc set consists of directed arcs with travel durations , distances , and costs , which may vary by vehicle type . Owing to urban asymmetries such as one-way streets or traffic conditions, the triangle inequality may not hold. Model notation is summarized in Table 1.
Model notation and definitions
| Category | Symbol | Definition |
|---|---|---|
| Indices | Index of vehicle type | |
| Indices of customer nodes | ||
| Index of depot node {0} | ||
| Index of all nodes (customers and depot) | ||
| Parameters | Service time at node for loading or unloading (min) | |
| Maximum allowable load volume () that can be carried by vehicle | ||
| Maximum allowable load weight (kg) that vehicle can carry | ||
| Travel time duration from node to node by vehicle (min) | ||
| Distance between nodes and (km) | ||
| Quantity of demand at node (boxes) | ||
| Transportation costs for vehicle traveling from node to node () | ||
| CO2 emissions per minute during idling or service for vehicle () | ||
| Load-dependent fuel consumption coefficient for vehicle () | ||
| Base fuel consumption per kilometer for vehicle () | ||
| CO2 emissions per liter of fuel burned () | ||
| Maximum allowable delivery duration (min) | ||
| Weight of a filled storage box, including packaging and contents (kg) | ||
| Volume of a filled storage box () | ||
| M | A large constant (Big-M) used in the formulation | |
| Preferred earliest service start time at node (soft lower bound) | ||
| Preferred latest service start time at node (soft upper bound) | ||
| Earliest time at which service is allowed to start at node (hard lower limit) | ||
| Latest time by which service must start at node (hard upper limit) | ||
| Per-minute bonus (€/min) for vehicle type drivers waiting before | ||
| The importance level of customer , scaled from 1 (low) to 3 (high) | ||
| Weight assigned to early service dissatisfaction for customer | ||
| Weight assigned to late service dissatisfaction for customer | ||
| Distance-based transportation cost coefficient () for vehicle | ||
| Time-based transportation cost coefficient () for vehicle | ||
| Decision variables | Equal 1 if a vehicle travels directly from node to node ; 0 otherwise | |
| Equal to 1 if node is selected as a consolidation point; 0 otherwise | ||
| Arrival time of a vehicle when traveling from node to node | ||
| Service start time at node the latest arrival among incoming vehicles | ||
| Number of boxes transported by vehicle from node to node | ||
| Waiting time (min) for vehicle when traveling from node to node | ||
| Lateness at customer (min), computed as | ||
| Normalized lateness dissatisfaction of customer , computed as | ||
| Earliness at node when vehicle arrives early from node | ||
| Maximum earliness at customer | ||
| Normalized earliness dissatisfaction of customer | ||
| Auxiliary variables | Binary variable for lateness at customer | |
| Binary variable for earliness at node | ||
| Binary variable for waiting time at node | ||
| Binary variable for triggering dissatisfaction calculation for customer |
| Category | Symbol | Definition |
|---|---|---|
| Indices | Index of vehicle type | |
| Indices of customer nodes | ||
| Index of depot node | ||
| Index of all nodes (customers and depot) | ||
| Parameters | Service time at node | |
| Maximum allowable load volume ( | ||
| Maximum allowable load weight (kg) that vehicle | ||
| Travel time duration from node | ||
| Distance between nodes | ||
| Quantity of demand at node | ||
| Transportation costs for vehicle | ||
| CO2 emissions per minute during idling or service for vehicle | ||
| Load-dependent fuel consumption coefficient for vehicle | ||
| Base fuel consumption per kilometer for vehicle | ||
| CO2 emissions per liter of fuel burned ( | ||
| Maximum allowable delivery duration (min) | ||
| Weight of a filled storage box, including packaging and contents (kg) | ||
| Volume of a filled storage box ( | ||
| M | A large constant (Big-M) used in the formulation | |
| Preferred earliest service start time at node | ||
| Preferred latest service start time at node | ||
| Earliest time at which service is allowed to start at node | ||
| Latest time by which service must start at node | ||
| Per-minute bonus (€/min) for vehicle type | ||
| The importance level of customer | ||
| Weight assigned to early service dissatisfaction for customer | ||
| Weight assigned to late service dissatisfaction for customer | ||
| Distance-based transportation cost coefficient ( | ||
| Time-based transportation cost coefficient ( | ||
| Decision variables | Equal 1 if a vehicle | |
| Equal to 1 if node | ||
| Arrival time of a vehicle | ||
| Service start time at node | ||
| Number of boxes transported by vehicle | ||
| Waiting time (min) for vehicle | ||
| Lateness at customer | ||
| Normalized lateness dissatisfaction of customer | ||
| Earliness at node | ||
| Maximum earliness at customer | ||
| Normalized earliness dissatisfaction of customer | ||
| Auxiliary variables | Binary variable for lateness at customer | |
| Binary variable for earliness at node | ||
| Binary variable for waiting time at node | ||
| Binary variable for triggering dissatisfaction calculation for customer |
Note that transportation cost for traveling from node to node using vehicle is determined as , where the first term represents the distance and the second, the time component.
Using the notation above, the main modeling features are incorporated as follows.
Each customer node is characterized by a demand , a fixed service time , and two service intervals that implement the model's dual time window structure:
A soft time window , within which service is preferred.
A hard time window , within which service is permitted.
To capture deviations from preferred service times, both lateness and earliness dissatisfaction are modeled. If service at customer i starts after the soft latest time , lateness is defined as . The corresponding normalized lateness dissatisfaction is calculated as , scaling lateness by the interval between soft and hard times, . This is then weighted by the customer-specific lateness coefficient , demand , and priority weight , emphasizing punctuality for high-priority customers.
Similarly, if service starts before the soft earliest time , an earliness variable is defined for each vehicle arriving at node from node . The maximum earliness at node , , is used to compute the normalized earliness dissatisfaction . This is then weighted by the earliness weight , demand , and priority level , capturing the negative impact of early service on customer satisfaction.
In addition to service timing, the model incorporates load transfers between routes. Customer nodes may serve as temporary consolidation points when they receive two or more incoming routes, as indicated by binary variable . At these nodes, a vehicle may continue the collection by taking over the aggregated load from preceding routes. This mechanism operates alongside standard vehicle capacity constraints. If the load departing from any node exceeds the volumetric capacity or the weight capacity of the assigned vehicle, a new vehicle with sufficient capacity must continue the route.
3. Optimization model formulation
The problem is formulated as a MILP that minimizes transportation cost and CO2 emissions while maximizing customer satisfaction, subject to operational and routing constraints. The complete formulation is presented below and explained in detail thereafter.
Subject to
Objective (1) minimizes the total transportation cost, which comprises three components:
Routing costs: The term represents the cost of traveling from node to node using vehicle type .
Service-related bonuses: The term accounts for the additional payment to drivers of vehicle type for the service time at node .
Idle-time bonuses: The term captures compensation for drivers who arrive at customer before the start of the hard time window and must wait (idle) before beginning service.
Objective (2) minimizes total CO2 emissions through three elements:
Distance- and load-dependent emissions: The term models emissions from traveling between nodes and using vehicle type . Here, is the emission factor, is the distance, is the emission rate of an empty vehicle, and captures the load-dependent emissions.
Idle emissions due to early arrival: The term represents emissions from vehicles idling while waiting before the start of a customer's hard time window.
Idle emissions during service: The term accounts for emissions during service activities (e.g. loading or unloading) at node .
Objective (3) maximizes customer satisfaction by minimizing total weighted dissatisfaction across all customer nodes and includes the following key elements:
Normalized dissatisfaction levels: The lateness dissatisfaction and earliness dissatisfaction capture deviations from the soft time windows for each customer .
Weighting coefficient: These are scaled by customer-specific weights and , reflecting the relative importance of avoiding lateness versus earliness. To ensure a normalized outcome in the range [0, 1], the weights are constrained such that
Aggregation and normalization: The dissatisfaction values are aggregated across customers and normalized by the total weighted demand , where reflects the customer's importance and their demand.
This normalization has two purposes:
It constrains the satisfaction level within the range [0,1], allowing its interpretation as a satisfaction ratio (from 0% to 100%).
It ensures comparability across instances of different sizes, such as networks with varying numbers of customers or total demand, by expressing satisfaction as a relative rather than absolute performance indicator.
Constraint (4) ensures that customer is served by at most one vehicle of any type , meaning that no more than one outgoing arc is allowed from node .
Constraint (5) designates node as a consolidation point () if and only if at least two vehicles arrive at this node (i.e. ); otherwise .
Constraint (6) enforces the vehicle's volume capacity limit, ensuring that the total volume of goods transported on any arc does not exceed the volumetric capacity of the assigned vehicle. If the arc is not used (, the transported volume must be zero.
Constraint (7) ensures that the load shipped out of node equals the load shipped into node plus its own demand .
Constraint (8) enforces the weight capacity of each vehicle, ensuring that the total weight of the items transported on a given arc does not exceed the vehicle's weight capacity . If the arc is not used (, the transported weight must be zero.
Constraint (9) ensures proper arrival time sequencing by enforcing that the actual service start time at customer node is no earlier than the sum of the vehicle's arrival time and its waiting time . This accounts for situations where vehicles arrive before the customer's time window begins and must wait before starting service.
Constraint (10) links the arrival time at a destination node to the service start time at origin node plus service time and travel time , activated only if the arc is used .
Constraint (11) ensures timely delivery to the depot node by requiring that the vehicle arrives at the depot before the latest allowable delivery time , taking into account the service time required at the depot.
Constraint (12) limits incoming arcs at customer depending on whether it is designated as a consolidation point ( or has positive demand (.
Constraint (13) defines lateness at node as the positive delay beyond the soft latest start time, computed as .
Constraint (14) models service earliness at customer node . For each incoming arc and vehicle type , the earliness variable captures how much earlier service begins compared to the soft earliest time , provided that the route is active . This ensures that earliness is only registered when relevant.
Constraint (15) defines the maximum earliness for customer , by taking the maximum value among all associated with that node. This ensures that customer dissatisfaction reflects the most severe earliness experienced.
Constraint (16) calculates the normalized earliness dissatisfaction by dividing by the range of acceptable early arrival, . The corresponding value lies between 0 and 1 and is used in the third objective function to quantify the penalty due to early service.
Constraint (17) defines the waiting time before service at node , ensuring vehicles wait if they arrive before the allowable service start time (.
Constraint (18) ensures compliance with hard time windows , by enforcing that the vehicle arrives early enough at customer node ( to complete service before the end of the customer's hard time window .
Constraint (19) ensures proper service start time behavior at customer node when no vehicles enter. If no incoming arc is selected for any vehicle , the sum is zero and the constraint enforces , so any departure from node must occur after the soft earliest time. If at least one vehicle enters node , the large constant relaxes the lower bound, and is instead determined by other time-sequencing constraints.
Constraint (20) links the service start time to the vehicle departure decision. If no vehicle departs from node , then = 0 for all and , which makes the right-hand side of the inequality zero and enforces . Since is a non-negative variable, this condition fixes , ensuring that unvisited customers have no assigned service start time. When a vehicle departs from node , the large constant relaxes the upper bound, allowing to take a feasible value determined by other time-sequencing constraints.
Constraint (21) models normalized lateness dissatisfaction as a piecewise-linear function that increases when service begins after the threshold . If the service starts on time or earlier , the dissatisfaction is zero .
Constraints (22)–(28) define the decision variables and impose non-negativity and boundedness conditions.
The proposed model contains several nonlinear elements, including conditional constraints, bilinear terms, and max and piecewise-defined operators. To obtain a solvable MILP formulation, these nonlinearities are linearized. The complete linearization of Constraints (5), (10), (12)–(15), (17), (19), and (21) is presented in Supplementary Material 1.
4. Illustrative case study
4.1 Overview and parameter setting
This section presents a case study to demonstrate the practical application of the proposed model. The case study reflects a typical urban operation, where used or returned products are collected from customers (e.g. households or local stores) and transferred through local consolidation points under dual time window constraints. To replicate realistic operating conditions faced by 3PL providers in dense metropolitan areas managing decentralized return flows, the model is applied to synthetically generated data, the details of which are provided below.
The network consists of 25 customer nodes and a central depot. Each node represents a customer from which used or returned products are collected. Four vehicle types are considered, each with distinct size, capacity, fuel consumption, and emission characteristics. The transportation cost for each vehicle type is determined by distance-based and time-based coefficients and , as defined in Section 3. Table 2 summarizes the key specifications of each vehicle type, including transportation cost coefficients and , maximum load weight , maximum load volume , base fuel consumption , load-dependent fuel consumption coefficient , idle CO2 emission rates , and emission conversion factors , and waiting-time bonuses . The cost coefficients capture the combined effects of fuel usage, driver wages, and operational overheads. Larger vehicles incur higher costs per kilometer and per minute due to greater fuel consumption and increased operating complexity. Waiting-time bonuses, reflecting the economic compensation required for vehicle idle periods, are modeled using a uniform distribution: for smaller vehicles (types 1 and 2) and for larger vehicles (types 3 and 4). Larger vehicles achieve higher load-adjusted fuel efficiency due to their design.
Vehicle characteristics and transportation cost coefficients
| Vehicle type | () | () | () | () | () | () | () | () | () |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 0.5 | 0.1 | 25 | 1 | U(0.50, 0.80) | 25 | 3,130 | 0.0003 | 0.0218 |
| 2 | 0.7 | 0.2 | 100 | 12 | U(0.50, 0.80) | 80 | 3,130 | 0.0003 | 0.0218 |
| 3 | 1 | 0.3 | 650 | 57 | U(0.80, 1.00) | 200 | 3,170 | 0.000264 | 0.0192 |
| 4 | 1.4 | 0.5 | 2000 | 176 | U(0.80, 1.20) | 450 | 3,170 | 0.000264 | 0.0192 |
| Vehicle type | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| 1 | 0.5 | 0.1 | 25 | 1 | U(0.50, 0.80) | 25 | 3,130 | 0.0003 | 0.0218 |
| 2 | 0.7 | 0.2 | 100 | 12 | U(0.50, 0.80) | 80 | 3,130 | 0.0003 | 0.0218 |
| 3 | 1 | 0.3 | 650 | 57 | U(0.80, 1.00) | 200 | 3,170 | 0.000264 | 0.0192 |
| 4 | 1.4 | 0.5 | 2000 | 176 | U(0.80, 1.20) | 450 | 3,170 | 0.000264 | 0.0192 |
An unlimited number of vehicles of each type is assumed to be available. This provides operational flexibility, enabling the model to dynamically allocate fleet resources based on demand, vehicle capacity, and routing efficiency.
To illustrate the cost calculation, suppose a Type 3 vehicle travels from node to node over a distance of kilometers in minutes. Using the coefficients in Table 2, the transportation cost is computed by summing the distance component and the time component. The distance cost is calculated as , and the time cost is . Therefore, the total transportation cost for this route segment is 32 . This example demonstrates how the model integrates distance- and time-related expenses to capture realistic operating costs for each route segment.
The remaining model inputs, which define service times, travel characteristics, customer demands, and time window settings, are presented in Table 3. Each customer node requires a fixed service duration minutes. Travel times between any two nodes and using a vehicle of type are randomly generated from a uniform distribution minutes as , and the corresponding travel distances are scaled proportionally to maintain realistic speed assumptions. Customer demand is stochastic, following a uniform distribution boxes, where each box weighs kg and occupies m3, directly influencing both vehicle capacity limits and emissions. The maximum permitted delivery duration is set to minutes, and a large constant is introduced in Big-M formulations to linearize constraints involving time, vehicle capacity, and routing logic.
Model parameters and distributions
| Parameter | Value/distribution | Description |
|---|---|---|
| 4 (min) | Fixed service time per node | |
| U(10,100) (min) | Randomly generated travel time | |
| Proportional to travel time | Maintains realistic average vehicle speed | |
| U(0,80) boxes | Stochastic customer demand | |
| 13.6 (kg) | Weight of each box | |
| 1 () | Volume of each box | |
| 150 (min) | Maximum allowed delivery time | |
| M | 150 | Big-M value |
| Soft time window lower bound | ||
| Soft time window upper bound | ||
| Hard time window lower bound | ||
| Hard time window upper bound | ||
| 0.7 | Weight for lateness penalty | |
| 0.3 | Weight for earliness penalty | |
| Customer importance factor |
| Parameter | Value/distribution | Description |
|---|---|---|
| 4 (min) | Fixed service time per node | |
| U(10,100) (min) | Randomly generated travel time | |
| Proportional to travel time | Maintains realistic average vehicle speed | |
| U(0,80) boxes | Stochastic customer demand | |
| 13.6 (kg) | Weight of each box | |
| 1 ( | Volume of each box | |
| 150 (min) | Maximum allowed delivery time | |
| M | 150 | Big-M value |
| Soft time window lower bound | ||
| Soft time window upper bound | ||
| Hard time window lower bound | ||
| Hard time window upper bound | ||
| 0.7 | Weight for lateness penalty | |
| 0.3 | Weight for earliness penalty | |
| Customer importance factor |
To capture both customer preferences and operational feasibility, the problem assigns dual time windows to each customer. The soft time window represents the preferred delivery interval, where the lower and upper bounds are generated from uniform distributions and minutes, respectively. The corresponding hard time window defines the acceptable operational bounds, where and . Service outside the preferred interval is permitted but results in dissatisfaction penalties. Customer dissatisfaction is evaluated asymmetrically, with a weight of for lateness and for earliness, reflecting stronger sensitivity to delays. In addition, each customer is assigned an importance factor , randomly drawn from a uniform distribution , where 1 indicates low importance and 3 represents high importance. This parameter allows the model to adjust dissatisfaction penalties according to customer priority.
4.2 Results and discussions
Because the proposed model simultaneously minimizes transportation cost and CO2 emissions while maximizing customer satisfaction, these objectives are inherently conflicting, and no single solution is optimal for all criteria. The analysis therefore focuses on identifying Pareto-optimal solutions, for which no objective can be improved without worsening another. These solutions are generated using the -constraint method (Haimes, 1971), where one objective is optimized while the others are imposed as constraints. In our case, this is formulated as: Min subject to and , where and are the adjustable bounds for the second and third objectives, respectively. By varying these -levels, a set of non-dominated solutions is obtained [1].
To generate candidate solutions for the ε-constraint method, each objective function is first optimized individually to identify its best achievable value (anchor point) and the corresponding values of the remaining objectives.
Optimizing transportation cost () yields a minimum cost of 531.5, with associated CO2 emissions of 226.3 and customer satisfaction of 87.1. When CO2 emissions () are minimized, the optimal emission level is 218.3, with a transportation cost of 573.4 and customer satisfaction of 93.6. Maximizing customer satisfaction () results in a satisfaction level of 100, accompanied by a cost of 1281.2 and emissions of 299.2. These anchor values (531.5, 218.3, and 100) define the feasible ranges of the objectives and are used to select appropriate ε-levels for identifying Pareto-optimal solutions.
Transportation cost is selected as the primary objective, while the remaining objectives are imposed as -constraint: and . Based on the extreme solutions, the feasible range of CO2 emissions and customer satisfaction are [218.3, 299.2], and [87.1, 100], respectively. To systematically explore trade-offs, three -levels (minimum, midpoint, and maximum) are considered for each objective. Accordingly, -levels for CO2 emissions are set to 218.3, 258.7, and 299.2, while those for customer satisfaction are set to 100, 93.6, and 87.1. The resulting combinations and corresponding solutions are summarized in Table 4.
Solutions for combinations of and
| Solution | (CO2) | (satisfaction) | |||
|---|---|---|---|---|---|
| 1 | 218.3 | 100 | Infeasible | – | – |
| 2 | 258.7 | 100 | 760.1 | 258.1 | 100.0 |
| 3 | 299.2 | 100 | 834.9 | 292 | 100.0 |
| 4 | 218.3 | 93.6 | 573.4 | 218.3 | 93.6 |
| 5 | 258.7 | 93.6 | 721.1 | 248.8 | 93.6 |
| 6 | 299.2 | 93.6 | 1254 | 298.1 | 93.6 |
| 7 | 218.3 | 87.1 | 573.4 | 218.3 | 87.1 |
| 8 | 258.7 | 87.1 | 766.1 | 256.7 | 87.1 |
| 9 | 299.2 | 87.1 | 1,254 | 298.1 | 87.1 |
| Solution | |||||
|---|---|---|---|---|---|
| 1 | 218.3 | 100 | Infeasible | – | – |
| 2 | 258.7 | 100 | 760.1 | 258.1 | 100.0 |
| 3 | 299.2 | 100 | 834.9 | 292 | 100.0 |
| 4 | 218.3 | 93.6 | 573.4 | 218.3 | 93.6 |
| 5 | 258.7 | 93.6 | 721.1 | 248.8 | 93.6 |
| 6 | 299.2 | 93.6 | 1254 | 298.1 | 93.6 |
| 7 | 218.3 | 87.1 | 573.4 | 218.3 | 87.1 |
| 8 | 258.7 | 87.1 | 766.1 | 256.7 | 87.1 |
| 9 | 299.2 | 87.1 | 1,254 | 298.1 | 87.1 |
Solving the model for the nine combinations yields the corresponding objective values. The first combination is infeasible, as no feasible solution satisfies both and . The remaining eight combinations produce feasible solutions, each associated with an optimal set of values (.
As shown in Table 4, all solutions are distinct, but most are dominated. For example, Solution 8 is dominated by Solution 4, which achieves lower cost and emissions while providing higher customer satisfaction. Only Solutions 2 and 4 are therefore identified as non-dominated solutions. Selecting a preferred compromise among these alternatives depends on managerial preferences and strategic priorities. This choice can be supported by multi-criteria decision-making (MCDM) methods such as the weighted sum method (WSM), TOPSIS, or the analytic hierarchy process (AHP), which enable decision-makers to assign relative importance to objectives and rank the solutions accordingly (see, e.g. Tzeng and Huang, 2011).
To compare the non-dominated solutions obtained from the -constraint procedure, we apply WSM to Solutions 2 and 4. Let , , denote managerial preference weights for cost (), emissions (), and customer satisfaction (), respectively, with . To reflect an emphasis on emission reduction with moderate importance assigned to cost and customer satisfaction, the weights are set to , , and . These weights are used solely for post-solution evaluation. After normalizing the objectives using standard min–max normalization, aggregated scores are computed as [2]. The solution with , , and yields a lower aggregated weighted score (0.2) than the alternative solution with , , and (score 0.8), and is therefore selected as the preferred solution.
The optimal values of the decision variables for the selected solution are presented in Table 5. To illustrate, consider route [22–14–0], which consists of two consecutive arcs: Arc 22 and Arc 14. Arc 22 uses vehicle type 1 () to carry 1 box (equal to the demand of node 22) from node 22 to node 14. The vehicle starts service at node 22 at minute 15 from the beginning of the collection process. After spending 4 min at node 22, it departs and travels to node 14, arriving and starting service there at minute 31. Because this is the only incoming arc to node 14, the service start time at node 14 is .
Arcs, load transfers, and timing of the selected solution
| Arc | Vehicle type | Origin | Destination | / | / | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 3 | 1 | 23 | 31 | 19 | 44 | 12.6 | 18 | 40 | 60 | 0 | 0 | 0 | 8 | 0.40 |
| 2 | 3 | 2 | 18 | 8 | 15 | 33 | 13.3 | 19 | 46 | 69 | 0 | 0 | 0 | 0 | 0 |
| 3 | 4 | 3 | 0 | 115 | 49.6 | 74.6 | – | – | – | – | – | – | – | – | – |
| 4 | 4 | 4 | 24 | 55 | 14 | 28 | 10.5 | 15 | 32 | 48 | 0 | 0 | 0 | 0 | 0 |
| 5 | 3 | 5 | 24 | 39 | 17 | 35 | 10.5 | 15 | 32 | 48 | 0 | 0 | 0 | 7 | 0.44 |
| 6 | 2 | 6 | 7 | 5 | 10 | 38 | 11.2 | 16 | 44 | 66 | 0 | 0 | 0 | 0 | 0 |
| 7 | 4 | 7 | 0 | 103 | 41 | 71 | – | – | – | – | – | – | – | – | – |
| 8 | 3 | 8 | 7 | 12 | 11 | 28 | 11.2 | 16 | 44 | 66 | 0 | 0 | 0 | 0 | 0 |
| 9 | 4 | 9 | 13 | 78 | 12 | 29 | 11.2 | 16 | 38 | 57 | 0 | 0 | 0 | 0 | 0 |
| 10 | 4 | 10 | 0 | 118 | 42 | 59 | – | – | – | – | – | – | – | – | – |
| 11 | 4 | 11 | 10 | 79 | 17 | 34 | 9.8 | 14 | 46 | 69 | 0 | 0 | 0 | 0 | 0 |
| 12 | 2 | 12 | 7 | 7 | 15 | 41 | 11.2 | 16 | 44 | 66 | 0 | 0 | 0 | 1 | 0.05 |
| 13 | 4 | 13 | 0 | 144 | 34 | 52 | – | – | – | – | – | – | – | – | – |
| 14 | 4 | 14 | 0 | 68 | 31 | 66 | – | – | – | – | – | – | – | – | – |
| 15 | 3 | 15 | 0 | 43 | 38 | 82 | – | – | – | – | – | – | – | – | – |
| 16 | 3 | 16 | 23 | 44 | 12 | 41 | 12.6 | 18 | 40 | 60 | 0 | 0 | 0 | 5 | 0.25 |
| 17 | 4 | 17 | 25 | 51 | 11 | 25 | 11.2 | 16 | 40 | 60 | 0 | 0 | 0 | 0 | 0 |
| 18 | 4 | 18 | 0 | 82 | 42 | 90 | – | – | – | – | – | – | – | – | – |
| 19 | 3 | 19 | 13 | 44 | 12 | 27 | 11.2 | 16 | 38 | 57 | 0 | 0 | 0 | 0 | 0 |
| 20 | 3 | 20 | 0 | 40 | 31 | 57 | – | – | – | – | – | – | – | – | – |
| 21 | 4 | 21 | 3 | 70 | 14 | 40 | 7.7 | 11 | 34 | 51 | 0 | 0 | 0 | 10 | 0.59 |
| 22 | 1 | 22 | 14 | 1 | 15 | 31 | 13.3 | 19 | 33 | 49.5 | 0 | 0 | 0 | 2 | 0.12 |
| 23 | 4 | 23 | 0 | 115 | 44 | 86 | – | – | – | – | – | – | – | – | – |
| 24 | 4 | 24 | 0 | 111 | 35 | 68 | – | – | – | – | – | – | – | – | – |
| 25 | 4 | 25 | 0 | 116 | 36 | 72 | – | – | – | – | – | – | – | – | – |
| Arc | Vehicle type | Origin | Destination | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 3 | 1 | 23 | 31 | 19 | 44 | 12.6 | 18 | 40 | 60 | 0 | 0 | 0 | 8 | 0.40 |
| 2 | 3 | 2 | 18 | 8 | 15 | 33 | 13.3 | 19 | 46 | 69 | 0 | 0 | 0 | 0 | 0 |
| 3 | 4 | 3 | 0 | 115 | 49.6 | 74.6 | – | – | – | – | – | – | – | – | – |
| 4 | 4 | 4 | 24 | 55 | 14 | 28 | 10.5 | 15 | 32 | 48 | 0 | 0 | 0 | 0 | 0 |
| 5 | 3 | 5 | 24 | 39 | 17 | 35 | 10.5 | 15 | 32 | 48 | 0 | 0 | 0 | 7 | 0.44 |
| 6 | 2 | 6 | 7 | 5 | 10 | 38 | 11.2 | 16 | 44 | 66 | 0 | 0 | 0 | 0 | 0 |
| 7 | 4 | 7 | 0 | 103 | 41 | 71 | – | – | – | – | – | – | – | – | – |
| 8 | 3 | 8 | 7 | 12 | 11 | 28 | 11.2 | 16 | 44 | 66 | 0 | 0 | 0 | 0 | 0 |
| 9 | 4 | 9 | 13 | 78 | 12 | 29 | 11.2 | 16 | 38 | 57 | 0 | 0 | 0 | 0 | 0 |
| 10 | 4 | 10 | 0 | 118 | 42 | 59 | – | – | – | – | – | – | – | – | – |
| 11 | 4 | 11 | 10 | 79 | 17 | 34 | 9.8 | 14 | 46 | 69 | 0 | 0 | 0 | 0 | 0 |
| 12 | 2 | 12 | 7 | 7 | 15 | 41 | 11.2 | 16 | 44 | 66 | 0 | 0 | 0 | 1 | 0.05 |
| 13 | 4 | 13 | 0 | 144 | 34 | 52 | – | – | – | – | – | – | – | – | – |
| 14 | 4 | 14 | 0 | 68 | 31 | 66 | – | – | – | – | – | – | – | – | – |
| 15 | 3 | 15 | 0 | 43 | 38 | 82 | – | – | – | – | – | – | – | – | – |
| 16 | 3 | 16 | 23 | 44 | 12 | 41 | 12.6 | 18 | 40 | 60 | 0 | 0 | 0 | 5 | 0.25 |
| 17 | 4 | 17 | 25 | 51 | 11 | 25 | 11.2 | 16 | 40 | 60 | 0 | 0 | 0 | 0 | 0 |
| 18 | 4 | 18 | 0 | 82 | 42 | 90 | – | – | – | – | – | – | – | – | – |
| 19 | 3 | 19 | 13 | 44 | 12 | 27 | 11.2 | 16 | 38 | 57 | 0 | 0 | 0 | 0 | 0 |
| 20 | 3 | 20 | 0 | 40 | 31 | 57 | – | – | – | – | – | – | – | – | – |
| 21 | 4 | 21 | 3 | 70 | 14 | 40 | 7.7 | 11 | 34 | 51 | 0 | 0 | 0 | 10 | 0.59 |
| 22 | 1 | 22 | 14 | 1 | 15 | 31 | 13.3 | 19 | 33 | 49.5 | 0 | 0 | 0 | 2 | 0.12 |
| 23 | 4 | 23 | 0 | 115 | 44 | 86 | – | – | – | – | – | – | – | – | – |
| 24 | 4 | 24 | 0 | 111 | 35 | 68 | – | – | – | – | – | – | – | – | – |
| 25 | 4 | 25 | 0 | 116 | 36 | 72 | – | – | – | – | – | – | – | – | – |
The lateness at customer 14 is as minutes. The normalized lateness dissatisfaction is then (see the 22nd row, last column of the table). Since the vehicle arrives after the hard earliest time limit , the waiting time is zero. Similarly, the earliness and earliness dissatisfaction ( are also zero, indicating there is no earliness dissatisfaction.
The outgoing arc (Arc 14) uses vehicle type 4 () to transfer a total of 68 boxes (1 from node 22 and 67 from node 14) to the depot (node 0). This route is completed in 55 min, which is below the maximum delivery time . Depot-related time-window variables are not applicable; therefore, the corresponding table cells are indicated with a dash (“–”). All other arcs in Table 5 can be interpreted similarly.
This solution demonstrates the crucial role of consolidation points, specifically nodes 7, 13, 23 and 24, where deliveries from nearby customers are aggregated (see also Figure 2). For example, node 7 receives deliveries from nodes 6, 8, and 12 (Arcs 6, 8, and 12), while node 23 aggregates deliveries from nodes 1 and 16 (Arcs 1 and 16). At each consolidation point, the node's dissatisfaction value is defined as the maximum normalized dissatisfaction among incoming arcs, resulting in values of 0.05 for node 7, 0 for node 13, 0.4 for node 23, and 0.44 for node 24.
The network diagram consists of a central rectangular node labeled “0” surrounded by circular and octagonal nodes. A legend on the right is titled “Nodes” and identifies circular nodes as “Customer”, octagonal nodes as “Customer acting as consolidation point”, and the rectangular node with “0” as “Depot”. The legend for “Routes” shows a dashed arrow for “No vehicle-type change” and a solid arrow for “At least one vehicle-type change”. The “Vehicle types” legend includes an orange line for “Type 1”, a green line for “Type 2”, a red line for “Type 3”, and a blue line for “Type 4”. The nodes and connections are as follows: At the top left: A dashed black arrow labeled “4” begins from circular node “21” and connects to circular node “3”. From circular node “3”, a dashed black arrow labeled “4” connects to the central rectangular node “0”. To the left: A red solid arrow labeled “3” begins from circular node “5” and connects to octagonal node “24”. A blue solid arrow labeled “4” begins from circular node “4” and connects to octagonal node “24”. From octagonal node “24”, a blue solid arrow labeled “4” connects to the central rectangular node “0”. On the far left: A dashed black arrow labeled “3” begins from circular node “20” and connects to the central rectangular node “0”. At the bottom left: A red solid arrow labeled “3” begins from circular node “1” and connects to octagonal node “23”. A red solid arrow labeled “3” begins from circular node “16” and connects to octagonal node “23”. From octagonal node “23”, a blue solid arrow labeled “4” connects to the central rectangular node “0”. At the top center: A red solid arrow labeled “3” begins from circular node “19” and connects to octagonal node “13”. A blue solid arrow labeled “4” begins from circular node “9” and connects to octagonal node “13”. From the octagonal node “13”, a blue solid arrow labeled “4” connects to the central rectangular node “0”. At the bottom center: A red solid arrow labeled “3” begins from the circular node “15” and connects to the central rectangular node “0”. Below this, a red solid arrow labeled “3” begins from circular node “2” and connects to circular node “18”. From circular node “18”, a blue solid arrow labeled “4” connects to the central rectangular node “0”. To the top right: A red solid arrow labeled “3” begins from circular node “8” and connects to octagonal node “7”. A green solid arrow labeled “2” begins from circular node “12” and connects to octagonal node “7”. A green solid arrow labeled “2” begins from circular node “6” and connects to octagonal node “7”. From the octagonal node “7”, a blue solid arrow labeled “4” connects to the central rectangular node “0”. At the bottom right: A dashed black arrow labeled “4” begins from circular node “11” and connects to circular node “10”. From circular node “10”, a dashed black arrow labeled “4” connects to the central rectangular node “0”. An orange solid arrow labeled “1” begins from circular node “22” and connects to circular node “14”. From circular node “14”, a blue solid arrow labeled “4” connects to the central rectangular node “0”. On the far bottom right, a dashed black arrow labeled “4” begins from circular node “17” and connects to circular node “25”, and from circular node “25”, a dashed black arrow labeled “4” connects to the central rectangular node “0”.Arc structure with assigned vehicle types and consolidation points
The network diagram consists of a central rectangular node labeled “0” surrounded by circular and octagonal nodes. A legend on the right is titled “Nodes” and identifies circular nodes as “Customer”, octagonal nodes as “Customer acting as consolidation point”, and the rectangular node with “0” as “Depot”. The legend for “Routes” shows a dashed arrow for “No vehicle-type change” and a solid arrow for “At least one vehicle-type change”. The “Vehicle types” legend includes an orange line for “Type 1”, a green line for “Type 2”, a red line for “Type 3”, and a blue line for “Type 4”. The nodes and connections are as follows: At the top left: A dashed black arrow labeled “4” begins from circular node “21” and connects to circular node “3”. From circular node “3”, a dashed black arrow labeled “4” connects to the central rectangular node “0”. To the left: A red solid arrow labeled “3” begins from circular node “5” and connects to octagonal node “24”. A blue solid arrow labeled “4” begins from circular node “4” and connects to octagonal node “24”. From octagonal node “24”, a blue solid arrow labeled “4” connects to the central rectangular node “0”. On the far left: A dashed black arrow labeled “3” begins from circular node “20” and connects to the central rectangular node “0”. At the bottom left: A red solid arrow labeled “3” begins from circular node “1” and connects to octagonal node “23”. A red solid arrow labeled “3” begins from circular node “16” and connects to octagonal node “23”. From octagonal node “23”, a blue solid arrow labeled “4” connects to the central rectangular node “0”. At the top center: A red solid arrow labeled “3” begins from circular node “19” and connects to octagonal node “13”. A blue solid arrow labeled “4” begins from circular node “9” and connects to octagonal node “13”. From the octagonal node “13”, a blue solid arrow labeled “4” connects to the central rectangular node “0”. At the bottom center: A red solid arrow labeled “3” begins from the circular node “15” and connects to the central rectangular node “0”. Below this, a red solid arrow labeled “3” begins from circular node “2” and connects to circular node “18”. From circular node “18”, a blue solid arrow labeled “4” connects to the central rectangular node “0”. To the top right: A red solid arrow labeled “3” begins from circular node “8” and connects to octagonal node “7”. A green solid arrow labeled “2” begins from circular node “12” and connects to octagonal node “7”. A green solid arrow labeled “2” begins from circular node “6” and connects to octagonal node “7”. From the octagonal node “7”, a blue solid arrow labeled “4” connects to the central rectangular node “0”. At the bottom right: A dashed black arrow labeled “4” begins from circular node “11” and connects to circular node “10”. From circular node “10”, a dashed black arrow labeled “4” connects to the central rectangular node “0”. An orange solid arrow labeled “1” begins from circular node “22” and connects to circular node “14”. From circular node “14”, a blue solid arrow labeled “4” connects to the central rectangular node “0”. On the far bottom right, a dashed black arrow labeled “4” begins from circular node “17” and connects to circular node “25”, and from circular node “25”, a dashed black arrow labeled “4” connects to the central rectangular node “0”.Arc structure with assigned vehicle types and consolidation points
Figure 2 illustrates the routing patterns of the proposed model. Dashed lines represent routes that start at customer nodes and terminate at the depot without vehicle-type changes or consolidation, corresponding to the baseline OVRP. Solid lines denote routes involving at least one vehicle-type change and a load transfer, which may or may not occur at consolidation points. Vehicle types are distinguished by color: orange, green, red, and blue correspond to vehicle types 1–4, respectively.
To benchmark the proposed problem against the conventional OVRP, a baseline model is constructed by restricting two key features of the proposed formulation. First, customer-based consolidation points are disabled, so that no customer is allowed to act as an intermediate load-transfer node. Second, vehicle-type changes along routes are prohibited, ensuring that each route is served by a single vehicle type throughout. Together, these restrictions eliminate load transfers and consolidation, yielding a classical OVRP structure. The baseline model is solved using the same parameter settings as the proposed model to ensure a fair comparison. Using the same WSM weighting scheme, the aggregated weighted score procedure identifies the best solution with a total cost of (). Compared with the proposed model's selected solution (Solution 4 in Table 4: ), the OVRP baseline shows a 22.6% increase in total cost. These results highlight the operational advantage of integrating customer-based consolidation points and vehicle-type coordination, leading to a significant reduction in total routing costs.
5. Conclusions and future research directions
This research contributes to the OVRP literature by introducing a structured approach for incorporating dual service windows and customer-based consolidation points in an open routing context, and jointly addressing economic, environmental, and service-quality objectives within a single integrated model. From a managerial perspective, these two structural levers, consolidation points and dual time windows, offer complementary strategies for improving reverse logistics efficiency. Consolidation points are particularly advantageous in networks with geographically clustered customers or heterogeneous fleets, where load aggregation and vehicle chaining can substantially reduce distance and emissions. Dual time windows, by contrast, are most beneficial when customer schedules allow temporal flexibility, enabling planners to align satisfaction and operational efficiency. When applied together, these levers allow managers to balance cost, CO2, and service quality effectively.
Several promising avenues for future research emerge from this study. These include incorporating uncertainty through stochastic or fuzzy modeling of key parameters such as travel time, demand, and emissions. While this study focuses on achieving optimal solutions for small-to medium-sized instances, future research could develop efficient heuristic or hybrid metaheuristic algorithms to address larger-scale problems and improve computational scalability. Additional extensions may consider dynamic or real-time routing environments, split deliveries, heterogeneous service levels, and broader environmental metrics such as nitrogen oxide emissions, load-dependent fuel consumption, or carbon trading costs. Expanding the model to multi-depot or collaborative logistics settings would further enhance its relevance for practical urban reverse logistics and support the development of greener and more customer-oriented routing systems.
Notes
The optimization models are implemented in Python using the GAMSPy package, which provides a Pythonic interface to GAMS, and solved with CPLEX under default exact optimization settings, ensuring all runs reach proven optimality.
, in which denote the normalized objective values for cost, emissions and customer satisfaction, respectively. Note that customer satisfaction () is originally a maximization objective and is therefore inverted during normalization so that all criteria are expressed in minimization form when applying WSM.
The supplementary material for this article can be found online.

