The Particle Swarm Optimisation (PSO) algorithm was inspired by the social and biological behaviour of bird flocks searching for food sources. In this nature-based algorithm, individuals are referred to as particles and fly through the search space seeking for the global best position that minimises (or maximises) a given problem. Today, PSO is one of the most well-known and widely used swarm intelligence algorithms and metaheuristic techniques, because of its simplicity and ability to be used in a wide range of applications. However, in-depth studies of the algorithm have led to the detection and identification of a number of problems with it, especially convergence problems and performance issues. Consequently, a myriad of variants, enhancements and extensions to the original version of the algorithm, developed and introduced in the mid-1990s, have been proposed, especially in the last two decades. In this article, a systematic literature review about those variants and improvements is made, which also covers the hybridisation and parallelisation of the algorithm and its extensions to other classes of optimisation problems, taking into consideration the most important ones. These approaches and improvements are appropriately summarised, organised and presented, in order to allow and facilitate the identification of the most appropriate PSO variant for a particular application.
2 August 2016 in Physics and Chemistry of the Earth, Parts A/B/C
Finding arbitrary roots of polynomials is a fundamental problem in various areas of science and engineering. A myriad of methods was suggested to address this problem, such as the sequential Newton’s method and the Durand–Kerner (D–K) simultaneous iterative method. The sequential iterative methods, on the one hand, need to use a deflation procedure in order to compute approximations to all the roots of a given polynomial, which can produce inaccurate results due to the accumulation of rounding errors. On the other hand, the simultaneous iterative methods require good initial guesses to converge. However, Artificial Neural Networks (ANNs) are widely known by their capacity to find complex mappings between the dependent and independent variables. In view of this, this paper aims to determine, based on comparative results, whether ANNs can be used to compute approximations to the real and complex roots of a given polynomial, as an alternative to simultaneous iterative algorithms like the D–K method. Although the results are very encouraging and demonstrate the viability and potentiality of the suggested approach, the ANNs were not able to surpass the accuracy of the D–K method. The results indicated, however, that the use of the approximations computed by the ANNs as the initial guesses for the D–K method can be beneficial to the accuracy of this method.
There are many simultaneous iterative methods for approximating complex polynomial zeros, from more traditional numerical algorithms, such as the well-known third order Ehrlich–Aberth method, to the more recent ones. In this paper, we present a new family of combined iterative methods for the simultaneous determination of simple complex zeros of a polynomial, which uses the Ehrlich iteration and a correction based on King's family of iterative methods for nonlinear equations. The use of King's correction allows increasing the convergence order of the basic method from three to six. Some numerical examples are given to illustrate the convergence behaviour and effectiveness of the proposed sixth order Ehrlich-like family of combined iterative methods for the simultaneous approximation of simple complex polynomial zeros.
This paper presents a novel Graphics Processing Unit (GPU) accelerated implementation of a modified Particle Swarm Optimization (PSO) algorithm specifically designed to solve large-scale Systems of Nonlinear Equations (SNEs). The proposed GPU-based parallel version of the PSO algorithm uses the inherent parallelism of modern hardware architectures. Its performance is compared against both sequential and multithreaded Central Processing Unit (CPU) implementations. The primary objective is to evaluate the efficiency and scalability of PSO across different hardware platforms with a focus on solving large-scale SNEs involving thousands of equations and variables. The GPU-parallelized and multithreaded versions of the algorithm were implemented in the Julia programming language. Performance analyses were conducted on an NVIDIA A100 GPU and an AMD EPYC 7643 CPU. The tests utilized a set of challenging, scalable SNEs with dimensions ranging from 1000 to 5000. Results demonstrate that the GPU accelerated modified PSO substantially outperforms its CPU counterparts, achieving substantial speedups and consistently surpassing the highly optimized multithreaded CPU implementation in terms of computation time and scalability as the problem size increases. Therefore, this work evaluates the trade-offs between different hardware platforms and underscores the potential of GPU-based parallelism for accelerating SNE solvers.
This paper presents a GPU-based massively parallel implementation of the Best- Worst-Play (BWP) metaphor-less optimization algorithm, which results from the combination of two other simple and quite efficient population-based algorithms, Jaya and Rao-l, that have been used to solve a variety of prob-lems. The proposed parallel GPU version of the algorithm is here used for solving large nonlinear equation systems, which have enormous importance in different areas of science, engineering, and economics and are usually considered the most difficult class of problems to solve by traditional numerical methods. The proposed parallelization of the BWP algorithm was implemented using the Julia programming language on a GeForce RTX 3090 GPU with 10496 CUDA cores and 24 GB of VRAM and tested on a set of challenging scalable systems of nonlinear equations with dimensions between 500 and 2000. Depending on the tested problem and dimension, the GPU-based implementation of BWP exhibited a speedup up to $283.17\times$ , with an average of $161.21\times$ , which shows the efficiency of the proposed G PU - based parallel version of the BWP algorithm.