# Difference between revisions of "Adaptive robust optimization"

Line 7: | Line 7: | ||

<math> | <math> | ||

\begin{array}{llr} | \begin{array}{llr} | ||

− | \max\limits_{x\in \mathbb{S}} & | + | \max\limits_{x\in \mathbb{S}} &f(x) \max\limits_{b\in \mathbb{B}} Q(x,b) & \\ |

\text{subject to} & Ax = b &\\ | \text{subject to} & Ax = b &\\ | ||

& x \geq 0 & | & x \geq 0 & |

## Revision as of 20:11, 6 June 2015

Author: Woo Soo Choe (ChE 345 Spring 2015)

Steward: Dajun Yue, Fengqi You

## Contents |

## Model Formulation

Adaptive Robust Optimization implements different techniques to improve on the original static robust optimization by incorporating multiple stages of decision into the algorithm. Currently, in order to minimize the complexity of algorithm, most of the studies on adaptive robust optimization have focused on two-stage problems. Generally, Adaptive Robust Optimization has following form.

## Introduction

Traditionally, robust optimization has solved problems based on static decisions which are predetermined by the decision makers. Once the decisions were made, the problem was solved and whenever a new uncertainty was realized, the uncertainty was incorporated to the original problem and the entire problem was solved again to account for the uncertainty.[1] Generally, robust optimization problem is formulated as follows.

In the equation is a vector of decision variables and are functions and are the uncertainty parameters which take random value in the uncertainty sets **Failed to parse(unknown function '\subseteqmathbb'): \mathcal{U}_i\subseteqmathbb{R}^k**
. When robust optimization is utilized to solve a problem, three implicit assumptions are made.

1. All entries need in the decision vector get specific numerical values prior to the realization of the actual data.

2. When the real data is within the range of the uncertainty set , the decision maker is responsible for the result obtained through the robust optimization algorithm

3. The constraints are hard and the violation of the constraints may not be tolerated when the real data is within the uncertainty set

The three assumptions grant robust optimization technique immunity from uncertainties. There are other types of optimization techniques such as Stochastic Optimization which may be used to handle problems with uncertainties. However, because Stochastic Optimization has its own drawback because it requires the probability distribution of the events. By having the decision makers make guesses about the probability distribution, Stochastic Optimization method often yield results that are less conservative than the ones by Robust Optimization method.

Robust Optimization certainly may have advantages over other optimization methods, but unfortunately, most robust optimization problems for real life applications require multiple stages to account for uncertainties and traditional static robust has shown limitations. In order to improve the pre-existing technique, Adaptive Robust Optimization was studied and advances in the field was made to address the problems which could not be easily handled with previous methods.[2]

## Methodology

In the equation, is an arbitrary function of where represents the uncertainty. When the expression is rewritten in terms of the feasible set for the first-stage decision, the following expression is obtained.

In the expression, the set is convex but the problem is intractable. In order to resolve the issue , Adaptive Robust Optimization may utilize different techniques to allow the question to be solvable. In "Methodology" section, three different approaches of Adaptive Robust Optimization are explored. When solving Adaptive Robust Optimization problems, three different approaches may be implemented.

The first approach is called Bender's Decomposition

The second approach is . Even though Stochastic Optimization method itself is slightly different from Robust Optimization, the principles used in Stochastic Optimization maybe used to improve the pre-existing single-staged Robust Optimization.

The third approach is Dynamic Programming. Dynamic programming