Skip to main content
Log in

A GPU parallel Bernstein algorithm for polynomial global optimization

  • Original Article
  • Published:
International Journal of System Assurance Engineering and Management Aims and scope Submit manuscript

Abstract

We come up with a graphics processing unit (GPU) parallel Bernstein algorithm (BA) aimed at global optimization of multi-variate real polynomials (Garloff in Interval Comput 2:164–168, 1993). We first propose parallel algorithms for (a) computing the multi-index set associated with the Bernstein coefficients (BCs), (b) computing the initial set of BCs using the Matrix method (Ray and Nataraj in Reliab Comput 17(1):40–71, 2012), (c) finding the minimum BC from a given set of BCs, and (d) finding the BCs of the child patches from the parent patch. We then incorporate the above components into the proposed parallel Bernstein algorithm. All the parallel algorithms are programmed for GPU accelerating devices through compute unified device architecture. We compared performance of serial and GPU parallel BA using a test suite of 8 multivariate examples. For the test examples, the proposed parallel algorithm is found 30 times faster as compared to serial one, and needs 96% less time.

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

Similar content being viewed by others

References

  • Berchtold J, Voiculescu I, Bowyer A (1998) Multivariate Bernstein form polynomials. Technical report 31/98, School of Mechanical Engineering

  • Dhabe P (2017) A new approach to global optimization based on Bernstein polynomials and GPU computing. PhD thesis, Indian Institute of Technology, Bombay, India

  • Dhabe PS, Nataraj PSV (2011) Parallel computation of binomial coefficients using CUDA. In: Proceedings of 2nd international conference on meta computing ICEOMEC2011, Allied Publishers, India, pp 118–124

  • Dhabe PS, Nataraj PSV (2017a) A parallel Bernstein algorithm for global optimization based on the implicit Bernstein form. Int J Syst Assur Eng Manag 8(Suppl 2):1654. https://doi.org/10.1007/s13198-017-0639-z

    Article  Google Scholar 

  • Dhabe PS, Nataraj PSV (2017b) The Bernstein algorithm using the modified implicit Bernstein form and its GPU parallelization using CUDA. Int J Syst Assur Eng Manag 8:826. https://doi.org/10.1007/s13198-017-0673-x

    Article  Google Scholar 

  • Farber R (2011) CUDA application design and development. Morgan Kaufmann, Boston

    Google Scholar 

  • Gamsworld: http://wwwgamsworld.org/global/globallib.htm

  • Garloff J (1993) The Bernstein algorithm. Interval Comput 2:164–168

    MATH  Google Scholar 

  • Garloff J (2003) The Bernstein expansion and its applications. J Am Rom Acad 25:27

    Google Scholar 

  • Grama A, Gupta A, Karypis G, Kumar V (2003) Introduction to parallel computing, 2nd edn. Addison-Wesley, Boston

    MATH  Google Scholar 

  • Harris M Optimizing parallel reduction in CUDA. http://developer.download.nvidia.com/assets/cuda/_les/16.pdf

  • Himmelblau DM, Yetes RV (1972) Applied nonlinear programming. McGraw-Hill, New York

    Google Scholar 

  • IBM: http://publib.boulder.ibm.com/iseries/v5r1/ic2924/tstudio/techref/mi/CAI.html

  • Lorentz GG (1988) Bernstein polynomials, 2nd edn. Chelsea publishing Company, New York

    MATH  Google Scholar 

  • Mei Kirk DB, Hwu W (2010) Programming massively parallel processors: a hands on approach. Morgan Kaufmann, Burlington

    Google Scholar 

  • Moore RE (1979) Methods and applications of interval analysis. SIAM, Philadelphia

    Book  Google Scholar 

  • Nataraj PSV, Arounassalame M (2007) A new subdivision algorithm for the Bernstein polynomial approach to global optimization. Int J Autom Comput 4(4):342–352

    Article  Google Scholar 

  • Nataraj PSV, Arounassalame M (2009) An algorithm for constrained global optimization of multivariate polynomials using the Bernstein form and John optimality conditions. OPSEARCH 46(2):133–152

    Article  MathSciNet  Google Scholar 

  • Nataraj PSV, Arounassalame M (2011) Constrained global optimization of multivariate polynomials using Bernstein branch and prune algorithm. J Glob Optim 49(2):185–212

    Article  MathSciNet  Google Scholar 

  • Nataraj PSV, Kotecha K (2002) An algorithm for global optimization using the Taylor-Bernstein form as an inclusion function. J Glob Optim 24(1):417–436

    Article  MathSciNet  Google Scholar 

  • Nickolls J, Dally WJ (2010) The GPU computing era. IEEE Micro 30(2):56–69

    Article  Google Scholar 

  • Nickolls J, Buck I, Garland M, Skadron K (2008) Scalable parallel programming with CUDA. ACM Queue 6(2):40–53

    Article  Google Scholar 

  • Nvidia: CUDA C best programming guide (2015a). http://docs.nvidia.com/cuda/pdf/CUDA_C_Best_Practices_Guide.pdf

  • Nvidia: CUDA C programming guide (2015b). https://docs.nvidia.com/cuda/cuda-c-programming-guide/

  • NVIDIA: NVIDIAs Next Generation CUDA Compute Architecture:Kepler GK110/210. http://international.download.nvidia.com/pdf/kepler/NVIDIA-Kepler-GK110-GK210-Architecture-Whitepaper.pdf

  • Owens JD, Luebke D, Govindaraju N, Harris M, Krger J, Lefohn AE, Purcell TJ (2005) A survey of general-purpose computation on graphics hardware. In: Eurographics 2005, state of the art report, pp 21–51

  • Owens JD, Houston M, Luebke D, Green S, Stone JE, Phillip JC (2008) GPU computing. Proc IEEE 96(5):879–899

    Article  Google Scholar 

  • Patil BV, Nataraj PSV, Bhartiya S (2011) Global optimization of mixed-integer nonlinear (polynomial) programming problems: the Bernstein polynomial approach. J Comput 2011:1–19

    MATH  Google Scholar 

  • Persson D (2007) Testing complex data-structures on the general purpose graphics processing units. Master’s thesis, Blekinge Institute of Technology, Sweden

  • Ray S (2007) A new approach to range computation of polynomials using the Bernstein form. PhD thesis, Systems and Control Engineering, Indian Institute of Technology, Bombay, India

  • Ray S, Nataraj PSV (2010) A new strategy for selection of subdivision point in the Bernstein approach to polynomial optimization. Reliab Comput 14(4):117–137

    MathSciNet  Google Scholar 

  • Ray S, Nataraj PSV (2012) A matrix method for efficient computation of Bernstein coefficients. Reliab Comput 17(1):40–71

    MathSciNet  Google Scholar 

  • Sahil S, Queen NM (2004) A hybrid algorithm for detecting global and local minima when optimizing functions with many minima. Eur J Oper Res 155:51–67

    Article  Google Scholar 

  • Sedgewick R (1977) Permutation generation methods. ACM Comput Surv 9(2):137–164

    Article  MathSciNet  Google Scholar 

  • Verschelde J (2001) The PHC pack, the database of polynomial systems. Technial report, University of Illinois, Mathematics Department, Chicago, USA

  • Vrahatis MN, Sotiropoulos DG, Triantafyllou EC (1997) Global optimization for imprecise problems. In: Boomze IM, Csendes T, Horst R, Pardalos PM (eds) Developments in global optimization. Kluwer, Dordrecht, pp 37–54

    Chapter  Google Scholar 

  • Zettler M, Garloff J (1998) Robustness analysis of polynomials with polynomial parameter dependency using Bernstein expansion. IEEE Trans Autom Control 43(3):425–431

    Article  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Priyadarshan Dhabe.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendix 1

