a gentle? introduction to stochastic...

119
What is Stochastic Programming Stochastic Linear Programming Stochastic Integer Programming A Gentle? Introduction to Stochastic Programming Jeff Linderoth Department of Industrial and Systems Engineering Lehigh University COR@L Distinguished Lecture Series :-) Lehigh University September 9, 2004 Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Upload: others

Post on 13-Jul-2020

8 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

A Gentle? Introduction to Stochastic Programming

Jeff Linderoth

Department of Industrial and Systems EngineeringLehigh University

COR@L Distinguished Lecture Series :-)Lehigh University

September 9, 2004

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 2: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Outline

I What is Stochastic Programming (SP)?I There are lots of stochastic programming problemsI The Canonical Problem

I Solving Stochastic ProgramsI Deterministic equivalentsI SamplingI A decomposition algorithm

I Stochastic Integer ProgrammingI It’s Very Hard

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 3: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Outline

I What is Stochastic Programming (SP)?I There are lots of stochastic programming problemsI The Canonical Problem

I Solving Stochastic ProgramsI Deterministic equivalentsI SamplingI A decomposition algorithm

I Stochastic Integer ProgrammingI It’s Very Hard

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 4: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Outline

I What is Stochastic Programming (SP)?I There are lots of stochastic programming problemsI The Canonical Problem

I Solving Stochastic ProgramsI Deterministic equivalentsI SamplingI A decomposition algorithm

I Stochastic Integer ProgrammingI It’s Very Hard

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 5: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

Why Care about Stochastic Programming?

What we anticipate seldom occurs; what we leastexpected generally happens.

Benjamin Disraeli (1804 - 1881)

I Think of Stochastic Programming (SP) as MathematicalProgramming (MP) with random parameters

I This is useful, since we often really don’t know the data

I Customer demandsI Market actionsI Insert your own favorite uncertainty here...

I SP assumes a probability distribution for the random variable(ω) is known or can be approximated with reasonable accuracy

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 6: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

Why Care about Stochastic Programming?

What we anticipate seldom occurs; what we leastexpected generally happens.

Benjamin Disraeli (1804 - 1881)

I Think of Stochastic Programming (SP) as MathematicalProgramming (MP) with random parameters

I This is useful, since we often really don’t know the data

I Customer demandsI Market actionsI Insert your own favorite uncertainty here...

I SP assumes a probability distribution for the random variable(ω) is known or can be approximated with reasonable accuracy

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 7: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

Why Care about Stochastic Programming?

What we anticipate seldom occurs; what we leastexpected generally happens.

Benjamin Disraeli (1804 - 1881)

I Think of Stochastic Programming (SP) as MathematicalProgramming (MP) with random parameters

I This is useful, since we often really don’t know the dataI Customer demandsI Market actionsI Insert your own favorite uncertainty here...

I SP assumes a probability distribution for the random variable(ω) is known or can be approximated with reasonable accuracy

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 8: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

Why Care about Stochastic Programming?

What we anticipate seldom occurs; what we leastexpected generally happens.

Benjamin Disraeli (1804 - 1881)

I Think of Stochastic Programming (SP) as MathematicalProgramming (MP) with random parameters

I This is useful, since we often really don’t know the dataI Customer demandsI Market actionsI Insert your own favorite uncertainty here...

I SP assumes a probability distribution for the random variable(ω) is known or can be approximated with reasonable accuracy

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 9: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

Mathematical Formulations

A Mathematical Program

minx∈X

f(x) (MP)

Xdef= x ∈ X0 | gi(x) ≤ 0 ∀i ∈ M

A Stochastic Program

minx∈X(ω)

F (x, ω) (SP)

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 10: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

Mathematical Formulations

A Mathematical Program

minx∈X

f(x) (MP)

Xdef= x ∈ X0 | gi(x) ≤ 0 ∀i ∈ M

A Stochastic Program

minx∈X(ω)

F (x, ω) (SP)

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 11: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

But I Haven’t Told you Anything!

How should we deal with the randomness

I minF (x, ω) Point Estimate

I min EωF (x, ω) Risk Neutral

I min EωF (x, ω)− λρ(F (x, ω)) Risk Measures

I ρ(F (x, ω)) = VarF (x, ω) MarkowitzI ρ(F (x, ω)) = E [(F (x, ω)− EF (x, ω))+] Semideviation

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 12: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

But I Haven’t Told you Anything!

How should we deal with the randomness

I minF (x, ω) Point Estimate

I min EωF (x, ω) Risk Neutral

I min EωF (x, ω)− λρ(F (x, ω)) Risk Measures

I ρ(F (x, ω)) = VarF (x, ω) MarkowitzI ρ(F (x, ω)) = E [(F (x, ω)− EF (x, ω))+] Semideviation

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 13: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

But I Haven’t Told you Anything!

How should we deal with the randomness

I minF (x, ω) Point Estimate

I min EωF (x, ω) Risk Neutral

I min EωF (x, ω)− λρ(F (x, ω)) Risk Measures

I ρ(F (x, ω)) = VarF (x, ω) MarkowitzI ρ(F (x, ω)) = E [(F (x, ω)− EF (x, ω))+] Semideviation

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 14: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

But I Haven’t Told you Anything!

How should we deal with the randomness

I minF (x, ω) Point Estimate

I min EωF (x, ω) Risk Neutral

I min EωF (x, ω)− λρ(F (x, ω)) Risk Measures

I ρ(F (x, ω)) = VarF (x, ω) MarkowitzI ρ(F (x, ω)) = E [(F (x, ω)− EF (x, ω))+] Semideviation

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 15: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

But I Haven’t Told you Anything!

How should we deal with the randomness

I minF (x, ω) Point Estimate

I min EωF (x, ω) Risk Neutral

I min EωF (x, ω)− λρ(F (x, ω)) Risk MeasuresI ρ(F (x, ω)) = VarF (x, ω) Markowitz

I ρ(F (x, ω)) = E [(F (x, ω)− EF (x, ω))+] Semideviation

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 16: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

But I Haven’t Told you Anything!

How should we deal with the randomness

I minF (x, ω) Point Estimate

I min EωF (x, ω) Risk Neutral

