A Python library for various optimization algorithms
Project description
MetaEvolv
MetaEvolv is a Python library that implements various evolutionary metaheuristic optimization algorithms, including ABC (Artificial Bee Colony), Clonalg (Clonal Selection Algorithm), DE (Differential Evolution), GA (Genetic Algorithm), and PSO (Particle Swarm Optimization).
Installation
To install the library:
pip install metaevolv
Implemented Algorithms
Artificial Bee Colony (ABC)
ABC is an optimization algorithm based on the foraging behavior of honeybees. It is used to find minima of an objective function.
Clonal Selection Algorithm (Clonalg)
Clonalg is an algorithm inspired by the clonal selection process of the immune system. It is used for function minimization.
Differential Evolution (DE)
DE is an evolutionary algorithm that optimizes continuous problems. It uses mutation and crossover operations to evolve a population of solutions.
Genetic Algorithm (GA)
GA is an algorithm inspired by the theory of natural evolution. It uses genetic operators like selection, crossover, and mutation to find optimal solutions.
Particle Swarm Optimization (PSO)
PSO is inspired by the behavior of bird flocks and fish schools. It optimizes an objective function by moving particles through the search space.
How to Use
To use any of the algorithms, you need to import the specific module and configure the algorithm with the desired parameters.
Example: Genetic Algorithm (GA)
Here is an example of how to use the Genetic Algorithm (GA) with MetaEvolv:
import numpy as np
from metaevolv.ga import GeneticAlgorithm, GAConfig
# Define your objective function
def objective_function(x: np.ndarray) -> float:
return np.sum(x**2)
# Configure the genetic algorithm
config = GAConfig(
bits=10,
dimensions=2,
n_population=50,
search_range=(-10.0, 10.0),
k=3,
cp=0.8,
mp=0.01,
max_iter=100,
selection_type='tournament',
crossover_type='one_point',
mutation_type='bit_by_bit',
pc_variation='constant',
cp_final=0.9
)
# Instantiate the genetic algorithm with the configuration
ga = GeneticAlgorithm(config, objective_function)
# Run the algorithm
ga.fit()
# Display the results
print(f"Best solution found: {ga.best_ind[-1]}")
print(f"Objective function value at the best solution: {ga.best_eval}")
License
This project is licensed under the terms of the MIT license.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file metaevolv-0.1.3.tar.gz
.
File metadata
- Download URL: metaevolv-0.1.3.tar.gz
- Upload date:
- Size: 12.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f711a6e3f18df2c6d0b40c5e85e404ead6f60e2734cc1e7e4507b9cd5ba65e84 |
|
MD5 | 374f17cb148bd651d4ee830d02ce6328 |
|
BLAKE2b-256 | 6348ed324f0eb860e348542bedd06388a5f15bad6161a23e255985bf69c161d9 |
File details
Details for the file metaevolv-0.1.3-py3-none-any.whl
.
File metadata
- Download URL: metaevolv-0.1.3-py3-none-any.whl
- Upload date:
- Size: 16.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61d9affecedb7d7e035c2ef9e3df70783a695ddc294947e355fa14f41ab9652a |
|
MD5 | 5977800edd9305b7102e7b380e89fa1b |
|
BLAKE2b-256 | 01e71e3efaed3bcce052c93eae68695825056dbd63b800bf4e22c7a075f0ab1d |