Documentation/Modules/ConstraintHandler
Inhaltsverzeichnis
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 [[[#1|1]]]
Usage
-
Source Code
ToDo:Link to SVN