I min EωF (x, ω)− λρ(F (x, ω)) Risk MeasuresI ρ(F (x, ω)) = VarF (x, ω) MarkowitzI ρ(F (x, ω)) = E [(F (x, ω)− EF (x, ω))+] Semideviation

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 17: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

Coping with Randomness—The Constraints

I X(ω) = x ∈ X0 | Gi(x, ω) ≤ 0 ∀i ∈ MI Point Estimate

I X(ω) = x ∈ X0 | Gi(x, ω) ≤ 0 ∀i ∈ M,∀ω ∈ ΩI For all realizations

I X(ω) = x ∈ X0 | Gi(x, ω) ≤ 0 ∀ω ∈ U ⊂ ΩI Robust Optimization

I X(ω) = x ∈ X0 | P Gi(x, ω) ≤ 0 ∀i ∈ M ≥ 1− αI Joint Chance Constraints

I X(ω) = x ∈ X0 | P Gi(x, ω) ≤ 0 ≥ 1− αi ∀i ∈ MI Individual Chance Constraints

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 18: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

Coping with Randomness—The Constraints

I X(ω) = x ∈ X0 | Gi(x, ω) ≤ 0 ∀i ∈ MI Point Estimate

I X(ω) = x ∈ X0 | Gi(x, ω) ≤ 0 ∀i ∈ M,∀ω ∈ ΩI For all realizations

I X(ω) = x ∈ X0 | Gi(x, ω) ≤ 0 ∀ω ∈ U ⊂ ΩI Robust Optimization

I X(ω) = x ∈ X0 | P Gi(x, ω) ≤ 0 ∀i ∈ M ≥ 1− αI Joint Chance Constraints

I X(ω) = x ∈ X0 | P Gi(x, ω) ≤ 0 ≥ 1− αi ∀i ∈ MI Individual Chance Constraints

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 19: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

Coping with Randomness—The Constraints

I X(ω) = x ∈ X0 | Gi(x, ω) ≤ 0 ∀i ∈ MI Point Estimate

I X(ω) = x ∈ X0 | Gi(x, ω) ≤ 0 ∀i ∈ M,∀ω ∈ ΩI For all realizations

I X(ω) = x ∈ X0 | Gi(x, ω) ≤ 0 ∀ω ∈ U ⊂ ΩI Robust Optimization

I X(ω) = x ∈ X0 | P Gi(x, ω) ≤ 0 ∀i ∈ M ≥ 1− αI Joint Chance Constraints

I X(ω) = x ∈ X0 | P Gi(x, ω) ≤ 0 ≥ 1− αi ∀i ∈ MI Individual Chance Constraints

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 20: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

Coping with Randomness—The Constraints

I X(ω) = x ∈ X0 | Gi(x, ω) ≤ 0 ∀i ∈ MI Point Estimate

I X(ω) = x ∈ X0 | Gi(x, ω) ≤ 0 ∀i ∈ M,∀ω ∈ ΩI For all realizations

I X(ω) = x ∈ X0 | Gi(x, ω) ≤ 0 ∀ω ∈ U ⊂ ΩI Robust Optimization

I X(ω) = x ∈ X0 | P Gi(x, ω) ≤ 0 ∀i ∈ M ≥ 1− αI Joint Chance Constraints

I X(ω) = x ∈ X0 | P Gi(x, ω) ≤ 0 ≥ 1− αi ∀i ∈ MI Individual Chance Constraints

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 21: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

Coping with Randomness—The Constraints

I X(ω) = x ∈ X0 | Gi(x, ω) ≤ 0 ∀i ∈ MI Point Estimate

I X(ω) = x ∈ X0 | Gi(x, ω) ≤ 0 ∀i ∈ M,∀ω ∈ ΩI For all realizations

I X(ω) = x ∈ X0 | Gi(x, ω) ≤ 0 ∀ω ∈ U ⊂ ΩI Robust Optimization

I X(ω) = x ∈ X0 | P Gi(x, ω) ≤ 0 ∀i ∈ M ≥ 1− αI Joint Chance Constraints

I X(ω) = x ∈ X0 | P Gi(x, ω) ≤ 0 ≥ 1− αi ∀i ∈ MI Individual Chance Constraints

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 22: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

Things People Want

Contin

uous

Distribu

tions

(Conditional) Value at Risk

Network

Problem

s

Scenario Trees Stochastic Dynamic Programming

Robust Optimization

(Joint)Ch

ance

Constra

ints

Network Problems

Stochastic Control

Joint Distributions

Nonlinear problems

Int

eger pro

blems

Free Beer

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 23: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

Things People Want

Contin

uous

Distribu

tions

(Conditional) Value at Risk

Network

Problem

s

Scenario Trees Stochastic Dynamic Programming

Robust Optimization

(Joint)Ch

ance

Constra

ints

Network Problems

Stochastic Control

Joint Distributions

Nonlinear problems

Int

eger pro

blems

Free Beer

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 24: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

Things People Want

Contin

uous

Distribu

tions

(Conditional) Value at Risk

Network

Problem

s

Scenario Trees Stochastic Dynamic Programming

Robust Optimization

(Joint)Ch

ance

Constra

ints

Network Problems

Stochastic Control

Joint Distributions

Nonlinear problems

Int

eger pro

blems

Free Beer

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 25: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

Things People Want

Contin

uous

Distribu

tions

(Conditional) Value at Risk

Network

Problem

s

Scenario Trees

Stochastic Dynamic Programming

Robust Optimization

(Joint)Ch

ance

Constra

ints

Network Problems

Stochastic Control

Joint Distributions

Nonlinear problems

Int

eger pro

blems

Free Beer

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 26: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

Things People Want

Contin

uous

Distribu

tions

(Conditional) Value at Risk

Network

Problem

s

Scenario Trees Stochastic Dynamic Programming

Robust Optimization

(Joint)Ch

ance

Constra

ints

Network Problems

Stochastic Control

Joint Distributions

Nonlinear problems

Int

eger pro

blems

Free Beer

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 27: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

Things People Want

Contin

uous

Distribu

tions

(Conditional) Value at Risk

Network

Problem

s

Scenario Trees Stochastic Dynamic Programming

Robust Optimization

(Joint)Ch

ance

Constra

ints

Network Problems

Stochastic Control

Joint Distributions

Nonlinear problems

Int

eger pro

blems

Free Beer

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 28: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

Things People Want

