Capacity Expansion and Reliability Evaluation on the Networks Flows with Continuous Stochastic Functional Capacity

In many systems such as computer network, fuel distribution, and transportation system, it is necessary to change the capacity of some arcs in order to increase maximum flow value from source s to sink t, while the capacity change incurs minimum cost. In real-time networks, some factors cause loss of arc’s flow. For example, in some flow distribution systems, evaporation, erosion or sediment in pipes waste the flow. Here we define a real capacity, or the so-called functional capacity, which is the operational capacity of an arc. In other words, the functional capacity of an arc equals the possible maximum flow that may pass through the arc. Increasing the functional arcs capacities incurs some cost. There is a certain resource available to cover the costs. First, we construct a mathematical model to minimize the total cost of expanding the functional capacities to the required levels. Then, we consider the loss of flow on each arc as a stochastic variable and compute the system reliability.


Introduction
Given a directed network flow with unique source  and unique sink , one of the common problems is the maximum flow problem where the value of flow from  to  should be maximized.Various algorithms have been presented to solve this problem.The first algorithm developed by Ford and Fulkerson [1] was called Augmenting Path Algorithm.Karzanov [2] introduced the first preflowpush algorithm on layered networks.He obtained an ( 3 ) algorithm.Capacity scaling is another polynomial algorithm developed by Ahuja and Orlin [3].It seems that the best available time bounds algorithms to solve this problem are based on Alon [4] and Ahuja and Orlin [5].
The budgeted capacity expansion problem has been investigated for different systems.One of them is flow expansion on transportation networks with budget constraints.This problem was studied by Elalouf et al. [6].The general budget-restricted max flow problem was first discussed by Eiselt and Frajer [7].Also, another algorithm for optimal expansion problems was provided by Ahuja et al. [8].
Many physical flow systems are regarded as stochastic network flows.In such a system, the system reliability is an important criterion for system performance.Several studies have evaluated network reliability of maximum flow.Yeh evaluated the reliability factor of a network, where arc capacities are stochastic.He defined a simple approach to evaluate reliability of a multistate network [9].Xiao et al. [10] presented a model for reliability computation in power distribution system.Later, the presented approach in [9] was considerably improved by Salehi Fathabadi and Forghani-elahabadi [11].In another paper, Yeh [12] designed a survivable network under cost constraints and computed its reliability.For this case, Salehi Fathabadi and Khodaei [13] presented a different method to find the optimal system parameters and computed its reliability.Lin and Yeh [14] proposed a genetic algorithm to find maximal reliability of networks.Also Lin studied stochastic flow network with two commodities [15] and network reliability with budget constraint [16].In all of the above studies the probability function of the arcs' capacity was assumed to be discrete.However, in many real-life systems, where the flow is liquid, this assumption is not applicable.

Journal of Applied Mathematics
In this paper, we consider network flow systems in which the functional capacities of the arcs are continuous random variables.The investigated problem is to expand the nominal capacities of arcs so that the system would be capable of securing the demands, while the expansion cost is minimal.Then, we evaluate the reliability of the systems as the probability that the network can transfer a desired amount of flow from the source, , to the sink, .The former goal is achieved by running the algorithm CEA, which is explained in Section 3 and the later goal is accomplished in Section 4.
Regarding the previous studies [17,18], our contribution has been compiled based on the following.(i) We define and use the arcs' functional capacities which are quite different from arcs' nominal capacities in real-life systems.(ii) The probability functions of the stochastic functional capacities are continuous.(iii) The capacity expansion cost is minimum.The capacity expansion takes place in a discrete manner until the maximum flow reaches the required level.This paper has been arranged as follows.Section 2 defines notations, primary assumptions, and the related theorems.Also, the mathematical model of the problem is constructed in Section 2. Section 3 explains the capacity expansion algorithm.System reliability is computed in Section 4 and eventually a numerical example will be considered in Section 5.

Notations and Assumptions
We use the following definitions and assumptions throughout this paper.

