A Continuous Deviation-Flow Location Problem for an Alternative-Fuel Refueling Station on a Tree-Like Transportation Network

Due to the increasing popularity of alternative-fuel (AF) vehicles in the last two decades, several models and solution techniques have been recently published in the literature to solve AF refueling station location problems. These problems can be classified depending on the set of candidate sites: when a (finite) set of candidate sites is predetermined, the problem is called discrete; when stations can be located anywhere along the network, the problem is called continuous.Most researchers have focused on the discrete version of the problem, but solutions to the discrete version are suboptimal to its continuous counterpart. This study addresses the continuous version of the problem for an AF refueling station on a tree-type transportation network when a portion of drivers are willing to deviate from their preplanned simple paths to receive refueling service. A polynomial time solution approach is proposed to solve the problem. We first present a new algorithm that identifies all possible deviation options for each travel path. Then, an efficient algorithm is used to determine the set of optimal locations for the refueling station that maximizes the total traffic flow covered. A numerical example is solved to illustrate the proposed solution approach.


Introduction
The US national highway system significantly contributes to the country's economic development.In particular, it plays a major role in providing mobility for goods and services.Using highways, trucks carry the largest shares by value, tons, and ton-miles for shipments moving 750 or fewer miles in the US [1].As concerns over climate change are increasingly becoming a global issue, logistics companies are interested in replacing their diesel trucks by alternative-fuel (AF) trucks [2].However, to introduce AF trucks to logistics companies successfully, a well-designed refueling infrastructure in the highway system is a prerequisite.The rest of this section highlights the relevance of tree networks in transportation, the significance of the single station location problem for a new AF refueling infrastructure, and the continuous version of the problem and summarizes the main contributions of this research work.

