This code is an extension of the harmony search optimizer [Geem2001] that handles constraints using an augmented Lagrange multiplier approach similar to that implemented in ALPSO. [LICENSE]
Bases: pyOpt.pyOpt_optimizer.Optimizer
ALHSO Optimizer Class - Inherited from Optimizer Abstract Class
ALHSO Optimizer Class Initialization
Keyword arguments:
Documentation last updated: Feb. 16, 2010 - Peter W. Jansen
Run Optimizer (Optimize Routine)
Keyword arguments:
Additional arguments and keyword arguments are passed to the objective function call.
Documentation last updated: February. 17, 2011 - Peter W. Jansen
Name | Type | Default Value | Notes |
---|---|---|---|
hms | int | 5 | Memory Size [1,50] |
hmcr | float | 0.95 | Probability rate of choosing from memory [0.7,0.99] |
par | float | 0.65 | Pitch adjustment rate [0.1,0.99] |
dbw | int | 2000 | Variable Bandwidth Quantization |
maxoutiter | int | 2e3 | Maximum Number of Outer Loop Iterations (Major Iterations) |
maxinniter | int | 2e2 | Maximum Number of Inner Loop Iterations (Minor Iterations) |
stopcriteria | int | 1 | Stopping Criteria Flag |
stopiters | int | 10 | Consecutively Number of Outer Iterations for convergence |
etol | float | 1e-6 | Absolute Tolerance for Equality constraints |
itol | float | 1e-6 | Absolute Tolerance for Inequality constraints |
atol | float | 1e-6 | Absolute Tolerance for Objective Function |
rtol | float | 1e-6 | Relative Tolerance for Objective Function |
prtoutiter | int | 0 | Number of Iterations Before Print Outer Loop Information |
prtinniter | int | 0 | Number of Iterations Before Print Inner Loop Information |
xinit | int | 0 | Initial Position Flag (0 - no position, 1 - position given) |
rinit | float | 1.0 | Initial Penalty Factor |
fileout | int | 1 | Flag to Turn On Output to filename |
filename | str | ‘ALHSO.out’ | Output File Name |
seed | float | 0 | Random Number Seed (0 - Auto-Seed based on time clock) |
scaling | int | 1 | Design Variables Scaling (0- no scaling, 1- scaling [-1,1]) |