Abstract
Evolutionary multi-objective optimization algorithms aim at finding an approximation of the Pareto set. For hard to solve problems with many conflicting objectives, the number of functions evaluations to represent the Pareto front can be large and time consuming. Parallel computing can reduce the wall-clock time of such algorithms. Previous studies tackled the parallelization of a particular evolutionary algorithm. In this research, we focus on improving one of the most time consuming procedures—the non-dominated sorting—, which is used in the state-of-the-art multi-objective genetic algorithms. Here, three parallel versions of the non-dominated sorting procedure are developed: (1) a multicore (based on Pthreads); (2) a Graphic Processing Unit (GPU) (based on CUDA interface); and (3) a hybrid (based on Pthreads and CUDA). The user can select the most suitable option to efficiently compute the non-dominated sorting procedure depending on the available hardware. Results show that the use of GPU computing provides a substantial improvement in terms of performance. The hybrid approach has the best performance when a good load balance is established among cores and GPU.
Similar content being viewed by others
Notes
References
Aguirre, H., Oyama, A., Tanaka, K.: Adaptive \(\varepsilon \)-sampling and \(\varepsilon \)-hood for evolutionary many-objective optimization. In: Evolutionary Multi-Criterion Optimization, LNCS, vol. 7811, pp. 322–336. Springer Berlin (2013)
Arrondo, A., Redondo, J., Fernández, J., Ortigosa, P.: Parallelization of a non-linear multi-objective optimization algorithm: application to a location problem. Appl. Math. Comput. 255, 114–124 (2015)
Butenhof, D.: Programming with POSIX Threads. Professional Computing Series. Addison-Wesley, Boston (1997)
Cook, S.: CUDA Programming: A Developer’s Guide to Parallel Computing with GPUs, 1st edn. Morgan Kaufmann Publishers Inc., San Francisco (2013)
Corne, D.W., Jerram, N.R., Knowles, J.D., Oates, M.J.: PESA-II: Region-based selection in evolutionary multiobjective optimization. In: GECCO, pp. 283–290 (2001)
Deb, K.: An efficient constraint handling method for genetic algorithms. Comput. Method Appl. M. 186(2), 311–338 (2000)
Deb, K., Pratap, A., Agarwal, S., Meyarivan, T.: A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE T. Evolut. Comput. 6(2), 182–197 (2002)
Deb, K., Sundar, J., Udaya Bhaskara Rao, N., Chaudhuri, S.: Reference point based multi-objective optimization using evolutionary algorithms. Int. J. Comput. Intell. Res. 2(3), 273–286 (2006)
Deb, K., Thiele, L., Laumanns, M., Zitzler, E.: Scalable multi-objective optimization test problems. In: CEC, vol. 1, pp. 825–830 (2002)
Deb, K., Tiwari, S.: Omni-optimizer: a procedure for single and multi-objective optimization. In: Evolutionary Multi-Criterion Optimization, pp. 47–61. Springer Berlin (2005)
Du, J., Cai, Z.: A sorting based algorithm for finding a non-dominated set in multi-objective optimization. In: ICNC, vol. 4, pp. 436–440. IEEE (2007)
Fang, H., Wang, Q., Tu, Y.C., Horstemeyer, M.F.: An efficient non-dominated sorting method for evolutionary algorithms. Evol. Comput. 16(3), 355–384 (2008)
Filatovas, E., Kurasova, O., Sindhya, K.: Reference point based multi-objective optimization using evolutionary algorithms. Informatica 26(1), 33–50 (2015)
Fonseca, C.M., Fleming, P.J., et al.: Genetic algorithms for multiobjective optimization: Formulationdiscussion and generalization. In: ICGA, vol. 93, pp. 416–423. Morgan Kaufmann Publishers Inc., San Francisco (1993)
Gupta, S., Tan, G.: A scalable parallel implementation of Evolutionary Algorithms for Multi-Objective optimization on GPUs. In: CEC, pp. 1567–1574. IEEE (2015)
Hennessy, J., Patterson, D.: Computer Architecture - A Quantitative Approach, 5th edn. Morgan Kaufmann, Burlington (2012)
Huband, S., Hingston, P., Barone, L., While, L.: A review of multiobjective test problems and a scalable test problem toolkit. IEEE T. Evolut. Comput. 10(5), 477–506 (2006)
Ishibuchi, H., Sakane, Y., Tsukamoto, N., Nojima, Y.: Evolutionary many-objective optimization by NSGA-II and MOEA/D with large populations. In: IEE SMC, pp. 1758–1763. IEEE (2009)
Jensen, M.T.: Reducing the run-time complexity of multiobjective EAs: The NSGA-II and other algorithms. IEEE T. Evolut. Comput. 7(5), 503–515 (2003)
Knowles, J.D., Corne, D.W.: Approximating the non-dominated front using the Pareto archived evolution strategy. Evol. Comput. 8(2), 149–172 (2000)
Lančinskas, A., Żilinskas, J.: Solution of multi-objective competitive facility location problems using parallel NSGA-II on large scale computing systems. In: PARA, pp. 422–433. Springer Berlin (2013)
Laumanns, M., Thiele, L., Deb, K., Zitzler, E.: Combining convergence and diversity in evolutionary multiobjective optimization. Evol. Comput. 10(3), 263–282 (2002)
McClymont, K., Keedwell, E.: Deductive sort and climbing sort: New methods for non-dominated sorting. Evol. Comput. 20(1), 1–26 (2012)
Miettinen, K.: Nonlinear Multiobjective Optimization. Springer, Berlin (1999)
Munshi, A., Gaster, B., Mattson, T.G., Fung, J., Ginsburg, D.: OpenCL Programming Guide, 1st edn. Addison-Wesley Professional, Boston (2011)
NVIDIA Corporation: CUDA C PROGRAMMING GUIDE PG-02829-001_v7.5 (2015). http://docs.nvidia.com/cuda/pdf/CUDA_C_Programming_Guide
Ortega, G., Lobera, J., García, I., Arroyo, M.P., Garzón, E.M.: Parallel resolution of the 3D Helmholtz equation based on multi-graphics processing unit clusters. Concurrency-Pract. Ex. 27(13), 3205–3219 (2015)
Sharma, D., Collet, P.: GPGPU-compatible archive based stochastic ranking evolutionary algorithm (g-asrea) for multi-objective optimization. In: Parallel Problem Solving from Nature, PPSN XI, pp. 111–120. Springer Berlin (2010)
Sharma, D., Collet, P.: Implementation techniques for massively parallel multi-objective optimization. In: Massively Parallel Evolutionary Computation on GPGPUs, pp. 267–286. Springer Berlin (2013)
Shi, C., Chen, M., Shi, Z.: A fast nondominated sorting algorithm. In: ICNN, vol. 3, pp. 1605–1610. IEEE (2005)
Smutnicki, C., Rudy, J., Żelazny, D.: Very fast non-dominated sorting. Decis. Mak. in Manuf. and Serv. 8(1–2), 13–23 (2014)
Srinivas, N., Deb, K.: Multiobjective optimization using non-dominated sorting in genetic algorithms. Evol. Comput. 2(3), 221–248 (1994)
Suh, J.W., Kim, Y.: Accelerating MATLAB with GPU Computing: A Primer with Examples, 1st edn. Morgan Kaufmann Publishers Inc., San Francisco (2013)
Tang, S., Cai, Z., Zheng, J.: A fast method of constructing the non-dominated set: Arena’s principle. In: ICNC, vol. 1, pp. 391–395 (2008)
Wong, M.L.: Parallel multi-objective evolutionary algorithms on graphics processing units. In: GECCO, pp. 2515–2522. ACM (2009)
Zhang, Q., Li, H.: Moea/d: A multiobjective evolutionary algorithm based on decomposition. IEEE T. Evolut. Comput. 11(6), 712–731 (2007)
Zhang, X., Ye, T., Cheng, R., Jin, Y.: An efficient approach to non-dominated sorting for evolutionary multi-objective optimization. IEEE T. Evolut. Comput. 19(2) (2012)
Zheng, J., Ling, C.X., Shi, Z., Xie, Y.: Some discussions about mogas: Individual relations, non-dominated set, and application on automatic negotiation. In: CEC, vol. 1, pp. 706–712. IEEE (2004)
Zitzler, E., Künzli, S.: Indicator-based selection in multiobjective search. In: Parallel Problem Solving from Nature-PPSN VIII, pp. 832–842. Springer (2004)
Zitzler, E., Laumanns, M., Thiele, L.: SPEA2: Improving the Strength Pareto Evolutionary Algorithm. Tech. Rep. 103, Computer Engineering and Networks Laboratory (TIK), ETH Zurich, Zurich (2001)
Author information
Authors and Affiliations
Corresponding author
Additional information
This work has been partially supported by the Spanish Ministry of Science throughout Project TIN15-66680, by J. Andalucía through Projects P12-TIC-301 and P11-TIC7176, and by the European Regional Development Fund (ERDF).
Rights and permissions
About this article
Cite this article
Ortega, G., Filatovas, E., Garzón, E.M. et al. Non-dominated sorting procedure for Pareto dominance ranking on multicore CPU and/or GPU. J Glob Optim 69, 607–627 (2017). https://doi.org/10.1007/s10898-016-0468-7
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10898-016-0468-7