Models and Algorithms for Stochastic Programming Jeff Linderoth Dept. of Industrial and Systems Engineering Univ. of Wisconsin-Madison [email protected] Enterprise-Wide Optimization Meeting Carnegie-Mellon University March 10th, 2009 Jeff Linderoth (UW-Madison) Models & Algs. for SP CMU-EWO 1 / 82 Mission Impossible Explaining Stochastic Programming in 90 mins I will try to give an overview – please interrupt with questions! Jeff Linderoth (UW-Madison) Models & Algs. for SP CMU-EWO 2 / 82 What I’ll Ramble On Models How to deal with uncertainty Why modeling uncertainty is important Who has used stochastic programming? Why more people don’t use stochastic programming Algorithms Extensive Form Benders Decomposition (2-stage) Sampling Nested Benders Decomposition (multistage) Jeff Linderoth (UW-Madison) Models & Algs. for SP CMU-EWO 3 / 82 Dealing with Uncertainty Definition of Stochastic Programming Etymology program: (3) An ordered list of events to take place or procedures to be followed; a schedule Late Latin programma, public notice, from Greek programma, programmat-, from prographein, to write publicly stochastic: (1b) Involving chance or probability Greek stokhastikos, from stokhasts, diviner, from stokhazesthai, to guess at, from stokhos, aim, goal. Source: The American Heritage Dictionary of the English Language, Fourth Edition. Jeff Linderoth (UW-Madison) Models & Algs. for SP CMU-EWO 4 / 82 Dealing with Uncertainty Sources of Uncertainty Sources of Uncertainty Houston, we have uncertainty! What we anticipate seldom occurs; what we least expected generally happens. Benjamin Disraeli (1804 - 1881) Market Related Financial Shifts in tastes Market price movements Defaults by a business partner Competition Operational What will your competitors strategy be next year? Customer demands, Travel times Acts of God: Jeff’s travel experience yesterday!!! Technology related Weather Will a new technology be Equipment failure ready “in time” Birds flying into planes Jeff Linderoth (UW-Madison) Models & Algs. for SP CMU-EWO 5 / 82 Dealing with Uncertainty Sources of Uncertainty Stochastic Programming A tool used in planning under uncertainty More specifically: Mathematical Programming, or Optimization, in which some of the parameters defining a problem instance are random, or uncertain Optimization Stochastic Optimization min f(x) min F(x, ω) x∈X x∈X(ω) x: Variables you control ω: Variables you don’t control Stochastic Optimization is UNDEFINED You can’t possibly choose an x that optimizes for all ω More specifiation is required Jeff Linderoth (UW-Madison) Models & Algs. for SP CMU-EWO 6 / 82 Dealing with Uncertainty Sources of Uncertainty Jeff’s Stochastic Programming Assumptions In stochastic programming, we assume that a probability distribution for the uncertainty ω is known or can be approximated. We also assume that probabilities are independent of the decisions that are taken. Decision-dependent uncertainty Decisions influence probability distributions Decisions influence knowledge discovery Talk to Ignacio! Want to know about stochastic programming with decision-dependent uncertainty? Jeff Linderoth (UW-Madison) Models & Algs. for SP CMU-EWO 7 / 82 Dealing with Uncertainty Sources of Uncertainty Probability Theory(?) This notion of having to know a probability distribution for the randomness is troubling, since in reality, very few people exactly know that Their customer demands follow a log-normal distribution with mean 17.26 and variance 2.88726 Their plant will have forced shutdowns following a Weibull distribution with parameters (100.25, 73.7916) Instead, you might be able to Estimate distributions from historial data (be careful!) Have “qualitative” probability measures (“low/medium/high”) Create your own scenarios of interest Jeff Linderoth (UW-Madison) Models & Algs. for SP CMU-EWO 8 / 82 Dealing with Uncertainty Sources of Uncertainty The Journey is the Reward? Business process people can argue/discuss amongst themselves what the various scenarios might be and the outcomes of those scenarios. This process by itself can be very useful There is a good amount of frightening-looking mathematical theory and computational evidence that solutions obtained from stochastic programs are often quite “stable” with respect to changes in the input probability distribution The Upshot It doesn’t matter ”too much” if your numbers aren’t quite right The insights you gain from considering the uncertainty can still be valuable Jeff Linderoth (UW-Madison) Models & Algs. for SP CMU-EWO 9 / 82 Dealing with Uncertainty Related Decision Making Technologies A Concrete Example: An Uncertain LP min cx s.t. Ax ≥ b T(ω)x ≥ h(ω) x ≥ 0 T(ω) and h(ω) are uncertain: X(ω) = {x | Ax ≥ b, T(ω)x ≥ h(ω)} We must choose x despite this uncertainty Examples: Decide production quantities before knowing demands Constraint data includes imprecise measurements Three Approaches 1 Robust optimization 2 Chance-constrained programming 3 Recourse-based stochastic programming Jeff Linderoth (UW-Madison) Models & Algs. for SP CMU-EWO 10 / 82 Dealing with Uncertainty Related Decision Making Technologies Robust Optimization Uncertain data is assumed to lie in an uncertainty set (T(ω), h(ω)) ∈ U Guarantee that constraints be satisfied for all possible realizations min cx s.t. Ax ≥ b Tx ≥ h ∀(T, h) ∈ U x ≥ 0 Tractability depends on structure of U Jeff Linderoth (UW-Madison) Models & Algs. for SP CMU-EWO 11 / 82 Dealing with Uncertainty Related Decision Making Technologies Robust Optimization To control conservatism, uncertainty set can be parameterized by a budget of uncertainty Example 1: Tij(ω) ∈ [lij, uij] (Bertsimas and Sim) At most K of the components in each row can differ from the nominal value Nature can choose which K will differ K large highly conservative (Soyster) K = 0 No robustness Can formulate⇒ this problem as a linear program Example 2: ⇒U is ellipsoidal (Ben-Tal and Nemirovski) Jeff Linderoth (UW-Madison) Models & Algs. for SP CMU-EWO 12 / 82 Dealing with Uncertainty Related Decision Making Technologies Robust Optimization Advantages: Computationally tractable Can yield extremely reliable solutions Does not require stochastic model Disadvantages: Does not use a stochastic model Although conservatism can be controlled, the control parameter doesn’t have meaning to decision makers Jeff Linderoth (UW-Madison) Models & Algs. for SP CMU-EWO 13 / 82 Dealing with Uncertainty Related Decision Making Technologies Stochastic Programming Assume uncertain data are random variables with known distributions Two approaches to uncertain constraints: 1 Require constraint to be satisfied with high probability min {cx : x ∈ X, P{T(ω)x ≥ h(ω)} ≥ 1 − } is a parameter, e.g. = 0.05 or = 0.01 Linear program with probabilistic (chance) constraints 2 Penalize violations of constraints + min cx + E[λ(h(ω) − T(ω)x) ]: x ∈ X Special case of a Two stage stochastic program Jeff Linderoth (UW-Madison) Models & Algs. for SP CMU-EWO 14 / 82 Dealing with Uncertainty Related Decision Making Technologies Linear Programs with Probabilistic Constraints Individual constraints: i min cx : x ∈ X, P{T(ω) x ≥ h(ω)i} ≥ 1 − i ∀i Joint constraints: min {cx : x ∈ X, P{T(ω)x ≥ h(ω)} ≥ 1 − } Bad news: calculating probability is hard Worse news: probabilistic constraints are generally non-convex! Jeff Linderoth (UW-Madison) Models & Algs. for SP CMU-EWO 15 / 82 Dealing with Uncertainty Related Decision Making Technologies Non-convexity of the feasible region Consider: P{x1 ≥ ξ1, x2 ≥ ξ2} ≥ 0.6 Each dot: a realization of ξ which occurs with probability 1/10 x2 x1 Jeff Linderoth (UW-Madison) Models & Algs. for SP CMU-EWO 16 / 82 Dealing with Uncertainty Related Decision Making Technologies Two Stage Stochastic Programming + (SP) min cx + E[λ(h(ω) − T(ω)x) ]: x ∈ X Choose x Observe (T(ω), h(ω)) Pay penalty Good news: (SP) is convex ⇒ ⇒ Bad news: Calculating expectation is hard Successful Approach: Sample Average Approximation Generate (T(ω)1, h(ω)1),..., (T(ω)N, h(ω)N) and solve N 1 (SP ) min cx + λ(h(ω)i − T(ω)ix)+ : x ∈ X N N i=1 X ∗ xN is a often a good approximation to true optimal solution We’ll see (a lot) more later! Jeff Linderoth (UW-Madison) Models & Algs. for SP CMU-EWO 17 / 82 Dealing with Uncertainty Related Decision Making Technologies Stochastic Programming vs. Simulation Simulation (Pro): Very flexible—System need not be mathematically defined (Pro): Fast (Con): If I run 100 “what-ifs” and get 100 different solutions, how does simulation help me plan for the future? Stochastic Programming (Con): More challenging to build and solve models (Pro): SP helps you “optimize” over your “what-ifs”. The Upshot! Use simulation to generate scenarios. Input the scenarios to a stochas- tic program to show how to decide how to best hedge against this uncertainty Jeff Linderoth (UW-Madison) Models & Algs. for SP CMU-EWO 18 / 82 Dealing with Uncertainty Related Decision Making Technologies Multistage Decision Making Random vectors ω1 ω2 ω3 ωT n ω1 ∈ R 1 , ω2 ∈ n n R 2 , . , ωT ∈ R T x x x x 1 2 T−1 T Make sequence of decisions x1 ∈ X1, x2 ∈ X2, . , xT ∈ XT . The evolution of information is of fundamental importance to the decision-making progress. We make a decision now (x1) Nature makes a random decision ω2:(“stuff” happens) We make a second period decision x2 that attempts to repair the havoc wrought by nature in (recourse). Repeat as necessary... We make decisions in stages, in between which uncertainty is revealed to us Jeff Linderoth (UW-Madison) Models & Algs. for SP CMU-EWO 19 / 82 Why use Stochastic Programming The Newsvendor Hot Off the Presses A paperboy (newsvendor) needs to decide how many papers to buy in order to maximize his profit. He doesn’t know at the beginning of the day how many papers he can sell (his demand). Each newspaper costs c. He can sell each newspaper for a price of q. He can return each unsold newspaper at the end of the day for r.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages82 Page
-
File Size-