Skip to main content

Metaheuristic algorithms for the bandwidth reduction of large-scale matrices

Abstract

This paper considers the bandwidth reduction problem for large-scale sparse matrices in serial computations. A heuristic for bandwidth reduction reorders the rows and columns of a given sparse matrix. Thus, the method places entries with a nonzero value as close to the main diagonal as possible. Bandwidth optimization is a critical issue for many scientific and engineering applications. This manuscript proposes two heuristics for the bandwidth reduction of large-scale matrices. The first is a variant of the Fast Node Centroid Hill-Climbing algorithm, and the second is an algorithm based on the iterated local search metaheuristic. This paper then experimentally compares the solutions yielded by the new reordering algorithms with the bandwidth solutions delivered by state-of-the-art heuristics for the problem, including tests on large-scale problem matrices. A considerable number of results for a range of realistic test problems showed that the performance of the two new algorithms compared favorably with state-of-the-art heuristics for bandwidth reduction. Specifically, the variant of the Fast Node Centroid Hill-Climbing algorithm yielded the overall best bandwidth results.

This is a preview of subscription content, access via your institution.

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

Notes

  1. 1.

    The datasets analyzed during the current study are available at https://sparse.tamu.edu.

  2. 2.

    The Friedman test relies on a random sample. The reason is that a random sample is probably to be representative of the sampled population. We selected matrices with sizes higher than one million and less than 57.7 million nonzero coefficients in the SuiteSparse matrix collection. Although forming a non-random sample, the sample represents the application domain matrix set. Then, the results of applying the nonparametric statistical test are acceptable.

