3 views

Uploaded by Kei

Network Optimization

save

- Algorithm Analysis
- Lecture 8 - Parametric Searching - Randomized Techniques
- Functional Equations Titu Andreescu
- Chapter 11
- euler
- 00012934_2
- beamforming
- e 022022024
- OR Print
- 32.1.pdf
- 5.+Recurrences%2C+concl
- 04_networks1
- RAM Statements
- ISE PROB
- Functional Equations - E 2007 -Titu Andreescu_ Iurie Boreico
- Ieee Np Test
- 1 4 AlgorithmEfficiency
- Impact of Graphs and Network in Minimizing Project and Product Cost
- Data Structures IITK
- Efficient Reactive Power Compensation Algorithm for Distribution Network
- iandc08.pdf
- Understanding Time and Space Compalexity(1)
- Analysis of Algorithms
- The 150 Year Journey of the Four Color Theorem
- Amaldi - An Improved Algorithm for Finding Minimum Cycle Bases in Undirected Graphs
- Medial Axis
- Graph Algorithm for Software Model Cheking
- Problems
- The 150 Year Journey of the Four Color Theorem
- Problems
- Sapiens: A Brief History of Humankind
- The Unwinding: An Inner History of the New America
- Yes Please
- Dispatches from Pluto: Lost and Found in the Mississippi Delta
- Elon Musk: Tesla, SpaceX, and the Quest for a Fantastic Future
- The Innovators: How a Group of Hackers, Geniuses, and Geeks Created the Digital Revolution
- John Adams
- Devil in the Grove: Thurgood Marshall, the Groveland Boys, and the Dawn of a New America
- A Heartbreaking Work Of Staggering Genius: A Memoir Based on a True Story
- This Changes Everything: Capitalism vs. The Climate
- Grand Pursuit: The Story of Economic Genius
- The Emperor of All Maladies: A Biography of Cancer
- The Prize: The Epic Quest for Oil, Money & Power
- Team of Rivals: The Political Genius of Abraham Lincoln
- The New Confessions of an Economic Hit Man
- The World Is Flat 3.0: A Brief History of the Twenty-first Century
- Rise of ISIS: A Threat We Can't Ignore
- Smart People Should Build Things: How to Restore Our Culture of Achievement, Build a Path for Entrepreneurs, and Create New Jobs in America
- The Hard Thing About Hard Things: Building a Business When There Are No Easy Answers
- How To Win Friends and Influence People
- Steve Jobs
- Angela's Ashes: A Memoir
- Bad Feminist: Essays
- The Light Between Oceans: A Novel
- The Silver Linings Playbook: A Novel
- Leaving Berlin: A Novel
- Extremely Loud and Incredibly Close: A Novel
- The Sympathizer: A Novel (Pulitzer Prize for Fiction)
- You Too Can Have a Body Like Mine: A Novel
- The Incarnations: A Novel
- Life of Pi
- The Love Affairs of Nathaniel P.: A Novel
- A Man Called Ove: A Novel
- Bel Canto
- The Master
- The Rosie Project: A Novel
- The Blazing World: A Novel
- We Are Not Ourselves: A Novel
- The First Bad Man: A Novel
- The Flamethrowers: A Novel
- Brooklyn: A Novel
- The Art of Racing in the Rain: A Novel
- Wolf Hall: A Novel
- The Wallcreeper
- Interpreter of Maladies
- Beautiful Ruins: A Novel
- The Kitchen House: A Novel
- The Perks of Being a Wallflower
- The Bonfire of the Vanities: A Novel
- Lovers at the Chameleon Club, Paris 1932: A Novel
- A Prayer for Owen Meany: A Novel
- The Cider House Rules
- Mislaid: A Novel

You are on page 1of 44

855J

Network Optimization

Fall 2010

J.B. Orlin

WELCOME!

**Welcome to 15.082/6.855J
**

Introduction to Network Optimization

Instructor: James B. Orlin

TA: David Goldberg

**Textbook: Network Flows: Theory, Algorithms,
**

and Applications by Ahuja, Magnanti, and Orlin

referred to as AMO

2

Quick Overview

**Next: The Koenigsberg Bridge Problem
**

Introduces Networks and Network Algorithms

Some subject management issues

Network flows and applications

Computational Complexity

**Overall goal of today’s lecture: set the tone for the rest of
**

the subject

provide background

provide motivation

handle some class logistics

3

**On the background of students
**

**Requirement for this class
**

Either Linear Programming (15.081J)

or Data Structures

Mathematical proofs

The homework exercises usually call for

proofs.

The midterms will not require proofs.

For those who have not done many proofs

before, the TA will provide guidance

4

