$30
MATH3202 Operations Research & Mathematical Planning
Assignment 3 – Dynamic Programming
This assignment is due by 1pm on Friday, May 24th and is worth 10% of your final grade. You
can do this assignment in group of up to three, with a single submission.
Your job with an Operations Research consulting company is going well. Your boss and
client would like you to continue working to help WonderMarket improve their
operations.
The first communication will appear at 5pm on Tuesday 14th May with the final
communication appearing on or before Monday, May 20th.
You will need to prepare a report which includes two main sections:
Section A – Report to your boss
• A general formulation that describes the data, stages, states, actions and the
transition and value functions used in your three models. 8 marks
• A single Python file with your implementations. This should be easy to relate back
to the formulations. Your boss will attempt to execute this model. 6 marks
Section B – Report to the client
• Written responses that clearly and concisely address the needs of the client given
through the communications. 6 marks
Submit your report and Python files via Blackboard, using PDF for the report (saved from
Word or created in LaTeX).
Only one submission per group is necessary but make sure all names are clearly shown on
your report. Each student will receive separate data from the client but a group need only
consider one data set in the report.
Grading Criteria
Section A
Marks 0 1 2
Data Missing some or all
descriptions of data
Correctly describes all data
Stages Missing clear description of
stages
Correctly describes stages
States Incorrect or missing
description of states
Correctly describes state
for one communication
Correctly describes states
for all communications
Actions Incorrect or missing
description of actions
Correctly describes actions
for one communication
Correctly describes actions
for all communications
Value function
Incorrect or missing
description of value
functions
Correctly describes value
function for one
communication
Correctly describes value
functions for all
communications
Python code
There is no relationship
between Python code and
mathematical formulation
Python code mostly
matches mathematical
formulation
Python code clearly
matches mathematical
formulation
Execution Python code fails to run Python code runs but gives
incorrect answer
Python code runs and gives
correct answer
Efficiency Python implementation is
slow to run
Python implementation is
efficient
Utility
Difficult to determine
optimal strategy from
Python implementation
Easy to determine optimal
strategy from Python
implementation
Section B
Marks 0 1 2
Response to
communications
Fails to address any of the
client questions
Correctly addresses one
client question
Correctly addresses all
client questions
Written response
Poorly written response
with frequent errors in
grammar, spelling or
technical language; and/or
unnecessarily long
Concisely addresses needs
of client with few errors in
writing
Excellent proficiency in
clearly and concisely
addressing needs of client
Strategies
Poor or missing description
of optimal strategies for
stochastic models
Good description of optimal
strategies for stochastic
models
Clear and insightful
description of optimal
strategies for stochastic
models