A Multiple-Starting-Path Approach to the Resource-Constrained 𝑘 th Elementary Shortest Path Problem

The resource-constrained elementary shortest path problem (RCESPP) aims to determine the shortest elementary path from the origintothesinkthatsatisfiestheresourceconstraints.Theresource-constrained k thelementaryshortestpathproblem(RCKESPP) is a generalization of the RCESPP that aims to determine the k th shortest path when a set of 𝑘−1 shortest paths is given. To the best of our knowledge, the RCKESPP has been solved most efficiently by using Lawler’s algorithm. This paper proposes a new approach named multiple-starting-path (MSP) to the RCKESPP. The computational results indicate that the MSP approach outperforms Lawler’s algorithm.


Introduction
The vehicle routing problem (VRP) is a well-known combinatorial problem of determining the optimal routes used by a fleet of vehicles to visit all vertices with the minimum cost.One of the most effective exact approaches for the VRP is branch-and-price (B&P).A B&P solves a linear relaxation of the set covering formulation of the VRP by means of column generation method at each node.The method solves the set covering relaxation by decomposing it to master and auxiliary problems.Whenever a master problem is solved, the dual values of its constraints are allocated to vertices as prizes.Then, an auxiliary problem is solved to find a column with a negative reduced cost.
In the VRP, the auxiliary problem exhibits a form of the resource-constrained elementary shortest path problem (RCESPP).The RCESPP aims to determine the shortest elementary path from the origin to the sink that satisfies the resource constraints.In the RCESPP, the cost of a path is calculated as the sum of the travel costs of the traversed arcs minus the sum of the prizes of the visited customers.Because of the prizes, the graph of the RCESPP may contain negative arcs and cycles.The RCESPP is strongly NP-Hard [1] and has been solved most efficiently by the dynamic programming (DP) algorithms [2][3][4][5].Some VRP researches [6,7] have opted to relax the elementary constraint of the RCESPP in their B&P because its relaxed version can be solved much faster.However, others [8,9] opted not to because the nonrelaxed version promises the tighter bounds of nodes in a B&P.In addition, in some VRP variants such as the team orienteering problem [10], the relaxation should be avoided because it brings a malfunction [2,11] to a B&P.In this paper, we also do not relax the elementary path constraint.
Among the various types of the resource constraints, this research considers the most representative ones, namely, the vehicle capacity constraint and the vertex time window constraint.The RCESPP can be defined as follows.Let a weighted digraph  = (, ) be given, where  and  denote sets of vertices and arcs, respectively.Each vertex V  ∈  has a demand   and a vehicle has capacity .A vehicle should depart from the source V 0 ∈  and end at the sink V +1 ∈ .A vehicle can visit a subset of vertices only if the sum of demands of the visited vertices does not exceed .A vehicle takes travelling time  , to traverse an arc (, ) ∈  and service time   to serve V  ∈ .A vehicle can visit V  ∈  only between its time windows [  ,   ] and must wait until   if the vehicle arrives before   .A vehicle pays the travel cost  , when it traverses (, ) ∈  and collects the prize   when it visits V  ∈ .From now on, we denote the cost of an arc (, ) ∈  as  , =  , −   for simplicity.Let  be a set of all possible paths from V 0 to V +1 that satisfies the vehicle capacity and vertex time window constraints.Let () represent the cost of a path  ∈ .The optimal path of the RCESPP or  1 can be found by solving the following problem: The resource-constrained kth elementary shortest path problem (RCKESPP) is a generalization of the RCESPP that aims to determine the kth shortest path when a set of  − 1 shortest paths or  = { 1 ,  2 , . . .,  −1 } is given, where   represents the ith shortest path.The optimal path of the RCKESPP or   can be found by solving the following problem: ( The RCKESPP has many practical applications.Göthe-Lundgren et al. [12] used a constraint generation method to solve the vehicle routing game, in which the vehicle routing cost is allocated to the customers as fairly as possible.The separation problem of the method can be viewed as the RCKESPP.Liu and Ramakrishnan [13] viewed the RCKE-SPP as a quality of service (QOS) routing problem in the telecommunication industry.van der Zijpp and Catalano [14] viewed the RCKESPP as a path enumeration problem in the transportation industry.Shi [15] viewed the RCKESPP as a robust and stable routing problem in an automated storage and retrieval system.Boussier et al. [11] implicitly showed that the RCKESPP could emerge as a pricing problem in the column generation method for the team orienteering problem.However, Boussier et al. [11] chose the RCESPP as a pricing problem instead of the RCKESPP because they believed that the latter was more difficult to solve than the former.
In an instance with a reasonable number of vertices, enumerating every member of  is nearly impossible.Thus, Lawler's [16] algorithm has been used to solve the RCKESPP [14,15], which does not require to fill in .To the best of our knowledge, the RCKESPP has been solved most efficiently by using Lawler's algorithm.This paper proposes a new approach to the RCKESPP named multiple-starting-path (MSP) approach in Section 2. Section 3 reports the computational results which indicate that MSP approach outperforms Lawler's algorithm.Section 4 concludes the paper.

MSP Approach
This section begins with introducing a new generalization of the RCESPP, the RCESPP with multiple-starting-paths (RCESPP-MSP).The RCESPP-MSP aims to determine the shortest path from the given starting paths to V +1 that satisfies the resource constraints.Let  = { 1 , . . .,   } be a set of  starting paths, where each   ∈  represents a starting path from V 0 to V  ∈  (this paper uses an alphabet "" to denote a path from V 0 to V +1 and "" to denote a path from V 0 to V  ∈ ).Let  *  be the shortest path from   ∈  to V +1 that satisfies the resource constraints.The optimal path of the RCESPP-MSP or  * can be found by solving the following problem: In the following, Section 2.1 describes the DP algorithm for the RCESPP-MSP and identifies the properties of the RCESPP-MSP.Section 2.2 shows how the RCKESPP is reduced to the RCESPP-MSP.

RCESPP-MSP.
From now on, we refer to the RCESPP-MSP with a set of starting paths  as RCP().RCP() can be solved by the DP algorithms [2][3][4][5] which were originally developed for the RCESPP.For example, the most basic DP algorithm of Feillet et al. [2] can solve RCP() as Procedure 1.
In the DP algorithm, a path  from V 0 to V  ∈  is represented as a state with a label (, , , , ).Each of , , , and  represents the index of the vertex in which the state ends, cost, consumption of vehicle capacity, and time, respectively. = ( 1 , . . .,   ) represents the visited vertices of the state, where   equals 1 if the state visited V  ∈  and equals 0 otherwise.A state  = (, , , , ) can be extended to If a state  = (, , , , ) is extended to V  ∈ , then the extended state   = (,   ,   ,   ,   ) is defined as follows: Given two states  = (, , , , ) and   = (,   ,   ,   ,   ),  dominates   if at least one of the following inequalities is strict: Given a set of starting states , DP() finds the shortest path from the states in  to V +1 .DP() starts by placing each starting state  = (, , , , ) ∈  into the corresponding repository   , which stores the states that end at V  ∈ .Each state in   is extended to other vertices if the extension is feasible.This extension is repeated until no state can be extended feasibly.During the extension, the dominated states are deleted and only the dominant states are kept. + (V  ) = {V  ∈  : (, ) ∈ } represents a set of successors from V  ∈ .The function extend(, V  ) extends states  = (, , , , ) to V  and then returns the extended state.The function EFF(  ) deletes the dominated states in   .
Similarly, the other DP algorithms [3,5,9] can solve RCP().Among them, we use the state-of-the-art algorithm of Baldacci et al. [4] to solve RCP().Here, we describe the algorithm briefly and readers are recommended to see Baldacci et al. [4] for details.Baldacci et al. [4] introduced ng-route relaxation and used the ng-route relaxation to calculate the lower bound of a state.A state is deleted if its lower bound is worse than the incumbent solution.The ng-route relaxation requires an incumbent solution to delete unpromising states.The incumbent solution can be obtained by a heuristic algorithm with cheap computational cost [8,11,17].This paper calculates an incumbent solution by a simple DP algorithm which is the same as Procedure 1 except that its dominance rule does not consider the condition   ≤    , ∀V  ∈   .The simple DP algorithm allows more domination between states but it may delete the states which yield the shortest path.
The RCESPP-MSP presents the following properties.
Proof.(i) A set of dominant states remains when the DP algorithm terminates.Let each of  1 ,  2 , and  3 represent a set of remaining dominant states when the DP algorithm terminates after solving RCP( 1 ), RCP( 2 ), and RCP( 3 ), respectively.
(ii) Domination between  1 and  2 may or may not occur.When such domination occurs, (iii) The computational time of DP algorithm is mainly decided by the number of generated states as shown in [2,3,5].Therefore,  3 ≤  1 +  2 .
Property 2 indicates that RCP( 3 ) can be solved faster than the problem that tries to determine the shorter path between the optimal paths of RCP( 1 ) and RCP( 2 ).

Reduction of RCKESPP to RCESPP-MSP.
This subsection begins with describing Lawler's algorithm with the example graph in Figure 1.The graph constitutes a set of five vertices , where V 0 and V 4 represent the origin and the sink, respectively.The shortest path from V 0 to V 4 is  1 = (V 0 , V 3 , V 4 ), while the second and third shortest paths are , respectively.Suppose that the fourth shortest path is searched by Lawler's algorithm when  = { 1 ,  2 ,  3 } is given.The resource constraints are not considered in this example for simplicity, but one may easily apply the constraints to the graph.
The two paths (V 0 ) and (V 0 , V 3 ) from  1 and the three paths (V 0 ), (V 0 , V 1 ), and (V 0 , V 1 , V 2 ) from  2 can be generated.Let () represent a set of the paths which are generated from the paths in .In this graph, () is expressed as and  2 are connected by V 2 .Similarly, (V 0 , V 3 ) and  1 are connected by V 4 .Let (, ) represent a set of connecting vertices between  ∈ () and .For example, ((V 0 , V 1 ), ) = {V 2 , V 3 } and ((V 0 , V 3 ), ) = {V 4 }.Given a path , let V end () represent the last vertex, in which  ends.For example, can be extended to other vertices as long as the extension satisfies the resource constraints.Let (, ) represent a set of feasibly extended paths from  to each vertex V ∈  + (V end ())\ (, ).For example, (( For each path  ∈ (), Lawler's algorithm solves RCP((, )) as shown in Table 1.Among the shortest paths, Lawler's algorithm finds the one with the minimum cost.(V 0 , V 3 , V 2 , V 4 ) is the path with the minimum cost and is hence identified as the fourth shortest path.For each path   ∈ (), let   represent (  , ) and  All = ∪   ∈()   .
For each   ∈  All , let  *   represent the optimal path of RCP(  ).Lawler's algorithm solves the RCKESPP by solving the following problem: Property 1 indicates that problem (11) reduces to RCP( All ).Therefore, the optimal path of the RCKESPP or   can be found by solving RCP( All ).Property 2 shows that RCP( All ) can be solved faster than problem (11).In other words, MSP approach can solve the RCKESPP in less time than Lawler's algorithm.In summary, MSP approach is shown in Procedure 2. MSP() makes  All based on  and then solves RCP( All ) using the DP algorithm.Then, the kth shortest path or   is returned.MSP() calculates  All for the example problem in Figure 1 as follows: Then, the shortest path from the paths in  All to V 4 is determined using the DP algorithm.In the first steps of the DP algorithm, the path (V 0 , V 1 , V 3 , V 2 ) will be deleted because it is dominated by (V 0 , V 3 , V 2 ).Afterwards, the fourth shortest path or (V 0 , V 3 , V 2 , V 4 ) is found by the DP algorithm that considers } as a set of starting paths.

Computational Results
The well-known vehicle routing problem with time windows instance set of Solomon [18] is used in the computational experiment.Each instance has a complete graph with 102 vertices, including the origin and sink nodes.Each instance has a vehicle with a capacity of 200.The instance set is classified as R, C, and RC depending on how the vertices are geographically located.The locations of the vertices are randomly distributed in Type R instances and are clustered in Type C instances.In Type RC instances, some vertices are distributed randomly whereas others are clustered.The instances are grouped as r101-r112, c101-c109, and rc101-rc108 depending on their type.The tightness of the time windows is the only difference among the same types of instances.Figure 2 shows the geometric view of the benchmark instances, where a square represents the depot (the origin and the sink) and circles represent the customers.Vertex V  has its own coordination (  ,   ) and prize   .The travel time from V  ∈  to V  ∈  is calculated as   = ⌊√(  −   ) 2 + (  −   ) 2 ⌋ and the cost as  , =  , −   .This

Figure 2 :
Figure 2: Geometric view of the benchmark instances.