SlideShare a Scribd company logo
1 of 18
Dynamic Programming
In this handout
• A shortest path example
• Deterministic Dynamic Programming
• Inventory example
• Resource allocation example
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.
A typical example: Shortest Path
• Ben plans to drive from NY to LA
• Has friends in several cities
• After 1 day’s driving can reach Columbus, Nashville, or
Louisville
• After 2 days of driving can reach Kansas City, Omaha, or
Dallas
• After 3 days of driving can reach Denver or San Antonio
• After 4 days of driving can reach Los Angeles
• The actual mileages between cities are given in the figure
(next slide)
• Where should Ben spend each night of the trip to minimize
the number of miles traveled?
Shortest Path: network figure
New York
1
Columbus
2
Kansas City
5
Denver
8
Los
Angeles
10
Omaha
6
Dallas
7
Nashville
3
Louisville
4
San
Antonio
9
Stage 1
Stage 2 Stage 3
Stage 4
Stage 5
550
680
610
1030
1390
270
790
940
540
790
790
1050
580
660
510
830
700
770
900 760
Shortest Path problem: Solution
• The problem is solved recursively by working
backward in the network
• Let cij be the mileage between cities i and j
• Let ft(i) be the length of the shortest path from city i
to LA (city i is in stage t)
Stage 4 computations are obvious:
• f4(8) = 1030
• f4(9) = 1390
Stage 3 computations
Work backward one stage (to stage 3 cities) and find the
shortest path to LA from each stage 3 city.
To determine f3(5), note that the shortest path from city 5 to LA
must be one of the following:
• Path 1: Go from city 5 to city 8 and then take the shortest
path from city 8 to city 10.
• Path 2: Go from city 5 to city 9 and then take the shortest
path from city 9 to city 10.

f3(5)  min
c58  f4 (8)  610 1030 1640 *
c59  f4 (9)  790 1390  2180



f3(6)  min
c68  f4 (8)  540 1030 1570 *
c69  f4 (9)  940 1390  2330



f3(7)  min
c78  f4 (8)  790 1030 1820
c79  f4 (9)  270 1390 1660 *



Similarly,
Stage 2 computations
Work backward one stage (to stage 2 cities) and find the
shortest path to LA from each stage 2 city.

f2(2)  min
c25  f3(5)  6801640  2320*
c26  f3(6)  7901570  2360
c27  f3(7) 10501660  2710






f2(3)  min
c35  f3(5)  5801640  2220*
c36  f3(6)  7601570  2330
c37  f3(7)  6601660  2320





f2(4)  min
c45  f3(5)  5101640  2150*
c46  f3(6)  7001570  2270
c47  f3(7)  8301660  2490





Stage 1 computations
Now we can find f1(1), and the shortest path from NY to LA.
Checking back our calculations, the shortest path is
1 – 2 – 5 – 8 – 10
that is,
NY – Columbus – Kansas City – Denver – LA
with total mileage 2870.

