ALPSO

Augmented Lagrangian Particle Swarm Optimizer (ALPSO) is a PSO method that uses the augmented Lagrangian approach to handle constraints.

Options

ALPSO Default Options

Name

Type

Default value

Description

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 (Dynamic Inner Iterations)

dynInnerIter

int

0

Dynamic Number of Inner Iterations Flag

stopCriteria

int

1

Stopping Criteria Flag (0 - maxIters, 1 - convergence)

stopIters

int

5

Consecutive Number of Iterations for which the Stopping Criteria must be Satisfied

etol

float

0.001

Absolute Tolerance for Equality constraints

itol

float

0.001

Absolute Tolerance for Inequality constraints

rtol

float

0.01

Relative Tolerance for Lagrange Multipliers

atol

float

0.01

Absolute Tolerance for Lagrange Function

dtol

float

0.1

Relative Tolerance in Distance of All Particles 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 in Normalized [-1, 1] Design Space

vmax

float

2.0

Maximum Velocity of Particles in Normalized [-1, 1] Design 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

Number of Consecutive Successes in Finding New Best Position of Best Particle Before Search Radius will be Increased (GCPSO)

nf

int

5

Number of Consecutive Failures in Finding New Best Position of Best Particle Before Search Radius will be Increased (GCPSO)

dt

float

1.0

Time step

vcrazy

float

0.0001

Craziness Velocity (Added to Particle Velocity After Updating the Penalty Factors and Langangian Multipliers)

fileout

int

1

Flag to Turn On Output to filename

filename

str

ALPSO.out

We could probably remove fileout flag if filename or fileinstance is given

seed

int

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 - Double/Single Link Ring, wheel - Wheel, Spatial - based on spatial distance, sfrac - Spatial Fraction)

HoodSelf

int

1

Selfless Neighbourhood Model (0 - Include Particle i in NH i, 1 - Don’t Include Particle i)

Scaling

int

1

Design Variables Scaling Flag (0 - no scaling, 1 - scaling between [-1, 1])

parallelType

str

None

Type of parallelization

  • None: No parallel function evaluations

  • EXT: Use parallel function evaluations

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, **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

Notes

The kwargs are there such that the sens= argument can be supplied (but ignored here in alpso)