References

  1. Amparore EG, Beccuti M, Donatelli S (2017) Gradient-based variable ordering of decision diagrams for systems with structural units. In: Dsouza D, Kumar KN (eds) ATVA 2017, vol 10482. Lecture Notes in Computer Science. Springer, Cham, pp 184–200

  2. Berry MW, Hendrickson B, Raghavan P (1996) Sparse matrix reordering schemes for browsing hypertext. In: Renegar J, Shub M, Smale S (eds) Lectures in Applied Mathematics, vol 32. The Mathematics of Numerical Analysis. American Mathematical Society Press, Park City, Utah, USA, pp 99–123

  3. Bolanos ME, Aviyente S, Radha H (2012) Graph entropy rate minimization and the compressibility of undirected binary graphs. In: Proceedings of IEEE Statistical Signal Processing Workshop (SSP), IEEE, Ann Arbor, MI, pp 109–112

  4. Chagas GO, Gonzaga de Oliveira SL (2015) Metaheuristic-based heuristics for symmetric-matrix bandwidth reduction: a systematic review. Procedia Computer Science (ICCS 2015 International Conference on Computational Science) 51, 2015, 211–220

  5. Chen HK (2017) Evaluation of triangular mesh layout techniques using large mesh simplification. Multimedia Tools Appl 76(23):25391–25419

    Article  Google Scholar 

  6. Concas A, Fenu C, Rodriguez G (2019) PQser: a Matlab package for spectral seriation. Numer Algorithms 80(3):879–902

    MathSciNet  Article  Google Scholar 

  7. Davis TA, Hu Y (2011) The University of Florida sparse matrix collection. ACM Trans Math Softw 38(1):1–25

    MathSciNet  MATH  Google Scholar 

  8. George A, Liu JW (1981) Computer solution of large sparse positive definite systems. Prentice-Hall, Englewood Cliffs

    MATH  Google Scholar 

  9. Gibbs NE, Poole WG, Stockmeyer PK (1976) An algorithm for reducing the bandwidth and profile of a sparse matrix. SIAM J Numer Anal 13(2):236–250

    MathSciNet  Article  Google Scholar 

  10. Gonzaga de Oliveira SL, Silva LM (2019) Evolving reordering algorithms using an ant colony hyperheuristic approach for accelerating the convergence of the ICCG method. Eng Comput 36(4):1857–1873. https://doi.org/10.1007/s00366-019-00801-5

    Article  Google Scholar 

  11. Gonzaga de Oliveira SL, Abreu AAAM, Robaina DT, Kischnhevsky M (2017) An evaluation of four reordering algorithms to reduce the computational cost of the Jacobi-preconditioned conjugate gradient method using high-precision arithmetic. Int J Business Intell Data Min 12(2):190–209

    Google Scholar 

  12. Gonzaga de Oliveira SL, Abreu AAAM, Robaina DT, Kischnhevsky M (2018) Finding a starting vertex for the reverse Cuthill-Mckee method for bandwidth reduction: a comparative analysis using asymmetric matrices. In: Gervasi O et al. (eds) The 18th International Conference on Computational Science and Its Applications (ICCSA), vol 10960. Lecture Notes in Computer Science. Springer International Publishing, Cham, pp 123–137

  13. Gonzaga de Oliveira SL, Bernardes JAB, Chagas GO (2018) An evaluation of low-cost heuristics for matrix bandwidth and profile reductions. Comput Appl Math 37(2):1412–1471

    MathSciNet  Article  Google Scholar 

  14. Gonzaga de Oliveira SL, Bernardes JAB, Chagas GO (2018) An evaluation of reordering algorithms to reduce the computational cost of the incomplete Cholesky-conjugate gradient method. Comput Appl Math 37(3):2965–3004

    MathSciNet  Article  Google Scholar 

  15. Gonzaga de Oliveira SL, Chagas GO (2015) A systematic review of heuristics for symmetric-matrix bandwidth reduction: methods not based on metaheuristics. In: Proceedings of the Brazilian Symposium on Operations Research (SBPO 2015). Sobrapo, Pernambuco, Brazil

  16. Gonzaga de Oliveira SL, Silva LM (2020) An ant colony hyperheuristic approach for matrix bandwidth reduction. Appl Soft Comput 94(106):434. https://doi.org/10.1016/j.asoc.2020.106434

    Article  Google Scholar 

  17. Higham DJ (2003) Unravelling small world networks. J Comput Appl Math 158(1):61–74

    MathSciNet  Article  Google Scholar 

  18. Koohestani B, Poli R (2011) A hyper-heuristic approach to evolving algorithms for bandwidth reduction based on genetic programming. Research and Development in Intelligent Systems XXVIII. Springer, London, London, UK, pp 93–106

  19. Lewis JG (1982) Implementations of the Gibbs-Poole-Stockmeyer algorithms and Gibbs-King algorithms. ACM Trans Math Softw 8:180–189

    Article  Google Scholar 

  20. Lim A, Rodrigues B, Xiao F (2006) Heuristics for matrix bandwidth reduction. Eur J Oper Res 174(1):69–91

    MathSciNet  Article  Google Scholar 

  21. Lim A, Rodrigues B, Xiao F (2007) A fast algorithm for bandwidth minimization. Int J Artif Intell Tools 16(03):537–544

    Article  Google Scholar 

  22. Martí R, Laguna M, Glover F, Campos V (2001) Reducing the bandwidth of a sparse matrix with tabu search. Eur J Oper Res 135(2):450–459

    MathSciNet  Article  Google Scholar 

  23. Mladenovic N, Urosevic D, Pérez-Brito D, García-González CG (2010) Variable neighbourhood search for bandwidth reduction. Eur J Oper Res 200:14–27

    MathSciNet  Article  Google Scholar 

  24. Mueller C, Martin B, Lumsdaine A (2007) A comparison of vertex ordering algorithms for large graph visualization. In: Proceedings of the 6th International Asia-Pacific Symposium on Visualization (APVIS’07). Sydney, Australia, pp 141–148

  25. Papadimitriou CH (1976) The NP-completeness of bandwidth minimization problem. Comput J 16:177–192

    MathSciNet  MATH  Google Scholar 

  26. Smith CW, Abeysinghe E, Marru S, Jansen KE (2018) PHASTA science gateway for high performance computational fluid dynamics. In: PEARC ’18 - Proceedings of the Practice and Experience on Advanced Research Computing, p. 94. ACM, Pittsburgh, PA

  27. Toivanen J, Avery P, Farhat C (2018) A multilevel FETI-DP method and its performance for problems with billions of degrees of freedom. Int J Numer Methods Eng 116(10–11):661–682

    MathSciNet  Article  Google Scholar 

  28. Torres-Jimenez J, Izquierdo-Marquez I, Garcia-Robledo A, Gonzalez-Gomez A, Bernal J, Kacker RN (2015) A dual representation simulated annealing algorithm for the bandwidth minimization problem on graphs. Inf Sci 303:33–49

    MathSciNet  Article  Google Scholar 

  29. Weise T, Wang X, Qi Q, Li B, Tang K (2018) Automatically discovering clusters of algorithm and problem instance behaviors as well as their causes from experimental data, algorithm setups, and instance features. Appl Soft Comput 73:366–382

    Article  Google Scholar 

Download references

Acknowledgements

We thank Prof. Dr. Dragan Urosevic, from the Mathematical Institute SANU, for sending us the VNS-band executable program. We thank Prof. Dr. Fei Xiao for sending us the source code of the FNCHC heuristic. Also, we thank the anonymous referees for their careful reading and their many insightful comments and suggestions.

