Improved Algorithm for Minimum Flows in Bipartite Networks with Unit Capacities

Size: px
Start display at page:

Download "Improved Algorithm for Minimum Flows in Bipartite Networks with Unit Capacities"

Transcription

1 Improved Algorithm for Minimum Flows in Bipartite Networks with Unit Capacities ELEONOR CIUREA Transilvania University of Braşov Theoretical Computer Science Departement Braşov, Iuliu Maniu 50, cod ROMANIA ADRIAN DEACONU Transilvania University of Braşov Theoretical Computer Science Departement Braşov, Iuliu Maniu 50, cod ROMANIA Abstract: The theory and applications of network flows is probabily the most important single tool for applications of digraphs and perhaps even of graphs as a whole. In this paper we study minimum flow an algorithm in bipartite networks with unit capacities combining an algorithm for minimum flow in bipartite networks with an algorithm for minimum flow in unit capacity networks. Finally, we present the applications of the minimum flow problem in bipartite networks with unit capacities. Key Words: Network flows, minimum flow problem, unit capacity networks, bipartite networks, maximum cut. 1 Introduction From a theoretical point of view, flows are well understood as far as the basic questions, such as finding a maximum flow from a given source to a given sink or characterizing the size of such a flow, are concerned. However, the topic is still a very active research field and these are challenging open problems. The computation of a flow in a network has been an important and well studied problem, both in the field of computer science and operations research. Many efficient algorithms have been developed to solve the maximum flow problem, see [1], [12], [13], [16], [17], [18], [19]. The computation of a minimum flow in a network has been investigated by Ciurea and Ciupala, see, e.g., [4], [5]. By improving the running times of Ciurea and Ciupala the algorithms [4][5], Ciurea, Ciupala and Georgescu have developed the first specializations of minimum flow algorithms for bipartite netwrks [2], [3], [6] and [7]. Ciurea and Georgescu [8] showed that Ciurea and Ciupala algorithms solve the minimum flow problem in unit capacity networks in Ç ÑÒÒ ¾ Ñ Ñ ¾ µ, where Ò is the number of nodes and Ñ is the number of arcs of the network. Other papers on the minimum flow problem are [9], [10], [14], [15]. Combining an algorithm for minimum flow in bipartite networks with an algorithm for minimum flow in unit capacity networks we obtain an efficient algorithm for minimum flow in bipartite networks with unit capacities. The brief outline of the paper is as follows: in Section 2 we discuss some basic notions and results used in the rest of the paper. Section 3 deals with minimum flows in bipartite networks. In Section 4 we present the minimum flows in unit capacity networks. In section 5 we present the applications of the minimum flows in bipartite networks with unit capacities. In the next presentation we assume familiarity with preflow algorithms and we omit many details, since they are straightforward modifications of known results. The reader interested in further details is urged to consult the book [1] for maximum flow problem and the paper [4] for minimum flow problem. 2 Terminology and Preliminaries In this section we discuss some basic notations and results used in the rest of the paper. We consider a capacitated network Æ Ð Øµ with a nonnegative capacity Ü Ýµ and with a nonnegative lower bounds Ð Ü Ýµ associated with each arc Ü Ýµ ¾. We distinguish two special nodes in the network : a source node and a sink node Ø. For a given pair of not necessarily disjoint subsets, of the nodes set Æ of a network we use the notation: µ Ü Ýµ Ü Ýµ ¾ Ü ¾ Ý ¾ and for a given function on arcs set we use the notation: ISSN: Issue 8, Volume 8, August 2009

2 µ µ Ü Ýµ A flow is a function Ê satisfying the next conditions: Ü Æ µ Æ Üµ Ú if Ü ¼ if Ü Ø Ú if Ü Ø Ð Ü Ýµ Ü Ýµ Ü Ýµ Ü Ýµ ¾ (1.a) (1.b) for some Ú ¼. We refer to Ú as the value of the flow f. The minimum flow problem is to determine a flow for which Ú is minimized. A cut is a partition of the nodes set Æ into two subsets Ë and Ì Æ-Ë. We represent this cut using notation Ë Ì. We refer to a cut Ë Ì as an -Ø cut if ¾ Ë and Ø ¾ Ì. We refer to an arc Ü Ýµ with Ü ¾ Ë and Ý ¾ Ì as a forward arc of the cut and an arc Ü Ýµ with Ü ¾ Ì and Ý ¾ Ë as a backward arc of the cut. Let Ë Ì µ denote the set of forward arcs in the cut and let Ì Ëµ denote the set of backward arcs. We denote also: Ë Ì Ë Ì µ Ì Ëµ For the minimum flow problem, we define the capacity Ë Ì of an -Ø cut Ë Ì as Ë Ì Ð Ë Ì µ Ì Ëµ (2) We refer to an -Ø cut whose capacity Ë Ì is the maximum among all -Ø cuts as a maximum cut. The minimum flow problem in a network Æ Ð Øµ can be solved in two phases: (P1) establish a feasible flow, if it exists; (P2) from a given feasible flow, establish the minimum flow. The problem of determining a feasible flow consists in finding a function Ê that satisfies the previous conditions (1.a) and (1.b). First, we transform this problem into a circulation problem by adding an arc Ø µ of infinite capacity and zero lower bound. This arc carries the flow sent from the source node to the sink node Ø back to the source node. Clearly, the minimum flow problem admits a feasible flow if and only if the circulation problem admits a feasible flow. Because these two problems are equivalent, we focus on finding a feasible circulation if it exists in the transformed network ½ Æ ½ ½ Ð ½ ½ ص, where Æ ½ Æ Ø µ Ð ½ Ü Ýµ Ð Ü Ýµ, for each arc Ü Ýµ ¾ Ð ½ Ø µ ¼ ½ Ü Ýµ Ü Ýµ, for each arc Ü Ýµ ¾ ½ Ø µ ½ The feasible circulation problem is to identify a flow ½ satisfying the following constraints: ½ Ü Æ ½ µ ½ Æ ½ ܵ ¼ for each node Ü ¾ Æ Ð ½ Ü Ýµ ½ Ü Ýµ ½ Ü Ýµ Ü Ýµ ¾ ½ By replacing and ½ Ü Ýµ ¾ Ü Ýµ Ð ½ Ü Ýµ ½ Ü Ýµ ¾ Ü Ýµ Ð ½ Ü Ýµ we obtain the following transformed problem: ¾ Ü Æ ½ µ ¾ Æ ½ ܵ ¾ ܵ for each node Ü ¾ Æ ¼ ¾ Ü Ýµ ¾ Ü Ýµ for each arc Ü Ýµ ¾ ½ where ¾ ܵ Ð ½ Æ Üµ Ð ½ Ü Æ µ for each node Ü ¾ Æ Clearly, Æ ¾ ܵ ¼ We can solve this supply and demand problem by solving a maximum flow problem defined in the network ¾ Æ ¾ ¾ ¾ ¾ Ø ¾ µ, where Æ ¾ Æ ½ ¾ Ø ¾ ¾ ¼ ¾ ¼¼ ¾ ¼¼¼ ¾ ¼ ¾ ¾ ÜµÜ ¾ Æ ½ ¾ ܵ ¼ ¼¼¼ ¾ ¼¼ ¾ ½ Ü Ø ¾µÜ ¾ Æ ½ ¾ ܵ ¼ ¾ ¾ ܵ ¾ ܵ ¾ ܵ ¾ ¼ ¾ ¾ Ü Ýµ ½ Ü Ýµ Ü Ýµ ¾ ¼¼ ¾ ISSN: Issue 8, Volume 8, August 2009

