# Documentation/Modules/ConstraintHandler

Wechseln zu: Navigation, Suche

## Summary

Some optimization problems define objectives as well as constraints.

For example, one can set for the optimization problem `ProblemTruss ` the weight of the truss to be minimized, while a constraint is set on the maximum stress and displacement of the truss.

This module aggregates objectives and constraints into a single output.

## Properties

### General

 Algorithm deterministic (as no gradient handling is implemented) continuous variables, discrete or mixed variables are possible. any number any number not affected 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)
```

-

ToDo:Link to SVN