Research Article | Open Access

Sang Jin Kweon, Seong Wook Hwang, Jose A. Ventura, "A Continuous Deviation-Flow Location Problem for an Alternative-Fuel Refueling Station on a Tree-Like Transportation Network", *Journal of Advanced Transportation*, vol. 2017, Article ID 1705821, 20 pages, 2017. https://doi.org/10.1155/2017/1705821

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

**Academic Editor:**Edward Chung

#### Abstract

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.

#### 1. 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.

##### 1.1. 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 road networks in sparsely settled areas are generally trees, since tree road networks are the cheapest to construct.

| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

: interstate highway, S: state highway, and T: turnpike. |

Trees are central to the structural understanding of networks and graphs and often occur with additional attributes such as roots and vertex-ordering. They have a wide range of applications, including data storage, searching, information processing, and facility location [6]. Because it is easier to get insights into tree network problems, numerous articles in classical facility location problems on transportation networks without cycles are available in the literature ([7–9] and others).

##### 1.2. Setting Up an AF Refueling Station on Toll Roads

Building an AF refueling station usually requires a substantial investment. For example, it takes $1.8 million to $4.7 million to construct a natural gas refueling station on the Pennsylvania 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–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–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 path-based 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.

##### 1.3. 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.

##### 1.4. 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.

| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

= number of vertices. |

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.

#### 2. 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 two-stage 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.

#### 3. 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 . This implies that 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 edges, where ; otherwise, the network is trivial. An edge is defined if and are directly connected. We also denote as the unique simple path between and for , for all . Set is defined as the set of all possible paths in ; that is, . The average traffic flow along is denoted as . We note that refers to the average of traffic flow of the original trip from to and the return trip from to and is defined only for . We use to represent the round trips per time unit between and . The length of is denoted as , and . Similarly, denotes the unique simple path between and any point , and the length of this path is denoted as .

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 and is “covered” by a refueling station if the station is located at some point along within a distance from and . 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 is covered by the station if it is placed at a point somewhere in the network within a distance from and , but not along path . 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 and , for all , 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, .

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 and . If drivers make a round trip between and with , the simple path is , the vertex visitation sequence between and is , 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 , 20 round trips from deviate to a symmetric cycle with vertex visitation sequence . Thus, the entire vertex visitation sequence for the simple deviation path between and is . If there exists another traffic flow , then and . Thus, the total traffic flow covered by a refueling station located at is calculated as = + = round trips (per time unit).

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. Let . Then, we eliminate all edges in from to form a forest with and , such that , where is the th subtree that consists of a set of vertices and a set of edges , and is the total number of subtrees in forest .

Now, for subtree , 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 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 be one of the vertices in that is adjacent to by . Then, the set of vertices in is defined as , where is the set of vertices in . After identifying , the set of edges in that are connected to in is defined as . In addition, the set of vertices that are adjacent to in is defined as , where is the set of vertices in . For , if any positive deviation-flow from path in can be covered by some point located on one of the edges in , then we add the edge in into and the corresponding end point (vertex) in into . That is, for subtree , , we first initialize set as an empty set, where is used to collect all such that , can be covered by some point located on one of the edges in . Next, for , if we find at least one , for in , such that , then we add into . Finally, we construct expanded subtree , such that and . Based on the expanded subtree 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:(a)If , for all such that , then the number of expanded subtrees , can be located anywhere in , and .(b)Otherwise, the number of expanded subtrees , and has to be placed on an expanded subtree that contains some path such that and . In this case, .

*Proof. *In case (a), if , for all , then . This implies that expanded subtrees are created, where each is composed of an isolated vertex. Otherwise, at least an edge such that exists. Thus, there exists an expanded subtree that contains edge . This implies that includes at least two vertices; that is, ; thus, the number of expanded subtrees . Besides, since , for all such that , , and , for all . Thus, for any point , , which means that can be located anywhere in and .

In case (b), there exists at least one path , such that and . Thus, there exists an expanded subtree that contains and at least two vertices . This means that the number of expanded subtrees . If the refueling station is located at a point at an isolated vertex in , then , and . If the station is located at a point along a symmetric cycle of , then ; that is, , and . If the station is in the middle point of , then , which indicates that , and therefore, . Since is an optimal point, . Hence, has to be placed on an expanded subtree that contains a path such that and . Then, .