3 ¾ Ü Ø ¾ µ ¾ ܵ Ü Ø ¾ µ ¾ ¼¼¼ ¾ If the maximum flow ¾ in this transformed network ¾ saturates all the source and the sink arcs ( ¾ ¾ ܵ ¾ ¾ ܵ ¾ ܵ ¾ ¼ and ¾ ¾ Ü Ø ¾ µ ¾ Ü Ø ¾ µ Ü Ø ¾ µ ¾ ¼¼¼ ¾ ), then the initial problem has a feasible solution, which is the restriction function of ½ ¾ Ð ½ for the set of arcs. We present the following two theorems (see [2] and [3]): Theorem 1 Let Æ Ð Øµ be a network, Ë Ì an -Ø cut and a feasible flow with value Ú. Then Ú Ë Ì Ë Ì µ Ì Ëµ and therefore, in particular, Ë Ì Ú (3.a) (3.b) Theorem 2 Let Æ Ð Øµ be a network, Ë Ì a maximum -Ø cut and Ú the value of the minimum flow. Then Ú Ë Ì (4) A preflow for the minimum flow problem is a function Ê that satisfies (1.b) and as Ü Æ µ Æ Üµ ¼ Ü ¾ Æ Ø (5) For any preflow we define the deficit of node Ü Üµ Ü Æ µ Æ Üµ Ü ¾ Æ (6) We refer to a node Ü with ܵ ¼ as balanced. A preflow satisfying the condition ܵ ¼, Ü ¾ Æ Ø is a flow. Thus, a flow is a particular case of preflow. For the minimum flow problem, the residual capacity Ö Ü Ýµ of any arc Ü Ýµ ¾, with respect to a given flow/preflow, is given by Ö Ü Ýµ Ý Üµ Ý Üµ Ü Ýµ Ð Ü Ýµ By convention, if Ü Ýµ ¾ and Ý Üµ ¾ then we add arc Ý Üµ to the set of arcs and we set Ð Ý Üµ ¼ and Ý Üµ ¼. The network Æ µ consisting only of the arcs with positive residual capacity is referred to as the residual network. The arcs of the residual network have a natural interpretation. If Ü Ýµ ¾ and Ð Ü Ýµ ¾, Ü Ýµ and Ü Ýµ, then we may decrise Ü Ýµ by up to two units on the arc Ü Ýµ and we can also choose to increase Ü Ýµ by up to 3 units along the arc Ü Ýµ. Note that an increase of flow along the arc Ü Ýµ may also be thought of as sending flow in the opposite direction along the residual arc Ý Üµ and then canceling out. In the residual network Æ µ, the distance function is a function Æ Æ. We say that a distance function is valid if it satisfies the following conditions: µ ¼ (7.a) and ݵ ܵ ½ Ü Ýµ ¾ (7.b) We refer to ܵ as the distance label of node Ü and to an arc Ü Ýµ ¾ as an admissible arc if ݵ ܵ ½; otherwise it is inadmissible. A directed path from node to node Ø in the residual network consisting entirely of admissible arcs is said to be an admissible directed path. We refer to a path in from the source node to the sink node Ø as a decreasing path if it consists only of arcs with positive residual capacity. Clearly, there is an one to one correspondence between set of decreasing paths in and the set of directed paths from to Ø in. We define the layered network ¼ Æ ¼ Öµ as follows: the nodes set Æ is partitioned into layers Æ ¼ Æ, where layer Æ contains the nodes Ü whose exact distance labels equal, so that ܵ ¾ ¼ ½. Furthermore, for each arc Ü Ýµ in the layerd network, Ü ¾ Æ and Ý ¾ Æ ½ for some. We say that ¼ is a blocking flow if the layered network ¼ contains no decreasing directed path. There are three approaches for solving the minimum flow problem: ½µ using decreasing directed path algorithms from source node to sink node Ø in residual network; ¾µ using preflow-pull algorithms from sink node Ø to source node in the residual network; µ using the augmentation directed path algorithms from sink node Ø to source node or using preflow-push algorithms starting from Ø in the residual network (residual network for maximum flow). We present the generic decreasing directed path algorithm. This algorithm is based on decreasing path theorem (see [4]). The algorithm begins with a feasible flow and proceeds by identifying decreasing directed paths and decreasing flows on these paths until the residual network contains no such directed path. The generic decreasing directed path algorithm is the following: ISSN: Issue 8, Volume 8, August 2009

