This paper proposes a solution to the open vehicle routing problem with time windows (OVRPTW) considering third-party logistics (3PL). For the typical OVRPTW problem, most researchers consider time windows, capacity, routing limitations, vehicle destination, etc. Most researchers who previously investigated this problem assumed the vehicle would not return to the depot, but did not consider its final destination. However, by considering 3PL in the B2B e-commerce, the vehicle is required back to the nearest 3PL location with available space. This paper formulates the problem as a mixed integer linear programming (MILP) model with the objective of minimizing the total travel distance. A coordinate representation particle swarm optimization (CRPSO) algorithm is developed to obtain the best delivery sequencing and the capacity of each vehicle. Results of the computational study show that the proposed method provides solution within a reasonable amount of time. Finally, the result compared to PSO also indicates that the CRPSO is effective.

In B2B e-commerce, logistics is viewed as an increasingly important activity. Regardless of industry, most e-businesses rely on logistics management to enhance their competitiveness [

Logistics professionals must take many constraints into account in order to plan optimal distribution routes that consider customer demand, vehicle routing, vehicle capacity, etc. Together, these constraints associated with delivery logistics are called the vehicle routing problem (VRP) [

In this paper, we propose a solution to the open vehicle routing problem with time windows (OVRPTW) considering 3PL. In the problem, a 3PL company leaves its vehicles at its client’s depot until they are loaded. Post-delivery, vehicles do not return to the depot, but to the nearest 3PL company location with available space. In most previous OVRPTW literature that considered 3PL, a vehicle’s final destination was not considered. However, in this research, we not only consider common constraints in OVRPTW such as vehicle capacity, but also a 3PL constraint in which the vehicles must return to a 3PL company location · a limitation of destination. We propose a mixed integer linear programming (MILP) model that considers these practical characteristics. In this research, we use a classical OVRPTW formulation with 3PL considerations to solve an experimental problem set. Due to the computational complexity of the model, we designed a coordinate representation particle swarm optimization (CRPSO) algorithm to obtain the near-optimal vehicle routing plan with the objective of minimizing total travel distance.

The rest of this paper is organized as follows. In Section 2, we review the literature on related VRPs considering 3PL and OVRPTW. In Section 3, we present the proposed MILP model for the problem and the CRPSO algorithm used to obtain the solutions. In Section 4, we present a computational study that demonstrates the excellent performance of the CRPSO algorithm. Finally, in Section 5 we summarize the results of this research and suggest a possible direction for future research.

Many enterprises outsource non-core functions such as distribution logistics to promote competitiveness; in response to this trend, the 3PL sector is growing rapidly [

Baykasoglu and Kaplanoglu proposed a multi-agent based load consolidation decision-making approach considering many kinds of logistics mechanisms, including in-house logistics systems and 3PL, so as to improve the logistics efficiency of enterprises [

Routing destination is the biggest difference between VRP and OVRP. VRP is called the Hamiltonian cycle, and OVRP is called the Hamiltonian path [

OVRP is a very common problem in daily life, especially in logistics, transportation and other similar industries. Several scholars have proposed solutions to problems in these contexts. Sariklis and Powell proposed a two-stage model based on a minimum spanning tree to solve a vehicle routing decision problem [

In most of the extant literature, researchers solved VRP, VRPTW, OVRP and OVRPTW as individual problems. Unlike previous studies, however, this paper addresses a new topic: OVRPTW considering 3PL. Since OVRPTW is NP-hard, most researchers have solved such problems using heuristic algorithms [

The logistics department at the depot is determining routes for delivery vehicles, and the forwarder will load goods into the vehicles based on customer demand and deliver them following the assigned routes. As shown in

In this section, we formulate the mixed integer linear programming model for the addressed OVRPTW problem considering 3PL. Specifically, we modify Repoussis et al.’s MILP model [

A. Notations

_{i}: demand of customer

_{ij}: the cost from node

_{ij}: travel time from node

_{ij}: the distance from node

_{k}: fixed cost for the acquisition of vehicle

[_{i},_{i}]: time window,

_{i}: the earliest service start time for customer

_{i}: the latest service start time for customer

_{i}: service time of customer

_{i}: departure time from customer

_{i}: arrival time to customer

We formulated a mixed integer linear programming model for the addressed OVRPTW problem considering 3PL. We describe the objective function and constraints below.

The objective function is to minimize the total travel distance.

Constraints

Constraint

Constraint

Constraint

Constraint

Constraints

Constraints

Constraint

Lastly, constraints

Constraints

Constraint

We developed a coordinate representation particle swarm optimization algorithm to search for near-optimal solutions of the appropriate customer sequence and determine the feasible capacity of each vehicle based on coordinate dimensions and evolutionary processes. To evaluate the fitness values of the coordinate-coded dimensions obtained from the particle swarm optimization algorithm, we first developed a customer sequencing assignment procedure to determine the customer delivery priorities. Then, we used coordinate representation to generate a vehicle priority matrix and a destination priority matrix. In order to construct vehicle routes, vehicle capacity must be limited. Following the procedures described in the previous section with the associated constraints, the travel distance for each vehicle route can be calculated as the fitness value of each particle dimension. The CRPSO is repeated until the termination condition is satisfied.

Particle swarm optimization was proposed by Eberhart and Kennedy [_{i}), the personal best experience of each particle (_{p(i)}), and the global best experience of all particles (_{g}). The procedure of calculating the new velocity and the position of every particle in the next iteration could be shown in the mathematical model.

where _{id} (^{th} dimension of the ^{th} particle in the ^{th} iteration. The variable _{id}(^{th} dimension of the ^{th} particle in the ^{th} iteration. The variable _{1} is the self-cognition acceleration coefficient, and _{2} is the social cognition acceleration coefficient, _{1} and _{2} are two separately generated, uniformly distributed random numbers in the range [0,1].

The CRPSO framework for solving OVRPTW considering 3PL in this paper is based on the Object Library for Evolutionary Techniques [

1) Set iteration ^{th} particle with random position _{i} in the range [^{max}, ^{min}]. Velocity _{i} = 0 and personal best _{i} = _{i} for

2) For _{i} to a set of vehicle routes _{i} and vehicle destination _{i} (see decoding method in Section 4.3).

3) For _{i} and _{i}, i.e., the total travel distance for all routes, and set this as the fitness value of _{i}, represented by_{i}

4) Update _{i} = _{i}, if _{i}_{i}

5) Update _{g} = _{i}, if _{i}_{g}

6) Update the velocity and the position of each ^{th} particle

If _{id} (_{max}, then

If _{id} (_{min}, then

7) If the stopping criterion is met, i.e.,

8) Decode Pg as the best set of vehicle routes found, R* + D* with its corresponding performance measurement Ψ(Pg).

The solution representation of vehicle routes is one of the key elements for an effective implementation of CRPSO to solve OVRPTW considering 3PL. The solution representation in CRPSO of OVRPTW considering 3PL with n customers and m vehicles consists of (

The first eight dimensions are related to customers, and each dimension represents a single customer. These dimensions are required to create a priority list of customers to be added to the routes. The priority list is determined by sorting the first eight dimensional values. Smaller values indicate higher priority customers. The second and third parts of CRPSO extract the reference points for vehicles. These reference points determine the vehicle priority matrix for routes, which is constructed based on the relative distance between these points and a customer’s location. In other words, a vehicle is defined as a reference point on a Google map. Customers are prioritized to be served by closer vehicles. These reference points also determine the 3PL destination priority matrix based on the distance between these points and 3PL company locations. In the second and third parts, the four dimensions consist of longitude and latitude for each vehicle. Therefore, the representation is called a coordinate representation. The last part, comprised of two dimensions, is associated with the capacity of each vehicle. The value of each dimension is the service limitation for each vehicle. The purpose of this representation is to avoid problems such as exceeding delivery capacity.

In summary, the proposed solution representation consists of three types of dimensional designs, including customer sequencing, vehicle coordinates, and vehicle capacity. The problem with

The decoding method is modified from Ai and Kachitvichyanukul’s decoding method in our CRPSO solution [

^{th} particle in the ^{th} dimension

^{th} vehicle corresponding to the ^{th} particle

^{th} vehicle corresponding to the ^{th} particle

1) Construct the priority list of customers (

Build set

Select

Add

Remove

Repeat step 1, parts b–d until

2) Construct the vehicle priority matrix (

a. Set the vehicle reference position. For

b. For each customer

For each vehicle

Build set

Select

Add _{k}.

Remove

Repeat step 2b, parts iii–v until

c. For each vehicle

For each 3PL

Build set

Select

Add _{k}.

Remove

Repeat step 2c, parts iii–v until

3) Determine vehicle routes and vehicle 3PL destinations.

a. Set

b. Add customers one by one to the route.

Set _{k} and

Set _{l,q}.

Create a new candidate route by inserting customer _{ij}, which has the smallest additional cost.

Check the capacity and route time constraints of the candidate route.

If a feasible solution is reached, update route _{ij} with the candidate route.

If

c. If

d. Set

e. Assign vehicles one by one to a 3PL destination.

Set _{k} and

Set _{l,q}.

Create a new candidate destination by assigning vehicle _{ij}.

If a feasible solution is reached, update the route _{ij} with the candidate destination.

If

This section compares the performance of the developed CRPSO algorithm to PSO using problems of the same scale, and evaluates the quality of the CRPSO solution by analyzing the computational results. This section consists of three parts: benchmark instances, parameter settings and PSO dimensions, and a comparison table. We tested our research experiments using Solomon’s 56 VRPTW benchmark instances [

We tested the proposed heuristic on three different data sets [

Moreover, C, R and RC problems can be further classified into two types: type 1 (C1, R1, RC1) problems have short time windows and small vehicle capacities, and type 2 (C2, R2, RC2) problems have long time windows and large vehicle capacities. However, the proposed problem in this paper is OVRPTW considering 3PL, so the problem set differs from Solomon’s data [

The parameter settings in PSO and CRPSO include population size as 100, iteration as 200, _{p} as 2 and _{g} as 2. A PSO problem with

The proposed CRPSO algorithm and PSO was implemented using the Visual Studio C# programming language. Some criteria can be used to evaluate the effectiveness of the developed CRPSO algorithm. One common criterion is the solution gap between the optimal solution of PSO and the best solution found by the CRPSO algorithm. The experiments verify the solution to determine the improvement rate for travel distance. The solution gap is defined as below [

where

All 56 data sets from Solomon’s problems [

Set | NO. | PSO | CRPSO | Gap(%) | ||||
---|---|---|---|---|---|---|---|---|

TD | NV | CPU(s) | TD | NV | CPU(s) | |||

C1 | 1 | 5,839.49 | 25.00 | 0.09 | 5,829.17 | 23.00 | 0.65 | −0.18 |

2 | 5,886.57 | 23.00 | 0.08 | 5,811.75 | 23.00 | 0.66 | −1.27 | |

3 | 5,996.79 | 25.00 | 0.08 | 5,833.07 | 25.00 | 0.92 | −2.73 | |

4 | 6,285.30 | 23.00 | 0.09 | 5,599.02 | 20.00 | 0.69 | −10.92 | |

5 | 6,040.21 | 25.00 | 0.10 | 5,887.57 | 23.00 | 0.67 | −2.53 | |

6 | 6,437.06 | 23.00 | 0.09 | 5,820.83 | 21.00 | 0,686 | −9.57 | |

7 | 6,012.17 | 23.00 | 0.09 | 5,666.44 | 23.00 | 0.68 | −5.75 | |

8 | 6,307.69 | 24.00 | 0.08 | 5,772.41 | 22.00 | 0.74 | −8.49 | |

9 | 6,341.36 | 22.00 | 0.10 | 5,872.71 | 20.00 | 0.68 | −7.39 | |

Average | 6,127.40 | 23.67 | 0.09 | 5,788.11 | 22.22 | 0.63 | −5.42 | |

C2 | 1 | 6,376.06 | 24.00 | 0.12 | 5,762.44 | 24.00 | 0.69 | −9.62 |

2 | 6,110.67 | 22.00 | 0.09 | 5,971.94 | 22.00 | 0.66 | −2.27 | |

3 | 6,208.32 | 24.00 | 0.09 | 5,988.48 | 23.00 | 0.75 | −3.54 | |

4 | 6,470.55 | 23.00 | 0.07 | 5,948.77 | 22.00 | 0.67 | −8.06 | |

5 | 6,636.96 | 21.00 | 0.09 | 5,967.21 | 22.00 | 0.70 | −10.09 | |

6 | 6,171.45 | 22.00 | 0.09 | 5,983.65 | 22.00 | 0.73 | −3.04 | |

7 | 6,098.70 | 24.00 | 0.09 | 5,895.62 | 23.00 | 0.96 | −3.33 | |

8 | 6,110.15 | 24.00 | 0.11 | 5,889.13 | 24.00 | 0.86 | −3.62 | |

Average | 6,272.86 | 23.00 | 0.09 | 5,925.91 | 22.75 | 0.75 | −5.45 | |

R1 | 1 | 6,027.03 | 21.00 | 0.08 | 5,901.64 | 20.00 | 0.65 | −2.08 |

2 | 6,001.92 | 22.00 | 0.13 | 5,942.11 | 21.00 | 0.84 | −1.00 | |

3 | 6,134.95 | 22.00 | 0.16 | 5,687.43 | 20.00 | 0.80 | −7.29 | |

4 | 6,378.26 | 21.00 | 0.17 | 5,993.17 | 21.00 | 0.87 | −6.04 | |

5 | 6,816.80 | 19.00 | 0.11 | 6,169.61 | 18.00 | 0.89 | −9.49 | |

6 | 6,137.93 | 22.00 | 0.11 | 5,769.13 | 21.00 | 0.97 | −6.01 | |

7 | 6,648.73 | 21.00 | 0.22 | 5,660.74 | 22.00 | 1.80 | −14.86 | |

8 | 6,359.76 | 22.00 | 0.67 | 6,214.38 | 21.00 | 0.97 | −2.29 | |

9 | 6,244.31 | 21.00 | 0.36 | 6,021.46 | 20.00 | 0.93 | −3.57 | |

10 | 5,982.76 | 23.00 | 0.13 | 5,938.51 | 23.00 | 0.76 | −0.74 | |

11 | 6,217.68 | 22.00 | 0.15 | 5,907.13 | 20.00 | 0.92 | −4.99 | |

12 | 6,151.80 | 21.00 | 0.09 | 6,078.12 | 20.00 | 0.70 | −1.20 | |

Average | 6,258.49 | 21.42 | 0.20 | 5,940.29 | 20.58 | 0.93 | −4.96 | |

R2 | 1 | 6,062.57 | 22.00 | 0.12 | 5,984.24 | 20.00 | 0.74 | −1.29 |

2 | 6,490.04 | 21.00 | 0.11 | 6,017.24 | 20.00 | 0.81 | −7.29 | |

3 | 6,271.16 | 23.00 | 0.15 | 5,912.37 | 23.00 | 0.71 | −5.72 | |

4 | 6,330.67 | 21.00 | 0.10 | 6,178.23 | 20.00 | 0.84 | −2.41 | |

5 | 5,888.25 | 22.00 | 0.10 | 5,716.92 | 21.00 | 0.96 | −2.91 | |

6 | 5,975.79 | 22.00 | 0.10 | 5,864.48 | 21.00 | 0.79 | −1.86 | |

7 | 6,285.56 | 20.00 | 0.09 | 5,873.82 | 20.00 | 1.03 | −6.55 | |

8 | 6,009.84 | 23.00 | 0.10 | 5,921.78 | 22.00 | 0.72 | −1.47 | |

9 | 6,158.43 | 22.00 | 0.09 | 5,843.92 | 21.00 | 0.74 | −5.11 | |

10 | 6,102.55 | 22.00 | 0.10 | 6,048.70 | 21.00 | 0.73 | −0.88 | |

11 | 6,555.39 | 21.00 | 0.11 | 6,324.54 | 21.00 | 0.84 | −3.52 | |

Average | 6,193.66 | 21.73 | 0.11 | 5,971.48 | 20.91 | 0.81 | −3.55 | |

RC1 | 1 | 7,668.69 | 23.00 | 0.09 | 7,591.64 | 23.00 | 0.70 | −1.00 |

2 | 7,846.58 | 23.00 | 0.28 | 7,647.89 | 22.00 | 0.77 | −2.53 | |

3 | 7,393.69 | 25.00 | 0.08 | 7,228.71 | 24.00 | 0.64 | −2.23 | |

4 | 7,362.31 | 25.00 | 0.13 | 7,312.96 | 23.00 | 0.67 | −0.67 | |

5 | 7,689.42 | 23.00 | 0.28 | 7,384.49 | 22.00 | 0.66 | −3.97 | |

6 | 7,785.82 | 23.00 | 0.12 | 7,672.44 | 23.00 | 0.70 | −1.46 | |

7 | 7,509.93 | 25.00 | 0.22 | 7,501.02 | 24.00 | 0.75 | −0.12 | |

8 | 7,501.88 | 24.00 | 0.17 | 7,476.89 | 24.00 | 0.70 | −0.33 | |

Average | 7,594.79 | 23.88 | 0.17 | 7,477.01 | 23.13 | 0.70 | −1.54 | |

RC2 | 1 | 7,373.82 | 25.00 | 0.10 | 7,326.41 | 23.00 | 0.68 | −0.64 |

2 | 7,884.37 | 23.00 | 0.18 | 7,231.79 | 22.00 | 0.84 | −8.28 | |

3 | 7,696.52 | 24.00 | 0.08 | 7,375.69 | 24.00 | 0.76 | −4.17 | |

4 | 7,364.79 | 24.00 | 0.11 | 6,885.50 | 23.00 | 0.94 | −6.51 | |

5 | 7,739.94 | 23.00 | 0.13 | 7,381.47 | 25.00 | 0.86 | −4.63 | |

6 | 7,571.78 | 23.00 | 0.09 | 7,269.71 | 19.00 | 0.98 | −3.99 | |

7 | 7,763.32 | 24.00 | 0.20 | 7,282.05 | 24.00 | 0.80 | −6.20 | |

8 | 7,363.41 | 24.00 | 0.09 | 7,349.42 | 24.00 | 0.89 | −0.19 | |

Average | 7,594.74 | 23.75 | 0.12 | 7,262.75 | 23.00 | 0.84 | −4.33 |

The experiment in this paper reveals two factors that can be used as comparison criteria to analyze solution quality. As shown in the comparison table, the proposed CRPSO is more feasible for solving OVRPTW considering 3PL. Whether by total travel distance or number of vehicles, CRPSO consistently outperforms PSO with respect to solution quality. Nonetheless, the number of vehicles used is slightly higher in a few problems, as mentioned above. In the tradeoff between travel distance and number of routes, this is a reasonable result. Our approach seems to be a very practical tool that can help 3PL companies effectively schedule their daily routes.

This paper presented a solution to an open vehicle routing problem with time windows considering 3PL. The delivery vehicles are operated by a 3PL company, and return to the nearest 3PL company location with available space once deliveries are complete. This paper modified the mixed integer linear programming model used by Repoussis et al. (2007) considering standard constraints of OVRPTW and 3PL [

Iteration index,

Particle index,

Dimension index,

Uniform random number in the interval [0,1]

Inertia weight in the ^{th} iteration

_{id}

Velocity of the ^{th} particle at the ^{th} dimension in the ^{th} iteration

_{id}

Position of the ^{th} particle at the ^{th} dimension in the ^{th} iteration

_{id}:

Personal best position (^{th} particle in the ^{th} dimension

_{gd}:

Global best position (^{th} dimension

_{p}:

Personal best position acceleration constant

_{g}:

Global best position acceleration constant

_{max}:

Maximum position value

_{min}:

Minimum position value

_{i}:

Vector position of the ^{th} particle, [_{i1}, _{i2}, … _{iD}]

_{i}:

Vector velocity of the ^{th} particle, [_{i1}, _{i2}, … _{iD}]

_{i}:

Vector personal best position of the ^{th} particle, [_{i1}, _{i2}, … _{iD}]

_{g}:

Vector global best position, [_{g1}, _{g2}, … _{gD}]

_{i}:

Set of vehicle routes corresponding to the ^{th} particle

_{i}:

Set of distances between vehicles and destinations corresponding to ^{th} particle

_{i}

Fitness value of _{i}