Abstract
This paper presents a novel parallel Differential Evolution (DE) algorithm with local search for solving function optimization problems, utilizing graphics hardware acceleration. As a population-based meta-heuristic, DE was originally designed for continuous function optimization. Graphics Processing Units (GPU) computing is an emerging desktop parallel computing technology that is becoming popular with its wide availability in many personal computers. In this paper, the classical DE was adapted in the data-parallel CPU-GPU heterogeneous computing platform featuring Single Instruction-Multiple Thread (SIMT) execution. The global optimal search of the DE was enhanced by the classical local Pattern Search (PS) method. The hybrid DE–PS method was implemented in the GPU environment and compared to a similar implementation in the common computing environment with a Central Processing Unit (CPU). Computational results indicate that the GPU-accelerated SIMT-DE-PS method is orders of magnitude faster than the corresponding CPU implementation. The main contribution of this paper is the parallelization analysis and performance analysis of the hybrid DE–PS with GPU acceleration. The research results demonstrate a promising direction for high speed optimization with desktop parallel computing on a personal computer.
Similar content being viewed by others
Abbreviations
- \({x_t^g }\) :
-
A solution vector with index t at generation g
- \({v_t^g }\) :
-
Mutant vector for a vector with index t at DE generation g
- \({u_t^g }\) :
-
Trial vector for a vector with index t at DE generation g
- F :
-
Mutant constant in DE
- \({f(x_t^g )}\) :
-
Solution cost for a vector with index t at DE generation g
- c(x t ):
-
Bound constraints for a vector with index t, x min ≤ x t ≤ x max
- \({e_j^+ ,e_j^- }\) :
-
The positive and negative unit directional vector in PS
- Δk :
-
Step size in PS
- Δ0 :
-
Initial step size in PS
- Δmin :
-
Minimal step size in PS
- i :
-
Index of problem dimensions, i = 0, 1, ..., n − 1, where n is the problem dimension
- t :
-
Index of vectors, t = 0, 1, ..., T − 1, where T is the number of vectors (threads)
- r1, r2, r3, r4:
-
Indices of randomly selected vectors
- j :
-
Index of the unit coordinate axes in PS, j = 0, 1, ..., n − 1
- g :
-
Current DE generation, g = 0, 1, ..., G − 1, where G is the number of generations
- k :
-
Current PS iteration, k = 0, 1, ..., K − 1, where K is the number of iterations
References
Audet C., Dennis J.E. Jr: Analysis of generalized pattern searches. SIAM J. Optim. 13, 889–903 (2003)
Back T., Fogel D.B., Michaelwicz Z. (eds) : Handbook of Evolutionary Computation. Oxford University Press, New York (1997)
Fan S.-K., Zahara S.: A hybrid simplex search and particle swarm optimization for unconstrained optimization. Eur. J. Oper. Res. 181, 527–548 (2007)
Hart W.E.: Locally-adaptive and memetic evolutionary pattern search algorithms. Evol. Comput. 11, 29–52 (2003)
Kolda T.G.: Revisiting asynchronous parallel pattern search for nonlinear optimization. SIAM J. Optim. 16(2), 563–586 (2005)
Lampinen J.: Differential evolution—new naturally parallel approach for engineering design optimization. In: Topping, Barry H.V. (eds) Developments in Computational Mechanics with High Performance Computing, pp. 217–228. Civil-Comp Press, Edinburgh (1999)
Matsumoto, M., Nishimura, T.: Mersenne Twister: A 623-dimensionally equidistributed uniform pseudorandom number generator. http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/ARTICLES/mt.pdf (2010). Accessed 29 July 2010
Nguyen, H. (eds): GPU Gems 3. Addison-Wesley, New York (2007)
nVidia, CUDA Programming Guide: http://www.nvidia.com/object/cuda_get.html (2010). Accessed 29 July 2010
Price, K., Rainer, S., Lampinen, J.: Differential Evolution. Springer, ISBN: 978-3-540-20950-8 (2005)
Salomon, M.: Parallelisation de l’evolution differentielle pour le recalage rigide d’images mdeicales volumiques, RenPar’2000, Besancon (2000)
Storn, R., Price, K.: Differential Evolution—a Simple and Efficient Adaptive Scheme for Global Optimization over Continuous Spaces, Technical Report TR-95-012, ICSI. ftp://ftp.icsi.berkeley.edu/pub/techreports/1995/tr-95-012.pdf (1995). Accessed 29 July 2010
Tasoulis, D.K., Pavlidis, N.G., Plagianakos, V.P., Vrahatis, M.N.: Parallel differential evolution. In: IEEE Congress on Evolutionary Computation, Portland, Oregon. http://www.math.upatras.gr/~dtas/papers/TasoulisPPV2004.pdf (2004). Accessed 14 June 2010
Tomassini M.: Parallel and distributed evolutionary algorithms: a review in evolutionary algorithms. In: Miettinen, K., Mkel, M., Neittaanmki, P., Periaux, J. (eds) Engineering and Computer Science, pp. 113–133. Wiley, Chichester (1999)
Torczon V.: On the convergence of pattern search algorithms. SIAM J. Optima. 7, 1–25 (1997)
Vaz A.I.F., Vicente L.N.: A particle swarm pattern search method for bound constrained global optimization. J. Glob. Optim. 39(2), 197–219 (2007)
Voudouris C., Tsang E.: Guided local search. Eur. J. Oper. Res. 113(2), 469–499 (1999)
Zaharie, D., Petcu, D.: Parallel implementation of multi-population differential evolution. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.107.7530&rep=rep1&type=pdf (2004). Accessed 29 July 2010
Zhu W., Curry J., Marquez A.: SIMT Tabu search with graphics hardware acceleration on the quadratic assignment problem. Int. J. Prod. Res. 48(4), 1035–1047 (2010)
Zhu, W., Curry, J.: Particle swarm with graphics hardware acceleration and local pattern search on the bound constrained problems. In: IEEE Symposium Series on Computational Intelligence. Nashville, TN, Mar 30 to Apr 2, 2009
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Zhu, W. Massively parallel differential evolution—pattern search optimization with graphics hardware acceleration: an investigation on bound constrained optimization problems. J Glob Optim 50, 417–437 (2011). https://doi.org/10.1007/s10898-010-9590-0
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10898-010-9590-0