f1(1)  min
c12  f2(2)  5502320  2870*
c13  f2(3)  9002220  3120
c14  f2(4)  7702150  2920





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 process.
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.
Optimal Policy and Principle of Optimality
The goal of the solution procedure is to find an optimal policy
for the overall problem, i.e., an optimal policy decision at
each stage for each of the possible states.
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.
For example, in the geographical setting the principle works as
follows: the optimal route from a current city to the final
destination does not depend on the way we got to the city.
A system can be formulated as a dynamic programming
problem only if the principle of optimality holds for it.
Recursive solution to the problem
The principle of optimality allows to solve the
problem stage by stage recursively.
The solution procedure first finds the optimal policy
for the last stage. The solution for the last stage
is normally trivial.
Then a recursive relationship is established
which identifies the optimal policy for stage t,
given that stage t+1 has already been solved.
When the recursive relationship is used, the
solution procedure starts at the end and moves
backward stage by stage until it finds the optimal
policy starting at the initial stage.
Solving Inventory Problems by DP
Main characteristics:
1.Time is broken up into periods. The demands for all
periods are known in advance.
2.At the beginning of each period, the firm must
determine how many units should be produced.
3.Production and storage capacities are limited.
4.Each period’s demand must be met on time from
inventory or current production.
5.During any period in which production takes place,
a fixed cost of production as well as a variable per-
unit cost is incurred.
6.The firm’s goal is to minimize the total cost of
meeting on time the demands.
Inventory Problems: Example
• Producing airplanes
• 3 production periods
• No inventory at the beginning
• Can produce at most 3 airplanes in each period
• Can keep at most 2 airplanes in inventory
• Set-up cost for each period is 10
Determine a production schedule to minimize the
total cost (the DP solution on the board).
Period 1 2 3
Demand 1 2 1
Unit cost 3 5 4
Resource Allocation Problems
• Limited resources must be allocated to different
activities
• Each activity has a benefit value which is
variable and depends on the amount of the
resource assigned to the activity
• The goal is to determine how to allocate the
resources to the activities such that the total
benefit is maximized
Resource Allocation Problems: Example
• A college student has 6 days remaining before final exams
begin in his 4 courses
• He wants allocate the study time as effectively as possible
• Needs at least 1 day for each course and wants to
concentrate on just one course each day. So 1, 2, or 3 days
should be allocated to each course
• He estimates that the alternative allocations for each course
would yield the number of grade points shown in the
following table:
How many days should be allocated to each course?
(The DP solution on the board).
Courses
Days 1 2 3 4
1 3 4 3 4
2 5 5 6 7
3 7 6 7 9

More Related Content

What's hot

primal and dual problem
primal and dual problemprimal and dual problem
primal and dual problemYash Lad
 
Operational research queuing theory
Operational research queuing theoryOperational research queuing theory
Operational research queuing theoryVidhya Kannan
 
Operating characteristics ofqueuing system
Operating characteristics ofqueuing systemOperating characteristics ofqueuing system
Operating characteristics ofqueuing systemAminul Tanvin
 
Sequencing problems in Operations Research
Sequencing problems in Operations ResearchSequencing problems in Operations Research
Sequencing problems in Operations ResearchAbu Bashar
 
Linear programming - Model formulation, Graphical Method
Linear programming  - Model formulation, Graphical MethodLinear programming  - Model formulation, Graphical Method
Linear programming - Model formulation, Graphical MethodJoseph Konnully
 
Operations research - an overview
Operations research -  an overviewOperations research -  an overview
Operations research - an overviewJoseph Konnully
 
NON LINEAR PROGRAMMING
NON LINEAR PROGRAMMING NON LINEAR PROGRAMMING
NON LINEAR PROGRAMMING karishma gupta
 
Decision theory
Decision theoryDecision theory
Decision theorySurekha98
 
Queuing theory
Queuing theoryQueuing theory
Queuing theoryAbu Bashar
 
Simplex Method
Simplex MethodSimplex Method
Simplex MethodSachin MK
 
Queuing model
Queuing model Queuing model
Queuing model goyalrama
 
Markov analysis
Markov analysisMarkov analysis
Markov analysisganith2k13
 
LINEAR PROGRAMMING
LINEAR PROGRAMMINGLINEAR PROGRAMMING
LINEAR PROGRAMMINGrashi9
 
Queuing Theory - Operation Research
Queuing Theory - Operation ResearchQueuing Theory - Operation Research
Queuing Theory - Operation ResearchManmohan Anand
 
Sensitivity analysis linear programming copy
Sensitivity analysis linear programming   copySensitivity analysis linear programming   copy
Sensitivity analysis linear programming copyKiran Jadhav
 
Transportation Problem In Linear Programming
Transportation Problem In Linear ProgrammingTransportation Problem In Linear Programming
Transportation Problem In Linear ProgrammingMirza Tanzida
 

What's hot (20)

primal and dual problem
primal and dual problemprimal and dual problem
primal and dual problem
 
Linear programming
Linear programmingLinear programming
Linear programming
 
Operational research queuing theory
Operational research queuing theoryOperational research queuing theory
Operational research queuing theory
 
Operating characteristics ofqueuing system
Operating characteristics ofqueuing systemOperating characteristics ofqueuing system
Operating characteristics ofqueuing system
 
Sequencing problems in Operations Research
Sequencing problems in Operations ResearchSequencing problems in Operations Research
Sequencing problems in Operations Research
 
