Chapter 15 - SHEN'S CLASS NOTES Chapter 15 Dynamic...

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

View Full Document Right Arrow Icon
SHEN’S CLASS NOTES 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 1
Background image of page 1

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

View Full DocumentRight Arrow Icon
SHEN’S CLASS NOTES 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  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 2
Background image of page 2
SHEN’S CLASS NOTES 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
Background image of page 3

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

View Full DocumentRight Arrow Icon
Image of page 4
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 37

Chapter 15 - SHEN'S CLASS NOTES Chapter 15 Dynamic...

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

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