Table of Contents
ParticleSwarmOptimization-openMPI provides an basic implementation of PSO with support for cluster computation through OpenMPI, moreover it uses OpenMP for thread parallelization.
| Long report | Short report | Presentation |
|---|---|---|
| Sphere | Easom | Ackley |
|---|---|---|
![]() |
![]() |
![]() |
makemake docker-buildwith optional argument DOCKER_TAG
make DOCKER_TAG=mytag docker-buildnix build .
make cluster-pull./bin/particle-swarm-optimization pso-data.inior
mpirun -n <processesNumber ./bin/particle-swarm-optimization -u pso-data.inifor optional arguments please execute ./bin/particle-swarm-optimization --help.
Number of runs should be specified directly inside this script
make cluster-runmake reportor
nix build .#reportIf you have installed nix package manager
nix shellotherwise dependencies are described below.
Build:
- OpenMPI
- sqlite C library
- make
- pkg-config
- OpenMP
Python dependencies for jupyter analysis:
- numpy
- jupyterlab or jupyter notebook
- pandas
- matplotlib
Documentation and report generation:
- pandoc
- doxygen
- latex with following packages:
- adjustbox
- babel-german
- background
- bidi
- collectbox
- csquotes
- everypage
- filehook
- footmisc
- footnotebackref
- framed
- fvextra
- letltxmacro
- ly1
- mdframed
- mweights
- needspace
- pagecolor
- sourcecodepro
- sourcesanspro
- titling
- ucharcat
- ulem
- unicode-math
- upquote
- xecjk
- xurl
- zref