Tree Structure in Transportation
Networks.While the US national highway system consists of a set of circuit networks, if it is partitioned into local highway systems by operating authority, then many of them form trees or tree-like networks.Table 1 displays the local highway systems in the US along with their operating authorities that have tree or tree-like network structures.As shown in this table, 10 turnpikes and 8 portions of interstate highways within certain states constitute tree structures [3].Furthermore, if we consolidate beltways and cycles within metro areas into single vertices, then 11 more portions of interstate highways within certain states can also be considered as tree-like structures [4,5].In addition, we can observe that toll roads and highways in other countries, such as Chile, Croatia (southern and northeast regions), Indonesia, Ireland (excluding the Dublin region), Malaysia, Norway (northern region), Philippines, Slovakia, Spain (excluding the Catalan region), and Serbia, to name a few, have tree or tree-like network structures.Note also that  Turnpike without including the land value [10].Due to the financial risk, it is unusual to build multiple AF refueling stations on the same road network simultaneously.Instead, an operating authority may be more inclined in setting up a single station first in a high traffic area and planning the gradual future construction of additional stations with the goal of maximizing the coverage of traffic flow.For example, the Pennsylvania Turnpike Commission opened the first refueling station at New Stanton Service Plaza in 2014 to serve compressed natural gas (CNG) vehicles and it currently remains as the only CNG station on the turnpike [11].As a second example, the Oklahoma Turnpike Authority opened the first CNG station at Stroud Travel Plaza on the turnpike in 1991, which was renovated in 2014, and then 23 years later, the authority opened the second CNG station at McAlester Travel Plaza on the turnpike in 2014 [12][13][14].Note that both of these turnpikes form tree networks.Several articles have been published regarding the classical single facility location problem on tree networks ( [7,[15][16][17] and others).Three versions of the problem exist depending on the main objective: the objective of the 1-median problem is to minimize the total travel distance from the new facility to existing facilities; in the 1-center problem, the objective is to minimize the maximum travel distance; and the covering problem finds the location of a facility that can reach (cover) the maximum number of existing facilities within a given travel distance.Francis et al. ( [5], Chapter 7) describe motivating applications of location problems on trees, as well as properties and solution algorithms for the three versions of the problem.None of the algorithms developed to solve classical single facility location problems on tree networks, however, is suitable for locating an AF refueling station on tree-like road networks because of the differences in the objective function.In the location of an AF station, the objective of maximizing the total traffic flow covered by the station is more desirable by operating authorities.Furthermore, locating an AF refueling station requires a different strategy to deal with demand.Note that the classical single facility location problem regards demand as a weight at vertices.Instead, drivers (demand) on toll roads and highways usually stop by the refueling station on the way to their final destination.Considering that this refueling activity for a driver is a unit of demand, a pathbased demand model, in which the demand on the travel path can be covered by a facility located on the path, is more appropriate for solving the AF refueling station location problem.

Continuous Refueling Station Location Problem.
We can classify refueling station location problems into two types depending on the set of candidate sites: when a preliminary (finite) set of candidate sites is given, this problem is called discrete; when the station can be located anywhere along the network, the problem is called continuous.Ventura et al. [18] introduced the continuous version of the refueling station location problem.Since an optimal solution to the discrete version of the problem is always a feasible solution to the continuous version, an optimal solution to the continuous refueling station location problem can achieve a considerable improvement in terms of demand coverage.The continuous version of the problem is, however, more challenging than its discrete counterpart due to the size of the search space.

Contribution.
In this study, we consider the continuous version of an AF refueling station location problem on a tree network, where a portion of drivers have the option of selecting a deviation path if the refueling station is not located along their preplanned routes.We believe that this is the first research work on the continuous version of the problem where the deviation option is considered.This option is expected to be very common for drivers with AF vehicles during the introductory period of these vehicles to the market since AF refueling infrastructures are usually nonexistent or underdeveloped.The deviation option is also available to drivers of conventional fossil-fuel vehicles (powered by gasoline and diesel engines) when they cannot find a refueling station on their routes.Thus, considering deviation will make the problem more practical in deciding the potential location for the refueling station.
Compared with the original continuous refueling station location problem [18], the theoretical contribution of this study is twofold.First, we derive a number of properties to identify the deviation options for each origin/destination (O/D) pair considering the length of the simple path, the minimum fuel tank levels at the origin and destination, and the vehicle driving range.Then, we develop a novel algorithm that finds all deviation paths for each O/D pair in polynomial time.Using the original path in the tree network and the corresponding deviation options, we construct the subtree that contains all the potential station locations that cover the traffic flow of the corresponding O/D pair.Second, we derive a mathematical property that characterizes the set of optimal station locations that do not require Ventura et al. [18] assumption that the intersection vertices in all used simple paths must have positive traffic flow in at least one short trip.This property is essential in the development of the algorithm that finds the complete set of optimal station locations for the entire network.
By allowing vehicle deviation in the continuous refueling station location problem, the solution approach proposed in this article is capable of finding all possible alternative paths for any O/D pair and improving suboptimal solutions obtained by the existing models in the literature.To best of our knowledge, all the existing models that consider vehicle deviation solve discrete versions of the problem, and therefore, they choose locations from a predetermined set of candidate sites (vertices) and enable deviation only if such vertices can be reached within the vehicle driving range.Therefore, their solutions may not be optimal [19].On the other hand, this study considers all possible deviation paths in the network regardless of the location of vertices on detours and the station can be located anywhere along any detour edge.Thus, the proposed solution approach can improve any possible suboptimality produced by the existing models and generate the entire set of optimal points.
To verify the performance of our proposed solution approach, a numerical example is used in Section 7.3 to compare the solution obtained by our method with those from the Kim and Kuby [20] model and the Ventura et al. [18] algorithm.Table 2 provides a detailed comparison of these three methodologies.Note that these three methodologies have the same objective function, that is, maximizing the total traffic flow covered by the station, but different settings.Section 7.3 uses a numerical example to compare the quality of the solutions obtained by these three methods.The rest of this article is organized as follows.Section 2 briefly reviews literature related to refueling station location problems.Section 3 includes the problem statement and derives a property related to the deviation option.Section 4 identifies a set of candidate points for potential locations of the refueling station.Section 5 determines optimal points from the set of candidate points for the refueling station that covers the maximum traffic flow when a portion of drivers select the deviation option.Section 6 builds the complete set of optimal solutions by identifying additional optimal points located in the interior of paths whose endpoints belong to the preliminary set of optimal points.Section 7 provides a numerical example to illustrate the proposed solution approach, examine the coupled effects of deviation portion and vehicle driving range on the set of optimal locations and the maximum traffic flow covered, and analyze its performance.Lastly, Section 8 presents a summary of this study and a list of topics for future research.

Literature Review
While classical facility location problems regard demand as a weight at vertices representing number of customers that need to receive service at the new facilities or number of trips to these facilities, refueling station location problems require a different strategy to deal with demand.Drivers (demand) on toll roads and highways are able to refuel their vehicles if they pass by a refueling station on their preplanned paths.Considering that this refueling activity for a driver is a unit of demand, Hodgson [21] and Berman et al. [22] introduced the flow-capturing location model (FCLM) to find the facility locations with the objective of maximizing the traffic flow covered.Kuby and Lim [23] extended the FCLM and suggested the flow refueling location model (FRLM) that incorporates a driving range.Since the concept of this model is well suited for identifying optimal refueling station sites for AF vehicles, many subsequent studies have been published using the idea of the FRLM.In particular, Kim and Kuby [20] proposed the deviation-flow refueling location model (DFRLM), which is an extension of the FRLM considering driver deviation behavior when searching for potential sites for the refueling stations.Later, Kim and Kuby [24] suggested two heuristics to solve the DFRLM efficiently.
Recently, refueling station location models have been extended to more general forms considering specific applications, including a multiperiod planning formulation for the allocation of electric charging stations over time [25]; a twostage stochastic station location model, where the first stage locates permanent stations and the second locates portable stations [26]; a new model that considers multiple deviation paths between each of the O/D pairs when searching for station locations [27]; novel station location formulations for symmetric transportation networks that consider both single-and dual-access candidate sites [28,29]; a biobjective model to estimate the greenhouse gases emissions reduction as a function of the refueling infrastructure budget [10]; and models that consider capacitated stations and traffic deviations over multiple time periods [30], and traffic deviation considering route choice and demand uncertainty [31], under the assumption that vehicles only require one refueling stop for intracity trips.
While most refueling station location problems and extensions assume that the station can be located only either on the vertices of the network or within a finite set of candidate sites, Ventura et al. [18] considered the continuous version of the problem for a single station, where the station can be located anywhere along a tree-type transportation network, and developed a polynomial time algorithm to find the set of optimal location points.

Problem Statement
Now, we address the continuous deviation-flow location problem on a tree network.Considering that a portion of drivers are willing to deviate from their paths, the objective of this problem is to determine the set of locations for an AF refueling station that maximizes the total traffic flow covered (in round trips per time unit) by the station.To simplify but accurately formulate and solve the problem, we consider the following assumptions.First, an uncapacitated refueling station can provide service to all vehicles driving through both directions of the road segment where it is located.It assures that all vehicles passing through the refueling station in either direction of the road segment can be refueled at the station.Second, all vehicles have the same fuel tank size, and fuel consumption is a linear function of the driving distance.This means that all vehicles have the same driving range per refueling, denoted as , regardless of road conditions, climate, congestion, or any other variables.Third, vehicles perform a complete round trip between their origin and destination points on the network.A complete round trip in this assumption ensures that every vehicle goes back to its origin after arriving at its intended destination.A trip from origin to destination is called an original trip, and a trip from destination to origin is called a return trip.A round trip consists of an original trip and a return trip.Fourth, each vehicle enters and exits the network with a fuel tank that is at least half-full.This assumption was first suggested by Kuby and Lim [23] and since then has been followed by most of the researchers on this type of problems, considering that information about the actual fuel tank level of vehicles at origins and destinations is difficult to obtain or likely to be inaccurately estimated.The purpose of this assumption is to make sure that the same round trip can be repeated many times without running out of fuel along the path.This assumption assures that if a vehicle can access the last refueling station on the original trip and reach the destination along the path with at least a half-full tank, then this vehicle can also make the return trip from the destination starting with a half-full tank and reaching the same refueling station without running out of fuel.Similarly, if a vehicle at the last station on the return trip can reach the origin along the path with at least a half-full tank, then this vehicle can also make the original trip from the origin with a half-full tank and safely arrive at the same station.Fifth, the deviation option from a simple path is available to all drivers for their refueling service.However, only a certain portion  of the drivers selects this option, where 0 ≤  ≤ 1.This implies that  × 100% of traffic flow deviates from their simple paths for refueling service.We call this flow the deviation-flow.
Let (, ) be an undirected tree network consisting of a set  with  vertices and a set  with  − 1 edges, where  ≥ 2; otherwise, the network is trivial.An edge (V  , V  ) ∈  is defined if V  ∈  and V  ∈  are directly connected.We also denote (V  , V  ) as the unique simple path between V  and V  for  < , for all V  , V  ∈ .Set  is defined as the set of all possible paths in ; that is,  = {(V  , V  ) |  < , for all V  , V  ∈ }.The average traffic flow along (V  , V  ) is denoted as (V  , V  ).We note that (V  , V  ) refers to the average of traffic flow of the original trip from V  to V  and the return trip from V  to V  and is defined only for  < .We use (V  , V  ) to represent the round trips per time unit between V  and V  .The length of (V  , V  ) is denoted as (V  , V  ), and (V  , V  ) = (V  , V  ).Similarly, (V  , ) denotes the unique simple path between V  ∈  and any point  ∈ , and the length of this path is denoted as (V  , ) = (, V  ).
To address the continuous deviation-flow location problem, we distinguish between the traffic flow and the deviation-flow on a path.The traffic flow between V  and V  is "covered" by a refueling station if the station is located at some point  along (V  , V  ) within a distance /2 from V  and V  .Then, the set of paths with positive traffic flow covered by a point  ∈ , denoted as (), is defined as follows: Alternatively, the deviation-flow originating in path (V  , V  ) is covered by the station if it is placed at a point  somewhere in the network within a distance /2 from V  and V  , but not along path (V  , V  ).Then, the set of paths with positive deviation-flow covered by a point  ∈ , denoted as   (), is defined as follows: Now, the total traffic flow (in round trips per time unit), including (V  , V  ) and  × (V  , V  ), for all V  , V  ∈ , covered by a refueling station at  ∈ , denoted as (), is calculated as follows: Thus, an optimal point  * that covers the maximum traffic flow (in round trips per time unit) in tree  can be obtained by comparing the values of () for all  ∈ ; that is,  * ∈ arg max{() |  ∈ }.When a refueling station is not located in a simple path, vehicles traveling along this path can deviate to a separate subpath for their refueling service.In a deviation path, this separate subpath is called a symmetric cycle, because the subpath begins at a vertex in the simple path, reaches the station location, and returns to the same vertex using the same subpath in the opposite direction.This closed walk includes at least one repeating vertex.Since we consider a refueling station to be located on the tree network, vehicles can take a symmetric cycle originating at a vertex located on their simple path and the entire path is called a simple deviation path.That is, each simple deviation path consists of a simple path and a symmetric cycle.Figure 1 shows an example of an undirected tree network to help understand the concept of simple deviation path, as well as sets () and   ().The numerical value next to each edge of the network indicates the distance between the two vertices or between a vertex and a point.In this example, let us assume  = 80 and  = 0.20.If drivers make a round trip between V 1 and and 100 round trips (per time unit) use that vertex visitation sequence.However, if a refueling station is located at point  in the middle of edge (V 4 , V 6 ), 20 round trips from (V 1 , V 3 ) deviate to a symmetric cycle with vertex visitation sequence {V 2 , V 4 , , V 4 , V 2 }.Thus, the entire vertex visitation sequence for the simple deviation path between Thus, the total traffic flow covered by a refueling station located at  is calculated as If there exists an edge in the network whose length is greater than , no traffic flow going through the edge can be covered by a single refueling station due to the half-full tank assumption of vehicles at the origin and destination vertices in their round trips.Furthermore, no deviation-flow going through this edge can be covered by a station located in any symmetric cycle.Thus, we need to split the tree network into subtrees by removing all edges whose distance is greater than  and solve the station location problem in each subtree separately.
Then, we eliminate all edges in Ê from (, ) to form a forest (  ,   ) with   =  and   = \ Ê, such that (  ,   ) = ⋃  =1   (  ,   ), where   is the th subtree that consists of a set of vertices   and a set of edges   , and  = | Ê| + 1 is the total number of subtrees   in forest (  ,   ).Now, for subtree   ,  = 1, . . ., , if there exists a symmetric cycle originating at a vertex located on a simple path in   that can reach some segments in the removed edges in Ê, the corresponding deviation-flow can be covered by a point located on one of the segments in these edges.In this case, we need to construct an expanded subtree T from   by adding these reachable edges into   .Thus, for each subtree   , we first need to identify all vertices in   that are endpoints of the edges in Ê.Let V  be one of the vertices in   that is adjacent to V  ∈ \  by (V  , V  ) ∈ Ê.Then, the set of vertices V  in   is defined as    = ( Ê) ∩   , where ( Ê) is the set of vertices in Ê.After identifying    , the set of edges in Ê that are connected to in   can be covered by some point  located on one of the edges in (V  ), then we add the edge in (V  ) into   and the corresponding end point (vertex) in (V  ) into   .That is, for subtree   (  ,   ),  = 1, . . ., , we first initialize set   as an empty set, where   is used to collect all V  ∈    such that  × (V  , V  ), V  , V  ∈   , can be covered by some point  located on one of the edges in (V  ).Next, for V  ∈    , if we find at least one  × (V  , V  ) > 0, for (V  , V  ) ∈  in   , such that max{(V  , V  ), (V  , V  )} < /2, then we add V  into   .Finally, we construct expanded subtree T ( V , Ê ), such that Based on the expanded subtree T constructed above for each subtree   , we can derive the following property.
Property 1 (expanded subtree property).Let  * denote an optimal point to the continuous deviation-flow location problem for an AF refueling station on .Regarding the number of expanded subtrees from  and the location of  * as well as the value of ( * ), we consider the following two cases: V  ) ≤ , then the number of expanded subtrees  ≤ ,  * can be located anywhere in , and ( * ) = 0.
(b) Otherwise, the number of expanded subtrees  < , and  * has to be placed on an expanded subtree T that contains some path (V  , V  ) ∈  such that (V  , V  ) > 0 and (V  , V  ) ≤ .In this case, ( * ) > 0.
Proof.In case (a), if (V  , V  ) > , for all (V  , V  ) ∈ , then Ê = .This implies that  expanded subtrees T are created, where each T is composed of an isolated vertex.Otherwise, at least an edge (V  , V  ) ∈  such that (V  , V  ) ≤  exists.Thus, there exists an expanded subtree T that contains edge (V  , V  ) ∈ Ê .This implies that T includes at least two vertices; that is, V  , V  ∈ V ; thus, the number of expanded subtrees  < .
In case (b), there exists at least one path (V  , V  ) ∈ , such that (V  , V  ) > 0 and (V  , V  ) ≤ .Thus, there exists an expanded subtree T that contains (V  , V  ) and at least two vertices V  , V  ∈ V .This means that the number of expanded subtrees  < .If the refueling station is located at a point  at an isolated vertex in T , then () =   () = 0, and () = 0.
Note that, for any expanded subtree T ( V , Ê ),  = 1, . . ., , a path (V  , V  ) ∈ T such that (V  , V  ) >  cannot be covered by a single station; in addition, a path (V  , V  ) ∈ T without flow, that is, (V  , V  ) = 0, does not need to be considered to maximize traffic flow coverage.Thus, the set of paths that need to be considered for coverage in T is defined as L = {(V  , V  ) ∈ T | (V  , V  ) ≤ , (V  , V  ) > 0, and  < , for all V  , V  ∈ V }.Then, by definition of (),

