Skip to content

Commit

Permalink
Update theory.md
Browse files Browse the repository at this point in the history
  • Loading branch information
Aero-Spec authored Sep 22, 2024
1 parent ce59b68 commit 9dbc26d
Showing 1 changed file with 26 additions and 36 deletions.
62 changes: 26 additions & 36 deletions docs/src/theory.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,59 +6,49 @@ The DIRECT (Divided Rectangles) algorithm is a global optimization method that d
### Key Concepts of the DIRECT Algorithm

1. **Division of Search Space**:

- The algorithm begins by treating the entire feasible region as a single hyper-rectangle.
- This hyper-rectangle is then divided into smaller rectangles by splitting the dimensions.
- The search space is normalized to the unit hypercube to avoid oversensitivity to dimensions with larger domains. If minimizing $f(x)$ in the interval between lower and upper ranges $a$ and $b$, DIRECT will instead minimize:

```math
g(\mathbf{x}) = f(\mathbf{x} \odot (\mathbf{b} - \mathbf{a}) + \mathbf{a})
```

2. **Function Evaluation**:
- The function is evaluated at the center of each hyper-rectangle.
- This evaluation helps in identifying the most promising regions for further exploration.
After finding the minimum $x^*$ of $g$, the minimum of $f$ is

3. **Selection of Potentially Optimal Rectangles**:
- After evaluation, the algorithm identifies potentially optimal rectangles. A rectangle is considered potentially optimal if it could contain the global minimum based on the evaluations performed so far.
```math
\mathbf{x}^* \odot (\mathbf{b} - \mathbf{a}) + \mathbf{a}
```

4. **Recursive Division**:
- The selected rectangles are further divided, and the process repeats.
- The algorithm continues to refine the search by focusing more on regions that are likely to contain the global minimum.

---

## Mathematical Formulation
The algorithm relies on the following core mathematical principles:
2. **Function Evaluation**:
- The function is evaluated at the center of each hyper-rectangle.
- Each interval has a center $c^{(i)}$ and an associated objective function value $f(c^{(i)})$, as well as a radius $r^{(i)}$, which is the distance from the center to a vertex.

**Evaluation Function**:
The objective function $f(x)$ is evaluated at the center of each hyper-rectangle:
3. **Selection of Potentially Optimal Rectangles**:
- After evaluation, the algorithm identifies potentially optimal rectangles. A rectangle is considered potentially optimal if it could contain the global minimum based on the evaluations performed so far.

4. **Lipschitz Lower Bound**:
- The Lipschitz lower bound for an interval is a circular cone extending downward from its center $c^{(i)}$

```math
f(x) = \sum_{i=1}^{n} c_i x_i
f(\mathbf{x}) \geq f(\mathbf{c}^{(i)}) - \ell \|\mathbf{x} - \mathbf{c}^{(i)}\|_2
```

where $x_i$ are the variables, and $c_i$ are the corresponding coefficients.

- **Rectangle Selection Criterion**:
A rectangle $R$ is considered potentially optimal if:

- This lower bound is constrained by the extents of the interval, and its lowest value is achieved at the vertices, which are all a distance $r^{(i)}$ from the center.

```math
f(x_R) - L \cdot r_R \leq f(x) - L \cdot r_x \quad \text{for all } x \in R
f(c^{(i)}) - \ell r^{(i)}
```

where:
- $f(x_R)$ is the function value at the center of the rectangle.
- $r_R$ is the radius of the rectangle.
- $L$ is the Lipschitz constant.
5. **Recursive Division**:
- The selected rectangles are further divided, splitting into thirds along the axis directions. The order in which dimensions are split matters; lower function evaluations receive larger sub-rectangles. The process continues recursively, refining the search by focusing on the most promising regions.

**Recursive Division**:
The hyper-rectangles are recursively divided along their longest dimension:

```math
x_R = \frac{a_i + b_i}{2}
```

where $a_i$ and $b_i$ are the bounds of the rectangle along the $i$-th dimension.
6. **Convex Hull**:
- The DIRECT method selects all intervals for which a Lipschitz constant exists such that their lower bounds have minimal value. These intervals form a piecewise-linear boundary along the lower-right of the $(r, f(c))$ space.

---

### Strengths of the DIRECT Algorithm

The strength of the DIRECT algorithm lies in its ability to systematically explore the entire search space while focusing on the most promising areas. This systematic coverage helps the algorithm escape local minima, making it particularly effective for objective functions with multiple local minima.

By not requiring the Lipschitz constant, the DIRECT algorithm is adaptable to various optimization problems, including those where the smoothness of the objective function is not well understood.

0 comments on commit 9dbc26d

Please sign in to comment.