lecture26

lecture26 - IE170: Algorithms in Systems Engineering:...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the 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 } Lets 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 maximum-sized 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

Page1 / 9

lecture26 - IE170: Algorithms in Systems Engineering:...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online