4 ½µPROGRAM GDDP µ Let be a feasible flow in the network ; µ Determine the resiudal network ; µ WHILE contains a directed path È from the source node to the sink node Ø DO µ BEGIN µ Identify a decreasing path È from the source node to the sink node Ø; µ Ö È µ ÑÒÖ Ü Ýµ Ü Ýµ ¾ È ; µ Decrease Ö È µ units of the flow along È ; ½¼µ Update the residual network ; ½½µ END; ½¾µEND. All the algorithms from the figure 1 are decreasing path algorithms, i.e., algorithms which determine decreasing directed path from source node to sink node Ø (by different rules) in the residual network and then decreasing the flow along the coresponding path in (the approache (1)). We have Ò Æ, Ñ and ÑÜ Ü Ýµ Ü Ýµ ¾. Decreasing directed path algorithms Running time 1 Generic decreasing path algorithm O(ÒÑ) 2 Ford-Fulkerson labeling algorithm O(ÒÑ) 3 Gabow bit scaling algorithm O(ÒÑ ÐÓ) 4 Ahuja-Orlin maximum scaling O(ÒÑ ÐÓ) algorithm 5 Edmonds-Karp shortest path O(ÒÑ ¾ ) algorithm 6 Ahuja-Orlin shortest path algorithm O(Ò ¾ Ñ) 7 Dinic layered networks algorithm O(Ò ¾ Ñ 8 Ahuja-Orlin layered networks O(Ò ¾ Ñ) algorithm Figure 1: The running time of eight algorithms Now we shall present the generic preflow-pull algorithm. This algorithm begins with a feasible flow and sends back as much flow as it is possible from the sink node Ø to the source node. Because the algorithm decreases the flow on individual arcs, it does not satisfy the mass balance constraint (1.a) at intermediate stages. In fact, it is possible that the flow entering in a node exceeds the flow leaving from it. The basic operation of this algorithm is to select an active node and to send the flow entering in it back, closer to the source node. For measuring closerness, we will use the distance labels ܵ. Let Ý be a node with strictly negative deficit. If there exists an admissible arc Ü Ýµ, we pull the flow on this arc, otherwise we relabel the node Ý so that we create at least one admissible arc. The generic preflow-pull algorithm is the following: ½µPROGRAM GPP µpreprocess; µwhile the residual network contains an active node DO µ BEGIN µ Select an active node Ý; µ PULL/RELABEL(y); µ END; µend. ½µPROCEDURE PREPROCESS; µlet be a feasible flow in the network ; µdetermine the residual network ; µcompute the exact distance function by µ breadth first search from to Ø in ; µpull Ö Ü Øµ units of flow on arc Ü Øµ ¾ µ ص Ò; µend; ص; ½µPROCEDURE PULL/RELABEL(y); µif the network contains an admisible arc Ü Ýµ µ THEN µ Pull Ö ½ ÑÒ Ýµ Ö Ü Ýµ; units from Ý to Ü; µ ELSE µ ݵ ÑÒ Üµ ½ Ü Ýµ ¾ ݵ; µend; A pull of Ö ½ units from node Ý to node Ü decreases both ܵ and Ö Ü Ýµ by Ö ½ units of flow and increases both ݵ and Ö ½ Ý Üµ by Ö units of flow. We refer to the process of increasing the distance label of node Ý, ݵ ÑÒ Üµ ½ Ü Ýµ ¾ ݵ as a relabel operation. In this algorithm we have ݵ Ü Ýµ Ü Ýµ ¾ ISSN: Issue 8, Volume 8, August 2009

5 for each node Ý ¾ Æ. All the algorithms from the figure 2 are preflowpull algorithms from sink node Ø to source node in the residual network (the approach (2)). Preflow-pull algorithms 1 Generic preflow-pull algorithm 2 Karzanov preflow-pull algorithm 3 FIFO preflow-pull algorithm 4 Higherst label preflow-pull algorithm 5 Deficit scaling preflow-pull algorithm Running time O(Ò ¾ Ñ) O(Ò ) O(Ò ) O(Ò ¾ Ñ ½¾ ) O(ÒÑ Ò ¾ ÐÓ µ) Figure 2: The running time of five algorithms Actually, any algorithm terminates with optimal residual capacities. From these residual capacities we can determine a minimum flow by following expression: Ü Ýµ Ð Ü Ýµ ÑÜÖ Ü Ýµ Ý Üµ Ð Ý Üµ ¼ 3 Minimum flows in bipartite networks In this section we shall present some minimum flow algorithms for bipartite networks. A bipartite network is a network Æ Ð Øµ with a node set Æ partitioned into two subsets Æ ½ and Æ ¾ so that for each arc Ü Ýµ ¾, either Ü ¾ Æ ½ and Ý ¾ Æ ¾ or Ü ¾ Æ ¾ and Ý ¾ Æ ½. We often represent a bipartite network using the notation Æ ½ Æ ¾ Рص. Let Ò ½ =Æ ½ and Ò ¾ =Æ ¾. Without any loss of generality, we assume that Ò ¾ Ò ½. We also assume that ¾ Æ ¾ and Ø ¾ Æ ½. A bipartite network is called unbalanced if Ò ¾ Ò ½ and balanced otherwise. We assume that the bipartite network is unbalanced. There are many applications of unbalanced networks. The computation of a minimum flow in a bipartite network has been investigated in [2], [3], [6] and [7]. The time bound for several minimum flow algorithms automatically improves when the algorithms are applied without modification to unbalanced networks. A careful analyse of the running times of these algorithms reveals that the worst case bound depends on the number of arcs in the longest vertex simple path of the network. We denote this length by Ô. For general network, Ô Ò ½ and for a bipartite network Ô ¾Ò ¾ ½. Hence, for unbalanced bipartite network Ô Ò. For example, we consider Dinic s algorithm for the minimum flow problem. This algorithm constructs the layered network in Ç Ôµ time and finds a blocking flow each time. Each blocking flow computation performs Ç Ñµ decreases and each decrease takes Ç Ôµ time. Therefore, the running time of Dinic s algorithm is Ç Ô ¾ ѵ. Consequently, when Dinic s algorithm is applied to unbalanced networks the running time improves from Ç Ò ¾ ѵ to Ç Ò ¾ ѵ. ¾ Figure 3 summarizes the improvements obtained for several algorithms using this approach (see [6], [7]). Original algorithms Running time, general network Running time, bipartite network 1 Dinic Ç Ò ¾ ѵ Ç Ò ¾ ¾ ѵ 2 Karzanov Ç Ò µ Ç Ò ¾ ¾ Òµ 3 FIFO Ç Ò µ preflow Ç Ò ¾ ¾ Òµ 4 Highest Ç Ò ¾ Ñ ½¾ µ Ç Ò ¾ ÒÑ ½¾ µ label preflow 5 Deficit scaling Ç ÒÑ Ò ¾ ÐÓ µ Ç Ò ¾ Ñ Ò ¾ Ò ÐÓ µ Figure 3: The running time for five algorithms Specialization algorithm for minimum flow in bipartite network is a preflow algorithm and it is called bipartite preflow algorithm. The basic idea behind the bipartite preflow algorithm is to perform bipull from nodes Æ ¾. A bipull is a pull over two consecutive admissible arcs Ü Ýµ and ٠ܵ, where Ü ¾ Æ ½ and Ý Ù ¾ Æ ¾. It moves deficit from a node Ý ¾ Æ ¾ to another node Ù ¾ Æ ¾. This approach ensures that no node in Æ ½ ever has any deficit. The bipartite preflow algorithm is a simple generalization of the generic preflow algorithm. The modification stems from the observation that any directed path in the residual network can have at most ¾Ò ¾ arcs since every alternate node in the directed path must be in Æ ¾ (because the residual network is also bipartite) and no directed path can repeat a node in Æ ¾. In the procedure PREPROCESS from the program GPP we replace ص Ò with ص ¾Ò¾ ½. The PROCEDURE PULL/RELABEL is replaced with the PROCEDURE BIPULL/RELABEL, as follows: ISSN: Issue 8, Volume 8, August 2009

6 ½µPROCEDURE BIPULL/RELABEL(Ý); µ IF network contains an admissible arc Ü Ýµ µ THEN IF network contains an admissible arc ٠ܵ µ THEN pull Ö ½ min ݵ Ö Ü Ýµ Ö Ù Üµ units of flow over back path Ý Ü Ùµ µ ELSE µ µend; ELSE ܵ min Ùµ ½ ٠ܵ ¾ ܵ ݵ min ܵ ½ Ü Ýµ ¾ ݵ; We call a pull of Ö ½ units on the back path Ý Ü Ùµ a bipull. The bipull is saturated if Ö ½ Ö Ü Ýµ or Ö ½ Ö Ù Üµ and unsaturated otherwise. Note that an unsaturated bipull reduces the deficit at vertex Ý to zero. The idea of bipartite preflow algorithm we consider also apply in a straight forward manner to the Karzanov, FIFO preflow, highest label preflow and deficit scaling algorithms and yield algorithm improved worst case complexity. Figure 4 summarizes the improvements obtained using this approach. Specialization Running time, Running time, general network bipartite net- algorithmwork 1 Generic Ç Ò ¾ ѵ preflow Ç Ò ¾ ¾ ѵ 2 Karzanov Ç Ò µ Ç Ò ¾ Ñ Ò ¾ µ 3 FIFO Ç Ò µ Ç Ò ¾ Ñ Ò ¾ µ preflow 4 Highest label preflow Ç Ò ¾ Ñ ½¾ µ Ç Ò ¾ ѵ 5 Deficit scaling Ç ÒÑ Ò ¾ ÐÓ µ Ç Ò ¾ Ñ Ò ¾ ¾ ÐÓ µ Figure 4: The running time for five algorithms The reader interested in further details is urged to consult the papers [6], [7]. 4 Minimum flows in unit capacity networks We present two algorithms for finding the minimum flows in unit capacity networks. An unit capacity network is a network Æ Ð Øµ so that Ð Ü Ýµ ¼ or ½ and Ü Ýµ ½ for all arcs Ü Ýµ ¾. The computation of a minimum flow in a bipartite network bas been investigated in [8]. In a unit capacity network, the Ford-Fulkerson labeling algorithm determines a minimum flow within Ò decreasion steps that requires Ç Òѵ time, because ½. The Ahuja-Orlin shortest path algorithm also solves this problem in Ç Òѵ time since its bottleneck operation, which is a decreasion step, requires Ç Òѵ time. The first unit capacity minimum flow algorithm is a two-phase algorithm. Let Ñ Ñ ÑÒ Ð¾Ò ¾ ÐÑ ½¾ (P1) The algorithm applies the Ahuja-Orlin shortest path algorithm; this phase terminates whenever the distance label of the node Ø satisfies the condition ص. (P2) The algorithm applies the Ford-Fulkerson labeling algorithm to convert the flow obtained in first phase into a minimum flow. In the first phase the algorithm might terminate with a nonoptimal solution, the solution is probably nearly-optimal (its value is within of the optimal flow value). The Ford-Fulkerson labeling algorithm converts this near-optimal flow into a minimum flow far more quickly than the Ahuja-Orlin shortest path algorithm. The second unit capacity minimum flow algorithm is obtained by modifying the procedure BLOCKFLOW in Dinic layered network algorithm. Let ¼ Æ ¼ µ be the Dinic layered network and ¼ ܵ Ü Ýµ Ü Ýµ ¾ ¼ We present now the new procedure in Dinic layered network algorithm. ½µPROCEDURE BLOCKFLOWUNIT ¼ ¼ µ; µ Ä ; ¼ µ FOR Ü ¾ Æ DO ܵ ¼; µ FOR Ü Ýµ ¾ ¼ DO µ BEGIN µ ¼ Ü ¼ ݵ ¼; ݵ ¼ ݵ ½; µ END; µ REPEAT ½¼µ Ý Ø; ½½µ FOR DOWNTO ½ DO ½¾µ BEGIN ½ µ choose an arc Ü Ýµ ¾ ¼ ; ½µ remove the arc Ü Ýµ from ¼ ; ISSN: Issue 8, Volume 8, August 2009

7 ½µ ¼ ݵ ¼ ݵ ½; ¼ Ü Ýµ ½; ¼ ½µ IF ݵ ¼ THEN ½µ BEGIN ½µ append Ý to Ä; ½µ WHILE Ä DO ¾¼µ BEGIN ¾½µ remove the first node Ù from Ä; ¾¾µ FOR Ù Úµ ¾ ¼ Ùµ DO ¾ µ BEGIN ¾µ remove Ù Úµ from ¼ ; ¼ ¾µ Úµ ¼ Úµ ½; ¾µ IF ¼ Úµ ¼ ¾µ THEN append Ú to Ä; ¾µ END; ¾µ END; ¼µ END; ¾µ Ý Ü; ½µ END; ¼ µ UNTIL ص ¼; µ END. Each unit capacity minimum flow algorithm solves a minimum flow problem on unit capacity networks in Ç ÑÒÒ ¾ Ñ Ñ ¾ µ time (see [8]). 5 Minimum flows in bipartite networks with unit capacities In this section we consider a special case of networks which ocurrs in applications and for which, due to their special structure, one can obtain a faster algorithm for finding a minimum flow. Let Æ ½ Æ ¾ Рص an unbalanced (Ò ¾ Ò ½ ) bipartite network with Ð Ü Ýµ ¼ or ½ and Ü Ýµ ½ for all arcs Ü Ýµ ¾. There are many applications of bipartite networks with unit capacities. For computation of a minimum flow in an unbalanced bipartite network with unit capacities we use the Dinic layered networks algorithm from section 3 with procedure BLOCKFLOWUNIT from section 4. We present now this algorithm ( ¼ is a feasible flow in the network ): ½µPROGRAM DLN; µ ¼ µ µ ¼; µ determine the residual network ; µ WHILE µ Ò DO µ µ BEGIN LAYEREDNETWORK( ¼ ); µ ½¼µ BLOCKFLOWUNIT( ¼ ¼ ); DECREASEFLOW( ¼ ); ½½µ END; ½¾µEND. ½µPROCEDURE LAYEREDNETWORK( ¼ ); µ determine the exact distance labels ܵ in ; µ determine the layered network ¼ ; µend. ½µPROCEDURE DECREASEFLOW( ¼ ); µ ¼ ; µ update the residual network ; µend. Theorem 3 The Dinic layered network algorithm for unbalanced bipartite network with unit capacities runs in Ç ÑÒÒ ¾ ¾ Ñ Ñ ¾ µ. Proof: The Dinic layered network algorithm for unbalanced bipartite network has a time complexity of Ç Ò ¾ ¾ ѵ (see section 3). The modified Dinic algorithm in unit capcity networks has a time complexity of Ç ÑÒÒ ¾ Ñ Ñ ¾ µ (see section 4). It results that the Dinic layered network algorithm for unbalanced bipartite network with unit capacities runs in Ç ÑÒÒ ¾ ¾ Ñ Ñ ¾ µ. 6 Applications In this section we present the scheduling jobs on identical machines. This problem has many practical applications, where machines might be workers, tankers, airplanes, truks, processors etc. Three of such examples are treated here as subsections. Another interesting applications are presented in main works. Let be a set of jobs which are to be processed by a set of identical machines. Each job Ü ¾ is processed by one machine Ý ¾. There is a fix schedule for the jobs, specifying that the job Ü ¾ must start at time Ü µ and finish at time ¼ Ü µ. Furthermore, there is a transition time ¼¼ Ü Ý µ required to set up a machine which has just performed the job Ü and will perform the job Ý. The goal is to find a ISSN: Issue 8, Volume 8, August 2009

8 feasible schedule for the jobs which requires as few machines as possible. We can formulate this problem as a minimum flow problem in a network. This network contains a node for each job Ü ¾, ½. We split each node Ü into two nodes Ü ¼ and ܼ¼ and add the arc Ü ¼ ܼ¼ µ. We also add a source node and a sink node Ø. We connect the source node to the nodes Ü ¼ ¾, ½ and each node Ü ¼¼ ¾, ½ to the sink node t. If ¼ Ü ¼ ¼¼ µ ¼¼ Ü Ü¼ µ ܼ µ then we also add the arc Ü ¼¼ ܼ µ. Thus, we can formulate this problem as a minimum flow problem in a network Æ Ð Øµ where Æ Æ ½ Æ ¾ Æ Æ Flight Origin Destination µ ¼ µ 1 Airport ½ Airport Airport ½ Airport Airport ¾ Airport Airport ¾ Airport Airport ¾ Airport Figure 5: Characteristic of flights Æ ½ Æ ¾ Ü ¼ ½ Æ Ü ¼¼ ½ Æ Ø ½ ¾ ½ Ü ¼ µü¼ ¾ Æ ¾ ¾ Ü ¼ ܼ¼ µü¼ ¾ Æ ¾ Ü ¼¼ ¾ Æ Ü ¼¼ ܼ µ ¼ Ü ¼ ¼¼ µ ¼¼ Ü Ü¼ µ ܼ µ Ü ¼¼ صܼ¼ ¾ Æ Ð Ü ¼ µ ¼ ܼ µ ½ for each ܼ µ ¾ ½ Ð Ü ¼ ܼ¼ µ ½ ܼ ܼ¼ µ ½ for each ܼ ܼ¼ µ ¾ ¾ Ð Ü ¼¼ ܼ µ ¼ ܼ¼ ܼ µ ½ for each ܼ¼ ܼ µ ¾ Ð Ü ¼¼ ص ¼ ܼ¼ ص ½ for each ܼ¼ ص ¾ We present now the airplain scheduling problem. An airline company has contracted to perform flights between several different origin-destination pairs. The starting time for flight Ü is Ü µ and the finishing time is ¼ Ü µ. The plane requires ¼¼ Ü Ü µ hours to return from the point of destination of the flight Ü to the point of origin of the flight Ü. The airline company wants to determine the minimum number of planes needed to perform these flights. In order to illustrate a modeling approach for this problem, we consider an example with five flights. A plane requires ¼¼ Ü Ü µ ¼ Ü µ Ü µ hours to return from the point of destination of the flight Ü to the point of origin of the flight Ü. Each Figure 6: The airline scheduling network flight has the characteristics shown in the table in the figure 5. Figure 6 shows the corresponding network Æ Ð Øµ. Figure 7 shows a minimum flow with Ú in the network. The minimum number of planes to perform the flights is three. The first plane performs flights 1 and 5, the second plane performs flights 2 and 3 and the third plane performs flight 4. A related problem could be a scheduling airplanes problem. This means that an airport has a certain number of runways that can be used for landing of airplanes. How would you schedule airplanes to use the minimum number of runways (in order to possi- ISSN: Issue 8, Volume 8, August 2009

9 References: [1] R. Ahuja, T. Magnanti and J. Orlin, Network Flows. Theory, algorithms and applications, Prentice Hall, Inc., Englewood Cliffs, NY, Figure 7: The minimum flow for airline scheduling network bly have some spare ones permanently ready for emergency landings) if every use of a runway can be determined as fixed time interval? We can solve this problem in the same mode as the previous problems. The machine setup problem is the following. A job shop needs to perform jobs on a particular day. It is known the start time Ü µ and the end time ¼ Ü µ for each job Ü ½. The workers must perform these jobs according to this schedule so that exactly one worker performs each job. A worker cannot work on two jobs at the same time. It is also known the setup time ¼¼ Ü Ü µ required for a worker to go from job Ü to job Ü. We wish to find the minimum number of workers to perform the given jobs. The tanker scheduling problem is the following. A steamship company has contracted to deliver perishable goods between several different origindestination pairs. Since the cargo is perishable, the customers have specified precise dates (in days) when the shipments must reach their destinations. The steamship company wants to determine the minimum number of ships needed to meet the delivery dates of the shiploads. There are many other applications of bipartite networks with unit capacities. Acknowledgements. The research was supported by University Transilvania of Braşov and by Grant IDEI 134/2007. [2] L. Ciupală and E. Ciurea, Sequential and parallel deficit scaling algorithms for minimum flow in bipartite networks, WSEAS Transactions on Computers, Issue 10, Vol. 7, 2008, pp [3] L. Ciupală and E. Ciurea, A parallel algorithm for the minimum flow problem in bipartite networks, Proceedings of the 12th WSEAS International Conference on Computers, Crete, Greece, 2008, pp [4] E. Ciurea and L. Ciupală, Sequential and parallel algorithms for minimum flows, Journal of Applied Mathematics and Computing, Vol. 15, No. 1-2, 2004, pp [5] E. Ciurea and L. Ciupală, Algorithms for minimum flows, Computer Science of Moldova, Vol. 9(3), 2001, pp [6] E. Ciurea, O. Georgescu and D. Marinescu, Improved algorithms for minimum flows in bipartite networks, International Journal of Computers, Issue 4, Vol. 2, 2008, pp [7] E. Ciurea, O. Georgescu and D. Marinescu, Minimum flows in bipartite networks, Proceedings of the 10th WSEAS International Conference on Mathematical and Computational Methods in Science and Engineering, Bucuresti, 2008, pp [8] E. Ciurea and O. Georgescu, Minimum flow in unit capacity networks, Analele Universităţii Bucureşti, XLV, 2006, pp [9] E. Ciurea, An algorithm for minimal dynamic flow, Korean Journal of Computational and Applied Mathematics, vol. 7(3) (2000), [10] E. Ciurea, A. Deaconu, Inverse Minimum Flow Problem, Journal of Applied Mathematics and Computing, vol. 23 (2007), [11] E. Dinic, Algorithm for solution of a problem of maximum flow in network with power estimation, Soviet Mathematics Doklady, Vol. 11, 1970, pp [12] J.R. Evans, E.Minieka, Optimization algorithms for networks, Marcel Dekker Inc., New York, [13] L.R. Ford, D.R. Fulkerson, Flows in networks, Princeton University Press, Princeton, New Yersey, ISSN: Issue 8, Volume 8, August 2009

10 [14] O. Georgescu, Minimum Flow in Network using Dynamic Tree Implementation, Proceedings of Ö Annual South-East European Doctoral Student Conference, Thessaloniki, Greece, Vol. 2, 2008, pp [15] O. Georgescu and E. Ciurea, Decreasing path algorithm for minimum flows. Dynamic Tree Implementations, Proceedings of the ½¾ Ø WSEAS International Conference on Computers, Crete, Greece, 2008, pp [16] F. Glover, D. Klingman and N.V. Philips, Network Models in Optimization and their Applications in Practice, Wiley, New York [17] J. Gross, J. Yellen, Graph Theory and its Applications, CRC Press, New York [18] D. Gusfield, C. Martel and D. Fernandez-Baca, Fast algorithms for bipartite network flow, SIAM Journal of Computing, Vol. 16, 1987, pp [19] D. Jungnickel, Graphs, Networks and Algorithms, Springer, Berlin [20] A. Karzanov, Determining the maximal flow in a network by the method of preflows, Soviet Mathematics Doklady, Vol. 15, 1974, pp [21] S. Lin, H. Chang and C. Kuo, An Implementation of the Parallel Algorithm for Solving Nonlinear Multi-commodity Network Flow Problem, WSEAS Transactions on Systems, Vol. 5(8), August 2006, pp [22] E. Milkova, Combinatorial Optimization: Mutual Relations among Graph Algorithms, WSEAS Transactions on Mathematics, Vol. 7(5), May 2008, pp [23] G. Ruhe, Algorithmic Aspects of Flows in Networks, Kluwer Academic Publishers, Dordrecht ISSN: Issue 8, Volume 8, August 2009

Sequential and parallel deficit scaling algorithms for minimum flow in bipartite networks

Sequential and parallel deficit scaling algorithms for minimum flow in bipartite networks Sequential and parallel deficit scaling algorithms for minimum flow in bipartite networks LAURA CIUPALĂ Department of Computer Science University Transilvania of Braşov Iuliu Maniu Street 50, Braşov ROMANIA

More information

SEQUENTIAL AND PARALLEL ALGORITHMS FOR MINIMUM FLOWS

SEQUENTIAL AND PARALLEL ALGORITHMS FOR MINIMUM FLOWS J. Appl. Math. & Computing Vol. 15(2004), No. 1-2, pp. 53-75 SEQUENTIAL AND PARALLEL ALGORITHMS FOR MINIMUM FLOWS ELEONOR CIUREA AND LAURA CIUPALĂ Abstract. First, we present two classes of sequential

More information

Parametric Maximum Flow Problem: Techniques and Algorithms. Deepika Sareen, Dr Deepak Garg. Thapar University, Patiala

Parametric Maximum Flow Problem: Techniques and Algorithms. Deepika Sareen, Dr Deepak Garg. Thapar University, Patiala Parametric Maximum Flow Problem: Techniques and Algorithms Deepika Sareen, Dr Deepak Garg Thapar University, Patiala sareendeepika@yahoo.co.in, dgarg@thapar.edu Abstract We encounter many different types

More information

Scan Scheduling Specification and Analysis

Scan Scheduling Specification and Analysis Scan Scheduling Specification and Analysis Bruno Dutertre System Design Laboratory SRI International Menlo Park, CA 94025 May 24, 2000 This work was partially funded by DARPA/AFRL under BAE System subcontract

More information

Incremental Algorithms for the Minimum Cost Flow Problem

Incremental Algorithms for the Minimum Cost Flow Problem Incremental Algorithms for the Minimum Cost Flow Problem LAURA CIUPALĂ Department of Computer Science University Transilvania of Braşov Iuliu Maniu Street 50, Braşov ROMANIA laura_ciupala@yahoo.com Abstract:

More information

Minimum Cost Edge Disjoint Paths

Minimum Cost Edge Disjoint Paths Minimum Cost Edge Disjoint Paths Theodor Mader 15.4.2008 1 Introduction Finding paths in networks and graphs constitutes an area of theoretical computer science which has been highly researched during

More information

Chapter 5 Graph Algorithms Algorithm Theory WS 2012/13 Fabian Kuhn

Chapter 5 Graph Algorithms Algorithm Theory WS 2012/13 Fabian Kuhn Chapter 5 Graph Algorithms Algorithm Theory WS 2012/13 Fabian Kuhn Graphs Extremely important concept in computer science Graph, : node (or vertex) set : edge set Simple graph: no self loops, no multiple

More information

End-to-end bandwidth guarantees through fair local spectrum share in wireless ad-hoc networks

End-to-end bandwidth guarantees through fair local spectrum share in wireless ad-hoc networks End-to-end bandwidth guarantees through fair local spectrum share in wireless ad-hoc networks Saswati Sarkar and Leandros Tassiulas 1 Abstract Sharing the locally common spectrum among the links of the

More information

CS261: Problem Set #1

CS261: Problem Set #1 CS261: Problem Set #1 Due by 11:59 PM on Tuesday, April 21, 2015 Instructions: (1) Form a group of 1-3 students. You should turn in only one write-up for your entire group. (2) Turn in your solutions by

More information

Tutorial for Algorithm s Theory Problem Set 5. January 17, 2013

Tutorial for Algorithm s Theory Problem Set 5. January 17, 2013 Tutorial for Algorithm s Theory Problem Set 5 January 17, 2013 Exercise 1: Maximum Flow Algorithms Consider the following flow network: a) Solve the maximum flow problem on the above network by using the

