# Bottleneck analysis for network flow model

## Bottleneck analysis for network flow model

Advances in Engineering Software 34 (2003) 641–651 www.elsevier.com/locate/advengsoft Bottleneck analysis for network flow model Yong-Heng Jiang*, Li...

Advances in Engineering Software 34 (2003) 641–651 www.elsevier.com/locate/advengsoft

Bottleneck analysis for network flow model Yong-Heng Jiang*, Ling Wang, Yi-Hui Jin Department of Automation, Tsinghua University, Bejing 100084, China Received 21 March 2002; revised 26 February 2003; accepted 11 June 2003

Abstract It is very important to develop effective strategies for process industry to implement feasible scheduling while the process bottlenecks work optimally. However, the bottlenecks adopted by the existed scheduling strategies are often partial bottlenecks, local bottlenecks, or even deceptive bottlenecks, which are basically not key constraints to achieve optimal objective, so that the corresponding scheduling strategies are not perfect, and the further improvement and evaluation can hardly be proposed. So, it is a valuable issue to analyze the bottlenecks both in academic and engineering fields. This paper aims at the minimum cost problem of generalized network flow model to define and analyse three classes of bottlenecks based on generalized network simplex algorithm, and the corresponding search algorithms are proposed in this paper. The obtained bottlenecks cannot only be used to determine whether the object cost will be increased or decreased, but also be used to propose the corresponding strategy to evaluate the improvement on the network flow model for scheduling. Finally, a typical example is discussed. q 2003 Published by Elsevier Ltd. Keywords: Network flow model; Minimum cost; Bottleneck analysis

1. Introduction Consider a network flow problem as Fig. 1, the circles are called nodes and the lines arcs. A network flow problem is a special class of linear programming with one flow balance constraint for each node and two capacity constraints for each arc as described in Section 2. For the linear programming, sensitivity analysis indicates the objective variation by an additional unit of a certain resource. The resources mean the constant terms of all the constraints. Similarly, bottleneck analysis reflects the relation between the objective variation and the resource variation. But there are some important differences between them as follows. Firstly, bottlenecks are the composites of one or more than one arcs, while sensitivity analysis can only indicate the objective variation by one certain resource. Secondly, only the capacity constraints are considered under bottleneck analysis, while all the constraints are considered under sensitivity analysis. The bottleneck analysis can provide all the possible composites of arcs which capacity constraints relaxation (or tightening) leads to the objective improvement (or worsening). As in * Corresponding author. E-mail addresses: [email protected] (Y.-H. Jiang), [email protected] (L. Wang). 0965-9978/\$ - see front matter q 2003 Published by Elsevier Ltd. doi:10.1016/S0965-9978(03)00093-0

Fig. 1, the composite of arc (1,2) and (2,5) may be a bottleneck, it means that increasing the capacity of the two arcs simultaneously leads to the maximal flow increasing. The bottlenecks have intuitive physical meanings. They could support system analysis, further more help to schedule of production system. Feasible, flexible, dynamic and optimal scheduling is the urgent demand of modern process industry, and it is a key factor to affect the profit of the process industry but its capability greatly depends on the analysis of the bottlenecks. In process industry, the production process is very complex because of the existence of both chemical and physical reactions, and many processes are correlative and coupled deeply. So, it is very important to develop effective strategies for process industry to implement feasible scheduling while the process bottlenecks work optimally. In many existed scheduling schemes, the bottlenecks are determined by the characters of the resources. In Ref. [1], it is regarded that the performance of the industry system depends on the rational utilization of the rare resources, so the rare resources are the bottlenecks. Thus, the bottleneck device is determined one by one to guarantee its local optimality. For the combinatorial problem in Refs. [2,3], the bottleneck is considered as the factor of the maximal cost. Besides, chance constrained bottleneck spanning tree

642

Y.-H. Jiang et al. / Advances in Engineering Software 34 (2003) 641–651

bottlenecks. Then, bottlenecks of some sub-problems of the MCPGN, such as minimum circulation problem and generalized circulation problem, are analyzed in Section 4, and those of circulation problem are discussed in Section 5. In Section 6, bottleneck of MCPGN is discussed and the corresponding searching algorithm is proposed. Finally, a typical case is studied in Section 7 and the paper is ended with conclusions in Section 8. 2. The description of MCPGN Fig. 1. The example.

problem with fuzzy random edge costs [4], minimizing the maximal cost assignment problem [5], information and time-of-usage decisions in the bottleneck model with stochastic capacity and demand [6] have been studied. However, in these papers the bottlenecks are assumed as known or determined by the key devices, which are not surely the key constraints but partial bottlenecks, local bottlenecks, or even deceptive bottlenecks. Thus, the corresponding scheduling strategies are not perfect, and the further improvement and evaluation can hardly be proposed. So, it is a valuable and important issue to analyze the bottlenecks both in academic and engineering fields. The network flow model can reflect the characters of the devices and their relationships and quite fits for the process industry. The minimum cost problem for generalized network (MCPGN) can reflect the character of the cost center and can be easily extended to the maximum profit problem. Bottleneck based on MCPGN described at preamble is brand-new, and they would help to implement effective scheduling. On basis of circulation problem, generalized circulation problem and minimum circulation problem, this paper aims at MCPGN to define and analyse three classes of bottlenecks based on network simplex algorithm. Moreover, the bottleneck structures and the corresponding search algorithms are proposed in this paper. The obtained bottlenecks cannot only be used to determine whether the object cost will be increased or decreased, but also be used to propose the corresponding strategy to evaluate the improvement on the network flow model for scheduling. In detail, the object total cost will be increased if the capacity constraints of any first class of bottlenecks are tightened up. And the object total cost will be reduced if the capacity constraints about some second or third class of bottlenecks are relaxed (There are two or more arcs in any second class of bottlenecks, but there is only one arc in any third class of bottlenecks). Thus, the true bottlenecks are directly relevant to the object total cost, and the whole network can be improved by improving these bottlenecks. Finally, a typical example is discussed. The remaining contents are organized as follows. The MCPGN is stated mathematically in Section 2. In Section 3, the bottleneck analysis of the maximum flow problem is discussed which provides basis to analyze all the other

