Discrete Programming and Game Theory (DPG) Dynamic and Integer Programming (DIP) Lecturers ◮ Andreas Grothey (Dynamic Programming) ◮ Peter Richtarik (Game Theory) ◮ Ken McKinnon (Integer Programming) Course Secretaries PG: Frances Reid, [email protected], 09:30–14:30, JCMB 6313 UG: Katy McPhail, [email protected], 13:30–17:00, JCMB 6312
23
Embed
Discrete Programming and Game Theory (DPG) Dynamic and ...agr/DPG/DP_slides.1-23.pdf · Discrete Programming and Game Theory (DPG) Dynamic and Integer Programming (DIP) Organisation
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
DP and IP tackle hard problems which can have local maximawhich are not global maxima or disconnected decision spaces(integrality constraints).
Easy & Hard Problems
Uncertain data
Either:
1. Data uncertain but its probability distribution is know. (e.g.next week’s rainfall). Can extend LP, IP and DP to deal withthis.
2. Other intelligent agents with possibly conflicting goals. (e.g.union - employer negotiation). Use Game Theory.
Dynamic Programming (DP)
◮ Invented in 1950s by Richard Bellman.
◮ DP divides the original problem into subproblems and solvesthem recursively.
◮ Each subproblem is characterised by a “State”:same state <=> same subproblem.
◮ Formulating DP problems is difficult. The key thing is to spotwhat the States of a problem are – Do lots of examples.
Defining Characteristics of DP
◮ Stages: Points at which a decision is taken
◮ State: Possible “state” of the system at a stage.(=Information on which a decision is based).
◮ Recursion: Optimal decision at one state can be derived fromoptimal decisions at previous states.
Graphs
◮ A (Di)graph (or (directed) graph) is a set of vertices and a setof (di)edges connecting them (G = G(V, E))
◮ A (di)path is a continuous sequence of (di)edges, and a closed(di)path with no repeated edges is a (di)circuit.
◮ A connected (di)graph without a circuit is a tree.
◮ A digraph without a dicircuit is a directed acyclic graph orDAG.
◮ An edge is often also called an arc and a vertex is often calleda node. A digraph with values (such as lengths, times orcosts) associated with its diedges is called a network.
Graphs: Examples
Shortest & Longest Dipath Problems
Ex 1L: on blackboard/OHP
Shortest & Longest Dipath Problems
Principle of Optimality
Dynamic Programming Terminology
◮ The problem can be broken into states (vertices)
◮ At every state an optimal decision (action) has to be taken(which edge to follow).
◮ Every state has a (sub-)problem associated with it.
◮ A policy is a set of actions for every state.
◮ The optimal action in a state can be computed recursivelyfrom the optimal actions in the preceding states.
Principle of Optimality (Bellman)
In an optimal policy if any state (and the corresponding actions) isremoved, the remaining actions are still optimal for the remainingproblem.
Critical Path Method (CPM)
CPM is a longest path problem. It is a technique used in Project
Management
Consider a (fairly complicated) project. A project can be brokendown into activities (subtasks) that need to be achieved forcompletion. Assume that for each activity we know
◮ an estimate of the time needed to complete this activity
◮ a list of other activities that need to be completed before theactivity in question can be started
The task is to find the total completion time of the project.
Critical Path Method (CPM)
Critical Path Method (CPM)
Representation of project as a DAG
◮ The diedges in a DAG represent jobs which take the time given
◮ All jobs into a vertex must be complete before any job out ofthat vertex can start.
◮ Vertex z (FINISH) represents the end of the project.
Critical Path
The Critical Path is the longest path through the network
◮ Its length equals the total duration of the project
◮ Any delay of a job on the critical path results in delay of theproject
◮ Longest (Critical) Path can be found by DP.
Critical Path Method (CPM)
CPM: Activity on Arc representationEx2L: Project specified by table of jobs with duration andpredecessor
Job A B C D E F G H I J K
Duration 4 7 8 3 6 7 5 7 5 9 5Predecessors - - A A A B B B C,F D,G E,H
A
B
C
EF
H
I
J
K
D
G
Critical Path Method (CPM)
◮ The longest dipath from 1 to z is called the Critical Path
◮ Any delay in a job on the critical path delays the completionof the project
◮ The Earliest Start Time (EST) of jobs starting at a vertex isthe earliest time at which they can start if all preceding jobsstart as early as possible.
◮ The Latest Finish Time (LFT) of a job is the latest time thata job can complete if it is not to delay the completion of theproject.
◮ The slack on a job is the delay possible on that job is if is notto delay the completion of the project.