Module 2 Dynamic Programming

Learning Objectives

After completing this module, students will be able to:

  1. M2.1 Understand the overall approach of dynamic programming.

  2. M2.2 Use dynamic programming to solve the shortest-route problem.

  3. M2.3 Develop dynamic programming stages.

  4. M2.4 Describe important dynamic programming terminology.

  5. M2.5 Describe the use of dynamic programming in solving knapsack problems.

Dynamic programming is a quantitative analysis technique that has been applied to large, complex problems that have sequences of decisions to be made. Dynamic programming divides problems into a number of decision stages; the outcome of a decision at one stage affects the decision at each of the next stages. The technique is useful in a large number of multiperiod business problems, such as smoothing production employment, allocating capital funds, allocating salespeople to marketing areas, and evaluating investment opportunities.

Dynamic programming differs from linear programming in two ways. First, there is no algorithm (as in the simplex method) that can be programmed to solve all problems. Dynamic programming is, instead, a technique that allows us to break up difficult problems into a sequence of easier subproblems, which are then evaluated by stages. Second, linear programming is a method that gives single-stage (one-time-period) solutions. Dynamic programming has the power to determine the optimal solution over a 1-year time horizon by breaking the problem into 12 smaller 1-month horizon problems and to solve each of these optimally. Hence, it uses a multistage approach.

Solving problems with dynamic programming involves four steps.

Four steps of Dynamic Programming

  1. Divide the original problem into subproblems called stages.

  2. Solve the last stage of the problem for all possible conditions or states.

  3. Working backward from the last stage, solve each intermediate stage. This is done by determining optimal policies from that stage to the end of the problem (last stage).

  4. Obtain the optimal solution for the original problem by solving all stages sequentially.

In this module, we show how to solve two types of dynamic programming problems: network and nonnetwork. The shortest-route problem is a network problem that can be solved by dynamic programming. The knapsack problem is an example of a nonnetwork problem that can be solved using dynamic programming.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset