ALPSO
Augmented Lagrangian Particle Swarm Optimizer (ALPSO) is a PSO method that uses the augmented Lagrangian approach to handle constraints.
Options
Name |
Type |
Default value |
Description |
---|---|---|---|
|
int |
40 |
Number of Particles (Depends on Problem dimensions) |
|
int |
200 |
Maximum Number of Outer Loop Iterations (Major Iterations) |
|
int |
6 |
Maximum Number of Inner Loop Iterations (Minor Iterations) |
|
int |
6 |
Minimum Number of Inner Loop Iterations (Dynamic Inner Iterations) |
|
int |
0 |
Dynamic Number of Inner Iterations Flag |
|
int |
1 |
Stopping Criteria Flag (0 - maxIters, 1 - convergence) |
|
int |
5 |
Consecutive Number of Iterations for which the Stopping Criteria must be Satisfied |
|
float |
0.001 |
Absolute Tolerance for Equality constraints |
|
float |
0.001 |
Absolute Tolerance for Inequality constraints |
|
float |
0.01 |
Relative Tolerance for Lagrange Multipliers |
|
float |
0.01 |
Absolute Tolerance for Lagrange Function |
|
float |
0.1 |
Relative Tolerance in Distance of All Particles to Terminate (GCPSO) |
|
int |
0 |
Number of Iterations Before Print Outer Loop Information |
|
int |
0 |
Number of Iterations Before Print Inner Loop Information |
|
float |
1.0 |
Initial Penalty Factor |
|
int |
0 |
Initial Position Flag (0 - no position, 1 - position given) |
|
float |
1.0 |
Initial Velocity of Particles in Normalized [-1, 1] Design Space |
|
float |
2.0 |
Maximum Velocity of Particles in Normalized [-1, 1] Design Space |
|
float |
2.0 |
Cognitive Parameter |
|
float |
1.0 |
Social Parameter |
|
float |
0.99 |
Initial Inertia Weight |
|
float |
0.55 |
Final Inertia Weight |
|
int |
15 |
Number of Consecutive Successes in Finding New Best Position of Best Particle Before Search Radius will be Increased (GCPSO) |
|
int |
5 |
Number of Consecutive Failures in Finding New Best Position of Best Particle Before Search Radius will be Increased (GCPSO) |
|
float |
1.0 |
Time step |
|
float |
0.0001 |
Craziness Velocity (Added to Particle Velocity After Updating the Penalty Factors and Langangian Multipliers) |
|
int |
1 |
Flag to Turn On Output to filename |
|
str |
|
We could probably remove fileout flag if filename or fileinstance is given |
|
int |
0 |
Random Number Seed (0 - Auto-Seed based on time clock) |
|
int |
40 |
Number of Neighbours of Each Particle |
|
str |
|
Neighbourhood Model (dl/slring - Double/Single Link Ring, wheel - Wheel, Spatial - based on spatial distance, sfrac - Spatial Fraction) |
|
int |
1 |
Selfless Neighbourhood Model (0 - Include Particle i in NH i, 1 - Don’t Include Particle i) |
|
int |
1 |
Design Variables Scaling Flag (0 - no scaling, 1 - scaling between [-1, 1]) |
|
str |
|
Type of parallelization
|
API
- class pyoptsparse.pyALPSO.pyALPSO.ALPSO(*args, **kwargs)[source]
ALPSO Optimizer Class - Inherited from Optimizer Abstract Class
Keyword arguments:*
pll_type -> STR: ALPSO Parallel Implementation (None, SPM- Static, DPM- Dynamic, POA-Parallel Analysis), Default = None
This is the base optimizer class that all optimizers inherit from. We define common methods here to avoid code duplication.
- Parameters:
- namestr
Optimizer name
- categorystr
Typically local or global
- defaultOptionsdictionary
A dictionary containing the default options
- informsdict
Dictionary of the inform codes
- __call__(optProb, storeHistory=None, hotStart=None, **kwargs)[source]
This is the main routine used to solve the optimization problem.
- Parameters:
- optProbOptimization or Solution class instance
This is the complete description of the optimization problem to be solved by the optimizer
- storeHistorystr
File name of the history file into which the history of this optimization will be stored
- hotStartstr
File name of the history file to “replay” for the optimization. The optimization problem used to generate the history file specified in ‘hotStart’ must be IDENTICAL to the currently supplied ‘optProb’. By identical we mean, EVERY SINGLE PARAMETER MUST BE IDENTICAL. As soon as he requested evaluation point from ALPSO does not match the history and function evaluations revert back to normal evaluations.
Notes
The kwargs are there such that the sens= argument can be supplied (but ignored here in alpso)