Skip to main content
Log in

Global Optimization of Binary Quadratic Programming: A Neural Network Based Algorithm and Its FPGA Implementation

  • Published:
Neural Processing Letters Aims and scope Submit manuscript

Abstract

The global optimization of binary quadratic programming (BQP) has very important theory and wide application in various fields. Since BQP is a classic NP-hard problem, traditional algorithms will be very time-consuming when the dimension is very large. The neural network based algorithms have significant advantages in solving large scale optimization problems. However, directly applying neural network based algorithm cannot guarantee finding the global optimal solution of BQP. In this paper, we propose a neural network based algorithm for BQP by analyzing and utilizing geometric characteristics of the objective function isosurface and combining the advantages and properties of neural network as well as branch-and-bound method. Furthermore, the neural network algorithm is implemented with field-programmable gate array (FPGA) to take advantage of the parallel structure. System Generator which can be used to convert the design into HDL code automatically is adopted so that the calculation of upper and lower bounds can be deployed to FPGA. The numerical simulation illustrates the effectiveness and efficiency of the algorithm. Meanwhile, simulation results show the feasibility of applying the proposed algorithm to FPGA hardware.

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
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15

Similar content being viewed by others

References

  1. Boros E, Hammer PL, Sun R et al (2008) A max-flow approach to improved lower bounds for quadratic unconstrained binary optimization (QUBO). Discrete Optim 5(2):501–529

    Article  MathSciNet  Google Scholar 

  2. Barbarosou M, Maratos NG (2004) Non-feasible gradient projection recurrent neural network for equality constrained optimization. In: 2004 IEEE international joint conference on neural networks, pp 2251–2256

  3. Chardaire P, Sutter A (1995) A decomposition method for quadratic zero-one programming. Manag Sci 41(4):704–712

    Article  Google Scholar 

  4. Luenberger DG, Ye Y (2008) Linear and nonlinear programming. Int Encycl Soc Behav Sci 67(2):8868–8874

    Google Scholar 

  5. Baptista FD, Morgado-Dias F (2017) Automatic general-purpose neural hardware generator. Neural Comput Appl 28(1):25–36

    Article  Google Scholar 

  6. Gu S, Cui R (2015) An efficient algorithm for the subset sum problem based on finite-time convergent recurrent neural network. Neurocomputing 149(PA):13–21

    Article  Google Scholar 

  7. Gu S, Peng J (2015) A neural network based algorithm to compute the distance between a point and an ellipsoid. In: 2015 seventh international conference on advanced computational intelligence (ICACI), pp 294–299

  8. Gu S, Wang X (2017) FPGA implementation of the L smallest k-subsets sum problem based on the finite-time convergent recurrent neural network. In: Proceedings of the 14th international symposium on neural networks (ISNN), pp 337–345

  9. Ji S, Zheng X, Sun X (2013) An improved convex 0–1 quadratic program reformulation for chance-constrained quadratic knapsack problems. Asia Pac J Oper Res 30(3):1340009

    Article  MathSciNet  Google Scholar 

  10. Kochenberger G, Hao JK, Glover F et al (2014) The unconstrained binary quadratic programming problem: a survey. J Comb Optim 28(1):58–81

    Article  MathSciNet  Google Scholar 

  11. Laughhunn DJ (1970) Quadratic binary programming with application to capital-budgeting problems. Oper Res 18(3):454–461

    Article  Google Scholar 

  12. Li D, Sun XL, Liu CL (2012) An exact solution method for unconstrained quadratic 0–1 programming: a geometric approach. J Global Optim 52(4):797–829

    Article  MathSciNet  Google Scholar 

  13. Moreo AT, Lorente PN, Valles FS et al (2005) Experiences on developing computer vision hardware algorithms using Xilinx system generator. Microprocess Microsyst 29(8–9):411–419

    Article  Google Scholar 

  14. Ownby M, Mahmoud WH (2003) A design methodology for implementing DSP with Xilinx system generator for Matlab. In: Proceedings of the 35th southeastern symposium on system theory, pp 404–408

  15. Pardalos PM, Rodgers GP (1990) Computational aspects of a branch and bound algorithm for quadratic zero-one programming. Computing 45(2):131–144

    Article  MathSciNet  Google Scholar 

  16. Potra FA, Wright SJ (2000) Interior-point methods. J Comput Appl Math 124(1):281–302

    Article  MathSciNet  Google Scholar 

  17. Palubeckis G (2006) A tight lower bound for a special case of quadratic 0–1 programming. Computing 77(2):131–145

    Article  MathSciNet  Google Scholar 

  18. Rahnamaei A, Pariz N, Akbarimajd A (2009) FPGA implementation of an ANN for detection of anthelmintics resistant nematodes in sheep flocks. In: 2009 4th IEEE conference on industrial electronics and applications, pp 1899–1904

  19. Rendl F, Rinaldi G, Wiegele A (2010) Solving Max-Cut to optimality by intersecting semidefinite and polyhedral relaxations. Math Program 121(2):307–335

    Article  MathSciNet  Google Scholar 

  20. Rosen JB (1961) The gradient projection method for nonlinear programming. Part II. Nonlinear constraints. J Soc Ind Appl Math 9(4):514–532

    Article  Google Scholar 

  21. Rybalkin V, Wehn N, Yousefi MR et al (2017) Hardware architecture of bidirectional long short-term memory neural network for optical character recognition. In: Automation and test in Europe conference and exhibition, pp 1390–1395

  22. Shaik IP, Bushnell ML (1995) Circuit design for low overhead delay-fault BIST using constrained quadratic 0–1 programming. In: 13th IEEE VLSI test symposium, pp 393–399

  23. Stephen Boyd JM (1987) Branch and bound methods. In: Constrained global optimization: algorithms and application, pp 58–74

  24. Schittkowski K (1983) On the convergence of a sequential quadratic programming method with an augmented Lagrangian line search function. Optimization 14(2):197–216

    MathSciNet  MATH  Google Scholar 

  25. Trimberger S, Carberry D, Johnson A et al (1983) A time-multiplexed FPGA. In: The 5th annual IEEE symposium on field-programmable custom computing, pp 22–28

  26. Wang E, Davis JJ, Cheung PYK (2018) A PYNQ-based framework for rapid CNN prototyping. In: The 26th annual IEEE international symposium on field-programmable custom computing machines (FCCM), pp 223–223

  27. Yen JY (1970) An algorithm for finding shortest routes from all source nodes to a given destination in general networks. Q Appl Math 27(4):526–530

    Article  MathSciNet  Google Scholar 

  28. Yen JY (1971) Finding the k shortest loopless paths in a network. Manag Sci 17(11):712–716

    Article  MathSciNet  Google Scholar 

Download references

Acknowledgements

The work described in the paper was supported by the National Science Foundation of China under Grants 61876105 and 61503233.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Shenshen Gu.

Additional information

Publisher's Note

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

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Gu, S., Chen, X. & Wang, L. Global Optimization of Binary Quadratic Programming: A Neural Network Based Algorithm and Its FPGA Implementation. Neural Process Lett 53, 1665–1684 (2021). https://doi.org/10.1007/s11063-019-10122-9

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11063-019-10122-9

Keywords

Navigation