This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: IE170: Algorithms in Systems Engineering: Lecture 26 Jeff Linderoth Department of Industrial and Systems Engineering Lehigh University April 2, 2007 Jeff Linderoth (Lehigh University) IE170:Lecture 26 Lecture Notes 1 / 16 Taking Stock Last Time Flows This Time Review! Jeff Linderoth (Lehigh University) IE170:Lecture 26 Lecture Notes 2 / 16 Flows Stuff We Learned Dynamic Programming (15.[1,3]) Greedy Algorithms (16.[1,2]) Graphs and Search (22.*) Spanning Trees (23.*) (Single Source) Shortest Paths (24.[1,2,3]) (All Pairs) Shortest Paths (25.[1,2]) Max Flow (26.[1,2,3]) Jeff Linderoth (Lehigh University) IE170:Lecture 26 Lecture Notes 3 / 16 Flows Dynamic Programming Dynamic Programming in a Nutshell 1 Characterize the structure of an optimal solution 2 Recursively define the value of an optimal solution 3 Compute the value of an optimal solution “from the bottum up” 4 Construct optimal solution (if required) Examples Assembly Line Balancing Lot Sizing Jeff Linderoth (Lehigh University) IE170:Lecture 26 Lecture Notes 4 / 16 Flows Assembly Line Balancing Let f i ( j ) be the fastest time to get through S ij ∀ i = 1 , 2 ∀ j = 1 , 2 ,...n f * = min( f 1 ( n ) + x 1 ,f 2 ( n ) + x 2 ) f 1 (1) = e 1 + a 11 f 2 (1) = e 2 + a 21 f 1 ( j ) = min( f 1 ( j 1) + a 1 j ,f 2 ( j 1) + t 2 ,j 1 + a 1 j ) f 2 ( j ) = min( f 2 ( j 1) + a 2 j ,f 1 ( j 1) + t 1 ,j 1 + a 2 j ) Lot Sizing Let f t ( s ) : be the minimum cost of meeting demands from t,t + 1 ,...T ( t until the end) if s units are in inventory at the beginning of period t f t ( s ) = min x ∈ , 1 , 2 ,... { c t ( x ) + h t ( s + x d t ) + f t +1 ( s + x d t ) } . Jeff Linderoth (Lehigh University) IE170:Lecture 26 Lecture Notes 5 / 16 Flows Greedy Greedy is not always optimal! But it sometimes works: Activity Selection Let S ij ⊆ A be the set of activities that start after activity i needs to finish and before activity j needs to start: S ij def = { k ∈ S  f i ≤ s k ,f k ≤ s j } Let’s assume that we have sorted the activities such that f 1 ≤ f 2 ≤ ··· ≤ f n Schedule jobs in S ,n +1 Jeff Linderoth (Lehigh University) IE170:Lecture 26 Lecture Notes 6 / 16 Flows c ij be the size of a maximumsized subset of mutually compatible jobs in S ij . If S ij = ∅ , then c ij = 0 If S ij = ∅ , then c ij = c ik + 1 + c kj for some k ∈ S ij . We pick the k ∈ S ij that maximizes the number of jobs: c ij = if S ij = ∅ max k ∈ S ij c ik + c kj + 1 if S ij = ∅ Note we need only check i < k < j To Solve S ij 1 Choose m ∈ S ij with the earliest finish time. The Greedy Choice 2 Then solve problem on jobs S mj Jeff Linderoth (Lehigh University) IE170:Lecture 26 Lecture Notes 7 / 16 Flows Graphs!...
View
Full Document
 Spring '07
 Ralphs
 Graph Theory, Systems Engineering, Lehigh University, Shortest path problem, Flow network, Jeff Linderoth

Click to edit the document details