Set of Candidate Points
In this section, we establish a set of candidate points for each expanded subtree T to locate an AF refueling station on a tree network when a portion of drivers are willing to deviate to be able to refuel their vehicles.Then, we prove that this set includes at least one optimal location for the continuous deviation-flow location problem for an AF refueling station.In addition, if multiple optimal locations exist, these candidate points can be used to generate the entire set of optimal locations.
The rest of this section is organized as follows.For path (V  , V  ) ∈ L ,  = 1, . . ., , Section 4.1 defines a segment that includes all potential locations for an AF refueling station to cover the traffic flow in the path.Based on each segment identified in Section 4.1, Section 4.2 searches for points where a symmetric cycle can start.Given any point found in Section 4.2, Section 4.3 introduces an algorithm that identifies the farthest point for each symmetric cycle.By integrating the theoretical background regarding the deviation option suggested in Sections 4.1 to 4.3, Section 4.4 determines the set of candidate points when  × 100% of drivers select the deviation option.Lastly, Section 4.5 proves that this set contains at least one optimal location.4.1.Refueling Segment.In order to obtain the set of candidate points, the first step we need to do is to identify the segment for each simple path (V  , V  ) ∈ L that contains all station locations that cover the round trips in the path when the deviation option is not considered.This segment is called the refueling segment of path (V  , V  ) and is denoted as RS(V  , V  ).Since vehicles have a driving range , based on Assumption (ii), drivers have to refuel the vehicles within a distance of /2 from the origin and destination vertices during their round trips by Assumption (iv).Thus, RS(V  , V  ) must contain all the points that are within /2 from V  and V  .That is, Depending on the value of (V  , V  ), RS(V  , V  ) includes one or two endpoints, denoted as   , , for , and  2 , ; otherwise,  1  , =  2 , .Then, the set of endpoints of RS(V  , V  ), denoted as EP(V  , V  ), is defined as follows: In the example of the round trip between V 1 and V 3 in Figure 1