Author information

Affiliations

Authors

Corresponding author

Correspondence to S. L. Gonzaga de Oliveira.

Additional information

Publisher's Note

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

Appendices

Results produced by the FNCHC and FNCHC+ heuristics with different starting vertex for the initial solution

Table 7 shows the results yield by ten runs with the FNCHC and FNCHC+ heuristics when applied to the matrix sparsine. The table shows that the solutions yielded by the heuristics depended highly on the starting vertex of the BFS procedure. We executed the FNCHC+ heuristic with \(\kappa =100\), \(i_{max}=1\), and \(NC_{max}=100,000\). The same table shows that in 10 runs, one iteration of the FNCHC+ heuristic returned different results even when applying 100,000 times the Node Centroid algorithm.

Table 7 Bandwidths yielded by the FNCHC and FNCHC+ heuristics applied to reduce the bandwidth of the matrix sparsine (t denotes time and s denotes seconds)

Results delivered by five heuristics applied to small-sized matrices

Tables in this appendix show the matrix name and sizes (where |E| indicates the number of nonzero coefficients of the matrix), the value of the initial bandwidth (\(\beta _0\)) of the matrix, and the geometric means calculated with the bandwidth results yielded when using each heuristic. Specifically, Tables 8 and 9 [12] show the results of five heuristics for bandwidth reductions applied to 124 symmetric [48 nonsymmetric] matrices (with sizes ranging from 5,940 to 112,985) [ranging from 10,605 to 112,211] contained in the SuiteSparse matrix collection (Davis and Hu 2011). Tables 8 and 9 [12] show that the FNCHC+, FNCHC, ILS-band, and GPS heuristics yielded better bandwidth results than the VNS-band heuristic when applied to 124 small-sized symmetric [48 nonsymmetric] matrices at lower running times [see Tables 10 and 11 [13]].

