MEALPY
MEALPY [1] is a Python library for the most of cutting-edge population meta-heuristic algorithms - a field which provides an fast and efficient way to find the global optimal point of mathematical optimization problems.
The MEALPY library has been integrated into numgeo-ACT in such a way that it is very easy to access different algorithms for optimization via a simple interface. To access this interface, the MEALPY module must first be imported from numgeo-ACT:
import ACT.mealpy as ACTmealpy
Then (after some more steps to read in the experimental data and choose the constitutive model and the weighting factors) the calibration of the constitutive model parameters can be started via the following interface:
...
ACTmealpy.optimize(maxiter=300, n_cpu=32, method='DifferentialEvolution')
The interface has five optional arguments:
maxiter
: Maximum number of iterations to be performed before the optimization stops, default ismaxiter=200
.exit_iter
: Early stoppage criterion. If the global best solution not better an epsilon afterexit_iter
iterations then stop the optimization. Default isexit_iter=30
popsize
: Population size defined as the next power to two ofN*popsize
, whereN
is the dimensionality of the problem (= number of parameters of the constitutive model to be optimized). Default ispopsize=15
.method
: Optimization algorithm to be used. Currently the following algorithms are:ArithmeticOptimization
, see Arithmetic OptimizationCrossEntropy
, see Cross-Entropy MethodDifferentialEvolution
, see Differential EvolutionDifferentialEvolution-JADE
, see Differential Evolution - JADEDifferentialEvolution-LSHADE
, see Differential Evolution - LSHADEGeneticAlgorithm
, see Genetic AlgorithmGradientBased
, see Gradient Based OptimizationParticleSwarmOptimization-CL
, see Particle Swarm Optimization - Comprehensive LearningParticleSwarmOptimization-TVAC
, see Particle Swarm Optimization Hierarchical Time-Varying Acceleration
References
[1] N. V. Thieu and S. Mirjalili, ‘MEALPY: a framework of the state-of-the-art meta-heuristic algorithms in python’. Zenodo, Jun. 2022. doi: 10.5281/zenodo.6684223.