42
Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME (part 2) Joel Goh Melvyn Sim Department of Decision Sciences NUS Business School, Singapore 18 Jun 2009 NUS Business School Guest Lecture J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 1 / 42

Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

Distributionally Robust Optimizationwith ROME (part 2)

Joel Goh Melvyn Sim

Department of Decision SciencesNUS Business School, Singapore

18 Jun 2009NUS Business School

Guest Lecture

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 1 / 42

Page 2: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

Outline

Introduction

Basic Structure of a ROME Program

ROME Features

Example 1: Simple Test

Example 2: Inventory Management

Conclusion

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 2 / 42

Page 3: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

Outline

Introduction

Basic Structure of a ROME Program

ROME Features

Example 1: Simple Test

Example 2: Inventory Management

Conclusion

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 3 / 42

Page 4: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

What is ROME?

• ROME: Robust Optimization Made Easy

• Algebraic modeling language in the MATLAB environment for modelingRobust Optimization (RO) problems

• Primarily designed for RO problems within the DRO framework

• ROAM Design Goals• Environment for rapid prototyping of new RO ideas• Ease the transition from theory to practice• Ease numerical studies of RO models

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 4 / 42

Page 5: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

What ROME is NOT

• ROME is NOT a solver engine• ROME calls 3rd party solvers to do actual solving (e.g. CPLEX, MOSEK,

SDPT3)• ROME serves as an intermediary to translate an uncertain optimization

program from a mathematically intuitive form into a solver-understandableform

• ROME is NOT a large-scale solver platform• ROME can handle medium-sized problems reasonably well, and some large

problems• Best to write specialized code (e.g. in C, C++)

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 5 / 42

Page 6: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

Why ROME?

• RO programs, especially with more complex decision rules (e.g. BDLDR),can be extremely complex, typically involving the following steps

• Constructing robust counterparts• Finding deflected components (non-anticipative)• Constructing robust bounds

• Fortunately, most of these steps are mechanical in nature• Potential to be automated

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 6 / 42

Page 7: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

Outline

Introduction

Basic Structure of a ROME Program

ROME Features

Example 1: Simple Test

Example 2: Inventory Management

Conclusion

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 7 / 42

Page 8: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

Ingredients of a Robust Optimization Program

• Uncertainties: Methods to input distributional properties

• Variables: Deterministic variables, recourse variables

• Arithmetic operations on Uncertainties, Variables

• Conic Constraints

• Objective

• Optimization Results

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 8 / 42

Page 9: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

The ROME Environment

• The ROME environment is started by a call to roam begin• Sets up internal ROAM structures (invisible)

• A model in ROAM is created by a call to roam model• Returns a handle which you can use to access model data, or call model

member functions

• Input uncertainties, variables, constraints, and objective

• Call solve to complete the model and run solver.

• Can access optimization results after solve

• roam end clears the ROME environment and frees memory in ROAMstructures

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 9 / 42

Page 10: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

Variables and Uncertainties

• Declared with the newvar keyword with different options• <nothing> : deterministic variables• uncertain : uncertainties• linearrule> : LDR recourse variables

• Can set distributional properties on uncertainty variables

• Can be construted with various sizes• Scalars, vectors, matrices, multi-dimensional arrays

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 10 / 42

Page 11: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

ROME Structure Code (I)

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 11 / 42

Page 12: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

Operators

• Most of MATLAB’s arithmetic operators have been overloaded to work withdeclared ROME variables

• Addition / Subtraction• Array and Matrix Multiplication• Subscripted Reference and Assignment (e.g. A(1, 2))• Array shape manipulation commands (size, reshape)

• Idea: whatever you can do with MATLAB matrices, you should be able to dowith ROME variables

• Non-standard operation: mean (for uncertainties and LDR variables)

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 12 / 42

Page 13: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

Constraints and Objective

• Constraints• Declared using the rome constraint function• Accepts ROME expressions containing a single inequality or equalities

(examples later)• For LDR variables, constraints will be translated into the Robust Counterpart

automatically

• Objective• One objective per model• Specified using rome minimize or rome maximize

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 13 / 42

Page 14: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

Getting Optimization Results

• After calling solve,• Get values of variables using eval

• Can get values of declared variables or even functions of variables

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 14 / 42

Page 15: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

ROME Structure Code (II)

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 15 / 42

Page 16: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

Outline

Introduction

Basic Structure of a ROME Program

ROME Features

Example 1: Simple Test

Example 2: Inventory Management

Conclusion

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 16 / 42

Page 17: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

Why Use ROME?

• Uncertainty description

• LDRs as primitives variables in ROAM