𝐺(𝑉, 𝐴):
A directed network flow with a unique source  and a unique sink , where  is the set of nodes and  ⊆  ×  is the set of arcs.  : Nominal capacity of (, ) ∈  (the initial built-in capacity of arc(, )).   : Functional capacity of arc(, ) ∈ , (the current operational capacity of arc(, ) ∈ ).  : Amount of capacity expansion on arc(, ) ∈ .  : Maximum capacity expansion for arc(, ) ∈ .  : Expansion cost per unit of capacity on arc(, ) ∈ .  : Loss factor on (, ) ∈ .The fraction of arc's capacity is lost due to some stochastic events.Then    = 1 −   is fraction of arc's capacity that is able to transmit the flow.We call them transmission factor.  : The th simple path from  to .A simple path does not include repeated arcs and/or nodes.Ω  : The th category  = 1, 2, . . ., .Each category includes several subsets of transmission factors.In addition, each category is related to set of simple paths that are capable of sending maximum flow from  to .
The network flow satisfies the following assumption.
(i) Each node is perfectly reliable.This means that the amount of flow passing through a node does not change.
(ii) The loss factors and transmission factors of different arcs are statistically independent random variable.

Problem Statement
Assume  = (, ) is a network flow with node set, ; arc set, ; source node ; and sink node .We assume  includes  nodes and  arcs.Each arc, (, ), has a nominal capacity of   .There are some factors in this network that cause loss of flow on each arc.For example, in a water distribution system, evaporation, erosion, or sediment in pipes waste the flow in some parts.For each arc we define a real capacity or the so-called functional capacity and denote it by equals the real amount of maximum flow that can pass along the arc(, ).According to the current functional capacities, the real maximum flow value from  to  is V.This value is equal to the functional capacity of the current minimum cut, (, ) [19].We are going to expand the nominal capacity,   , such that the real maximum flow value is increased by V 0 and the total expansion cost is minimized.We know that the expansion cost on arc(, ), for each unit of capacity, is   and the maximum capacity expansion is   units.For each arc, say, (, ), there is a loss factor,   , which is a continuous random variable in interval [0, 1] and shows the fraction of nominal capacity that is wasted.Thus transmission factor (   = 1−  , for all (, ) ∈ ) is computable for any arc.Note that this factor is a continuous random number in interval [0, 1] as well.Therefore, the functional capacity of arc(, ) is computed as Constraints (2) show the flows are balanced at each node other than the source and sink; for the source and sink nodes the amount of out-flow from  equals the amount of inflow to  and equals V + V 0 .Constraint (3) shows that the maximum flow, before changing the arcs' capacities, is equal to V. The constraints (4) guaranty the arc flows do not exceed the functional arcs' capacities.Finally, continuity of    , and therefore continuity of   are the impact of constraints (5).