More information

Designing Networks Incrementally

Designing Networks Incrementally Designing Networks Incrementally Adam Meyerson Kamesh Munagala Ý Serge Plotkin Þ Abstract We consider the problem of incrementally designing a network to route demand to a single sink on an underlying

More information

Network Design and Optimization course

Network Design and Optimization course Effective maximum flow algorithms Modeling with flows Network Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell Informazione Università degli

More information

Planar graphs, negative weight edges, shortest paths, and near linear time

Planar graphs, negative weight edges, shortest paths, and near linear time Planar graphs, negative weight edges, shortest paths, and near linear time Jittat Fakcharoenphol Satish Rao Ý Abstract In this paper, we present an Ç Ò ÐÓ Òµ time algorithm for finding shortest paths in

More information

Response Time Analysis of Asynchronous Real-Time Systems

Response Time Analysis of Asynchronous Real-Time Systems Response Time Analysis of Asynchronous Real-Time Systems Guillem Bernat Real-Time Systems Research Group Department of Computer Science University of York York, YO10 5DD, UK Technical Report: YCS-2002-340

More information

Reducing Directed Max Flow to Undirected Max Flow and Bipartite Matching

Reducing Directed Max Flow to Undirected Max Flow and Bipartite Matching Reducing Directed Max Flow to Undirected Max Flow and Bipartite Matching Henry Lin Division of Computer Science University of California, Berkeley Berkeley, CA 94720 Email: henrylin@eecs.berkeley.edu Abstract

