1. Introduction
Traditional retail formats such as supermarkets, jewelry stores, and department stores have long functioned as places where customers can view products and receive in person services. With the rise of e commerce, however, consumers have increasingly shifted to online shopping. It is reported that e-commerce reached 18% of global retail sales in 2020, up from 8.6% in 2016 [
1]. This trend has encouraged many retailers to adopt dual-channel and multi-channel strategies to gain or protect market share. When multiple channels are available and visible, customers prefer to search for products online and purchase them in stores, or examine products in stores and then complete the transaction online.
Omni-channel retailing extends beyond the multi-channel approach. While multi-channel strategies operate separate channels independently, omni-channel strategies merge these channels into a unified system. This integration provides customers with a seamless shopping experience across websites, stores, and mobile apps [
2,
3]. Hübner et al. [
4] showed that retailers increasingly recognize the value of linking channels to enhance customer experience.
Among the strategies for enabling omni-channel operations, Buy Online and Pick Up in Store (BOPS) is considered highly effective. BOPS allows customers to place online orders and collect them at nearby stores, reducing delivery costs and waiting time. It aligns with modern expectations for speed and convenience while linking online and offline channels to improve operational efficiency. Many large retailers benefit from BOPS; for example, it represented 30.2% of Sam Club’s and 22.6% of Kmart’s e-commerce sales in 2015 [
5].
Omni-channel strategies strengthen long-term customer loyalty [
6]. However, the increase in online purchases generates higher package volumes [
7], creating additional pressure on last-mile delivery, which is already one of the most expensive and operationally demanding aspects of e-commerce due to strict consumer service requirements [
8]. Last-mile delivery, the final stage where goods move from a fulfillment center to the customer or a pickup point, is the most expensive part of the supply chain, accounts for about 58% of total logistics cost [
9,
10]. These challenges have pushed extensive research into last-mile delivery within omni-channel environments.
Studies have shown that integrating omni-channel transport systems reduces costs. Abdulkader et al. [
11] found that integrating and sharing delivery vehicles between stores and online channels lowers distribution costs by 44% compared to operating separate fleets. Paul et al. [
12] introduced the Shared Capacity Routing Problem (SCRP) which examined benefits of capacity sharing by transferring online orders to the fixed schedule only at a dedicated transfer point associated with the fixed route. Paul et al. [
13] proposed a more flexible extension, the Shared Capacity Routing Problem with Transfers (SCRPT), allows online orders to transfer between flexible and fixed vehicles at multiple store locations, improving operational flexibility.
As online shopping expands, product returns have become a growing concern in reverse logistics. Return rates differ across product categories, and each return generates costs related to transport, customer service, inspection, sorting, and occasionally repackaging or repair. Under the BOPS model, efficiently planning delivery routes and handling return flows is particularly challenging. Guerrero-Lorente et al. [
14] explored integrating forward and reverse flows in the retailer’s omni-channel logistics network, where vehicles deliver orders to pickup points and collect returned goods. Similarly, Guerrero-Lorente et al. [
15] incorporated both flows into an omni-channel vehicle routing framework, which increases complexity because of customer preferences.
Those studies above can be considered as the pickup and delivery (PD) routing concept in the omni-channel and that concept has been applied efficiently in omni-channel setting. Works such as Bayliss et al. [
16], Martins et al. [
17], and Martins et al. [
18] applied mixed and simultaneous PD to manage both store replenishment and direct-to-consumer deliveries using shared fleets. Other studies including Li and Wang [
19] and Qiu et al. [
20] applied PD to inventory replenishment and strict time window deliveries in omni-channel systems.
Although prior studies have examined pickup-and-delivery (PD) strategies in omni-channel logistics, their use in reverse flows remains limited. To fill this gap, this study incorporates the simultaneous pickup and delivery (SPD) concept—allowing vehicles to deliver online orders and collect returns in a single visit—into the Shared Capacity Routing framework of Paul et al. [
12]. This integration leads to the Shared Capacity Vehicle Routing Problem with Simultaneous Pick-Up and Delivery (SCVRP-SPD).
Table 1 provides a summary of studies related to last-mile delivery in omni-channel retailing and highlights how this study addresses existing gaps.
In SCVRP-SPD network, stores act both as pickup points for online orders and as return points for customer-returned items. Inventory replenishment is carried out through fixed routes (the fixed schedule), while online order fulfillment and return collection are handled by flexible routes (the flexible schedule). The shared capacity mechanism enables flexible-route demand to be shifted onto fixed routes whenever residual capacity is available, improving overall vehicle utilization. To reflect the real-world industrial constraints addressed by this study, the following assumptions are adopted:
Pre-Planned Logistics: The routing is performed as a static planning problem (e.g., day-before planning) where all demands and returns are known prior to the vehicle’s departure, a common practice in centralized logistics optimization.
Simultaneous service: Delivery and pickup operations at a customer/store location are performed simultaneously, meaning the vehicle must have sufficient capacity to handle the net fluctuation of inventory at that node.
The SCVRP-SPD extends the original Shared Capacity Vehicle Routing Problem (SCRP)—a variant of the classical Vehicle Routing Problem (VRP). SCRP allows part of the customer demand to be served by flexible routes and the remainder to be transferred to fixed routes through capacity sharing. SCVRP-SPD generalizes this idea by jointly considering delivery and return flows and aims to minimize both flexible-route travel cost and transfer cost. When capacity sharing and SPD features are inactive, the problem reduces to the classical Capacitated Vehicle Routing Problem (CVRP).
From an optimization perspective, a wide range of metaheuristic approaches has been applied to VRP variants, including simulated annealing (SA), tabu search (TS), genetic algorithms (GA), and differential evolution (DE) [
21]. Each method has distinct advantages: SA escapes local optima by probabilistically accepting worse solutions, TS prevents revisiting previously explored solutions through tabu memory, GA evolves solutions through selection, crossover, and mutation, while DE applies mutation and crossover before selection.
Recent research increasingly focuses on hybrid metaheuristics that combine the strengths of multiple algorithms to improve robustness and solution quality [
22]. Examples include the SA–TS hybrid by Lin et al. [
23], the PSO–GA by Marinakis and Marinaki [
24], the GRASP–VNS matheuristic by Machado et al. [
25], the GA–VNS hybrid of Sbai et al. [
22], and the combinatorial DE with local search (CDELS) proposed by Souza et al. [
26]. All of these methods were evaluated on standard CVRP benchmark datasets.
The CDELS approach by Souza et al. [
26] demonstrated strong performance compared with state-of-the-art algorithms such as HGA-VNS, MGV-CP. This study will further improve the CDELS and develop tailored operators to address the specific characteristics of the SCVRP-SPD. The resulting algorithm is referred to as the Modified Differential Evolution (MDE).
The main contributions of this study are summarized as follows.
Incorporating the simultaneous pickup and delivery (SPD) mechanism into the SCRP framework, introducing the Shared Capacity Vehicle Routing Problem with Simultaneous Pick-Up and Delivery (SCVRP-SPD). To the best of our knowledge, this is the first study to apply SPD within SCRP.
Proposing a mixed integer linear programming (MILP) formulation for SCVRP-SPD and developing a Modified Differential Evolution (MDE) algorithm with problem-specific operators.
Constructing benchmark instances for SCVRP-SPD by modifying existing CVRP datasets.
Evaluating the performance of the MDE on these instances and deriving managerial insights.
The remainder of this paper is organized as follows.
Section 2 presents the problem definition and the MILP formulation of the SCVRP-SPD.
Section 3 describes the proposed MED algorithm for solving SCVRP-SPD instances.
Section 4 reports computational results and managerial implications.
Section 5 concludes the paper and outlines future research directions.
2. Problem Description and Mathematical Formulation
This research investigates the Shared Capacity Vehicle Routing Problem with Simultaneous Pick-Up and Delivery (SCVRP-SPD) within the context of omni-channel retailing. This problem is an extension of the Shared Capacity Routing Problem (SCRP) proposed by Paul et al. [
12]. The SCVRP-SPD adopts the core network components of the SCRP, which include an e-warehouse, a traditional warehouse, and a set of stores. The key difference in SCVRP-SPD is that these stores serve simultaneously as both customer pickup points for delivered items and customer return points for returned items, thus generating simultaneous pick-up and delivery (P&D) demand at each store.
The pick and delivery demands at each store are assumed to be known in advance. All stores in this model are assumed to be shared stores, meaning they are served by two primary types of routes:
Flexible Routes: These routes originate from and return to the e-warehouse. Their primary function is to fulfill online customer orders by delivering ordered items to the stores. Concurrently, they pick up returned items from the stores to bring them back to the e-warehouse.
Fixed Routes: These routes originate from and return to the traditional warehouse. They are dedicated to replenishing the stores’ physical stock.
Without the sharing capacity concept, every shared store would require two distinct visits—one by a flexible route for online orders and returns, and one by a fixed route for stock replenishment. The core of the SCVRP-SPD is the principle of sharing residual capacity. If a store’s demand can be accommodated by the residual capacity of a fixed route, that store’s service requirements can be transferred to the fixed route. This consolidation significantly reduces the need for the e-warehouse’s flexible routes. When a store is transferred to a fixed route, a secondary infrastructure is utilized:
Delivery Transfer: Ordered items for the transferred store are first transported from the e-warehouse to the traditional warehouse via a transfer route connecting the two facilities. The items are then delivered to the store by the fixed route.
Pickup Transfer: If the transferred store has items to be picked up (returns), the fixed route collects these items and transports them back to the traditional warehouse. Subsequently, the items are moved from the traditional warehouse to the e-warehouse via the transfer route.
Figure 1 illustrates the network efficiency gained through this mechanism. In
Figure 1a, where capacity sharing is not utilized, two flexible routes and two fixed routes are required to serve all five shared stores. By contrast,
Figure 1b shows that with capacity sharing, the service is completed with only one flexible route. Specifically, the flexible route services stores 2, 1, and 5. The online demand at stores 3 and 4 is transferred to the fixed routes due to sufficient residual capacity, necessitating the use of the transfer route to ship items between the e-warehouse and the traditional warehouse.
The SCVRP-SPD is formally defined on a network containing a set of shared stores S, which plays a role as both customer pickup and return point as well as the replenishment of store inventory. Each store has a non-negative delivery demand (for online orders) and a non-negative pickup demand (for returns).
The network is structured around two routing schedules:
Fixed Schedule Parameters: Based on the work of Paul et al. [
12], the fixed schedule is treated as a given input. It consists of a set of fixed route
R, where each route
serves a predetermined subset of stores
and has an available residual capacity
for transferred P&D demand.
Flexible Schedule Parameters: The flexible schedule is modeled as a directed graph , where the node set includes the set of stores S and the e-warehouse (depot) 0. The arc set represents possible travel connections , each having an associated travel cost . A fleet of homogeneous vehicles K with a load capacity of is utilized for the flexible routes.
The transfer operation between the e-warehouse and the traditional warehouse employs dedicated vehicles, each having a capacity of and incurring a fixed transfer cost F per vehicle used.
The problem is formulated as a Mixed-Integer Linear Programming (MILP) model using the following key decision variables: binary variable equals to 1 if arc is traversed by flexible vehicle and 0 otherwise; binary variable is 1 store is transferred to the fixed schedule, and 0 if it is served by a flexible route; non-negative variable defines current load of flexible vehicle k upon departing from node ; non-negative continuous variable tracks the sequential position of node on flexible route k, used for subtour elimination; and , denotes the number of times to transfer delivery and pickup demand between the e-warehouse and the traditional warehouse, respectively.
The objective Function (
1) is to minimize the total operational cost, including the total travel cost of flexible routes and the total cost associated with using the transfer path between the electronic warehouse and the traditional warehouse.
Constraints (
2) and (3) ensure that vehicles start and end at the depot. Constraint (4) enforces flow conservation at every node. Constraints (5) and (6) make sure that each store is either visited by a vehicle on a flexible route or is transferred to be served by a fixed route. Constraint (7) guarantees that the total delivery demand of all transferred stores does not exceed the capacity of the vehicle used for the transfer trip. Constraint (8) performs the same function for the total pickup demand of the transferred stores, ensuring the capacity of the vehicle used for the transfer trip is not violated. Constraint (9) restricts the total delivery demand transferred to the fixed schedule to be within the residual capacity. Constraints (
10)–(12) define the load of vehicle after serving a node, and that cannot exceed vehicle capacity. Constraint (13) is used to eliminate sub-tours. Constraints (14)–(17) are domains of variables.
Figure 2 illustrates the optimal routing, transferring and load flow results of an instance from dataset A-n11-k5, solved using the proposed MILP model. This example instance includes 10 stores and a fleet of 5 vehicles with a capacity of
. The transfer capacity between the E-warehouse and the traditional warehouse is set to
. The instance incorporates a pre-existing logistics structure consisting of 4 fixed routes with residual capacities of 20, 20, 13, and 14, respectively. Additionally, the maximum number of stores per fixed route is 3, and the maximum number of allowable transferred stores (from the flexible fleet to a fixed route) is 1.
The solution yields a total cost of 339.452. The solver generates two flexible routes: Route 1 () and Route 2 (). The load variables () demonstrate the simultaneous pickup and delivery; for instance, in Route 2, the load fluctuates at each stop based on specific demands, reaching capacity () at the final leg. The solution also coordinates a warehouse transfer with a total pickup of 98 and delivery of 67, satisfying the transfer capacity constraint (). Regarding the transfer decisions, stores with (stores 1, 2, 4, 7, 8, and 10) are retained in the flexible routes, while stores with (stores 3, 5, 6, and 9) are transferred to the fixed routes.
3. Solution Methodology
This section presents the Modified Differential Evolution (MDE) algorithm developed to solve the SCVRP-SPD. MDE extends the CDELS framework of Souza et al. [
26] and consists of three main components: (1) mutation and crossover to diversify the population, (2) local search to explore the neighborhood and improve solution quality using operators tailored to SCVRP-SPD, and (3) a selection mechanism to update the population. In local search, tailored operators are proposed to suit the structural characteristics of SCVRP-SPD solutions. To strengthen exploration, infeasible solutions are permitted during the search using a generalized objective function that incorporates penalty terms for constraint violations (see
Section 3.3).
Algorithm 1 outlines the procedure of the MDE algorithm. Let
denote the mutation degree and crossover ratio;
g is the current generation;
is the non-improvement count;
is the number of population; and
is the threshold determining which local search operator is applied. The population at generation
g is denoted by
, whose individuals include
and
. Temporary individuals
are used during mutation and crossover to generate new candidates for generation
. The algorithm terminates when there is no improvement for
consecutive generations or when the maximum number of generations
is reached. The best solution is denoted by
.
| Algorithm 1: Pseudocode of MDE for SCVRP-SPD |
![Mathematics 14 00195 i001 Mathematics 14 00195 i001]() |
The algorithm begins by setting g and to 0; generating the initial population , and selecting its best individual as the initial best solution (Lines 1–3). A main loop then executes until one of the stopping criteria is satisfied (Lines 4–22), after which the best solution is returned (Line 23).
At each iteration, an empty population for the next generation is created (Line 5). Each new individual is then generated through the loop (Lines 6–16). In detail, two individuals are randomly selected from the current population; then mutation and crossover are applied to produce a child (Lines 7–9). Next, that child is further improved by undergoing local search, using one of two local search operators chosen based on the current generation g (see Lines 10–13). Then, the child is evaluated through the selection operator and added to the next-generation population (see Lines 14 and 16).
Once the new population is formed, its best individual is compared with . If improvement is observed, is updated and is reset; otherwise, increments by one (Lines 17–21). Then, the generation counter increases by one (Line 22).
3.1. Solution Representation
Figure 3 presents an example of the solution representation for the SCVRP-SPD solution. A solution of SCVRP-SPD is represented by two components, it is noted that grey cell means that store is tranfered.
The first component—flexible route: This is a 2D array in which each row corresponds to one flexible route. Each route begins and ends at the e-warehouse (depot), denoted as 0, and contains the sequence of stores visited by that vehicle.
The second component-transfer decision: This is another 2D array indicating whether each store is transferred to the fixed schedule. The total number of customer positions equals to total number of store . The transfer part contains binary values: a value of 1 at position i means that the corresponding store is assigned to the fixed schedule; a value of 0 means it remains on the flexible schedule.
Figure 4 illustrates an example with 9 stores and 3 vehicles. The fixed schedule is predefined, which determines the remaining capacities of the fixed routes. In this case, the remaining capacities of fixed routes 1, 2, and 3 are 0, 15, and 10, respectively. The online demands for stores 1 through 9 are 10, 15, 15, 5, 15, 5, 25, 15, and 25, respectively. Before any transfer decisions, the flexible routes are: 0–7–9–0 (route 1), 0–3–1–2–0 (route 2), and 0–5–6–4–8–0 (route 3). Since fixed routes 2 and 3 still have spare capacity, stores 2, 4, and 6 (whose demands are highlighted in red) are transferred to the fixed schedule. After transfer, the flexible routes become: 0–7–9–0 (route 1), 0–3–1–0 (route 2), and 0–5–8–0 (route 3).
3.2. Initial Solution
The initial solution for the SCVRP-SPD is generated following the strategy proposed by Souza et al. [
26]. A population
P of solutions is created, where the population size
is specified and must be a multiple of the number of stores
.
Algorithm 2 presents the pseudocode for constructing each individual solution. For every individual, the algorithm begins by randomly generating a transfer list
. From that, the non-transferred list
is created and then shuffled to ensure randomness within each individual (Lines 2–4).
| Algorithm 2: initialSol() |
![Mathematics 14 00195 i002 Mathematics 14 00195 i002]() |
Next, the algorithm assigns the non-transferred stores to flexible routes by iterating through the shuffled list and the available vehicles (Lines 5–6). Assignment is determined by a capacity check (Line 7), which evaluates whether the current vehicle load plus the store’s delivery demand exceeds the vehicle capacity. If the assignment is feasible, the store is placed on that vehicle’s route and removed from (Lines 8–10).
If a store cannot be assigned under the capacity restriction, it is still allocated to a randomly selected vehicle to ensure that all stores are served (Lines 11–12). Once all non-transferred stores have been assigned, the constructed individual is added to the population (Line 13).
3.3. Generalized Objective Function
The proposed algorithm allows infeasible solutions by incorporating penalty terms for capacity violations. Specifically, two types of violations are considered:
Violation of the fixed-route residual capacity, identified when constructing the transfer list (denoted by ).
Violation of vehicle capacity in the flexible routes (denoted by ).
Both violations are added in the objective function using the weights
and
, respectively, yielding a generalized objective function
. Let
represent an individual solution composed of
flexible routes. The value of
is calculated as follows.
Here,
represents the objective value of the solution as defined in Equation (
1).
3.4. Perturbation Operator
The perturbation operator (
perturbation) used in this study is an enhanced version of the procedure proposed by Souza et al. [
26] and is applied during both the mutation and crossover phases. Its purpose is to compare the status of a store
in the individual being modified,
, with that of a reference individual
Z and adjust
so that the status or position of
aligns with that in
Z. Algorithm 3 shows the pseudocode of perturbation.
For clarity, let and denote the transfer lists of and Z; and indicates the position (route , position ) of store in individual Z. The algorithm begins by copying individual Y to form (see Line 1). Four scenarios may occur during perturbation.
Scenario 1 (see
Figure 5a): store
appears in the transfer lists of both
and
. Since its status is consistent across individuals, no modification is required (Lines 2–3).
Scenario 2 (
Figure 5b): store
is in
but not in
. To match the reference individual,
is removed from its route in
and added to
(see Lines 4–6).
Scenario 3 (
Figure 5c): the opposite of Scenario 2.
is in
but not in
. Thus,
is removed from
and inserted into the appropriate flexible route (see Lines 7–9).
Scenario 4 (
Figure 6): store
appears in the flexible routes of both individuals. The algorithm retrieves its position in
and
Z. (Lines 10–12). If these positions are identical, no change is needed (Lines 13–14). If they differ, a swap is attempted (Lines 15–16). If the target position in
Z is not currently occupied by
in
, then in
the store is removed from its original position and reinserted at the end of the route corresponding to the reference position (Lines 17–18).
| Algorithm 3: perturbation() |
![Mathematics 14 00195 i003 Mathematics 14 00195 i003]() |
3.5. Mutation and Crossover Operators
The mutation is employed to generate new individuals by variating two random individuals in the current population, denoted by
mutation, where
and
are randomly selected individuals in current generation
g and
is the mutation degree. Initially, a new individual
is created as a copy of
, and a list of stores to be perturbed is initialized as the set of all stores
S (denoted by
L). Then,
will be iteratively changed by
times. For each iteration, a store
is randomly selected in
L, after that,
perturbation is implemented to obtain a new individual. The detailed process of the mutation operator is illustrated in Algorithm 4.
| Algorithm 4: mutation |
![Mathematics 14 00195 i004 Mathematics 14 00195 i004]() |
Regarding crossover, it is also implemented to generate new offspring by combining the features of two different individuals (parents), denoted by
crossover, where
and
are selected parents and
represents the crossover ratio. The process starts by initially performing the perturbation operator to guarantee that the trial will be different from the target
. For each store in the
, a uniformly distributed random number between
is generated and compared to
to decide to perform the perturbation operator to create a new individual. Algorithm 5 presents the pseudocode of the crossover operator.
| Algorithm 5: crossover |
![Mathematics 14 00195 i005 Mathematics 14 00195 i005]() |
3.6. Local Search Operators
The local search in this study is an adaptation and extension based on the methods of Nagata and Bräysy [
27] and Souza et al. [
26]. It explores potentially better solutions by making small changes to the current individual’s solution.
Section 3.6.1 details the neighborhood moves used in local search operator and
Section 3.6.2 presents two local search operators.
3.6.1. Neighborhood Moves
To enhance the search capability, this research designs a set of problem-specific neighborhood operators denoted by . Their descriptions are as follows:
—Transfer-to-Route move: Moves a store from the transfer list into all possible positions in flexible routes. The move is performed if the solution improves; otherwise, the store remains in the transfer list. This move is repeated for all stores in the transfer list.
—RR-Swap move: Swaps two stores randomly selected from different routes. All viable store pairs are evaluated, and the swap yielding the greatest improvement in the objective value is applied.
—Reinsertion-Between-Routes move: Removes a store from its route and insertes into all possible positions in other routes. The best improving insertion is applied; if none improves the solution, the store remains in place. This process is repeated until all stores have been checked.
—Flip move: Exchanges two stores within the same route. All viable store pairs are evaluated, and the exchange that produces the greatest improvement in the objective value is selected.
—TR-Swap move: Swaps a store in the transfer list with a store in a flexible route. All combinations are evaluated, and a swap is applied if it improves the solution.
—Route-to-Transfer move: Opposite of . A store is removed from a flexible route and placed into the transfer list. The move is accepted only if the resulting solution improves. This move is repeated for all stores in the route.
Examples of all neighborhood moves are shown in
Figure 7.
3.6.2. Local Search
The proposed MDE algorithm incorporates two local search procedures, denoted as and . Using two stages allows the search to progress in a structured manner: rapidly improves the structure of flexible routes, while refines shared-capacity decisions and their interaction with the routing plan. This design strengthens exploitation by first stabilizing the route layout and then optimizing how demand is allocated between flexible and fixed routes.
follows a Variable Neighborhood Descent (VND) scheme using four neighborhood moves from
:
,
,
, and
. The search cycles through these neighborhoods in sequence, and whenever an improving move is found, the solution is updated and the process restarts from the first neighborhood. This continues until no further improvements can be obtained in any of the four neighborhoods. The pseudocode of
is given in Algorithm 6.
| Algorithm 6: 1stLocalsearch |
![Mathematics 14 00195 i006 Mathematics 14 00195 i006]() |
applies all neighborhood moves in a sequential ordering: , , , , , and . is designed to focus on the integrated optimization of both the transfer decision and the flexible routes.
3.7. Selection Operator
After the local search phase, child individuals are evaluated against their parents. Infeasible individuals accepted by the selection operator (denoted by
selection) are retained for the next generation since they may contain useful structural information that other individuals can exploit during evolution. For example, an infeasible individual might include one route that violates capacity constraints but still exhibit other well-constructed routes that contribute positively to the search process. However, such infeasible individuals are never considered valid final solutions. The selection operator used in this step is summarized in Algorithm 7.
| Algorithm 7: selection |
![Mathematics 14 00195 i007 Mathematics 14 00195 i007]() |
4. Computational Results
This chapter presents the computational results of the proposed mathematical model and MDE algorithm. The mathematical model in
Section 2 is solved using GUROBI solver (version 11.0), and MDE is implemented in C++ (Visual Studio 2022). All experiments are conducted on a computer equipped with an Intel Core i7 11700 CPU running at 2.50 GHz.
4.1. Test Instances
The SCVRP-SPD instances used in the experiments are adapted from existing CVRP instances in the CVRP Library. Store locations, delivery quantities, and vehicle capacities are preserved, while pickup demands are added to reflect reverse logistics. The instances are grouped into two sets:
Set 1 (small-size instances): This set consists of nine datasets with 8–24 stores. Pickup demands are generated as random values between 0 and 35.
Set 2 (large-size instances): This set consists of four datasets with 31–79 stores. For each store, a return rate is sampled randomly between 0.15 and 0.30, and pickup demand is computed as delivery demand multiplied by this return rate.
For each instance, the fixed routes and their spare capacities are generated following the procedure of Paul et al. [
12]. Specifically, let
is a maximum number of store per fixed route. A basic simulated annealing algorithm (using swap, insert, and reverse operators) is applied to solve a VRP to obtain the fixed routes. The spare capacity of each fixed route is then determined by limiting the number of customers that can be transferred to each fixed route:
. Thus, no fixed route can receive transfers exceeding half of its original customers. The spare capacity is computed as the total demand of the
smallest customers from the flexible schedule associated with that route.
Given all combinations of and , this setup yields 80 instances in Set 1 and 64 instances in Set 2. Additionally, the cost of each transfer trip is set to half of the maximum travel cost between any two locations in the instance.
4.2. Parameter Settings
The performance of the proposed algorithm depends on several parameters, including
, and
. Their values are tuned using a one-factor-at-a-time (OFAT) procedure. Fifteen instances are randomly selected for the tuning process. Each instance is executed 10 times to assess performance under different parameter settings. The OFAT procedure starts with a randomly selected initial configuration. Each parameter is then adjusted independently while the remaining parameters are fixed. A set of candidate values is tested, and the value that achieves the best average performance is selected. This process continues sequentially until all parameters are tuned.
Table 2 summarizes the candidate values, initial values, and final optimized values. The parameters are tuned sequentially in the order shown in the table.
4.3. Results of Set 1: SCVRP-SPD Small-Size Instance
To validate the mathematical model presented in
Section 2 and to assess the effectiveness of the MDE algorithm, this research tests all small-size SCVRP-SPD instances and compares the results with those obtained from the MILP model. It is important to note the impact of the problem’s combinatorial nature on convergence speed. The SCVRP-SPD is an extension of the VRP, which is an NP-hard problem [
28,
29] Consequently, the search space grows factorially with the number of stores. As the problem size increases, the computational time required for the exact MILP solver to prove optimality increases exponentially. The MILP model is solved using the GUROBI optimizer with a five-hour time limit, while the MDE algorithm is run 10 times on each instance to evaluate its stability and robustness.
The detailed results for Set 1 are reported in
Table 3 and
Table 4. For each instance, the tables present the best objective value obtained by GUROBI (
), the best value found by MDE (
), the average MDE result over 10 runs (
), and the average computational time (
) in seconds. The performance gap between MDE and GUROBI is measured as:
. Because the problem is a minimization problem, a more negative gap indicates that MDE finds a better solution than GUROBI. Additionally, the gap between the best and average MDE solutions,
is used to evaluate the robustness and consistency of the MDE algorithm.
Table 5 summarizes the comparison results. For each dataset, it reports how many solutions are worse, better, or equal when comparing the two methods, along with the average performance gaps.
For datasets B-n9-k4, B-n9-k4-2, A-n11-k5, A-n11-k5-2, A-n13-k6, A-n13-k6-2, and P-n16-k8, both methods obtain the same optimal solutions. When the problem size increases to 25 nodes, GUROBI is no longer able to return optimal results for all instances. Specifically, it finds optimal solutions for 13 out of 16 instances in B-n19-k9 and returns only feasible solutions for A-n25-k12.
In B-n19-k9, the proposed MDE matches all 13 optimal solutions and produces better results for the remaining 3 instances, with an average gap of . In A-n25-k12, it achieves better solutions for every instance, with an average gap of .
Regarding computational efficiency, the algorithm consistently finds optimal or high-quality solutions within a reasonable time, with an average of 8.00 s across all instances Set 1. Detailed average runtimes and the average deviation between the best and average solutions of each dataset are provided in
Table 6. Notably, the MDE returns the optimal solutions across all runs, indicating high stability.
In general, the algorithm matches the exact optimal results for all instances that contain up to 19 nodes. For instances with more than 19 nodes, it delivers better objective values within a reasonable computational time, showing its potential for addressing SCVRP-SPD as the problem size increases.
4.4. Results of Set 2: Large-Size SCVRP-SPD Instance
Since the proposed MDE algorithm demonstrated significant effectiveness in solving the small-size instances, it is next applied to the more complex problem instances to examine its scalability and overall effectiveness. Since SCVRP-SPD is a newly introduced problem, no existing benchmarks are available; thus, the results produced by MDE are compared against those obtained from GUROBI. For the instances in Set 2, GUROBI is allowed a maximum runtime of eight hours. As in
Section 4.3, the MDE algorithm is executed 10 times for each instance.
Table 7,
Table 8,
Table 9 and
Table 10 present the detailed results for datasets A-n32-k5, A-n48-k7, A-n64-k9, and A-n80-k10, respectively, using the same notation as in the previous section. For these large-size instances, GUROBI returns feasible (rather than optimal) solutions, while MDE consistently produces better feasible solutions in shorter computation times.
Table 11 summarizes the comparison between the two approaches using the same performance measures as before. Across all datasets in Set 2, MDE outperforms GUROBI with an average improvement of
, with individual averages of
and
for A-n32-k5, A-n48-k7, A-n64-k9, and A-n80-k10, respectively. As shown in
Table 12, MDE also provides solutions within reasonable computation times. Moreover, it demonstrates high stability, achieving an average difference of only 0.48% between its best and mean solutions across all datasets.
This study further validates the performance differences between the proposed MDE algorithm and the Gurobi solver on large-scale instances by conducting a Wilcoxon signed-rank test. This non-parametric statistical hypothesis test is chosen because the solution quality data does not necessarily follow a normal distribution. The test pairs the best objective values obtained by Gurobi and MDE for all 64 instances in Set 2. The null hypothesis posits that there is no significant difference between the two methods. The analysis was performed at a 95% confidence level (significance level ).
The test yields a p-value is <0.00001 (which is less than 0.05) and a z-value of . These statistics lead to the rejection of the null hypothesis. Given that the MDE solutions consistently exhibit lower costs compared to the Gurobi results, this result statistically confirms that the MDE algorithm significantly outperforms the Gurobi solver (limited to 8 h) in terms of solution quality for large-scale SCVRP-SPD instances.
In conclusion, the proposed MDE algorithm is both efficient and stable when applied to the SCVRP-SPD, performing effectively across all tested instances.
4.5. Cost Analysis
In this part, the SCVRP-SPD instances in Set 1 are used for evaluating the benefits of adopting the proposed shared capacity and store-transfer mechanisms in the SCVRP-SPD model, comparing scenarios where the mechanism is applied versus where it is not. This is valuable from a practical viewpoint.
Table 13 records the percentage of cost savings (
) and the percentage of visit reduction in flexible routes (
) when applying shared capacity and store-transfer mechanisms.
The findings on cost savings and visit reduction are summarized as follows:
Through the effective utilization of the shared capacity system, transportation costs could be saved up to 46%.
For a given maximum number of stores per fixed route , increasing the maximum number of transferable stores generally resulted in a corresponding increase in transportation cost savings.
The analysis noted that adopting the store transfer mechanism is not always advantageous. In some instances, savings could not be achieved. This occurs if the cost of the transfer path outweighs the savings realized from removing the store from the flexible route, even if the transfer itself is feasible.
Therefore, the transfer path cost and residual capacity are the main influencing factors determining the potential benefits of shared capacity.
In general, the SCVRP-SPD model can be a valuable operational strategy to reduce transportation costs and improve operational efficiency, especially in omni-channel retail environments where shared capacity, cross-store transfers, and synchronized delivery-pickup flows are necessary to meet various customer demands.
5. Conclusions and Future Research
The rapid expansion of e-commerce has forced traditional retailers to adopt omnichannel strategies, which integrate physical and digital sales channels. The growth of services like “Buy Online, Pick Up in Store” (BOPS) creates complex demands for both forward and reverse logistics, presenting significant challenges and opportunities. In response, this study extends the SCRP by incorporating simultaneous pickup and delivery, where stores serve as both pickup points for online orders and customer return points, introducing the Shared Capacity Vehicle Routing Problem with Simultaneous Pickup and Delivery (SCVRP-SPD).
The SCVRP-SPD is formulated as a MILP model, and a Modified Differential Evolution (MDE) algorithm is developed to solve it. Numerical experiments using both the GUROBI solver and the proposed MDE, demonstrating the strong performance of MDE across all tested instances. The results further show that the SCVRP-SPD model offers substantial strategic value, with transportation cost reductions of up to . These findings indicate that combining simultaneous pickup and delivery with capacity sharing can improve operational efficiency, improve service performance, and reduce the logistical burden associated with forward and reverse flows in omnichannel retailing.
There are several promising directions for future research. First, this study considers only a single transfer point; extending the model to multiple transfer points would better capture the structure of real-world supply chains. Second, the model can be expanded to incorporate additional features such as customer service requirements (e.g., time windows, lateness penalties) and hard time window constraints for warehouses to better reflect the tight planning horizons inherent in omni-channel logistics. Third, with increasing emphasis on sustainability, future extensions may also integrate emissions considerations into the objective function or explore the use of electric vehicles. Fourth, future work may examine practical deployment, such as how the proposed network performs under different stochastic conditions and dynamic environments (demand, travel time, service time, and operational time) and how to manage trade-offs among sustainability-related objectives such as emissions, customer satisfaction, and reliability. Finally, this study focuses primarily on developing the mathematical model for the SCVRP-SPD. A limitation of this work is that the proposed MDE is compared only with the solver. To address that limitation, developing algorithms to compare to MDE, such as Genetic Algorithms (GA) and Artificial Bee Colony (ABC), and incorporating deep learning techniques for adaptive parameter tuning are potential research directions.