Appendix 1

Following is the list of the polynomials p used in this work, along with their starting domain x. Each test problem has given a short name (bold face), full name and the dimensionality, as like in (Dhabe and Nataraj 2017a, 2017).

  1. 1.

    Heart-8: A 8-dimensional heart-dipole test problem, l = 8 (Verschelde 2001)

    $$ p(x) = - \,x_{1} x_{6}^{3} + 3x_{1} x_{6} x_{7}^{2} - x_{3} x_{7}^{2} + 3x_{3} x_{7} x_{6}^{2} - x_{2} x_{5}^{3} + 3x_{2} x_{5} x_{8}^{2} - x_{4} x_{8}^{3} + 3x_{4} x_{8} x_{5}^{2} - 0.9563453 $$

    x1 = [− 0.1,0.4], x2 = [0.4,1.0], x3 = [− 0.7,0.4], x4 = [− 0.7,0.4], x5 = [0.1,0.2], x6 = [0.1,0.2], x7 = [− 0.3,1.1], x8 = [− 1.1, − 0.3]

  2. 2.

    Rosen-6: A 6-dimensional general function, l = 6 (Sahil and Queen 2004)

    $$ p(x) = \int\limits_{i = 1}^{(l - 1)} {} \left( {100(x_{i}^{2} - x_{i + 1} )^{2} + (1 - x_{i} )^{2} } \right) $$

    x1 = x2 = ··· = x6 = [− 2.0,2.0]

  3. 3.

    Kear-6: A 6-variable extended function of Kearfott l = 6 (Vrahatis et al. 1997)

    $$ p(x) = \left[ {\int\limits_{i = 1}^{(l - 1)} {} (x_{i}^{2} - x_{i + 1} )^{2} } \right] + (x_{l}^{2} - x_{1} )^{2} $$

    x1 = x2 =···= x6 = [− 2.0,2.0]

  4. 4.

    Reim-5: A 5-variable Reimer’s system, l = 5 (Verschelde 2001)

    $$ p(x) = - \,1 + 2x_{1}^{6} - 2x_{2}^{6} + 2x_{3}^{6} - 2x_{4}^{6} + 2x_{5}^{6} $$

    x1 = x2 = x3 = x4 = x5 = [− 1.0,1.0]

  5. 5.

    Quad-10: A 10-variable function with power 2, l = 10 (Vrahatis et al. 1997)

    $$ p(x) = x_{1}^{2} + x_{2}^{2} + \cdots + x_{10}^{2} - r,\quad {\text{for}}\quad r = - \,2 $$

    x1 = x2 =···= x10 = [− 1.0, 1.0]

  6. 6.

    Reim-6: A 6-variable Reimer’s system, l = 6 (Verschelde 2001)

    $$ p(x) = - \,1 + 2x_{1}^{7} - 2x_{2}^{7} + 2x_{3}^{7} - 2x_{4}^{7} + 2x_{5}^{7} - 2x_{6}^{7} $$

    x1 = x2 =···= x6 = [− 5.0, 5.0]

  7. 7.

    Holzmann-8: A Holzmann function with 8-variables, l = 8 (Himmelblau and Yetes 1972)

    $$ p(x) = \int\limits_{i = 1}^{l} {i*x_{i}^{4} } $$

    x1 = x2 =···= x8 = [− 10.0, 10.0]

  8. 8.

    PowerSum-6: A power sum function with 6-variables l = 6 (Sahil and Queen 2004)

    $$ p(x) = \int\limits_{i = 1}^{L} {x_{i}^{g} } ,\quad {\text{where}},\,\,g = 8 $$

    x1 = x2 =···= x6 = [− 5.0,5.0]

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Dhabe, P., Nataraj, P.S.V. A GPU parallel Bernstein algorithm for polynomial global optimization. Int J Syst Assur Eng Manag 11, 21–44 (2020). https://doi.org/10.1007/s13198-019-00922-6

Download citation

  • Received:

  • Revised:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s13198-019-00922-6

Keywords

Navigation