Linear programming - Model formulation, Graphical Method
Linear programming  - Model formulation, Graphical MethodLinear programming  - Model formulation, Graphical Method
Linear programming - Model formulation, Graphical Method
 
Operations research - an overview
Operations research -  an overviewOperations research -  an overview
Operations research - an overview
 
NON LINEAR PROGRAMMING
NON LINEAR PROGRAMMING NON LINEAR PROGRAMMING
NON LINEAR PROGRAMMING
 
Decision theory
Decision theoryDecision theory
Decision theory
 
Queuing theory
Queuing theoryQueuing theory
Queuing theory
 
Simplex Method
Simplex MethodSimplex Method
Simplex Method
 
Queuing model
Queuing model Queuing model
Queuing model
 
Queuing theory
Queuing theoryQueuing theory
Queuing theory
 
Markov analysis
Markov analysisMarkov analysis
Markov analysis
 
LINEAR PROGRAMMING
LINEAR PROGRAMMINGLINEAR PROGRAMMING
LINEAR PROGRAMMING
 
Queuing Theory - Operation Research
Queuing Theory - Operation ResearchQueuing Theory - Operation Research
Queuing Theory - Operation Research
 
Queuing theory
Queuing theoryQueuing theory
Queuing theory
 
Sensitivity analysis linear programming copy
Sensitivity analysis linear programming   copySensitivity analysis linear programming   copy
Sensitivity analysis linear programming copy
 
Transportation Problem In Linear Programming
Transportation Problem In Linear ProgrammingTransportation Problem In Linear Programming
Transportation Problem In Linear Programming
 
Linear Programming
Linear ProgrammingLinear Programming
Linear Programming
 

Viewers also liked

Dynamic programming
Dynamic programmingDynamic programming
Dynamic programmingShakil Ahmed
 
Dynamic Programming
Dynamic ProgrammingDynamic Programming
Dynamic ProgrammingSahil Kumar
 
Approximate Dynamic Programming: A New Paradigm for Process Control & Optimiz...
Approximate Dynamic Programming: A New Paradigm for Process Control & Optimiz...Approximate Dynamic Programming: A New Paradigm for Process Control & Optimiz...
Approximate Dynamic Programming: A New Paradigm for Process Control & Optimiz...height
 
Shortest Path Search in Real Road Networks with pgRouting
Shortest Path Search in Real Road Networks with pgRoutingShortest Path Search in Real Road Networks with pgRouting
Shortest Path Search in Real Road Networks with pgRoutingDaniel Kastl
 
Shortest path search for real road networks and dynamic costs with pgRouting
Shortest path search for real road networks and dynamic costs with pgRoutingShortest path search for real road networks and dynamic costs with pgRouting
Shortest path search for real road networks and dynamic costs with pgRoutingantonpa
 
SECURITY OPTIMIZATION OF DYNAMIC NETWORKS WITH PROBABILISTIC GRAPH MODELING A...
SECURITY OPTIMIZATION OF DYNAMIC NETWORKS WITH PROBABILISTIC GRAPH MODELING A...SECURITY OPTIMIZATION OF DYNAMIC NETWORKS WITH PROBABILISTIC GRAPH MODELING A...
SECURITY OPTIMIZATION OF DYNAMIC NETWORKS WITH PROBABILISTIC GRAPH MODELING A...I3E Technologies
 
Probabilistic programming2
Probabilistic programming2Probabilistic programming2
Probabilistic programming2bredelings
 
A Multiple-Shooting Differential Dynamic Programming Algorithm
A Multiple-Shooting Differential Dynamic Programming AlgorithmA Multiple-Shooting Differential Dynamic Programming Algorithm
A Multiple-Shooting Differential Dynamic Programming AlgorithmEtienne Pellegrini
 
Mean Variance Analysis
Mean Variance AnalysisMean Variance Analysis
Mean Variance Analysismerzak emerzak
 
Elements of dynamic programming
Elements of dynamic programmingElements of dynamic programming
Elements of dynamic programmingTafhim Islam
 
Dynamic programming - fundamentals review
Dynamic programming - fundamentals reviewDynamic programming - fundamentals review
Dynamic programming - fundamentals reviewElifTech
 
