Features

Algorithms

NiaPy features more than 30 algorithms. They are categorized as basic, modified, and others.

Basic algorithms

  • Artificial bee colony algorithm

  • Bat algorithm

  • Camel algorithm

  • Cuckoo search

  • Differential evolution algorithm

  • Evolution Strategy

  • Firefly algorithm

  • Fireworks algorithm

  • Flower pollination algorithm

  • Forest optimization algorithm

  • Genetic algorithm

  • Glowworm Swarm Optimization

  • Grey wolf optimizer

  • Harmony Search Algorithm

  • Krill Herd Algorithm

  • Monarch butterfly optimization

  • Monkey King Evolution

  • Moth flame optimizer

  • Particle swarm optimization

  • Sine Cosine Algorithm

Documentation for the basic algorithms can be found here: NiaPy.algorithms.basic.

Modified algorithms

  • Hybrid bat algorithm

  • Self-adaptive differential evolution algorithm

  • Dynamic population size self-adaptive differential evolution algorithm

Documentation for the modified algorithms can be found here: NiaPy.algorithms.modified.

Other algorithms

  • Anarchic society optimization

  • Hill climb algorithm

  • Multiple trajectory search

  • Nelder mead method

  • Simulated annealing algorithm

Documentation for the other algorithms can be found here: NiaPy.algorithms.other.

Functions

NiaPy features more than 30 benchmark functions. Documentation for them can be found here: NiaPy.benchmarks.

  • Ackley

  • Alpine - Alpine1 - Alpine2

  • Bent Cigar

  • Chung Reynolds

  • Csendes

  • Discus

  • Dixon-Price

  • Elliptic

  • Griewank

  • Happy cat

  • HGBat

  • Katsuura

  • Levy

  • Michalewicz

  • Perm

  • Pintér

  • Powell

  • Qing

  • Quintic

  • Rastrigin

  • Ridge

  • Rosenbrock

  • Salomon

  • Schumer Steiglitz

  • Schwefel - Schwefel 2.21 - Schwefel 2.22

  • Sphere - Sphere2 -> Sphere with different powers - Sphere3 -> Rotated hyper-ellipsoid

  • Step - Step2 - Step3

  • Stepint

  • Styblinski-Tang

  • Sum Squares

  • Trid

  • Weierstrass

  • Whitley

  • Zakharov

Other examples:

  • Using different termination conditions (nFES, nGEN, reference value)

  • Basic statistics example (min, max, mean, median, std)

  • Storing improvements during the evolutionary cycle

  • Custom initialization of initial population