Types of Algorithms
To perform an optimization, you can use one of the following algorithms:
- User Algorithm defined in CAAOptimizationInterfaces.edu
- Local Algorithm for Constraints and Priorities: A Gradient based search using a modified feasible direction.
- Simulated Annealing Algorithm
- Algorithm for Constraints & Derivatives Providers: A gradient based search for features that provide their own derivatives such as some analysis sensors.
- Gradient Algorithm without Constraints: 3 different types of
gradient algorithms:
- Fast: A successive quadratic interpolation that allows fast but less accurate optimization.
- Medium: A randomly restarted conjugate gradient.
- Slow: A steepest descent algorithm (slow but more accurate than the Fast category).
- Gradient Algorithm with Constraints: A gradient based feasible direction algorithm.
User Algorithm Defined in CAAOptimizationInterfaces.edu
You can define your own algorithms. To get an example, See the CAAOptimization interfaces.
Local Algorithm for Constraints & Priorities
This algorithm takes constraints priorities into account.
Simulated Annealing Algorithm
This section provides you with additional information about Simulated Annealing Algorithm.
- This algorithm is a global stochastic search algorithm hence two successive runs of this method might not lead to the same result. It performs a global search that evolves towards local searches as the time goes on.
- It is usually used to explore non-linear, multi modal functions. These functions can also be discontinuous.
- If the shape of the objective function is unknown, it is recommended to start with a Simulated Annealing then refine the results with a gradient descent. This approach is slow but works for a larger amount of functions.
Important: A good way to quickly reach a solution when using the Simulated Annealing consists in specifying a low number of consecutive updates without improvements (15 or 20). On the contrary, to foster search, the number of consecutive updates without improvements can be increased as well as the time and the number of total updates. |
Algorithm for Constraints & Derivatives Providers
This section provides you with more information about Algorithm for Constraints & Derivatives Providers.
This algorithm can handle objectives providing derivatives (such as analysis global sensors) in conjunction with constraints providing multiple values and derivatives (such as analysis local sensors). With this algorithm additional termination criteria can be specified:
- Criteria Window: Number of updates (Nstop) with respect to which the termination criteria are evaluated.
- Relative Constraints: Relative constraints variation under which the algorithm must stop. All constraints must fulfill this criteria for the stop to occur.
- Absolute Constraints: Absolute constraints variation under which the algorithm must stop. All constraints must fulfill this criteria for the stop to occur.
- Absolute Variables: Absolute variables variation under which the algorithm must stop. All variables must fulfill this criteria for the stop to occur.
Absolute Objective: Absolute objective variation under which the algorithm must stop. (See formula opposite) |
Obj.Max.-Obj.Min < User Termination Criteria |
|
Relative Objective: Relative objective variation under which the algorithm must stop (See formula opposite) |
Obj.Max-Obj.Min______________ |
|
Obj.max+Obj.min ________ 2 |
Gradient Algorithm
This section provides you with more information about Gradient Algorithm.
This algorithm must be used first to perform a local search. Based on the calculation of a local slope of the objective function, this algorithm uses a parabolic approximation and jump to its minimum, or use an iterated exponential step descent in the direction of the minimum. If the properties of the objective function are known (continuous, differentiable at all point), the gradient can be used straight on. It is usually faster than the Simulated Annealing algorithm.
Important: You can choose to run the Gradient algorithm with constraints or without constraints. |
Global Search vs. Local Search
This section provides you with more information about Global Search vs. Local Search.
Simulated Annealing (Global Algorithm) |
Gradient (Local Algorithm) Local Algorithm For Constraints & Priorities, Algorithm for Constraints and Derivatives Providers, Gradient Algorithm Without Constraint, Gradient Algorithm With Constraints |
Equality constraints allowed Precision is managed as a termination criteria. x == A is fulfilled when abs(x - A) <Precision |
Equality constraints not allowed except for the Algorithm for Constraints and Derivatives Providers. |
Can be run with constraints and no objective function |
Must be run with an objective function. |