Dynamic programming class 16
Dynamic programming class 16Dynamic programming class 16
Dynamic programming class 16Kumar
 
Discrete Mathematics Presentation
Discrete Mathematics PresentationDiscrete Mathematics Presentation
Discrete Mathematics PresentationSalman Elahi
 
Shortest path problem
Shortest path problemShortest path problem
Shortest path problemIfra Ilyas
 
Dynamic Programming - Part 1
Dynamic Programming - Part 1Dynamic Programming - Part 1
Dynamic Programming - Part 1Amrinder Arora
 
Integer Programming, Gomory
Integer Programming, GomoryInteger Programming, Gomory
Integer Programming, GomoryAVINASH JURIANI
 
Transportation problem
Transportation problemTransportation problem
Transportation problemA B
 

Viewers also liked (20)

Dynamic programming
Dynamic programmingDynamic programming
Dynamic programming
 
Dynamic pgmming
Dynamic pgmmingDynamic pgmming
Dynamic pgmming
 
Dynamic Programming
Dynamic ProgrammingDynamic Programming
Dynamic Programming
 
Approximate Dynamic Programming: A New Paradigm for Process Control & Optimiz...
Approximate Dynamic Programming: A New Paradigm for Process Control & Optimiz...Approximate Dynamic Programming: A New Paradigm for Process Control & Optimiz...
Approximate Dynamic Programming: A New Paradigm for Process Control & Optimiz...
 
Shortest Path Search in Real Road Networks with pgRouting
Shortest Path Search in Real Road Networks with pgRoutingShortest Path Search in Real Road Networks with pgRouting
Shortest Path Search in Real Road Networks with pgRouting
 
Shortest path search for real road networks and dynamic costs with pgRouting
Shortest path search for real road networks and dynamic costs with pgRoutingShortest path search for real road networks and dynamic costs with pgRouting
Shortest path search for real road networks and dynamic costs with pgRouting
 
2
22
2
 
SECURITY OPTIMIZATION OF DYNAMIC NETWORKS WITH PROBABILISTIC GRAPH MODELING A...
SECURITY OPTIMIZATION OF DYNAMIC NETWORKS WITH PROBABILISTIC GRAPH MODELING A...SECURITY OPTIMIZATION OF DYNAMIC NETWORKS WITH PROBABILISTIC GRAPH MODELING A...
SECURITY OPTIMIZATION OF DYNAMIC NETWORKS WITH PROBABILISTIC GRAPH MODELING A...
 
Probabilistic programming2
Probabilistic programming2Probabilistic programming2
Probabilistic programming2
 
A Multiple-Shooting Differential Dynamic Programming Algorithm
A Multiple-Shooting Differential Dynamic Programming AlgorithmA Multiple-Shooting Differential Dynamic Programming Algorithm
A Multiple-Shooting Differential Dynamic Programming Algorithm
 
Mean Variance Analysis
Mean Variance AnalysisMean Variance Analysis
Mean Variance Analysis
 
Elements of dynamic programming
Elements of dynamic programmingElements of dynamic programming
Elements of dynamic programming
 
Dynamic programming - fundamentals review
Dynamic programming - fundamentals reviewDynamic programming - fundamentals review
Dynamic programming - fundamentals review
 
Dynamic programming class 16
Dynamic programming class 16Dynamic programming class 16
Dynamic programming class 16
 
Shortest path algorithm
Shortest  path algorithmShortest  path algorithm
Shortest path algorithm
 
Discrete Mathematics Presentation
Discrete Mathematics PresentationDiscrete Mathematics Presentation
Discrete Mathematics Presentation
 
Shortest path problem
Shortest path problemShortest path problem
Shortest path problem
 
Dynamic Programming - Part 1
Dynamic Programming - Part 1Dynamic Programming - Part 1
Dynamic Programming - Part 1
 
Integer Programming, Gomory
Integer Programming, GomoryInteger Programming, Gomory
Integer Programming, Gomory
 
Transportation problem
Transportation problemTransportation problem
Transportation problem
 

Similar to Dynamic Programming

Popular search algorithms
Popular search algorithmsPopular search algorithms
Popular search algorithmsMinakshi Atre
 