Contin

uous

Distribu

tions

(Conditional) Value at Risk

Network

Problem

s

Scenario Trees Stochastic Dynamic Programming

Robust Optimization

(Joint)Ch

ance

Constra

ints

Network Problems

Stochastic Control

Joint Distributions

Nonlinear problems

Int

eger pro

blems

Free Beer

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 29: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

Things People Want

Contin

uous

Distribu

tions

(Conditional) Value at Risk

Network

Problem

s

Scenario Trees Stochastic Dynamic Programming

Robust Optimization

(Joint)Ch

ance

Constra

ints

Network Problems

Stochastic Control

Joint Distributions

Nonlinear problems

Int

eger pro

blems

Free Beer

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 30: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

Things People Want

Contin

uous

Distribu

tions

(Conditional) Value at Risk

Network

Problem

s

Scenario Trees Stochastic Dynamic Programming

Robust Optimization

(Joint)Ch

ance

Constra

ints

Network Problems

Stochastic Control

Joint Distributions

Nonlinear problems

Int

eger pro

blems

Free Beer

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 31: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

Things People Want

Contin

uous

Distribu

tions

(Conditional) Value at Risk

Network

Problem

s

Scenario Trees Stochastic Dynamic Programming

Robust Optimization

(Joint)Ch

ance

Constra

ints

Network Problems

Stochastic Control

Joint Distributions

Nonlinear problems

Int

eger pro

blems

Free Beer

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 32: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

Things People Want

Contin

uous

Distribu

tions

(Conditional) Value at Risk

Network

Problem

s

Scenario Trees Stochastic Dynamic Programming

Robust Optimization

(Joint)Ch

ance

Constra

ints

Network Problems

Stochastic Control

Joint Distributions

Nonlinear problems

Int

eger pro

blems

Free Beer

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 33: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

Things People Want

Contin

uous

Distribu

tions

(Conditional) Value at Risk

Network

Problem

s

Scenario Trees Stochastic Dynamic Programming

Robust Optimization

(Joint)Ch

ance

Constra

ints

Network Problems

Stochastic Control

Joint Distributions

Nonlinear problems

Int

eger pro

blems

Free Beer

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 34: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

Things People Want

Contin

uous

Distribu

tions

(Conditional) Value at Risk

Network

Problem

s

Scenario Trees Stochastic Dynamic Programming

Robust Optimization

(Joint)Ch

ance

Constra

ints

Network Problems

Stochastic Control

Joint Distributions

Nonlinear problems

Int

eger pro

blems

Free Beer

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 35: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

Supporting Stochastic Programs

I I point out all these different flavors of SP to highlight what Ithink has been one of the hinderances of acceptance ofstochastic programming in the broader community

I don’t know the key to success, but the key to failure istrying to please everybody.

Bill Cosby (1937 - )

I An Anecdote. ISMP XVIII, Copenhagen, 2003.

I Irv Lustig, “Optimization Envanglist”, ILOG

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 36: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

Supporting Stochastic Programs

I I point out all these different flavors of SP to highlight what Ithink has been one of the hinderances of acceptance ofstochastic programming in the broader community

I don’t know the key to success, but the key to failure istrying to please everybody.

Bill Cosby (1937 - )

I An Anecdote. ISMP XVIII, Copenhagen, 2003.

I Irv Lustig, “Optimization Envanglist”, ILOG

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 37: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

Supporting Stochastic Programs

I I point out all these different flavors of SP to highlight what Ithink has been one of the hinderances of acceptance ofstochastic programming in the broader community

I don’t know the key to success, but the key to failure istrying to please everybody.

Bill Cosby (1937 - )

I An Anecdote. ISMP XVIII, Copenhagen, 2003.I Irv Lustig, “Optimization Envanglist”, ILOG

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 38: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

The Canonical Problem—Multistage Linear Recourse

I I will focus on (multistage) linear, recourse problems.

I I know most about these.I Maybe we can look at other types of stochastic programs next.I I think this is very likely the most useful “stochastic program”.

I Typically, we must make decision x before ω is known. Butwe have some recourse once we know ω.

1. We make a decision now (first-period decision)

2. Nature makes a random decision (“stuff” happens)

3. We make a second period decision that attempts to repair thehavoc wrought by nature in (2). (recourse)

I Let’s do a simple model...

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 39: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

The Canonical Problem—Multistage Linear Recourse

I I will focus on (multistage) linear, recourse problems.I I know most about these.

I Maybe we can look at other types of stochastic programs next.I I think this is very likely the most useful “stochastic program”.

I Typically, we must make decision x before ω is known. Butwe have some recourse once we know ω.

1. We make a decision now (first-period decision)

2. Nature makes a random decision (“stuff” happens)

3. We make a second period decision that attempts to repair thehavoc wrought by nature in (2). (recourse)

I Let’s do a simple model...

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 40: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

The Canonical Problem—Multistage Linear Recourse

I I will focus on (multistage) linear, recourse problems.I I know most about these.I Maybe we can look at other types of stochastic programs next.

I I think this is very likely the most useful “stochastic program”.

I Typically, we must make decision x before ω is known. Butwe have some recourse once we know ω.

1. We make a decision now (first-period decision)

2. Nature makes a random decision (“stuff” happens)

3. We make a second period decision that attempts to repair thehavoc wrought by nature in (2). (recourse)

I Let’s do a simple model...

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 41: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

The Canonical Problem—Multistage Linear Recourse

I I will focus on (multistage) linear, recourse problems.I I know most about these.I Maybe we can look at other types of stochastic programs next.I I think this is very likely the most useful “stochastic program”.

I Typically, we must make decision x before ω is known. Butwe have some recourse once we know ω.

1. We make a decision now (first-period decision)

2. Nature makes a random decision (“stuff” happens)

3. We make a second period decision that attempts to repair thehavoc wrought by nature in (2). (recourse)

I Let’s do a simple model...

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 42: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

The Canonical Problem—Multistage Linear Recourse

I I will focus on (multistage) linear, recourse problems.I I know most about these.I Maybe we can look at other types of stochastic programs next.I I think this is very likely the most useful “stochastic program”.

I Typically, we must make decision x before ω is known. Butwe have some recourse once we know ω.

1. We make a decision now (first-period decision)

