The G12 project is developing a software environment for stating and solving combinatorial problems by mapping a high-level model of the problem to an efficient combination of solving methods. Model annotations are used to control this process. In this paper we explain the mapping to branch-and-price solving. G12 supports the selection of specialised sub-problem solvers, the aggregation of identical subproblems, automatic disaggregation when required by search, and the use of specialised branching rules. We demonstrate the benefits of the G12 framework on three examples: a trucking problem, cutting stock, and two-dimensional bin packing.


Column Generation Master Problem Crew Schedule Restrict Master Problem Linear Programming Solver 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Achterberg, T.: SCIP - a framework to integrate constraint and mixed integer programming. Technical Report 04-19, Zuse Institute Berlin, (2004),
  2. 2.
    Anbil, R., Forrest, J., Pulleyblank, W.: Column generation and the airline crew pairing problem. In: Documenta Mathematica, Extra Volume ICM (1998)Google Scholar
  3. 3.
    Barahona, F., Anbil, R.: The volume algorithm: producing primal solutions with a subgradient method. Mathematical Programming 87(3), 385–399 (2000)CrossRefMathSciNetzbMATHGoogle Scholar
  4. 4.
    Barnhart, C., Johnson, E.L., Nemhauser, G.L., Savelsbergh, M.W.P., Vance, P.H.: Branch-and-price: Column generation for solving huge integer programs. Operations Research 46(3), 316–329 (1998)MathSciNetzbMATHGoogle Scholar
  5. 5.
    Boland, N., Surendonk, T.: A column generation approach to delivery planning over time with inhomogeneous service providers and service interval constraints. Annals of Operations Research 108, 143–156 (2001)CrossRefzbMATHGoogle Scholar
  6. 6.
    Brand, S., Duck, G.J., Puchinger, J., Stuckey, P.J.: Flexible, rule-based constraint model linearisation. In: Hudak, P., Warren, D. (eds.) Practical Aspects of Declarative Languages (PADL 2008). LNCS, vol. 4902, pp. 68–83. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  7. 7.
    Chabrier, A.: Génération de Colonnes et de Coupes utilisant des sous-problèmes de plus court chemin. PhD thesis, Université d’Angers, France (2002)Google Scholar
  8. 8.
    Dantzig, G.B., Wolfe, P.: Decomposition principle for linear programs. Operations Research 8(1), 101–111 (1960)zbMATHGoogle Scholar
  9. 9.
    Desaulniers, G., Desrosiers, J., Solomon, M. (eds.): Column Generation. GERAD 25th Anniversary Series. Springer, Heidelberg (2005)zbMATHGoogle Scholar
  10. 10.
    Duck, G.J., Stuckey, P.J., Brand, S.: ACD term rewriting. In: Etalle, S., Truszczyński, M. (eds.) ICLP 2006. LNCS, vol. 4079, pp. 117–131. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  11. 11.
    Eremin, A.: Using Dual Values to Integrate Row and Column Generation into Constraint Logic Programming. PhD thesis, Imperial College London (2003)Google Scholar
  12. 12.
    Garcia de la Banda, M., Marriott, K., Rafeh, R., Wallace, M.: The modelling language Zinc. In: Benhamou, F. (ed.) CP 2006. LNCS, vol. 4204, pp. 700–705. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  13. 13.
    Gau, T., Wäscher, G.: CUTGEN1: a problem generator for the standard one-dimensional cutting stock problem. European Journal of Operational Research 84(3), 572–579 (1995)CrossRefzbMATHGoogle Scholar
  14. 14.
    Gilmore, P.C., Gomory, R.E.: A linear programming approach to the cutting-stock problem (part I). Operations Research 9, 849–859 (1961)MathSciNetzbMATHGoogle Scholar
  15. 15.
    Gunluk, O., Ladanyi, L., Vries, S.D.: A branch-and-price algorithm and new test problems for spectrum auctions. Management Science 51(3), 391–406 (2005)CrossRefGoogle Scholar
  16. 16.
    Jünger, M., Thienel, S.: The ABACUS system for branch-and-cut-and-price algorithms in integer programming and combinatorial optimization. Software: Practice and Experience 30(11), 1325–1352 (2000)CrossRefzbMATHGoogle Scholar
  17. 17.
    Junker, U., Karisch, S.E., Kohl, N., Vaaben, B., Fahle, T., Sellmann, M.: A framework for constraint programming based column generation. In: Jaffar, J. (ed.) CP 1999. LNCS, vol. 1713, pp. 261–274. Springer, Heidelberg (1999)Google Scholar
  18. 18.
    Kantorovich, L.V.: Mathematical methods of organizing and planning production. Management Science 6(4), 366–422 (1960)MathSciNetzbMATHCrossRefGoogle Scholar
  19. 19.
    Lodi, A., Martello, S., Vigo, D.: Models and bounds for two-dimensional level packing problems. Journal of Combinatorial Optimization 8(3), 363–379 (2004)CrossRefMathSciNetzbMATHGoogle Scholar
  20. 20.
    Nemhauser, G.L., Savelsbergh, M.W.P., Sigismondi, G.C.: MINTO, a Mixed INTeger Optimizer. Operations Research Letters 15, 47–58 (1994)CrossRefMathSciNetzbMATHGoogle Scholar
  21. 21.
    Papadakos, N.: Integrated airline scheduling. Computers and Operations Research, available online (August 27, 2007) (to appear, 2007)Google Scholar
  22. 22.
    Puchinger, J., Raidl, G.R.: Models and algorithms for three-stage two-dimensional bin packing. European Journal of Operational Research 183(3), 1304–1327 (2007)CrossRefMathSciNetzbMATHGoogle Scholar
  23. 23.
    Ralphs, T., Ladanyi, L.: COIN/BCP users manual (2001)Google Scholar
  24. 24.
    Rousseau, L.-M., Gendreau, M., Pesant, G., Focacci, F.: Solving VRPTWs with constraint programming based column generation. Annals of Operations Research 130(1), 199–216 (2004)CrossRefMathSciNetzbMATHGoogle Scholar
  25. 25.
    Ryan, D.M., Foster, B.: An integer programming approach to scheduling. In: Wren, A. (ed.) Computer scheduling of public transport urban passenger vehicle and crew scheduling, pp. 269–280. North Holland, Amsterdam (1981)Google Scholar
  26. 26.
    Somogyi, Z., Henderson, F., Conway, T.: The execution algorithm of Mercury, an efficient purely declarative logic programming language. Journal of Logic Programming 29(1-3), 17–64 (1996)CrossRefzbMATHGoogle Scholar
  27. 27.
    Stuckey, P.J., Garcia de la Banda, M., Maher, M.J., Marriott, K., Slaney, J.K., Somogyi, Z., Wallace, M., Walsh, T.: The G12 project: Mapping solver independent models to efficient solutions. In: van Beek, P. (ed.) CP 2005. LNCS, vol. 3709, pp. 13–16. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  28. 28.
    Van Hentenryck, P., Michel, L.: OPL Script: Composing and controlling models. In: Apt, K.R., Kakas, A.C., Monfroy, E., Rossi, F. (eds.) Compulog Net WS 1999. LNCS (LNAI), vol. 1865, pp. 75–90. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  29. 29.
    Vanderbeck, F.: Branching in branch-and-price: a generic scheme. Technical Report U-05.14, Applied Mathematics, University Bordeaux 1, France (2005)Google Scholar
  30. 30.
    Villeneuve, D., Desrosiers, J., Lübbecke, M.E., Soumis, F.: On compact formulations for integer programs solved by column generation. Annals of Operations Research 139(1), 375–388 (2005)CrossRefMathSciNetzbMATHGoogle Scholar
  31. 31.
    Yunes, T.H., Moura, A.V., de Souza, C.C.: A hybrid approach for solving large scale crew scheduling problems. In: Pontelli, E., Santos Costa, V. (eds.) PADL 2000. LNCS, vol. 1753, pp. 207–293. Springer, Heidelberg (2000)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Jakob Puchinger
    • 1
  • Peter J. Stuckey
    • 1
  • Mark Wallace
    • 2
  • Sebastian Brand
    • 1
  1. 1.NICTA Victoria Research Laboratory Department of Computer Science & Software EngineeringUniversity of MelbourneAustralia
  2. 2.School of Computer Science and Software EngineeringMonash UniversityMelbourneAustralia

Personalised recommendations