chapter 2 Problem Solving.pdf
chapter 2 Problem Solving.pdfchapter 2 Problem Solving.pdf
chapter 2 Problem Solving.pdfMeghaGupta952452
 
Final-AI-Problem Solving.pdf
Final-AI-Problem Solving.pdfFinal-AI-Problem Solving.pdf
Final-AI-Problem Solving.pdfharinathkuruva
 
ETCS262A-Analysis of design Algorithm.pptx
ETCS262A-Analysis of design Algorithm.pptxETCS262A-Analysis of design Algorithm.pptx
ETCS262A-Analysis of design Algorithm.pptxRahulSingh190790
 
AI_Session 3 Problem Solving Agent and searching for solutions.pptx
AI_Session 3 Problem Solving Agent and searching for solutions.pptxAI_Session 3 Problem Solving Agent and searching for solutions.pptx
AI_Session 3 Problem Solving Agent and searching for solutions.pptxAsst.prof M.Gokilavani
 
Amit ppt
Amit pptAmit ppt
Amit pptamitp26
 
Problem solving in Artificial Intelligence.pptx
Problem solving in Artificial Intelligence.pptxProblem solving in Artificial Intelligence.pptx
Problem solving in Artificial Intelligence.pptxkitsenthilkumarcse
 
[215]streetwise machine learning for painless parking
[215]streetwise machine learning for painless parking[215]streetwise machine learning for painless parking
[215]streetwise machine learning for painless parkingNAVER D2
 
NEAL-2016 ARL Symposium Poster
NEAL-2016 ARL Symposium PosterNEAL-2016 ARL Symposium Poster
NEAL-2016 ARL Symposium PosterBarbara Jean Neal
 
Artificial intelligence(04)
Artificial intelligence(04)Artificial intelligence(04)
Artificial intelligence(04)Nazir Ahmed
 
CPM, Network Analysis A-O-A, A-O-N, Resource management
CPM, Network Analysis A-O-A, A-O-N, Resource managementCPM, Network Analysis A-O-A, A-O-N, Resource management
CPM, Network Analysis A-O-A, A-O-N, Resource managementAmit Kumbar
 
Analysis and Design of Algorithms
Analysis and Design of AlgorithmsAnalysis and Design of Algorithms
Analysis and Design of AlgorithmsBulbul Agrawal
 
Lec07-Greedy Algorithms.pdf Lec07-Greedy Algorithms.pdf
Lec07-Greedy Algorithms.pdf Lec07-Greedy Algorithms.pdfLec07-Greedy Algorithms.pdf Lec07-Greedy Algorithms.pdf
Lec07-Greedy Algorithms.pdf Lec07-Greedy Algorithms.pdfMAJDABDALLAH3
 
Analysis of waiting line processes - U3.pptx
Analysis of waiting line processes - U3.pptxAnalysis of waiting line processes - U3.pptx
Analysis of waiting line processes - U3.pptxMariaBurgos55
 
Models of Operational research, Advantages & disadvantages of Operational res...
Models of Operational research, Advantages & disadvantages of Operational res...Models of Operational research, Advantages & disadvantages of Operational res...
Models of Operational research, Advantages & disadvantages of Operational res...Sunny Mervyne Baa
 
Algorithm and C code related to data structure
Algorithm and C code related to data structureAlgorithm and C code related to data structure
Algorithm and C code related to data structureSelf-Employed
 

Similar to Dynamic Programming (20)

Popular search algorithms
Popular search algorithmsPopular search algorithms
Popular search algorithms
 
Lecture 3 Problem Solving.pptx
Lecture 3 Problem Solving.pptxLecture 3 Problem Solving.pptx
Lecture 3 Problem Solving.pptx
 
chapter 2 Problem Solving.pdf
chapter 2 Problem Solving.pdfchapter 2 Problem Solving.pdf
chapter 2 Problem Solving.pdf
 
Final-AI-Problem Solving.pdf
Final-AI-Problem Solving.pdfFinal-AI-Problem Solving.pdf
Final-AI-Problem Solving.pdf
 
Lecture 3 problem solving
Lecture 3   problem solvingLecture 3   problem solving
Lecture 3 problem solving
 
