Skip to main content
Log in

Large-scale parallelism for constraint-based local search: the costas array case study

  • Published:
Constraints Aims and scope Submit manuscript

Abstract

We present the parallel implementation of a constraint-based Local Search algorithm and investigate its performance on several hardware platforms with several hundreds or thousands of cores. We chose as the basis for these experiments the Adaptive Search method, an efficient sequential Local Search method for Constraint Satisfaction Problems (CSP). After preliminary experiments on some CSPLib benchmarks, we detail the modeling and solving of a hard combinatorial problem related to radar and sonar applications: the Costas Array Problem. Performance evaluation on some classical CSP benchmarks shows that speedups are very good for a few tens of cores, and good up to a few hundreds of cores. However for a hard combinatorial search problem such as the Costas Array Problem, performance evaluation of the sequential version shows results outperforming previous Local Search implementations, while the parallel version shows nearly linear speedups up to 8,192 cores. The proposed parallel scheme is simple and based on independent multi-walks with no communication between processes during search. We also investigated a cooperative multi-walk scheme where processes share simple information, but this scheme does not seem to improve performance.

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.

Institutional subscriptions

Similar content being viewed by others

References

  1. Aida, K., & Osumi, T. (2005). A case study in running a parallel branch and bound application on the grid, (pp. 164–173). USA: IEEE Computer Society, Washington, DC.

    Google Scholar 

  2. Aiex, R., Resende, M., Ribeiro, C. (2002). Probability distribution of solution time in GRASP: An experimental investigation. J. Heuristics, 8(3), 343–373.

    Article  MATH  Google Scholar 

  3. Aiex, R., Resende, M., Ribeiro, C. (2007). TTT plots: a Perl program to create time-to-target plots. Optimization Letters, 1, 355–366.

    Article  MATH  MathSciNet  Google Scholar 

  4. Alava, M., Ardelius, J., Aurell, E., Kaski, P., Orponen, P., Krishnamurthy, S., Seitz, S. (2007). Circumspect descent prevails in solving random constraint satisfaction problems. PNAS, 105(40)(15), 253–257.

    Google Scholar 

  5. Alba, E. (2004). Special issue on new advances on parallel meta-heuristics for complex problems. J. Heuristics, 10(3), 239–380.

    Article  Google Scholar 

  6. Amdahl, G. (1967). Validity of the single processor approach to achieving large scale computing capabilities, (pp. 483–485). New Jersey: ACM Press, Atlantic City. URL http://doi.acm.org/10.1145/1465482.1465560.

  7. Arbelaez, A., & Codognet, P. (2012). Massively parallel local search for SAT.

  8. Arbelaez, A., & Codognet, P. (2013). In M. Middendorf, & C. Blum (Eds.), From sequential to parallel local search for SAT.

  9. Arbelaez, A., & Hamadi, Y. (2011). In Coelo, C. (Ed.), Improving Parallel Local Search for SAT, (p. 2011). Italy: LNCS, Rome.

  10. Balint, A., Fröhlich, A., Tompkins, D., Hoos, H. (2011). Sparrow2011.

  11. Beard, J., Russo, J., Erickson, K., Monteleone, M., Wright, M. (2007). Costas array generation and search methodology. IEEE Trans. Aerosp. Electron. Syst., 43(2), 522–538.

    Article  Google Scholar 

  12. Beldiceanu, N., & Bourreau, E. (1999). Simonis, H. CSPLib website: A note on perfect square placement. http://www.csplib.org/prob/prob009/helmut.pdf.

    Google Scholar 

  13. Benoist, T., Estellon, B., Gardi, F., Megel, R., Nouioua, K. (2011). Localsolver 1.x: a black-box local-search solver for 0-1 programming. 4OR, 9(3), 299–316.

    Article  MATH  MathSciNet  Google Scholar 

  14. Bessiere, C., & F. Rossi. (2006). In P. van Beek, & T. Walsh (Eds.), Constraint propagation.

  15. Boettcher, S., & Percus, A. (2000). Nature’s way of optimizing. Artificial Intelligence, 119(1-2), 275–286.

    Article  MATH  Google Scholar 

  16. Boettcher, S., & Percus, A. (2003). Extremal optimization: an evolutionary local-search algorithm. arXiv:0209030.

  17. Bolze, R. (2006). al.: Grid’5000: A large scale and highly reconfigurable experimental grid testbed. Int. J. High Perform. Comput. Appl, 20(4), 481–494.

    Article  Google Scholar 

  18. Bordeaux, L., Hamadi, Y., Samulowitz, H. (2009). In C. Boutilier (Ed.), Experiments with massively parallel constraint solving.

  19. Caniou, Y., Codognet, P., Diaz, D., Abreu, S. (2011). Experiments in parallel constraint-based local search, (p. 6622). Italy: Springer Verlag, Torino.

    Google Scholar 

  20. Caromel, D., di Costanzo, A., Baduel, L., Matsuoka, S. (2007). Grid’BnB: a parallel branch and bound framework for grids.

  21. Chang, W. (1987). A remark on the definition of Costas arrays. Proc. IEEE, 75(4), 522–523.

    Article  Google Scholar 

  22. Chen, Y.W., Zhu, Y.J., Yang, G.K., Lu, Y.Z. (2011). Improved extremal optimization for the asymmetric traveling salesman problem. Physica A: Statistical Mechanics and its Applications, 390(23-24), 4459–4465.

    Article  MathSciNet  Google Scholar 

  23. Chu, G., Schulte, C., Stuckey, P. (2009). In I. Gent (Ed.), Confidence-based work stealing in parallel constraint programming.

  24. Chu, G., & Stuckey, P. (2008). A parallelization of MiniSAT 2.0.

  25. Codognet, P., & Diaz, D. (2001). Yet another local search method for constraint solving: Springer Verlag.

  26. Codognet, P., & Diaz, D. (2003). In T. Ibaraki (Ed.), An efficient library for solving CSP with local search.

  27. Costas, J. (1984). A study of detection waveforms having nearly ideal range-doppler ambiguity properties. Proc. IEEE, 72(8), 996–1009.

    Article  Google Scholar 

  28. Crainic, T., Gendreau, M., Hansen, P., Mladenovic, N. (2004). Cooperative parallel variable neighborhood search for the -median. J. Heuristics, 10(3), 293–314.

    Article  Google Scholar 

  29. Crainic, T., & Toulouse, M. (2002). Special issue on parallel meta-heuristics. J. Heuristics, 8(3), 247–388.

    Article  Google Scholar 

  30. Diaz, D., Abreu, S., Codognet, P. (2012). Targeting the cell broadband engine for constraint-based local search. Concurrency and Computation: Practice and Experience, 24(6), 647–660.

    Article  Google Scholar 

  31. Diaz, D., Richoux, F., Codognet, P., Caniou, Y., Abreu, S. (2012). Constraint-based local search for the costas array problem, (p. 7219). Paris, France: Springer Verlag.

    Google Scholar 

  32. Drakakis, K. (2006). A review of costas arrays. J. Appl. Math., 2006, 1–32.

    Article  MathSciNet  Google Scholar 

  33. Drakakis, K., Gow, R., Rickard, S. (2008). Distance vectors in costas arrays.

  34. Drakakis, K., Iorio, F., Rickard, S. (2011). The enumeration of costas arrays of order 28 and its consequences. Advances in Mathematics of Communications, 5(1), 69–86.

    Article  MATH  MathSciNet  Google Scholar 

  35. Drakakis, K., Iorio, F., Rickard, S., Walsh, J. (2011). Results of the enumeration of costas arrays of order 29. Advances in Mathematics of Communications, 5(3), 547–553.

    Article  MATH  MathSciNet  Google Scholar 

  36. Galinier, P., & Hao, J.K. (2000). A general approach for constraint solving by local search. Germany: Paderborn.

    Google Scholar 

  37. Gendron, B., & Crainic, T. (1994). Parallel branch-and-bound algorithms: Survey and synthesis. Oper. Res., 42(6), 1042–1066.

    Article  MATH  MathSciNet  Google Scholar 

  38. Gent, I., & Walsh, T. (1999). CSPLIB: A benchmark library for constraints: Springer Verlag.

  39. Golomb, S. (1984). Algebraic constructions for Costas arrays. Journal Of Combinatorial Theory Series A, 37(1), 13–21.

    Article  MATH  MathSciNet  Google Scholar 

  40. Golomb, S., & Taylor, H. (1984). Constructions and properties of Costas arrays. Proc. IEEE, 72(9), 1143–1163.

    Article  MATH  Google Scholar 

  41. Gomes, C., & Sellmann, M. (2004). In M. Wallace (Ed.), Streamlined constraint reasoning: Springer Verlag.

  42. (2007). In Gonzalez, T. (Ed.), Handbook of Approximation Algorithms and Metaheuristics: Chapman and Hall / CRC.

  43. Hamadi, Y., Jabbour, S., Sais, L. (2009). ManySAT: a parallel SAT solver. Journal on Satisfiability. Boolean Modeling and Computation, 6, 245–262.

    MATH  Google Scholar 

  44. Hoos, H., & Stützle, T. (1998). Evaluating Las Vegas algorithms: Pitfalls and remedies: Morgan Kaufmann.

  45. Hoos, H., & Stützle, T. (1999). Towards a characterisation of the behaviour of stochastic local search algorithms for sat. Artif. Intell., 112(1-2), 213–232.

    Article  MATH  Google Scholar 

  46. Hutter, F., Hoos, H., Leyton-Brown, K. (2010). Tradeoffs in the empirical evaluation of competing algorithm designs. Ann. Math. Artif. Intell., 60(1-2), 65–89.

    Article  MathSciNet  Google Scholar 

  47. Ibaraki, T., Nonobe, K., Yagiura, M. (2005). (eds.) Metaheuristics: Springer Verlag.

    Google Scholar 

  48. Kadioglu, S., & Sellmann, M. (2009). Dialectic search: Springer Verlag.

  49. Kautz, H., Sabharwal, A., Selman, B. (2008). In A. Biere, M. Heule, H. van Maaren, T. Walsch (Eds.), Incomplete algorithms.

  50. Chassin de Kergommeaux, & J., Codognet P. (1994). Parallel logic programming systems. ACM Computing Surveys, 26(3), 295–336.

  51. Maneva, E., & Sinclair, A. (2008). On the satisfiability threshold and clustering of solutions of random 3-SAT formulas. Theor. Comput. Sci., 407(1-3), 359–369.

    Article  MATH  MathSciNet  Google Scholar 

  52. Martins, R., Manquinho, V., Lynce, I. (2012). An overview of parallel SAT solving. Constraints, 17, 304–347.

    Article  MathSciNet  Google Scholar 

  53. Michel, L., See, A., Van Hentenryck, P. (2006). In F. Benhamou (Ed.), Distributed constraint-based local search: Springer Verlag.

  54. Michel, L., See, A., Van Hentenryck, P. (2007). In C. Bessiere (Ed.), Parallelizing constraint programs transparently: Springer Verlag.

  55. Michel, L., See, A., Van Hentenryck, P. (2009). Parallel and distributed local search in comet. Comput. Oper. Res., 36, 2357–2375.

    Article  MATH  Google Scholar 

  56. Minton, S., Johnston, M., Philips, A., Laird, P. (1992). Minimizing conflicts: A heuristic repair method for constraint satisfaction and scheduling problems. Artif. Intell., 58(1-3), 161–205.

    Article  MATH  MathSciNet  Google Scholar 

  57. Moisan, T., Gaudreault, J., Quimper, C.G. (2013). In C. Schulte (Ed.), Parallel discrepancy-based search: Springer.

  58. Ohmura, K. (2009). Ueda, K.: c-SAT: A parallel SAT solver for clusters: Springer Verlag.

  59. Orue, A., Álvarez, G., Guerra, A., Pastor, G., Romera, M., Montoya, F. (2010). Trident, a new pseudo random number generator based on coupled chaotic maps. CoRR abs/1008, 2345.

  60. Pardalos, P., Pitsoulis, L., Mavridou, T., Resende, M. (1995). Parallel search for combinatorial optimization: Genetic algorithms, simulated annealing, tabu search and GRASP.

  61. Pedro, V. (2012). Constraint Programming on Hierarchical Multiprocessor Systems. Universidade de Évora: Ph.D. thesis.

    Google Scholar 

  62. Perron, L. (1999). Search procedures and parallelism in constraint programming: Springer Verlag.

  63. Régin, J.C., Rezgui, M., Malapert, A. (2013). In C. Schulte (Ed.), Embarrassingly parallel search: Springer Verlag.

  64. Ribeiro, C., Rosseti, I., Vallejos, R. (2012). Exploiting run time distributions to compare sequential and parallel stochastic local search algorithms. Journal of Global Optimization, 54, 405–429.

    Article  MATH  MathSciNet  Google Scholar 

  65. Rickard, S., & Healy, J. (2006). Stochastic search for costas arrays. NJ, USA: Princeton.

    Google Scholar 

  66. Russo, J., Erickson, K., Beard, J. (2010). Costas array search technique that maximizes backtrack and symmetry exploitation. CISS, 1–8.

  67. Schubert, T., Lewis, M., Becker, B. (2009). PaMiraXT: Parallel SAT solving with threads and message passing. Journal on Satisfiability. Boolean Modeling and Computation, 6, 203–222.

    MATH  Google Scholar 

  68. Simonis, H. Limits of propagation (costas array). http://4c.ucc.ie/~hsimonis/ELearning/costas/handout.pdf.

  69. Truchet, C. (2004). Constraints, local search and computer-aided music composition. France: Ph.D. thesis, University of Paris-7.

    Google Scholar 

  70. Truchet, C., Richoux, F., Codognet, P. (2013). In J. Dongarra, & Y. Robert (Eds.), Prediction of Parallel Speed-ups for Las Vegas Algorithms.

  71. Van Hentenryck, P. (1989). Constraint Satisfaction in Logic Programming: The MIT Press.

  72. Van Hentenryck, P., & Michel, L. (2005). Constraint-Based Local Search: The MIT Press.

  73. Van Luong, T., Melab, N., Talbi, E.G. (2010). Local search algorithms on graphics processing units: Springer Verlag.

  74. Verhoeven, M. (1996). Parallel local search. Ph.D. thesis. Netherlands: University of Eindhoven.

    Google Scholar 

  75. Verhoeven, M., & Aarts, E. (1995). Parallel local search. Journal of Heuristics, 1(1), 43–65.

    Article  MATH  Google Scholar 

  76. Xiang, T., Liao, X., Wong, K. (2007). An improved particle swarm optimization algorithm combined with piecewise linear chaotic map. Applied Mathematics and Computation, 190(2), 1637–1645.

    Article  MATH  MathSciNet  Google Scholar 

  77. Xie, F., & Davenport, A. (2010). Massively parallel constraint programming for supercomputers: Challenges and initial results: Springer.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Florian Richoux.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Caniou, Y., Codognet, P., Richoux, F. et al. Large-scale parallelism for constraint-based local search: the costas array case study. Constraints 20, 30–56 (2015). https://doi.org/10.1007/s10601-014-9168-4

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10601-014-9168-4

Keywords

Navigation