applications mostly outlines of proofs illustrated by examples (not detailed proofs) detailed proofs are in the text 5 .Some aspects of the class Fondness for Powerpoint animations Cold-calling as a way to speed up learning of the algorithms Talking with partners (the person next to you in in the classroom. algorithms.) Class time: used for presenting theory.

The Bridges of Koenigsberg: Euler 1736 “Graph Theory” began in 1736 Leonard Eüler Visited Koenigsberg People wondered whether it is possible to take a walk. and cross each bridge in Koenigsberg exactly once Generally it was believed to be impossible 6 . end up where you started from.

cross over each bridge exactly once.The Bridges of Koenigsberg: Euler 1736 A 1 2 3 B 5 4 C 6 D 7 Is it possible to start in A. and end up back in A? 7 .

8 .The Bridges of Koenigsberg: Euler 1736 A 1 2 3 B 5 4 C 6 D 7 Conceptualization: Land masses are “nodes”.

The Bridges of Koenigsberg: Euler 1736 A 1 2 3 B 5 4 6 D C 7 Conceptualization: Bridges are “arcs.” 9 .

The Bridges of Koenigsberg: Euler 1736 A 1 2 3 B 5 4 6 D C 7 Is there a “walk” starting at A and ending at A and passing through each arc exactly once? 10 .

