Notes-592-ch15-L-05

Notes-592-ch15-L-05 - SHEN'S CLASS NOTES Chapter 15 Dynamic...

This preview shows pages 1–4. Sign up to view the full content.

SHEN’S CLASS NOTES 1 Chapter 15 Dynamic Programming Dynamic Programming is one of commonly used general approach to solving an optimization problem. The basic strategy of dynamic programming is to solve the problem with small sizes first, and then use the results for small sizes to solve the problem with a larger sizes. Step by step, this method can solve the problem with any large size. Thus, this approach takes the bottom-up direction in contrast to the top-down direction used by the Divide-and-Conquer method. Usually, the Dynamic Programming consists of the following two steps: Step 1 Initialization This step defines a set of values which are optimal solutions for smallest problems, or define a set of values that can serve as boundary values upon which solutions for larger problems can be built. For example, if we want to build an optimal binary search tree with n leaves, we start from n trees, with each having a single node. Let us call this set S 0 . Step 2 Bottom-up iterations This step repeatedly compute set S i +1 from the results in S i , S i -1 , S i -2 , …, S 0 , until an optimal solution for the original problem is obtained. A problem that can be solved by dynamic programming must satisfy the “principle of optimality.” Every solution in

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

View Full Document
SHEN’S CLASS NOTES 2 set S i , S i -1 , …, S 0 must be optimal in order to produce solutions in S i +1 which must be also optimal of course. 15.1 Assembly Line Scheduling A simple case of the assembly line scheduling problem can be defined as follows. Suppose we have two assembly lines, 1 and 2, to produce cars. A car chassis can choose to enter one of the assembly lines and go through n stations in order. At each station, some parts are added to the car and the assembly is complete after the work at the last station is done. Let us label the n stations for the two lines with S 1,1 , S 1,2 , …, S 1, n and S 2,1 , S 2,2 , …, S 2, n respectively. We assume station S 1, j on line 1 and station S 2, j on line 2 (1 j n ) do exactly the same job so that a partially completed car from station S 1, j -1 can choose either S 1, j or S 2, j for the next station. However, switching from line 1 to line 2 needs a transfer time t 1, j -1 . Symmetrically, a partially completed car can switch from line 2 to line also. Moreover, we assume that each station S 1, j and S 2, j (1 j n ) need a fixed amount of time a 1, j and a 2, j to finish the assembly job at that station for each car. At the entering gate, this is also a fixed amount of time e 1 for a chassis to enter line 1, and e 1 to line 2. There is also a fixed
SHEN’S CLASS NOTES 3 amount of time x 1 to move the complete car from station S 1, n to the exit gate and x 2 form S 2, n to the exit gate. An example is given in Figure 15.1. 7 9 3 4 8 4 8 5 6 4 5 7 S 1,1 S 1,1 S 1,1 S 1,1 S S S 2,1 S S S S S enter gate exit gate 2 4 1 2 3 2 2 1 3 2 4 1 3 2 (a) f 1 [ j ] f 2 [ j ] f * = 38 j 1 2 3 5 4 6 9 12 20 16 22 24 18 37 25 30 35 32 l * = 1 l 1 [ j ] l 2 [ j ] 2 3 5 4 6 2 1 2 1 1 2 1 2 2 1 (b) Fig. 15-1 Obviously, the assembly line scheduling problem can be

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

View Full Document
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 04/12/2008 for the course CS 592 taught by Professor Shen during the Fall '05 term at University of Missouri-Kansas City .

Page1 / 31

Notes-592-ch15-L-05 - SHEN'S CLASS NOTES Chapter 15 Dynamic...

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

View Full Document
Ask a homework question - tutors are online