Documentation/Modules/ConstraintHandler: Unterschied zwischen den Versionen

Aus OpenDino
Wechseln zu: Navigation, Suche
(Summary)
(Properties)
Zeile 27: Zeile 27:
 
|-
 
|-
 
! Boundaries
 
! Boundaries
| Design variables values outside the boundaries are corrected
+
| not affected
 
|-
 
|-
 
! Initial Search Region  
 
! Initial Search Region  

Version vom 25. Oktober 2015, 18:53 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 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)

Usage

-

Source Code

ToDo:Link to SVN

References

-