Table 8 Bandwidths yielded by five (FNCHC+, FNCHC (Lim et al. 2007), ILS-band, GPS (Gibbs et al. 1976), VNS-band (Mladenovic et al. 2010) heuristics applied to 62 symmetric matrices (continued on Table 9)
Table 9 Bandwidths yielded by five heuristics applied to 62 symmetric matrices (continued from Table 8)
Table 10 Execution costs of five heuristics applied to reduce the bandwidth of 62 symmetric matrices (continued on Table 11)
Table 11 Execution costs of five heuristics applied to reduce the bandwidth of 62 symmetric matrices (continued from Table 10)
Table 12 Bandwidths delivered by five heuristics applied to 48 nonsymmetric matrices
Table 13 Running times of five heuristics for bandwidth reduction applied to 48 nonsymmetric matrices

Parameters used with the FNCHC+ and ILS-band

This section shows the parameters used with the FNCHC+ and ILS-band heuristics. We applied the heuristics to the matrices with different parameters. Sections C.1, C.2, and C.3 show the parameters used with the FNCHC+ and ILS-band heuristics when applied to the matrices contained in Sections 6.1, 6.2, and 6.3, respectively.

Parameters used with the FNCHC+ and ILS-band when applied to the matrices contained in Sect. 6.1

This section shows the parameters used with the FNCHC+ and ILS-band heuristics when applied to the matrices contained in Sect. 6.1. We aplied the ILS-band heuristic with \(maxIters=300\) (400), \(maxNrOfResets=30\), \(maxItersWoImprov=15\), \(\eta =50\), and \(\chi =0.99\) (0.95) to the matrices ecology1, atmosmodl, and G3_circuit (cfd1, thermomech_TC, and thermomech_TK). We aplied the ILS-band heuristic with \(maxIters=1,000\) [4,000], \(maxNrOfResets=30\) (200) [500], \(maxItersWoImprov=15\) (5) [5], \(\eta =500\) (1,000) [1,000], and \(\chi =0.9\) (0.7) [0.4] to the matrices thermal1 and 2cubes_sphere (thermal2) [lung2].

We applied the FNCHC+ heuristic with \(\kappa =50\), \(i_{max}=90\), and \(NC_{max}=100\) to the matrix atmosmodl. We applied the FNCHC+ heuristic with \(\kappa =65\), \(i_{max}=10\) (60) [85], and \(NC_{max}=100\) to the matrix thermal2 (ecology1) [G3_circuit]. We applied the FNCHC+ heuristic with \(\kappa =200\) (100), \(i_{max}=100\) (50), and \(NC_{max}=300\) (200) to the matrices cfd1, thermomech_TC, and lung2 (thermomech_TK). We applied the FNCHC+ heuristic with \(\kappa =300\), \(i_{max}=200\) (2,000), and \(NC_{max}=300\) (400) to the matrix thermal1 (2cubes_sphere).

Parameters used with the FNCHC+ and ILS-band when applied to small-sized matrices contained in Sect. 6.2

This section shows the parameters used with the FNCHC+ and ILS-band heuristics when applied to small-sized matrices. We applied the heuristics to the matrices with different parameters. In general, we calibrated the parameters of the FNCHC+ heuristic so that the heuristic returned the best results in less than 300 s. We showed the parameters that produced the shortest time with the best outcome yielded by the heuristic. When the FNCHC+ heuristic yielded the best results, we no longer sought to improve the bandwidth results with better parameters (and longer execution times). Thus, the heuristic has the potential to return even better results. Additionally, we did not seek parameters to the two heuristics to deliver the best bandwidth result in the shortest time. Thus, the heuristics may return shorter times with the same bandwidth results presented in the tables if executed with different parameters.

We aplied the ILS-band heuristic with \(maxIters=1,000\), \(maxNrOfResets=1,000\), \(maxItersWoImprov=5\), \(\eta =400\), and \(\chi =0.8\) to the small-sized symmetric matrices. Table 14 shows the parameters used with the FNCHC+ heuristic when applied to several small-sized symmetric matrices. We applied the FNCHC+ heuristic with \(\kappa =25\), \(i_{max}=90\), and \(NC_{max}=250\) to the other small-sized symmetric matrices.

Table 14 Parameters used with the FNCHC+ heuristic when applied to several small-sized symmetric matrices

We aplied the ILS-band heuristic with \(maxIters=4,000\), \(maxNrOfResets=500\), \(maxItersWoImprov=5\), \(\eta =2,000\), and \(\chi =0.4\) to the matrix lung2. We aplied the ILS-band heuristic with \(maxIters=3,000\), \(maxNrOfResets=30\), \(maxItersWoImprov=5\), \(\eta =1,000\), and \(\chi =0.7\) to the other 47 small-sized nonsymmetric matrices.

We applied the FNCHC+ heuristic with \(\kappa =50\) {\(\kappa =400\)}, \(i_{max}=50\) (\(i_{max}=55\)) [\(i_{max}=60\); \(i_{max}=80\)] {\(i_{max}=300\)}, and \(NC_{max}=500\) [\(NC_{max}=250\)] {\(NC_{max}=400\)} to the matrix ASIC_100k (cz20468) [poisson3Db; matrix_9] {lung2}. We applied the FNCHC+ heuristic with \(\kappa =40\), \(i_{max}=180\), and \(NC_{max}=500\) to the other small-sized nonsymmetric matrices.

Parameters used with the FNCHC+ and ILS-band when applied to large-scale matrices contained in Sect. 6.3

This section shows the parameters used with the FNCHC+ and ILS-band heuristics when applied to large-scale matrices. We applied the heuristics to the matrices with different parameters. In general, we calibrated the parameters so that the heuristics returned the best results in less than 1200 s.

Tables 15 and 16 show the parameters used with the ILS-band and FNCHC+ heuristics when applied to 45 large-scale symmetric matrices, respectively. When the FNCHC+ heuristic yielded the best results, we no longer sought to improve the results with better parameters (and longer execution times). Thus, the heuristic has the potential to return even better results. Additionally, we did not seek parameters for the heuristics to return the best result in the shortest time. Thus, the heuristics may return shorter times with the same results presented in the tables if executed with different parameters. Tables 17 and 18 show the parameters used with the ILS-band and FNCHC+ heuristics when applied to 31 large-scale nonsymmetric matrices, respectively.

Table 15 Parameters used with the ILS-band heuristic when applied to 45 large-scale symmetric matrices
Table 16 Parameters used with the FNCHC+ heuristic when applied to 45 large-scale symmetric matrices
Table 17 Parameters used with the ILS-band heuristic when applied to 31 large-scale nonsymmetric matrices
Table 18 Parameters used with the FNCHC+ heuristic when applied to 31 large-scale nonsymmetric matrices

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Gonzaga de Oliveira, S.L., Carvalho, C. Metaheuristic algorithms for the bandwidth reduction of large-scale matrices. J Comb Optim (2021). https://doi.org/10.1007/s10878-021-00801-6

Download citation

Keywords

  • Bandwidth reduction
  • Heuristics
  • Sparse matrices
  • Reordering algorithms
  • Renumbering
  • Ordering
  • Metaheuristics
  • Graph algorithm
  • Iterated local search