Potential-driven flows in capacitated networks by Aurelie Thiele B.S., Ecole des Mines de Paris, France (1999) Submitted to the Department of Electrical Engineering and Computer Science in partial fulfillment of the requirements for the degree of Master of Science at the MASSACHUSETTS INSTITUTE OF TECHNOLOGY September 2000 © Massachusetts Institute of Technology 2000. All rights reserved. A uthor ..................................... Department of Electrical Engineering and Computer Science August 17, 2000 Certified by..................... George Verghese Professor Thesis Supervisor / Accepted by ... Accepte .. ... .. AAArthrt C.urCit Chairman, Department Committee on Graduate Students MASSACHUSETTS INSTITUTE OF TECHNOLOGY OCT 2 3 2000 LIBRARIES 2 Potential-driven flows in capacitated networks by Aurelie Thiele Submitted to the Department of Electrical Engineering and Computer Science on August 17, 2000, in partial fulfillment of the requirements for the degree of Master of Science Abstract We expose here properties of capacitated networks with potential-driven flows, usually called "resistive networks" because of their analogy with elementary electric circuits. The flows are injected at certain nodes, extracted at others, and conserved in between. A new algorithm based on geometrical considerations is proposed for the design of optimal networks with a small number of nodes, and original heuristics are suggested and implemented when the number of nodes becomes too large to solve the optimization problem exactly. In particular, we establish here some characteristics of the flow distribution and identify edges that play an important role in the network (the importance being measured in terms of influence on the fulfilment of the requirements, as well as the new strain on the network and the change in the maximum flow obtained at a given node when one of these edges is removed). We also highlight some counterintuitive behaviors of resistive networks, such as the increase of the maximum flow at the target node when a well-chosen edge is removed, and the fact that in some configurations the flow injection and extraction requirements are not feasible any more when one edge is removed but become feasible again when a further edge is removed. These results enable us to formulate efficient procedures to design resistive networks under some optimization criteria such as the minimization of the total cost. As with the design problem of a capacitated general flow network (which is known to be NP-hard), the design problem of a capacitated resistive network grows very rapidly in complexity as the number of nodes in the network increases. As a result, we focus on heuristic procedures and assess their relevance. This research sheds new light on a little known area of network design through an approach building upon the characteristics of resistive systems, and opens up several directions for further research. Thesis Supervisor: George Verghese Title: Professor 3 4 Acknowledgements I am grateful to Professor George Verghese for the role he played in my admission to MIT, his support and advice throughout this research and his insistence in having me continue for a PhD, which finally convinced me. I also want to thank Sandip Roy for reading the first draft of this thesis and giving me very useful comments. Special thanks to my parents Janine and Christian and my brother Olivier who are all wonderful, and hello to my dog Karlos although he will never read these lines (but he will probably love to sleep on this thesis while I will desperately try to move him). This thesis was written in memory of Charlotte (Lollo) and Jean-Paul Antiq. Without you all I would not be where I am now. Thank you. The work on this thesis was supported in part by the Electric Power Research Institute (EPRI) and the Department of Defense, under their joint Complex Interactive Networks/Systems Initiative. 5 6 Contents 1 Maximum flows in resistive networks: a comparison with the general 17 Ford-Fulkerson theorem and other results 1.1 G eneralities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.2 The Ford-Fulkerson theorem . . . . . . . . . . . . . . . . . . . . . . . 18 1.2.1 Assumptions and definitions . . . . . . . . . . . . . . . . . . . 18 1.2.2 The max-flow min-cut theorem . . . . . . . . . . . . . . . . . 19 1.2.3 Modifications of the assumptions . . . . . . . . . . . . . . . . 22 . . . . . . . . . . . . . . 23 1.3.1 G eneralities . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.3.2 Mathematical formulation . . . . . . . . . . . . . . . . . . . . 24 1.3.3 Exam ple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 1.3.4 Extension to several variable sources . . . . . . . . . . . . . . 30 Properties of the maximum flow in a resistive network . . . . . . . . . 32 1.3 1.4 The max-flow theorem in resistive networks 1.4.1 The saturated edges of the maximum flow in a resistive network are not necessarily saturated edges of the maximum flow in the Ford-Fulkerson sense . . . . . . . . . . . . . . . . . . . . . . . 1.4.2 The saturated edges are often on a Minimum Spanning Tree of the netw ork . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 1.4.3 The maximum flow can be increased when we take one line out 39 1.4.4 Some configurations are not feasible when we take one line out . . 54 E xam ple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 and become feasible again when we take a second line out 1.5 32 7 2 Optimal design and growth of small resistive networks under the constraint of minimal cost 65 2.1 G eneralities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 2.2 Design of a network with 1 source node and 2 sink nodes . . . . . . . 67 2.2.1 Design of the optimal network . . . . . . . . . . . . . . . . . . 67 2.2.2 Limiting variations of the demand at the sink nodes . . . . . . 75 2.3 2.4 2.5 3 Adding nodes to an already designed network . . . . . . . . . . . . . 81 2.3.1 Adding a source node to our basic network . . . . . . . . . . . 81 2.3.2 Adding a sink node to our basic network . . . . . . . . . . . . 82 2.3.3 Adding a node to any already designed network . . . . . . . . 84 Comparison with a network designed in an single step . . . . . . . . . 86 2.4.1 Primary design of a 2 inputs, 2 outputs network . . . . . . 86 2.4.2 Primary design of a 1 input, 3 outputs network . . . . . . 88 2.4.3 Primary design of a m inputs, n-m outputs network . . . . . . 89 C om m ents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Heuristic design of resistive networks under the constraint of minimum cost 93 3.1 G eneralities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 3.2 Mathematical formulation . . . . . . . . . . . . . . . . . . . . . . . . 94 3.3 Several possible heuristics . . . . . . . . . . . . . . . . . . . . . . . . 96 3.3.1 Using a Lagrangean relaxation . . . . . . . . . . . . . . . . . . 96 3.3.2 Using Minimum Spanning Trees . . . . . . . . . . . . . . . . . 97 3.4 First exam ple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 3.5 Second example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 3.6 Comments on the design of a resistive survivable network . . . . . . . 112 8 List of Figures 1-1 A sim ple exam ple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 1-2 Optimum flow by Ford-Fulkerson . . . . . . . . . . . . . . . . . . . . 28 1-3 Optimum resistive flow . . . . . . . . . . . . . . . . . . . . . . . . . . 28 1-4 Network where the saturated edges for the optimum resistive flow are not saturated in a Ford-Fulkerson optimum flow 32 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5 Geometric argument 1-6 The saturated edge is no t on a MST 1-7 General case .. 1-8 Other case ... ..... 1-9 The saturated edge is or a MST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... .. . . . . . . . . . . . . . . . . . 1-10 An example of optimum flow increased with 1 line out 34 36 36 37 38 . . . . . . . . 40 1-11 The modified example . . . . . . . . . . . . . . . . . . . . . . . . . . 41 1-12 Small square, expl 1 . . . . . . . . . . . . . . . . . . . . . . . . . . 46 1-13 Small square, expl 2 . . . . . . . . . . . . . . . . . . . . . . . . . . 46 1-14 Small square, expl 3 . ..... ... .. . .. .. .. ... ... .. 47 1-15 Small square, expl 4 . ..... ... .. . .. .. .. ... ... .. 47 1-16 Small square, expl 5 .. .... ... .. . .. .. .. ... ... .. 48 1-17 Big rectangle, expl. . ..... ... .. . .. .. .. ... ... .. 48 1-18 Big rectangle, expl2 . ..... ... .. . .. .. .. ... ... .. 49 1-19 Big rectangle, expl3 . ..... ... .. . .. .. .. ... .. ... 49 1-20 Big rectangle, expl4 . . . . . . . . . . . . . . . . . . . . . . . . . . 50 1-21 Big rectangle, expl5 . . . . . . . . . . . . . . . . . . . . . . . . . . 50 1-22 Big rectangle, expl6 .. .... ... .. . .. .. .. ... .. .. . 51 9 1-23 Big rectangle, expl7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 . . . . . . . . . . . . . . . . . . . . . . 52 1-25 Transportation network, expl2 . . . . . . . . . . . . . . . . . . . . . . 52 1-26 Transportation network, expl3 . . . . . . . . . . . . . . . . . . . . . . 53 1-27 An example of requirements admissible again with 2 lines out . . . . 55 1-28 Optimal flow for the initial network . . . . . . . . . . . . . . . . . . . 55 1-29 New topology: 1 line out . . . . . . . . . . . . . . . . . . . . . . . . . 56 . . . . . . . . . . . . . . . . . . . . . . . . 56 1-31 Optimal flow with the last topology . . . . . . . . . . . . . . . . . . . 57 1-32 A more complex example . . . . . . . . . . . . . . . . . . . . . . . . . 61 1-24 Transportation network, expl 1-30 New topology: 2 lines out 2-1 N otations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 2-2 No link between nodes 1 and 2 . . . . . . . . . . . . . . . . . . . . . . 68 2-3 No link between nodes 1 and 3 . . . . . . . . . . . . . . . . . . . . . . 69 2-4 No link between nodes 2 and 3 . . . . . . . . . . . . . . . . . . . . . . 69 2-5 A ll links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 2-6 Cost function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 2-7 Boundaries of the types of lines . . . . . . . . . . . . . . . . . . . . . 71 2-8 Tree-network studied . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 2-9 Admissible domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 2-10 Fully connected network . . . . . . . . . . . . . . . . . . . . . . . . . 77 2-11 Configurations with an additional node . . . . . . . . . . . . . . . . . 83 2-12 Various possibilities for a 1-i 3-o network . . . . . . . . . . . . . . . . 84 2-13 Primary design of a 2-i 2-o network . . . . . . . . . . . . . . . . . . . 86 2-14 Comparison of the designs, example 1 . . . . . . . . . . . . . . . . . . 88 2-15 Primary design of a 1-i 3-o network . . . . . . . . . . . . . . . . . . . 88 2-16 Comparison of the designs, example 2 . . . . . . . . . . . . . . . . . . 89 2-17 Comparison of the designs, final example . . . . . . . . . . . . . . . . 90 3-1 First example . . . . . . . . . . . . . . . 101 3-2 MST, Criterion 1 . . . . . . . . . . . . . 102 10 3-3 MST, Criterion 2 . . . . . . . . . . . . . . . . . . . . . . . . . . 102 3-4 MST, Criterion 3 . . . . . . . . . . . . . . . . . . . . . . . . . . 104 3-5 Final solution, Criterion 1 . . . . . . . . . . . . . . . . . . . . . 105 3-6 Final solution, Criterion 2 . . . . . . . . . . . . . . . . . . . . . 105 3-7 Final solution, Criterion 3 . . . . . . . . . . . . . . . . . . . . . 3-8 Second example . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 3-9 Final solution, Criterion 1 . . . . . . . . . . . . . . . . . . . . . 109 106 3-10 Final solution, almost admissible network only, Criterion 2 . . . . . . 111 3-11 Final solution, Criterion 3 . . . . . . . . 11 . . . . . . . . . . . . . 112 12 List of Tables 1.1 Our coefficients for the utility of each edge . . . . . . . . . . . . . . . 60 1.2 Final example, case 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 1.3 Final example, case 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 2.1 Possible optimums . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 2.2 A tree and a fully connected network as optima . . . . . . . . . . . . 75 3.1 Possible criteria to quantify the interest in building the edges . . . . . 99 3.2 Results of the initialization step . . . . . . . . . . . . . . . . . . . . . 101 3.3 Positions of the nodes 3.4 Param eters . . . . . . . . . . . . . . . . . . . . . . . . . . 107 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 13 14 Introduction Networks with potential-driven flows represent a class of systems that has been rarely studied before the last few years. Interest has significantly increased mainly because the power outages in California in the summer of 1996 and other occurrences of cascade failures in the electricity network have drawn considerable attention to one of the main application areas of potential-driven flows: power systems. In what follows, we will refer to this class of networks, where the flow along an edge depends on the difference between node variables at its extremities called "potentials", by the term "resistive networks". This terminology is justified by a straightforward analogy with elementary electric circuits, where the current in a resistor is a linear function of the voltage difference between the two ends. In the case of power systems, the flow of interest is a power flow, and the potential at a node is actually the phase angle of the sinusoidal voltage at that node. The networks we consider have flows injected at certain nodes, extracted at others, and conserved in between. We are particularly interested in the case where there is an upper limit or capacity for the flow in each edge. Power systems are now at the centre of numerous studies, which are typically concerned with issues such as the behavior of the network and its robustness to link or node failures. Well-chosen stochastic and dynamic models are then used to describe the likelihood of a wide-spread power outage and analyze its features. Our approach differs from this traditional perspective insofar as we aim at exposing particular characteristics of the broader class of resistive networks that are in some sense optimal in their design, and building upon these features to draw conclusions concerning their main properties. By proceeding in this fashion, we also hope to gain 15 a better understanding of the flow distribution in a resistive network, about which little is known so far. This knowledge could provide significant insight into which areas of a power network are put under the greatest strain, and why. These results will enable us to formulate a procedure to efficiently design capacitated networks with potential-driven flows under some optimization criteria such as the minimization of the total cost. The basic setting for the research is the following: prespecified (positive or negative) demands at each node must be satisfied by the flows going through the network while respecting the capacity constraints on every edge. Unlike the case of a general network, in a resistive system the flow going into a node cannot be split arbitrarily among the outgoing edges, because of its dependence on the values of the potentials. More precisely, in the context of power systems, each node is associated with a variable called the (generator or load) angle, and the flow along a given edge is proportional to the sine of the difference of these variables at its extremities (the coefficient of proportionality depends on the characteristics of the line). This defines a seldom studied class of networks to which the usual design procedures cannot be applied. Similarly to the design problem of a capacitated general network (which is known to be NP-hard), the design problem of a capacitated resistive network grows very rapidly in complexity as the number of nodes in the network increases. As a result, we are led to focus on heuristic procedures to solve our problem and have then to assess their relevance. This research is therefore motivated by the prospect of shedding new light on a little known area of network design through an approach building upon the characteristics of capacitated systems with potential-driven flows. Several new research questions are posed along the way. 16 Chapter 1 Maximum flows in resistive networks: a comparison with the general Ford-Fulkerson theorem and other results In this chapter, after a brief introduction (Section 1.1), we restate the main results known about the maximum flow in a general network as obtained via the FordFulkerson theorem (Section 1.2). This serves as a contrast to several properties of potential-driven flows. We provide a new mathematical formulation for the problem of the maximum flow in resistive networks (Section 1.3) and then compare the maximum flows in the general case and in the resistive case through a characterization of the saturated edges in the resistive-network setting (Section 1.4). We illustrate our point by an example (Section 1.5). 1.1 Generalities The problem of the maximum flow that can go from a source to a sink in a network has been widely studied and as early as 1962, Ford and Fulkerson have provided a very powerful tool, known as the max-flow min-cut theorem, to link the maximum 17 flow with the capacities of the edges of the network. Most general problems are now solved through the use of this theorem and the resulting algorithm. However, in some networks, this procedure cannot be implemented because the fundamental property that at any node you can split the flows in an arbitrary way (only restrained by the edge capacities), and therefore that you can increase the flow on a given source-sink path without modifying the flows on the other ones, is not verified. For instance in power systems a generator or load angle is associated with each node and the flow going through a given edge is proportional to the difference of angles at its extremities. This gives us a new constraint that the algorithm designed by Ford and Fulkerson cannot take into account. Therefore, their solution provides an upper bound to the maximum flow that can go through a power network but this bound is often not reached. Several questions can then be raised: is there a simple expression of the difference between the two optimal flows? How can we characterize the saturated edges? What specific properties does the maximum flow in power networks have? The answers will allow us to gain significant insight into the best way to link new nodes to a power network in order to maximize the flow reaching them or at least meet their minimal requirements. This knowledge will be particularly useful in the following chapters. 1.2 The Ford-Fulkerson theorem We restate here briefly the main results concerning the max-flow min-cut theorem (a more complete version can be found in [1], from which 1.2.1. and 1.2.2. are strongly inspired) and stress the points that will not hold in the case of resistive networks. 1.2.1 Assumptions and definitions We consider a network G arcs. Each arc (x, y) CA = [N, A] with N the set of nodes and A the set of oriented has a capacity c(x, y). Let s be the source node and t the target node. We assume conservation of the flow at the intermediary nodes. For a node x, A(x) (resp. B(x)) is the set of nodes y so that (x, y) (resp. (y, x)) is an edge. 18 Definition 1.2.1 A static flow of value v from s to t in [N, A] is a function f from A to non-negative reals that satisfy the linear equations and inequalities: e f (x,y) f (x, y)- yEA(x) X, = (1.1) yEB(x) f (x,y) < c(x, y) for all (x, y) E A (1.2) The first equation states that the net flow out of a node x is either v (for the source), or 0 (for intermediary nodes), or -v (for the destination). The second equation states that the flow going through an edge must be inferior to the capacity of this edge. Definition 1.2.2 A cut in [N, A] separating s and t is a set of arcs (X, X) where s C X, t E X The capacity of a cut is given by c(X, X) = _(xt)E(XX) c(x, 2), i.e. it is the sum of the capacities of the edges that have their initial extremity in X and their terminal extremity in X. 1.2.2 The max-flow min-cut theorem Theorem 1.2.1 For any network the value of the maximum flow from s to t is equal to the capacity of the minimal cut of all cuts separating s and t. Proof The proof is in two parts: first Ford and Fulkerson show that the value of any flow going through the network is inferior to the capacity of any cut separating s and t (so the value of the maximum flow is inferior to the capacity of the minimum cut), and secondly they exhibit a cut whose capacity is equal to the maximum flow. 1. Let f be a flow from s to t in a network [N, A] and let f have the value v. If (X, X) is a cut separating s and t, then v = f(X, X) - f (X, X) < c(X, X) 19 (1.3) where f(X, X) = f(x, 2) xy(Xx) To show it, Ford and Fulkerson use that s E X, t E X, and sum over all x C X the equations: f(s,N)-f(Ns) - v Oforx #s,t f(x,N)-f(Nx) with N representing all nodes of the network. Then they write N as X UX and use that f(X, X) < c(X, X) and f(X, X) > 0. 2. They find a flow f and a cut (X, X) for which equality of flow value and cut capacity holds. For this, they consider the maximum flow f that can go through the network (clearly such a flow exists) and define in terms of f a cut (X, X) such that: f (X, X) c(X, X) and f (X, X) = 0 The set X is defined recursively by (a) s c X (b) if x E X and f(x, y) < c(x, y) then y E X (c) if xEX and f(y,x) >0 then yE X They assert t E X. Suppose not: then there is a path (note: a path from s to t is obtained by considering the undirected graph, which means that we do not care about the true orientation of the edges to determine a path) from s to t, say s x1 , x2 , ... , n= t having the property that for all forward arcs (xi, xi+1) of the path, f(xi, xi+) < c(xi, x,+ 1 ), whereas for all reverse arcs (xi+1 , xi) of the path (i.e. arcs that are not oriented in the direction we use to go from s to t, but in the opposite direction) , f(xi+1, Xi) > 0. Then they define e = min( and they increase f min forward arcs (c - f), min reverse arcs f) by e on all forward arcs of the path and decrease f by e on all reverse arcs (the path s =x 1 , x 2 , - - -, Xn = t is then said to be flow20 augmenting). The value of the new flow is f + c with r > 0. But f was maximal: there is a contradiction. So t E X. From the definition of X, it follows that f (X, I) = c(x, 2t) f or (x, -t) E (X, X) f (t,X) = 0 f or (2,)E(X, X) We have then: f (X, X) = c(X, X), f (X, X) = 0 so v = f(X, X) = c(X, X) We see that the crucial point in the proof is that the flow on a path from s to t can be increased without inducing any modification in the flows going through the edges that are not on this path. It follows immediately from the proof of the theorem that: Corollary 1.2.2 A flow f is maximal if and only if there is no flow augmenting path with respect to f Algorithm to solve the maximum flow problem The algorithm used to solve the practical cases of maximum flow problems is obtained from the recursive procedure we mentioned in the proof. We take any admissible flow f from s to t and label the nodes of the network as follows: (a) s E X and s is labeled "+" (b) if x E X and f(x, y) < c(x, y) then y E X and y is labeled "+x" (c) if x E X and f(y, x) > 0 then y E X and y is labeled "-x" If at the end of the procedure t is labeled, the flow is not optimal and using the labels we find the path from s to t that enabled us to label t, and we increase (resp. 21 decrease) the flow on the forward (resp. reverse) edges the more we can, so we cannot use this path any more to label t, and we start the procedure again with this new flow. The algorithm terminates as soon as t is not labeled. 1.2.3 Modifications of the assumptions We want now to have a fixed input or output at the intermediary nodes. Let call Ri the fixed input/output at node i, by convention Ri > 0 if it is an output (a load node in the power systems context), Ri < 0 otherwise. Equation 1.1 becomes, with n the number of intermediary nodes: v+n Sf (x, y) - f (x,y) -Rx, 1 Ri, x=s X = i ... n}(x f s, t), yEB(x) yEA(x) Equation 1.3 becomes now, for any flow and any cut: v + R(X) = f(X, X) - f(X, X) < c(X,X), with R(X) = R It can be rewritten: V < a(X, X) with d(X, X) = c(X, X) - R(X) So once you have an admissible flow (this time the zero flow is not possible to start the algorithm, because of the demands at the sinks), you only have to compare f (verifying Equation 1.1 modified) with c through the relation f(X, X) - f(X, X) < c(X, X) and you still want to find f and X so that f(X, X) - f(X, X) = c(X, X) so we can use the same procedure as before. This modification is important when we study the maximum flow problem in resistive networks. 22 1.3 The max-flow theorem in resistive networks 1.3.1 Generalities We associate a potential 6, with every node x of the network. We fix without any loss of generality 6, = 0. Here, the source node s is the only node in the network whose input (or output) is variable. The intermediary nodes have all fixed input or output requirements. The flow from node i to node j in a resistive network will be modelled by: f (i, j) = c(ij) - i - 6j] with the constraint 16i - 6jI < 1. Actually, in the power systems context which represents the main application area of this research, the true expression of the flow (as given in the short-line model exposed in [2]) is: f (i, j) = c(i, j) -sin[6i - 6j] But we find the expression above again by a straightforward linear approximation, which is enough to begin with. A resistive network is a general network, defined in the previous section, with the added constraint: For any cycle io = i, ii, . . . , , + io, f(ik, ik+1) = 0 k=O C(4ikk+1) Therefore, a resistive flow is a special type of flow and the optimum given by Ford-Fulkerson is an upper bound that we are not sure to reach. The optimum flow by Ford-Fulkerson in a general network, that we will note FF*, is typically not the same as the optimum flow in a resistive network, that we will note RN*. 23 1.3.2 Mathematical formulation Equations We consider a case where we have 1 source with a variable input, 1 target node (sink), and all the intermediary inputs/outputs are fixed. As said before, 6, = 0 We have the following equation l 0 61 K 1 Ri + P -R, : = 6n -Rn 6St -P where K is defined by: kij Kij = if edge of capacity kij between i and 0 if no edge between i and Ekykik for j, i j # j j = i K is a symmetric matrix whose rows (and columns) sum up to 0. We get rid of this redundancy by suppressing the first row and first column (we have fixed 6, = 0) and obtaining thus a matrix R verifying: 61 R, 67, Rn 6St P We consider only connected networks (if we have several networks that are not connected with each other, we simply consider each one separately), so R is invertible (for a connected network, the zero eigenvalue is only of order 1). R 1 ,. . . , R" are fixed, P is unknown (to be maximized). We therefore express the problem under a slightly 24 different way below, where K is obtained from k by suppressing the last row and the last column (corresponding to the target node t). R, - =--P Kt,,-*t +,t (1.4) K14nt Rn 6n) K1 6t represents the vector consisting of the first n elements of column t in R and Kt,1,, represents the (n + 1)" row of k (the one corresponding to t). In what follows, we note Ktt the (n + 1, n + 1) element of K and R the vector of the requirements Ri for i = 1, ... , n. By expressing 6 1,..., 5n in function of 6 t, we obtain (as we want to minimize -P): -KN [R + 6t Ki-m,t] (1.5) min [-Kt,1 nK(R + 6t Ki st) + Kt,tAt] (1.6) The last equation can be rewritten: min (Kt - K >,10m Ki-m,t) 6 - Kt, 1 -*nK R] (1.7) >0 The scalar in front of 6t (analog in some sense to an equivalent resistance) is positive, as shown by using the following lemma. 25 A Lemma 1.3.1 B1 B' positive definite iff M C_ [ Id 0 -B'A -1 Id A I B B' C K, 1 positive definite (A and obtain after calculations: M So with A = B B' C and C symmetric) We take M = [ A A 0 0 C - B' A-'B B = Kis+,,,C =Kt,,,we obtain the desired result that the coefficient in front of 6t is positive. Therefore, the minimum is reached at the lower bound of 6 t Admissible domain for the variable The admissible domain for 6 t is given by the following constraint: For every edge (i, j), 16i - 6j I i.e. 1 5P'61 < 1 componentwise where P is the node-edge incidence matrix without the row corresponding to node s It is obvious that this constraint can be expressed linearly as a function of 6t. Therefore, for every edge e, we have a relation of the form: be < 6t < Be These two bounds, be and Be, are function of R 1 ,..., R,. So we finally obtain: max all edges e b(R ,...,R) 6t a min all edges e Be (1.8) (RI, which gives us the following feasibility condition on the R 1 , .. . , R,: max all edges e be(Ri,. .. ,R ) < 26 min all edges e Be(R,, R ) (1.9) If the feasibility condition is verified, the optimum 6 t is: 6*=t aall max edges e be (R1,. maxall edges e be . .,Rn) (1.10) corresponds to the saturation of at least 1 edge (usually exactly 1). So we have the following theorem. Theorem 1.3.2 If we have an admissible power flow with (at least) 1 saturatededge, we have found either the optimal (maximum) flow, or the minimum flow verifying the constraints. If by decreasing 6t by an arbitraryc > 0, the flow is not admissible any more, we have found the optimal flow. This theorem is very different from the max-flow min-cut theorem, where we can split the flows the way we want. Here we have only one unknown (as we have only so far one variable source) and as soon as we have fixed this unknown within its admissible bounds, all the flows are determined. 1.3.3 Example We illustrate our mathematical formulation by the following example. The capacity of all edges is 1. We have two intermediary nodes, 1 and 2. The requirement at node 1 (resp node 2) is (resp ) 1/2 411 1A e Figure 1-1: A simple example 27 1/2 1/2 1 0M 1 3/4 5/4 Figure 1-2: Optimum flow by Ford-Fulkerson The optimal flow by Ford-Fulkerson is given above. (You can imagine other configurations but they have all in common that the edges (s, 1) and (s, 2) are saturated) But the optimal resistive flow is: 1 9/16 1/16 15/16 /819/16 Figure 1-3: Optimum resistive flow It is easy to see that for this network, and for any outputs at the intermediary nodes R 1 and R 2 , the values of FF*and RN* verify the following relation: v(FF*) - v(RN*) | - 4 R2 that is, the difference between the two flows depends on the imbalance between the two requirements. This formula actually gives the (absolute) value of the flow on edge (1,2). In a more general case, where the capacities on the different edges are arbitrary 28 under the condition that FF*is obtained by saturating (s, 1) and (s, 2), we have: RN* = FF* 6 ks1 R1 - ks 2 kit - R2 k2t If k< - R : ks2 - R2 we saturate (s, 1) to find the maximum flow and the general kit k2t imbalance formula for this case is then given by Iv(FF*) - v(RN*)| + kl 1 k 2 ks2 - 1 - k 1 2 k R k1k2 - k k 12 kut + k- 1 k 2t km 2 kut+ k 1 2 k 2 t 2 k1 2 kut + k- 1 k 2 k- 2 ku + k 1 2 k 2 R2 k,1k-+2- t k1 2 - k12 k-k2- - with kai = k8 i + k 12 + kit and k- 2 = k, 2 + k 12 + k 2 t A similar formula can be found in the case where (s, 2) is saturated instead of (s,1). We can notice that even for such a simple example, the expression is very complicate. It involves det K as well as the determinant of the submatrices obtained from k by disregarding the last column of k and considering the matrix composed of the last row and the row corresponding either to node 1 or to node 2). If in FF*all edges linked with s are saturated, the difference between the 2 optima will be EZ ksg(1 + 6) i.e. Kt, 1 4,[ [R+± *K14n,t] - 11 which is coherent with the expression found in our example. We see that exact formulas depend strongly on the exact topology of the network and the way the optimum flow in the Ford-Fulkerson sense is reached. The only thing we can predict is that det K is going to appear at the denominator as a consequence of having K in the calculations. Generally speaking, a flow in the Ford-Fulkerson sense, specified by the {xij}, is best approached in the resistive network sense by the solution of the following quadratic problem: find {6}, i = 1,. . . , N (6s 29 = 0) so that Eij cj(Xzj - (6, - 6j))2 is minimum. If the minimum is reached within the bounds of the domain and not at its extremities, we will have (by derivation): Vi, Ej cij(65 - 6j - Xij) = 0 A sufficient condition would be that V(i, j), 61 - 6j = xij, i.e. the FF flow can be exactly reached by the RN flow. This does not happen very often. Such a formulation, and the underlying approximation through the minimization of a quadratic form, may enable us to bound the difference between FF*and RN*. 1.3.4 Extension to several variable sources For a general network If the sources have a capacity (for instance: the maximum production of a factory), you link them to a fictitious node through an edge whose capacity is the source capacity. If the source capacity is very large or infinite, you associate a very large number to the edge towards the fictitious node. Then you can use again the FordFulkerson theorem for 1 source and 1 target node. For a resistive network However, if we try to apply the previous method in the context of networks with potential-driven flows, assuming at that stage that the source capacities are infinite, we take the same capacity M (with M big) for every link to the fictitious node and therefore obtain for every source node 1: flow arriving in i = constant Because of these constraints, this brings us far away from the multi-source problem and we prefer therefore extending the former Resistive-Network formulation. We assume we have p + 1 sources, p > 0. The first source is still noted s, with , =_0. 1, . . . , p are the other sources with variable inputs. p + intermediary nodes, with fixed inputs/outputs Rp±1 ,.. 30 ..... , n are the other , Rn. t is the target node. We write: = K=- (q ~Kp Kpq Kqp Kqq n -(p+1) Let call S the vector of the angles of the variable sources, s not included (as , =0), 6 the vector of the angles at the fixed inputs/outputs, R the vector of the fixed inputs/outputs. Equation 1.4 becomes: Kqp J +Kqq J = -R - 6t Kqt (1.11) i.e. 6 = -Kgg 1 [R + KqpS + 6 t Kqt] We want to minimize Ktp 6 + Ktq 6 +Ktt (1.12) 6t After replacing 6 by its value given in 1.12, we obtain the new function to be minimized: min[(Ktt - KqK-jq'Kqt) 6 t + (Ktp - KqKq1 Kqp) - KtqKqq1 R] row-vector scalar>O This is equivalent to saying that we want to minimize utx, with: x (= and -1 Kqp Kt- KKtq Ktt - KItqIKq 1Kqt ) under constraints of the type A x < b (to express the capacity constraints on the edges) (in the previous case, u and x were just scalars). We therefore have a classic problem of linear optimization on a convex domain. The optimum will be reached at one of the extremities of the domain. 31 This is a generalization of the previous situation. 1.4 Properties of the maximum flow in a resistive network 1.4.1 The saturated edges of the maximum flow in a resistive network are not necessarily saturated edges of the maximum flow in the Ford-Fulkerson sense Although most tests on various networks have shown that edges that are saturated in the maximum flow of a resistive network remain often saturated in at least one configuration of the maximum flow in the Ford-Fulkerson sense, in the following example, found by Sandip Roy (LEES, MIT), the saturated edge of the maximum flow in the resistive-network setting is not a saturated edge in the Ford-Fulkerson setting. (The numbers on the edges are the capacities) (D 1 ( S l1 QD 0.01 Figure 1-4: Network where the saturated edges for the optimum resistive flow are not saturated in a Ford-Fulkerson optimum flow The requirements are all equal to 0. 32 We find that the saturated edge in the optimal resistive flow configuration is edge (4, 5). The optimum power flow in t is then 0.6833 (obtained by having 0.3367 go through (s, 1) and 0.3467 go through (s, 5)) and it can be increased by taking out lines (s, 5), (4, 5), (4, t). The optimum Ford-Fulkerson flow is of course obtained by saturating (s, 1) and (s, 5) andthe optimum flow at node t is 2. Edge (4, 5) is not saturated (actually, the flow going through it is 0). In numerous other instances, the saturated edge in RN* belongs to the set of the edges that are saturated in any configuration of FF*(see Subsection 1.3.3. for an example), or at least one configuration (as we can split the flows arbitrarily, sometime we can choose not to saturate an edge, but there is often at least one case where the edge saturated in RN* belongs to the set of saturated edges of FF*). There is so far no rigorous argument for such a phenomenon but this can be explained intuitively as follows. Consider RN* and forget it is a resistive network (regard it as a general network). We know that a flow f is maximal, in the Ford-Fulkerson sense, if and only if there is no flow augmenting path with respect to f. Take the paths including the saturated edge(s) of RN*. As these edges are saturated, it is only possible to increase the flow on these paths if the saturated edges belong to the set of reverse arcs, on which you decrease the flow to obtain a higher value of the flow at t. Our numerical tests show that the saturated edges are forward edges most of the time, which is sensible as we want to bring as much flow to t as possible, in the forward direction. This phenomenon can also have the following geometrical formulation: the flow on a given edge of a resistive network is given by cij( 3 i - 6j) where 16i - 6j I 1, while the flow on the same edge of a general network is given by cijxij with 1xij I 1. Having all xij of the form Ji - Jj is, as said before, an important restriction on the choice of the xij (at least when the network is not a tree). We consider the admissible domain of the set of the variables for the general network: D = {V(ij) E E, xjjfI 33 1} c 7RIE where JEJ is the number of edges in the network. The optimum in the Ford-Fulkerson sense is reached at one of the extremities of the convex domain D. There will be at least one Ixij I equal to 1 per disjoint path from s to t, and we have seen that some xij can change continuously while preserving the value of the maximum flow, so we will obtain a piecewise linear function on the set of faces of D that will be the set of the possible configurations for the maximum flow in FF*. Besides, the optimum in the resistive network sense is usually reached by the saturation of exactly one edge, which means that it will be on exactly one face of D (not on a boundary between two faces). So the remark that we have made on the fact that the saturated edges of the maximum flow in a resistive network are often saturated edges of at least one configuration of the maximum flow in the Ford-Fulkerson sense is equivalent to saying that in most cases the intersection of the locus of the possible configurations of FF*with the facet of D that contains RN* is not empty (therefore, you can reach a configuration of FF*from RN* while staying on the same facet i.e. while keeping saturated the edge that was saturated in RN*. We illustrate our point by using the example of Subsection 1.3.3. with only xsl, Xs2, x 1 2 to make a graphical representation possible: locus of FF* Xs I and Xs2 both at I X 12 between - 1/2 and facet Xs2=1 1/2 s (-1,,-1)(1,1-1)Xs _ PN* (-1,1,1)(1,15/16,1/16) X12 ((1,-1,-) facet Xsl=1 (-1,-Fr) (5,-rg) Figure 1-5: Geometric argument 34 s So why does this intuition fail on our example? The reason is the following: when we consider our resistive network as a general network, and try to obtain the Ford-Fulkerson maximum by augmenting the flow on each path, we saturate edges (s, 5), (5, 4) and as a consequence (4, t). The other edges carry 0.99. There is a path of unsaturated forward edges from s to 4 and a path of unsaturated forward edges from 5 to t. As a consequence, once s is labeled 4 is labeled and if 5 can be labeled then t is labeled. But as we have an edge from 5 to 4 carrying a non-zero flow, once 4 is labeled we use the "backward edge" part of the algorithm to label 5. As a result, t is labeled and the flow is not optimal. To reach the optimal flow we have to decrease the flow on (5, 4) to 0. The main point here is that we have paths of unsaturated forward edges from s to j and from i to t, where (i, j) is the saturated edge ((i, j) = (5, 4)). It is also important to note that the reason why (5, 4) is the saturated edge in the resistive network is the big difference of angles at its extremities, due to the position in the network of the nodes we link together: 5 is very close to s and 4 is very close to t. If there are less edges between s and j or i and t with (i, j) the saturated edge in the resistive network (here i = 5 and where i = 2 and j j = 4), as in the example in Subsection 1.3.3, = 1, this phenomenon does not appear and the saturated edge in the resistive network is also a saturated edge in the Ford-Fulkerson sense. 1.4.2 The saturated edges are often on a Minimum Spanning Tree of the network On the face of it, it seems that the saturated edges of RN* should be some of the edges of smallest capacity. So we may wonder whether or not the saturated edges are on a Minimum Spanning Tree of the network, and we define the length of the edges as their capacities to start with. The following example shows that they are not. A triangle network (s, 1, t) with edge capacities of 1 for (s, 1) and (1, t), an edge capacity of 3 for (s, t) and a requirement of in the figure below: 35 at node 1 has the optimal flow given 3W 1/4 3/4 1/2 Figure 1-6: The saturated edge is not on a MST If we look further into the calculations, we realize that the fact that (s, t) is the saturated edge depends solely on the capacity of (s, 1) and the requirement at node 1, and not on its own capacity, as the following proof for the general case shows it: EW a IT c b R Figure 1-7: General case We have: b+ c K=[z -c ] so: [-t- co] b+c[R 61= We must have: -1 < 6t < -1 < 61 < 1 -1 < 61 - 6 < I 36 1 that is -1 6t > -1 implies 6 t > -I < C 6t cb < 1+ --1_R < +c b 6 6t - < I 1 < < 1 + R+b 1+ c- R b R + c so either (s, t) is saturated or (s, 1) but never (1, t). b (s, t) is the saturated edge if and only if R - b < 0 i.e. b > R (the capacity of edge (s, 1) must be superior to the requirements at node 1). So we see that the result is not linked very tightly to the capacities of the edges of the whole network: if a < b, (s, t) would have been saturated as well. Besides, the values of the requirements have to play a role in the saturation of the edges. Let consider for instance the following network: 1/2 2 2 11 S1/4 Figure 1-8: Other case Requirements of at node 2 saturate edge (s, 1) and the at node 1 and of optimal flow in t is going to be 2.25 with 6 t = -1.75. However, if we switch the requirements, (s, 2) is now the saturated edge and the optimum flow in t is 2.04 with -t= -1.61. So to take into account the requirements, we define a new "length" to compute the Minimum Spanning Tree, which is not their maximum capacity kj any more but: (i, R if (ij) are intermediary nodes with max(Ri, Rj) :4 0 if i is an intermediary node and M j s or t, with Ri # 0 for the other cases, with M any "big" scalar 37 This is justified by the fact that an edge is more likely to be saturated if it has a small capacity or a big requirement at one of its extremities. We review then the examples we have used so far and in every instance, the saturated edge belongs to one of the possible MST of the networks. For instance, in the case of the example given in 1.4.1, a possible MST is given below and we can note that edge (3, 6) is on the spanning tree. A case where the rule is not verified is, for 0 2 43 V 0 3 5 5 4 5 ( Figure 1-9: The saturated edge is on a MST instance for the network studied below in Section 1.5 (we will refer to this network as the "transportation network example"), when the requirements are 0 everywhere except "3" at node 1 and "1" at nodes 4 and 8. Then edge (s, 2) saturates while not having requirements at its extremities. This is of course due to the fact that an edge does not transmit power only to its immediate extremities but also to the rest of the network. Therefore, we should adapt the criterion, but it already provides a good insight into which edges are going to saturate. A possible modification to take into account the observation we have just made would be to change the definition of the length of edges with no requirement at their extremities to build the MST: instead of giving them a length arbitrarily big M, it is 38 probably more realistic to assign the following values: {k I , 0-< <a 1 for (s,i) with]Ri = 0 i ax, R #max R , 0 < #3 < I for (i,j) with Ri =R 0 (An analysis of the flows going through a given network has proved that a ki and # maxi Ri were a realistic approximation for the flows going through edges with no requirement at their extremities, respectively edges of type (s, i) and (i, j), if you choose the parameters a and / correctly - typically, a = 0.8 or 0.9 and / is between 0.3 and 0.5). Another possibility would be av maxi msiRi4 for edges (s, i) with Ri = 0. When we implement this modification to the previous case where the saturated edge was not on the MST, with parameters a = 0.9 and / 0.3, we find that now (s, 2) does belong to the MST. Although it remains an experimental observation and would need a more formal proof (and the instances where the rule is not verified should be examined in more details), we can conjecture that the saturated edge(s) of the resistive network belongs often to the MST of this network, where the "length" for each edge is, by and large, its capacity divided by the maximum requirements at its extremities. 1.4.3 The maximum flow can be increased when we take one line out In some instances, we observe an interesting phenomenon, namely the increase of the maximum flow at t when we take a well-chosen line out, which is rather counterintuitive. Example We consider the following network: 39 1/4 1/10 1w G-] (1/4 Figure 1-10: An example of optimum flow increased with 1 line out The matrix k is here: We obtain: ( 61 2.1 -1 -1 -1 3 -1 -1 -1 3 6t - 0.25 5.3 62 ( 4 3.1 By writing the constraints on the different edges, and using that we know the direction of the flow on (s, 1) and (s, 2), we have the following inequalities (the flow on (1, 2) is constant, independent of 6 t: So we have: Link (s, 1): -1.075 <t < 0.250 Link (s, 2) -1.460 < 6t < 0.250 Link (t, 1): -4.846 < 6t < -0.769 Link (t, 2): -2.761 < 6t < -0.352 I 62 = -1.075 = -0.775 The maximum flow injected is then 0.8750 and the maximum flow in t is 0.3750. 40 If we remove edge (s, 1), we have the following configuration: 1/4 1 T 1 S1 1/4 Figure 1-11: The modified example After calculations, we obtain {t = -1.417 61 = -1.333 62 = -1 The saturated edge is (s, 2) and the maximum flow in t is 0.5000. We see here that the increase of the maximum flow at the target node is due to the removal of an edge whose capacity was significantly smaller than the other ones. Mathematical formulation Of course a possibility is to remove every edge of the network, one at a time, calculate the new value of the flow at t and compare it with the former value. If we do not need to know by how much the flow is increased, we can use a quicker method, described below. The unknowns for the first, "old" network are designed by an index "o". The unknowns for the "new" network (where you removed one link) are designed by an index "n". We know that the flow at the target node is a linear function of 6 t so we define A0 , B 0 , An, B, as the coefficients in the expressions of the "old" and "new" 41 flows as follows: -P, =A, 6t + Bn -PO= Ao 6t + BO (Ot*)n (6*)o + A We rewrite P as: -Pn = AOr + BO + (An - Ao) 6t + (Bn - B 0 ) We calculate the value of this expression in (6t*)n: -P* = -PO* + An A + (An - Ao) (6*) 0+ (Bn - Bo) We have seen before that the coefficient An is (strictly) positive. So the general expression for the increase of the flow is: Theorem 1.4.1 The maximum flow at t increases iff: A< Pn((6t*)o) - Po((6t*)O) - An z. e. Pn(0) - Po((6t*)o) An (because Bn = -Pn(O)) (6t*)n corresponds to the maximum of the minimum values of the bounds on 6t, so we compute the minimum value of the bound for a given edge and compare it to Q Pn(O) - Po((6*)O). If we find an edge for which Q is smaller than the minimum bound, we stop: we are sure that the maximum flow will not be increased. You can actually express the relation more precisely if you study which edge you are taking out. We give these relations below. Relation if we take out a line that was not connected to the target node Ktt, Kt,1-+, Ki-mt and of course R remain unchanged. 42 If the line we remove was connected to s (we note it (s, i)), Kn= Ko - ksiEi where Eii is the zero matrix except for its (i, i) element that is 1. If the line we remove was not connected to s (we note it (i, )), Kn = Ko - kjj Ejj where Eii is the zero matrix except for its (i, i) and (j, ) elements that are 1, and its (i, j) and (j,i)elements that are -1. We have (6t*)n = (6t*)o + A (When we do not give any index to the element it means "old network") So we have: -P* =(K,t - K 1 _,nK, K 1 ,e)((5t) 0 + A) We express Kn in function of Ko We have Kn [Ko(Id - ksjKO0 1 E ] K - K, 1 _>K R =[Ko(Id - kijKo or Kn Eij)]-1 After calculation, we find that due to the special structure of the matrices Ei Ej)- 1 and (Id and Eij, that are of rank 1, (Id - ksi$K can be -k rewritten in a more usable form. E-1) 1 = (Id - k 8iK 0 = (Id - kij~o -1 E4 I = = ksi 1 Kk 1 - k8s(Ko )jj Id+ Id + 1 - ki [(K0 -1 Ei - _1 );, + (= J KE =0o )., - 2(Ko E2 ).,] So in both cases we can write the matrix as Id + bA, which enables us to write: P= A>n [K -PO -b K, 1 Ao 1 n,t (67 ) o+ R] + (K,- K,1_(Id bA) So the general condition here to have the flow increased is: 43 K 1 _,)A Theorem 1.4.2 The maximum flow in t is increased by removing a line not connected to t iff: -- (6t*) < (6t*)o + bKt,1-nAKo 1 [Ki-m,t(6t*)o = Ktt - Kt, 1 4+(Id + bA) K -1 + R] KI4n,t where b and A are defined above. The coefficients corresponding to the new network are b and A only, which makes this quantity easily computable. Relation if we take out a line that was connected to the target node If the line was also connected to the source node, i.e. is (s, t), the only coefficient that changes is Kt,t. Calculations similar to the ones we presented above give us: Theorem 1.4.3 The maximum flow in t is increased by taking out (s, t) (if this line exists) iff: (6t*)n < (Ot*)o + kst (6*)o t Ktt - kst - Kt,1_4nK 1 K1 -,t i. e. W~ =K 1 ,0 t Kt,t - kst - KtismK Kian,t For the case where the line is connected to t and an intermediary node, all coefficients vary and we have to use the general expression without trying to express An or Bn in a simpler way. Additional experimental observations For a given network with prespecified requirements at its nodes, we compute the maximal flow that can reach the target node. We also compute the flows that go through any edge of the network for this optimal configuration and split them into three categories: small, medium and big flows (the boundary values for each category are determined empirically so there is a significant, although not too high, number of medium and big flows). We represent the type of the flow for each edge of the network 44 on the graph (with for instance colors or different types of lines). Then we add to the graph, in another color, all the edges that, according to our MATLAB program, should be removed to increase the maximum flow. Several interesting properties appear in the pattern of repartition of the edges to be removed compared to the different types of flows: * there is usually a succession of candidate edges, that is, when an edge is candidate, at least one of its adjacent edges is also going to be candidate. (This has =-1 =--1 to do with the way KO EijKO 1= 1 and (KO )jj - 2(K 0 )0i) vary in function of j for a fixed i). * in the majority of the cases, the edges to be removed carry small flows, occasionally they carry medium flows. " the edges to be removed are very close neither to the source node nor to the target node, and they can even be quite far away. * when the medium and big flows remain localized in the network there are fewer edges candidates (or even none). We illustrate our topic by giving three examples, that we will refer to as "the small square", "the big rectangle" and "the transportation network". For each example we give several configurations of the requirements to show how the patterns of the edges with big flows and the edges that should be removed evolve. The requirements are indicated in the left figure, where the different types of flows are represented. In the right figure are represented the edges that are saturated (semi-dotted lines), the ones that should not be removed otherwise the requirements will not be feasible any more (if such edges exist) (dotted lines), and of course the edges that should be removed to increase the maximum flow at the target node (thick lines). In the example of the small square (resp. the big rectangle), all edges have a capacity of 5 (resp. 2). The capacities in the case of the transportation network have already been given in a previous part of this work. 45 Case of the small square: 1 1 1 I I I I 1 1 1 I S 1 ---- 1 1 T 1 1 1 Figure 1-12: Small square, expl 1 0 0 0 0 0 0 0 1 0 S 1 ._ __ __ 0 T I I ' ' 0 0 0 I .0 0 0 Figure 1-13: Small square, expl 2 46 1 1 0 1 1 1 0 0 1 1 0 S 1 0 1 | o 0 T 1 1 1 Figure 1-14: Small square, expl 3 1 0 0 0 0 1 0 0 0 S 0 0 _ _ 0 0 0 I 1 T 0 0 0 Figure 1-15: Small square, expl 4 47 0 0 4 0 0 0 0 0- 0 0 0 S 0 0 0 4 0 0---- 0 0 0 ___ 0 0 T 0 0 0 Figure 1-16: Small square, expl 5 Case of the big rectangle: (when the requirements of the load nodes are not specified, we assume it is zero) 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1: _ _ _ 0.1_ . 0.1 _ __0.11 . 0.1: 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 Figure 1-17: Big rectangle, expli 48 0.1 0.1 T S 0.1 0.1 0.2 0.2 0.2 0.2 --- - - 1D 0.1 0.1 0.3: 0.3 0.3 T Figure 1-18: Big rectangle, expl2 0.1 0.2 0.2 0.2 0.2 0.1 0.1 s T Figure 1-19: Big rectangle, expl3 49 0.3 O.3 0.3 0.3 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.11 0.11 0.1 0.1 0- -. 1 01 0.1 0.1 01 0.1 0.1 0.1 0.1 0.1 0.1: 0.: 0.1 01 0 .1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 o.1 0.11 0.1 0.1 0.1 0.1 0.1 0.11 0.1 0.1 0.1 0.1 01 0.11 0. 1 0.1 0.1 0.1 0.11 0.1 0.1 0.1 0.1 0.1 T Figure 1-20: Big rectangle, expl4 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1' 0.1 0.11 0.1 0.1 0.1 0.1| 0.1 I | T s Figure 1-21: Big rectangle, expl5 50 - 0.1 F~1~I 0.1 0.1 __ __ __ __ 0.1 0.11 1 Figure 1-22: Big rectangle, expl6 0.1 - - - -_____-_____0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 S Figure 1-23: Big rectangle, expl7 51 1 I __ Case of the transportation network: Here as the network is fairly small we draw only one graph. The saturated edge is designated in very thick lines and the edges the removal of which will increase te maximum flow at the target node are designated in very thick dotted lines (the other conventions are unchanged). 0 0 0 ' 0 0 0 Figure 1-24: Transportation network, expli 31 0 ' 00 0 0 Figure 1-25: Transportation network, expl2 52 0 0 2 S '' 0T 0 0 0 2 Figure 1-26: Transportation network, expl3 The influence of the capacities at the edges (in two of our examples, all edges have the same capacities), the requirements at the nodes (beside the fact that when two adjacent nodes have high requirements it is often good to remove the edge between them) , and the degree of the nodes in the network (assuming it may have an influence because it tightens the network more) remains to be quantified beside the mathematical formulation we have given above in terms of b and A. A quick study of the utility of the edges in the example of the "transportation network" has been carried out as follows: we have removed one by one every edge in the network and computed the maximum flow at the target node in this new configuration as well as the edges that now have to be removed to increase the maximum flow. (Then we add the edge that we had removed, remove another one and do the same process again) For each set of requirements, we sort the type of configurations of the network (the initial one and all the possibilities for the initial network minus one edge) according to the maximum flow they enable the target node to get (each type of configurations is simply denoted by the edge that has been removed from the initial network, or 0 if it is the initial configuration). We then try to see if some edges are usually very good or very bad candidates for the removal, that is if there is, in addition to an obvious requirements factor (the edges to be removed depend on where the requirements are), a topological factor (the edges also depend on the topology of the network: the degree of the nodes, the capacities of the edges). Our 53 analysis seems to indicate that the requirements factor has a bigger influence than the topological factor, there is a big variability in the edges that should be removed, however, on the face of it, the edges not to be removed appear more easily than the edges to be removed when we consider only the topological factor. This would need to be looked into with more details. Let note to finish with that the number of categories has been so far chosen arbitrarily and a higher number of categories could provide a better insight into the repartition of the edges to be removed, compared to the flows. Besides, the removal of some edges will only induce a small increase in the maximum flow at a given node, whereas the removal of other edges will induce a much higher increase, so we should also discriminate between the utility of all these edges whose removal can increase the maximum flow. However, an easy way to discriminate between the potentially interesting edges does not seem to exist. 1.4.4 Some configurations are not feasible when we take one line out and become feasible again when we take a second line out Keeping in mind that a too high strain on the network, due for instance to lines taken out for maintenance or "broken" (such as in the case of power outages), can induce widely spread cascade failures, we are interested in finding out whether or not the strain on the network can be in some case decreased by taking some lines out (as the operators rarely have the possibility of taking lines in). We simplify the problem here by considering the case where some configurations are not feasible at all when we take a certain line out, and become feasible again when we take another well-chosen line out. In this section, we fix the requirement at node t. Example We consider the following network: 54 1/10 1 1/ 6/10 F-] Figure 1-27: An example of requirements admissible again with 2 lines out The optimal angles are given by: I = 61 The optimal flow is: -0.9144 62 - -0.7087 6t - -1.1113 0.091 0.197 0.2 06 0.403 0.709 6/10 G/1] Figure 1-28: Optimal flow for the initial network Now we remove (1, 2): 55 1/10 16/1 1/10 Figure 1-29: New topology: 1 line out The optimal angles should be: 61 -1.2305 = -0.6768 62 -1.2536 t= But 1611 > 1 is impossible. So the requirements are not feasible any more. Then we remove (1, t): 1/10 1 1/10 1 1 6/10 1/10 Figure 1-30: New topology: 2 lines out The optimal angles are: 61 = -1. 62 = -0.7 6t = -1.3 56 The optimal flow is: 1/10 1/10 6/10 7/10 1/10 Figure 1-31: Optimal flow with the last topology The requirements are feasible again. Mathematical formulation For each edge that we remove, we compute maxedges FKr- RI (P is simply the node-incidence matrix without the line corresponding to s as the angle of the source node is always zero). If this quantity is inferior or equal to 1 the requirements are still feasible. Otherwise, they are not feasible any more, and in that case we run the program again to see whether removing another line can make the requirements feasible again. But if we are concerned solely with the edges that should not be removed from the network (otherwise the requirements will not be feasible any more), a good insight is already provided by the following analysis: we try to determine under which conditions maxedges IFKJ RI is going to be superior 1 if it is given that maxedges oFK RI is inferior to 1. So we express FP'Kn7'R using PFK, R. We have: Kn Ko - keEe (where e is the edge we remove) The operator "bar" is linear so K, is simply RK intermediary nodes of the network, say i and 57 - keEc. If the edge e links j, or an intermediary node i with the target node t, E, is simply going to be Ej or Et. Otherwise (when the edge links an intermediary node i with the source node s), Ee is going to be Eii, whose only non-zero element is in (i, i) and is equal to 1. We use the results of the previous section about the expression giving KJ to assess that: FKn R =(F±' + A )(Ko + lego e~o 1 R) where 1e is the coefficient defined by: Kn 1 o - Id=e~o-1Fe i.e. FnKn R = FoK The term A/KO R + [,A + le(Po + A')ko e]K R R cancels out FOKJ R for the line we remove and has therefore little interest in our analysis. In what follows, we concentrate on: le(Fo + A)Ko EeK 1R EeKo R is the difference of angles (in the "old" configuration) at the extremities of the edge that we are removing, it also represents the ratio "flow/capacity" and gives an idea of how close this edge was to saturation. Another term of interest is le which is linked in a simple way to the capacity of the edge ke and the other capacities of the network (as they appear in k 0 1). So the bigger the ratio "flow/capacity" in the old network for the edge we are removing, or the bigger 1e, the more likely we are by removing this edge to enter a configuration where the requirements will not be admissible any more. We can also notice that leIe can also be written, if e = (i, j): Fj lZ- ki[(K0 _1)i1 , + ((K_I -e-[=:O'~ (Ko 1,j -- + (K0 (k - ) - 2(K0 -1)~ i _+ )jj - 2(Ko )j,] jR_1. ) , is E K0 . Therefore the risk that the requirements will not be met in the new configuration 58 is high when the flow going through the edge is big (which is obvious, although we have here found the exact relation of dependency) or when EijR0 into account only some coefficients of R7) (which takes is small. (A similar expression can be obtained when the edge is of the type (s, i)). We check our analysis on the example of the transportation network. We compute the quantity: Ms - = - ksj|6j| ( 1 1 - kij[(Koj) k Ik I| i + (Ko~ )jj - 2(KO )ij] for each edge of the network and for each configuration of the requirements. We order then the mj. and study whether these values have a correlation with the edges that should not be removed in the network. We observe the following: " the edges of small mij are edges whose removal does not affect the fulfillment of the requirements " the edges of big mij are edges whose removal is going, with certainty, to make the fulfillment of the requirements impossible * there is a zone of medium mij where the removal of the edge can sometimes prevent the requirements to be fulfilled and sometimes not (the margin by which the requirements are fulfilled or not remains to be studied, it may be very small values) So there is no value of mij which would clearly make a boundary between the edges whose removal does not affect the fulfillment of the requirements and the edges whose removal does, but the mij have an obvious correlation with the importance of the edges in the network. For instance, for the network given in example at the beginning of this paragraph, we obtain the following results: requirements not met by taking out the line: s 2 requirements not met by taking out the line: 1 2 59 but met by taking out the line: s 1 but met by taking out the line: 1 t requirements not met by taking out the line: 2 t but met by taking out the line: s 1 On the other hand, we find the following mij: We see that (s,2) has a very high Edges Coefficients (s,1) (s,2) 0.1067 8.2667 (1,2) (1,t) (2,t) 0.5538 0.5750 1.1750 Table 1.1: Our coefficients for the utility of each edge coefficient mS2, and its removal cannot be counterbalanced by the removal of another edge. The removal of (s, 1) does not affect the fulfillment of the requirements and this edge has the smallest coefficient of all edges. We can also notice that mit is very close to Mn1 2 but the requirements can still be satisfied after the removal of (1, t), not after the removal of (1, 2). However, the mij do not seem of a significant help when it comes to determining if the removal of another edge would make the requirements feasible again (besides, it does not seem to predict very accurately which edge should be removed to increase the maximum flow in one edge of the network). 1.5 Example In this section, we apply the results we have obtained so far to the network below and use our algorithms to study which links are of importance. The network topology is given below. (The load nodes are indicated with circles, and the numbers on the edges are their capacities). We run the programs for a uniform set of requirements of 0.1 on every intermediary node and obtain: 60 6122 1 8 1 722(?2Q5 <-I S I 1 3 1 20 5 10) 19 1 2 (:12) 13 2 1 17 2 2 3 1 2 16 U4 3 2 I 2 2 Figure 1-32: A more complex example Optimal flow: 1.3948 Reached for deltat= -3.4113 Saturated edge: (19,20) Requirements not feasible any more by taking out line (2,3) Flow increased by taking out line (9,10) Flow increased by taking out line (13,14) The mij are given at the end of this section. 61 (2, 3), the only edge that should not be removed, is also the edge with the highest coefficient. The edges the removal of which increase the maximum flow at the target node do seem to belong to the set of edges with small flows, although the role of the different capacities in the network should be better quantified. For the same set of requirements, except at nodes 3, 7, 13, 21, where the demand is 0.5 instead, we obtain: Optimal flow: 0.2979 Reached for deltat= -2.8881 Saturated edge: (18,19) Requirements not feasible any more by taking out line (s,1) Requirements not feasible any more by taking out line (2,3) Flow increased by taking out line (9,10) Flow increased by taking out line (11,12) Flow increased by taking out line (13,23) The mij are given at the end of this section. Once again, the experimental results are coherent with our analysis. 62 Edges (s,1) (s,18) (1,2) (2,3) (2,19) (3,4) (3,5) (3,22) (4,5) (5,6) (6,7) (7,8) (7,10) (7,22) (8,9) (9,10) (10,11) (11,12) (12,13) (13,14) (13,23) (14,15) (14,20) (15,16) (15,21) (15,24) (16,17) (17,18) (18,19) (19,20) (20,21) (23,t) (24,t) Coefficients 8.1508 4.3333 2.8625 10.6110 0.2727 0.2267 0.7377 0.7147 0.0696 0.5118 0.4302 0.2413 0.2565 0.8738 0.0398 0.6416 0.8250 2.6194 1.7944 0.0373 2.4386 0.4190 0.1443 0.1117 0.2157 1.0631 0.7527 1.2820 0.5594 0.1383 0.0059 1.9761 1.4088 Table 1.2: Final example, case 1 63 Edges (s,1) (s,18) (1,2) (2,3) (2,19) (3,4) (3,5) (3,22) (4,5) (5,6) (6,7) (7,8) (7,10) (7,22) (8,9) (9,10) (10,11) (11,12) (12,13) (13,14) (13,23) (14,15) (14,20) (15,16) (15,21) (15,24) (16,17) (17,18) (18,19) (19,20) (20,21) (23,t) (24,t) Coefficients 13.6462 6.5789 5.0611 20.0485 0.5092 0.2798 0.9785 1.0991 0.1758 0.8402 1.0870 0.1914 0.5214 1.6426 0.0897 0.7414 1.5565 4.0824 2.5259 0.5146 4.8676 0.8729 0.3861 0.3878 0.6810 2.0044 1.3050 1.8343 0.9969 0.4120 0.8240 3.5951 2.3501 Table 1.3: Final example, case 2 64 Chapter 2 Optimal design and growth of small resistive networks under the constraint of minimal cost In this chapter, after a brief introduction (Section 2.1), we describe a procedure to optimally design a network with 1 source node and 2 sink nodes through an original geometrical algorithm (Section 2.2) and extend this procedure to the case where we add nodes to an already designed network (Section 2.3). We then compare the networks obtained through this "growth procedure" to networks designed in a single step (Section 2.4). We end this chapter with a few comments (Section 2.5). 2.1 Generalities In this part, we will only optimize the design of the network under the criterion of the minimum cost, with the constraint that every sink node must be provided with the flow it requires: this implies that every sink node will be connected to at least one source node. The cost of the line will be a function of the type of the line, i.e. its capacity, 65 and its length. We assume the set of the types of the lines is discrete. COST = F(type of the line, length of the line) The maximum power flow that can go through this line is given by the following formula: Pmax 'VV Smax - where: IVI and IVI' are the voltages at each extremity of the line, I is its length, x is the inductance per unit length (which depends on the capacity of the line), smax is the maximum value that the sine of the difference of the generator angles can take without jeopardizing the thermal and dynamic stability of the line. We can note that this expression of the power flow through a transmission line is valid only under the short-line model, which implies that there is no transmission loss. This seems a reasonable assumption to start with. Finally, we can say that K(type of the line) length of the line We make the following restriction on the cost: we consider that it is the product of a function of the type of the line and of a function of the length of the line. COST = f (type of the line) - g(length of the line) We choose to note "1" the smallest type of line, "2" the type immediately bigger, etc, till "n", the biggest one. Typically, n will be 2 or 3. The cost of the line increases with its type and also with its length, which means that the functions f and g are monotonically increasing. This matches the intuition. 66 We will first consider the simplest possible network, composed of one input node and two output nodes, and analyze the different solutions (depending on the initial hypothesis) of the optimization problem obtained in this case. Then we will examine the circumstances that can lead to a saturation of one or more links in the network (in a static approach), and study the case where one node is added to an already designed network. We will also compare the network that is obtained this way with a network with the same number of nodes where all edges have to be built in a single step, and try to generalize our results within the computational limits of this NP-hard problem. 2.2 Design of a network with 1 source node and 2 sink nodes 2.2.1 Design of the optimal network The notations are indicated in the following figure: 113 R2+R R3 -R 20 123 R R2 R3 Figure 2-1: Notations R 2 and R 3 are the requirements at nodes 2 and 3 for which the network is to be designed. We assume that the source node can always meet the requirements. The flow R can be either positive (if it goes from node 2 to node 3) or negative (if it goes from node 3 to node 2). The flow from the generator to any load is positive in this "closed" configuration, 67 because having power coming back to the generator would mean that we sent too much in the network and obviously this is not optimal (the optimal configuration would be there to decrease the power flow sent into the network and not build the link where the power comes back to the generator). We have therefore the following inequality: -R2<&R < R3 Actually, all values of R within this range are not admissible by a network with potential-driven flows, as we have seen in the previous chapter. We will come back on this important point later. The problem of designing the network under a constraint of minimal cost has here only one unknown, R, and can be written in the following way: min -R2<R<R3 with f [f ((R 2 + R)l1 2 ) - 9(1 12 ) + f((R 3 - R)113 ) -g(li3) ± f (IRl 23 ) - 9(123)] taking discrete values corresponding to the cost associated with the type of the line and g varying continuously. From the optimal solution R* that is found we can deduce the capacities to be given to each link and the problem is solved. We can have four different cases: e R* = -R 2: the link from node 1 to node 2 does not exist, the optimal network has only two links R2 +R 3 R2 R2 R3 Figure 2-2: No link between nodes I and 2 68 " R* = R 3 : the link from node 1 to node 3 does not exist, the optimal network has only two links R 2 +R 3 20 R3 R2 R3 Figure 2-3: No link between nodes 1 and 3 " R* = 0: the link from node 2 to node 3 does not exist, the optimal network has only two links R2 R 3 2 R2 R3 Figure 2-4: No link between nodes 2 and 3 " otherwise, the optimal network has three links 69 R2+R R -R * 0D 2 R R2 R3 Figure 2-5: All links We can note that if the requirements are small enough so that in the whole optimization problem we will only have to consider transmission lines of the smallest type without saturating them, the optimal solution to the problem boils down to finding a Minimum Spanning Tree in the network, given the properties of the function g. It is interesting to note that in the more general case where several types of lines can be used, a tree may not be always the best solution because the small lines can be significantly cheaper than the big ones: then it would be better to have three small lines instead of one big and one small (or two big ones). The function to be minimized is of the following form (the crosses correspond to cases where you have only two lines): C 0 T -R 2 R 3 0 Figure 2-6: Cost function 70 It is quite difficult to draw conclusions on the design of the optimal network using this approach, as the function takes discrete values, so we will use another representation, described below. Let note b1 (resp. b2 , ... , bc- 1 ) the maximum value R - 1 can take on a line of type 1 (resp. 2, -, C - 1), having a length 1 and a flow going through it (in absolute value) R C is the highest type of capacity we can have on a given link. This means that, if the flow increases once we have R - 1 = bi for a certain i, we have to change the type of the line and use the type i + 1 instead to be able to convey the new flow. In other words, with R the flow (in absolute value) that has to go through a line of length 1, bi- 1 < R - 1 < bi means that the line will be of type i (R -1 < b1 means that the line will be of type 1 and R -1 > bc- 1 means that the line will be of type C). In the (1, R) plane, the curves "R = i" represent the boundaries between the different types of line, as follows: R RI=b 3 RI=b 2 Rl=b1 Figure 2-7: Boundaries of the types of lines Let come back to our optimization problem. We have to distinguish between the cases "fR > 0" and "fR < 0". For R c [0, R 3], we can enumerate the possible discontinuities (that is: the values of the flow on a given link for which you have to take a higher capacity) as follows: * 0 and R 3 , because they correspond to the cases the link from node 2 to node 3 (resp. the link from node 1 to node 3) does not exist: as soon as the value of R is 0+ or R3 , we have to build the link and there is a discontinuity in the cost 71 " for the link from node 1 to node 2: we consider the family of equations "(R2 + R) - 112 = bi" for i =1,..., C - 1, i.e. R =- bb - R2 for i =1..C 112 As R is bounded by 0 and R3 , it is possible that not all these discontinuities are encountered, we keep only the ones that are in our interval " for the link from node 1 to node 3: we consider the family of equations "(R3 R) . = 113 bi" for i 1,..., C - 1, i.e. 1 R = R3 - fori 1,..., C - 1 113 Once again, as R is bounded by 0 and R 3 , it is possible that not all these discontinuities are encountered, and we keep only the ones that are in our interval * for the link from node 2 to node 3: we consider the family of equations "fR -123 bi" for i = 1, ... , C - 1, i.e. R = b for i= 1,...,C123 1 We can then order these discontinuities on the interval [0, R31. Between two consecutive discontinuities the cost of building the network remains constant as the type of the links does not change. Then we only need to pick the configuration corresponding to the smallest cost (and then compare with the smallest value given for R c [-R 2 , 0]). An easy way to calculate the optimal cost of the network is given below: on the (l, R) graph representing the limits between each type, we consider the three possible lengths of links (1 12 , 113 and l 23 ) and the range of the flows going through them when R increases from 0 to R 3 (resp.: R 2 to R2+ R 3 , R 3 to 0 and 0 to R 3 ). This gives us vertical segments that intersect some boundary curves at one of the discontinuity values given above. We number these points according to their order 72 on [0, R 3 ] and write the sequence of the capacities of the links required to provide enough power to each node when R increases from 0 to R 3 . Then we can compare the different sequences, knowing that if two sequences differ only by one number, the sequence that has the smallest number will be the cheapest one (for instance, the sequence "2-2-1", which means that the link from node 1 to node 2 (resp. I to 3, 2 to 3) has a capacity of type 2 (resp. 2, 1) will be cheaper than "2-3-1"). For the remaining sequences, we have to write down the costs and make the calculation. We now come back to the fact that all values of R between -R 2 and R 3 are not admissible for a network with potential-driven flows. We need to have the difference of potential along every edge less than a prespecified value (that we took equal to 1 in the previous chapter, using the usual linear approximation of the sine). To calculate the difference of potentials we use the same method as before and compute K-IR (that actually gives us the sine of the difference of potential). Then we check that the expressions are in the appropriate range. Here k can be written as: [F 12 -F + F2 3 -F23 23 F13 +F23 Finally, we find by using a linear approximation the condition: F2 3 > max(FU 2 R 3 , F 13 R 2 ) -F12F13 (F 12 + F1 3 ) - (R + R ) 2 3 So we modify the calculation of the cost as follows: we add a new element to the cost, the value of which will be 0 if the condition above is verified and M (with M very big) if it is not. Then the procedure is complete. We give an example to clarify this explanation. We consider here only 3 different types of lines, with bi = 10 and b2 We have 112= 4, 113 = 5, 123= 20. 6 (in a given unit), and R2 73 = 1, R 3 = 7. The values of the discontinuities between -R 2 and R 3 are, in increasing order: -1.0 0 1.5 1.7 3.0 3.3 4.0 5.0 7.0 The corresponding succession of configurations (with R increasing from -R 2 to R 3 ) is: For the fully connected networks, we have to check whether the condition mentioned above to make the configuration admissible for potential-driven flows is satisfied. We keep only the cases where it is. (When an edge is of type 3, we take 100 as the limit). We find all fully connected configurations admissible except 2-2-2. By comparing the candidate configurations two by two, we obtain a reduced set of possible optimums with their cost (ci denotes the cost per unit length for type i): 74 Configuration 0-3-1 1-3-0 Cost 5c3+6 ci 4c 1 +5c 3 2-2-3 9 c 2 +6c 3-0-3 10 c 3 3 Table 2.1: Possible optimums We solve the problem for two different sets of costs per unit lengths: Set of costs Best configuration Cost Comments c1 =1 c2 =2 c3 =5 cI=10 c2 =3 c3 =12 1-3-0 2-2-3 29 99 Tree Fully connected network Table 2.2: A tree and a fully connected network as optima 2.2.2 Limiting variations of the demand at the sink nodes We look here into the consequences of significant variations in the requirements at each load node around the values for which the network has been designed. We use a static approach. For a tree network We consider only the case where the existing links are the links from node 1 to node 2, and from node 2 to node 3. Our conclusions can be easily extended to the other types of trees in this network. R 2 +R 3 In R I Figure 2-8: Tree-network studied 75 If we note: * F 1 2 and F 23 the maximum power flows the links (1, 2) and (2, 3) can transmit in theory (that is, with a difference of node angles of 90deg), * P 12 and P 23 the flows really transmitted by the network, * 612 and 623 the differences in the node potentials, we have the following relations: P 12 = F 12 sin 612 P 23 = F23 sin 623 and we reach the saturation when we have: R2 + R 3 = F12Sm or R3 = F23 sm where sm is the maximum value sin 6 can take for thermal and dynamic reasons. This gives us an admissible domain for (R 2 , R 3 ) as described in the two figures on the next page, one for the case F 12 > F 23 and the other one for the case F 1 2 < F2 3 (the admissible domain is hatched). As the link from node 1 to node 2 carries more power than the link from node 2 to node 3, the assumption F 12 > F23 seems quite sensible. For any (r 2 , r 3 ) E D, we can find 612 and 623 to have the correct flows going through the network, they are: arcsin 612 623 = F 3 arcsin Otherwise the network cannot supply the required power. 76 R F s 12 m F s 23 m F 12'm F s 21 m .R2 k F12 S F F 23 --F2s 12 m , R2 F23 >F1 12 Figure 2-9: Admissible domain The saturation will be on link (1, 2) first if: { r 2 r2 > (F 12 - F23)Sm + r3 = F128m The saturation will be on link (2, 3) first if: { 0 r3 r2 = < (F 12 - F23)Sm F23sm For a fully connected network R2+R R 3 -R 0 2 R R2 R3 Figure 2-10: Fully connected network In this case, it is more difficult to predict which link is going to saturate when the demands at the load nodes vary from their nominal values. We will try to answer 77 the following question: what are the (R 2 , R 3 ) "reachables" by the network (that is, for which there exists (612, 613, 623) so that the required power flows are supplied at the load nodes)? We have the following relations: { = F 12 sin612 = R 2 +R P 13 = F 13 sin 613 = R3 - R P2 3 = F23 sin623 P 12 with R c [-R2, R3] and 623 = 613 - R 612 We can express R2 and R 3 as functions of 612 and 613 only: { R2 = F 12 sin 612 - F 23 sin (613 - 612) R3 = F 13 sin 613 + F23 sin (613 - 612) or, in a slightly simpler form: { = F 12 sin 612 - F 23 sin (613 R2 + R3 = - 612) F12 sin 612 + F 13 sin 613 For the sake of the simplicity, we will note sin 6 ij "sij" and cos 6ij "cij" By writing sin (613 - 612) as s 13 c 12 - 1 - sj (because the angles are always in s 1 2 c1 3 , and cij = [-90, 90]deg the cosine is always positive), we finally have: (R 2 , R 3 ) = f (s 12 , 813) or more precisely R2 = R2 + R3 As 0 < s13 < Sm F 12 S1 2 - F 23 8 13 1 - + F 23 s 12 1 -S 3 F 12 S1 2 + F 13 s1 3 (the sine is positive because the flow comes from the generator), 78 we have, using the second relation: 0< R2 + R3 - F 12 Sm 12 F 13 i.e. R 2 + R 3 - F13sm R2 + R3 < 1 F12 F 12 but we have also 0< s12 < sm + Rw13 F12s12 in function of s12, si3 being then given by the formula s13 = R2 we want only to solve in 812 the equation: R 2 =F12s12 F23 - 1 (813 s12 - - 1 S12 S3) - for: max (0, R2 + R 3 - F13Sm s12 < min F 12 R 2 + R3 (sm, F12) After calculations, we find that this is equivalent to solving f (s12) = 0 with = -R2+F12-sf (s) f~s)F 2 3 R 2 +R 3 -F F( F13 1 2 -s)v/I - s2+ F23-S 1 - ( R 2+R 3 -F 12 S) 2 F 13 A straightforward derivation shows that for all s, ds > 0: f is monotonically increasing. Therefore, there exists a s12 solution (and (R 2 , R 3 ) are reachable by the system) if and only if: f (max R2 + R3 (0, - F13Sm> F 12 We can note that f(0) = -R 2 - < 0 and 23-(R 79 2 f (min + R 3) so R2 + (sm, f(0) < 0. F12 R3 > 0 Therefore, the "boundaries of reachability" by the system are: f (R 2 += F m) F12 3 and f 0 s RmRn ;> 0 F12 or f max 0, R 2 ± 3 - F 12 3 Sm)) F 0 and f(sm )f 2 +R F12 3 =0 Example We use our former example, R 2 - 1, R 3 "2-2-3". Then F 12 = 5, F 1 3 = 4 and F2 3 = = 7, in a fully connected configuration 33. We obtain after calculations the following conditions of feasibility (with sm = 1): f (0.8) < 0 and f (1) > 0 We have here: f(0.8) = -16.8 and f(1) = 25.8, so the feasibility conditions are verified. We can also check this by using the approach developed in Chapter 1, with the linearized model. The big difference in the formulations is that with the approach that we have just developed, we do not need to linearize the equations in the power systems context. We find: 1 61 -0.8454 7J 62 -0.94321 so no edge is saturated and we find again that these requirements are admissible, i.e. reachable by the network. If now for the same network we consider a change in the requirement at node 2, R2 = 2, we obtain that the only possible value for s is 1, but f(1) = 3 # 0 so these requirements are not admissible. With the other approach we find: 2 61 -0.9621 7 62 -1.0473 80 so, as 1621 > 1 the requirements are not admissible. Therefore, the two formulations are consistent with each other. We can also have a look at the boundaries for the reachable requirements given by these two methods. For instance, if we fix R3 and have R2 vary, the method developed in Chapter 1, that takes only into account the linearized model, shows that the highest admissible value for R2 is around 1.545. But the method developed in this chapter shows that the actual highest admissible value is 1.979. For instance, for a R2 between th tewo bounds (1.545 and 1.979), say, 1.8, we find with the first method: [1 F-0.9388 62 -1.0265 but with the second formulation we have f (max (0, R -Fi F 12 f (0.96) = -6.24 =2+ 3 8m and f (min (sm, R 2 +R3 - f (1) = 13.50 and a straightforward dichotomy shows that s*2= 0.97. It shows that the actual admissible domain for the requirements is bigger than we would think by considering only the linearized model. This is due to the fact that the linearized model overestimates the flows going through the edges (because sin(x) < x) so we reach the saturation more easily in the linearized model. Therefore, our results match the intuition. 2.3 2.3.1 Adding nodes to an already designed network Adding a source node to our basic network According to our assumptions, the source nodes are not limited in generation. Problems arise only if new sink nodes are so far away from the existing source nodes that 81 not enough flow can reach them (in the context of a resistive network). Therefore, adding a new source node will occur only if the demand of a new sink node cannot be met in the present configuration and the way we link a new source node to the network depends a lot on where the problematic sink node is located and not only on considerations of minimum cost. This explains why we will not go into further details for that particular case. 2.3.2 Adding a sink node to our basic network For each configuration of the network already built, we can adopt notations on the flows so that the flow from node 2 to node 4 (the new node) will be x, the flow from node 3 to node 4 will be y, and the flow from node 1 to node 4 is R 4 - x - y, where R 4 is the nominal requirement for node 4 (see the figure on next page). We assume that x and y are positive (an extension to the case where they are not would be straightforward) and we always have x + y < R 4 . This is equivalent to saying that 0 < x < R 4 and 0 < y < R 4 - x. So, no matter what configuration was formerly chosen for the network, our objective function is now: f((R4 - x - y) 1 14) - g(l 14 ) + f(x 124) - g(124) + f(y 134) g(13 4 ) - with f(0) = 0, which means that no line is built. But the ranges of x and y, on which the minimization is to be done depend on the former configuration of the network (without the new node), more precisely on the capacities of the links already designed. We will here solve the optimization problem without considering the capacities of the links already designed, after finding the optimal solution we will check if the links can support such flows and if not we will take the second, third, etc, best solution, stopping when we have found admissible flows on all the already designed links. On the admissible domain defined by (0 < x < R 4 , 0 < y < R 4 82 - x), we draw the R R-X-Y -Y -X R 2 +R +X+Y 2 3 R3+' ( - Y /A -x R 3 +Y 3 +R+XX -'- R -X-Y 4 4-X-Y R2+R+X +R +X+Y R22 +R3 x 3- R +X R 2 Figure 2-11: Configurations with an additional node boundary lines delimiting the different types of the links: 124 y x+y for Zi , ... , C - i - 4 134 =R4 - I We obtain the following figure: 83 b 114 Y R4 2-1-3 1-0-3 X+Y=R 0-1-3 1-1-3 4 - BI/L 14 1-1-2 2-0-342 34 022 122 2-0-2 2-3-2 2-2-2 2-1-2 1-3-2 -0-2 X+Y=R 4 - B2/B 2 0-3-2 14 /L34 34 2-1-1 0- 1- 3-1-0 2-3-1 2-2-1 3-1-1 3-2-0 3-2-1 2-3-0 \2-2-0 B /L 2 24 B1 / L24 1-3-0 X R 4 Figure 2-12: Various possibilities for a 1-i 3-o network We calculate then the cost associated to each combination and take the minimum. This minimum is associated with a certain range of values for x and y. If no (x, y) in this range is admissible for the links already built in the network, we choose the second optimal result and do the same verification. The algorithm terminates when we find a range for which at least one (x, y) is admissible. 2.3.3 Adding a node to any already designed network We know that such a problem is NP-hard so the solution to any optimal algorithm used for a network of arbitrary size cannot be implemented in a "reasonable" time. Therefore, we will only give a few comments on the problem. 84 As we assume every time we add a sink node that its requirement can be met by the existing generators, the case of adding a source node appears only, in our formulation, jointly with the addition of sink nodes. In what follows, we will only consider the addition of sink nodes. (As said in 2.3.1., if source nodes need to be added, the minimum cost is only of secondary concern in the way we link the new source node to the network.) Let call n the number of nodes already included in the network. We want to add a (n + 1)8t one, which is going to be a sink node. Therefore, there are n possible links that can be build, and as the sum of the flows entering the new sink node must be equal to its requirement Rn, we have n - 1 independent unknowns representing the flows through the new edges. The optimization problem can then be formulated as follows: min f ((Rn+ n n )l,n+) ' 9(li,n+i) + f (xili,n+1) 9(li,n+1) - i=2 i=2 L X1 with: 0 x 2 < Rn+1 0 x3 < Rn+1 - x 2 0 x4 < Rn+1 - x 2 o x, < Rn+1 - - x 3 +1 X, We also have to add to these inequalities that, if m is the number of generators in the network, the flow going to each generator to the new node is going to be positive (a negative sign would mean that we sent too much power in the network and this would not correspond to an optimal configuration in the design) This gives us an admissible domain in R'- 1 , that we divide into smaller domains of R'- 1 by introducing the boundaries delimiting the different types of lines, that is nC+ 1 hyperplanes (there are n new possible links, each one of type 0 (not existing), or 1,... , C. For each domain we compute the cost, choose the domain of minimum 85 cost, and then verify that there exist some values of the flows in this domain that can be sustained by the links already designed in the network (because when we consider a new link from an "old" sink node to the "new" sink node, the extra flow has still to be supplied by a source node and to reach the "old" sink node). Of course, as soon as n > 3 , all this requires a lot of computer calculations. 2.4 Comparison with a network designed in an single step What we mean by "single step" is that we try to optimize the whole structure of the network, and do not use the former procedure of adding one node at a time. This should lead to the "true" optimal solution of the problem, and we would like to study the differences between the two networks. Of course, as we know we cannot get the explicit form of the optimal solutions for most networks, we can only compare the results for small networks. We will compare the heuristic results with each other in the next chapter. 2.4.1 Primary design of a 2 inputs, 2 outputs network Figure 2-13: Primary design of a 2-i 2-o network 86 Result of the optimization To keep notations similar to the ones we used before, nodes 1 and 4 are the source nodes and nodes 2 and 3 are the sinks. With the assumption that the source nodes are not limited in generation, we can actually suppress link (1, 4). The optimization problem can therefore be written as follows: min [f ((R 2 - x + y) 112) 9(112) f (y 123) g(l 23 ) + with x > 0, -R 2 < y < R3, z > + f ((R 3 - y - z) 113) g(113)+ 9(124) + f(z 134) - 9(134)] f (x 124) 0. (We have 3 independent unknowns because we have 5 edges and 2 node requirements) The admissible domain is given by (using that the flow coming from generators is positive): x > 0 z > 0 x- y < R2 y+z R3 < It is easy to see that these 4 relations delimit a tetrahedron. We divide it into smaller polygons in R 3 according to the boundaries of each type of lines and find the domain where the cost is cheapest. Once again, we have to check that this solution is admissible. Comparison with the design of the network obtained by the growth procedure We call here growth procedure the process of adding a node (here, an input node) to an already existing network. A very simple example is given on the following page, with only one type of line, small equirements compared to the capacities of the line, a cost per unit length equal to 1 and the following lengths: 112= 4, 113 = 87 5, 123 = 6 and l2 4 = 2 (in a prespecified unit). 3 3 2 4) Design in one single step Design by the growth procedure COST=7 COST=9 (Node 4 is useless) Figure 2-14: Comparison of the designs, example 1 2.4.2 Primary design of a 1 input, 3 outputs network Result of the optimization We have here six possible links and three node requirements, therefore we have 3 unknowns. The notations are given in the following figure. They are similar to the ones used in the case of a 1 input, 3 outputs network obtained by the growth procedure. R R 2 -X-Z R 3 +Z-Y +X+Y u 2 Z Y Figure 2-15: Primary design of a 1-i 3-o network 88 x, y and z can be positive or negative. The admissible domain (using that the flows coming from the generator are positive) is given by: x +y > y- z < R3 x+ z < R4 -R 2 In contrast with the 2 inputs, 2 outputs network, we have here only 3 inequalities: the domain is not bounded. We rewrite the admissible domain as: y - R x+y > -R2 < z < 3 R4 - x We use the same kind of algorithm as before to find the optimal solution. Comparison with the design of the network obtained by the growth procedure We consider the very simple example below, with only one type of line and requirements very small compared to the capacities of the lines. 3 24 Design in one single step Design by the growth procedure COST=5.75 COST=6.70 Figure 2-16: Comparison of the designs, example 2 2.4.3 We have n(n 2 1) Primary design of a m inputs, n-m outputs network 2 possible links and n - m node requirements. Therefore, we have (n-m - n(n-3) + m unknowns with (n - m)' relations of sign, and 89 - 1) 0+1 boundary hyperplanes. So we see the problem seems to get fairly complex quickly. However, our algorithm seems to be an efficient way to solve the problem as it uses the property that the set of possibilities is discrete. We should implement something similar to the "0 if the requirements are reachable by a resistive network and M otherwise" as we did above. The reader will get an idea of the difference between a network designed in a single step and a network designed by a growth procedure through the example below. We consider one type of line to simplify and assume the requirements are very small compared to the capacities of the line. The numbers of the nodes indicate their order of appearance when the growth procedure is used. There is only one source node. 5 5 6 7 7 2 2 4 3 4 3 11 Design in a single step Design with the growth prncedure Figure 2-17: Comparison of the designs, final example 90 2.5 Comments The algorithm that we have presented here enables us to optimally design small networks through an original geometrical technique that builds upon the discontinuity values of the lines. But we have seen that the number of unknowns grows very rapidly, and with it the duration of the required calculations. Therefore, we cannot extend this algorithm to the design of a resistive network of any size, and in the next chapter we will focus on heuristic procedures. For similarly motivated work, but in the context of gas pipeline networks, see [3]. 91 92 Chapter 3 Heuristic design of resistive networks under the constraint of minimum cost In this chapter, after a brief introduction (Section 3.1), we give a new mathematical formulation for the problem of heuristically designing resistive networks under the constraint of minimum cost (Section 3.2). We then propose several heuristics (Section 3.3) and implement them on two examples (Sections 3.4 and 3.5). We end this chapter with a few comments on the design of survivable networks in the resistive setting (Section 3.6). 3.1 Generalities Literature concerning the design of general (not resistive) networks abounds, for instance in the contexts of transportation planning, production planning, or design of communication networks. We have already emphasized in previous sections the consequences of having in resistive networks independent unknowns at the nodes (the potentials) and not at the edges (edge flows), which makes a capacitated power system even more difficult to design than a general network, although the design of a general network is itself known to be NP-hard (see [4], [5]). Therefore, we content 93 ourselves with a very quick review of the literature. The most important article has been written by Balakrishnan and Graves in 1989 (see [6]), which extends the case of the fixed-charge network design problem handled by Balakrishnan, Magnanti and Wong in [7]. Balakrishnan and Graves consider a minimum cost, multicommodity network flow problem where the total cost for each arc is a piecewise linear, concave function of the total flow along the arc. They formulate a mixed-integer program to find good lower bounds and heuristic solutions for the problem, and solve it through a Lagrangean relaxation (more information about Lagrangean relaxation can be found in [8] and [9]). Amiri and Pirkul built upon this paper to develop a modified approach and extended the problem to the case of piecewise nonlinear, concave-cost functions in [10]. Rios, Marianov and Gutierrez gave in [11] a new approach which is a survivable discrete cost modified version of [10]. Generally speaking, the scheme found in the literature aims at generating both good lower bounds and heuristic solutions through the following steps: " formulate the problem as a mixed-integer program " develop a Lagrangean relaxation " improve the Lagrangean lower bound by iteratively adjusting the multipliers and find initial solutions for a local improvement heuristic algorithm. We will study the relevance of this approach while solving heuristically the design problem in the context of resistive systems. 3.2 Mathematical formulation The capacitated network design problem in resistive systems has the following formulation. Consider (V, E) a given graph where V is the set of nodes and E is the set of the potential links to be installed. Let L be the set of load nodes (L C V) and R be the set of the available capacities. We define for every node equivalence relation: i E C(j) < 94 (ij) E j the set C(j) by the We want: min z C L2 (ij)EE rER where Yi()23 is equal to 1 if range r is selected for edge (i, J) and 0 otherwise, and C 23 is the capacity of edge (i, J) if range r is selected, under the constraints: EC(j) ErER Y()OM 23 - 1) 3 Yi) 16i - 6j I ErER Yi Yi() i)(T Mr) sin(6i - 6j) = R Vj E L M< sin(6j - 6j)l Z3 V(i, j) cE V(i,j) E EVr c R b < 1 V(i, j) E E V(i, j) E E, Vr E R E {0, '} The first constraint, stating that the requirements must be met at each load node, is by far the hardest one. The second one states that if type r is selected for a given edge, the flow going through that edge is within the ranges for which type r is optimal (i.e. between M ' and MQ ), otherwise a range inferior to r would have been selected. In the case where the cost function is concave, Balakrishnan and Graves show in [6] that this constraint is redundant with the other ones. The third constraint takes into account the thermal and stability constraints inherent to resistive systems. The fourth constraint states that at most one type of line is chosen for every edge. And finally, the fifth one states the integrality of {Y>r}, which are decision variables. We obtain therefore a mixed-integer nonlinear programming, where one set of unknowns, the {4}, {Y }, indexed on the set of edges, are integer, and the other set, the indexed on the set of nodes, are continuous. 95 3.3 Several possible heuristics 3.3.1 Using a Lagrangean relaxation We try to adapt the formulation in [6], [10] and [11] to our problem by using a new unknown: = Yi|(6i - 6j) X But the unknowns are not independent, which makes impossible a splitting into two minimization problems by using the linearity of the function. More precisely, if we relax the second constraint which links X and YT together, we obtain a problem of the form: min E E{[C (ij) EE r ER -- +- Mg)]Yr) - AMg sin X Problem 1 1 1 1-o N% Problem 2 The whole interest of such a splitting lies in the ability of solving each problem independently and edge by edge, under certain constraints. Problem 1 could be solved edge by edge, but because of the requirements constraints at each intermediary node, Problem 2 cannot be solved edge by edge. A way to get around this obstacle could be to select for each (i, j) the range r so that C + A Mr-l is minimum, where A is the Lagrangean multiplier, and try to get as close to the requirements as possible. This raises the question of "how can we get good Lagrangean multipliers?" Another method using a Lagrangean relaxation would be to define the indicator function I by: 0 if x = 0 I and solve the following problem: min (ij)EE rER 96 if X 7 0 under the constraints: zeC(j) ZrER sin(X j)) M - Rj Vj E L MTsir(X ))| V(i, j) E E I(XZ3)M$- 1 V(i,j) E E,Vr c R JX)|I< b ErR-I(Xz)) V(i, j) E E 1 Then the relaxation of the first constraint can be written as: Ci(X) & min jEV i<j,iGC(j) + E pj(RjjEL E E M )sin(X))) iEC(j) rCR But this relation is not easy to use and by introducing X () we lost the relations of the potentials on the loop, without making the problem more easily solvable. The main reason for the problems that we encounter by trying to implement the methods of [6], [10] and [11] is that we have unknowns and constraints on the edges and on the nodes, which makes it impossible to solve subproblems for each edge independently. 3.3.2 Using Minimum Spanning Trees First idea We want to order, for every edge, the different types of links according to a "fault" criterion and then build a spanning tree where the length of an edge corresponds to the range that minimizes the fault criterion. Therefore we have the choice between building no edge or building the edge that has the most "merit" (having merit is a combination of the cost of building the edge, its maximum capacity and the re- quirements at its extremities, as explained in Subsection 1.4.2). Let note that, as the source nodes are not limited in generation, we usually start by building several spanning trees (one source per tree) without linking them together. This creates clusters. Once the spanning tree is built, we check whether the requirements are met. If they are, the procedure is over, otherwise we have to add some of the edges we neglected 97 while building the tree. The implementation raises the following issues: * the criterion to order the different ranges for a given link cannot be solely (r) because with the assumption of the economy of scale, the highest type Mij will always have the highest merit and this will induce us to overdimension the network * if we choose a criterion that does not select systematically the highest type, we are not sure that the requirements will ever be met, even if we have to add all the edges that we had neglected while building the spanning tree. Therefore, we propose now a modified version of the algorithm. Final algorithm Step 1 Assignment of the smallest range we consider for the edges: we associate to edge (i,j) the range r so that M 11 < f(i, j) < M[' where f(i, j) is a function that roughly approximates the flow that will go through this edge as a function of the requirements if this edge is built. We have: f (z, J) a max(Ri, Rj) if max (R , Rj) # 0 b maxi(Ri) if max(R , Rj) = 0 and i f s c maxi (Ri) if max(R , Rj) =0 and i s Step 2 Assignment of the "faultness" for every edge: several criteria can be used. In what follows, we consider that CD and MD can be written as: C and MD = = C, (the cost increases with the length, and the maximum flow transmitted by the network decreases with the length. We assume this relation of dependency to be linear) We list the criteria below and give some reasons for the use of these criteria. f(i, j) was defined above. g(i, j) is IRi - RjI(R1 + Rj)/2 + 0.01 (because we are interested in keeping edges with exactly one high requirement at its extremities) 98 Criteria Cr. Reasons 12 ratio cost-over-max capacity (COMC): the most obvious criterion Mr m .N f(ij) COMC giving an advantage to the edges where we expect big flows jS. . mijg9(i A) COMC taking into account that the removal of edges between nodes with big requirements often increases the max flow Table 3.1: Possible criteria to quantify the interest in building the edges Step 3 Computation of the minimum spanning trees: we obtain one cluster per generator Step 4 Checking procedure of the fulfilment of the demand: are all requirements met? if no, what is the closest admissible configuration we can obtain? which nodes are not supplied with enough power? Step 5 (Iteration) Addition of new edges or increase of the range of already existing edges until all requirements are met. Again, we have a lot of possibilities to choose these edges. The general rule encompassing all these possibilities is: "pick, among the edges that we have not built yet and that could help meeting the requirements if they were added, the one that has the smallest fault coefficient, or increase the range of a well-chosen edge among those already built depending on some criterion". Four things have then to be determined: how do we measure the impact the addition of a new edge can have, the way we choose which edge shouldhave its range increased, by how much we will increase this range, and finally the criterion we should take. To simplify the problem, we decide we will increase the range one level at a time, and for oversaturated edges only. So only two parts of the procedure must still be fixed. The criterion has of course something to do with the cheapest possibility but we should bear in mind that in the context of potential-driven flows, adding edges adds constraints so we do not wish to add too many edges. We give the general procedure below: 99 General idea: We determine the most oversaturated edge, defined by arg maxK-1 RI and identify its terminal extremity (i.e. the node towards which it points). Then we compare between adding another edge pointing to this node (if some remain to be built) and increasing the range of the oversaturated edge. Details: The comparison criterion can consist solely of the cost, but we can also choose to consider a criterion of the type totoa argin, where the total margin is defined to be the sum over all edges of the difference between the capacity of the edge and the flow going through it, especially if we expect that we will still be far away from meeting the requirements at the next step. Besides, if you cannot add edges any more around the terminal node of the oversaturated edge, we can trace in some sense where most of the flow goes and try to add edges on its path. Another possibility is to add the edge with the smallest "fault" level, without taking into account its position in the network. 3.4 First example We consider the following example, and apply the different versions of the algorithm to study the variablility of the design. The lines represent potential edges to be built. The numbers next to the edges indicate their length. Node 1 is the generator. All the other nodes are load nodes. There are only 2 types of ranges for the edges to be built. 100 6.9 3.4 5.5 7.4 5.6 3.3 9.1 7.0 4.2 4.4 6.4 Figure 3-1: First example The numerical values of the parameters are: R=[2; 3;1;2; 2; 1]; m1=20; m2=40; c1=1; c2=1.5; a=1.5; %b and c unfixed as they do not intervene here The results of the algorithm are: Edge (1,2) Starting range 1 Edge (1,3) Starting range 2 (2,3) 2 (1,4) 1 (2,4) (1,7) (1,5) (6,7) 1 1 2 1 (4,5) (3,7) (5,7) (5,6) 2 2 1 1 Table 3.2: Results of the initialization step Initialization step: assignment of the smallest value we consider for the ranges 101 Minimum spanning trees Criterion 1 The minimum spanning tree is: 1© CD GD Figure 3-2: MST, Criterion 1 The corresponding load node angles are: -0.3400 -0.4125 -0.9900 -1.8650 -2.9350 -2.4950 No edge is oversaturated. The constraints are respected and the requirements are met. The problem is solved. Criterion 2 The minimum spanning tree is: Figure 3-3: MST, Criterion 2 102 The corresponding sink potentials are: -0.3400 -1.1000 6= -0.1650 -2.4450 -2.4650 -2.0250 Edge (1, 3) is saturated. It is an edge of type 2. Node 3 has only one outgoing edge, which is (3, 7). Among the potential edges to be built around node 3, only edge (2, 3) has not been built so far. Therefore we have the choice between adding edge (2, 3) (of type 2, given our initialization step) or adding edge (1, 7) (of type 1). If we add edge (2, 3) (of type 2), a straightforward computation similar to the ones above shows that edges (1, 2) and (1, 3) are oversaturated. If we add edge (1, 7) (of type 1), edge (1, 7) is oversaturated. As edge (1, 7) is not of the maximal range yet and as we know that in the context of resistive networks, adding edges adds constraints as well as (sometimes) capacity, and therefore can do more harm than good, we give the priority to the testing of the solution with edge (1, 7) of type 2 (this is a general rule we will maintain throughout the algorithm). With edge (1, 7) of type 2, no edge is oversaturated and the requirements are met. The problem is solved. 103 Criterion 3 The minimum spanning tree is: Figure 3-4: MST, Criterion 3 The corresponding sink potentials are: -1.3600 -0.4125 -3.0400 -3.9150 -4.9850 -4.5450 Edges (1, 2) and (2, 4) are oversaturated. They are both of type 1. Around node 2, edge (2, 3) is the only edge that remains to be built. Around node 4, edge (1, 4) is the only edge that remains to be built. We increase the range of edge (1, 2) (to type 2): edge (2, 4) remains oversaturated. We increase the range of edge (2, 4) (to type 2): this time no edge is oversaturated and the requirements are met. The problem is solved. We can notice that we would have also reached a solution by adding edge (2, 3) of type 2: then edge (1, 2) remains oversaturated, therefore we increase its type to type 2. Edge (2, 4) is then oversaturated, therefore we increase its type to type 2. Then no edge is oversaturated and the requirements are met. Let note that this corresponds to the solution we have just found, with in addition edge (2, 3). So the first solution (obtained by 104 increasing the type of both (1, 2) and (2, 4) directly) is strictly better. Finally, we obtain the following solutions (the numbers above the edges indicate their type): 1© CGD Figure 3-5: Final solution, Criterion 1 Criterion 1 Cost=34.05 22 2 (: 1Q G)GQ Figure 3-6: Final solution, Criterion 2 Criterion 2 Cost=48.30 105 © 1 © 1 G© Figure 3-7: Final solution, Criterion 3 Criterion 3 Cost=40.85 There is a 42% increase in the cost between cases 1 and 2, and there is a 20% increase in the cost between cases 1 and 3. This shows the importance of picking the right minimum spanning tree to start the algorithm with. 3.5 Second example We consider now a network with 20 nodes: 3 generators and 17 load nodes. The generators are nodes 5, 8 and 10. The location of the 20 nodes has been chosen randomly over the square (0, 20)X(0, 20) and is given in the following table, with the requirements ('-' indicates a generator). 106 Node 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Coordinates (19.00,4.62) (12.14,9.72) (9.13,0.37) (9.13,0.37) (16.43,8.89) (12.31,15.84) (18.44,14.76) (3.53,8.11) (18.71,18.34) (8.21,17.87) (1.16,7.06) (16.26,0.20) (2.78,4.06) (3.97,12.08) (5.44,3.98) (0.31,14.94) (8.90,18.64) (9.32,8.37) (16.92,10.50) (4.05,13.44) Requirement 3 2 0 5 1 2 4 1 1 3 3 4 2 2 2 2 5 Table 3.3: Positions of the nodes 107 The nodes and the potential links are represented in the following figure (the generators are circled). 177 141 202 14 139 181 12 4 Figure 3-8: Second example We consider 3 possible types of ranges. Range 1 2 3 Power transmitted m 10 25 50 Cost per unit length c 1 2 3 Table 3.4: Parameters The initial ranges we consider to start the algorithm are (let note again that among the coefficients a, b and c only a intervenes here as a scale factor so we actually do not even need to specify its value): (1,5): 2 (1,7): 3 (1,12): 2 (1,18): 3 (1,19): 2 (2,5): 1 (2,6): 2 (2,10): 2 (2,18): 1 (2,19): 1 (3,6): 1 (3,7): 1 (3,9): 2 (3,19): 1 (4,12): 3 (4,13): 3 (4,15): 3 (4,18): 3 (5,18): 2 (5,19): 1 (6,9): 3 (6,10): 1 (6,17): 1 (6,19): 2 108 (7,9): 2 (7,19): 1 (8,11): 1 (8,13): 2 (8,14): 2 (8,15): (9,17): 3 (10,16) 2 (10,17) 1 (10,18): 2 (10,20): 3 (11,13) 2 (11,16) 2 (12,18) 2 (13,15) 2 (14,16) 2 (14,18): 2 (15,18) 2 (16,17) 2 (16,20): 2 (18,20) 3 2 (8,18): 2 (14,20): 1 Criterion 1 The requirements are not feasible with the minimum spanning tree. As said before, it is usually better to try, when possible, to improve the capacity of the oversaturated edge before adding another edge. In our starting configuration, 4 edges are oversaturated: (5, 19) of type 1, (7,19) of type 1, (8, 11) of type 1 and (8,14) of type 2. (Let note that these three edges have all a generator at one of their extremities). However, by increasing the ranges to types, respectively, 2, 3, 3 and 3, the requirements become feasible. We have therefore found an admissible solution. The cost is: 117, 68. 09 7 20 14 19 2 2 1 33 2 12 Figure 3-9: Final solution, Criterion 1 109 Criterion 2 The requirements are not feasible with the minimum spanning tree. 4 edges are oversaturated: (6,17) of type 1, (8,14) of type 2, (8,15) of type 2, (4,15) of type 3. When the type of the first three edges is changed to type 3, these edges are not saturated any more. However, (4,15) is of the maximum type. It should carry 10 and is able to carry only 9.70. If we decide carrying only 9.70 is enough (for instance because there are some uncertainties about the true value of the requirements, and bringing 9.70 could be enough), the problem is solved. The cost of this "almost admissible" network will be: 165.00 If we decide it is not enough, we add another edge. (4,13) is the only edge towards 4 not built yet. Its range is 3. After calculations, we find it makes things even worse so we do not build it. We are then led to consider intercluster links still to be built and relevant to our problem (i.e. linked with the problematic half-cluster around node 8). The possible intercluster links are: (2, 5), (2, 19), (1, 12), (10, 18), (2, 10). According to our ranking criterion, the "best" edge is (1, 12). Its range is 2. When we add this edge, the requirements are not feasible. We increase then the range of (1, 12) to type 3, and after calculations we also increase the type of (1, 5) to type 3. In that case we fall short of meeting the requirements by having (8,15) oversaturated by 0.01 (which is much better than 0.30 in the previous case). If we decide this is an acceptable result, the problem is solved. The cost of this second "almost admissible network" is 185.60. Otherwise we have to continue. The next intercluster link we can build is (2, 5), of type 1 (in the purpose of using (4,18) to bring power to 4 instead of bringing power to 18). This time the situation is even worse. This illustrates the fact that in a network with potential-driven flows, we are not sure to reach the requirements by adding edges. We stop there and keep the second "admissible network". The cost is: 185.60. 110 167 20 13 19 133 4 3 | 1 Figure 3-10: Final solution, almost admissible network only, Criterion 2 Criterion 3 The requirements are not feasible with the minimum spanning tree. 3 edges are oversaturated: (8,15) of type 2, (9, 17) and (17, 20) of type 3. We increase the type of (8,15) to type 3 but (8,15) remains oversaturated. We add (8,11). (8, 15) is not oversaturated any more. To try to "unsaturate" (10, 20), we add (10,16) (the edge with 10 as extremity that has the lowest ranking value among the possible edges), of type 2. The requirements are still not met. We change the type of (10,16) to type 3. The requirements are still not met. Instead of adding (10, 16), we try then to add (10,18), of type 2. Again, the requirements are not met. We increase then the type of (10, 18) to type 3. This time (10, 20) is not oversaturated any more. To try to "unsaturate" (9, 17), we build (6, 17) of type 1. Then (9, 17) is not oversaturated any more. The cost is: 204.11. 111 17 1 16 7 20 3 19 is F0 Figure 3-11: Final solution, Criterion 3 Comments At this stage, the reader will be convinced that, when the algorithm cannot remove edges but can only change the range of existing edges or add new ones, the way the edges are ordered to build the minimum spanning tree to start the algorithm with is of the utmost importance in terms of duration of the computations and of the final cost. The best choice seems so far to "keep it simple" and order the edges on a "cost-over-power" ratio. We can also notice that we had many times to increase the type of the edges linked with the source nodes. This is due to the fact that our rough approximation of the flow is probably too much an underestimation of the situation for these edges. We should estimate the flow on these edges by an expression such as a' maxi Ri, rather than a Ri. 3.6 Comments on the design of a resistive survivable network A legitimate concern when a network is designed is to make sure it will be able to resist some failures. Such a network is called a "survivable network", although survivability can take many definitions: sometimes for instance you want the requirements still to be met despite exactly one (random) edge-failure, in other cases you impose the 112 existence of at least 2 edge-disjoint paths from a source node to any sink nodes. The reader interested in survivability for general networks will find many interesting methods, for instance the cutting-plane algorithm, detailed in [12] and [13]. However, in the context of capacitated networks with potential-driven flows, ensuring survivability may not benefit to the network because adding many edges will, as we have seen many times, add constraints to the network. The performance of the network can be strongly decreased, and we often notice that power networks, for instance, are not designed with a strong emphasis on survivability. Therefore, resistive networks seem to be a type of networks for which survivability should not be the primary concern during the design procedure. 113 114 Conclusions This research provides a better understanding of resistive networks in terms of the distribution of the flows that go through the system, and of the edges that are saturated when the flow at a given node is maximum. It also highlights several counterintuitive behaviors of networks with potential-driven flows, such as the increase of the maximum flow when a well-chosen edge is removed, or the fact that requirements that are infeasible when a certain edge is removed become feasible again when an additional one is removed, whereas you would have expected that the removal of an edge would always make the situation worse. This is of particular importance in the context of power systems, where we have been confronted with several widespread cascade failures during the past years, highlighting the need for better knowledge of such properties. The insight we have thus gained into resistive networks enables us to develop efficient heuristics when the size of the network starts making the calculations for the optimal solution to the problem intractable. These heuristics represent an original approach to the capacitated network design problem in the context of power systems, and more generally to the characteristics of networks with potential-driven flows. 115 116 Bibliography [1] L.R.Ford, Jr, D.R.Fulkerson, Flows in Networks, Princeton University Press, 1962 [2] A.R.Bergen, V.Vittal, Power Systems Analysis, 2nd ed., Prentice-Hall, 2000 [3] S.Bhaskaran, F.J.M.Salzborn, Optimal design of gas pipeline networks, Journal of the OperationalResearch Society 12: 1047-60, 1979 [4] D.S.Johnson, J.K.Lenstra, A.H.G. Rinnoy Kan, The complexity of the network design problem, Networks 8: 279-285, 1978 [5] F.Cruz, J MacGregor Smith, G.Mateus, Solving to optimality the uncapacitated fixed-charge network flow problem, Comput and Ops Res 25: 67-81, 1998 [6] A.Balakrishnan, S.Graves, A composite algorithm for a concave-cost network flow problem, Networks 19: 175-202, 1989 [7] A.Balakrishnan, T.L.Magnanti, R.T.Wong, A dual-ascent procedure for largescale uncapacitated network design, Operations Research 37: 716-740, 1989 [8] A.M. Geoffrion, Lagrangean relaxation for integer programming, Mathematical Programming Study 2: 82-114, 1974 [9] M.S.Bazaraa, J.J.Goode, A survey of various tactics for generating Lagrangian multipliers in the context of Lagrangian duality, European Journal of Operational Research 3: 322-338, 1979 117 [10] A.Amiri, H.Pirkul, New formulation and relaxation to solve a concave-cost network flow problem, Journal of the Operational Research Society 48: 278-287, 1997 [11] M.Rios, V.Marianov, M.Gutierrez, Survivable capacitated network design problem: new formulation and Lagrangean relaxation, Journal of the Operational Research Society 51: 574-582, 2000 [12] R.Bhandari, Survivable Networks: Algorithms for Diverse Routing, Kluwer Academic Publishers, 1999 [13] M.Stoer, Design of Survivable Networks, Lecture notes in Mathematics 1531, Springer-Verlag, 1991 118