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.

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 ([79] 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 [1214]. 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, 1517] 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.

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 . In , the endpoints of and all the endpoints of are called the candidate points because these points indicate the boundaries for potential station locations that cover path with positive traffic flow or deviation-flow. The set of candidate points of , denoted as , is defined as follows:where is the set of endpoints of all symmetric cycles and is the set of endpoints of the refueling segment of . The th candidate point of is denoted as , , .

In Expression (10), note that when there is no deviation option , while and are defined for . Note that the vertices in still need to be considered although the deviation option is not available, that is, for , 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 for 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 , denoted as , can be defined as follows:

Now, we determine the refueling subtree for path in Figure 1. Recall that = and = . Then, symmetric cycles of are and . Thus, . If we assume , since , then any point covers 20% of , and any point covers . In addition, by Expression (11), .

4.5. Candidate Point Optimality Theorem

In this subsection, we prove that the set of candidate points, , contains at least one optimal location to the problem.

Lemma 4. Consider a point ,  for some , such that . Then,(a)if , then and ;(b)if , then there exists a candidate point such that , , and .

Proof. In case (a), by definition of refueling subtree, does not cover any path in . 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 and be the two closest candidate points on each side of . Because no candidate point is located between and , the paths with positive traffic flow covered by are the same paths with positive traffic flow covered by both and ; that is, , 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 and or be a path with positive traffic flow covered by one of the two candidate points ( and ) and with positive deviation-flow covered by the other candidate point; that is, = . This implies . Thus, for , , or equivalently, .

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 , for some . If , then by case (b) of Lemma 4, there exists a candidate point such that . This contradicts the initial hypothesis that none of the candidate points in is an optimal solution. Thus, there exists at least one candidate point in that is an optimal location to the problem.

5. 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. Step constructs expanded subtrees , for , from the original tree network , as discussed in Section 3. Step determines the set of local maximum candidate points for each . As shown in Theorem 5, at least one local optimal candidate point is global optimal. Step finds the set of global maximum candidate points of by comparing the local maximum candidate points.

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 , 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.

Algorithm 6 (Deviation-Flow Optimal Candidate Point Algorithm).   
Step  1. Construct expanded subtrees , for , from original tree network .
Sub-Step  1.1. Establish set and eliminate from .
Sub-Step  1.2. Determine forest that consists of subtrees , for , such that and , where .
Sub-Step  1.3. For subtree , determine expanded subtree .
Sub-Step  1.3.1. Initialize and generate .
Sub-Step  1.3.2. For , if there exists at least one , for in , such that , then add into .
Sub-Step  1.3.3. Construct expanded subtree such that and , where , , and is the set of vertices in .
Step  2. For each expanded subtree , with , identify the set of local optimal candidate points, denoted as , in (note that, for with , set and , where is located at the only vertex in ):
Sub-Step  2.1. Construct .
Sub-Step  2.2. Determine the set of candidate points, , using Expression (11).
Sub-Step  2.3. For all , construct and .
Sub-Step  2.4. Calculate , for all , then determine the local optimal set of candidate points, , in : Step  3. Find the global optimal set of candidate points, denoted as , for the original tree and the corresponding maximum total traffic flow in round trips per time unit :

Theorem 7 (complexity of the Deviation-Flow Optimal Candidate Point Algorithm). The Deviation-Flow Optimal Candidate Point Algorithm runs in time, where .

Proof. Step of the algorithm contains three substeps to generate expanded subtrees , for , from original tree . Sub-Step  1.1 takes to find and remove edges from . To construct forest containing subtrees , for , in Sub-Step  1.2, we start with a forest where each vertex forms its own tree. Then, for each edge , two trees connected by an edge are merged into a single tree. We repeat this iteration for all edges in , thus we obtain the final set of subtrees in time. To build expanded subtree from , Sub-Step  1.3 takes to identify and compute for and in . Step consists of four substeps to find the set of local optimal candidate points for each . Sub-Step  2.1 takes to measure , for all , and build set . To determine , Sub-Step  2.2 first builds and for , which takes . Next, for each , Sub-Step  2.2 identifies , which takes . Lastly, for each , Sub-Step  2.2 finds , which takes by Theorem 3. Thus, the total time devoted to Sub-Step  2.2 is . Since we can find candidate points for each path , and furthermore, there exist paths in each , the number of candidate points in is . Therefore, Sub-Step  2.3 takes to generate the sets of paths with positive traffic flow and deviation-flow covered by all candidate points . Similarly, Sub-Step  2.4 takes to compute the total traffic flow covered by all candidate points, compare the total traffic flows covered by candidate points in , and determine the local optimal set of candidate points for each . Step takes 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 .

