Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 12
INTRODUCTION TO
OPERATIONS RESEARCH
Deterministic Dynamic Programming
DYNAMIC PROGRAMMING Dynamic programming is a widely-used mathematical technique for solving problems that can be divided into stages and where decisions are required in each stage.
The goal of dynamic programming
is to find a combination of decisions that optimizes a certain amount associated with a system. DETERMINISTIC DYNAMIC PROGRAMMING By the time the last sub problem is solved, the optimum solution for the entire problem is at hand. The manner in which the recursive computations are carried out depends on how we decompose the original problem In particular, the sub problems are normally linked by common constraints. As we move from one sub problem to the next, the feasibility of these common constraints must be maintained DYNAMIC PROGRAMMING Dynamic programming does not exist a standard mathematical formulation of “the” dynamic programming problem. Rather, dynamic programming is a general type of approach to problem solving, and the particular equations used must be developed to fit each situation. DYNAMIC PROGRAMMING Dynamic programming starts with small portion of the original problem and finds the optimal solution for this smaller problem. It then gradually enlarges the problem, finding the current optimal solution from the preceding one, until the original problem is solved in its entirety. GENERAL CHARACTERISTICS OF DYNAMIC PROGRAMMING The problem structure is divided into stages
Each stage has a number of states associated with it
Making decisions at one stage transforms one state of the
current stage into a state in the next stage. Given the current state, the optimal decision for each of the remaining states does not depend on the previous states or decisions. This is known as the principle of optimality for dynamic programming. The principle of optimality allows to solve the problem stage by stage recursively. DIVISION INTO STAGES The problem is divided into smaller subproblems each of them represented by a stage. The stages are defined in many different ways depending on the context of the problem. If the problem is about long-time development of a system then the stages naturally correspond to time periods. If the goal of the problem is to move some objects from one location to another on a map then partitioning the map into several geographical regions might be the natural division into stages. Generally, if an accomplishment of a certain task can be considered as a multi-step process then each stage can be defined as a step in the STATES Each stage has a number of states associated with it. Depending what decisions are made in one stage, the system might end up in different states in the next stage. If a geographical region corresponds to a stage then the states associated with it could be some particular locations (cities, warehouses, etc.) in that region. In other situations a state might correspond to amounts of certain resources which are essential for optimizing the system. DECISIONS Making decisions at one stage transforms one state of the current stage into a state in the next stage. In a geographical example, it could be a decision to go from one city to another. In resource allocation problems, it might be a decision to create or spend a certain amount of a resource.
For example, in the shortest path problem three
different decisions are possible to make at the state corresponding to Columbus; these decisions correspond to the three arrows going from Columbus to the three states (cities) of the next stage: Kansas City, Omaha, and Dallas.