2. Nature makes a random decision (“stuff” happens)

3. We make a second period decision that attempts to repair thehavoc wrought by nature in (2). (recourse)

I Let’s do a simple model...

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 43: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

The Canonical Problem—Multistage Linear Recourse

I I will focus on (multistage) linear, recourse problems.I I know most about these.I Maybe we can look at other types of stochastic programs next.I I think this is very likely the most useful “stochastic program”.

I Typically, we must make decision x before ω is known. Butwe have some recourse once we know ω.

1. We make a decision now (first-period decision)

2. Nature makes a random decision (“stuff” happens)

3. We make a second period decision that attempts to repair thehavoc wrought by nature in (2). (recourse)

I Let’s do a simple model...

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 44: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

The Canonical Problem—Multistage Linear Recourse

I I will focus on (multistage) linear, recourse problems.I I know most about these.I Maybe we can look at other types of stochastic programs next.I I think this is very likely the most useful “stochastic program”.

I Typically, we must make decision x before ω is known. Butwe have some recourse once we know ω.

1. We make a decision now (first-period decision)

2. Nature makes a random decision (“stuff” happens)

3. We make a second period decision that attempts to repair thehavoc wrought by nature in (2). (recourse)

I Let’s do a simple model...

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 45: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

The Canonical Problem—Multistage Linear Recourse

I I will focus on (multistage) linear, recourse problems.I I know most about these.I Maybe we can look at other types of stochastic programs next.I I think this is very likely the most useful “stochastic program”.

I Typically, we must make decision x before ω is known. Butwe have some recourse once we know ω.

1. We make a decision now (first-period decision)

2. Nature makes a random decision (“stuff” happens)

3. We make a second period decision that attempts to repair thehavoc wrought by nature in (2). (recourse)

I Let’s do a simple model...

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 46: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

Why Do I Care?Different Strokes for Different FolksTHE Stochastic Program—Recourse Problems

The Canonical Problem—Multistage Linear Recourse

I I will focus on (multistage) linear, recourse problems.I I know most about these.I Maybe we can look at other types of stochastic programs next.I I think this is very likely the most useful “stochastic program”.

I Typically, we must make decision x before ω is known. Butwe have some recourse once we know ω.

1. We make a decision now (first-period decision)

2. Nature makes a random decision (“stuff” happens)

3. We make a second period decision that attempts to repair thehavoc wrought by nature in (2). (recourse)

I Let’s do a simple model...

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 47: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

Random Linear Programming

I Everyone’s Favorite Problem. The Linear Program.

minx∈X

cT x | Ax = b

I X = x ∈ <n : l ≤ x ≤ u

I What if some parameters are random?

minx∈X

cT x | Ax = b, T (ω)x = h(ω)

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 48: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

Random Linear Programming

I Everyone’s Favorite Problem. The Linear Program.

minx∈X

cT x | Ax = b

I X = x ∈ <n : l ≤ x ≤ u

I What if some parameters are random?

minx∈X

cT x | Ax = b, T (ω)x = h(ω)

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 49: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

The Recourse Game

I Again, we are interesting in solving decision problems wherethe decision x must be made before the realization of ω isknown.

I We do, however, know the distribution of ω on Ω.

I In recourse models, the random constraints are modeled as“soft” constraints. Possible violation is accepted, but the costof violations will influence the choice of x.

I In fact, a second-stage linear program is introduced that willdescribe how the violated random constraints are dealt with.

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 50: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

The Recourse Game

I Again, we are interesting in solving decision problems wherethe decision x must be made before the realization of ω isknown.

I We do, however, know the distribution of ω on Ω.

I In recourse models, the random constraints are modeled as“soft” constraints. Possible violation is accepted, but the costof violations will influence the choice of x.

I In fact, a second-stage linear program is introduced that willdescribe how the violated random constraints are dealt with.

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 51: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

The Recourse Game

I Again, we are interesting in solving decision problems wherethe decision x must be made before the realization of ω isknown.

I We do, however, know the distribution of ω on Ω.

I In recourse models, the random constraints are modeled as“soft” constraints. Possible violation is accepted, but the costof violations will influence the choice of x.

I In fact, a second-stage linear program is introduced that willdescribe how the violated random constraints are dealt with.

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 52: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

The Recourse Game

I Again, we are interesting in solving decision problems wherethe decision x must be made before the realization of ω isknown.

I We do, however, know the distribution of ω on Ω.

I In recourse models, the random constraints are modeled as“soft” constraints. Possible violation is accepted, but the costof violations will influence the choice of x.

I In fact, a second-stage linear program is introduced that willdescribe how the violated random constraints are dealt with.

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 53: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

Penalizing Shortfall with LP (ω)

I In the simplest case, we may just count penalize deviation inthe constraints by penalty coefficient vectors q+ and q−

minimizecT x + qT

+s(ω) + qT−t(ω)

subject to

Ax = b

T (ω)x + s(ω)− t(ω) = h(ω)x ∈ X

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 54: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

The New Optimization Problem

I So then, a reasonable problem to solve (to deal with therandomness) is...

minimizecT x + Eω

[qT+s(ω) + qT

−t(ω)]

subject to

Ax = b

T (ω)x + s(ω)− t(ω) = h(ω) ∀ω ∈ Ωx ∈ X

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 55: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

Recourse

I In general, we can react in an intelligent (or optimal) way.

I We have some recourse!

I A recourse structure is provided by three items

I A set Y ∈ <p that describes the feasible set of recourseactions.

I Y = y ∈ <p : y ≥ 0

I q : a vector of recourse costs.I W : a m× p matrix, called the recourse matrix

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 56: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

Recourse

I In general, we can react in an intelligent (or optimal) way.

I We have some recourse!

I A recourse structure is provided by three items

I A set Y ∈ <p that describes the feasible set of recourseactions.

I Y = y ∈ <p : y ≥ 0

I q : a vector of recourse costs.I W : a m× p matrix, called the recourse matrix

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 57: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

Recourse

I In general, we can react in an intelligent (or optimal) way.

I We have some recourse!

I A recourse structure is provided by three items

I A set Y ∈ <p that describes the feasible set of recourseactions.

I Y = y ∈ <p : y ≥ 0

I q : a vector of recourse costs.I W : a m× p matrix, called the recourse matrix

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 58: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