More information

SFU CMPT Lecture: Week 8

SFU CMPT Lecture: Week 8 SFU CMPT-307 2008-2 1 Lecture: Week 8 SFU CMPT-307 2008-2 Lecture: Week 8 Ján Maňuch E-mail: jmanuch@sfu.ca Lecture on June 24, 2008, 5.30pm-8.20pm SFU CMPT-307 2008-2 2 Lecture: Week 8 Universal hashing

More information

Competitive Analysis of On-line Algorithms for On-demand Data Broadcast Scheduling

Competitive Analysis of On-line Algorithms for On-demand Data Broadcast Scheduling Competitive Analysis of On-line Algorithms for On-demand Data Broadcast Scheduling Weizhen Mao Department of Computer Science The College of William and Mary Williamsburg, VA 23187-8795 USA wm@cs.wm.edu

More information

RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È.

RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È. RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È. Let Ò Ô Õ. Pick ¾ ½ ³ Òµ ½ so, that ³ Òµµ ½. Let ½ ÑÓ ³ Òµµ. Public key: Ò µ. Secret key Ò µ.

More information

Graphs and Network Flows IE411. Lecture 13. Dr. Ted Ralphs

Graphs and Network Flows IE411. Lecture 13. Dr. Ted Ralphs Graphs and Network Flows IE411 Lecture 13 Dr. Ted Ralphs IE411 Lecture 13 1 References for Today s Lecture IE411 Lecture 13 2 References for Today s Lecture Required reading Sections 21.1 21.2 References

More information

Lecture 11: Maximum flow and minimum cut

Lecture 11: Maximum flow and minimum cut Optimisation Part IB - Easter 2018 Lecture 11: Maximum flow and minimum cut Lecturer: Quentin Berthet 4.4. The maximum flow problem. We consider in this lecture a particular kind of flow problem, with

More information

Application of Bounded Variable Simplex Algorithm in Solving Maximal Flow Model

Application of Bounded Variable Simplex Algorithm in Solving Maximal Flow Model Dhaka Univ. J. Sci. (): 9-, 3 (January) Application of Bounded Variable Simplex Algorithm in Solving Maximal Flow Model Sohana Jahan, Marzia Yesmin and Fatima Tuj Jahra Department of Mathematics,University

More information

Graphs (MTAT , 4 AP / 6 ECTS) Lectures: Fri 12-14, hall 405 Exercises: Mon 14-16, hall 315 või N 12-14, aud. 405

Graphs (MTAT , 4 AP / 6 ECTS) Lectures: Fri 12-14, hall 405 Exercises: Mon 14-16, hall 315 või N 12-14, aud. 405 Graphs (MTAT.05.080, 4 AP / 6 ECTS) Lectures: Fri 12-14, hall 405 Exercises: Mon 14-16, hall 315 või N 12-14, aud. 405 homepage: http://www.ut.ee/~peeter_l/teaching/graafid08s (contains slides) For grade:

More information

1 Introduction. 2 The Generic Push-Relabel Algorithm. Improvements on the Push-Relabel Method: Excess Scaling. 2.1 Definitions CMSC 29700

1 Introduction. 2 The Generic Push-Relabel Algorithm. Improvements on the Push-Relabel Method: Excess Scaling. 2.1 Definitions CMSC 29700 CMSC 9700 Supervised Reading & Research Week 6: May 17, 013 Improvements on the Push-Relabel Method: Excess Scaling Rahul Mehta 1 Introduction We now know about both the methods based on the idea of Ford

More information

Probabilistic analysis of algorithms: What s it good for?

Probabilistic analysis of algorithms: What s it good for? Probabilistic analysis of algorithms: What s it good for? Conrado Martínez Univ. Politècnica de Catalunya, Spain February 2008 The goal Given some algorithm taking inputs from some set Á, we would like

More information