Note that, for any expanded subtree , a path such that cannot be covered by a single station; in addition, a path without flow, that is, , does not need to be considered to maximize traffic flow coverage. Thus, the set of paths that need to be considered for coverage in is defined as . Then, by definition of , for , covers any path , for , such that and . Thus, . Similarly, by definition of , for , covers every path , for , such that and . Therefore, as well.

#### 4. Set of Candidate Points

In this section, we establish a set of candidate points for each expanded subtree 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 , , 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 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 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 and is denoted as . Since vehicles have a driving range , based on Assumption (ii), drivers have to refuel the vehicles within a distance of from the origin and destination vertices during their round trips by Assumption (iv). Thus, must contain all the points that are within from and . That is,Depending on the value of , includes one or two endpoints, denoted as , for . If , has two different endpoints, and ; otherwise, . Then, the set of endpoints of , denoted as , is defined as follows:

In the example of the round trip between and in Figure 1, is identical to since . Thus, the two endpoints of , and , are located exactly at and ; that is, . Since , a station located at any point can cover round trips between and .

##### 4.2. Cycle Starting Vertex

As a next step to build the set of candidate points for , , 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 . 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 , we examine the minimum remaining travel distance of vehicles at a vertex within , as well as the degree of this vertex. First, the minimum remaining travel distance of vehicles at a cycle starting vertex is denoted as and computed as follows:Intuitively, measures the minimum remaining travel distance at that vehicles can drive up when they enter the network either at in the original trip or at in the return trip. is calculated by subtracting the maximum distance between and from because any point within a symmetric cycle must be reachable from both and in order for vehicles to make a complete round trip between and in the network. In order for vehicles in path to start a symmetric cycle originating at , the value of must be positive; otherwise, the deviation option is not available at . The value of depends on the location of and the value of . In case of , , for any value of ; thus, no deviation is available. In case of , if , then for in the interior of , and for at the endpoint of . If , then for , where is the set of vertices in .

Next, the degree of a cycle starting vertex is denoted as . If of a path is placed at either origin or destination , that is, , then can be a cycle starting vertex if and only if . This implies that has at least one adjacent edge that does not belong to path and a portion of this edge or the entire edge can form a subpath for a symmetric cycle. If is placed at neither origin nor destination , that is, , then can only be a cycle starting vertex if . That is, besides the two subpaths from to in the original trip and from to in the return trip, at least one more separate subpath connected to exists to initiate a symmetric cycle.

Since there can exist multiple cycle starting vertices for a path , we define as the set of cycle starting vertices in path . Based on the observations of a cycle starting vertex discussed above, is determined as follows:

Now, let us recall that in the example of the round trip between and in Figure 1. Thus, , and by using Expression (6), , , and . However, and cannot be cycle starting vertices of because . In contrast, is a cycle starting vertex of because . Thus, .

##### 4.3. Cycle Returning Point

In this subsection, for each symmetric cycle originating at , we identify the farthest point vehicles can reach before returning to . 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 , while the cycle starting vertex is defined for . 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 be the set of all cycle returning points arising from a given . Then, is the number of cycle returning points corresponding to a given , or equivalently, the number of symmetric cycles originating at a given . In addition, the number of all cycle returning points of path can be computed as .

The location of a cycle returning point is determined by comparing the value of to the length of the separate subpath originating at . If the value of is less than the length of the separate subpath, then the cycle returning point is located at a distance from since drivers at cycle starting vertex can travel up to this distance from 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 in the symmetric cycle originating at .

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 for a given cycle starting vertex . This algorithm systematically explores the edges along separate subpaths originating at and computes the minimum remaining travel distance at each reachable vertex.

When exploring an edge along a separate subpath such that or , we call the parent of and the child of . To establish a parent and child relationship between vertices in the course of scanning the edges, we let be the set of parents of and the set of children of . In a tree network, every child has a single parent , that is, . In contrast, every parent can have several children according to the tree network structure. Thus, set is determined as follows:where is the set of vertices adjacent to , or equivalently, the neighborhood of , and is the set of vertices within . In Expression (8), if , is obtained by removing the vertices within from the vertices adjacent to ; otherwise, is generated by eliminating the parent of from the vertices adjacent to .