• Non-anticipative requirements

• In-built support for BDLDRs

• Numerical analysis of results

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 17 / 42

Page 18: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

Uncertainty Description

• Can set distributional properties of uncertainties

• Stored in ROAM’s memory and invoked when necessary• e.g. Robust Counterpart for inequalities on LDRs• e.g. Robust Bounds

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 18 / 42

Page 19: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

LDRs as Primitive Objects

• LDRs are declared and manipulated directly• Much more mathematically meaningful• Don’t have to worry about internal structure of LDR or worry about how to

write the robust counterpart• Works in concert with the uncertainty description

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 19 / 42

Page 20: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

Non-anticipative Requirements

• In ROME, you can make variables with a prescribed dependency pattern onthe uncertainties

• e.g. z where the ith component depends on the first i components ofuncertainty

• More directly, can specify dependency pattern at creation

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 20 / 42

Page 21: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

In-built-support for BDLDRs

• As we saw before, BDLDRs improved over LDRs, but were terriblycomplicated, especially for the non-anticipative case. Recall the stepsinvolved:

1. Form and solve the two sub-problems2. Remove “unnecessary” inequality constraints3. Make the BDLDR and construct robust bounds4. Solve the final problem

• Design Concept: while the BDLDR is complex, it’s just another decision rule,you shouldn’t have to change your model to use the BDLDR

• Just call solve deflected, instead of solve

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 21 / 42

Page 22: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

Numerical Analysis of Results (I)

• For deterministic optimization software packages this is trivial

• Recall that recourse decisions are functions of uncertainties

• Most general setting in ROME: deflected variable

x(z) =(x0 +Xz

)+ P

(y0 + Y z

)−• eval function returns an object, which encodes these parameters.

• Use linearpart and deflectedpart functions

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 22 / 42

Page 23: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

Numerical Analysis of Results (II)

• ROME also includes a “prettyprint” functionality to aid debugging andprototyping of small problems, e.g.

• Instantiate solution of uncertainty values using insert

• Use as a prescriptive tool or for Monte-Carlo simulation

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 23 / 42

Page 24: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

Outline

Introduction

Basic Structure of a ROME Program

ROME Features

Example 1: Simple Test

Example 2: Inventory Management

Conclusion

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 24 / 42

Page 25: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

Recall Motivating Problem for BDLDR

miny(·)

supP∈F

EP (|y(z)− z|)

0 ≤ y(z) ≤ 1y ∈ Y (1, 1, {1})

mmin

y(·),u(·),v(·)supP∈F

EP (u(z) + v(z))

s.t. u(z)− v(z) = y(z)− z0 ≤ y(z) ≤ 1u(z), v(z) ≥ 0y, u, v ∈ Y (1, 1, {1})

• Where we have used the identities x = x+ − x−, |x| = x+ + x−.

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 25 / 42

Page 26: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

ROME Code for Simple Example (I)

miny(·),u(·),v(·)

supP∈F

EP (u(z) + v(z))

s.t. u(z)− v(z) = y(z)− z0 ≤ y(z) ≤ 1u(z), v(z) ≥ 0y, u, v ∈ Y (1, 1, {1})

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 26 / 42

Page 27: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

ROME Code for Simple Example (II)

miny(·),u(·),v(·)

supP∈F

EP (u(z) + v(z))

s.t. u(z)− v(z) = y(z)− z0 ≤ y(z) ≤ 1u(z), v(z) ≥ 0y, u, v ∈ Y (1, 1, {1})

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 27 / 42

Page 28: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

Solution

ysol(z) = z + z− − (1− z)+

= z+ − (1− z)+

=

z if 0 ≤ z ≤ 10 if z ≤ 01 if z ≥ 1

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 28 / 42

Page 29: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

Outline

Introduction

Basic Structure of a ROME Program

ROME Features

Example 1: Simple Test

Example 2: Inventory Management

Conclusion

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 29 / 42

Page 30: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

Robust Inventory Model

• Model a distribution-free, multi-period, inventory control problem withservice constraints.

• Demand is exogenous, with unknown, but partially characterized distributionin a family F, defined by:

• Covariance Matrix: Temporal demand correlation can be modeled by anon-diagonal covariance matrix.

• Mean: Assume fixed mean (for simplicity).• Support: Maximum demand in each period.

• Backorders allowed, but in some applications, a penalty cost might not be agood model for stockouts.

• In our model, we avoid stockouts with a constraint on the fill-rate.• Fill-rate constraint acts as a service guarantee to the consumers.

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 30 / 42

Page 31: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

Model Parameters