ETCS262A-Analysis of design Algorithm.pptx
ETCS262A-Analysis of design Algorithm.pptxETCS262A-Analysis of design Algorithm.pptx
ETCS262A-Analysis of design Algorithm.pptx
 
AI_Session 3 Problem Solving Agent and searching for solutions.pptx
AI_Session 3 Problem Solving Agent and searching for solutions.pptxAI_Session 3 Problem Solving Agent and searching for solutions.pptx
AI_Session 3 Problem Solving Agent and searching for solutions.pptx
 
Amit ppt
Amit pptAmit ppt
Amit ppt
 
Problem solving in Artificial Intelligence.pptx
Problem solving in Artificial Intelligence.pptxProblem solving in Artificial Intelligence.pptx
Problem solving in Artificial Intelligence.pptx
 
[215]streetwise machine learning for painless parking
[215]streetwise machine learning for painless parking[215]streetwise machine learning for painless parking
[215]streetwise machine learning for painless parking
 
NEAL-2016 ARL Symposium Poster
NEAL-2016 ARL Symposium PosterNEAL-2016 ARL Symposium Poster
NEAL-2016 ARL Symposium Poster
 
AIw09.pptx
AIw09.pptxAIw09.pptx
AIw09.pptx
 
Unit V.pdf
Unit V.pdfUnit V.pdf
Unit V.pdf
 
Artificial intelligence(04)
Artificial intelligence(04)Artificial intelligence(04)
Artificial intelligence(04)
 
CPM, Network Analysis A-O-A, A-O-N, Resource management
CPM, Network Analysis A-O-A, A-O-N, Resource managementCPM, Network Analysis A-O-A, A-O-N, Resource management
CPM, Network Analysis A-O-A, A-O-N, Resource management
 
Analysis and Design of Algorithms
Analysis and Design of AlgorithmsAnalysis and Design of Algorithms
Analysis and Design of Algorithms
 
Lec07-Greedy Algorithms.pdf Lec07-Greedy Algorithms.pdf
Lec07-Greedy Algorithms.pdf Lec07-Greedy Algorithms.pdfLec07-Greedy Algorithms.pdf Lec07-Greedy Algorithms.pdf
Lec07-Greedy Algorithms.pdf Lec07-Greedy Algorithms.pdf
 
Analysis of waiting line processes - U3.pptx
Analysis of waiting line processes - U3.pptxAnalysis of waiting line processes - U3.pptx
Analysis of waiting line processes - U3.pptx
 
Models of Operational research, Advantages & disadvantages of Operational res...
Models of Operational research, Advantages & disadvantages of Operational res...Models of Operational research, Advantages & disadvantages of Operational res...
Models of Operational research, Advantages & disadvantages of Operational res...
 
Algorithm and C code related to data structure
Algorithm and C code related to data structureAlgorithm and C code related to data structure
Algorithm and C code related to data structure
 

Recently uploaded