Efficiency versus Convergence of Boolean Kernels for On-Line Learning Algorithms

Efficiency versus Convergence of Boolean Kernels for On-Line Learning Algorithms Efficiency versus Convergence of Boolean Kernels for On-Line Learning Algorithms Roni Khardon Tufts University Medford, MA 02155 roni@eecs.tufts.edu Dan Roth University of Illinois Urbana, IL 61801 danr@cs.uiuc.edu

More information

Jessica Su (some parts copied from CLRS / last quarter s notes)

Jessica Su (some parts copied from CLRS / last quarter s notes) 1 Max flow Consider a directed graph G with positive edge weights c that define the capacity of each edge. We can identify two special nodes in G: the source node s and the sink node t. We want to find

More information

RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È.

RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È. RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È. Let Ò Ô Õ. Pick ¾ ½ ³ Òµ ½ so, that ³ Òµµ ½. Let ½ ÑÓ ³ Òµµ. Public key: Ò µ. Secret key Ò µ.

More information

and 6.855J March 6, Maximum Flows 2

and 6.855J March 6, Maximum Flows 2 5.08 and.855j March, 00 Maximum Flows Network Reliability Communication Network What is the maximum number of arc disjoint paths from s to t? How can we determine this number? Theorem. Let G = (N,A) be

More information

Approximation by NURBS curves with free knots

Approximation by NURBS curves with free knots Approximation by NURBS curves with free knots M Randrianarivony G Brunnett Technical University of Chemnitz, Faculty of Computer Science Computer Graphics and Visualization Straße der Nationen 6, 97 Chemnitz,

More information

Network optimization: An overview

Network optimization: An overview Network optimization: An overview Mathias Johanson Alkit Communications 1 Introduction Various kinds of network optimization problems appear in many fields of work, including telecommunication systems,

More information

Optimal Time Bounds for Approximate Clustering

Optimal Time Bounds for Approximate Clustering Optimal Time Bounds for Approximate Clustering Ramgopal R. Mettu C. Greg Plaxton Department of Computer Science University of Texas at Austin Austin, TX 78712, U.S.A. ramgopal, plaxton@cs.utexas.edu Abstract

More information

Jörgen Bang-Jensen and Gregory Gutin. Digraphs. Theory, Algorithms and Applications. Springer

Jörgen Bang-Jensen and Gregory Gutin. Digraphs. Theory, Algorithms and Applications. Springer Jörgen Bang-Jensen and Gregory Gutin Digraphs Theory, Algorithms and Applications Springer Contents 1. Basic Terminology, Notation and Results 1 1.1 Sets, Subsets, Matrices and Vectors 1 1.2 Digraphs,

More information

Maximum flows & Maximum Matchings

Maximum flows & Maximum Matchings Chapter 9 Maximum flows & Maximum Matchings This chapter analyzes flows and matchings. We will define flows and maximum flows and present an algorithm that solves the maximum flow problem. Then matchings

More information

Learning to Align Sequences: A Maximum-Margin Approach

Learning to Align Sequences: A Maximum-Margin Approach Learning to Align Sequences: A Maximum-Margin Approach Thorsten Joachims Department of Computer Science Cornell University Ithaca, NY 14853 tj@cs.cornell.edu August 28, 2003 Abstract We propose a discriminative

More information

Introduction to Mathematical Programming IE406. Lecture 16. Dr. Ted Ralphs

Introduction to Mathematical Programming IE406. Lecture 16. Dr. Ted Ralphs Introduction to Mathematical Programming IE406 Lecture 16 Dr. Ted Ralphs IE406 Lecture 16 1 Reading for This Lecture Bertsimas 7.1-7.3 IE406 Lecture 16 2 Network Flow Problems Networks are used to model

More information

LECTURES 3 and 4: Flows and Matchings

LECTURES 3 and 4: Flows and Matchings LECTURES 3 and 4: Flows and Matchings 1 Max Flow MAX FLOW (SP). Instance: Directed graph N = (V,A), two nodes s,t V, and capacities on the arcs c : A R +. A flow is a set of numbers on the arcs such that

More information

3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times 3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

More information

COT 6936: Topics in Algorithms! Giri Narasimhan. ECS 254A / EC 2443; Phone: x3748

COT 6936: Topics in Algorithms! Giri Narasimhan. ECS 254A / EC 2443; Phone: x3748 COT 6936: Topics in Algorithms! Giri Narasimhan ECS 254A / EC 2443; Phone: x3748 giri@cs.fiu.edu http://www.cs.fiu.edu/~giri/teach/cot6936_s12.html https://moodle.cis.fiu.edu/v2.1/course/view.php?id=174

More information

A Parallel Genetic Algorithm for Maximum Flow Problem

A Parallel Genetic Algorithm for Maximum Flow Problem A Parallel Genetic Algorithm for Maximum Flow Problem Ola M. Surakhi Computer Science Department University of Jordan Amman-Jordan Mohammad Qatawneh Computer Science Department University of Jordan Amman-Jordan

More information

arxiv: v2 [cs.ds] 14 Sep 2010

arxiv: v2 [cs.ds] 14 Sep 2010 Multiple-source single-sink maximum flow in directed planar graphs in O(n 1.5 log n) time arxiv:1008.5332v2 [cs.ds] 14 Sep 2010 Philip N. Klein and Shay Mozes Brown University October 28, 2018 Abstract

More information

Constructive floorplanning with a yield objective

Constructive floorplanning with a yield objective Constructive floorplanning with a yield objective Rajnish Prasad and Israel Koren Department of Electrical and Computer Engineering University of Massachusetts, Amherst, MA 13 E-mail: rprasad,koren@ecs.umass.edu

More information

Online Scheduling for Sorting Buffers

Online Scheduling for Sorting Buffers Online Scheduling for Sorting Buffers Harald Räcke ½, Christian Sohler ½, and Matthias Westermann ¾ ½ Heinz Nixdorf Institute and Department of Mathematics and Computer Science Paderborn University, D-33102

More information

A General Greedy Approximation Algorithm with Applications

A General Greedy Approximation Algorithm with Applications A General Greedy Approximation Algorithm with Applications Tong Zhang IBM T.J. Watson Research Center Yorktown Heights, NY 10598 tzhang@watson.ibm.com Abstract Greedy approximation algorithms have been

More information

Network Flow. The network flow problem is as follows:

Network Flow. The network flow problem is as follows: Network Flow The network flow problem is as follows: Given a connected directed graph G with non-negative integer weights, (where each edge stands for the capacity of that edge), and two distinguished

More information

A COMPUTATIONAL STUDY OF THE CONSTRAINED MAXIMUM FLOW PROBLEM

A COMPUTATIONAL STUDY OF THE CONSTRAINED MAXIMUM FLOW PROBLEM COMPUTTIONL STUDY OF THE CONSTRINED MXIMUM FLOW PROBLEM Cenk Çalışkan, Woodbury School of Business, Utah Valley University, 800 W. University Pkwy, Orem, UT 84058, (801) 863-6487, cenk.caliskan@uvu.edu

More information

Maximum Flow Algorithms

Maximum Flow Algorithms Maximum Flow Algorithms Network Algorithms Georgia Kaouri Contents Applications, special cases Flow networks Ford Fulkerson algorithm Preflow push algorithms Lift to front algorithm Material flows Applications

More information

Network Flow. By: Daniel Pham, Anthony Huber, Shaazan Wirani

Network Flow. By: Daniel Pham, Anthony Huber, Shaazan Wirani Network Flow By: Daniel Pham, Anthony Huber, Shaazan Wirani Questions 1. What is a network flow? 2. What is the Big O notation of the Ford-Fulkerson method? 3. How to test if the Hungarian algorithm is

More information

From Static to Dynamic Routing: Efficient Transformations of Store-and-Forward Protocols

From Static to Dynamic Routing: Efficient Transformations of Store-and-Forward Protocols From Static to Dynamic Routing: Efficient Transformations of Store-and-Forward Protocols Christian Scheideler Ý Berthold Vöcking Þ Abstract We investigate how static store-and-forward routing algorithms

More information

by Ravindra K. Ahuja Murali Kodialam Ajay K. Mishra James B. Orlin WP #

by Ravindra K. Ahuja Murali Kodialam Ajay K. Mishra James B. Orlin WP # Computational Investigations of Flow Algorithms by Ravindra K. Ahuja Murali Kodialam Ajay K. Mishra James B. Orlin Maximum WP #3811-95 April 1995 1 COMPUTATIONAL INVESTIGATIONS OF MAXIMUM FLOW ALGORITHMS

More information

A Proposal for the Implementation of a Parallel Watershed Algorithm

A Proposal for the Implementation of a Parallel Watershed Algorithm A Proposal for the Implementation of a Parallel Watershed Algorithm A. Meijster and J.B.T.M. Roerdink University of Groningen, Institute for Mathematics and Computing Science P.O. Box 800, 9700 AV Groningen,

More information

