Cite Us
pyOpt

Table Of Contents

Previous topic

SOLVOPT - SOLver for local OPTimization problems

Next topic

NSGA2 - Non Sorting Genetic Algorithm II

ALPSO - Augmented Lagrangian Particle Swarm Optimizer

This is a parallel augmented Lagrange multiplier particle swarm optimizer developed in Python. It solves nonlinear non-smooth constrained problems using an augmented Lagrange multiplier approach to handle constraints. [Jansen2011] [LICENSE]

class pyALPSO.ALPSO(pll_type=None, *args, **kwargs)

Bases: pyOpt.pyOpt_optimizer.Optimizer

ALPSO Optimizer Class - Inherited from Optimizer Abstract Class

ALPSO Optimizer Class Initialization

Keyword arguments:

  • pll_type -> STR: ALPSO Parallel Implementation (None, SPM- Static, DPM- Dynamic, POA-Parallel Analysis), Default = None

Documentation last updated: February. 2, 2011 - Ruben E. Perez

__solve__(opt_problem={}, store_sol=True, disp_opts=False, xstart=[], store_hst=False, hot_start=False, *args, **kwargs)

Run Optimizer (Optimize Routine)

Keyword arguments:

  • opt_problem -> INST: Optimization instance
  • store_sol -> BOOL: Store solution in Optimization class flag, Default = True
  • disp_opts -> BOOL: Flag to display options in solution text, Default = False
  • xstart -> : , Default = []
  • store_hst -> BOOL/STR: Flag/filename to store optimization history, Default = False
  • hot_start -> BOOL/STR: Flag/filename to read optimization history, Default = False

Additional arguments and keyword arguments are passed to the objective function call.

Documentation last updated: February. 2, 2011 - Ruben E. Perez

Optimizer Options

Name Type Default Value Notes
SwarmSize int 40 Number of Particles (Depends on Problem dimensions)
maxOuterIter int 200 Maximum Number of Outer Loop Iterations (Major Iterations)
maxInnerIter int 6 Maximum Number of Inner Loop Iterations (Minor Iterations)
minInnerIter int 6 Minimum Number of Inner Loop Iterations (Minor Iterations)
dynInnerIter int 0 Dynamic Number of Inner Iterations Flag
stopCriteria int 1 Stopping Criteria Flag (0 - maxIters, 1 - convergence)
stopIters int 5 Consecutively Number of Iterations for Convergence
etol float 1e-3 Absolute Tolerance for Equality constraints
itol float 1e-3 Absolute Tolerance for Inequality constraints
rtol float 1e-2 Relative Tolerance for Lagrange Multipliers
atol float 1e-2 Absolute Tolerance for Lagrange Function
dtol float 1e-1 Relative Tolerance in Particles Distance to Terminate (GCPSO)
printOuterIters int 0 Number of Iterations Before Print Outer Loop Information
printInnerIters int 0 Number of Iterations Before Print Inner Loop Information
rinit float 1.0 Initial Penalty Factor
xinit int 0 Initial Position Flag (0 - no position, 1 - position given)
vinit float 1.0 Initial Velocity of Particles Normalized in [-1,1] Space
vmax float 2.0 Maximum Velocity of Particles Normalized in [-1,1] Space
c1 float 2.0 Cognitive Parameter
c2 float 1.0 Social Parameter
w1 float 0.99 Initial Inertia Weight
w2 float 0.55 Final Inertia Weight
ns int 15 Consecutive Successes Before Radius will be Increased (GCPSO)
nf int 5 Consecutive Failures Before Radius will be Increased (GCPSO)
dt float 1 Time step
vcrazy float 1e-4 Craziness Velocity
fileout int 1 Flag to Turn On Output to filename
filename str ‘ALPSO.out’ Output File Name
seed float 0 Random Number Seed (0 - Auto-Seed based on time clock)
HoodSize int 40 Number of Neighbours of Each Particle
HoodModel str ‘gbest’ Neighbourhood Model (dl/slring, wheel, Spatial, sfrac
HoodSelf int 1 Selfless Neighbourhood Model
Scaling int 1 Design Variables Scaling (0- no scaling, 1- scaling [-1,1])