Abstract
This paper surveys recent applications and advances of the Constraint Programming-based Column Generation framework, where the master subproblem is solved by traditional OR techniques, while the pricing subproblem is solved by Constraint Programming. This framework has been introduced to solve crew assignment problems, where complex regulations make the pricing subproblem demanding for traditional techniques, and then it has been applied to other contexts. The main benefits of using Constraint Programming are the expressiveness of its modeling language and the flexibility of its solvers. Recently, the Constraint Programming-based Column Generation framework has been applied to many other problems, ranging from classical combinatorial problems such as graph coloring and two dimensional bin packing, to application oriented problems, such as airline planning and resource allocation in wireless ad-hoc networks.
Similar content being viewed by others
References
Achterberg, T. (2007). Constraint integer programming. PhD thesis, TU Berlin.
Apt, K. R. (2003). Principles of constraint programming. Cambridge: Cambridge University Press.
Barnhart, C., Johnson, E. L., Nemhauser, G. L., Savelsbergh, M. W. P., & Vance, P. H. (1998). Branch-and-price: column generation for solving huge integer programs. Operations Research, 46(3), 316–329.
Beldiceanu, N., Carlsson, M., & Rampon, J. X. (2005). Global constraint catalogue. Technical Report SICS-T2005:08, Swedish Institute of Computer Science.
Capone, A., Carello, G., Filippini, I., Gualandi, S., & Malucelli, F. (2010). Solving a resource allocation problem in wireless mesh networks: a comparison between a CP-based and a classical column generation. Networks, 55(3), 221–233. doi:10.1002/net.20367.
Chu, C., & Antonio, J. (1999). Approximation algorithms to solve real-life multicriteria cutting stock problems. Operations Research, 47(4), 495–508.
Ciriani, T. A., Colombani, Y., & Heipcke, S. (2003). Embedding optimisation algorithms with Mosel. 4OR, 1(2), 155–167.
Cortès, C., Gendreau, M., Rousseau, L.-M., Souyris, S., & Weintraub, A. (2012, to appear). Solving a technician dispatch problem using branch and price and constraint programming. European Journal of Operational Research.
Cotè, M.-C., Gendron, B., & Rousseau, L.-M. (2012). Grammar-based column generation for personalized multi-activity shift scheduling. INFORMS Journal on Computing. doi:10.1287/ijoc.1120.0514.
Demassey, S., Pesant, G., & Rousseau, L. M. (2006). A cost-regular based hybrid column generation approach. Constraints, 11(4), 315–333.
Desrosiers, J., Dumas, Y., Solomon, M. M., & Soumis, F. (1995). Time constrained routing and scheduling. In M. O. Ball, T. L. Magnanti, C. L. Monma, & G. L. Nemhauser (Eds.), Handbooks in operations research and management science: Vol. 8. Network routing (pp. 35–139). Amsterdam: Elsevier, North-Holland.
DIMACS (2002). Graph coloring instances. http://mat.gsia.cmu.edu/COLOR.
Easton, K., Nemhauser, G. L., & Trick, M. A. (2002). Solving the travelling tournament problem: a combined integer programming and constraint programming approach. In LNCS: Vol. 2740. Proc. of practice and theory of automated timetabling (pp. 100–112). Berlin: Springer.
Fahle, T., & Sellmann, M. (2002). Cost based filtering for the constrained knapsack problem. Annals of Operations Research, 115(1), 73–93.
Fahle, T., Junker, U., Karisch, S. E., Kohl, N., Sellmann, M., & Vaaben, B. (2002). Constraint programming based column generation for crew assignment. Journal of Heuristics, 8(1), 59–81.
Gabteni, S., & Grönkvist, M. (2006). A hybrid column generation and constraint programming optimizer for the tail assignment problem. In LNCS: Vol. 3990. Proc. integration of AI and OR techniques in CP for combinatorial optimization problems (pp. 89–103). Berlin: Springer.
Gecode Team (2006). Gecode: generic constraint development environment. http://www.gecode.org.
Gendron, B., Lebbah, H., & Pesant, G. (2005). Improving the cooperation between the master problem and the subproblem in constraint programming based column generation. In LNCS: Vol. 3524. Proc. integration of AI and OR techniques in CP for combinatorial optimization problems (pp. 217–227). Berlin: Springer.
Gilmore, P. C., & Gomory, R. E. (1961). A linear programming approach to the cutting-stock problem. Operations Research, 9(6), 849–859.
Grönkvist, M. (2004). A constraint programming model for tail assignment. In LNCS: Vol. 3011. Proc. integration of AI and OR techniques in CP for combinatorial optimization problems (pp. 142–156). Berlin: Springer.
Grönkvist, M. (2006). Accelerating column generation for aircraft scheduling using constraint propagation. Computers & Operations Research, 33(10), 2918–2934.
Gualandi, S. (2009). Enhancing constraint programming-based column generation for integer programs. 4OR, 7(3), 289–292.
Gualandi, S., & Malucelli, F. (2009). Constraint programming-based column generation: a survey. 4OR, 7(2), 113–137.
Gualandi, S., & Malucelli, F. (2012). Exact solution of graph coloring problems via constraint programming and column generation. INFORMS Journal on Computing, 24(1), 81–100.
Hansen, J., & Liden, T. (2005). Group construction for airline cabin crew: comparing constraint programming with branch and price. In LNCS: Vol. 3524. Proc. integration of AI and OR techniques in CP for combinatorial optimization problems (pp. 228–242). Berlin: Springer.
Harvey, W. D., & Ginsberg, M. L. (1995). Limited discrepancy search. In Proc. international joint conferences on artificial intelligence (pp. 607–615).
Heisig, G., & Minner, S. (1999). ILOG OPL studio. OR Spektrum, 21(4), 419–427.
Junker, U., Karisch, S. E., Kohl, N., Vaaben, B., Fahle, T., & Sellmann, M. (1999). A framework for constraint programming based column generation. In LNCS: Vol. 1713. Proc. principles and practice of constraint programming (pp. 261–274). Berlin: Springer.
Lübbecke, M. E., & Desrosiers, J. (2005). Selected topics in column generation. Operations Research, 53(6), 1007–1023.
Marriott, K., Nethercote, N., Rafeh, R., Stuckey, P. J., De la Garcia, B. M., & Wallace, M. (2008). The design of the zinc modelling language. Constraints, 13(3), 229–267.
Martello, S., & Toth, P. (1990). Knapsack problems: algorithms and computer implementations. New York: Wiley
Mehrotra, A., & Trick, M. A. (1996). A column generation approach for graph coloring. INFORMS Journal on Computing, 8(4), 344–354.
Michel, L., & Van Hentenryck, P. (2003). Comet in context. In PCK50: proceedings of the Paris C. Kanellakis memorial workshop on principles of computing & knowledge (pp. 95–107). New York: ACM.
Milano, M., & Wallace, M. (2006). Integrating operations research in constraint programming. 4OR, 4(3), 1–45.
Pisinger, D., & Sigurd, M. (2007). Using decomposition techniques and constraint programming for solving the two-dimensional bin-packing problem. INFORMS Journal on Computing, 19(1), 36–51.
Puchinger, J., Stuckey, P. J., Wallace, M., & Brand, S. (2008). From high-level model to branch-and-price solution in G12. In LNCS: Vol. 5015. Proc. integration of AI and OR techniques in CP for combinatorial optimization problems (pp. 218–232). Berlin: Springer.
Ralphs, T. K., & Ladanyi, L. (2001). COIN/BCP user’s manual.
Régin, J. C. (2002). Cost-based arc consistency for global cardinality constraints. Constraints, 7(3), 387–405.
Rossi, F., Van Beek, P., & Walsh, T. (2006). Handbook of constraint programming. Amsterdam: Elsevier.
Rousseau, L. M. (2004). Stabilization issues for constraint programming based column generation. In LNCS: Vol. 3011. Proc. integration of AI and OR techniques in CP for combinatorial optimization problems (pp. 402–408). Berlin: Springer.
Rousseau, L. M., Gendreau, M., Pesant, G., & Focacci, F. (2004). Solving VRPTWs with constraint programming based column generation. Annals of Operations Research, 130(1), 199–216.
Rousseau, L. M., Gendreau, M., & Feillet, D. (2007). Interior point stabilization for column generation. Operations Research Letters, 35(5), 660–668.
Sadykov, R., & Wolsey, L. A. (2006). Integer programming and constraint programming in solving a multimachine assignment scheduling problem with deadlines and release dates. INFORMS Journal on Computing, 18(2), 209–217.
Sellmann, M., Zervoudakis, K., Stamatopoulos, P., & Fahle, T. (2002). Crew assignment via constraint programming: integrating column generation and heuristic tree search. Annals of Operations Research, 115(1), 207–225.
Wolsey, L. A. (1998). Integer programming. New York: Wiley.
Yunes, T. H., Moura, A. V., & de Souza C. C. (2000). Solving very large crew scheduling problems to optimality. In Proc. ACM symposium on applied computing (Vol. 1, pp. 446–451). New York: ACM.
Yunes, T. H., Moura, A. V., & de Souza C. C. (2005). Hybrid column generation approaches for urban transit crew management problems. Transportation Science, 39(2), 273–288.
Author information
Authors and Affiliations
Corresponding author
Additional information
This is an updated version of the paper that appeared in 4OR, 7(2), 113–137 (2009).
Rights and permissions
About this article
Cite this article
Gualandi, S., Malucelli, F. Constraint Programming-based Column Generation. Ann Oper Res 204, 11–32 (2013). https://doi.org/10.1007/s10479-012-1299-7
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10479-012-1299-7