Skip to main content

Bat algorithm implementation

# Bat Algorithm in Python

## Objective

The main objective is to create an implementation of bat algorithm in Python programming language.

## Installation

``````pip install BatAlgorithm
``````

### Example

The following example presents a simple use of bat algorithm. `Fun()` denotes the objective function that may be changed by the user. Control parameters should be defined within `BatAlgorithm()` constructor. Order of parameters is as follows: `BatAlgorithm(D, NP, N_Gen, A, r, Qmin, Qmax, Lower, Upper, function)` where:

• `D` denotes dimension of the problem,
• `NP` denotes population size,
• `N_Gen` denotes number of generations (iterations),
• `A` parameter denotes loudness,
• `r` parameter denotes pulse rate,
• `Qmin` parameter denotes frequency minimum,
• `Qmax` parameter denotes frequency maximum,
• `Lower` denotes lower bound,
• `Upper` denotes upper bound and
• `function` passes objective function.

## CODE EXAMPLE:

```import random
from BatAlgorithm import *

def Fun(D, sol):
val = 0.0
for i in range(D):
val = val + sol[i] * sol[i]
return val

# For reproducive results
#random.seed(5)

for i in range(10):
Algorithm = BatAlgorithm(10, 40, 1000, 0.5, 0.5, 0.0, 2.0, -10.0, 10.0, Fun)
Algorithm.move_bat()
```

## Bugs

Bugs and extension should be send via Github.

## Authors

Iztok Fister Jr. and Marko Burjek

## References

Yang, X.-S. "A new metaheuristic bat-inspired algorithm." Nature inspired cooperative strategies for optimization (NICSO 2010). Springer Berlin Heidelberg, 2010. 65-74.

Fister, I. Jr., Fister, I., Yang, X.-S., Fong, S., Zhuang, Y. "Bat algorithm: Recent advances." IEEE 15th International Symposium on Computational Intelligence and Informatics (CINTI), IEEE, 2014. 163-167.

## Release history Release notifications | RSS feed

This version 0.3.1 0.3 0.2 0.1

## Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for BatAlgorithm, version 0.3.1
Filename, size File type Python version Upload date Hashes
Filename, size BatAlgorithm-0.3.1.tar.gz (3.0 kB) File type Source Python version None Upload date Hashes