4.2. Solution Technique to Nodal Tree Recourse Problems
This subsection briefly reviews the solution technique to nodal tree recourse problems introduced by Powell and Cheung [
38], which we leverage to solve our single-root-node recourse problem.
A nodal tree recourse problem is defined as follows. Consider a directed one-level tree (we say a tree has
n levels if
n is the depth of the tree) rooted at node
r with independent random arc capacities
such as the one depicted in
Figure 5. The total supply to this tree, entering the root node, is
S. For a given realization
, a unit of flow traversing a path (link connecting the root node to a leaf node) will result in a certain cost
. Assume all
m paths have been ranked by their costs in ascending order, meaning
. We wish to find the expected total cost of the tree problem as a function of the scalar supply.
For a given realization
, the nodal tree recourse problem is
subject to
To solve the problems (
8)–(
10), assigning flow to the paths in their ranking greedily can obtain the optimal solution. This optimal policy enables us to solve the problem efficiently. Define the following:
{the kth unit of flow entering node r takes the nth path}, which we call a routing probability;
expected marginal cost for the kth unit of flow entering node r;
the total capacity of the first n ranked paths.
Therefore,
can be computed by
and
can be obtained by
With the routing probability
,
can be calculated by
Finally, the expected value of the recourse problem,
, can be obtained easily by
Equation (
11) holds under the condition that random arc capacities are mutually independent. The theory behind Equation (
12) is that the greed algorithm holds for this nodal tree problem, meaning that the probability of the
kth unit taking the
nth path is the one that the total capacity of the first
n paths must be greater or equal to
k, and the total capacity of the first
paths must be less than
k. Mathematically, it is
. Since the random arc capacities are mutually independent, such that the probability of
and
is independent, this means that
. Finally, suppose the total capacity of the first
paths is greater than or equal to
k, which indicates that the total capacity of the first
n paths must be greater than or equal to
k (with probability of 1), such that
. For proof details, we recommend readers refer to [
38].
The solution to the nodal tree recourse problem provides an efficient method for calculating the expected value of the recourse function. In
Section 4.3, we propose a process to convert the single-root-node recourse problem to a nodal tree structure.
4.3. Conversion of Single-Root-Node Recourse Problems
This subsection presents the procedure to convert the single-root-node recourse problem to the nodal tree structure. Three factors need to be considered for a nodal tree problem. The first is the supply to the root node, the second is the revenue of each path, and the third is the random capacity of the corresponding path. Since the vehicles are scalar supplies entering into the root node, we focus on how to compute the revenue and capacity for each path.
To begin with, we present the converting processes with a single leaf node , which means we first focus on the path from root node i to leaf node j. The passenger demand on this path is , a discrete random variable. The fare for each passenger is , and the cost for each vehicle traversing this path is .
We start with the computation of the path revenue. Vehicles carrying
passengers departed from node
to node
generate different revenue, denoted by
, which can be calculated by
, where
and
H is the total available seats of each vehicle. It is natural to consider creating
H paths rooted at node
pointing to node
j, such that the revenue of each path can be determined by
, respectively. Duplicating the leaf node
times creates
H leaf nodes
and generates a nodal tree. This nodal tree structure, rooted at node
and ended in leaf nodes
with total
H paths and corresponding revenue
, is depicted in
Figure 6.
Now, we turn to compute each path’s capacity, denoted by , which is a random variable capturing the number of vehicles carrying passengers given the passenger random demand . The policy of assigning passengers to vehicles determines the number of vehicles used and the number of passengers carried in each vehicle. Since our objective is to maximize operational revenue, a passenger assignment policy exists to achieve this, as stated in Proposition 1.
Proposition 1. For any realization ω, given passenger demands, the optimal policy of passenger assignment to vehicles is to assign more passengers to a departing vehicle until its seats are all occupied.
Proof. Assume there are passengers waiting at transit point under realization , and assume there are passengers having been assigned into vehicle k. The revenue of this transportation is . If we assign additional passengers into vehicle k, the marginal revenue . It means assigning more passengers into this vehicle k can achieve positive marginal revenue, such that the optimal policy is to assign more passengers into a vehicle until it is fully loaded. □
Proposition 1 indicates, given passenger demands
under realization
, if
vehicles have been dispatched from point
i to point
j, there is at the most one of these
k vehicles which is not fully loaded. So, the number of fully loaded vehicles under realization
can be obtained by
, where
means to round down
X, and
H is the available seats of a vehicle. The number of the not fully loaded vehicles is 1, which carries the remainder of passengers
H, where operator “
” is the modulo operation, and
. In this way, passenger demands
can be converted to vehicle demands under any realization
, which can be expressed mathematically as
With Equation (
15), passenger demand
can be converted to vehicle demand
for any realization
. In a nodal tree structure, these vehicle demands are represented by paths rooted at node
pointing to leaf nodes
. The number of passengers carried determines the ranking of these paths. Corollary 1 states that the ranking of these paths is from
i ->
down to
i ->
. The symbol “
x ->
y” represents the path from root node
x to leaf node
y.
Corollary 1. Assume a nodal tree structure rooted at node with H leaf nodes . Path i -> represents carrying passengers. The ranking of these paths according to path revenue in descending order starts from the path i -> down to the one i -> .
Proof. Since the path revenue is calculated by , if , we must have . Because , the ranking of paths according to path revenue in descending order is from path i -> down to the one i -> . □
Proposition 1 and Corollary 1 provide a method to convert the passenger demands to vehicle demands where multiple paths represent the vehicle demands. The single-root-node recourse problem rooted in node
pointing to node
with random passenger demands
can be represented by a nodal tree structure with root node
i and leaf nodes
. The path revenue is
and the corresponding path capacity is
where
. The idea of this conversion is illustrated in
Figure 7. For a better understanding of this converting process,
Table 3 shows an example with the discrete random variable
taking four possible values and the capacity of vehicle
. The ranking of these four paths is
, corresponding to vehicles carrying
passengers, respectively.
The example in
Table 3 shows that the numbers of vehicles
dispatched from node
to node
carrying
are also discrete random variables. Let us take
and
, for example: the result indicates that the distribution of
is
and
is
. However, we cannot obtain the total capacity of the first two paths,
and
, by summing
and
directly because they are not independent. Proposition 2 provides an efficient approach to compute the total capacity of the first
n paths.
Proposition 2. For a sorted nodal tree rooted at the node pointing to H leaf nodes , assume the random variable takes possible values. Given all paths’ capacities , where , if the first n paths include those paths i -> , i -> ,..., i -> , then the distribution of the total capacity of the first n paths can be computed by .
Proof. Assume all paths rooted at point pointing to leaf nodes have been ranked in descending order. According to Corollary 1, the path to point must be ranked first and followed by paths to node . According to Proposition 1, each outcome of can be converted to . the value of the first n paths is because the first n paths contain those paths i -> , i -> ,..., i -> . Since are discrete variables taking finite possible values, the probability of can be computed by summing up those corresponding probabilities over all outcomes T on , which is . □
Proposition 2 provides an efficient approach to obtain the total capacity of the first
n paths,
. Let us demonstrate the calculation using
. Since the possible values of
are taken from
, it means
can take the values of 1 or 2, and the probability of
taking the value of 1 is the sum of all corresponding probabilities where
, which are
,
, and
. The calculation is the same for
, taking the value of 2, which is
.
Table 4 shows the results of
in the example shown in
Table 3.
With Proposition 2, we can obtain the first
n paths’ total capacity
efficiently for a nodal tree rooted at node
with leaf nodes
, even though these paths’ random capacities are not independent. It extends the one introduced by Powell and Cheung [
38], where their algorithm is restricted by the condition that all random arc capacities are mutually independent. However, the approach in Proposition 2 can only apply to computing the total capacities of the first
n paths for a single leaf node. Since a single-root-node recourse problem generally contains multiple leaf nodes, we state an approach in Proposition 3 to compute a nodal tree rooted at node
with multiple leaf nodes
. To ease our presentation, we present this recourse problem with two leaf nodes
and
, which relates to passenger demands
and
. It is worth noting that this is not a limitation of our approach.
Proposition 3. Assume a nodal tree rooted at node contains two leaf nodes and . Duplicating leaf nodes j and k times, respectively, creates two new nodal subtrees and rooted at node i with paths and leaf nodes and , respectively. Assume all paths in have been sorted in descending order by their revenue and , where , and the first n paths contain paths i -> ,i -> ,...,i -> and i -> ,i -> ,...,i -> , such that the total capacities of the first n paths can be obtained by .
Proof. For the nodal subtree rooted in node destined to leaf nodes where all paths have been ranked by their revenue in descending order, if the first n paths contain i -> , i -> ,..., i -> , the total capacity of these paths is . It is the same for the nodal subtree rooted at node destined to leaf nodes . if the first n paths contain i -> , i -> ,..., i -> , then the total capacity of these paths is . Since passengers’ demands and are independent, it means and are also independent. As a result, . □
A general single-root-node, multiple-leaf-node network recourse problem can be converted to a general nodal tree structure, and Proposition 3 provides an efficient way to compute the total capacity of the first n paths for a general nodal tree recourse problem. To ensure feasibility, a common technique is adding a virtual uncapacitated path with zero revenue into the nodal tree, representing that the service provider can hold as many vehicles at transit points but generate no revenue. Since this virtual path is uncapacitated, we need to calculate the total capacities of all sorted paths from the first path until reaching the virtual one. Furthermore, in our general single-root-node recourse problem, since the fleet size is a decision variable, the terminate criteria in computing can be set to . The rationale behind this setting is that the vehicles at transit point can only generate zero revenue.
A complete but simple example to demonstrate the whole computation process is presented in the following. Suppose a single-root-node recourse problem with a root node
i and two leaf nodes
j and
k. Passenger demands
and
are discrete random variables that take on two possible values each, which are
and
, respectively. Fares
and
are 4 and 5. Vehicle traversing costs
and
are 7 and 8. Assume the vehicle capacity
. We first convert the passenger demands to vehicle demands, shown in
Table 5 and
Table 6.
Next, we compute the path revenue
,
, and the first
n paths’ total capacities
,
, where
. Results are shown in
Table 7 and
Table 8.
Finally, we add a virtual path to this nodal tree, where the path capacity is
∞ and the path revenue is 0. We sort all paths according to their revenue, and the resulting nodal tree is depicted in
Figure 8.
With the sorted nodal tree, we can calculate the first
n paths’ total capacity
according to Proposition 3. The results are shown in
Table 9.
Based on the total capacity of the first
n paths, we can compute the routing probability
by equation
.
since it means no path in the nodal tree. The results of
are shown in
Table 10, and we terminate these computations when
.
The pseudo-code for obtaining
, which we call the Nodal Tree Recourse with Dependent Arc Capacities (NTRDAC) Algorithm 1, is outlined as follows.
Algorithm 1: NTRDAC algorithm for a nodal tree rooted at node . |
- Step 1:
Set ; ; ; - Step 2:
Convert into by Equation ( 15); - Step 3:
Compute by Proposition 2; - Step 4:
Set ; - Step 5:
Set index of the last path in nodal subtree included by the first n paths of nodal tree , where - Step 6:
Compute by Proposition 3 where ; - Step 7:
Repeat step 4 to step 6 until reaching the uncapacitated path; - Step 8:
Compute using Equation ( 12); - Step 9:
Compute by Equation ( 13) until .
|