The Capacity Expansion Algorithm (CEA).
It should be noted that, according to the current functional capacities, the value of the maximum flow is V and is equal to the capacity of the minimum  −  cut, (, ).Using the functional capacity, we assume that the current maximum flow is denoted by  = {  } (,)∈ and generates the residual network ().Suppose   is a path from  to  in .The current amount of flow passing through this path is equal to   = min{   | (, ) ∈   }.For some arcs, (, ) ∈   say, it may be   <    .In this case, (, ) has some residual (free) capacity that may be used, without any cost, to increase the flow on (, ).If   =    , for an arc(, ) ∈   , there is no free capacity left on (, ) and the capacity of this arc must be increased incurring some cost.According to this point, we define capacity expanding cost for each arc and find the cheapest path from the source node to the sink node.For this purpose the residual network and an auxiliary network called expansion-cost-network are constructed.We denote the later one by (cos ) and it is constructed as follows.
(cos ) include all nodes of ().For every arc(, ) ∈ () two directed arcs in opposite directions between  and  are drawn in (cos ).Note that, if there already are two arcs between  and  with opposite directions, no more arcs are drawn between these nodes.The arc(, ) shows the possibility of expanding capacity with cost    on (, ) ∈ (cos ).The artificial arc(, ) represents the possibility of reducing the expanded capacity on (, ) ∈ (cos ).It is important to note that, when there is a positive amount of flow going from node  to node  through the arc(, ), we may decrease it by assuming an artificial arc from  to  with some positive flow   and cost    .Each arc in (cos ) is labeled by    , which is the expansion or narrowing cost per unit of capacity.If the flow on arc(, ) is smaller than the functional capacity, namely,   <    , then this arc steel has room to increase the flow.Hence there is no need to increase the current capacity.The labels for this case are set as    =    = 0. Otherwise, the capacity of (, ) should be expanded.At this stage of the algorithm, if the capacity of this arc has not been expanded so far, namely,   = 0, then increasing the capacity is possible.Hence we set    =   and    = 0.If 0 <   <   , then, for a better solution, we may increase the capacity or reduce the increased capacity.Therefore the labels are set as    =   ,    = −  .Eventually, if the expanded capacity value on arc(, ) is equal to   the capacity expansion is not possible and we can only reduce it.So, the costs are set as    = +∞ and    = −  [6].After setting the labels in (cos ), the cheapest simple path from the source to the sink is found; the capacities are extended on this path as much as possible and the current iteration is ended with computing the maximum flow.This process is repeated until the value of the maximum flow becomes equal to V + V 0 .

Pseudocode of CEA.
For more details see Pseudocode 1.

Algorithm's Complexity.
We now consider the complexity of CEA.We might compute the computational time of this algorithm as allocated to the following four basic operations.
(1) Construction of () and (cos ): concerning residual network, the algorithm allocates costs to the arcs of (cos ).If the network contains  arcs, costs of 2 arcs would be calculated and assigned to the arcs.Thus the algorithm performs this operation in () time.
(2) Finding the shortest path: the algorithm finds the cheapest (shortest) path from the source to the sink according to the cost vector   .FIFO implementation of the modified label correcting algorithm is the best known algorithm for this purpose.The runtime of this algorithm is (), [19].
(3) Capacity expansions: for each arc belonging to the cheapest path, it would be examined whether capacity expansions are required or not.This operation would be implemented in () time.
(4) Computing the maximum flow: at this stage, the maximum flow algorithm is run.The order of the best known algorithm (highest label preflow push) is ( 2 √) [19].
The above steps are repeated until the maximum flow for the first time becomes equal to or greater than V + V 0 .Suppose (V 0 ) is the maximum number overall repetition needed to reach this threshold.Finally we have the following result.