ParametersNum Periods : T ∈ NOrder Cost : c ∈ <T

Holding Cost : h ∈ <T

Min Fill Rate : β ∈ <T

Max Order Qty : xMAX ∈ <T

UncertaintiesDemand : z ∈ <T

DecisionsOrder Quantity : x(z) : xt(z) ∈ L(1, T, [t− 1])Inventory Level : y(z) : yt(z) ∈ L(1, T, [t])

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 31 / 42

Page 32: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

Robust Fill Rate Constraint

Fill Rate =Expected Sales

Expected Demand≥ β

• Using our notation, the robust (worst-case) version:

infP∈F

EP (min {zt, yt−1(z) + xt(z)}) ≥ βtµt

• Apply inventory balance equation and re-arrange:

supP∈F

EP(yt(z)−

)≤ (1− βt)µt

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 32 / 42

Page 33: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

Model Formulation

• Family of uncertainties:

F ={

P : EP (z) = µ, EP(zz′)

= Σ + µµ′, P(0 ≤ z ≤ zMAX

)= 1}

• Robust Inventory Model with Fill Rate constraints:

minx(·),y(·)

supP∈F

EP(c′x(z) + h′ (y(z))+

)s.t. sup

P∈FEP(y(z)−

)≤ (I − diag (β))µ

Dy (z)− x (z) = −z0 ≤ x (z) ≤ xMAX

xt ∈ L(1, T, [t− 1]) ∀t ∈ [T ]yt ∈ L(1, T, [t]) ∀t ∈ [T ]

D =

1 0 0 . . . 0−1 1 0 . . . 00 −1 1 . . . 0

.

.

....

.

.

.. . .

.

.

.0 0 0 . . . 1

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 33 / 42

Page 34: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

Model Transformed into DRO Framework

• After linearizing piecewise-linear terms,

minx(·),y(·),r(·),s(·)

supP∈F

EP(c′x(z) + h′r(z)

)s.t. sup

P∈FEP (s(z)) ≤ (I − diag (β))µ

r (z) ≥ y (z)s (z) ≥ −y (z)r (z) , s (z) ≥ 0Dy (z)− x (z) = −z0 ≤ x (z) ≤ xMAX

xt ∈ L(1, T, [t− 1]) ∀t ∈ [T ]rt, st, yt ∈ L(1, T, [t]) ∀t ∈ [T ]

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 34 / 42

Page 35: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

ROME Code for Inventory Problem

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 35 / 42

Page 36: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

ROME Code for Inventory Problem (cont.)

F =

P :P(0 ≤ z ≤ zMAX

)= 1

EP (z) = µ,EP(zz′)

= Σ + µµ′

r (z) , s (z) ≥ 0xt ∈ L(1, T, [t− 1]) ∀t ∈ [T ]rt, st, yt ∈ L(1, T, [t]) ∀t ∈ [T ]

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 36 / 42

Page 37: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

ROME Code for Inventory Problem (cont.)

minx(·),y(·),r(·),s(·)

supP∈F

EP(c′x(z) + h

′r(z)

)s.t. sup

P∈FEP (s(z)) ≤ (I − diag (β))µ

Dy (z)− x (z) = −zr (z) ≥ y (z)s (z) ≥ −y (z)

0 ≤ x (z) ≤ xMAX

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 37 / 42

Page 38: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

Numerical Example (I)

• Use a covariance matrix which represents temporal autocorrelation ofdemand, Σ = σL(α)L(α)′

L(α) =

1 0 0 . . . 0α 1 0 . . . 0α α 1 . . . 0...

......

. . ....

α α α . . . 1

• (zMAX , β) = (100, 0.5)

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 38 / 42

Page 39: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

Numerical Example (II)

• (zMAX , β) = (200, 0.5)

• (zMAX , β) = (200, 0.8)

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 39 / 42

Page 40: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

ROME Output (MOSEK Solver)

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 40 / 42

Page 41: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

Outline

Introduction

Basic Structure of a ROME Program

ROME Features

Example 1: Simple Test

Example 2: Inventory Management

Conclusion

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 41 / 42

Page 42: Distributionally Robust Optimization with ROME (part 2)Introduction Basic Structure Features Simple Test Inventory Management Conclusion Distributionally Robust Optimization with ROME

Introduction Basic Structure Features Simple Test Inventory Management Conclusion

Summary

• We have seen how ROME can be used to model Distributionally RobustOptimization problems

• ROME contains some components common to most modeling languages, andunique features for Robust Optimization

• Service-constrained inventory control example

J. Goh, M. Sim (NUS) DRO with ROME (part 2) 18 Jun 2009 42 / 42