6. 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.

6.1. Optimality Conditions for a Convex Combination of Consecutive Optimal Candidate Points

In this subsection, given any pair of consecutive optimal candidate points, , we identify conditions under which any point that can be written as a convex combination of and is also optimal.

To simplify the proof process to derive the conditions, we first partition , , , and into newly defined subsets as shown below. Since there exists no candidate point between and , is partitioned into and , where denotes the subset of paths with positive traffic flow covered by but not covered by , and denotes the subset of paths with positive traffic flow covered by both and . We also partition into and , where denotes the subset of paths with positive deviation-flow covered by but not covered by , and denotes the subset of paths with positive deviation-flow covered by both and . can also be partitioned into and , where denotes the subset of paths with positive deviation-flow covered by and positive traffic flow not covered by , and denotes the subset of paths with positive traffic flow covered by and positive deviation-flow covered by . Similarly, we can partition and , such that , , and . Then, by using these terms, and can be written as follows:

Note also that, by definition, and . Similarly, and .

The following theorem establishes optimality conditions for points that can be written as convex combinations of consecutive optimal candidate points.

Theorem 8 (optimality conditions for the line segment joining consecutive optimal candidate points). Given a pair of consecutive optimal candidate points, , let denote the line segment joining and ; that is, . Then, any point is also optimal if and only if one of the following conditions is satisfied:(a), for .(b) and , for .(c), for .

Proof. Assume that any point is also optimal. This implies , or equivalently, . Since and are the two closest candidate points on each side of , and . Thus, can be written as follows:We recall that and . Thus, and can be expressed as follows:In case (a), since , . Then, the equalities = = can only be satisfied if . This means that .
In case (b), . Recall that and . This means that in and in if and are not empty. Thus, to satisfy equalities = = , it is necessary to have . Note also that if , then because and . Therefore, and .
In case (c), since and , to satisfy , it is necessary to have and . Similarly, can only be satisfied if and . These results also imply that and . Since and , we can finally conclude that .
In case (a), we assume . This implies that . Also, since , . Thus, = = .
In case (b), we assume that and . This implies that and . Note also that because , , and . Thus, = = .
In case (c), we assume that . This implies that . Since and , to satisfy , it is necessary to have , , and . As a result, = = .
Since the conditions in cases (a), (b), and (c) lead to , and furthermore , any point is optimal.

6.2. Complete Set of Optimal Solutions

In this subsection, we determine the complete set of optimal solutions, denoted as , for the continuous deviation-flow location problem for an AF refueling station.

As an intermediate step toward determining , we first construct the set pairs of consecutive candidate points in that satisfy the conditions stated in Theorem 8, denoted as set . Then, by Theorem 8, the line segments defined by these pairs of candidate points in are also optimal. Consequently, the complete set of optimal solutions, denoted as , can be defined as follows:where is the set of optimal candidate points in . The optimality of set is proved in the following theorem.

Theorem 9 (optimality of the complete set of optimal solutions). Set , 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 . Because includes all optimal candidate points in and , should be a point in that is not a candidate point. First, suppose that . Then, by case (a) of Lemma 4, . This contradicts the hypothesis that is optimal. Thus, must belong to . Since , by case (b) of Lemma 4, there exist two closest candidate points, and , on each side of , such that , , and . Because is optimal, and are also optimal, and therefore, Theorem 8 holds for the convex combination of and . This means that . This contradicts the initial hypothesis that there exists an optimal point that does not belong to . Thus, contains all the optimal solutions.

7. 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 vertices, and Table 3 provides the average traffic flows , for all 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.

7.1. Numerical Example for a Given Vehicle Driving Range

