Releases: thieu1995/mealpy
Releases · thieu1995/mealpy
v3.0.3
General Updates
- Updated project configuration files:
setup.py,requirements.txt, andMANIFEST.in. - Restructured
READMEfor better clarity. - Updated
examplesanddocswith new usage guides. - Changed license from GPL GNU v3 to MIT.
Bug Fixes
- Fixed
n_workersbug in theOptimizerclass. - Fixed bug in parallel mode when passing
starting_positionsinOptimizer. - Fixed incorrect handling of
fitnessaspositioninAOclass.
New Features
1. New Algorithm Categories
sota_basedgroup: A new category for state-of-the-art algorithms from CEC competitions.- Added
LSHADEcnEpSin(OriginalLSHADEcnEpSinclass). - Added
IMOTE(OriginalIMOTEclass).
- Added
2. New Modules
- Added
chaoticmodule. - Added
fuzzymodule.
3. Swarm-Based Algorithms
- Grey Wolf Optimizer (GWO) module: Added multiple variants:
GWO_WOA,IGWO,ChaoticGWO,FuzzyGWO,IncrementalGWO,ExGWO,
DS_GWO,IOBL_GWO,OGWO,ER_GWO,CG_GWO.
- Aquila Optimizer (AO) module:
- Added Adaptive Aquila Optimizer (AAO).
- Added new standalone algorithms:
- Emperor Penguins Colony (EPC).
- Spider Monkey Optimization (SMO).
- Squirrel Search Algorithm (SquirrelSA).
- Fitness Dependent Optimizer (FDO) (
FDOmodule).
4. Physics-Based Algorithms
- Added Electrical Storm Optimization (ESO) module with
OriginalESOclass.
5. Human-Based Algorithms
- Added Ali Baba and the Forty Thieves (AFT) (
AFTmodule). - Added Child Drawing Development Optimization (CCDO) (
CCDOmodule).
✅ This release focuses on:
- Expanding algorithm coverage (swarm-based, physics-based, human-based, and sota-based groups).
- Improving documentation and examples.
- Fixing critical bugs in the optimizer core.
- Transitioning license to MIT for broader usage.
v3.0.2
- Fix bug infinite loop in
JADE,OriginalSHADE, andL_SHADEoptimizers. - Fig bug check input conditions in
Validatorclass. - Fig bug set up init function in
Problemclass. - Fix bug in
get_roulette_wheel_selection_index()function inOptimizerclass. - Fix bug counting number of function evaluation in
Optimizerclass. - Fix bug divide by zero in
FLA,BeesA,DMOA,ESOA,FA,SSpiderO,GCO,MRFO, andAVOA. - Fix bug compare
np.allinNRO. - Fix bug random number verse random vector in
MFO. - Fix bug epoch in
MGO. - Fix bug parallelization in
CL-PSO. - Fix bug compare fitness with Agent in
Agentclass. - Replace
MixSetVarbyCategoricalVarinspacemodule. - Add
SequenceVartospacemodule for handling tuple, list, and set variables. - Update
get_optimizer_by_class()andget_optimizer_by_name()functions inmealpymodule to support new classes. - Fix bug lower bound in
TransferBinaryVarandTransferBoolVarclasses. - Fix bug out of range for choice in
GSKAoptimizer. - Update example comment in
IWO,SBO,SMA,SA,GTO,GWO,HGSoptimizers. - Update docs and examples.
v3.0.1
- Add transfer function module (please read this paper )
- Add two new datatypes:
TransferBinaryVarandTransferBoolVar. - Fix bug un-order variables in
PermutationVardata type. - Update data type of encoded solution in
BoolVardata type. - Update correct function in
BoolVarandBinaryVar. - Fix bug reproduce results in
GA,WCA, andEHOoptimizers. - Fix bug higher probability of 0 value in
IntegerVardata type.
v3.0.0
Based on our new proposed classes, solving continuous and discrete problems is never that easy.
Add
spacemodule with: FloatVar, IntegerVar, StringVar, BoolVar, PermutationVar, BinaryVar, and MixedSetVar classes- FloatVar: handle problem with solution's format as float value
- IntegerVar: handle problem with solution's format as integer value
- StringVar: handle problem with solution's format as string value
- BoolVar: handle problem with solution's format as boolean value (True or False)
- PermutationVar: handle problem with solution's format as permutation value
- BinaryVar: handle problem with solution's format as binary value (0 or 1)
- MixedSetVar: handle problem with solution's format as mixed discrete set
targetmodule with Target class contains:objectives(list),weights(list) to calculate fitness, andfitness(number)
agentmodule with: Agentte class that is a placeholder for a search agent, it contains at least two attributes:solution(position - np.ndarray), and atargetobject
Update
- Convert all optimizers to use new classes
- Convert Tuner and MultiTask classes
- Rename all un-official (developed by our team) optimizers to
DevOptimizerName - Update tests and documents
- Update some examples, not all examples have converted yet (utils and applications folders)
v2.5.4
- Remove deepcopy() to improve the computational speed
- Update the parameter's order in Tuner class
- Update the saving's bug when using Termination in Multitask
- Remove ILA optimizer
- Rename "amend_position()" definition in some algorithms to "bounded_position()".
- Add a "amend_position()" function in Optimizer class. This function will call two functions.
- bounded_position() from optimizer. This means for optimizer level (get in valid range of position)
- amend_position() from problem. This means for problem level (transform to the correct solution)
- Fix bugs coefficients in GWO-based optimizers.
- Fig bug self.epoch in SCSO optimizer.
- Fix bug self.dyn_pop_size when pop_size is small value
- Move SHADE-based optimizers from DE to SHADE module in evolutionary_based group
- Add Improved Grey Wolf Optimization (IGWO) in GWO algorithm
- Add Tabu Search (TS) to math-based group
- Add get_all_optimizers() and get_optimizer_by_name() in Mealpy
- Rename the OriginalSA to SwarmSA in SA optimizer
- Add the OriginalSA and GaussianSA in SA optimizer
- Update parameters in OriginalHC and SwarmHC
- Update ParameterGrid class to produce the dict with same order as original input
- Add export_figures() to Tuner class. It can draw the hyperparameter tuning process.
- Fix several bugs in docs folders.
v2.5.4-alpha.6
- Fix bug self.dyn_pop_size when pop_size is small value
- Move SHADE-based optimizers from DE to SHADE module in evolutionary_based group
- Add Improved Grey Wolf Optimization (IGWO) in GWO algorithm
- Add Tabu Search (TS) to math-based group
- Add get_all_optimizers() and get_optimizer_by_name() in Mealpy
v2.5.4-alpha.5
- Fig bug self.epoch in SCSO optimizer.
v2.5.4-alpha.4
- Update documents for MultiTask
- Fix bugs coefficients in GWO-based optimizers.
v2.5.4-alpha.3
Release new alpha version
v2.5.4-alpha.2
- Update the parameter's order in Tuner class
- Update the saving's bug when using Termination in Multitask
- Remove ILA optimizer
- Rename "amend_position()" definition in some algorithms to "bounded_position()".
- Add a "amend_position()" function in Optimizer class. This function will call two functions.
- bounded_position() from optimizer. This means for optimizer level (get in valid range of position)
- amend_position() from problem. This means for problem level (transform to the correct solution)