(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSISrknatarajan
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...RajaP95
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...ranjana rawat
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 

Recently uploaded (20)

(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 

Dynamic Programming

  • 1. Dynamic Programming In this handout • A shortest path example • Deterministic Dynamic Programming • Inventory example • Resource allocation example
  • 2. 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.
  • 3. A typical example: Shortest Path • Ben plans to drive from NY to LA • Has friends in several cities • After 1 day’s driving can reach Columbus, Nashville, or Louisville • After 2 days of driving can reach Kansas City, Omaha, or Dallas • After 3 days of driving can reach Denver or San Antonio • After 4 days of driving can reach Los Angeles • The actual mileages between cities are given in the figure (next slide) • Where should Ben spend each night of the trip to minimize the number of miles traveled?
  • 4. Shortest Path: network figure New York 1 Columbus 2 Kansas City 5 Denver 8 Los Angeles 10 Omaha 6 Dallas 7 Nashville 3 Louisville 4 San Antonio 9 Stage 1 Stage 2 Stage 3 Stage 4 Stage 5 550 680 610 1030 1390 270 790 940 540 790 790 1050 580 660 510 830 700 770 900 760
  • 5. Shortest Path problem: Solution • The problem is solved recursively by working backward in the network • Let cij be the mileage between cities i and j • Let ft(i) be the length of the shortest path from city i to LA (city i is in stage t) Stage 4 computations are obvious: • f4(8) = 1030 • f4(9) = 1390
  • 6. Stage 3 computations Work backward one stage (to stage 3 cities) and find the shortest path to LA from each stage 3 city. To determine f3(5), note that the shortest path from city 5 to LA must be one of the following: • Path 1: Go from city 5 to city 8 and then take the shortest path from city 8 to city 10. • Path 2: Go from city 5 to city 9 and then take the shortest path from city 9 to city 10.  f3(5)  min c58  f4 (8)  610 1030 1640 * c59  f4 (9)  790 1390  2180    f3(6)  min c68  f4 (8)  540 1030 1570 * c69  f4 (9)  940 1390  2330    f3(7)  min c78  f4 (8)  790 1030 1820 c79  f4 (9)  270 1390 1660 *    Similarly,
  • 7. Stage 2 computations Work backward one stage (to stage 2 cities) and find the shortest path to LA from each stage 2 city.  f2(2)  min c25  f3(5)  6801640  2320* c26  f3(6)  7901570  2360 c27  f3(7) 10501660  2710       f2(3)  min c35  f3(5)  5801640  2220* c36  f3(6)  7601570  2330 c37  f3(7)  6601660  2320      f2(4)  min c45  f3(5)  5101640  2150* c46  f3(6)  7001570  2270 c47  f3(7)  8301660  2490     
  • 8. Stage 1 computations Now we can find f1(1), and the shortest path from NY to LA. Checking back our calculations, the shortest path is 1 – 2 – 5 – 8 – 10 that is, NY – Columbus – Kansas City – Denver – LA with total mileage 2870.  f1(1)  min c12  f2(2)  5502320  2870* c13  f2(3)  9002220  3120 c14  f2(4)  7702150  2920     
  • 9. 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.
  • 10. 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 process.
  • 11. 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.
  • 12. 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.
  • 13. Optimal Policy and Principle of Optimality The goal of the solution procedure is to find an optimal policy for the overall problem, i.e., an optimal policy decision at each stage for each of the possible states. 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. For example, in the geographical setting the principle works as follows: the optimal route from a current city to the final destination does not depend on the way we got to the city. A system can be formulated as a dynamic programming problem only if the principle of optimality holds for it.
  • 14. Recursive solution to the problem The principle of optimality allows to solve the problem stage by stage recursively. The solution procedure first finds the optimal policy for the last stage. The solution for the last stage is normally trivial. Then a recursive relationship is established which identifies the optimal policy for stage t, given that stage t+1 has already been solved. When the recursive relationship is used, the solution procedure starts at the end and moves backward stage by stage until it finds the optimal policy starting at the initial stage.
  • 15. Solving Inventory Problems by DP Main characteristics: 1.Time is broken up into periods. The demands for all periods are known in advance. 2.At the beginning of each period, the firm must determine how many units should be produced. 3.Production and storage capacities are limited. 4.Each period’s demand must be met on time from inventory or current production. 5.During any period in which production takes place, a fixed cost of production as well as a variable per- unit cost is incurred. 6.The firm’s goal is to minimize the total cost of meeting on time the demands.
  • 16. Inventory Problems: Example • Producing airplanes • 3 production periods • No inventory at the beginning • Can produce at most 3 airplanes in each period • Can keep at most 2 airplanes in inventory • Set-up cost for each period is 10 Determine a production schedule to minimize the total cost (the DP solution on the board). Period 1 2 3 Demand 1 2 1 Unit cost 3 5 4
  • 17. Resource Allocation Problems • Limited resources must be allocated to different activities • Each activity has a benefit value which is variable and depends on the amount of the resource assigned to the activity • The goal is to determine how to allocate the resources to the activities such that the total benefit is maximized
  • 18. Resource Allocation Problems: Example • A college student has 6 days remaining before final exams begin in his 4 courses • He wants allocate the study time as effectively as possible • Needs at least 1 day for each course and wants to concentrate on just one course each day. So 1, 2, or 3 days should be allocated to each course • He estimates that the alternative allocations for each course would yield the number of grade points shown in the following table: How many days should be allocated to each course? (The DP solution on the board). Courses Days 1 2 3 4 1 3 4 3 4 2 5 5 6 7 3 7 6 7 9