Robust optimization

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

Robust optimization is a field of optimization theory that deals with optimization problems in which a certain measure of robustness is sought against uncertainty that can be represented as deterministic variability in the value of the parameters of the problem itself and/or its solution.

History

The origins of robust optimization date back to the establishment of modern decision theory in the 1950s and the use of worst case analysis and Wald's maximin model as a tool for the treatment of severe uncertainty. It became a discipline of its own in the 1970s with parallel developments in several scientific and technological fields. Over the years, it has been applied in statistics, but also in operations research,[1] control theory,[2] finance,[3] portfolio management[4] logistics,[5] manufacturing engineering,[6] chemical engineering,[7] medicine,[8] and computer science. In engineering problems, these formulations often take the name of "Robust Design Optimization", RDO or "Reliability Based Design Optimization", RBDO.

Example 1

Consider the following linear programming problem

 \max_{x,y} \ \{3x + 2y\} \ \ \mathrm { subject \ to }\ \  x,y\ge 0; cx + dy \le 10, \forall (c,d)\in P

where P is a given subset of \mathbb{R}^{2}.

What makes this a 'robust optimization' problem is the \forall (c,d)\in P clause in the constraints. Its implication is that for a pair (x,y) to be admissible, the constraint cx + dy \le 10 must be satisfied by the worst (c,d)\in P pertaining to (x,y), namely the pair (c,d)\in P that maximizes the value of cx + dy for the given value of (x,y).

If the parameter space P is finite (consisting of finitely many elements), then this robust optimization problem itself is a linear programming problem: for each (c,d)\in P there is a linear constraint cx + dy \le 10.

If P is not a finite set, then this problem is a linear semi-infinite programming problem, namely a linear programming problem with finitely many (2) decision variables and infinitely many constraints.

Classification

There are a number of classification criteria for robust optimization problems/models. In particular, one can distinguish between problems dealing with local and global models of robustness; and between probabilistic and non-probabilistic models of robustness. Modern robust optimization deals primarily with non-probabilistic models of robustness that are worst case oriented and as such usually deploy Wald's maximin models.

Local robustness

There are cases where robustness is sought against small perturbations in a nominal value of a parameter. A very popular model of local robustness is the radius of stability model:

\hat{\rho}(x,\hat{u}):= \max_{\rho\ge 0}\ \{\rho: u\in S(x), \forall u\in B(\rho,\hat{u})\}

where \hat{u} denotes the nominal value of the parameter, B(\rho,\hat{u}) denotes a ball of radius \rho centered at \hat{u} and S(x) denotes the set of values of u that satisfy given stability/performance conditions associated with decision x.

In words, the robustness (radius of stability) of decision x is the radius of the largest ball centered at \hat{u} all of whose elements satisfy the stability requirements imposed on x. The picture is this:

Local robustness.png

where the rectangle U(x) represents the set of all the values u associated with decision x.

Global robustness

Consider the simple abstract robust optimization problem

\max_{x\in X}\ \{f(x): g(x,u)\le b, \forall u\in U\}

where U denotes the set of all possible values of u under consideration.

This is a global robust optimization problem in the sense that the robustness constraint g(x,u)\le b, \forall u\in U represents all the possible values of u.

The difficulty is that such a "global" constraint can be too demanding in that there is no x\in X that satisfies this constraint. But even if such an x\in X exists, the constraint can be too "conservative" in that it yields a solution x\in X that generates a very small payoff f(x) that is not representative of the performance of other decisions in X. For instance, there could be an x'\in X that only slightly violates the robustness constraint but yields a very large payoff f(x'). In such cases it might be necessary to relax a bit the robustness constraint and/or modify the statement of the problem.

Example 2

Consider the case where the objective is to satisfy a constraint g(x,u)\le b,. where x\in X denotes the decision variable and u is a parameter whose set of possible values in U. If there is no x\in X such that g(x,u)\le b,\forall u\in U, then the following intuitive measure of robustness suggests itself:

\rho(x):= \max_{Y\subseteq U} \ \{size(Y): g(x,u)\le b, \forall u\in Y\} \ , \ x\in X

where size(Y) denotes an appropriate measure of the "size" of set Y. For example, if U is a finite set, then size(Y) could be defined as the cardinality of set Y.

In words, the robustness of decision is the size of the largest subset of U for which the constraint g(x,u)\le b is satisfied for each u in this set. An optimal decision is then a decision whose robustness is the largest.

This yields the following robust optimization problem:

\max_{x\in X, Y\subseteq U} \ \{size(Y): g(x,u) \le b, \forall u\in Y\}

This intuitive notion of global robustness is not used often in practice because the robust optimization problems that it induces are usually (not always) very difficult to solve.

Example 3

Consider the robust optimization problem

z(U):= \max_{x\in X}\ \{f(x): g(x,u)\le b, \forall u\in U\}

where g is a real-valued function on X\times U, and assume that there is no feasible solution to this problem because the robustness constraint g(x,u)\le b, \forall u\in U is too demanding.

To overcome this difficult, let \mathcal{N} be a relatively small subset of U representing "normal" values of u and consider the following robust optimization problem:

z(\mathcal{N}):= \max_{x\in X}\ \{f(x): g(x,u)\le b, \forall u\in \mathcal{N}\}