(1.2). 2. (2.Notation and Terminology Network terminology as used in AMO. (3. (i. 1 a 4 b c 2 1 e 3 d An Undirected Graph or Undirected Network a b 2 c e 4 3 d A Directed Graph or Directed Network Network G = (N. A) Node set N = {1.i) 11 . (3. 3.4)} In an undirected graph.2).4). 4} Arc Set A = {(1.j) = (j.3).

b. 2. 2. a. •Directions are ignored. 3. e) •A path with 2 or more nodes. Directed Cycle: (1. Cycle (or circuit or loop) 1. c. •Directions are ignored. 1 1 a a a 1 5 c b 2 c 2 2 d 3 e 5 b 4 d 3 e 4 b e d 3 c 4 a 1 2 e d b c 4 3 . 4. 1 •No node is repeated. 4) •No node is repeated. 5. 3. except that the first node is the last node. 5. 3. b. 3. 3. 4 (or 1. (or 1. a. Directed Path . 2. 1) or 1. 2. a. c. 1. •Directions are important. Example: 1. •Directions are important. e. 4. 4. 2. 3. 4) •No node is repeated. (or 5. 3. 2.Path: Example: 5. d. c. e. 2. d. 3. 2. b.

Walks 1 a 4 b 2 c 1 e 3 d 5 a 4 b 2 c e 3 d 5 Walks are paths that can repeat nodes and arcs Example of a directed walk: 1-2-3-5-4-2-3-5 A walk is closed if its first and last nodes are the same. A closed walk is a cycle except that it can repeat nodes and arcs. 13 .

14 .The Bridges of Koenigsberg: Euler 1736 A 1 2 3 B 5 4 6 D C 7 Is there a “walk” starting at A and ending at A and passing through each arc exactly once? Such a walk is called an eulerian cycle.

5. 9. A. B. 6. 7. 1. D. A. 15 . D. B. C. 8. 2. 3.Adding two bridges creates such a walk A 1 8 2 B 4 5 6 3 C 9 D 7 Here is the walk. A Note: the number of arcs incident to B is twice the number of times that B appears on the walk. B. C. 4.

On Eulerian Cycles 4 A 1 6 8 2 B 4 5 6 3 C 9 D 4 4 The degree of a node in an undirected graph is the number of incident arcs 7 Theorem. there is a path from each node to each other node). An undirected graph has an eulerian cycle if and only if (1) every node degree is even and (2) the graph is connected (that is. .

and take a walk until a cycle C is found. 1 5 4 7 3 17 .More on Euler’s Theorem Necessity of two conditions: Any eulerian cycle “visits” each node an even number of times Any eulerian cycle shows the network is connected caveat: nodes of degree 0 Sufficiency of the condition Assume the result is true for all graphs with fewer than |A| arcs. Start at some node.

More on Euler’s Theorem Sufficiency of the condition Start at some node. 5 4 7 3 18 . Consider G’ = (N. G’ is the union of Eulerian cycles Connect G’ into a single eulerian cycle by adding C. A\C) the degree of each node is even each component is connected So. and take a walk until a cycle C is found.

It reflects how proofs are done in class. 19 .Comments on Euler’s theorem 1. However. Usually we focus on efficient algorithms. with key ideas illustrated.) 3. this proof does not directly lead to an efficient algorithm. often in outline form. (More on this in two lectures. 2.

A lot has happened since 1736 2.15. To provide students with a rigorous analysis of network flow algorithms. To help each student develop his or her own intuition about algorithm development and algorithm analysis. 20 .855J Subject Goals: 1. computational complexity & worst case analysis 3.082/6. To present students with a knowledge of the state-of-the art in the theory and practice of solving network flow problems.

Homework Sets and Grading Homework Sets 6 assignments 4 points per assignment lots of practice problems with solutions Grading homework: Project Midterm 1: Midterm 2: 24 points 16 points 30 points 30 points 21 .

Class discussion Have you seen network models elsewhere? Do you have any specific goals in taking this subject? 22 .

Mental break Which nation gave women the right to vote first? New Zealand. Which Ocean goes to the deepest depths? Pacific Ocean What is northernmost land on earth? Cape Morris Jessep in Greenland Where is the Worlds Largest Aquarium? Epcot Center in Orlando. FL 23 .

Mental break What country has not fought in a war since 1815? Switzerland What does the term Prima Donna mean in Opera? The leading female singer What fruit were Hawaiian women once forbidden by law to eat? The coconut What’s the most common non-contagious 24 .

Three Fundamental Flow Problems The shortest path problem The maximum flow problem The minimum cost flow problem 25 .

m = |A| What is the shortest path from s to t? 26 .The shortest path problem 2 4 4 2 2 1 11 2 3 4 6 2 3 3 5 Consider a network G = (N. standard notation: n = |N|. A) in which there is an origin node s and a destination node t.

j) Maximize the flow out of s. for i ≠ s or t. 9 10 s 6 6 1 1 1 8 8 7 t 10 2 A Network with Arc Capacities (and the maximum flow) 27 .The Maximum Flow Problem Directed Graph G = (N. A). Source s Sink t Capacities uij on arc (i. subject to Flow out of i = Flow into i.

j) s.x12 + x2t = 0 -x1t .t xs1 + xs2 t 10.t.8 = -v 0 ≤ xij ≤ uij for all (i. v ∑ j xsj = ∑ j xij – ∑ j xji = v 0 for each i ≠ s or t s. 6 2 max v s.t. . 8. 9 1 1.Flow into i = 0 for i ≠ s or t.1 s 6.7 max = v -xs1 + x12 + x1t = 0 -xs2 .Representing the Max Flow as an LP 10.∑ i xit = -v 0 ≤ xij ≤ uij for all (i.j) 28 .x2t Flow out of i .

10 1 Flow out of i .j) Covered in detail in Chapter 1 of AMO 29 .j cijxij ∑ j xij – ∑ j xji Each arc has a linear cost and a capacity = b(i) for each i 0 ≤ xij ≤ uij for all (i.t ∑ i.Min Cost Flows 5 2 $4 .Flow into i = b(i) 4 3 min s.

Financial Systems. and much more 30 .Where Network Optimization Arises Transportation Systems Transportation of goods over transportation networks Scheduling of fleets of airplanes Manufacturing Systems Scheduling of goods for manufacturing Flow of manufactured items within inventory systems Communication Systems Design and expansion of communication systems Flow of information across networks Energy Systems.

Next topic: computational complexity What is an efficient algorithm? How do we measure efficiency? “Worst case analysis” but first … 31 .

begin for i = 1 to m do for j = 1 to n do c(i. Is it 2nm.j) + b(i. or what? Worst case versus average case How do we measure the running time? What are the basic steps that we should count? 32 .j) := a(i.Measuring Computational Complexity Consider the following algorithm for adding two m × n matrices A and B with coefficients a( . or 3nm.j) end What is the running time of this algorithm? Let’s measure it as precisely as we can as a function of n and m. ). ) and b( .

Operation Number (as a function of m.Compute the running time precisely.n) Additions Assignments Comparisons Multiplications 33 .

We will measure everything in terms of worst case or most pessimistic analysis (performance guarantees. nm. e. Our running times will be stated in terms of relevant problem parameters.g. We will ignore running time constants. 34 .) 4..Towards Computational Complexity 1. 2. (or a number of steps that is bounded by a constant). All arithmetic operations are assumed to take one step. 3.

Operation Number (as a function of m.A Simpler Metric for Running Time. n ≥ 1 O(mn) steps Assignments ≤ c2 mn for some c2 and m. n ≥ 1 O(mn) steps TOTAL ≤ c4 mn for some c4 and m. n ≥ 1 O(mn) steps 35 .n) Additions ≤ c1 mn for some c1 and m. n ≥ 1 O(mn) steps Comparisons ≤ c3 mn for some c3 and m.

j) + b(i. All numbers are integral (unless stated otherwise.) 36 . and it can select any element of an array or matrix in O(1) steps.Simplifying Assumptions and Notation MACHINE MODEL: Random Access Machine (RAM).j) := a(i. This is the computer model that everyone is used to. It allows the use of arrays.j). Integrality Assumption. c(i.

then K = 108. K = O( log (amax)).. the size is nmK e.g.Size of a problem The size of a problem is the number of bits needed to represent the problem. if max 2107 < aij < 2108. The size of the n × m matrix A is not nm. 37 . If each matrix element has K bits.

We say that an algorithm runs in exponential time if it does not run in polynomial time.Polynomial Time Algorithms We say that an algorithm runs in polynomial time if the number of steps taken by an algorithm on any instance I is bounded by a polynomial in the size of I. 38 . This is polynomial time. Example 1: finding the determinant of a matrix can be done in O(n3) steps.

Almost all of the algorithms presented in this class will be polynomial time. Side note: there is a polynomial time algorithm for determining if n is prime. One can find an Eulerian cycle (if one exists) in O(m) steps. The size of the instance is log n The running time of the algorithm is O(n). There is no known polynomial time algorithm for finding a min cost traveling salesman tour 39 .Polynomial Time Algorithms Example 2: We can determine if n is prime by dividing n by every integer less than n. This algorithm is exponential time.

and one that takes 2n steps.48 seconds 31 years 40 . # of nodes n = 30.81 seconds 1 second 1.On polynomial vs exponential time We contrast two algorithm.000 n3 steps2n steps 0. n = 50 n = 60 30.75 seconds 12 days 6. n = 40.000 n3 steps. one that takes 30.92 seconds 17 minutes 3. Suppose that we could carry out 1 billion steps per second.

9999999% of all solutions as not worth considering # of nodes n = 70.74 seconds 34.On polynomial vs.82 seconds 10. n = 80. exponential time Suppose that we could carry out 1 trillion steps per second. and instantaneously eliminate 99. n = 90 n = 100 1.86 seconds 100 seconds 2n steps 1 second 17 minutes 12 days 31 years 41 .000 n10 steps 2.

Overview of today’s lecture Eulerian cycles Network Definitions Network Applications Introduction to computational complexity 42 .

Lecture 3. how to determine if a graph is connected and to label a graph and more 43 . Graph Search Algorithms.Upcoming Lectures Lecture 2: Review of Data Structures even those with data structure backgrounds are encouraged to attend.

mit. .mit.082J / 6.855J / ESD.MITOpenCourseWare http://ocw.edu/terms. visit: http://ocw.78J Network Optimization Fall 2010 For information about citing these materials or our Terms of Use.edu 15.

- Algorithm AnalysisUploaded byAbdulrahman Alhabshi
- Lecture 8 - Parametric Searching - Randomized TechniquesUploaded bygdenunzio
- Functional Equations Titu AndreescuUploaded byCristina Vacarescu
- Chapter 11Uploaded byAthir03
- eulerUploaded byVikas Kumar
- 00012934_2Uploaded byJay Verma
- beamformingUploaded byfiringblaze420
- e 022022024Uploaded byresearchinventy
- OR PrintUploaded byVimal H Ghorecha
- 32.1.pdfUploaded byArun Dhawan
- 5.+Recurrences%2C+conclUploaded byIbrahim Hawari
- 04_networks1Uploaded bylitrakhan
- RAM StatementsUploaded byPunithRossi
- ISE PROBUploaded byselvi0412
- Functional Equations - E 2007 -Titu Andreescu_ Iurie BoreicoUploaded byTanagorn Jennawasin
- Ieee Np TestUploaded byDustin Morris
- 1 4 AlgorithmEfficiencyUploaded byadiaz
- Impact of Graphs and Network in Minimizing Project and Product CostUploaded byThe Ijbmt
- Data Structures IITKUploaded byS Sai Krishna Prasad
- Efficient Reactive Power Compensation Algorithm for Distribution NetworkUploaded byLokesh Singanaboina
- iandc08.pdfUploaded byDagoel Sriyansyah
- Understanding Time and Space Compalexity(1)Uploaded byravibhargavaraam
- Analysis of AlgorithmsUploaded bytezukafuji
- The 150 Year Journey of the Four Color TheoremUploaded byruthdavidson
- Amaldi - An Improved Algorithm for Finding Minimum Cycle Bases in Undirected GraphsUploaded bymitxael83
- Medial AxisUploaded byjhdjh
- Graph Algorithm for Software Model ChekingUploaded byLuki Bangun Subekti
- ProblemsUploaded byAniket Aggarwal
- The 150 Year Journey of the Four Color TheoremUploaded byruthdavidson
- ProblemsUploaded byAngelo Luigi Yasay