Outline: Finish uncapacitated simplex method Negative cost cycle algorithm The max-flow problem Max-flow min-cut theorem

Outline: Finish uncapacitated simplex method Negative cost cycle algorithm The max-flow problem Max-flow min-cut theorem Outline: Finish uncapacitated simplex method Negative cost cycle algorithm The max-flow problem Max-flow min-cut theorem Uncapacitated Networks: Basic primal and dual solutions Flow conservation constraints

More information

CSE 417 Network Flows (pt 4) Min Cost Flows

CSE 417 Network Flows (pt 4) Min Cost Flows CSE 417 Network Flows (pt 4) Min Cost Flows Reminders > HW6 is due Monday Review of last three lectures > Defined the maximum flow problem find the feasible flow of maximum value flow is feasible if it

More information

Final Exam Spring 2003

Final Exam Spring 2003 .8 Final Exam Spring Name Instructions.. Please answer all questions in the exam books that are provided.. Please budget your time carefully. It is often a good idea to read the entire exam first, so that

More information

Lecture notes on: Maximum matching in bipartite and non-bipartite graphs (Draft)

Lecture notes on: Maximum matching in bipartite and non-bipartite graphs (Draft) Lecture notes on: Maximum matching in bipartite and non-bipartite graphs (Draft) Lecturer: Uri Zwick June 5, 2013 1 The maximum matching problem Let G = (V, E) be an undirected graph. A set M E is a matching

More information

A 2-Approximation Algorithm for the Soft-Capacitated Facility Location Problem

A 2-Approximation Algorithm for the Soft-Capacitated Facility Location Problem A 2-Approximation Algorithm for the Soft-Capacitated Facility Location Problem Mohammad Mahdian Yinyu Ye Ý Jiawei Zhang Þ Abstract This paper is divided into two parts. In the first part of this paper,

More information

Cofactoring-Based Upper Bound Computation for Covering Problems

Cofactoring-Based Upper Bound Computation for Covering Problems TR-CSE-98-06, UNIVERSITY OF MASSACHUSETTS AMHERST Cofactoring-Based Upper Bound Computation for Covering Problems Congguang Yang Maciej Ciesielski May 998 TR-CSE-98-06 Department of Electrical and Computer

More information

Insensitive Traffic Splitting in Data Networks

Insensitive Traffic Splitting in Data Networks Juha Leino and Jorma Virtamo. 2005. Insensitive traffic splitting in data networs. In: Proceedings of the 9th International Teletraffic Congress (ITC9). Beijing, China, 29 August 2 September 2005, pages

More information

The Encoding Complexity of Network Coding

The Encoding Complexity of Network Coding The Encoding Complexity of Network Coding Michael Langberg Alexander Sprintson Jehoshua Bruck California Institute of Technology Email: mikel,spalex,bruck @caltech.edu Abstract In the multicast network

More information

Network flows and Menger s theorem

Network flows and Menger s theorem Network flows and Menger s theorem Recall... Theorem (max flow, min cut strong duality). Let G be a network. The maximum value of a flow equals the minimum capacity of a cut. We prove this strong duality

More information

Homework 3 Solutions

Homework 3 Solutions CS3510 Design & Analysis of Algorithms Section A Homework 3 Solutions Released: 7pm, Wednesday Nov 8, 2017 This homework has a total of 4 problems on 4 pages. Solutions should be submitted to GradeScope

More information

Key Grids: A Protocol Family for Assigning Symmetric Keys

Key Grids: A Protocol Family for Assigning Symmetric Keys Key Grids: A Protocol Family for Assigning Symmetric Keys Amitanand S. Aiyer University of Texas at Austin anand@cs.utexas.edu Lorenzo Alvisi University of Texas at Austin lorenzo@cs.utexas.edu Mohamed

More information

GRAPH DECOMPOSITION BASED ON DEGREE CONSTRAINTS. March 3, 2016

GRAPH DECOMPOSITION BASED ON DEGREE CONSTRAINTS. March 3, 2016 GRAPH DECOMPOSITION BASED ON DEGREE CONSTRAINTS ZOÉ HAMEL March 3, 2016 1. Introduction Let G = (V (G), E(G)) be a graph G (loops and multiple edges not allowed) on the set of vertices V (G) and the set

More information

Copyright 2007 Pearson Addison-Wesley. All rights reserved. A. Levitin Introduction to the Design & Analysis of Algorithms, 2 nd ed., Ch.

Copyright 2007 Pearson Addison-Wesley. All rights reserved. A. Levitin Introduction to the Design & Analysis of Algorithms, 2 nd ed., Ch. Iterative Improvement Algorithm design technique for solving optimization problems Start with a feasible solution Repeat the following step until no improvement can be found: change the current feasible

More information

Maximum Flow. Flow Networks. Flow Networks Ford-Fulkerson Method Edmonds-Karp Algorithm Push-Relabel Algorithms. Example Flow Network

Maximum Flow. Flow Networks. Flow Networks Ford-Fulkerson Method Edmonds-Karp Algorithm Push-Relabel Algorithms. Example Flow Network Flow Networks Ford-Fulkerson Method Edmonds-Karp Algorithm Push-Relabel Algorithms Maximum Flow Flow Networks A flow network is a directed graph where: Each edge (u,v) has a capacity c(u,v) 0. If (u,v)

More information

External-Memory Breadth-First Search with Sublinear I/O

External-Memory Breadth-First Search with Sublinear I/O External-Memory Breadth-First Search with Sublinear I/O Kurt Mehlhorn and Ulrich Meyer Max-Planck-Institut für Informatik Stuhlsatzenhausweg 85, 66123 Saarbrücken, Germany. Abstract. Breadth-first search

More information

CSE 417 Network Flows (pt 3) Modeling with Min Cuts

CSE 417 Network Flows (pt 3) Modeling with Min Cuts CSE 417 Network Flows (pt 3) Modeling with Min Cuts Reminders > HW6 is due on Friday start early bug fixed on line 33 of OptimalLineup.java: > change true to false Review of last two lectures > Defined

More information

Tidal Flow: A Fast and Teachable Maximum Flow Algorithm

Tidal Flow: A Fast and Teachable Maximum Flow Algorithm Olympiads in Informatics, 2018, Vol. 12, 25 41 2018 IOI, Vilnius University DOI: 10.15388/ioi.2018.03 25 Tidal Flow: A Fast and Teachable Maximum Flow Algorithm Matthew C. FONTAINE Independent Researcher

More information

Binary Relations McGraw-Hill Education

Binary Relations McGraw-Hill Education Binary Relations A binary relation R from a set A to a set B is a subset of A X B Example: Let A = {0,1,2} and B = {a,b} {(0, a), (0, b), (1,a), (2, b)} is a relation from A to B. We can also represent

More information

Job Management & Network Flows

Job Management & Network Flows Job Management & Network Flows How to solve job management problems with networks flow techniques Francesca Armandillo BMI paper Vre Universiteit Faculty of Sciences Business Mathematics and Informatics

More information

The Encoding Complexity of Network Coding

The Encoding Complexity of Network Coding The Encoding Complexity of Network Coding Michael Langberg Alexander Sprintson Jehoshua Bruck California Institute of Technology Email mikel,spalex,bruck @caltech.edu Abstract In the multicast network

More information

The Online Median Problem

The Online Median Problem The Online Median Problem Ramgopal R. Mettu C. Greg Plaxton November 1999 Abstract We introduce a natural variant of the (metric uncapacitated) -median problem that we call the online median problem. Whereas

More information

Optimal Static Range Reporting in One Dimension

Optimal Static Range Reporting in One Dimension of Optimal Static Range Reporting in One Dimension Stephen Alstrup Gerth Stølting Brodal Theis Rauhe ITU Technical Report Series 2000-3 ISSN 1600 6100 November 2000 Copyright c 2000, Stephen Alstrup Gerth

More information

Today. Maximum flow. Maximum flow. Problem

Today. Maximum flow. Maximum flow. Problem 5 Maximum Flow (slides 1 4) Today Maximum flow Algorithms and Networks 2008 Maximum flow problem Applications Briefly: Ford-Fulkerson; min cut max flow theorem Preflow push algorithm Lift to front algorithm

More information

A NEW SIMPLEX TYPE ALGORITHM FOR THE MINIMUM COST NETWORK FLOW PROBLEM

A NEW SIMPLEX TYPE ALGORITHM FOR THE MINIMUM COST NETWORK FLOW PROBLEM A NEW SIMPLEX TYPE ALGORITHM FOR THE MINIMUM COST NETWORK FLOW PROBLEM KARAGIANNIS PANAGIOTIS PAPARRIZOS KONSTANTINOS SAMARAS NIKOLAOS SIFALERAS ANGELO * Department of Applied Informatics, University of

More information

7. NETWORK FLOW II. Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley Copyright 2013 Kevin Wayne

7. NETWORK FLOW II. Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley Copyright 2013 Kevin Wayne 7. NETWORK FLOW II Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley Copyright 203 Kevin Wayne http://www.cs.princeton.edu/~wayne/kleinberg-tardos bipartite matching disjoint paths extensions