Since \mathcal{N} is much smaller than U, its optimal solution may not perform well on a large portion of U and therefore may not be robust against the variability of u over U.

One way to fix this difficulty is to relax the constraint g(x,u)\le b for values of u outside the set \mathcal{N} in a controlled manner so that larger violations are allowed as the distance of u from \mathcal{N} increases. For instance, consider the relaxed robustness constraint

g(x,u) \le b + \beta \cdot dist(u,\mathcal{N}) \ , \ \forall u\in U

where \beta \ge 0 is a control parameter and dist(u,\mathcal{N}) denotes the distance of u from \mathcal{N}. Thus, for \beta =0 the relaxed robustness constraint reduces back to the original robustness constraint. This yields the following (relaxed) robust optimization problem:

z(\mathcal{N},U):= \max_{x\in X}\ \{f(x): g(x,u)\le b + \beta \cdot dist(u,\mathcal{N}) \ , \  \forall u\in U\}

The function dist is defined in such a manner that

dist(u,\mathcal{N})\ge 0,\forall u\in U

and

dist(u,\mathcal{N})= 0,\forall u\not\in \mathcal{N}

and therefore the optimal solution to the relaxed problem satisfies the original constraint g(x,u)\le b for all values of u in \mathcal{N}. In addition, it also satisfies the relaxed constraint

g(x,u)\le b + \beta \cdot dist(u,\mathcal{N})

outside \mathcal{N}.

Non-probabilistic robust optimization models

The dominating paradigm in this area of robust optimization is Wald's maximin model, namely

\max_{x\in X}\min_{u\in U(x)} f(x,u)

where the \max represents the decision maker, the \min represents Nature, namely uncertainty, X represents the decision space and U(x) denotes the set of possible values of u associated with decision x. This is the classic format of the generic model, and is often referred to as minimax or maximin optimization problem. The non-probabilistic (deterministic) model has been and is being extensively used for robust optimization especially in the field of signal processing.[9][10][11]

The equivalent mathematical programming (MP) of the classic format above is

\max_{x\in X,v\in \mathbb{R}} \ \{v: v\le f(x,u), \forall u\in U(x)\}

Constraints can be incorporated explicitly in these models. The generic constrained classic format is

\max_{x\in X}\min_{u\in U(x)} \ \{f(x,u): g(x,u)\le b,\forall u\in U(x)\}

The equivalent constrained MP format is

\max_{x\in X,v\in \mathbb{R}} \ \{v: v\le f(x,u), g(x,u)\le b, \forall u\in U(x)\}

Probabilistic robust optimization models

These models quantify the uncertainty in the "true" value of the parameter of interest by probability distribution functions. They have been traditionally classified as stochastic programming and stochastic optimization models.

Robust counterpart

The solution method to many robust program involves creating a deterministic equivalent, called the robust counterpart. The practical difficulty of a robust program depends on if its robust counterpart is computationally tractable.[12]

Applications

Robust optimization for oil field development planning

Many of the optimization problems in science and engineering involve nonlinear objective functions with uncertain model. In these cases, robust optimization is applied to optimize the expected objective (sample average) over a set of realizations generated using Monte Carlo simulation. For expensive function evaluations, model selection is used to reduce the number of realizations. Techniques such as out-of-sample validation is used to reduce the number of required realizations. Recently, optimization with sample validation (OSV) (also referred to as "multilevel optimization with validation", MLOV) is proposed to significantly reduce the computational cost in robust optimization for expensive function evaluations. Robust optimization using OSV has been applied for optimization of hydrocarbon field development planning. [13]

See also

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Robust portfolio optimization
  4. Md. Asadujjaman and Kais Zaman, "Robust Portfolio Optimization under Data Uncertainty" 15th National Statistical Conference, December 2014, Dhaka, Bangladesh.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. M. Danish Nisar. "Minimax Robustness in Signal Processing for Communications", Shaker Verlag, ISBN 978-3-8440-0332-1, August 2011.
  12. Ben-Tal A., El Ghaoui, L. and Nemirovski, A. (2009). Robust Optimization. Princeton Series in Applied Mathematics, Princeton University Press, 9-16.
  13. Lua error in package.lua at line 80: module 'strict' not found.

Further reading

  • H.J. Greenberg. Mathematical Programming Glossary. World Wide Web, http://glossary.computing.society.informs.org/, 1996-2006. Edited by the INFORMS Computing Society.
  • Ben-Tal, A., Nemirovski, A. (1998). Robust Convex Optimization. Mathematics of Operations Research 23, 769-805.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Ben-Tal A., El Ghaoui, L. and Nemirovski, A. (2006). Mathematical Programming, Special issue on Robust Optimization, Volume 107(1-2).
  • Ben-Tal A., El Ghaoui, L. and Nemirovski, A. (2009). Robust Optimization. Princeton Series in Applied Mathematics, Princeton University Press.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Kouvelis P. and Yu G. (1997). Robust Discrete Optimization and Its Applications, Kluwer.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Rustem B. and Howe M. (2002). Algorithms for Worst-case Design and Applications to Risk Management, Princeton University Press.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Wald, A. (1950). Statistical Decision Functions, John Wiley, NY.
  • M. Shabanzadeh, M. Fattahi. Generation Maintenance Scheduling via robust optimization. DOI: 10.1109/IranianCEE.2015.7146458 , 2015

External links