Elsevier Science Home
Computer Physics Communications Program Library
Full text online from Science Direct
Programs in Physics & Physical Chemistry
CPC Home

[Licence| Download | New Version Template] aexj_v1_0.tar.gz(138 Kbytes)
Manuscript Title: p-MEMPSODE: Parallel and Irregular Memetic Global Optimization
Authors: C. Voglis, P.E Hadjidoukas, K.E. Parsopoulos, D.G. Papageorgiou, I.E. Lagaris, M.N. Vrahatis
Program title: p-MEMPSODE
Catalogue identifier: AEXJ_v1_0
Distribution format: tar.gz
Journal reference: Comput. Phys. Commun. 197(2015)190
Programming language: ANSI C.
Computer: Workstation.
Operating system: Developed under the Linux operating system using the GNU compilers v.4.4.3 (or higher). Uses the OpenMP API and runtime system.
RAM: The code uses O(n x N) internal storage, n being the dimension of the problem and N the maximum population size. The required memory is dynamically allocated.
Word size: 64
Keywords: Global Optimization, Memetic Algorithms, Particle Swarm Optimization, Differential Evolution, Local Search, OpenMP.
PACS: 02.60.Pn.
Classification: 4.9.

Nature of problem:
Numerical global optimization of real valued functions is an indispensable methodology for solving a multitude of problems in science and engineering. Many problems exhibit a number of local and/or global minimizers, expensive function evaluations or require real-time response. In addition, discontinuities of the objective function, non-smooth and deceitful landscapes constitute challenging obstacles for most optimization algorithms.

Solution method:
We implement a memetic global optimization algorithm that combines stochastic, population-based methods with deterministic local search procedures. More specifically, the Unified Particle Swarm Optimization and the Differential Evolution algorithms are harnessed with the derivative-free Torczon's Multi-Directional Search and the gradient-based BFGS method. The produced hybrid algorithms possess inherent parallelism that is exploited efficiently by means of the OpenMP tasking model. Given the same random seed, the proposed implementation reaches the same solution irrespective of being executed sequentially or in parallel.

The current version of the software uses only double precision arithmetic. An OpenMP-enabled (version 3.0 or higher) compiler is required.

Unusual features:
The software requires bound constraints on the optimization variables.

Running time:
The running time depends on the complexity of the objective function (and its derivatives if used) as well as on the number of available cores. Extensive experimental results demonstrate that the speedup closely approximates ideal values.