Honeybee
An artificial bee colony implementation in Python
Installation
To install with pip
:
pip install honeybee
Usage
To use, first install the package as above, then define a function that you wish to optimize. This can be a simple mathematical formula, or something that calls a complicated model training routine. The important thing is that it depends on hyperparameters that can be passed to the function, and returns a fitness measure that will be maximized by the algorithm:
def my_func(**params):
""" Implements Rastrigin's function of two inputs. """
x = [v for v in params.values()]
return 20 + sum([a**2 - 10*cos(2*np.pi*a) for a in x])
Next define the ranges of parameters over which you wish to optimize:
params = {'x1': (-5.12, 5.12),
'x2': (-5.12, 5.12)}
Finally, initialize the colony and fit the objective function:
my_colony = Colony(my_func, params, num_bees=10)
my_colony.fit()