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.
Similar content being viewed by others
References
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
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
Chardaire P, Sutter A (1995) A decomposition method for quadratic zero-one programming. Manag Sci 41(4):704–712
Luenberger DG, Ye Y (2008) Linear and nonlinear programming. Int Encycl Soc Behav Sci 67(2):8868–8874
Baptista FD, Morgado-Dias F (2017) Automatic general-purpose neural hardware generator. Neural Comput Appl 28(1):25–36
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
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
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
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
Kochenberger G, Hao JK, Glover F et al (2014) The unconstrained binary quadratic programming problem: a survey. J Comb Optim 28(1):58–81
Laughhunn DJ (1970) Quadratic binary programming with application to capital-budgeting problems. Oper Res 18(3):454–461
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
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
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
Pardalos PM, Rodgers GP (1990) Computational aspects of a branch and bound algorithm for quadratic zero-one programming. Computing 45(2):131–144
Potra FA, Wright SJ (2000) Interior-point methods. J Comput Appl Math 124(1):281–302
Palubeckis G (2006) A tight lower bound for a special case of quadratic 0–1 programming. Computing 77(2):131–145
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
Rendl F, Rinaldi G, Wiegele A (2010) Solving Max-Cut to optimality by intersecting semidefinite and polyhedral relaxations. Math Program 121(2):307–335
Rosen JB (1961) The gradient projection method for nonlinear programming. Part II. Nonlinear constraints. J Soc Ind Appl Math 9(4):514–532
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
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
Stephen Boyd JM (1987) Branch and bound methods. In: Constrained global optimization: algorithms and application, pp 58–74
Schittkowski K (1983) On the convergence of a sequential quadratic programming method with an augmented Lagrangian line search function. Optimization 14(2):197–216
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
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
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
Yen JY (1971) Finding the k shortest loopless paths in a network. Manag Sci 17(11):712–716
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
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11063-019-10122-9