System Reliability
In order to increase the maximum flow value to the required value, the above algorithm computes the optimal capacity expansion while assuming deterministic transmission factors.But, in case of randomness the algorithm may be used only for observation values of these factors.System reliability is defined as the probability that the maximum flow value satisfies a certain condition, such as appraising some demands [3,13].Since the loss factors, transmission factors, and, therefore, the functional capacities are stochastic, the final value of maximum flow is also stochastic.In order to establish an approach for evaluating the system reliability of such systems, we assume the loss factors are continuous uniform random variables and generate  uniformly distributed pseudo-random numbers in the interval [0, 1].The method to generate these numbers is multiplication congruent [20].Then we calculate the transmission factors for any arc using loss factors.Note these factors are continuous uniform random numbers in the interval [0, 1] as well.We denote them by   1 ,   2 , . . .,    .We consider several subsets of these numbers and denote them by   ,  = 1, 2, . . ., .Each subset includes  members.At the beginning of each run of CEA, we take one of these subsets as the arcs' transmission factors and run the algorithm.At the end of CEA a set of paths that transfer at least V + V 0 unit of flow from  to  is generated.It is clear that the generated paths and their number depend on the given subset of transmission factors.Furthermore, there may be subsets of transmission factors that generate similar set of paths.We consider the subsets of transmission factors that generate the same set of paths as a category and assume that the number of categories is  ( ≤ ).We denote the categories by Ω  ,  = 1, 2, . . ., .Also we assume that the number of paths associated to the th category is   .Now we consider V  as the final value of maximum flow in each category and compute the density function of V  .Since The total flow value V  is equal to the sum of all flow values on the generated paths.That is, V  = ∑   =1    .The distribution functions of    may be computed according to the following theorem.Then we determine density function of V  .Theorem 2 (see [21]).If  1 ,  2 , . . .,   are independent random variables with distribution function    () and [21].Now, we apply the following procedure to compute the network reliability.
Now the system's reliability is computed using the following equation:
Note that   ,  = 1, 2, . . ., 5, has been arranged as We use   ,  = 1, 2, . . ., 5, as transmission factors and run CEA to find the related paths from node  to node .For example, we consider  1 and run algorithm CEA.For more explanation, we describe one stage of implementing this algorithm using  1 in Figure 2.
Note that we show the shortest (cheapest) path in Figure 2(b) by solid line and other arcs by dotted line.The result of running CEA using  1 is shown in Figure 3.
Also note that the dotted lines in networks Figures 3(a) and 3(b) from note 1 to node 2 in the last stage indicate that no increase has taken place on this arc and that no flow passes through this arc.We see that  3 generates the same set of paths with  1 ; that is, (, 1, ) and (, 2, ).Therefore we put  1 and  3 in category 1, Ω 1 .Also,  2 and  4 generate the same paths: (, 1, ), (, 1, 2, ), and (, 2, ).Hence we put  2 and  4 in category 2, Ω 2 .The result of running CAE using  2 is shown in Figure 4.
We discard the factor  5 , because this subset of the transmission factors reduces the functional capacity of the arcs originating from source to the extent that these arcs are unable to carry at least V + V 0 unit of flow.For more explanation, the result of running CEA using  5 is shown in Figure 5. Now, we apply the following steps to compute the network reliability.
Step 5. Now we can calculate the following conditional probability: Also we implement the above steps for  2 from Ω 2 and get the following probability: Finally, we can calculate the system reliability: Although the reliability network in this example was equal to 0.33, yet this is an effective algorithm which presents a new method for calculating the reliability in networks with continuous components.Although previous algorithms [11][12][13][14] also have presented methods for calculating the reliability in the network, but in all of these methods, components, including arcs' capacity, have been assumed to be discrete, while this assumption is not true for all networks.By presenting this algorithm, we have created an innovation in regard with reliability of networks with continuous capacities.Finally, we would give another example and calculate the reliability of a network in order to elucidate efficiency of these algorithms.

Another Example.
In order to elucidate efficiency of CEA, we consider the network flow shown in Figure 6.Also we assume V = 7.25 and V 0 = 5.05.We generate the following pseudo-random numbers and transmission factors:      ).Also, we implement CEA using   .In order to classify the result, we place the result of implementing CEA and reliability algorithm in Table 1.
We discard the subset (0.2, 0.9, 0.7, 0.3, 0.66, 0.7, 0.68, 0.4) or (0.85, 0.9, 0.2, 0.7, 0.8, 0.9, 0.4, 0.3) because these subsets of transmission factors reduce the functional capacity of the arcs which originate from the source or reach the sink, to the extent that these arcs are unable to carry at least V + V 0 unit of flow.

Conclusion
In this study, first, we proposed an algorithm to change the arcs capacities so that the maximum flow value exceeds a predefined value and the total cost of change is minimum.
In the algorithm (CEA), arc capacities were expanded on the cheapest paths from the source node to the sink node.Then, system reliability was evaluated when the arcs' functional capacities were stochastic with continuous probability function.There are several different methods in the literature for evaluating of network reliability, when the random components are mostly discrete.In contrast, we studied that system which has continuous random components.For each arc, a functional capacity was defined that had continuous uniform distribution on [0,   ] and then, the network reliability is calculated.

Figure 3 :
Figure 3: The result of running CEA using  1 .

Figure 4 :
Figure 4: The result of running CEA using  2 .

Figure 5 :
Figure 5: The result of running CEA using  5 .