The algorithm iterates to explore each edge along separate subpaths originating at a given vertex until all cycle returning points are identified. At a particular iteration exploring an edge , the minimum remaining travel distance of vehicles at , denoted as , is known. That is, if , the value of 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 as . If , a cycle returning point is located along edge such that . If or if and , then is placed exactly at . If and , then the drivers that are willing to deviate can travel further along the separate subpath; in this case, the algorithm assigns a child of the current iteration to a new parent at the next iteration and determines a new child using Expression (8) to proceed the next iteration.

In order to keep track of a child 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 such that and . Two functions are used to manage . The first function named places at the tail of queue . Conversely, the second function named selects the vertex at the head of queue and eliminates it from . The details of the Cycle Returning Point Algorithm are provided below.

*Algorithm 2 (Cycle Returning Point Algorithm). * * **Step 1*. For a given , initialize . If , terminate the algorithm; otherwise, compute using Expression (6).*Step 2*. Initialize .*Step 3*. .*Step 4*. Repeat the following substeps as long as there remain vertices in :*Sub-Step 4.1*. .*Sub-Step 4.2*. Determine using Expression (8).*Sub-Step 4.3*. For each , perform the following steps:*Sub-Step 4.3.1*. Compute .*Sub-Step 4.3.2*. According to the sign of , perform one of the following procedures:(a)If : is located along edge , such that . Also, add into .(b)If or if and : is located exactly at . Also, add into .(c)If and : and set .

Theorem 3 (complexity of the Cycle Returning Point Algorithm). *The complexity of the Cycle Returning Point Algorithm is , where .*

*Proof. *Step includes initialization of , checking the value of , and computation of , which takes . Initialization of in Step and enqueuing to in Step also take . Step consists of three substeps to identify all for a given . Sub-Steps 4.1 and 4.2 dequeue from and generate set . Sub-Step 4.3 computes for , and then according to the sign of , it locates a cycle returning point within edge or enqueues to for the next iteration. Step iterates until queue is empty. Since every vertex can be enqueued and dequeued at most once for a given , the operations in Step can be applied to every vertex at most once; thus, the total time devoted to the operations in Step 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 ; that is, we need to identify , for all . Recall that , , and . In Step of the algorithm, for a given cycle starting vertex , we set and, by Expression (6), compute . In Step , we set . In Step , we place at the tail of queue ; that is, . Now, we repeat Step until finding all cycle returning points . In Sub-Step 4.1, we set and eliminate from . In Sub-Step 4.2, since , by Expression (8), . For , we perform Sub-Step 4.3. In Sub-Step 4.3.1, . Since and , we select Procedure (c) in Sub-Step 4.3.2; that is, and . Since , we repeat Step . Now, in Sub-Step 4.1, and is removed from . In Sub-Step 4.2, by Expression (8), . For , we implement Sub-Step 4.3. For , in Sub-Step 4.3.1, . As , we select Procedure (a) in Sub-Step 4.3.2; that is, we locate along edge , such that , and add to , where indicates the first cycle returning point . By repeating the same process for , we locate along edge , such that , and add to , where refers to the second . Now, , so we end the algorithm with .

##### 4.4. Refueling Subtree

In this subsection, we determine the refueling subtree for each path 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 as the segment consisting of all station locations that cover the deviation-flow of path originating at cycle starting vertex and ending at cycle returning point ; that is, . Note that any point in covers deviation-flow , while cycle starting vertex covers traffic flow since .

Now, for any path , we can construct the refueling subtree, denoted as , which consists of refueling segment and all symmetric cycles of . 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 to be able to refuel their vehicles. That is,In , the cardinality of is one, but the cardinality of is , because the number of symmetric cycles in is equal to the number of cycle returning points , for .

The amount of traffic flow in covered by depends on the value of . If , any point in covers . If , any point in covers , while any point in covers . If , then by the Cycle Returning Point Algorithm; thus, , and any point in covers .

The endpoints of indicate the boundary points defining the segment containing all station locations that can cover the positive traffic flow in path . Similarly, the endpoints of , which are and , represent the boundary points for the segment encompassing all station locations that can cover the positive deviation-flow in path originating at cycle starting vertex and ending at cycle returning point