High-level Parallel Implementation of Swarm Intelligence-based Optimization Algorithms with Algorithmic Skeletons
Wrede Fabian, Menezes Breno, Pessoa Luis F., Hellingrath Bernd, Buarque Fernando, Kuchen Herbert
Swarm Intelligence (SI)-based metaheuristics are frequently used to solve complex optimization problems, which are too hard to be solved by classic exact algorithms. Inspired by nature, SI particles move through a search space in pursuit of good solutions. Even using SI, solving some large problems still takes a lot of time, e.g., due to the high number of dimensions and large search spaces. In order to overcome this, parallel implementations of SI algorithms have been investigated. They are typically based on low-level approaches for parallelism, such as MPI, OpenMP, and CUDA, which are tedious and error-prone to use. To overcome these issues, frameworks for high-level parallel programming such as the Muenster Skeleton Library (Muesli) can be used. We show how two SI algorithms, namely PSO and FSS, can be implemented in Muesli easily. Experimental results demonstrate the obtained performance and good scalability.
high-level parallel programming; algorithmic skeletons; swarm intelligence metaheuristics; particle swarm optimization; fish school search