# Documentation/Modules/BoundHandler

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

## Summary

Some optimizations require bounds on the design variables xxx. E.g. for the diameter of any mechanical support must be above a certain minimum value.

As not all optimization algorithms include bound handling, the module `BoundHandler` was created.

## Properties

### General

 Algorithm deterministic (as no gradient handling is implemented) continuous variables, discrete or mixed variables are possible. any number any number Design variables values outside the boundaries are corrected not affected not affected not required

### Connections

 Starting at his module One connection of type `optimization` One connection of type `optimization`

Name Description
- -

### Options

The options are currently described as "pop-up help".

## Module Description

The optimization algorithm proposes one or several new solutions x. Some values of x might be outside the lower bounds xl and upper bounds xu, specified in the "Problem" module. These variables are corrected to values within the bounds by thress different methods:

0. no bound handling

This option turns off the bound handling.

1. set to bounds

If one of the variables x is below or above the bounds, it is set to the bound value, i.e.

```   if x < xl, then x = xl
else if x > xu, then x = xu
```

2. reflect

If one of the variables x is below or above the bounds, it is reflected from the bound. The reflection is done such that if x goes to infinity, x is equal to the lower bound and if x goes to minus infinity, it is set to the upper bound.

```   if x < xl, then x = xu + (xl- xu)^2 / (x - xu)
```
```   else if x > xu, then x = xl + (xu- xl)^2 / (x - xl)
```

-