The network flow problem based on graph theory is used to describe the processing time, cost, capacity of the devices and their relationships. Consider a graph G ¼ ðV; EÞ; where V and E represent the node set and arc set, respectively. Let capacity uij be a non-negative function on E and let fij be a flow distribution function on E: A network flow problem is to obtain P fij with some optimal object. If the object is to minimize ði;jÞ[E cij fij ; where cij is unit costPand fij subjects þ to some constraints such as u2 j fij ¼ di (di is ij # fij # uij ; called external flow), then the problem is called minimum cost problem. Function gij is called gain function if the leaving flow of the arc ði; jÞ of the network is gij times of the entering flow of the arc. If ;e; ge ¼ 1 then the network flow problem is called simple network, otherwise it is called generalized network. If ði; jÞ [ E , ðj; iÞ [ E and gij ¼ 1=gji ; then the network is called symmetrical network. The MCPGN is described as follows and its minimum object cost is denoted as cmin : X cij fij ð1Þ Min ði;jÞ[E

s:t:

X

fij 2

j:ði;jÞ[E þ u2 ij # fij # uij ;

X

gji fji ¼ di ;

for all i [ V

ð2Þ

j:ðj;iÞ[E

for all ði; jÞ [ E

ð3Þ

The generalized network simplex algorithm [7] is a powerful algorithm for solving MCPGN. The central concept underlying the generalized simplex algorithm is the notion of the augmented forest solutions, which are solutions that we obtain by fixing the flow of every arc not in an augmented forest (see Definitions 2.1 and 2.2) at the lower or upper bound of the arc’s flow capacity. We can then solve uniquely for the flow on all the arcs in the augmented forest. We will find an optimal solution by ‘moving’ from one such solution to another, at each step introducing one new non-forest arc into the augmented forest in place of one forest arc. Next before applying the generalized network simplex algorithm to analyse the bottlenecks of the MCPGN, we provide some definitions and conclusions as following. Definition 2.1 [7]. Given a sub-graph Ga ¼ ðV a ; T a Þ of graph G ¼ ðV; EÞ; where V a # V and T a # E: If T a ¼ TV a < ða; bÞ; where TV a is the spanning tree of node set V a ; a; b [ V a ; then T a is called the augmented tree and ða; bÞ is

Y.-H. Jiang et al. / Advances in Engineering Software 34 (2003) 641–651

called additional arc. Obviously an augmented tree is also a generalized network which only has one circle called additional circle. And we call the augmented tree good if the gain of the additional circle is not equal to 1. Definition 2.2 [7]. Call a sub-graph GSf ¼ ðV; FÞ of graph G ¼ ðV; EÞ S augmented forest, if F ¼ i Tia ; Tia > Tja ¼ F for i – j; i Via ¼ V: If the augmented trees in the augmented forest are all good, then the augmented forest is called good. Moreover, the arcs in the augmented forest are called forest arcs and all the other arcs of the graph are called non-forest arcs. Definition 2.3 [7]. Define a augmented forest structure ðF; L; UÞ; where ðV; FÞ is a good augmented forest, L ¼ {ði; jÞlfij ¼ þ u2 ij ; ði; jÞ [ E\F}; U ¼ {ði; jÞlfij ¼ uij ; ði; jÞ [ E\F}: Theorem 2.1 [7]. Given feasible augmented forest structure ðF; L; UÞ; let pðiÞ be node potential, then the reduced cost is cpij ¼ cij 2 pðiÞ þ gij pðjÞ: If there exists a potential p satisfied (a) cpij ¼ 0 for all ði; jÞ [ F; (b) cpij \$ 0 for all ði; jÞ [ L and (c) cpij # 0 for all ði; jÞ [ U; then the network has an optimal flow distribution f p : Wherein the node potential pðiÞ is the function of i [7], pðiÞ is the dual variable mathematically. The above theorem is the basis of the generalized network simplex algorithm and bottleneck analysis. Next, we define a key concept of bottleneck analysis, i.e. bottleneck structure, as follows to provide a basis of constructing the negative cost graphs. Definition 2.4. Given an optimal MCPGN with optimal augmented forest structure ðF; L; UÞ and corresponding potential vector p; we call ðF 0 ; L0 ; U 0 Þ bottleneck structure, where F 0 ¼ {ði; jÞlcpij ¼ 0; ði; jÞ [ E}; L0 ¼ L\F 0 ; U 0 ¼ U\F 0 : Obviously, F 0 consists of one or more gain networks and all the reduced costs are equal to 0. So, it also can be considered as network decomposition to define bottleneck structure. In the following sections, the bottleneck analysis of the maximum flow problem, the generalized circulation problem, the minimum circulation problem and the circulation problem will be discussed firstly, then bottleneck analysis of the MCPGN is accomplished based on network decomposition.

3. Bottleneck analysis for the maximum flow problem Because the maximum flow problem is the basis of the generalized circulation problem, the minimum circulation problem and the circulation problem, we firstly discuss the maximum flow problem. Consider a network flow model G ¼ ðV; E; s; t; ue Þ with all the arc gains equal to 1, where V is node set and E is arc

643

set. Let s [ V be source node, t [ V be sink node, uij be arc capacity, fij be the flow from node i to node j; Exf ðiÞ ¼ P 2 ði;jÞ[E fij be the excess at node i: Call a node i has excess if Exf ðiÞ is positive, call the node conservation if Exf ðiÞ equals to zero, otherwise call it as deficit. The maximum flow problem Pmf is described as follows and let its maximum object flow be fmax : Max Exf ðtÞ s:t: Exf ðiÞ ¼ 0;

ð4Þ ;i [ E\{s; t}

þ u2 ij # fij # uij

ð5Þ ð6Þ

Definition 3.1. Given arc set Rk1 # E of an optimal maximum flow problem Pmf ; Rk1 is called the first class of bottleneck, R1 ¼ {Rk1 } is called the first bottleneck set, and let lRk1 l be the number of the arcs in Rk1 ; if (1) lRk1 l ¼ 1; þ (2) for ði; jÞ [ Rk1 ; if fij ¼ uþ ij ; then uij #) fmax #; if fij ¼ 2 2 uij ; then uij ") fmax # : Wherein ‘ # ’ means that the variable before it decreasing, and ‘ " ’ means that the variable before it increasing. The same are that in the following text. Definition 3.2. Given arc set Rk2 # E of an optimal maximum flow problem Pmf ; Rk2 is called the second class of bottleneck and R2 ¼ {Rk2 } is called the second class of bottleneck set, if (1) Rk2 is a cut set of G; (2) ;r [ Rk2 ; r [ Rl1 [ R1 :

Definition 3.3. Given arc set Rk3 # E of an optimal maximum flow problem Pmf ; Rk3 is called the third class of bottleneck and R3 ¼ {Rk3 } is called the third class of bottleneck set if (1) lRk3 l \$ 2; 2 (2) For ;ði; jÞ [ Rk3 ; fij ¼ uþ ij or fij ¼ uij ; and denote the þ corresponding ði; jÞ as ði; jÞ and ði; jÞ2 ; respectively; 2 2 For all ði; jÞ [ Rk3 ; uþ ijþ " ^uij #) fmax " : Definition 3.4. Given arc set Rk4 # E of an optimal maximum flow problem Pmf ; Rk4 is called the fourth class of bottleneck and R4 ¼ {Rk4 } is called the fourth class of bottleneck set, if (1) lRk4 l ¼ 1; þ (2) For ði; jÞ [ Rk4 ; if fij ¼ uþ ij ; then uij ") fmax "; if fij ¼ 2 2 uij ; then uij #) fmax " :

644

Y.-H. Jiang et al. / Advances in Engineering Software 34 (2003) 641–651

From the viewpoint of physical meaning, the first class of bottlenecks are the arcs that reach the capacity bound when the flow is maximum, and the maximum object flow will be decreased if any of the bottlenecks’ capacity constraint are tighten up. Bottlenecks of the second class of are cut sets whose capacities equal to the maximum flow of the problem. Bottlenecks of the third and the fourth classes are the key arcs to improve the model, and the maximum flow will be increased if the corresponding constraints are relaxed. Definition 3.5 [8]. Define augmented matrices Wð0Þ ; Wð1Þ ; …; WðnÞ of a maximum problem Pmf as follows, where WðnÞ is the maximal augmented matrix of {fij }: And we call Wp ¼ {wpij } ¼ WðnÞ as zero augmented matrix if wðnÞ st ¼ 0: 3 2 ð0Þ · · · wð0Þ w11 · · · wð0Þ 1j 1n 7 6 7 6 6 .. . . . .. .. 7 .. 7 6 . [ 7 6 7 6 6 ð0Þ ð0Þ ð0Þ ð0Þ 7 ð7Þ W ¼ 6 wi1 · · · wij · · · win 7 7 6 7 6 6 . .. 7 .. .. 6 .. . 7 . [ . 7 6 5 4 wð0Þ · · · wð0Þ · · · wð0Þ nn nj n1 8 þ þ uij 2 fij ; u2 > ij # fij # uij ; ;ði; jÞ [ A > > > > 2 þ < fji 2 b2 ji ; uji # fji # uji ; ;ðj; iÞ [ A ð0Þ wij ¼ ð8Þ > > 0; i – j; ði; jÞ; ðj; iÞ  A > > > : 1; i¼j ðk21Þ ; wðk21Þ Þ; wðk21Þ }; wðkÞ ij ¼ max{minðwik ij kj

ð9Þ

k ¼ 1; …; n The augmented matrices describe the feasible augmented flow between nodes, while the zero augmented matrix is under the condition of maximal flow. So the zero augmented matrix should be a powerful tool to search bottlenecks of maximum flow problem. Definition 3.6. Given a network flow graph G ¼ ðV; EÞ with zero augmented matrix Wp ; call G0 ¼ ðV 0 ; E0 Þ as its brief network, if V 0 ¼ {vðiÞlvðiÞ ¼ {jlwpij . 0; wpji . 0; j [ 0 V}; i [ V} and E ¼ {ði; jÞli  vðjÞ; j  vðiÞ; ði; jÞ [ E}:

taking notice of Definition 3.5, it is obvious that wpij ¼ 0 or wpji ¼ 0: It is similar for the contrary case. A Property Given a maximum flow problem, Rk [ R3 , S 3.2. k l R # l R2 and ;l; lRk > Rl2 l ¼ 1; lRk l \$ 2: Proof. According to Definitions 3.2 andS3.3, Rk3 is a path from s to t in the brief network, so Rk3 # l Rl2 ; lRk3 l \$ 2: If for some l; lRk > Rl2 l ¼ 0; according to Definition 3.2, Rk can be divided into two disconnected parts by Rl2 with s and t in each different part. So, Rk  R3 : If for some l; lRk > Rl2 l . 1; let us review an example described as Fig. 2 where {(1,2), (1,3)}, {(1,2), (3,4)}, {(1,3), (2,4)}, {(2,4), (3,4)} are the second class of bottlenecks. If let Rk ¼ {ð1; 2Þ; ð3; 4Þ}; then ;l; lRk > Rl2 l . 0: It is obviously that Rk  R3 : Thus, it can be concluded that Rk [ R3 ) ;l; lRk > Rl2 l ¼ 1: Contrarily, if lRk > Rl2 l ¼ 1; then the arcs in Rk can but be ‘serial’ (as {(1,2), (2,4)} in Fig. 2), otherwise there will exist some l so that lRk > Rl2 l . 1: So Rk is a path from s to t in the brief network, i.e. Rk [ R3 : A Property 3.3. Given a maximum flow problem, ;ði; jÞ [ E; and ði; jÞ [ Rk4 , wpij ¼ 0 and wpsi wpjt . 0 or wpji ¼ 0 and wpsj wpit . 0: Proof. According to Definition 3.5, if wpij ¼ 0 and wpsi wpjt . 0 then flow can be augmented from s to i and from j to t; and þ fij ¼ uþ ij ; then uij " will make the flow augmented from i to j þ feasible, so, uij " !fmax " : It can be concluded that ði; jÞ [ Rk4 : Similarly, wpji ¼ 0 and wpsj wpit . 0 ) ði; jÞ [ Rk4 : It is similar for the contrary case. A Thus, in light of the above definitions and properties, the construction algorithm for the maximum flow bottleneck can be presented as follows: Step 1. Given a maximum problem Pmf with the corresponding network graph G ¼ ðV; EÞ; construct Wð0Þ firstly, then compute the zero augmented matrix Wp ¼ {wpij } ¼ WðnÞ ; R1 ¼ R2 ¼ R3 ¼ R4 ¼ Rh ¼ F; Step 2. Construct the brief network G0 ¼ ðV 0 ; E0 Þ; Step 3. ;ði; jÞ [ A; if wpij ¼ 0 or wpji ¼ 0; then R1 ¼ R1 < {ði; jÞ};

Only the arcs which corresponding wpij equals to 0 remain in the brief network. And the arcs are the bottleneck arcs in fact. Property 3.1. Given a maximum flow problem, ;ði; jÞ [ E; or ði; jÞ [ Rk1 , wpij ¼ 0 or wpji ¼ 0: Proof. According to Definition 3.1, if ði; jÞ [ Rk1 then there is no feasible augmented path from i to j or from j to i; and

Fig. 2. An example.

Y.-H. Jiang et al. / Advances in Engineering Software 34 (2003) 641–651

Step 4. Obtain all the cut sets Cl ðl ¼; 1; …; L2 Þ of the brief network, R2 ¼ {C l }; Step 5. CðlÞ ¼ Cl ; l ¼ 1; …; L2 ; Step 6. l ¼ 1; z ¼ 1; sð1Þ ¼ 1; Step 7. Let ei [ CðlÞ; Rh ¼ Rh < {ei }; CðlÞ ¼ CðlÞ={ei }; l ¼ min{k} s:t: Rh > CðkÞ ¼ 0; Step 8. If l exists, then z þ þ; sðzÞ ¼ l; go to Step 7; Otherwise, if lRh l \$ 2; R3 ¼ R3 < Rh ; go to Step 9; If lRh l ¼ 1; R4 ¼ R4 < Rh ; go to Step 9; Step 9. zm ¼ maxCðsðzÞÞ–F {z}; Step 10. If zm \$ 1; Rh ¼ Rh =CðkÞ ðk ¼ sðzÞ; …; sðzm ÞÞ; z ¼ zm ; CðkÞ ¼ C k ðk ¼ sðzÞ; …; sðzm þ 1ÞÞ; go to Step 7; Otherwise, end the algorithm. With the viewpoint of computational complexity, the complexity of constructing the zero augmented matrix in Step 1 is Oðm3 Þ; where m represents the number of the arcs in graph G: The complexity of constructing the brief network is Oðn £ dm Þ; where dm represents the maximal degree of the nodes or the maximal number of the adjacent arcs of the nodes. Thus, the complexity to search the first class of bottlenecks is OðmÞ: While the complexity to search the second and the third and the fourth class of bottlenecks depends on the size of the brief network. If the primal network is capacity balanced, i.e. when the network is optimized, the flows on all the arcs reach their bounds, the brief network is the same as the primal one. If the primal network is less capacity balanced, the brief network is smaller. Let the brief network has n0 nodes and m0 arcs, the largest degree of it is d 0m : The complexity to search the second, the third and the fourth class of bottlenecks is no higher than Oðn £ d 0m Þ:

4. Bottleneck analysis for the generalized circulation problem and the minimum circulation problem The above results on bottlenecks of the maximum flow problem can provide basis for bottleneck analysis of the generalized circulation problem and the minimum circulation problem discussed in this section. Consider a tuple ðG ¼ ðV; EÞ; uþ ; g; sÞ; where uþ is the capacity function on the arcs (u2 is omitted for the symmetry case), g is the gain function, s is the source node. The generalized circulation problem whose maximal value denoted by fmxs can be described as follows. Max Exf ðsÞ s:t: Exf ðiÞ ¼ 0; þ u2 ij # fij # uij

ð10Þ i–s

ð11Þ ð12Þ

The minimum circulation problem whose minimal value denoted by fmns can be described as follows: Min Exf ðsÞ

ð13Þ

s:t: Exf ðiÞ ¼ 0; þ u2 ij # fij # uij

i–s

645

ð14Þ ð15Þ

Definition 4.1. Given arc set Rk1 # E of a generalized circulation problem, Rk1 is called the first class of bottleneck and R1 ¼ {Rk1 } is called the first class of bottleneck set if (1) lRk1 l ¼ 1; þ (2) For ði; jÞ [ Rk1 ; If fij ¼ uþ ij ; then uij #) fmxs #; If fij ¼ 2 2 uij ; then uij ") fmxs # : Definition 4.2. Given arc set Rk2 # E of a generalized circulation problem, Rk2 is called the second class of bottleneck and R2 ¼ {Rk2 } is called the second class of bottleneck set if (1) lRk2 l \$ 2; 2 (2) ;ði; jÞ [ Rk2 ; fij ¼ uþ ij or fij ¼ uij ; the corresponding þ arcs ði; jÞ are denoted as ði; jÞ and ði; jÞ2 ; respectively. 2 2 For all ði; jÞ [ Rk2 ; uþ ijþ " ^uij #) fmxs " : Definition 4.3. Given arc set Rk3 # E of a generalized circulation problem, Rk3 is called the third class of bottleneck and R3 ¼ {Rk3 } is called the third class of bottleneck set if (1) lRk3 l ¼ 1; þ (2) For ði; jÞ [ Rk3 ; If fij ¼ uþ ij ; then uij ") fmxs "; If fij ¼ 2 2 uij ; then uij #) fmxs " : Since the simple gain network is a class of sub-network of the generalized circulation problem and the minimum circulation problem, we will discuss the simple gain network first. Definition 4.4. Given ðG ¼ ðV; EÞ; uþ ; g; s; tÞ; where s and t are the source node and sink node of network G ¼ ðV; EÞ; respectively, g is the gain function, if the gain of every circle in G ¼ ðV; EÞ equals to 1, i.e. for any circle Cir Ql k ¼ ðv1 ; v2 Þðv2 ; v3 Þ· · ·ðvl ; vlþ1 Þðvlþ1 ; v1 Þ;þ gk ¼ gðvlþ1 ; v1 Þ i¼1 gðvi ; viþ1 Þ ¼ 1; then ðG ¼ ðV; EÞ; u ; g; s; tÞ is called simple gain network. Definition 4.5. Given a simple gain network ðG ¼ ðV; EÞ; uþ ; g; s; tÞ; define a function p called the mark of the network as p : V ! Rþ : ;ði; jÞ [ E; pðsÞ ¼ 1; pðiÞ ¼ pðjÞ £ gði; jÞ: Definition 4.6. Given a simple gain network ðG ¼ ðV; EÞ; uþ ; g; s; tÞ with its mark p; define function ur : r r uþ ! R; urij ¼ uþ ij £ pðiÞ and function f : f ! R; f ði; jÞ ¼ r f ði; jÞ £ pðiÞ; then ðG ¼ ðV; EÞ; u ; s; tÞ is called the equivalent simple network of ðG ¼ ðV; EÞ; uþ ; g; s; tÞ: Theorem 4.1. Let f ; f r are the flow functions of ðG ¼ ðV; EÞ; uþ ; g; s; tÞ and ðG ¼ ðV; EÞ; ur ; s; tÞ respectively,

646

Y.-H. Jiang et al. / Advances in Engineering Software 34 (2003) 641–651

r r þ ;ði; jÞ [ E; fijr , urij , fij , P uþ ij ; fij ¼ uij , fij ¼ uij ; ;i [ r V; P i – s; t; Exf r ðiÞ ¼ 2 ði;jÞ[E f ði; jÞ ¼ 0 , Exf ðiÞ ¼ 2 ði;jÞ[E f ði; jÞ ¼ 0

Proof. It can be proved directly according to Definitions 4.1 and 4.2. A Theorem 4.1 indicates that, the states of node flow conservation and capacity constraints are equivalent in both the simple gain network and the equivalent simple network. Because four classes of bottlenecks are defined for the simple gain network as the maximum flow problem, according to Theorem 4.1, it can be easily concluded that each of the bottlenecks of the simple gain network is corresponding to one of that of the equivalent simple network each other. So the bottlenecks of the simple gain network can be obtained by analyzing the equivalent simple network. According to the concept of Generalized Augmenting Path (GAP) and the optimality theorem [1], if there is any GAP in the residual network then the generalized circulation can be optimized farther. So the optimization process can be considered as the flow augmented process along the GAPs. If the network is optimal, then the flows of some arcs of the GAPs reach the bound and the corresponding arcs are the bottleneck arcs. So, the bottlenecks can be obtained by searching and analyzing the GAPs. Next, we define bottleneck structure to search GAPs, with which the redundant GAPs can be deleted and the searching process can be reduced. Definition 4.7. Given an optimal generalized circulation problem ðG ¼ ðV; EÞ; uþ ; g; sÞ; call spanning tree Tsi with root node s as bottleneck tree when the arc with the flow not reaching the bound is checked preferentially during spanning process of Tsi: Define the mark of Ts as a function p : V ! Rþ; pðsÞ ¼ 1; ;ði; jÞ [ EðTsÞ; pðiÞ £ gði; jÞ ¼ pðjÞ: Definition 4.8. Given an optimal generalized circulation problem ðG ¼ ðV; EÞ; uþ ; g; sÞ with bottleneck tree Tsk ; mark function p : V ! Rþ ; let gl ði; jÞ ¼ gði; jÞ £ pðiÞ=pðjÞ ;ði; jÞ [ E; then call Strk ¼ ðTk ; Tk Þ as the corresponding bottleneck structure, where Tk ¼ {ði; jÞlði; jÞ [ E; gl ði; jÞ ¼ 1}; Tk ¼ E\Tk : Obviously, ððV; Tk Þ; g; i; jÞði; j; [ VÞ is a simple gain network. Such bottleneck structure is the basis to construct bottleneck [9]. Definition 4.9. Given an optimal generalized circulation problem ðG ¼ ðV; EÞ; uþ ; g; sÞ with bottleneck structure Strk ¼ ðTk ; Tk Þ; let Rlk3;4 ði; jÞ be the third and fourth classes of bottlenecks of the simple gain network ððV; Tk Þ; g; i; jÞ: For ði; jÞ [ Tk ; if there is a path passing s from i to j in Tk and gl ði; jÞ , 1; then Rk ði; jÞ ¼

8 < {Rlk3;4 ði; jÞ};

f ðj; iÞ , uþ ji

: {Rl

f ðj; iÞ ¼ uþ ji ;

k3;4 ði; jÞ

< ðj; iÞ};

otherwise, there is a path passing v – s from i to j and there is a path from v to s in Tk satisfied gl ði; jÞ , 1; then 8 < {Rlk3;4 ði; jÞ < Rm f ðj; iÞ , uþ k3;4 ðv; sÞ}; ji Rk ði; jÞ ¼ : {Rl ði; jÞ < Rm ðv; sÞ < ðj; iÞ}; f ðj; iÞ ¼ uþ k3;4 k3;4 ji S k k R S ¼ k R is called bottleneck set, where R ¼ ði;jÞ[Tk ;gl ði;jÞ,1 Rk ði; jÞ: Property 4.1. Given a generalized circulation problem, ;k; ði; jÞ [ Rk1 ) ði; jÞ [ r [ R; ;ði; jÞ [ r [ R ) ’k; ði; jÞ [ Rk1 : Property 4.2. Given a generalized circulation problem, Rk2 [ R; Rk3 [ R; R2 < R3 ¼ R: Properties 4.1 and 4.2 can be proved according to the above definitions and theorems, which present the relationships between the bottleneck set and the three classes of bottlenecks and can also present the corresponding searching algorithm described as follows for bottlenecks of the generalized circulation problem. The bottleneck analysis for the minimum circulation problem is similar. Step 1. Given a generalized circulation problem, search all of the bottleneck structures according to Definition 4.8; Step 2. Let ði; jÞ [ Tk ; compute Rk ði; jÞ according to Definition 4.9 for some bottleneck structure Strk ; S Step 3. Compute Rk ¼ ði;jÞ[Tk ;gl ði;jÞ,1 Rk ði; jÞ for all ði; jÞ [ Tk ; S Step 4. Compute bottleneck set R ¼ k Rk for all the bottleneck structures; Step 5. Obtain R2 ¼ {rlr [ R; lrl . 1}; R3 ¼ {rlr [ R; lrl ¼ 1}; R1 ¼ {{e}le [ r [ R}: In above algorithm, several maximal flow bottleneck search algorithms are incorporated. To a specific bottleneck structure, there are no more than OðmÞ maximal flow problems, the size of the maximal flow problems is almost the same as the bottleneck, and the complexity of above algorithm to compute a bottleneck structure is the same as that to compute a spanning tree. Although the number of the bottleneck structure is smaller, while that of the spanning tree is very large, so it is a challenge to improve the efficiency of algorithm to compute the bottleneck structures.

5. Bottleneck analysis for the circulation problem In this section, we discuss the bottleneck analysis for the circulation problem based on the analysis for the maximum flow problem. Consider a directed graph G ¼ ðV; EÞ; where V and E 2 represent the node set and the arc set, let uþ ij and uij be

Y.-H. Jiang et al. / Advances in Engineering Software 34 (2003) 641–651

the upper and lower flow bound of arc ði; jÞ [ E; gði; jÞ be gain factor, s and t be two specific nodes, and uþ st ¼ 1: Without loss of generality, graph G is assumed to be symmetry, i.e. ði; jÞ [ E , ðj; iÞ [ E: For convenience, u2 ij is omitted later. Thus, we get the tuple G ¼ ðV; EÞ; uþ ; g; s; tÞ for the circulation problem fmst with the maximal value denoted by fst described as follows. ð16Þ

Max fst s:t: Exf ðiÞ ¼ 0;

i[V

fij # uþ ij

ð17Þ ð18Þ

Definition 5.1. Given arc set Rk1 # E of a circulation problem, Rk1 is called the first class of bottleneck and R1 ¼ {Rk1 } is called the first class of bottleneck set if (1) lRk1 l ¼ 1; þ (2) For ði; jÞ [ Rk1 ; fij ¼ uþ ij ; uij #) fmst # : Definition 5.2. Given arc set Rk2 # E of a circulation problem, Rk2 is called the second class of bottleneck and R2 ¼ {Rk2 } is called the second class of bottleneck set if (1) lRk2 l \$ 2; k þ (2) ;ði; jÞ [ Rk2 ; fij ¼ uþ ij ; for all ði; jÞ [ R2 ; uij ") fmst " : Definition 5.3. Given arc set Rk3 # E of a circulation problem, Rk3 is called the third class of bottleneck and R3 ¼ {Rk3 } is called the third class of bottleneck set if (1) lRk3 l ¼ 1; þ (2) For ði; jÞ [ Rk3 ; fij ¼ uþ ij ; uij ") fmst " : Definition 5.4. Given a path Pðt; sÞ from t to s; gðt; sÞ ¼ Q g ði;jÞ[Pðt;sÞ ij is called the path gain, ði; jÞ [ Pðt; sÞ represents that ði; jÞ is on Pðt; sÞ and the direction of ði; jÞ is the same as that of Pðt; sÞ: Definition 5.5. Given a node i [ V; a simple circle (without repeated nodes) and a path Pðj; iÞ from j to i or Pði; jÞ constitute a graph called the augmented graph of node i; denoted by Gg ðiÞ: Further, Gg ðiÞ is called supplied graph if Exf ðiÞ , Exf max or absorbed graph if Exf ðiÞ . Exf min : The supplied graph and absorbed graph of i can supply excess and deficit at the node i; respectively. Theorem 5.1. Given a circulation problem ðG ¼ ðV; EÞ; uþ ; g; s; tÞ; f is the flow distribution, the circulation problem is optimal, i.e. fst is maximal, if and only if the below conditions are satisfied for ;Pðt; sÞ [ G0 ¼ ðV; E0 Þ ðE0 ¼ E\ðs; tÞÞ :

647

(1) There exists at least one arc ði; jÞ [ Pðt; sÞ satisfied fij ¼ uþ ij if gðt; sÞ ¼ gts ; (2) There exists at least one arc ði; jÞ [ Pðt; sÞ satisfied fij ¼ uþ ij or for ;i [ Pðt; sÞ there exists no absorbed graph of i in G0 if gðt; sÞ . gts ; (3) There exists at least one arc ði; jÞ [ Pðt; sÞ satisfied fij ¼ uþ ij ; or for ;i [ Pðt; sÞ there exists no supplying graph of i in G0 if gðt; sÞ , gts ; Proof. (1) Necessity If condition 1 is not satisfied, it means that there exists Pðt; sÞ [ G0 satisfied gðt; sÞ ¼ gts and fij , uþ ij for any ði; jÞ [ Pðt; sÞ: Thus, gðt; sÞ ¼ gts ; gðt; sÞ £ gst ¼ 1; and fij , uþ ij for any ði; jÞ [ Pðt; sÞ so arc ðs; tÞ and path Pðt; sÞ constitute a feasible augmented circle, which means the circulation problem is not optimal. So, the above assumption is false. If condition 2 is not satisfied, it means that there exists Pðt; sÞ [ G0 satisfied gðt; sÞ . gts and fij , uþ ij for any ði; jÞ [ Pðt; sÞ; as well as for some node v [ Pðt; sÞ there exists an absorbed graph of v in G0 : Thus, if Exf ðvÞ of graph Gg ðiÞ is reduced by a very small positive flow d and fst can be increased by an increment Dfst ; then ðDfst £ gst £ gðt; vÞ 2 dÞ £ gðv; sÞ ¼ Dfst : Then, it can be concluded that Dfst ¼

gðv; sÞ £d gst £ gðt; sÞ 2 1

gðt; sÞ . gts ; that is gst £ gðt; sÞ 2 1 . 0; so Dfst is a small feasible positive flow, which means the circulation is not optimal. So, the above assumption is false. Similarly, the condition 3 also can be proved. (2) Sufficiency. Obviously, ;Pðt; sÞ [ G0 ; only three cases are possible, i.e. gðt; sÞ ¼ gts ; gðt; sÞ . gts or gðt; sÞ , gts : For all the three cases, if there is some arc ði; jÞ [ Pðt; sÞ that fij ¼ uþ ij is satisfied, then the flow cannot be augmented on Pðt; sÞ: When gðt; sÞ . gts or gðt; sÞ , gts ; if there is no arc ði; jÞ [ Pðt; sÞ satisfied fij ¼ uþ ij ; then there is no absorbed graph or supplied graph in G0 for any i [ Pðt; sÞ: Since gðt; sÞ £ gst – 1; flow cannot be augmented. Thus, the sufficiency is proved. A Theorem 5.1 provides the optimal conditions for circulation problem. Simultaneously considering the bottleneck definitions, to the path with gain gðt; sÞ ¼ gts ; the arcs satisfied fij ¼ uþ ij constitute the bottlenecks, and to the path with gain gðt; sÞ – gts ; the arcs satisfied fij ¼ uþ ij together with the arcs preventing the correlative sub-graph to be absorbed graph or supplied graph constitute the bottlenecks. Definition 5.6. Given ðG ¼ ðV; EÞ; uþ ; g; s; tÞ; G0 ¼ ðV; E0 Þ; E0 ¼ E\ðs; tÞ; define a mark function p of the lth spanning tree of G0 without root node t and s denoted by Trel as p : V ! Rþ : ;ði; jÞ [ Trel ; pðtÞ ¼ 1; pðiÞ ¼ pðjÞ £ gij : And call Strl ¼ ðFl ; El Þ the lth bottleneck structure of G ¼ ðV; EÞ; where Fl ¼ {ði; jÞlði; jÞ [ E0 ; pðiÞ ¼ pðjÞ £ gij or j ¼ s and pðiÞ ¼ gst £ gis }; El ¼ E0 \Fl : [10]

648

Y.-H. Jiang et al. / Advances in Engineering Software 34 (2003) 641–651

Definition 5.7. Given a bottleneck structure Strl ¼ ðFl ; El Þ and arc ði; jÞ [ El ; define the supplied bottleneck Rsu ði; j; vÞ and absorbed bottleneck Rab ði; j; vÞ of arc ði; jÞ about v as follows: (1) gij . ðPðiÞ=PðjÞÞ: Rsu ði; j; vÞ ¼ Rk3;4 ðj; iÞ < Rk3;4 ðm; vÞ if fij , uþ ij ; or Rsu ði; j; vÞ ¼ Rk3;4 ðj; iÞ < ði; jÞ < Rk3;4 ðm; vÞ if fij ¼ uþ ij ; where Rk3;4 ðj; iÞ is the third or fourth maximum flow bottleneck of Fl from j to i; m is the node nearest to v in Fl (i.e. with smallest number of the arcs between the two nodes); (2) gij , ðPðiÞ=PðjÞÞ: Rab ði; j; vÞ ¼ Rk3;4 ðj; iÞRk3;4 ðv; mÞ if fij , uþ ij ; or Rab ði; j; vÞ ¼ Rk3;4 ðj; iÞ < ði; jÞ < Rk3;4 ðv; mÞ if fij ¼ uþ ij : Definition 5.8. Given an optimal circulation problem ðG ¼ ðV; EÞ; uþ ; g; sÞ; Strl ¼ ðFl ; El Þ is the lth bottleneck S structure, p : V ! Rþ is the marking function, call R ¼ l Rl the bottleneck set, where Rl ¼ {R0 ði; sÞlði; sÞ [ El } and its meaning is described as follows in detail. For ði; sÞ [ El ; Rk3;4 ðt; iÞ is the third or fourth maximum flow bottleneck in Fl from t to i: If gis . ðPðiÞ=gst Þ and fis ¼ uþ is ; then R0 ði; sÞ ¼ Rk3;4 ðt; iÞ < Rab ðk; l; iÞ < ði; sÞ; ðk; lÞ [ El ; if 0 gis . ðPðiÞ=PðsÞÞ and fis , uþ is ; then R ði; sÞ ¼ Rk3;4 ðt; iÞ < Rab ðk; l; iÞ; ðk; lÞ [ El ; if gis , ðPðiÞ=gst Þ and fis ¼ uþ is ; then R0 ði; sÞ ¼ Rk3;4 ðt; iÞ < Rsu ðk; l; iÞ < ði; sÞ; ðk; lÞ [ El ; if gis , ðPðiÞ=PðsÞÞ and fis , uþ then R0 ði; sÞ ¼ Rk3;4 ðt; iÞ < is ; Rsu ðk; l; iÞ; ðk; lÞ [ El ; if gis ¼ ðPðiÞ=gst Þ and fis ¼ uþ is ; then R0 ði; sÞ ¼ Rk3;4 ðt; iÞ < ði; sÞ; if gis ¼ ðPðiÞ=gst Þ and fis , uþ is ; then R0 ði; sÞ ¼ Rk3;4 ðt; iÞ: Property 5.1. Given a circulation problem with bottleneck set R; ;k; ði; jÞ [ Rk1 ) ði; jÞ [ r [ R; ;ði; jÞ [ r [ R ) ’k; ði; jÞ [ Rk1 : Property 5.2. Given a circulation problem with bottleneck set R; Rk2 [ R; Rk3 [ R; R2 < R3 ¼ R: The corresponding algorithm to search bottlenecks can be described as follows. Step 1. Compute the bottleneck structures according to Definition 5.6 for a circulation problem; Step 2. Compute the supplied bottleneck Rsu ðk; l; iÞ and the absorbed bottleneck Rab ðk; l; iÞ for the bottleneck structure according to Definition 5.7, wherein ðk; lÞ [ El ; ði; sÞ [ El ; Step 3. Compute bottleneck set R according to Definition 5.8; Step 4. Obtain R1 ¼ {{e}le [ r [ R}; R2 ¼ {rlr [ R; lrl . 1}; R3 ¼ {rlr [ R; lrl ¼ 1}: The above algorithm incorporates several maximal flow bottleneck search algorithms, whose sizes are almost the same as that of the bottleneck structure, and the complexity can be analyzed similar to that in Section 5.

6. Bottleneck analysis for the MCPGN The MCPGN can be decomposed into several subnetworks by the definition of bottleneck structure, where the sub-networks are the generalized circulation problems, the minimum circulation problems or the circulation problems. The bottlenecks of the MCPGN are composed of the bottleneck arcs of the bottlenecks of these three classes of problems and some additional arcs. In this section, three classes of bottlenecks of the MCPGN are defined and analyzed. Definition 6.1. Given arc set Rk1 # E of an MCPGN, Rk1 is called the first class of bottleneck and R1 ¼ {Rk1 } is called the first class of bottleneck set if (1) lRk1 l ¼ 1; þ (2) for ði; jÞ [ Rk1 ; if fij ¼ uþ ij ; then uij #) cmin "; if fij ¼ 2 2 uij ; then uij ") cmin " : Definition 6.2. Given arc set Rk2 # E of an MCPGN, Rk2 is called the second class of bottleneck and R2 ¼ {Rk2 } is called the second class of bottleneck set if (1) lRk2 l \$ 2; 2 (2) ;ði; jÞ [ Rk2 ; fij ¼ uþ ij or fij ¼ uij ; the corresponding þ arcs are denoted by ði; jÞ and ði; jÞ2 ; respectively; for 2 2 all ði; jÞ [ Rk2 ; uþ ijþ " ^uij #) cmin # : Definition 6.3. Given arc set Rk3 # E of an MCPGN, Rk3 is called the third class of bottleneck and R3 ¼ {Rk3 } is called the third class of bottleneck set if (1) lRk3 l ¼ 1; þ (2) For ði; jÞ [ Rk3 ; if fij ¼ uþ ij ; then uij ") cmin #; if fij ¼ 2 2 uij ; then uij #) cmin # : Since bottleneck structure is defined by Definition 2.4, according to Theorem 2.1 if some arc in L0 or U 0 is introduced into F 0 ; then a negative cost graph is formed. Some of the negative cost graphs are circulation problems and the corresponding introduced arcs are those arcs ðs; tÞ of the circulation problems. And it will lead to total cost decrease to augment flow on ðs; tÞ: The other negative cost graphs are composed of one generalized circulation problem and one minimum circulation problem, which are connected by the introduced arc. It will lead to the total cost decrease to augment flow in a specific direction on the introduced arc under the condition that the generalized circulation network can supply excess and the minimum circulation network can supply deficit. Thus, the bottlenecks of the negative cost graphs will constitute the bottlenecks of the MCPGN. Two cases are impossible when arc ði; jÞ in L0 or U 0 is introduced into F 0 ; i.e. (a) Gi > Gj ¼ F; (b) Gi > Gj – F; where Gi denotes the connected graph containing node i;

Y.-H. Jiang et al. / Advances in Engineering Software 34 (2003) 641–651

Gi > Gj ¼ F means Gi and Gj are disconnected, and Gi > Gj – F means Gi and Gj are connected, and let Gij ¼ Gi < Gj : For case (a), Gi and Gj are independent gain networks (the generalized circulation network and the minimum circulation network), whose bottlenecks together with arc ði; jÞ constitute some of the bottlenecks of the primary problem. For case (b), Gi ; Gj and ði; jÞ constitute a circulation network, whose bottlenecks are those bottlenecks of the primary problem. Let Rmx2 ðGÞ and Rmx3 ðGÞ represent the second and third class of bottleneck of the generalized circulation problem, let Rmn2 ðGÞ and Rmn3 ðGÞ represent the second and third class of bottleneck of the minimum circulation problem, and let Rc2 ði; jÞ and Rc3 ði; jÞ represent the second and third class of bottleneck of the circulation problem. Definition 6.4. Given an MCPGN, ðF 0t ; L0t ; U 0t Þ is the tth bottleneck structure, Gi [ F 0t ; Gj [ F 0t ; Rkmx [ Rmx ðGÞ ¼ l Rmx2 ðGÞ S < Rmx3 ðGÞ; Rmn Rmn ðGÞ ¼ Rmn2 ðGÞ S< Rmn3 ðGÞ; call R ¼ t Rt the bottleneck set, where Rt ¼ ði;jÞ[L0t Gj ¼ F; Exf ðiÞ ¼ min in Gi ; Exf ðjÞ ¼ max in Gj ; then Rt ði; jÞ ¼ {{ði; jÞ} < Rlmn ðGi Þ < Rkmx ðGj Þlk; l}; (b) If ði; jÞ [ L0t and Gi > Gj ¼ F; Exf ðiÞ – min in Gi ; Exf ðjÞ ¼ max in Gj ; then Rt ði; jÞ ¼ {{ði; jÞ} < Rkmx ðGj Þlk}; (c) If ði; jÞ [ L0t and Gi > Gj ¼ F; Exf ðiÞ ¼ min in Gi ; Exf ðjÞ – max in Gj ; then Rt ði; jÞ ¼ {{ði; jÞ} < Rlmn ðGi Þll}; (d) If ði; jÞ [ L0t and Gi > Gj ¼ F; Exf ðiÞ – min in Gi ; Exf ðjÞ – max in Gj ; then Rt ði; jÞ ¼ {{ði; jÞ}}; (e) If ði; jÞ [ U 0t and Gi > Gj ¼ F; Exf ðiÞ ¼ max in Gi ; Exf ðjÞ ¼ min in Gj ; then Rt ði; jÞ ¼ {{ði; jÞ} < Rkmx ðGi Þ < Rlmn ðGj Þlk; l}; (f) If ði; jÞ [ U 0t and Gi > Gj ¼ F; Exf ðiÞ – max in Gi ; Exf ðjÞ ¼ min in Gj ; then Rt ði; jÞ ¼ {{ði; jÞ} < Rlmn ðGj Þll}; (g) If ði; jÞ [ U 0t and Gi > Gj ¼ F; Exf ðiÞ ¼ max in Gi ; Exf ðjÞ – min in Gj ; then Rt ði; jÞ ¼ {{ði; jÞ} < Rkmx ðGi Þlk}; (h) If ði; jÞ [ U 0t and Gi > Gj ¼ F; Exf ðiÞ – max in Gi ; Exf ðjÞ – min in Gj ; then Rt ði; jÞ ¼ {{ði; jÞ}}; (i) If ði; jÞ [ L0t and Gi > Gj – F; then Rt ði; jÞ ¼ Rc2 ðj; iÞ < Rc3 ðj; iÞ; where Rc2 ðj; iÞ and Rc3 ðj; iÞ represent the second and third bottlenecks of the circulation problem Gij ¼ ðV ij ; Eij ; uþ ; g; j; iÞ respectively; (j) If ði; jÞ [ U 0t and Gi > Gj – F; then Rt ði; jÞ ¼ Rc2 ði; jÞ < Rc3 ði; jÞ: The relationship between the bottleneck set and three classes of bottlenecks is given by next properties. Property 6.1. Given arc set R of an MCPGN, ;k; ði; jÞ [ Rk1 ) ði; jÞ [ r [ R; ;ði; jÞ [ r [ R ) ’k; ði; jÞ [ Rk1 : Property 6.2. Given arc set R of an MCPGN, Rk2 [ R; Rk3 [ R; R2 < R3 ¼ R:

649

Thus, the corresponding bottleneck search algorithm can be described as follows. Step 1. Compute the bottleneck structures according to Definition 2.4 for an MCPGN; Step 2. Construct sub-networks by introducing ði; jÞ [ L0t < U 0t into the bottleneck structure for every bottleneck structure, compute the bottlenecks of the sub-networks; Step 3. Compute bottleneck set R according to Definition 6.4; Step 4. Obtain R1 ¼ {{e}le [ r [ R}; R2 ¼ {rlr [ R; lrl . 1}; R3 ¼ {rlr [ R; lrl ¼ 1}: In above algorithm, the bottleneck searching algorithms for the bottleneck search algorithms of the circulation problem, the generalized circulation problem and the minimum circulation problem are all incorporated. The sizes of the incorporated problems depend on the optimal spanning forest structure, which sizes depend on the primal network and the flow distribution. For the primal network and a certain flow distribution, the arcs which flows do not reach their bounds are surely to be brought into every F 0t : So if there are more arcs which flows do not reach their bounds, there are fewer F 0t ; then there are fewer bottleneck structures. Then the computational complexity of Step 1 is higher. On the contrary, the computational complexity of Step 1 is lower. For a certain bottleneck structure, there are OðmÞ sub-problems include the circulation problems and the generalized circulation problems. The computational complexities of the sub-problems are illustrated in the corresponding sections. The worse case of the whole algorithm complexity is exponential, but it decreased exponentially by the number of the arcs which flows do not reach their bounds. Since the efficiency to compute the bottleneck structures is related with the properties of the optimal forest structure, it is also a challenge to improve the efficiency to compute the bottleneck structures. According to the bottleneck analysis, not only the scheduling strategy can be studied further, but also the improved strategy can be presented. By evaluating the ratios of the benefit and the cost to improve the bottlenecks, the main idea of the improved strategy is to choose those bottlenecks with higher ratios with high probability. Such scheme is described as follows. Step 1. Observe all the second and third class of bottlenecks for an MCPGN; Step 2. Select an arc for every bottleneck, relax the corresponding capacity constraint by one unit, and relax all the other capacity constrains about the bottleneck enough, then optimize the MCPGN. Thus, we can get the decreasing size of the object cost of the MCPGN and the lower bound of the corresponding cost of the constrains relaxing, then compute their ratios; Step 3. Compare all the ratios, select and improve the corresponding bottleneck with the highest ratio.

650

Y.-H. Jiang et al. / Advances in Engineering Software 34 (2003) 641–651

The complexity of the above strategy is linear size of the bottleneck sets. So, when the bottleneck set is known, such strategy can efficiently improve the model studied.

7. Case study Chemical process is a typical process in process industry. In the process network, there are different material flows coupled each other. Scheduling of chemical process highly depends on the gripping of the bottlenecks. Fig. 3 shows an actual chemical process provided by Professor S G Taylor of Wyoming University. To demonstrate the feasibility and effectiveness of bottleneck analysis and algorithm presented in this, the structure and the parameters are firstly adjusted to form a network flow model described in Fig. 4 and Table 1. In this model, the nodes represent the devices, the arcs represent the material relation among devices, the capacities represent the production capabilities, and the gains represent recoveries, and let unit cost be that of the corresponding production. To this network flow model, assume that Exf ð1Þ ¼ 22; Exf ð10Þ ¼ 5; Exf ðiÞ ¼ 0 ði ¼ 2; …; 9Þ; then the object total cost is 2 260.3. By the bottleneck searching algorithm presented in Section 6, we can obtain the bottlenecks described in Table 2. Obviously, though the flow of arc (8,7) reaches the upper bound, arc (8,7) is not a bottleneck arc. It will lead to the object cost decrease 3 units by increasing the upper bound of capacity associated with arc (4,5) and (6,10) one unit and 2 units, respectively. And it will lead to the object cost decrease 19 units by increasing the upper bound of capacity of arc (9,10) one unit. If the upper bound of the capacity of arc (2,4) reduces 1 unit, the object cost will increase 19 units. Other capacity constraints can be analyzed similarly. Such bottleneck analysis reflects the effect of the bottlenecks on the object cost. Thus, we can make sure that the network can be improved by increasing or decreasing the corresponding bound of capacity associated with any second or third class of bottleneck arc. And moreover, the improved scheme can be evaluated and chosen. In addition, it can be shown from above analysis that the bottleneck devices have to work with their maximal or minimal capabilities to achieve minimal total production cost, and other devices may work in some specific range. So, we may have many feasible different scheduling schemes to

Fig. 4. Network flow mode.

choose and implement. Because of the robustness of the bottleneck, the scheduling strategy based on bottleneck is also flexible and robust. The results show that the algorithms are efficient to obtain the bottlenecks defined in Section 3. We can get the key devices which capacities would affect the total production cost of the optimal production scheme. We can also get the composites of devices by enhancing which capacities to decrease the total production cost. And then, the bottlenecks can be used to evaluate the chemical process and to obtain efficient schedule by theory of constraints (TOC) or other bottleneck strategies. The definitions and algorithms of bottleneck are brannew from the traditional ones as those in Refs. [1 –6].

Table 1 Parameters of the network flow model Arc

Upper bound of the capacity

Gain

Unit cost

(1,2) (2,3) (2,4) (3,1) (3,7) (4,5) (5,6) (6,4) (6,10) (7,9) (8,7) (9,8) (9,10) (10,7)

10 8 1 5 2 4 8 5 4 45 14.5 11 10 20

1 1 2 1.5 2/3 1.5 1 1 1 0.5 2 1.5 1 1

1 1 2 2 3 3 1 2 1 5 4 3 250 2

Table 2 The results of bottleneck analysis

Fig. 3. Actual chemical process.

The first class of bottlenecks The second class of bottlenecks The third class of bottlenecks

{(2,4)}, {(3,7)}, {(4,5)}, {(6,10)}, {(9,10)} {(4,5), (6,10)} {(2,4)}, {(3,7)}, {(9,10)}

Y.-H. Jiang et al. / Advances in Engineering Software 34 (2003) 641–651

The traditional ones are not surely the key constraints but partial bottlenecks, local bottlenecks, or even deceptive bottlenecks, while our bottlenecks are logically strict. The shortcoming is that our algorithm is more timeconsuming.

8. Conclusion Bottleneck analysis for the MCPGN is studied in this paper, and the definitions of bottleneck with strong physical meaning and the corresponding searching algorithms based on generalized network simplex algorithm are presented which can be used to improve the production process and implement re-scheduling. How to improve the efficiency of the searching algorithms and implement dynamic scheduling for real manufacturing process are our future work.

Acknowledgements Supported by National Natural Science Foundation of China 60174046, 60204008 and 973 Program 2002CB312200.

651

References [1] Pezzella F, Merelli E. A tabu search method guided by shifting bottleneck for the job shop scheduling problem. Eur J Oper Res 2000; 120:297–310. [2] Croce DF, Paschos VTh, Tsoukias A. An improved general procedure for lexicographic bottleneck problems. Oper Res Lett 1999;24: 187–94. [3] Sokkalingam PT, Aneja YP. Lexicographic bottleneck combinatorial problems. Oper Res Lett 1998;23:27 –33. [4] Katagiri H, Ishii H. Chance constrained bottleneck spanning tree problem with fuzzy random edge costs. J Oper Res Soc Jpn 2000; 43(1):128– 37. [5] Aneja YP, Punnen AP. Multiple bottleneck assignment problem. Eur J Oper Res 1999;112:167 –73. [6] Arnott R, de Palma A, Lindsey R. Information and time-of-usage decisions in the bottleneck model with stochastic capacity and demand. Eur Economic Rev 1999;43:525–48. [7] Ravindra KA, Magnanti TL, Orlin JB. Network flows theory, algorithm, and applications. Englewood Cliffs, NJ: Prentice Hall; 1993. [8] Wang J. Process bottleneck analysis and production scheduling of process industry. PhD Dissertation. Tsinghua University, Beijing China; 1998. [9] Jiang YH, Jin YH. Bottleneck analysis of the generalized circulation problem. Theory Practice Syst Engng. 2002;22(10):46–50. [10] Jiang YH, Jin YH. Bottleneck analysis of the circulation problem. Comput Integr Manufact Syst. 2002;8(4):79–83.