Log in

Data structures for speeding up Tabu Search when solving sparse quadratic unconstrained binary optimization problems

  • Published:
Journal of Heuristics Aims and scope Submit manuscript

Abstract

The quadratic unconstrained binary optimization (QUBO) problem belongs to the NP-hard complexity class of problems and has been the subject of intense research since the 1960s. Many problems in various areas of research can be reformulated as QUBO problems, and several reformulated instances have sparse matrices. Thus, speeding up implementations of methods for solving the QUBO problem can benefit all of those problems. Among such methods, Tabu Search (TS) has been particularly successful. In this work, we propose data structures to speed up TS implementations when the instance matrix is sparse. Our main result consists in employing a compressed sparse row representation of the instance matrix, and priority queues for conducting the search over the solution space. While our literature review indicates that current TS procedures for QUBO take linear time on the number of variables to execute one iteration, our proposed structures may allow better time complexities than that, depending on the sparsity of the instance matrix. We show, by means of extensive computational experiments, that our techniques can significantly decrease the processing time of TS implementations, when solving QUBO problem instances with matrices of relatively high sparsity. To assess the quality of our results regarding more intricate procedures, we also experimented with a Path Relinking metaheuristic implemented with the TS using our techniques. This experiment showed that our techniques can allow such metaheuristics to become more competitive.

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

Access this article

Subscribe and save

Springer+ Basic
EUR 32.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or Ebook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

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

Similar content being viewed by others

Availability of data and materials

All data that support the findings of this study are available from the corresponding author upon request.

References

Download references

Acknowledgements

This work was supported by São Paulo Research Foundation (FAPESP) (Grant 2018/03819–4), CNPq (Grant 312206/2015-1) and the Coordenação de Aperfeiçoamento de Pessoal de Nível Superior – Brasil (CAPES) Finance Code 001 (Grant 88887.497750/2020-00).

Author information

Authors and Affiliations

Authors

Contributions

RNL: Conceptualization, Methodology, Formal analysis, Writing—original draft, Writing—review & editing, Software, Validation, Data curation, Investigation, Resources, Project administration, Visualization. EAJA: Conceptualization, Methodology, Formal analysis, Data curation, Writing—review & editing, Validation, Investigation, Project administration, Supervision. CNM: Methodology, Formal analysis, Writing—review & editing, Validation, Investigation, Project administration, Supervision, Resources, Funding acquisition.

Corresponding author

Correspondence to Ricardo N. Liang.

Ethics declarations

Conflict of interest

The authors declare that they have no conflict of interest.

Code availability

All source codes used in this study are available from the corresponding author upon request.

Ethical approval

Not applicable.

Consent to participate

Not applicable.

Consent for publication

Not applicable.

Additional information

Publisher's Note

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

Appendices

Appendix A Constructing a CSR matrix from a matrix in full form

In Algorithm 12 we present one algorithm that can build a CSR representation of a Q matrix. It has asymptotic time complexity \(O(n^2)\). In Lines 1 to 13, we compute the values of \(\deg {i}\) for each \(i \in \{1,2,\ldots ,n\}\). Based on that, we fill the R, C and V vectors in the remaining lines of the algorithm. We use this algorithm in our computational experiments.

figure l

Appendix B Algorithms for manipulating indexed priority queues

Here we describe in a detailed manner the operations which we used to manipulate indexed priority queues, as proposed in Definition 6. These algorithms are relatively simple modifications of well-known procedures for maintaining minimum heap data structures (Cormen et al. 2001).

Throughout our algorithms, every indexed priority queue is initialized using Algorithm 13. This algorithm has asymptotic time complexity O(n).

figure m

Algorithm 14 obtains the current number of elements in the queue. This algorithm and has asymptotic time complexity O(1).

figure n

Algorithm 15 checks whether a given element is in the queue. This algorithm has asymptotic time complexity O(1).

figure o

Algorithm 16 obtains the element in the queue with the minimum priority value. This algorithm has asymptotic time complexity O(1).

figure p

Algorithm 17 is used as a subroutine of Algorithms 18 to 21, for the purpose of placing an element i at a specific position k in the queue. The element already at the position k is placed at the previous position of i. This algorithm has asymptotic time complexity O(1).

figure q

Algorithm 18 is used for correcting the minimum-heap property, starting from a given position k up to the last position of the queue. It is based on the well-known Heapify procedure (Cormen et al. 2001). This algorithm has asymptotic time complexity \(O(\log {m})\).

figure r

Algorithm 19, like Algorithm 18, is also used for correcting the minimum-heap property, except it starts from a given position k down to the first position of the queue. This algorithm has asymptotic time complexity \(O(\log {m})\).

figure s

Algorithm 20 is used to insert an element into the queue. This algorithm has asymptotic time complexity \(O(\log {m})\).

figure t

Algorithm 21 is used to remove an element from the queue. This algorithm has asymptotic time complexity \(O(\log {m})\).

figure u

Algorithm 22 is used to change the priority value of an element in the queue. This algorithm has asymptotic time complexity \(O(\log {m})\).

figure v

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Liang, R.N., Anacleto, E.A.J. & Meneses, C.N. Data structures for speeding up Tabu Search when solving sparse quadratic unconstrained binary optimization problems. J Heuristics 28, 433–479 (2022). https://doi.org/10.1007/s10732-022-09498-0

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10732-022-09498-0

Keywords

Navigation