Recourse

I In general, we can react in an intelligent (or optimal) way.

I We have some recourse!

I A recourse structure is provided by three itemsI A set Y ∈ <p that describes the feasible set of recourse

actions.

I Y = y ∈ <p : y ≥ 0I q : a vector of recourse costs.I W : a m× p matrix, called the recourse matrix

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 59: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

Recourse

I In general, we can react in an intelligent (or optimal) way.

I We have some recourse!

I A recourse structure is provided by three itemsI A set Y ∈ <p that describes the feasible set of recourse

actions.I Y = y ∈ <p : y ≥ 0

I q : a vector of recourse costs.I W : a m× p matrix, called the recourse matrix

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 60: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

Recourse

I In general, we can react in an intelligent (or optimal) way.

I We have some recourse!

I A recourse structure is provided by three itemsI A set Y ∈ <p that describes the feasible set of recourse

actions.I Y = y ∈ <p : y ≥ 0

I q : a vector of recourse costs.

I W : a m× p matrix, called the recourse matrix

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 61: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

Recourse

I In general, we can react in an intelligent (or optimal) way.

I We have some recourse!

I A recourse structure is provided by three itemsI A set Y ∈ <p that describes the feasible set of recourse

actions.I Y = y ∈ <p : y ≥ 0

I q : a vector of recourse costs.I W : a m× p matrix, called the recourse matrix

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 62: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

A Recourse Formulation

minimizecT x + Eω

[qT y

]subject to

Ax = b

T (ω)x + Wy(ω) = h(ω) ∀ω ∈ Ωx ∈ X

y(ω) ∈ Y

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 63: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

Writing With the y’s

minx∈<n,y(ω)∈<p

[cT x + qT y(ω)

]subject to

Ax = b First Stage Constraints

T (ω)x + Wy(ω) = h(ω) ∀ω ∈ Ω Second Stage Constraints

x ∈ X y(ω) ∈ Y

I Imagine the case where Ω = ω1, ω2, . . . ωS ⊆ <r.

I P(ω = ωs) = ps,∀s = 1, 2, . . . , S

I Ts ≡ T (ωs), hs = h(ωs)

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 64: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

Deterministic Equivalent

I We can then write the deterministic equivalent as:

cT x + p1qT y1 + p2q

T y2 + · · · + psqT ys

s.t.Ax = bT1x + Wy1 = h1

T2x + Wy2 = h2... +

. . .

TSx + Wys = hs

x ∈ X y1 ∈ Y y2 ∈ Y ys ∈ Y

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 65: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

About the DE

I ys ≡ y(ωs) is the recourse action to take if scenario ωs occurs.

I Pro: It’s a linear program.

I Con: It’s a big linear program.

I How BIG is it?

I Imagine the following (real) problem. A Telecom companywants to expand its network in a way in which to meet anunknown (random) demand.

I There are 86 unknown demands. Each demand is independentand may take on one of five values.

I S = |Ω| = Π86k=1(5) = 586 = 4.77× 1072

I The number of subatomic particles in the universe.

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 66: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

About the DE

I ys ≡ y(ωs) is the recourse action to take if scenario ωs occurs.

I Pro: It’s a linear program.

I Con: It’s a big linear program.

I How BIG is it?

I Imagine the following (real) problem. A Telecom companywants to expand its network in a way in which to meet anunknown (random) demand.

I There are 86 unknown demands. Each demand is independentand may take on one of five values.

I S = |Ω| = Π86k=1(5) = 586 = 4.77× 1072

I The number of subatomic particles in the universe.

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 67: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

About the DE

I ys ≡ y(ωs) is the recourse action to take if scenario ωs occurs.

I Pro: It’s a linear program.

I Con: It’s a big linear program.

I How BIG is it?

I Imagine the following (real) problem. A Telecom companywants to expand its network in a way in which to meet anunknown (random) demand.

I There are 86 unknown demands. Each demand is independentand may take on one of five values.

I S = |Ω| = Π86k=1(5) = 586 = 4.77× 1072

I The number of subatomic particles in the universe.

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 68: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

About the DE

I ys ≡ y(ωs) is the recourse action to take if scenario ωs occurs.

I Pro: It’s a linear program.

I Con: It’s a big linear program.

I How BIG is it?

I Imagine the following (real) problem. A Telecom companywants to expand its network in a way in which to meet anunknown (random) demand.

I There are 86 unknown demands. Each demand is independentand may take on one of five values.

I S = |Ω| = Π86k=1(5) = 586 = 4.77× 1072

I The number of subatomic particles in the universe.

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 69: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

About the DE

I ys ≡ y(ωs) is the recourse action to take if scenario ωs occurs.

I Pro: It’s a linear program.

I Con: It’s a big linear program.

I How BIG is it?

I Imagine the following (real) problem. A Telecom companywants to expand its network in a way in which to meet anunknown (random) demand.

I There are 86 unknown demands. Each demand is independentand may take on one of five values.

I S = |Ω| = Π86k=1(5) = 586 = 4.77× 1072

I The number of subatomic particles in the universe.

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 70: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

About the DE

I ys ≡ y(ωs) is the recourse action to take if scenario ωs occurs.

I Pro: It’s a linear program.

I Con: It’s a big linear program.

I How BIG is it?

I Imagine the following (real) problem. A Telecom companywants to expand its network in a way in which to meet anunknown (random) demand.

I There are 86 unknown demands. Each demand is independentand may take on one of five values.

I S = |Ω| = Π86k=1(5) = 586 = 4.77× 1072

I The number of subatomic particles in the universe.

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 71: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

About the DE

I ys ≡ y(ωs) is the recourse action to take if scenario ωs occurs.

I Pro: It’s a linear program.

I Con: It’s a big linear program.

I How BIG is it?

I Imagine the following (real) problem. A Telecom companywants to expand its network in a way in which to meet anunknown (random) demand.

I There are 86 unknown demands. Each demand is independentand may take on one of five values.

I S = |Ω| = Π86k=1(5) = 586 = 4.77× 1072

I The number of subatomic particles in the universe.

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 72: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

About the DE

I ys ≡ y(ωs) is the recourse action to take if scenario ωs occurs.

I Pro: It’s a linear program.

I Con: It’s a big linear program.

I How BIG is it?