Cycle Starting Vertex.
As a next step to build the set of candidate points for T ,  = 1, . . ., , considering the deviation option, in this subsection, we determine a vertex at which a symmetric cycle begins its deviation from a simple path.This vertex is called a cycle starting vertex and denoted as V  .A cycle starting vertex is the only common point (vertex) between the simple path and the symmetric cycle.
In order to identify a cycle starting vertex of a path (V  , V  ), we examine the minimum remaining travel distance of vehicles at a vertex within (V  , V  ), as well as the degree of this vertex.First, the minimum remaining travel distance of vehicles at a cycle starting vertex V  is denoted as (V  , V  ; V  ) and computed as follows: Intuitively, (V  , V  ; V  ) measures the minimum remaining travel distance at V  that vehicles can drive up when they enter the network either at V  in the original trip or at V  in the return trip.(V  , V  ; V  ) is calculated by subtracting the maximum distance between (V  , V  ) and (V  , V  ) from /2 because any point within a symmetric cycle must be reachable from both V  and V  in order for vehicles to make a complete round trip between V  and V  in the network.In order for vehicles in path (V  , V  ) ∈ L to start a symmetric cycle originating at V  , the value of (V  , V  ; V  ) must be positive; otherwise, the deviation option is not available at V  .The value of (V  , V  ; V  ) depends on the location of V  and the value of Next, the degree of a cycle starting vertex This implies that V  has at least one adjacent edge that does not belong to path (V  , V  ) and a portion of this edge or the entire edge can form a subpath for a symmetric cycle.
That is, besides the two subpaths from V  to V  in the original trip and from V  to V  in the return trip, at least one more separate subpath connected to V  exists to initiate a symmetric cycle.
Since there can exist multiple cycle starting vertices for a path (V  , V  ) ∈ L , we define CSV(V  , V  ) as the set of cycle starting vertices in path (V  , V  ).Based on the observations of a cycle starting vertex discussed above, CSV(V  , V  ) is determined as follows:

