Abstract
The combination of large neighbourhood search (LNS) methods with complete search methods has proved to be very effective. By restricting the search to (small) areas around an existing solution, the complete method is often able to quickly improve its solutions. However, developing such a combined method can be time-consuming: While the model of a problem can be expressed in a high-level solver-independent language, the LNS search strategies typically need to be implemented in the search language of the target constraint solvers. In this paper we show how we can simplify this process by (a) extending constraint modelling languages to support solver-independent LNS search definitions, and (b) defining small solver extensions that allow solvers to implement these solver-independent LNS searches. Modellers can then implement an LNS search to be executed in any extended solver, by simply using the modelling language constructs. Experiments show that the resulting LNS searches only introduce a small overhead compared to direct implementations in the search language of the underlying solvers.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
Random number functions need to be marked as ::impure for the compiler not to apply Common Subexpression Elimination (CSE) [23] if they are called multiple times with the same arguments.
- 2.
Our implementations are available at https://github.com/Dekker1/{libminizinc,gecode,chuffed} on branches containing the keyword on_restart.
References
Chiarandini, M., Gaspero, L.D., Gualandi, S., Schaerf, A.: The balanced academic curriculum problem revisited. J. Heuristics 18(1), 119–148 (2012)
Chu, G.: Improving Combinatorial Optimization. Department of Computing and Information Systems, University of Melbourne (2011)
Cipriano, R., Di Gaspero, L., Dovier, A.: Gelato: a multi-paradigm tool for Large Neighborhood Search. In: Talbi, E.-G. (ed.) Hybrid Metaheuristics, pp. 389–414. Springer, Heidelberg (2013)
Danna, E., Perron, L.: Structured vs. Unstructured Large Neighborhood Search: A Case Study on Job-Shop Scheduling Problems with Earliness and Tardiness Costs. In: Rossi, F. (ed.) CP 2003. LNCS, vol. 2833, pp. 817–821. Springer, Heidelberg (2003). https://doi.org/10.1007/978-3-540-45193-8_59
Fourer, R., Gay, D., Kernighan, B.: AMPL: A Mathematical Programming Language. Manage. Sci. 36, 519–554 (1990)
Frisch, A.M., Harvey, W., Jefferson, C., Martínez-Hernández, B., Miguel, I.: Essence: a constraint language for specifying combinatorial problems. Constraints 13(3), 268–306 (2008)
Gecode Team: Gecode: A Generic Constraint Development Environment (2016). http://www.gecode.org
Google: or-tools (2017). https://developers.google.com/optimization/
Michel, L., Van Hentenryck, P.: The Comet Programming Language and System. In: van Beek, P. (ed.) CP 2005. LNCS, vol. 3709, pp. 881–881. Springer, Heidelberg (2005). https://doi.org/10.1007/11564751_119
Nethercote, N., Stuckey, P.J., Becket, R., Brand, S., Duck, G.J., Tack, G.: MiniZinc: towards a standard CP modelling language. In: Bessière, C. (ed.) CP 2007. LNCS, vol. 4741, pp. 529–543. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-74970-7_38
OscaR Team: OscaR: Scala in OR (2012). https://bitbucket.org/oscarlib/oscar
Pacino, D., Van Hentenryck, P.: Large neighborhood search and adaptive randomized decompositions for flexible jobshop scheduling. In: Proceedings of the Twenty-Second International Joint Conference on Artificial Intelligence - Volume Three. IJCAI 11, pp. 1997–2002. AAAI Press, Barcelona (2011)
Perron, L., Shaw, P., Furnon, V.: Propagation guided large neighborhood search. In: Wallace, M. (ed.) CP 2004. LNCS, vol. 3258, pp. 468–481. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-30201-8_35
Pisinger, D., and Ropke, S.: A general heuristic for vehicle routing problems. Comput. Oper. Res. 34(8), 2403–2435 (2007)
Pisinger, D., and Ropke, S.: Large neighborhood search. In: Gendreau, M., Potvin, J.-Y. (eds.) Handbook of Metaheuristics, pp. 399–419. Springer, Boston (2010). ISBN: 978-1-4419-1665-5. https://doi.org/10.1007/978-1-4419-1665-5_13
Prud’homme, C., Fages, J.-G., Lorca, X.: Choco documentation. TASC - LS2N CNRS UMR 6241, COSLING S.A.S. (2017). http://www.choco-solver.org
Prud’homme, C., Lorca, X., Jussien, N.: Explanation-Based Large Neighborhood Search. Constraints 19(4), 339–379 (2014)
Rendl, A., Guns, T., Stuckey, P.J., Tack, G.: MiniSearch: a solver-independent meta-search language for MiniZinc. In: Pesant, G. (ed.) CP 2015. LNCS, vol. 9255, pp. 376–392. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-23219-5_27
Ropke, S., Pisinger, D.: An adaptive large neighborhood search heuristic for the pickup and delivery problem with time windows. Transp. Sci. 40(4), 455–472 (2006)
Shaw, P.: Using constraint programming and local search methods to solve vehicle routing problems. In: Maher, M., Puget, J.-F. (eds.) CP 1998. LNCS, vol. 1520, pp. 417–431. Springer, Heidelberg (1998). https://doi.org/10.1007/3-540-49481-2_30
Stuckey, P.J., Becket, R., Fischer, J.: Philosophy of the MiniZinc challenge. Constraints 15(3), 307–316 (2010)
Stuckey, P.J., Feydy, T., Schutt, A., Tack, G., Fischer, J.: The MiniZinc challenge 2008–2013. AI Mag. 35(2), 55–60 (2014)
Stuckey, P.J., Tack, G.: MiniZinc with functions. In: Gomes, C., Sellmann, M. (eds.) CPAIOR 2013. LNCS, vol. 7874, pp. 268–283. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-38171-3_18
Van Hentenryck, P.: The OPL Optimization Programming Language. MIT Press, Cambridge (1999)
Van Hentenryck, P., Michel, L.: OPL script: composing and controlling models. In: Apt, K.R., Monfroy, E., Kakas, A.C., Rossi, F. (eds.) WC 1999. LNCS (LNAI), vol. 1865, pp. 75–90. Springer, Heidelberg (2000). https://doi.org/10.1007/3-540-44654-0_4
Van Hentenryck, P., Michel, L.: The Objective-CP optimization system. In: Schulte, C. (ed.) CP 2013. LNCS, vol. 8124, pp. 8–29. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-40627-0_5
Acknowledgements
This research was partly sponsored by the Australian Research Council grant DP180100151.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer Nature Switzerland AG
About this paper
Cite this paper
Dekker, J.J., de la Banda, M.G., Schutt, A., Stuckey, P.J., Tack, G. (2018). Solver-Independent Large Neighbourhood Search. In: Hooker, J. (eds) Principles and Practice of Constraint Programming. CP 2018. Lecture Notes in Computer Science(), vol 11008. Springer, Cham. https://doi.org/10.1007/978-3-319-98334-9_6
Download citation
DOI: https://doi.org/10.1007/978-3-319-98334-9_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-98333-2
Online ISBN: 978-3-319-98334-9
eBook Packages: Computer ScienceComputer Science (R0)