I Imagine the following (real) problem. A Telecom companywants to expand its network in a way in which to meet anunknown (random) demand.

I There are 86 unknown demands. Each demand is independentand may take on one of five values.

I S = |Ω| = Π86k=1(5) = 586 = 4.77× 1072

I The number of subatomic particles in the universe.

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 73: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

Why Don’t More People Use Stochastic Programming

They don’t start their training early enough!

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 74: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

Why Don’t More People Use Stochastic Programming

They don’t start their training early enough!

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 75: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

Why Don’t More People Use Stochastic Programming

They don’t start their training early enough!

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 76: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

Why Don’t More People Use Stochastic Programming

I Because they can’t “solve” them? Try Sampling!

minx∈X

f(x) def= EP F (x, ω) ≡∫

ΩF (x, ω)dP (ω)

I Draw ω1, ω2, . . . ωN from P

I Sample Average Approximation (SAA):

fN (x) ≡ N−1N∑

j=1

g(x, ωj)

I fN (x) is an unbiased estimator of f(x) (E[fN (x)] = f(x)).I Minimize the SAA: minx∈XfN (x)

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 77: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

Why Don’t More People Use Stochastic Programming

I Because they can’t “solve” them? Try Sampling!

minx∈X

f(x) def= EP F (x, ω) ≡∫

ΩF (x, ω)dP (ω)

I Draw ω1, ω2, . . . ωN from P

I Sample Average Approximation (SAA):

fN (x) ≡ N−1N∑

j=1

g(x, ωj)

I fN (x) is an unbiased estimator of f(x) (E[fN (x)] = f(x)).I Minimize the SAA: minx∈XfN (x)

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 78: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

Why Don’t More People Use Stochastic Programming

I Because they can’t “solve” them? Try Sampling!

minx∈X

f(x) def= EP F (x, ω) ≡∫

ΩF (x, ω)dP (ω)

I Draw ω1, ω2, . . . ωN from P

I Sample Average Approximation (SAA):

fN (x) ≡ N−1N∑

j=1

g(x, ωj)

I fN (x) is an unbiased estimator of f(x) (E[fN (x)] = f(x)).I Minimize the SAA: minx∈XfN (x)

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 79: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

Why Don’t More People Use Stochastic Programming

I Because they can’t “solve” them? Try Sampling!

minx∈X

f(x) def= EP F (x, ω) ≡∫

ΩF (x, ω)dP (ω)

I Draw ω1, ω2, . . . ωN from P

I Sample Average Approximation (SAA):

fN (x) ≡ N−1N∑

j=1

g(x, ωj)

I fN (x) is an unbiased estimator of f(x) (E[fN (x)] = f(x)).

I Minimize the SAA: minx∈XfN (x)

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 80: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

Why Don’t More People Use Stochastic Programming

I Because they can’t “solve” them? Try Sampling!

minx∈X

f(x) def= EP F (x, ω) ≡∫

ΩF (x, ω)dP (ω)

I Draw ω1, ω2, . . . ωN from P

I Sample Average Approximation (SAA):

fN (x) ≡ N−1N∑

j=1

g(x, ωj)

I fN (x) is an unbiased estimator of f(x) (E[fN (x)] = f(x)).I Minimize the SAA: minx∈XfN (x)

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 81: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

Sampling is Good!

I For two-stage stochastic recourse problems, some veryinteresting recent theory of Shapiro and Homem-de-Mello hasshown that you need shockingly few scenarios in order for thesolution of the sample average approximation to be a verygood solution to the true problem

I This theory has been backed up with computationalexperience.

I For a problem with 1081 scenarios, a 100 scenario sample wassufficient.

I A different instance with 1070 scenarios required around a5000 scenario sample

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 82: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

Solving “Medium Sized” Problems

I Formulate as “two-level” problem

minx∈Rn

+:Ax=b

cT x + Eω

[miny∈Y

qT y : Wy = h(ω)− T (ω)x]

I Second stage value function, or Cost-to-go functionv : <m 7→ <.

I v(z) ≡ miny∈Y qT y : Wy = z,I Expected Value Function, or Expected cost-to-go functionQ : <n 7→ <.

I Q(x) ≡ Eω[v(h(ω)− T (ω)x)]I For any policy x ∈ <n, it describes the expected cost of the

recourse.

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 83: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

The SP Problem

I Using these definitions, we can write our recourse problem interms only of the x variables:

minx∈X

cT x +Q(x) : Ax = b

I This is a (nonlinear) programming problem in <n.

I The ease of solving such a problem depends on the propertiesof Q(x).

I Q(x) is...I Convex...I Continuous...I Non-Differentiable

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 84: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

Important (and well-known) Facts

I Q(x) is a piecewise linear convex function of x.

I If πi is an optimal dual solution to the linear programcorresponding to ith scenario, then T T

i πi ∈ ∂Q(x)

I g(x) def=∑

i∈S piTTi πi ∈ ∂Q(x).

I Evaluation of Q(x) is separableI We can solve linear programs corresponding to each Q(x)

independently – in parallel!

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 85: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

Best-Known Solution Procedure

METH O D

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 86: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

Best-Known Solution Procedure

METH O D

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 87: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

L-shaped method

I Represent Q(x) by an artificial variable θ and find supportingplanes for θ (from subgradients of Q(xk)).

I θ ≥ g(xk)T x + (Q(xk)− gT xk) (*)

1. Solve the master problem with the currentθj-approximations to Q(x) for xk.

2. Solve the subproblems, evaluating Q(xk) and obtaining asubgradient g(xk). Add inequalities (*) to the master problem

3. k = k+1. Goto 1.

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 88: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

L-shaped method

I Represent Q(x) by an artificial variable θ and find supportingplanes for θ (from subgradients of Q(xk)).

I θ ≥ g(xk)T x + (Q(xk)− gT xk) (*)

1. Solve the master problem with the currentθj-approximations to Q(x) for xk.

2. Solve the subproblems, evaluating Q(xk) and obtaining asubgradient g(xk). Add inequalities (*) to the master problem

3. k = k+1. Goto 1.

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 89: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

L-shaped method

I Represent Q(x) by an artificial variable θ and find supportingplanes for θ (from subgradients of Q(xk)).

I θ ≥ g(xk)T x + (Q(xk)− gT xk) (*)

