Documentation/Modules/ConstraintHandler: Unterschied zwischen den Versionen

Aus OpenDino
Wechseln zu: Navigation, Suche
(Module Description)
(Module Description)
Zeile 68: Zeile 68:
 
The result of an evaluation of a solution may contain objective values '''f''' and constraint values '''g''':
 
The result of an evaluation of a solution may contain objective values '''f''' and constraint values '''g''':
  
0. no bound handling
+
While bjectives are to be minimized (<code>min('''f''')</code>), constraints are to be fulfilled (<code>'''g''' =< 0</code>).  
  
This option turns off the bound handling.
+
0. no constraint handling
  
1. set to bounds
+
This option turns off the constraint handling. Objective values and constraints are not changed.
  
If one of the variables x is below or above the bounds, it is set to the bound value, i.e.
+
1. delete constraints
  
    if x < x<sub>l</sub>, then x = x<sub>l</sub>
+
Deletes all constraints. This can be used if the goal is to minimize the objective function(s) only. The objective functions are not changed.
    else if x > x<sub>u</sub>, then x = x<sub>u</sub>
 
  
2. reflect
+
2. Penalty method
  
If one of the variables x is below or above the bounds, it is reflected from the bound.
+
All objective function values are summed. All violated constraints (i.e. the constraint value is >= 0) are summed and multiplied with a penalty factor <code>p</code>:
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 < x<sub>l</sub>, then x = x<sub>u</sub> + (x<sub>l</sub>- x<sub>u</sub>)^2 / (x - x<sub>u</sub>)
+
  output = sum<sub>i</sub>(f<sub>i</sub>) + sum<sub>j</sub>(max(g<sub>j</sub>,0))*p
  
    else if x > x<sub>u</sub>, then x = x<sub>l</sub> + (x<sub>u</sub>- x<sub>l</sub>)^2 / (x - x<sub>l</sub>)
+
Increasing the penalty factor <code>p</code> puts more weight on the constraints compared to the objectives.
 +
 
 +
3. Penalty method
 +
 
 +
This algorithm works only for population based search methods such as CMA-ES. There are 3 steps
 +
 
 +
  a. All objective function values are summed: sum<sub>i</sub>(f<sub>i</sub>)
 +
  b. All violated constraints (i.e. the constraint value is >= 0) are summed  sum<sub>j</sub>(max(g<sub>j</sub>,0))
 +
  c. Ranking of the solutions according to the Stochastic Ranking algorithm of the paper
 +
 
 +
T. P. Runarsson and X. Yao, "Stochastic Ranking for Constrained Evolutionary Optimization", '''IEEE Transactions on Evolutionary Computation''', Vol. 4, No. 3, pp. 284-294, Sep. 2000.
  
 
==Usage==
 
==Usage==

Version vom 25. Oktober 2015, 19:11 Uhr

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)
Design Variables continuous variables, discrete or mixed variables are possible.
Objectives any number
Constraints any number
Boundaries not affected
Initial Search Region not affected
Typical X not affected
Initialization not required

Connections

Starting at his module One connection of type optimization
Ending at this module One connection of type optimization

Actions

Name Description
- -

Options

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

Module Description

The result of an evaluation of a solution may contain objective values f and constraint values g:

While bjectives are to be minimized (min(f)), constraints are to be fulfilled (g =< 0).

0. no constraint handling

This option turns off the constraint handling. Objective values and constraints are not changed.

1. delete constraints

Deletes all constraints. This can be used if the goal is to minimize the objective function(s) only. The objective functions are not changed.

2. Penalty method

All objective function values are summed. All violated constraints (i.e. the constraint value is >= 0) are summed and multiplied with a penalty factor p:

 output = sumi(fi) + sumj(max(gj,0))*p

Increasing the penalty factor p puts more weight on the constraints compared to the objectives.

3. Penalty method

This algorithm works only for population based search methods such as CMA-ES. There are 3 steps

 a. All objective function values are summed: sumi(fi)
 b. All violated constraints (i.e. the constraint value is >= 0) are summed  sumj(max(gj,0))
 c. Ranking of the solutions according to the Stochastic Ranking algorithm of the paper 

T. P. Runarsson and X. Yao, "Stochastic Ranking for Constrained Evolutionary Optimization", IEEE Transactions on Evolutionary Computation, Vol. 4, No. 3, pp. 284-294, Sep. 2000.

Usage

-

Source Code

ToDo:Link to SVN

References

-