More information

Robust time-varying shortest path with arbitrary waiting time at vertices

Robust time-varying shortest path with arbitrary waiting time at vertices Croatian Operational Research Review 525 CRORR 8(2017), 525 56 Robust time-varying shortest path with arbitrary waiting time at vertices Gholamhassan Shirdel 1, and Hassan Rezapour 1 1 Department of Mathematics,

More information

Lecture 10,11: General Matching Polytope, Maximum Flow. 1 Perfect Matching and Matching Polytope on General Graphs

Lecture 10,11: General Matching Polytope, Maximum Flow. 1 Perfect Matching and Matching Polytope on General Graphs CMPUT 675: Topics in Algorithms and Combinatorial Optimization (Fall 2009) Lecture 10,11: General Matching Polytope, Maximum Flow Lecturer: Mohammad R Salavatipour Date: Oct 6 and 8, 2009 Scriber: Mohammad

More information

A Modality for Recursion

A Modality for Recursion A Modality for Recursion (Technical Report) March 31, 2001 Hiroshi Nakano Ryukoku University, Japan nakano@mathryukokuacjp Abstract We propose a modal logic that enables us to handle self-referential formulae,

More information

Clustering for Faster Network Simplex Pivots

Clustering for Faster Network Simplex Pivots Clustering for Faster Network Simplex Pivots David Eppstein Department of Information and Computer Science University of California, Irvine, CA 92717 Tech. Report 93-19 April 15, 1993 Abstract We show

More information

Lecture 3: Graphs and flows

Lecture 3: Graphs and flows Chapter 3 Lecture 3: Graphs and flows Graphs: a useful combinatorial structure. Definitions: graph, directed and undirected graph, edge as ordered pair, path, cycle, connected graph, strongly connected

More information

A Topological Order for a Rectangular Three Dimensional Bin Packing Problem

A Topological Order for a Rectangular Three Dimensional Bin Packing Problem A Topological Order for a Rectangular Three Dimensional Bin Packing Problem MARINESCU DANIELA, IACOB PAUL, BĂICOIANU ALEXANDRA Transilvania University of Braşov Department of Computer Science Iuliu Maniu

More information

Analysis and Algorithms for Partial Protection in Mesh Networks

Analysis and Algorithms for Partial Protection in Mesh Networks Analysis and Algorithms for Partial Protection in Mesh Networks Greg uperman MIT LIDS Cambridge, MA 02139 gregk@mit.edu Eytan Modiano MIT LIDS Cambridge, MA 02139 modiano@mit.edu Aradhana Narula-Tam MIT

More information

g(s, w) g(w, s) (in gross model).

g(s, w) g(w, s) (in gross model). 1 Maximum Flow 1.1 Definitions Tarjan: Data Structures and Network Algorithms Ford and Fulkerson, Flows in Networks, 1962 (paper 1956) Ahuja, Magnanti, Orlin Network Flows. Problem: do min-cost. Problem:

More information

An upper bound for the chromatic number of line graphs

An upper bound for the chromatic number of line graphs EuroComb 005 DMTCS proc AE, 005, 151 156 An upper bound for the chromatic number of line graphs A D King, B A Reed and A Vetta School of Computer Science, McGill University, 3480 University Ave, Montréal,

More information

A Faster Algorithm for the Inverse Spanning Tree Problem

A Faster Algorithm for the Inverse Spanning Tree Problem A Faster Algorithm for the Inverse Spanning Tree Problem Ravindra K. Ahuja Department of Industrial & Systems Engineering University of Florida, Gainesville, FL 32611, USA ahuja@ufl.edu James B. Orlin

More information

Mobile Agent Rendezvous in a Ring

Mobile Agent Rendezvous in a Ring Mobile Agent Rendezvous in a Ring Evangelos Kranakis Danny Krizanc Ý Nicola Santoro Cindy Sawchuk Abstract In the rendezvous search problem, two mobile agents must move along the Ò nodes of a network so

More information

On the Computational Behavior of a Dual Network Exterior Point Simplex Algorithm for the Minimum Cost Network Flow Problem

On the Computational Behavior of a Dual Network Exterior Point Simplex Algorithm for the Minimum Cost Network Flow Problem On the Computational Behavior of a Dual Network Exterior Point Simplex Algorithm for the Minimum Cost Network Flow Problem George Geranis, Konstantinos Paparrizos, Angelo Sifaleras Department of Applied

More information

CS261: A Second Course in Algorithms Lecture #3: The Push-Relabel Algorithm for Maximum Flow

CS261: A Second Course in Algorithms Lecture #3: The Push-Relabel Algorithm for Maximum Flow CS26: A Second Course in Algorithms Lecture #3: The Push-Relabel Algorithm for Maximum Flow Tim Roughgarden January 2, 206 Motivation The maximum flow algorithms that we ve studied so far are augmenting

More information

Computing optimal linear layouts of trees in linear time

Computing optimal linear layouts of trees in linear time Computing optimal linear layouts of trees in linear time Konstantin Skodinis University of Passau, 94030 Passau, Germany, e-mail: skodinis@fmi.uni-passau.de Abstract. We present a linear time algorithm

More information

Cuts, Connectivity, and Flow

Cuts, Connectivity, and Flow Cuts, Connectivity, and Flow Vertex Cut and Connectivity A separating set or vertex cut of a graph G is a set S V(G) such that G S G S has more than one component A graph G is k-connected if every vertex

More information

Vertex Magic Total Labelings of Complete Graphs 1

Vertex Magic Total Labelings of Complete Graphs 1 Vertex Magic Total Labelings of Complete Graphs 1 Krishnappa. H. K. and Kishore Kothapalli and V. Ch. Venkaiah Centre for Security, Theory, and Algorithmic Research International Institute of Information

More information

Analysis of Binary Adjustment Algorithms in Fair Heterogeneous Networks

Analysis of Binary Adjustment Algorithms in Fair Heterogeneous Networks Analysis of Binary Adjustment Algorithms in Fair Heterogeneous Networks Sergey Gorinsky Harrick Vin Technical Report TR2000-32 Department of Computer Sciences, University of Texas at Austin Taylor Hall

More information

H. W. Kuhn. Bryn Mawr College

H. W. Kuhn. Bryn Mawr College VARIANTS OF THE HUNGARIAN METHOD FOR ASSIGNMENT PROBLEMS' H. W. Kuhn Bryn Mawr College The author presents a geometrical modelwhich illuminates variants of the Hungarian method for the solution of the

More information

Monotonicity testing over general poset domains

Monotonicity testing over general poset domains Monotonicity testing over general poset domains [Extended Abstract] Eldar Fischer Technion Haifa, Israel eldar@cs.technion.ac.il Sofya Raskhodnikova Ý LCS, MIT Cambridge, MA 02139 sofya@mit.edu Eric Lehman

More information

Finite Termination of Augmenting Path Algorithms in the Presence of Irrational Problem Data

Finite Termination of Augmenting Path Algorithms in the Presence of Irrational Problem Data Finite Termination of Augmenting Path Algorithms in the Presence of Irrational Problem Data Brian C. Dean Michel X. Goemans Nicole Immorlica June 28, 2006 Abstract This paper considers two similar graph

More information

This file contains an excerpt from the character code tables and list of character names for The Unicode Standard, Version 3.0.

This file contains an excerpt from the character code tables and list of character names for The Unicode Standard, Version 3.0. Range: This file contains an excerpt from the character code tables and list of character names for The Unicode Standard, Version.. isclaimer The shapes of the reference glyphs used in these code charts

More information

Graph Theory: Matchings and Factors

Graph Theory: Matchings and Factors Graph Theory: Matchings and Factors Pallab Dasgupta, Professor, Dept. of Computer Sc. and Engineering, IIT Kharagpur pallab@cse.iitkgp.ernet.in Matchings A matching of size k in a graph G is a set of k

More information

Connectivity and Inference Problems for Temporal Networks

Connectivity and Inference Problems for Temporal Networks Connectivity and Inference Problems for Temporal Networks (Extended Abstract for STOC 2000) David Kempe Jon Kleinberg Ý Amit Kumar Þ October, 1999 Abstract Many network problems are based on fundamental

More information

Sources for this lecture. 3. Matching in bipartite and general graphs. Symmetric difference

Sources for this lecture. 3. Matching in bipartite and general graphs. Symmetric difference S-72.2420 / T-79.5203 Matching in bipartite and general graphs 1 3. Matching in bipartite and general graphs Let G be a graph. A matching M in G is a set of nonloop edges with no shared endpoints. Let

More information

Index. stack-based, 400 A* algorithm, 325

Index. stack-based, 400 A* algorithm, 325 Index Abstract transitive closure, 174-175, 217-221 Active vertex, 411 Acyclic graph. See Digraph; Directed acyclic graph (DAG) Acyclic network, 313-321, 334-335 maxflow, 427-429 Adjacency-lists representation,

More information