In this subsection, we fix the driving range and solve the numerical example to illustrate the Deviation-Flow Optimal Candidate Point Algorithm in detail.

To construct the expanded subtrees from in Step , Sub-Step  1.1 finds ; thus, . By removing from , Sub-Step  1.2 forms forest containing two subtrees and , where , , , and . For , Sub-Step  1.3 sets and generates . For , even if , there is no , for , such that . Thus, remains empty, and expanded subtree = . For , Sub-Step  1.3 sets and forms . For , if , there exists , such that = 15 . Thus, is added to , and expanded subtree is such that and , where and .

Now, for expanded subtree , , Step determines the set of local optimal candidate points. For , Sub-Step  2.1 builds set that consists of in such that and ; that is, , . By using Expression (11), Sub-Step  2.2 establishes , which refers to the set of candidate points of the refueling subtrees corresponding to the paths in . For , since , of traffic flow in can select the deviation option that starts from or . By applying the Cycle Returning Point Algorithm to and , three cycle returning points, ,  , and , are obtained such that and . Thus, , consisting of , , , and , has seven candidate points , for , such that , , , and . Note that there are no cycle starting vertices in any path ; that is, the deviation option is not available. Thus, , and each has one or two candidate points depending on the value of . Then, includes eighteen candidate points, that is, , . Figure 3(a) illustrates the locations of , , and the corresponding in , for , , . 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 , Sub-Step  2.4 first calculates , for . The right side of this table shows the calculation processes. Sub-Step  2.4 next compares , for , and determines the local optimal set of candidate points in , for , as follows:This result implies that if , then ,  , and are the local optimal locations to ; otherwise, and are the local optimal locations that cover the maximum traffic flow (in round trips per time unit) in .

Similarly, Step is repeated for . Sub-Step  2.1 constructs . Sub-Step  2.2 generates = , = , = , = , , and = , where , , and are the three cycle returning points obtained by the Cycle Returning Point Algorithm. Then, by Expression (11), . Figure 3(b) graphically shows the locations of , , and the corresponding in , for , , . For , Sub-Step  2.3 determines and . They are summarized in the left and middle sides of Table 5. Next, Sub-Step  2.4 first computes , for . The calculations are summarized in the right side of the table. Sub-Step  2.4 then compares , for , and identifies the local optimal set of candidate points in , for , as follows:This means that if , then and are local optimal candidate points in ; otherwise, , , and become local optimal to .

Finally, by comparing , for , and , for , Step derives the global optimal set of candidate points for the original tree that covers the maximum traffic flow in round trips per time unit :

The set of optimal candidate points changes as the deviation portion varies between 0 and 1. When , the two candidate points in are optimal locations in tree covering a traffic flow of 155 round trips per time unit. Since and are consecutive optimal candidate points satisfying the conditions of Theorem 8, all interior points between and are also optimal, and therefore, the complete set of optimal solutions . If , the three candidate points in are optimal locations with a traffic flow coverage of 155 to 176 round trips per time unit depending on . Since these three optimal candidate points are located in the same spot, . Lastly, if , the two candidate points in are optimal solutions with a traffic flow coverage of 176 to 220 round trips per time unit. Since and are located in the same spot, . Figure 4 illustrates the change of the optimal solutions in tree as the value of changes from 0 to 1.

7.2. 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 to , which are of the value of 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 and corresponding traffic flow covered (in round trips per time unit) for five different vehicle driving ranges (, , , , and ) 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 , 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 , for ; for and ; for ; for .

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 may expand as the deviation portion increases and the vehicle driving range remains constant. For example, when and increases from 0 to 1, the maximum traffic flow covered stays at 140 round trips per time unit, but is expanded from , for , to , for . Similarly, while remains constant, may enlarge as increases and stays the same. For example, given that , as increases from 60 to 80, stays at 155 round trips per time unit, but is expanded from one candidate point to line segment including .

7.3. 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 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 , the proposed approach with 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 , for all three models, but the set of optimal locations found by the proposed approach, which is , includes the two optimal locations, , found by the FRLM and the set of optimal locations, , 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 , , and , 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.

8. 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 small-size 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.

Conflicts of Interest

The authors declare that there are no conflicts of interest regarding the publication of this article.