Dynamic Programming

Spring 2019

Instructor: Dr. Rajesh Ganesan

Class time: Mon 7:20 - 10:00 PM

    

Office: Engr Building, Room 2217

Phone: (703) 993-1693                                                    

Fax: (703) 993-1521                                                                                 

Email: rganesan@gmu.edu

 

Syllabus.doc

 

Text: DP by Eric Denardo

http://castlelab.princeton.edu/Papers/Powell_UnifiedFramework_ICSNewsletterFall2012.pdf

https://ia801309.us.archive.org/2/items/OperationalResearchWinstonWayne/Operational-Research-Winston-Wayne.pdf Winston's book for OR 541/2

 

Week 1: DP- Deterministic- Finite Horizon

Introduction, DP Recursion vs IP and LP, Big picture

Week 2:  Applications: Shortest path, longest path problems, Dijkstra's Alg  Notes 1, 

 Practice Problems: Problem 2, 4 from text, Group A and B problems from Winston's Book (Page 968-969)  

Excel solutions to some problems

 

Weeks 3 and 4: DP formulation: Resource Allocation: Investment and Knapsack, Min-max problems, Deterministic Inventory control - 3 examples, Equipment replacement with bounded Horizon  Notes

 

Practice Problems: 1 ,3 from text page 25, Prob 3 page 63 of the text, Prob 2 page 974, problem 2, 5 page 985 of Winston's

 

Week 5: Capacity expansion, multiple resource allocation, capacity allocation, a hybrid invertory-investment problem (objective as state) notes

Practice Problems: Problem 7 -page 27 of text, Problem 6-page 1000 of Winston  (similar to one on page 998), Problem 5 page   1014 of Winston's

 

Curse of dimensionality, Traveling salesman, Population Growth model, Mitigating Curse of dimensionality, cyclic graphs,  notes

 

Week 6: DP- Deterministic- Infinite Horizon

Equipment replacement unbounded horizon analytical solution,   value iteration. For notes - see last 2 pages of week 5

 

 

Midterm Exam due April 15

pdf to go with midterm

Submissin format:

Hard copy or if you have typed them up (Email submission) is fine too. I am looking for the DP formulation, definition of stage, state, action, contribution function, the cost and action matrices in the form of an Excel sheet (one sheet per problem)  and the final answer (final answer and the path, again only if you can solve it with numerical values). I don’t need the matlab files. However, if the problem is solved using Excel then you may email me the excel file that already contains the cost/action matrices.

Week 7 - spring break - no class

Week 8

Stochastic DP-Finite Horizon.types

(s,S) policy  notes

 Practice Problems: problem 4 page 1034 from Winston's book

 Practice: Problem 4 page 1023 and Problem 5 page 1035 of (Winston’s’ book).

Project  Due on Final exam day.

Week 9 - No class on March 25

Week 10 

Examples of Stochatic DP -finite and Markov Chains   notes

Practice problem 6 and 7 page 130 Denardo.

Weeks 11, and 12

Stochastic DP notes Limiting Probabilities and MDP, Exhaustive enumeration, LP solution to MDP - average cost/reward. 

 

MDP- Average Reward/cost- Policy and Value Iteration for machine replacement problem.

MDP- Discounted Reward/cost- Policy and Value Iteration for machine replacement problem.

policy iteration excel sheet   Machine replacement problem

Excel Example value iteration for MDP

Practice problem: 4,6,9,11 on page 1049

 

MATLAB value iteration matlab for machine replacement

Week 13

Water Resource example: see handout  value iteration using excel

Inventory control Example,  see hand out, excel for inventory control

Machine maintenance and gardner fertilization problem excel for both problems

Final exam Due May 13th along with the project. You may email or leave a hard copy in my dept mailbox.  1046 1049 1050

 

Week 14

SMDP

 

SMDP summary

SMDP for Example B in the handout

SMDP questions. For solution click links below

SMDP for Machine replacement problem value iteration   

SMDP for pricing based investment/asset acquisition value iteration

 

Week 15

DP summary and way forward with ADP (OR 774)

Review DP

Please read

http://castlelab.princeton.edu/jungle.htm

 

*******************************************************

I will update these files often. Always download the latest version if you plan on using them.

How to use these files

1. Save the long or short code.

2. Change the c and X matrices to suit your problem. For some problems these are available at the end of the code, which you can copy and paste to the top of the code. Use Cntl+R and Cntl+T to remove the comments % on the matrices.

2.a. Make sure that the c matrix has only one state in stage 1. This is to initialize. Consequently the first column will be all zeros.

2.b. If c is 0 on a feasible arc then use 0.0001 instead of zero. If an arc is infeasible put a large c value for the min problem or a large negative c value for a max problem.

2.c. If an arc does not exist at all then mark the c value as 0.

3. change max and min to suit your problem.

4. Save and run (green arrow icon). For the very first time you might get a pop up window asking you to add a path. Click on "Add to path".

Matlab short code: Finds the length and only 1 path (Generic)

Matlab long code: Finds the length and up to 12 paths (Generic)

matlab code for inventory problem to generate cost and action matrix (for inv control discussed in class page 969 in Winston)

matlab code for inventory problem to generate costand action matrix  (for pg 25 prob 1 in Denado's book)

matlab code for investment problem to generate costand action matrix  (investment in class problem)

*The following are used together*

matlab code for inventory problem to generate costand action matrix  (for pg 26 prob 3 in Denado's book)

Long code for  (for pg 26 prob 3 in Denado's book). The long code has been modified from the generic one by adding a few extra lines at the bottom

*The following are used together*

matlab code for inventory problem to generate cost and action matrix (for Sailco inv control - first problem from the first class )

matlab code for (for Sailco inv control - first problem from the first class)

 

********************************************************