Features
========



Algorithms
-----------------------------

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

Basic algorithms
~~~~~~~~~~~~~~~~

- Artificial Bee Colony
- Bacterial Foraging Optimization
- Bat Algorithm
- Bees Algorithm
- Camel Algorithm
- Cat Swarm Optimization
- Clonal Selection Algorithm
- Coral Reefs Optimization Algorithm
- Cuckoo Search
- Differential Evolution
- Evolution Strategy
- Firefly Algorithm
- Fireworks Algorithm
- Fish School Search
- Flower Pollination Algorithm
- Forest Optimization Algorithm
- Genetic Algorithm
- Glowworm Swarm Optimization
- Gravitational Search Algorithm
- Grey Wolf Optimizer
- Harmony Search
- Harris Hawks Optimization
- 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: :mod:`niapy.algorithms.basic`.


Modified algorithms
~~~~~~~~~~~~~~~~~~~

- Hybrid Bat Algorithm
- Self-adaptive Differential Evolution
- Dynamic Population Size Self-adaptive Differential Evolution

Documentation for the modified algorithms can be found here: :mod:`niapy.algorithms.modified`.


Other algorithms
~~~~~~~~~~~~~~~~

- Anarchic Society Optimization
- Hill Climb algorithm
- Multiple Trajectory Search
- Nelder Mead Method
- Simulated Annealing

Documentation for the other algorithms can be found here: :mod:`niapy.algorithms.other`.


Functions
-----------------------------

NiaPy features more than 30 optimization test problems. Documentation for them can be found here: :mod:`niapy.problems`.

- Ackley
- Alpine
    - Alpine1
    - Alpine2
- Bent Cigar
- Chung Reynolds
- Cosine Mixture
- Csendes
- Discus
- Dixon-Price
- Elliptic
- Griewank
  - Expanded Griewank plus Rosenbrock
- Happy cat
- HGBat
- Katsuura
- Levy
- Michalewicz
- Perm
- Pintér
- Powell
- Qing
- Quintic
- Rastrigin
- Ridge
- Rosenbrock
- Salomon
- Schaffer
  - Schaffer N. 2
  - Schaffer N. 4
  - Expanded Schaffer
- Schumer Steiglitz
- Schwefel
    - Schwefel 2.21
    - Schwefel 2.22
    - Modified Schwefel
- Sphere
    - Sphere2 -> Sphere with different powers
    - Sphere3 -> Rotated hyper-ellipsoid
- Step
    - Step2
    - Step3
- Stepint
- Styblinski-Tang
- Sum Squares
- Trid
- Weierstrass
- Whitley
- Zakharov


Other features
--------------

- Using different termination conditions (function evaluations, number of iterations, cutoff value)
- Storing improvements during the evolutionary cycle
- Custom initialization of initial population
