Skip to main content

Advertisement

Log in

Non-dominated sorting procedure for Pareto dominance ranking on multicore CPU and/or GPU

  • Published:
Journal of Global Optimization Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4

Similar content being viewed by others

Notes

  1. https://developer.nvidia.com/cuda-toolkit.

  2. http://www.mathworks.com/help/pdf_doc/matlab/getstart.

  3. https://computing.llnl.gov/tutorials/pthreads/.

  4. https://sites.google.com/site/hpcoptimizationproblems/FNDS.

  5. http://www.mathworks.com/matlabcentral/fileexchange/31166-ngpm-a-nsga-ii-program-in-matlab-v1-4.

  6. http://docs.nvidia.com/cuda/thrust/index.html.

  7. http://www.mathworks.com/matlabcentral/fileexchange/31166-ngpm-a-nsga-ii-program-in-matlab-v1-4.

  8. https://sites.google.com/site/hpcoptimizationproblems/FNDS.

References

  1. 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)

  2. 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)

    MATH  MathSciNet  Google Scholar 

  3. Butenhof, D.: Programming with POSIX Threads. Professional Computing Series. Addison-Wesley, Boston (1997)

    Google Scholar 

  4. Cook, S.: CUDA Programming: A Developer’s Guide to Parallel Computing with GPUs, 1st edn. Morgan Kaufmann Publishers Inc., San Francisco (2013)

    Google Scholar 

  5. 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)

  6. Deb, K.: An efficient constraint handling method for genetic algorithms. Comput. Method Appl. M. 186(2), 311–338 (2000)

    Article  MATH  Google Scholar 

  7. 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)

    Article  Google Scholar 

  8. 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)

    Article  MathSciNet  Google Scholar 

  9. Deb, K., Thiele, L., Laumanns, M., Zitzler, E.: Scalable multi-objective optimization test problems. In: CEC, vol. 1, pp. 825–830 (2002)

  10. 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)

  11. 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)

  12. 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)

    Article  Google Scholar 

  13. Filatovas, E., Kurasova, O., Sindhya, K.: Reference point based multi-objective optimization using evolutionary algorithms. Informatica 26(1), 33–50 (2015)

    Article  Google Scholar 

  14. 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)

  15. Gupta, S., Tan, G.: A scalable parallel implementation of Evolutionary Algorithms for Multi-Objective optimization on GPUs. In: CEC, pp. 1567–1574. IEEE (2015)

  16. Hennessy, J., Patterson, D.: Computer Architecture - A Quantitative Approach, 5th edn. Morgan Kaufmann, Burlington (2012)

    MATH  Google Scholar 

  17. 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)

    Article  MATH  Google Scholar 

  18. 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)

  19. 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)

    Article  Google Scholar 

  20. Knowles, J.D., Corne, D.W.: Approximating the non-dominated front using the Pareto archived evolution strategy. Evol. Comput. 8(2), 149–172 (2000)

    Article  Google Scholar 

  21. 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)

  22. Laumanns, M., Thiele, L., Deb, K., Zitzler, E.: Combining convergence and diversity in evolutionary multiobjective optimization. Evol. Comput. 10(3), 263–282 (2002)

    Article  Google Scholar 

  23. McClymont, K., Keedwell, E.: Deductive sort and climbing sort: New methods for non-dominated sorting. Evol. Comput. 20(1), 1–26 (2012)

    Article  Google Scholar 

  24. Miettinen, K.: Nonlinear Multiobjective Optimization. Springer, Berlin (1999)

    MATH  Google Scholar 

  25. Munshi, A., Gaster, B., Mattson, T.G., Fung, J., Ginsburg, D.: OpenCL Programming Guide, 1st edn. Addison-Wesley Professional, Boston (2011)

    Google Scholar 

  26. NVIDIA Corporation: CUDA C PROGRAMMING GUIDE PG-02829-001_v7.5 (2015). http://docs.nvidia.com/cuda/pdf/CUDA_C_Programming_Guide

  27. 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)

    Article  Google Scholar 

  28. 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)

  29. 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)

  30. Shi, C., Chen, M., Shi, Z.: A fast nondominated sorting algorithm. In: ICNN, vol. 3, pp. 1605–1610. IEEE (2005)

  31. Smutnicki, C., Rudy, J., Żelazny, D.: Very fast non-dominated sorting. Decis. Mak. in Manuf. and Serv. 8(1–2), 13–23 (2014)

    MATH  MathSciNet  Google Scholar 

  32. Srinivas, N., Deb, K.: Multiobjective optimization using non-dominated sorting in genetic algorithms. Evol. Comput. 2(3), 221–248 (1994)

    Article  Google Scholar 

  33. Suh, J.W., Kim, Y.: Accelerating MATLAB with GPU Computing: A Primer with Examples, 1st edn. Morgan Kaufmann Publishers Inc., San Francisco (2013)

    Google Scholar 

  34. 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)

  35. Wong, M.L.: Parallel multi-objective evolutionary algorithms on graphics processing units. In: GECCO, pp. 2515–2522. ACM (2009)

  36. Zhang, Q., Li, H.: Moea/d: A multiobjective evolutionary algorithm based on decomposition. IEEE T. Evolut. Comput. 11(6), 712–731 (2007)

    Article  Google Scholar 

  37. 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)

  38. 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)

  39. Zitzler, E., Künzli, S.: Indicator-based selection in multiobjective search. In: Parallel Problem Solving from Nature-PPSN VIII, pp. 832–842. Springer (2004)

  40. 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)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to G. Ortega.

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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10898-016-0468-7

Keywords

Navigation