discrete programming and game theory (dpg) dynamic and ...agr/dpg/dp_slides.1-23.pdf · discrete...

23
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

Upload: others

Post on 23-Mar-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 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

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 6313UG: Katy McPhail, [email protected], 13:30–17:00, JCMB 6312

Page 2: 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

Discrete Programming and Game Theory (DPG)

Dynamic and Integer Programming (DIP)

Organisation

◮ y2/3 and MSc course (OR, Stats, FMO & SES)

◮ Separate exams (in May) and assessments and tutorial classesfor UG and MSc

◮ Tutorials on Wed and Fri in weeks 3,5,7,9. Hand in theprevious Friday. Hand out 1 week before that.

◮ UG hand-in Friday 2pm. MSc students have a supervisedwrite-up session (under exam conditions) Fridays am.

◮ Tutorial hand in contributes 15% to final mark for DPG (andFMO MSc students)

◮ Tutorial hand in contributes 25% to final mark for DIP (OR,Stats & SES MSc)

◮ Lecture info + downloads on WebCT

Page 3: 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

Discrete Programming and Game Theory (DPG)

Dynamic and Integer Programming (DIP)

Tutorial Arrangements & Continuous Assessment

◮ There are tutorials in wk 3 & 5 (Wed/Fri for UG, Mon forMSc).

◮ There will be tutorial sheets with set questions.

◮ Additionally there will be two assignments.

◮ UG: hand-in wk 2 & 4, Fri 2pm (outside the Math Hub, 5thfloor JCMB)

◮ MSc: supervised write-up session, wk 2& 4, Fri 9am.

The two assignments in DP will (together) count 15%/25% of thetotal mark for the DP part of the course.

Page 4: 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

Topics Covered are

1. Dynamic Programming (DP)

2. Game Theory

3. Integer Programming (IP) (MSc only)

Example codes:

N - Notes only

L - in lectures,

S - for self study

Books (for Dynamic Programming)

1. Operations Research, Hillier and Lieberman,

2. Operations Research, Winston

Page 5: 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

Dynamic Programming

◮ Programming = Optimization6= Computer Programming

◮ Dynamic = making decisions over stages (of time)= (usually recursively)

◮ Dynamic Programming = “Recursive Optimization”

Dynamic Programming is an (computationally) “easy” techniquesfor (some, important) problems that ought to be “hard”.

Page 6: 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

Optimization

Optimization Problem

Optimization concerns finding the “best” decision from a possible(feasible) set of decisions

minx∈X

f (x), max{f (x) : x ∈ X}

◮ f (x) is the objective function

◮ X (⊆ IRn) is the feasible set

◮ X is (usually, often) defined by (in)equalities

Page 7: 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

Optimization

Optimization Problem

Optimization concerns finding the “best” decision from a possible(feasible) set of decisions

minx∈X

f (x), max{f (x) : x ∈ X}

◮ f (x) is the objective function

◮ X (⊆ IRn) is the feasible set

◮ X is (usually, often) defined by (in)equalities

Example: Linear Programming (from LPNA)

maxv1,v2v1 + 3v2

subject to 2v1 + v2 ≤ 10−v1 + v2 ≤ 7

v1, v2 ≥ 0

Page 8: 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

Easy & Hard Problems

Easy Problems

◮ Linear Programmes (LP). Can solve huge instances.(up to 106 − 109 variables)

◮ Convex Programmes. Can approximate as LPs.

Hard Problems

◮ Non-convex objective functions (can have many local maxima)

◮ Integrality constraints (disconnected decision space)

⇒ Hill climbing in fog analogy

DP and IP tackle hard problems which can have local maximawhich are not global maxima or disconnected decision spaces(integrality constraints).

Page 9: 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

Easy & Hard Problems

Page 10: 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

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.

Page 11: 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

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.

Page 12: 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

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.

Page 13: 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

Graphs: Examples

Page 14: 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

Shortest & Longest Dipath Problems

Ex 1L: on blackboard/OHP

Page 15: 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

Shortest & Longest Dipath Problems

Page 16: 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

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.

Page 17: 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

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.

Page 18: 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

Critical Path Method (CPM)

Page 19: 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

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.

Page 20: 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

Critical Path Method (CPM)

Page 21: 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

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

Page 22: 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
Page 23: 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

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.