1. Solve the master problem with the currentθj-approximations to Q(x) for xk.

2. Solve the subproblems, evaluating Q(xk) and obtaining asubgradient g(xk). Add inequalities (*) to the master problem

3. k = k+1. Goto 1.

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 90: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

L-shaped method

I Represent Q(x) by an artificial variable θ and find supportingplanes for θ (from subgradients of Q(xk)).

I θ ≥ g(xk)T x + (Q(xk)− gT xk) (*)

1. Solve the master problem with the currentθj-approximations to Q(x) for xk.

2. Solve the subproblems, evaluating Q(xk) and obtaining asubgradient g(xk). Add inequalities (*) to the master problem

3. k = k+1. Goto 1.

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 91: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

Worth 1000 Words

x

Q(x)

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 92: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

Worth 1000 Words

x

Q(x)

xk

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 93: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

Worth 1000 Words

x

Q(x)

xk

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 94: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

Even Harder—Multistage Problems

I Multistage problems aredefined by a sequence ofdecision, event, decision,event, . . ., decision.

I Multistage problems are evenbigger (scenarios grow againat a rate exponential in thenumber of stages)

I We have to keep track of therandom event“structure”—the scenariotree—and its relationship tothe decisions that we make

x0

x1

x2

x3

ω1

ω2

ω3

x4

x5

x6

x7

x8

x9

ω4

ω5

ω6

ω7

ω8

ω9

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 95: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

Even Harder—Multistage Problems

I Multistage problems aredefined by a sequence ofdecision, event, decision,event, . . ., decision.

I Multistage problems are evenbigger (scenarios grow againat a rate exponential in thenumber of stages)

I We have to keep track of therandom event“structure”—the scenariotree—and its relationship tothe decisions that we make

x0

x1

x2

x3

ω1

ω2

ω3

x4

x5

x6

x7

x8

x9

ω4

ω5

ω6

ω7

ω8

ω9

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 96: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

Even Harder—Multistage Problems

I Multistage problems aredefined by a sequence ofdecision, event, decision,event, . . ., decision.

I Multistage problems are evenbigger (scenarios grow againat a rate exponential in thenumber of stages)

I We have to keep track of therandom event“structure”—the scenariotree—and its relationship tothe decisions that we make

x0

x1

x2

x3

ω1

ω2

ω3

x4

x5

x6

x7

x8

x9

ω4

ω5

ω6

ω7

ω8

ω9

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 97: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

Even Harder—Multistage Problems

I Multistage problems aredefined by a sequence ofdecision, event, decision,event, . . ., decision.

I Multistage problems are evenbigger (scenarios grow againat a rate exponential in thenumber of stages)

I We have to keep track of therandom event“structure”—the scenariotree—and its relationship tothe decisions that we make

x0

x1

x2

x3

ω1

ω2

ω3

x4

x5

x6

x7

x8

x9

ω4

ω5

ω6

ω7

ω8

ω9

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 98: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

The Decision FrameworkFormulationsThe Determinstic EquivalentCan You Solve It?Multistage ProblemsModeling Tools

Existing(?) Tools

Name Author(s) CommentGams Dirkse, Gams Commercial

XPRESS-SP Verma, Dash Opt. Commercial, BetaSPiNE Valente, CARISMA

STRUMS Fourer and Lopes Prototype(?)SUTIL Czyzyk and Linderoth C++ classesSLPLib Felt, Sarich, Ariyawansa Open Source C Routines

COIN-Smi, SP/OSL COIN, IBM C++ methods

I I am happy to show off the XPRESS-SP tool if anyone isinterested.

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 99: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

FormulationsSolving SMIPSThe End!

Stochastic MIP

I Recall that if Ω was finite, we could write the (deterministicequivalent) of a stochastic LP

I Just a large scale LP

I We can do the same for stochastic MIP

I Just a large-scale IP

I But a large-scale IP with a very weak linear programmingrelaxation ⇒ not likely to be solved by “off-the-shelf” softwarelike cplex.

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 100: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

FormulationsSolving SMIPSThe End!

Stochastic MIP

I Recall that if Ω was finite, we could write the (deterministicequivalent) of a stochastic LP

I Just a large scale LP

I We can do the same for stochastic MIP

I Just a large-scale IP

I But a large-scale IP with a very weak linear programmingrelaxation ⇒ not likely to be solved by “off-the-shelf” softwarelike cplex.

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 101: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

FormulationsSolving SMIPSThe End!

Stochastic MIP

I Recall that if Ω was finite, we could write the (deterministicequivalent) of a stochastic LP

I Just a large scale LP

I We can do the same for stochastic MIP

I Just a large-scale IP

I But a large-scale IP with a very weak linear programmingrelaxation ⇒ not likely to be solved by “off-the-shelf” softwarelike cplex.

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 102: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

FormulationsSolving SMIPSThe End!

Stochastic MIP

I Recall that if Ω was finite, we could write the (deterministicequivalent) of a stochastic LP

I Just a large scale LP

I We can do the same for stochastic MIPI Just a large-scale IP

I But a large-scale IP with a very weak linear programmingrelaxation ⇒ not likely to be solved by “off-the-shelf” softwarelike cplex.

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 103: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

FormulationsSolving SMIPSThe End!

Stochastic MIP

I Recall that if Ω was finite, we could write the (deterministicequivalent) of a stochastic LP

I Just a large scale LP

I We can do the same for stochastic MIPI Just a large-scale IP

I But a large-scale IP with a very weak linear programmingrelaxation ⇒ not likely to be solved by “off-the-shelf” softwarelike cplex.

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 104: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

FormulationsSolving SMIPSThe End!

Nasty, Nasty, Functions

I If you didn’t fall asleep during the mathy part, recall that ourL-Shaped method for stochastic LP was based on knowing“nice” properties of the second stage value function (v(z)) orthe Expected Value Function Q(x).

I For IP...

v(z) = miny∈Zn

+

qT y|Wy = z

I Here are two properties...I v(z) is lower semicontinuous on <m

I The discontinuity points of v are contained in a countableunion of hyperplanes in <m

I These are not very powerful properties

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 105: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

FormulationsSolving SMIPSThe End!

Algorithms for Stochastic IP

I Integer L-Shaped method

I A cutting-plane based method

I Dual Decomposition Method