Cycle Returning Point.
In this subsection, for each symmetric cycle originating at V  ∈ CSV(V  , V  ), we identify the farthest point vehicles can reach before returning to V  .This point is called a cycle returning point and denoted as .Given that the purpose of deviation from a simple path is to refuel vehicles, the cycle returning point is regarded as the farthest feasible site for the refueling station; that is, drivers that are willing to deviate can travel up to the cycle returning point, refuel their vehicles at the refueling station, return to their simple path, and continue to their destination.
The cycle returning point has distinct characteristics compared to the cycle starting vertex.First, the cycle returning point is defined for 0 <  ≤ 1, while the cycle starting vertex is defined for 0 ≤  ≤ 1. Next, the cycle returning point belongs to the symmetric cycle but does not belong to the simple path, while the cycle starting vertex is the only common point between the simple path and the symmetric cycle.In addition, the cycle returning point can be a vertex or any point on an edge, whereas the cycle starting vertex is always a vertex literally.
Multiple symmetric cycles can begin at the same cycle starting vertex according to the network structure.This implies that one cycle starting vertex may lead to multiple cycle returning points.Let CRP(V  , V  ; V  ) be the set of all cycle returning points  arising from a given V  ∈ CSV(V  , V  ).Then, |CRP(V  , V  ; V  )| is the number of cycle returning points corresponding to a given V  ∈ CSV(V  , V  ), or equivalently, the number of symmetric cycles originating at a given V  ∈ CSV(V  , V  ).In addition, the number of all cycle returning points of path (V  , V  ) can be computed as The location of a cycle returning point  ∈ CRP(V  , V  ; V  ) is determined by comparing the value of (V  , V  ; V  ) to the length of the separate subpath originating at V  .If the value of (V  , V  ; V  ) is less than the length of the separate subpath, then the cycle returning point  is located at a distance (V  , V  ; V  ) from V  since drivers at cycle starting vertex V  can travel up to this distance from V  before refueling their vehicles; otherwise, the cycle returning point  is located at the leaf (end vertex) of the separate subpath because that vertex is the farthest point from V  in the symmetric cycle originating at V  .
From the observation above regarding the location of a cycle returning point, we propose a novel algorithm, called the Cycle Returning Point Algorithm, to identify the locations of all cycle returning points  ∈ CRP(V  , V  ; V  ) for a given cycle starting vertex V  ∈ CSV(V  , V  ).This algorithm systematically explores the edges along separate subpaths originating at V  and computes the minimum remaining travel distance at each reachable vertex.
When exploring an edge To establish a parent and child relationship between vertices in the course of scanning the edges, we let PARENT(V  ) be the set of parents of V  and CHILDREN(V  ) the set of children of V  .In a tree network, every child V  has a single parent V  , that is, PARENT(V  ) = {V  }.In contrast, every parent V  can have several children V  according to the tree network structure.Thus, set CHILDREN(V  ) is determined as follows: where (V  ) is the set of vertices adjacent to V  , or equivalently, the neighborhood of V  , and ((V  , V  )) is the set of vertices within (V  , V  ).In Expression (8), if V  = V  , CHILDREN(V  ) is obtained by removing the vertices within (V  , V  ) from the vertices adjacent to V  ; otherwise, CHILDREN(V  ) is generated by eliminating the parent of V  from the vertices adjacent to V  .The algorithm iterates to explore each edge (V  , V  ) along separate subpaths originating at a given vertex V  ∈ CSV(V  , V  ) until all cycle returning points  ∈ CRP(V  , V  ; V  ) are identified.At a particular iteration exploring an edge (V  , V  ), the minimum remaining travel distance of vehicles at V  , denoted as (V  , V  ; V  ), is known.That is, if V  = V  , the value of (V  , V  ; V  ) is given by Expression (6); otherwise, this value is given from the previous iteration.Then, we can compute the minimum remaining travel distance of vehicles at then the drivers that are willing to deviate can travel further along the separate subpath; in this case, the algorithm assigns a child V  of the current iteration to a new parent V  at the next iteration and determines a new child V  using Expression (8) to proceed the next iteration.
In order to keep track of a child V  from a prior iteration that may become a parent in a subsequent iteration on the search for cycle returning points, this algorithm uses a (infinite) first-in, first-out queue  consisting of V  such that (V  , V  ; V  ) > 0 and deg(V  ) ≥ 2. Two functions are used to manage .The first function named enqueue(; V  ) places V  at the tail of queue .Conversely, the second function named dequeue() selects the vertex at the head of queue  and eliminates it from .The details of the Cycle Returning Point Algorithm are provided below.
Step 4. Repeat the following substeps as long as there remain vertices in : Sub-Step 4.2.Determine CHILDREN(V  ) using Expression (8).
Sub-Step 4.3.For each V  ∈ CHILDREN(V  ), perform the following steps: Sub-Step 4.3.2.According to the sign of (V  , V  ; V  ), perform one of the following procedures: , and then according to the sign of (V  , V  ; V  ), it locates a cycle returning point within edge (V  , V  ) or enqueues V  to  for the next iteration.
Step 4 iterates until queue  is empty.Since every vertex can be enqueued and dequeued at most once for a given V  ∈ CSV(V  , V  ), the operations in Step 4 can be applied to every vertex at most once; thus, the total time devoted to the operations in Step 4 is ().Therefore, the computational complexity of the Cycle Returning Point Algorithm is ().
Now, we apply the Cycle Returning Point Algorithm to the example in Figure 1 to determine all cycle returning points of Recall that  = 80,  = 0.20, and In Step 2, we set  = 0.In Step 3, we place V 2 at the tail of queue ; that is,  = {V 2 }.Now, we repeat Step 4 until finding all cycle returning points where  1 indicates the first cycle returning point  ∈ CRP(V 1 , V 3 ; V 2 ).By repeating the same process for V  = V 6 , we locate  2 along edge (V 4 , V 6 ), such that (V 4 ,  2 ) = 5, and add  2 to CRP(V 1 , V 3 ; V 2 ), where  2 refers to the second  ∈ CRP(V 1 , V 3 ; V 2 ).Now,  = 0, so we end the algorithm with 4.4.Refueling Subtree.In this subsection, we determine the refueling subtree for each path (V  , V  ) ∈ L that includes all possible locations for an AF refueling station when a portion of drivers select the deviation option.Then, we identify candidate points in this subtree.
First, let us define symmetric cycle SC(V  , V  ; V  , ) as the segment consisting of all station locations that cover the deviation-flow of path (V  , V  ) originating at cycle starting vertex V  ∈ CSV(V  , V  ) and ending at cycle returning point Now, for any path (V  , V  ) ∈ L , we can construct the refueling subtree, denoted as RST(V  , V  ), which consists of refueling segment RS(V  , V  ) and all symmetric cycles SC(V  , V  ; V  , ) of (V  , V  ).This refueling subtree contains all potential locations for an AF refueling station when a portion of drivers are willing to deviate from the preplanned route (V  , V  ) to be able to refuel their vehicles.That is, In RST(V  , V  ), the cardinality of RS(V  , V  ) is one, but the cardinality of SC(V  , The endpoints of RS(V  , V  ) indicate the boundary points defining the segment containing all station locations that can cover the positive traffic flow in path (V  , V  ).Similarly, the endpoints of SC(V  , V  ; V  , ), which are V  and , represent the boundary points for the segment encompassing all station locations that can cover the positive deviation-flow in path (V  , V  ) originating at cycle starting vertex V  ∈ CSV(V  , V  ) and ending at cycle returning point  ∈ CRP(V  , V  ; V  ).In RST(V  , V  ), the endpoints of RS(V  , V  ) and all the endpoints of SC(V  , V  ; V  , ) are called the candidate points because these points indicate the boundaries for potential station locations that cover path (V  , V  ) with positive traffic flow or deviationflow.The set of candidate points of RST(V  , V  ), denoted as CP(RST(V  , V  )), is defined as follows: where is the set of endpoints of all symmetric cycles and EP(V  , V  ) is the set of endpoints of the refueling segment of In Expression (10), note that CRP(V  , V  ; V  ) = 0 when there is no deviation option ( = 0), while CSV(V  , V  ) and EP(V  , V  ) are defined for 0 ≤  ≤ 1.Note that the vertices in CSV(V  , V  ) still need to be considered although the deviation option is not available, that is, for  = 0, because some of these points are intersection vertices that may cover traffic flows from multiple paths [32].Since an intersection vertex within a refueling segment has the same characteristics of a cycle starting vertex, we construct set CSV(V  , V  ) for  = 0 to identify this type of intersection vertices even though the deviation option is not available.
By using Expression (10), the set of candidate points in expanded subtree T ,  = 1, . . ., , denoted as CP  , can be defined as follows: Now, we determine the refueling subtree for path
Theorem 5 (Candidate Point Optimality Theorem).For the continuous deviation-flow location problem for an AF refueling station on tree , there exists at least one optimal location  * ∈ .
Proof (by contradiction).Suppose that none of the candidate points in CP is an optimal solution.Let  * be an optimal point that covers ( * ) round trips per time unit.Since  * is an optimal location, by case (a) of Lemma 4,  * must belong to ⋃ (V  ,V  )∈ L RST(V  , V  ), for some  = 1, . . ., .If  * ∈ ⋃ (V  ,V  )∈ L RST(V  , V  ), then by case (b) of Lemma 4, there exists a candidate point  ∈ CP  such that ( * ) ≤ ().This contradicts the initial hypothesis that none of the candidate points in CP is an optimal solution.Thus, there exists at least one candidate point in CP that is an optimal location to the problem.

Deviation-Flow Optimal Candidate Point Algorithm
Based on the Candidate Point Optimality Theorem, in this section the Deviation-Flow Optimal Candidate Point Algorithm is proposed to find the optimal set of candidate points for an AF refueling station that covers the maximum traffic flow (in round trips per time unit) when a portion of drivers select the deviation option.The central idea of this algorithm can be summarized in three steps.This algorithm is a generalization of the Single Refueling Point Algorithm that finds the set of optimal locations for a refueling station when vehicle deviation is not available [18].A distinct feature of the proposed algorithm is that it generates the deviation options for all O/D pairs with positive flows when 0 <  ≤ 1, which usually produces a larger set of candidate points and consequently a different set of optimal locations.In addition, by changing the value of  between 0 and 1 in the algorithm, we can analyze the effect of the portion of drivers choosing the deviation option on the optimal set of station locations and traffic flow covered.The steps of the algorithm are specified below.
, for all  ∈ CP  , then determine the local optimal set of candidate points, CP *  , in CP  : Step 3. Find the global optimal set of candidate points, denoted as CP * , for the original tree  and the corresponding maximum total traffic flow in round trips per time unit ( * ): Step 2 consists of four substeps to find the set of local optimal candidate points CP *  for each T .Sub-Step 2.1 takes ( 2 ) to measure (V  , V  ), for all V  , V  ∈ V , and build set L ,  = 1, . . ., .To determine CP  ,  = 1, . . ., , Sub-Step 2.2 first builds RS(V  , V  ) and EP(V  , V  ) for (V  , V  ) ∈ L , which takes ( 2 ).Next, for each RS(V  , V  ), Sub-Step 2.2 identifies CSV(V  , V  ), which takes ().Lastly, for each V  ∈ CSV(V  , V  ), Sub-Step 2.2 finds CRP(V  , V  ; V  ), which takes () by Theorem 3. Thus, the total time devoted to Sub-Step 2.2 is ( 4 ).Since we can find () candidate points for each path (V  , V  ) ∈ L , and furthermore, there exist ( 2 ) paths in each L , the number of candidate points in CP  is ( 3 ).Therefore, Sub-Step 2.3 takes ( 5 ) to generate the sets of paths with positive traffic flow and deviation-flow covered by all candidate points  ∈ CP  ,  = 1, . . ., .Similarly, Sub-Step 2.4 takes ( 5 ) to compute the total traffic flow covered by all candidate points, compare the total traffic flows covered by candidate points in T ,  = 1, . . ., , and determine the local optimal set of candidate points for each T .Step 3 takes ( 2 ) to compare the local optimal solutions and determine the global optimal set of candidate points in .The algorithm performs each step once.Thus, the total time devoted to operations in the algorithm is ( 5 ).

Convex Combination Property
This section consists of two subsections to identify additional optimal points that can be generated as convex combinations of certain pairs of optimal candidate points.First, a condition is identified in Section 6.1 under which any point on the line segment between two consecutive optimal candidate points is also optimal.Then, based on this condition, the complete set of optimal solutions for the problem is determined in Section 6.2.

Optimality Conditions for a Convex Combination of Consecutive Optimal Candidate Points.
In this subsection, given any pair of consecutive optimal candidate points,  * 1 ,  * 2 ∈ CP * , we identify conditions under which any point that can be written as a convex combination of  * 1 and  * 2 is also optimal.
To simplify the proof process to derive the conditions, we first partition ( Then, by using these terms, ( * 1 ) and ( * 2 ) can be written as follows: Note also that, by definition, ).The following theorem establishes optimality conditions for points that can be written as convex combinations of consecutive optimal candidate points.
The optimality of set CS * is proved in the following theorem.
Theorem 9 (optimality of the complete set of optimal solutions).Set CS * , defined in Expression (17), contains all optimal solutions for the problem.
Proof (by contradiction).Suppose that there exists an optimal point  * that does not belong to CS * .Because CS * includes all optimal candidate points in CP * and  * ∉ CS * ,  * should be a point in  that is not a candidate point.First, suppose that  * ∉ ⋃ (V  ,V  )∈ L RST(V  , V  ).Then, by case (a) of Lemma 4, ( * ) = 0.This contradicts the hypothesis that  * is optimal.Thus,  * must belong to ⋃ (V  ,V  )∈ L RST(V  , V  ).

Numerical Example and Analysis of Results
In this section, a numerical example is provided to illustrate the proposed solution approach and verify its performance.
Figure 2 shows the undirected tree (, ) with  = 11 vertices, and Table 3 provides the average traffic flows (V  , V  ), for all V  , V  ∈  such that  < .Note that although we use a small-size network to show the step-by-step application of the proposed procedure to find the optimal set of station locations, the procedure can also be applied for the large-scale problems due to its polynomial time complexity.In addition, since the actual portion of drivers who select the deviation portion  is difficult to find in practice, in this example, we change  from 0 to 1 to analyze its effect on the optimal set of location sites.The remainder of this section is organized as follows.In Section 7.1, for a given value of the vehicle driving range , we apply the Deviation-Flow Optimal Candidate Point Algorithm to solve the numerical example.In Section 7.2, we further examine the coupled effects of deviation portion and vehicle driving range on the set of optimal locations and the maximum traffic flow covered.In Section 7.3, we compare the results of the proposed solution approach with the existing models to verify its performance.

Numerical Example for a Given Vehicle Driving Range.
In this subsection, we fix the driving range  = 80 and solve the numerical example to illustrate the Deviation-Flow Optimal Candidate Point Algorithm in detail.

Sensitivity Analysis for Coupled Effects of Deviation Portion and Vehicle Driving Range.
In this subsection, we analyze the coupled effects of deviation portion and vehicle driving range on the set of optimal locations and the maximum traffic flow covered in tree .The actual deviation portion , which refers to the portion of drivers willing to deviate from their preplanned paths for refueling service per time unit, is difficult to obtain or likely to be inaccurately estimated.Thus, the values of  used in this analysis range from 0 to 1.The vehicle driving range , which depends on the fuel consumption, is expected to increase substantially with improving technologies [33].To reflect about this point, the values of  used in this subsection range from  = 40 to  = 120, which are ±50% of the value of  = 80 used in the previous subsection, in increments of 20.The first and last three columns of Table 6 show the complete set of optimal solutions CS * and corresponding traffic flow covered  * (in round trips per time unit) for five different vehicle driving ranges ( = 40,  = 60,  = 80,  = 100, and  = 120) and deviation portions between 0 and 1 for the proposed solution approach.In addition, Figure 5 displays the trade-off between deviation portion  and maximum traffic flow covered  * for the five different vehicle driving ranges.From these results, we first notice that the maximum traffic flow covered  * increases or at least stays the same as the deviation portion  increases for a given vehicle driving range.For example, when the vehicle driving range is fixed to  = 80,  * = 155 as  increases from 0 to 0.5; then  * increases from 155 to 220 round trips per time unit as  increases from 0.5 to 1.Note also that the value of  * increases or stays the same as the vehicle driving range  increases for a given value of  between 0 and 1.For example, when the deviation portion is fixed to  = 0.5,  * = 140 for  = 40;  * = 155 for  = 60 and  = 80;  * = 190 for  = 100;  * = 435 for  = 120.
Figure 6 graphically presents the locations of the optimal candidate points listed in Table 6.It can be observed that when the maximum traffic flow covered  * stays the same, the complete set of optimal solutions CS * may expand as the deviation portion  increases and the vehicle driving range  remains constant.For example, when  = 40 and  increases from 0 to 1, the maximum traffic flow covered  * stays at 140 round trips per time unit, but CS * is expanded from ℓ( 1 ,  2 ), for 0 ≤  < 1, to ℓ( 1 ,  2 ) ∪ ℓ( 1 ,  3 ) ∪ ℓ( 1 ,  4 ), for  = 1.Similarly, while  * remains constant, CS * may enlarge as  increases and  stays the same.For example, given that 0 ≤  < 0.5, as  increases from 60 to 80,  * stays at 155 round trips per time unit, but CS * is expanded from one candidate point { 5 } to line segment ℓ( 6 ,  7 ) including { 5 }.Note.The locations of candidate points in the complete set of optimal solutions (CS * ) are shown in Figure 6.

Performance Analysis.
In this subsection, the optimal solution of the proposed procedure is compared with those of the DFRLM [20] and the Ventura et al. [18] algorithm using the example in this section.The three approaches consider the same objective function, that is, maximizing the total traffic flow covered by the station, but have different assumptions.The main distinctions among these three models can be summarized briefly.First, the DFRLM, like most models published in the literature, assumes that the set of candidate sites is the set of vertices of the network.Therefore, the DFRLM is able to find deviation paths only if such vertices can be reached within the remaining driving  6.
range of vehicles.On the other hand, Ventura et al. [18] consider that the station can be located anywhere along the network, but vehicle deviations are not allowed.Lastly, the proposed approach considers the continuous version of the problem and allows vehicle deviations.Table 2 provides a detailed comparison of these three methodologies, including their computational complexity.In spite of the different computational requirements, since the size of the network in this example is small, the three solution approaches solve the example problem very quickly.The first column of Table 6 shows the five values of  that are considered.The optimal locations and corresponding traffic flow covered  * (in round trips per time unit) for the DFRLM are shown in columns 2 and 3 and for Ventura et al. [18] algorithm are provided in columns 4 and 5.The last three columns include the results of the proposed solution approach as explained in Section 7.2.Figure 7 displays the coupled effects of vehicle driving range and deviation portion on the maximum traffic flow  * for the three models: DFRLM, Ventura et al. algorithm, and proposed approach.
The comparison among the three studies in Table 6 and Figure 7 verifies that the proposed solution approach performs better than the other two studies in terms of maximum traffic flow covered and set of optimal locations.First, Figure 7 shows that the maximum traffic flow covered  * of the proposed approach is always higher than or equal to those of the other two models for all values of .For example, when  = 80, the proposed approach with  = 1.00 finds the optimal locations covering 220 round trips (per time unit), which is 57% and 42% higher than the round trips covered at the suboptimal locations found using the DFRLM and Ventura et al. algorithm, respectively.Next, Table 6 also demonstrates that when all three models find the same value of  * , the proposed approach may be able to detect more optimal locations than the other two models.For example, when  = 40,  * = 140 for all three models, but the set of optimal locations found by the proposed approach, which is CS * = ℓ( 1 ,  2 ) ∪ ℓ( 1 ,  3 ) ∪ ℓ( 1 ,  4 ), includes the two optimal locations, {V 8 , V 9 }, found by the FRLM and the set of optimal locations, ℓ( 1 ,  2 ), found by the Ventura et al. algorithm.
An interesting point is that the DFRLM fails to find any deviation paths in this example, while the proposed approach finds six deviation paths from simple paths (V 2 , V 3 ), (V 8 , V 9 ), and (V 10 , V 11 ), as shown in Figure 3.In this example, no vertices from these simple paths are reachable within the remaining driving range of vehicles; thus, the DFRLM cannot find any feasible deviation path.On the other hand, the proposed approach explores every point along detour edges in polynomial time, so it finds all possible deviation paths in the network regardless of the location of vertices on detours.

Conclusions and Future Research
This article has studied the continuous version of an AF refueling station location problem on a tree network considering that a portion of drivers have the option to deviate from their preplanned paths to be able to refuel their vehicles.The objective of the problem is to identify the set of optimal station locations that maximize the total traffic flow covered (in round trips per time unit).To achieve this goal, we have first generated a set of subtrees from the original tree network to reduce the problem size and consider the deviation option.Next, we have identified three sets of candidate points, including endpoints of refueling segments, cycle starting vertices, and cycle returning points, to locate the refueling station.We have proved that there exists at least one optimal solution in these sets of candidate points.Then, we have developed a polynomial time algorithm to determine the set of optimal candidate points that maximizes the total traffic flow covered.Lastly, we have derived conditions under which the line segments defined by certain pairs of consecutive optimal candidate points are also optimal.Our performance analysis demonstrates that the proposed solution approach can significantly improve the suboptimality of the solutions found by the existing refueling station location models.Note that although in this study we have used a smallsize numerical example to illustrate and verify the proposed solution approach step by step, this procedure can also be applied for the large-scale problems due to its polynomial time complexity.
For future research we have identified three clear extensions to our solution approach.First, some of the assumptions we made in this article can be relaxed.For example, some vehicles may have different fuel tank levels at their origin and destination points, and fuel consumption may be different for some vehicles, which implies that they can have different driving ranges.We also suggest to extend the approach discussed in this article for tree networks to general networks having multiple paths between pairs of vertices.In addition, a multiobjective version of the refueling station location problem can also be considered to identify efficient locations that both maximize the total traffic flow covered by the stations and minimize construction and maintenance costs of the stations, assuming that these costs differ regionally.

Amount of traffic flow covered by c 1 Figure 4 :
Figure 4: Change of the optimal solutions for tree  as deviation portion  changes.

Figure 6 :
Figure6: Locations of the optimal candidate points listed in Table6.

Figure 7 :
Figure 7: Coupled effects of vehicle driving range and deviation portion on the maximum traffic flow covered for the three models (DFRLM, Ventura et al. algorithm, and the proposed solution approach).

Table 1 :
Tree network structures in the US highways.

Table 2 :
Comparison among three methodologies for solving an AF refueling station location problem.
0 and deg(V  ) ≥ 2: enqueue(; V  ) and set PARENT(V  ) = {V  }.Theorem 3 (complexity of the Cycle Returning Point Algorithm).The complexity of the Cycle Returning Point Algorithm is (), where  = ||.Proof.Step 1 includes initialization of CRP(V  , V  ; V  ), checking the value of , and computation of (V  , V  ; V  ), which takes (1).Initialization of  in Step 2 and enqueuing V  to  in Step 3 also take (1).Step 4 consists of three substeps to identify all  ∈ CRP(V  , V  ; V  ) for a given V  ∈ CSV(V  , V  ).Sub-Steps 4.1 and 4.2 dequeue V  from  and generate set CHILDREN(V  ).Sub-Step 4.3 computes Proof.In (a), by definition of refueling subtree,  does not cover any path in L .Thus, the result holds.In case (b),  is in the interior of all the refueling subtrees determined by all paths in () and   ().Thus,  has at least one candidate point on each side.Let  1 and  2 be the two closest candidate points on each side of .Because no candidate point is located between  and   ,  = 1, 2, the paths with positive traffic flow covered by  are the same paths with positive traffic flow covered by both  1 and  2 ; that is, () = ( 1 ) ∩ ( 2 ), and thus, () ⊆ (  ),  = 1, 2. On the other hand, any path with positive deviation-flow covered by  must either be a path with positive deviation-flow covered by both  1 and  2 or be a path with positive traffic flow covered by one of the two candidate points ( 1 and  2 ) and with positive deviation-flow covered by the other candidate point; that is, then there exists a candidate point  ∈   such that () ⊆ (),   () ⊆   () ∪ (), and () ≤ ().
Step 1 constructs expanded subtrees T , for  = 1, . . ., , from the original tree network , as discussed in Section 3. Step 2 determines the set of local maximum candidate points for each T .As shown in Theorem 5, at least one local optimal candidate point is global optimal.Step 3 finds the set of global maximum candidate points of  by comparing the local maximum candidate points.
Figure 3(a)illustrates the locations of RS(V  , V  ), SC(V  , V  ; V  , ), and the corresponding  ∈ CP 1 in T1 , for Sub-Step 2.3 constructs () and   () to identify all positive traffic flows covered by .The left and middle sides of Table 4 summarize the results.Based on the paths covered by each candidate point  ∈ CP 1 , Sub-Step 2.4 first calculates (), for  ∈ CP 1 .The right side of this table shows the calculation processes.Sub-Step 2.4 next compares (), for  ∈ CP 1 , and determines the local optimal set of candidate points CP Step 3 derives the global optimal set of candidate points CP * for the original tree  that covers the maximum traffic flow in round trips per time unit ( * ): * 1 in T1 , for 0 ≤  ≤ 1, as follows:

Table 6 :
Optimal locations and the corresponding traffic flows covered for each vehicle driving range (and deviation portion combination) for three models.