Optimizers

LISO has its own single- and multi-objective optimizers. It also provides interfaces for 3rd party optimizers.

class liso.optimizers.optimizer.Optimizer(seed=None)

Bases: abc.ABC

Abstract class for optimizers.

name

Name of the optimizer.

Type

str

seed

Seed for random number. Default = None.

Type

int

__init__(seed=None)

Optimizer Class Initialization.

abstract __call__(opt_problem)

Run Optimizer (Calling Routine)

Parameters

opt_problem (Optimization) – Optimization instance.

Returns

(optimized f, optimized x, miscellaneous information ready for printout).

Return type

(float, array-like, str)

Local unconstrained optimizers

Nelder-Mead

class liso.optimizers.NelderMead(*args, **kwargs)

Bases: liso.optimizers.optimizer.Optimizer

NelderMead Optimizer Class.

rtol

Relative tolerance for Lagrange function. Default = 1e-3.

Type

float

atol

Absolute tolerance for Lagrange function. Default = 1e-4.

Type

float

max_stag

Maximum number of stagnation (no improvement). Default = 10.

Type

int

max_iter

Maximum number of iterations. Default = 10000.

Type

int

__init__(*args, **kwargs)

Optimizer Class Initialization.

__call__(opt_prob, workers=1)

Run Optimizer (Optimize Routine)

Override.

Local constrained optimizers

SDPEN (from pyOpt)

see SDPEN

Single-objective global optimizers

ALPSO

class liso.optimizers.ALPSO(*args, **kwargs)

Bases: liso.optimizers.optimizer.Optimizer

ALPSO Optimizer Class.

swarm_size

Number of particles. Default = 40.

Type

int

topology

Topology of the swarm. Default = ‘gbest’.

Type

str

max_outer_iter

Maximum Number of Outer Loop Iterations. Default = 6.

Type

int

max_inner_iter

Maximum Number of Inner Loop Iterations. Default = 3.

Type

int

min_inner_iter

Minimum Number of Inner Loop Iterations.

Type

int

etol

Absolute tolerance for equality constraints. Default = 1e-4.

Type

float

itol

Absolute tolerance for inequality constraints. Default = 1e-4.

Type

float

rtol

Relative tolerance for Lagrange function. Default = 1e-3.

Type

float

atol

Absolute tolerance for Lagrange function. Default = 1e-4.

Type

float

dtol

Absolute tolerance for position deviation of all particles . Default = 5e-2.

Type

float

c1

Cognitive Parameter. Default = 1.5.

Type

float

c2

Social Parameter. Default = 1.5.

Type

float

w0

Initial Inertia Weight. Default = 0.90.

Type

float

w1

Final Inertia Weight. Default = 0.40.

Type

float

use_gcpso

Use Guaranteed Convergence Particle Swarm Optimization (F. Bergh, A.P. Engelbrecht, A new locally convergent particle swarm optimiser, Systems, Man and Cybernetics , 2002 IEEE International Conference). Default = True.

Type

bool

__init__(*args, **kwargs)

Optimizer Class Initialization.

__call__(opt_prob)

Run Optimizer (Optimize Routine)

Override.

Multi-objective optimizers

MOPSO