I IMO, “The way to go”. Based on a Lagrangian relaxation ofnonanticipativy

I Stochastic Branch-and-Bound

I Uses Monte-Carlo based bounds

I Structured Enumeration

I Based on strange mathematical entities like test sets andGroebner Bases

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 106: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

FormulationsSolving SMIPSThe End!

Algorithms for Stochastic IP

I Integer L-Shaped methodI A cutting-plane based method

I Dual Decomposition Method

I IMO, “The way to go”. Based on a Lagrangian relaxation ofnonanticipativy

I Stochastic Branch-and-Bound

I Uses Monte-Carlo based bounds

I Structured Enumeration

I Based on strange mathematical entities like test sets andGroebner Bases

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 107: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

FormulationsSolving SMIPSThe End!

Algorithms for Stochastic IP

I Integer L-Shaped methodI A cutting-plane based method

I Dual Decomposition Method

I IMO, “The way to go”. Based on a Lagrangian relaxation ofnonanticipativy

I Stochastic Branch-and-Bound

I Uses Monte-Carlo based bounds

I Structured Enumeration

I Based on strange mathematical entities like test sets andGroebner Bases

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 108: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

FormulationsSolving SMIPSThe End!

Algorithms for Stochastic IP

I Integer L-Shaped methodI A cutting-plane based method

I Dual Decomposition MethodI IMO, “The way to go”. Based on a Lagrangian relaxation of

nonanticipativy

I Stochastic Branch-and-Bound

I Uses Monte-Carlo based bounds

I Structured Enumeration

I Based on strange mathematical entities like test sets andGroebner Bases

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 109: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

FormulationsSolving SMIPSThe End!

Algorithms for Stochastic IP

I Integer L-Shaped methodI A cutting-plane based method

I Dual Decomposition MethodI IMO, “The way to go”. Based on a Lagrangian relaxation of

nonanticipativy

I Stochastic Branch-and-Bound

I Uses Monte-Carlo based bounds

I Structured Enumeration

I Based on strange mathematical entities like test sets andGroebner Bases

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 110: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

FormulationsSolving SMIPSThe End!

Algorithms for Stochastic IP

I Integer L-Shaped methodI A cutting-plane based method

I Dual Decomposition MethodI IMO, “The way to go”. Based on a Lagrangian relaxation of

nonanticipativy

I Stochastic Branch-and-BoundI Uses Monte-Carlo based bounds

I Structured Enumeration

I Based on strange mathematical entities like test sets andGroebner Bases

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 111: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

FormulationsSolving SMIPSThe End!

Algorithms for Stochastic IP

I Integer L-Shaped methodI A cutting-plane based method

I Dual Decomposition MethodI IMO, “The way to go”. Based on a Lagrangian relaxation of

nonanticipativy

I Stochastic Branch-and-BoundI Uses Monte-Carlo based bounds

I Structured Enumeration

I Based on strange mathematical entities like test sets andGroebner Bases

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 112: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

FormulationsSolving SMIPSThe End!

Algorithms for Stochastic IP

I Integer L-Shaped methodI A cutting-plane based method

I Dual Decomposition MethodI IMO, “The way to go”. Based on a Lagrangian relaxation of

nonanticipativy

I Stochastic Branch-and-BoundI Uses Monte-Carlo based bounds

I Structured EnumerationI Based on strange mathematical entities like test sets and

Groebner Bases

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 113: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

FormulationsSolving SMIPSThe End!

Conclusions

I You cannot condense stochastic programming into a one-hourcourse

I Jeff should not wait until the last minute to prepare his slides

I Stochastic Programming can be useful

I Stochastic Programming is hard

The Major Conclusion

Stochastic Programming is worthwhile to study a bit more!

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 114: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

FormulationsSolving SMIPSThe End!

Conclusions

I You cannot condense stochastic programming into a one-hourcourse

I Jeff should not wait until the last minute to prepare his slides

I Stochastic Programming can be useful

I Stochastic Programming is hard

The Major Conclusion

Stochastic Programming is worthwhile to study a bit more!

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 115: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

FormulationsSolving SMIPSThe End!

Conclusions

I You cannot condense stochastic programming into a one-hourcourse

I Jeff should not wait until the last minute to prepare his slides

I Stochastic Programming can be useful

I Stochastic Programming is hard

The Major Conclusion

Stochastic Programming is worthwhile to study a bit more!

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 116: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

FormulationsSolving SMIPSThe End!

Conclusions

I You cannot condense stochastic programming into a one-hourcourse

I Jeff should not wait until the last minute to prepare his slides

I Stochastic Programming can be useful

I Stochastic Programming is hard

The Major Conclusion

Stochastic Programming is worthwhile to study a bit more!

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 117: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

FormulationsSolving SMIPSThe End!

Conclusions

I You cannot condense stochastic programming into a one-hourcourse

I Jeff should not wait until the last minute to prepare his slides

I Stochastic Programming can be useful

I Stochastic Programming is hard

The Major Conclusion

Stochastic Programming is worthwhile to study a bit more!

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 118: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

FormulationsSolving SMIPSThe End!

Your Next Mission...

I Stochastic Integer Programming is going to be our next topic

I Suvrajeet Sen from NSF will come speak in Friday Seminar on9/17

I We’re going to read a survey paper for next week.

Rudiger Schultz, “Stochastic programming with integer variables,”Mathematical Programming, Series B, Vol. 97, 285-309, 2003.

Jeff Linderoth A Gentle? Introduction to Stochastic Programming

Page 119: A Gentle? Introduction to Stochastic Programmingcoral.ise.lehigh.edu/wp-content/uploads/coralseminar/... · 2010-06-21 · A Gentle? Introduction to Stochastic Programming Jeff Linderoth

What is Stochastic ProgrammingStochastic Linear Programming

Stochastic Integer Programming

FormulationsSolving SMIPSThe End!

Your Next Mission...

I Stochastic Integer Programming is going to be our next topic

I Suvrajeet Sen from NSF will come speak in Friday Seminar on9/17

I We’re going to read a survey paper for next week.

Rudiger Schultz, “Stochastic programming with integer variables,”Mathematical Programming, Series B, Vol. 97, 285-309, 2003.

Jeff Linderoth A Gentle? Introduction to Stochastic Programming