# IBM ILOG CP optimizer for scheduling

20+ years of scheduling with constraints at IBM/ILOG

Article

First Online:

- 475 Downloads
- 4 Citations

**Part of the following topical collections:**

## Abstract

IBM ILOG CP Optimizer is a generic CP-based system to model and solve scheduling problems. It provides an algebraic language with simple mathematical concepts to capture the temporal dimension of scheduling problems in a combinatorial optimization framework. CP Optimizer implements a model-and-run paradigm that vastly reduces the burden on the user to understand CP or scheduling algorithms: modeling is by far the most important. The automatic search provides good performance out of the box and it is continuously improving. This article gives a detailed overview of CP Optimizer for scheduling: typical applications, modeling concepts, examples, automatic search, tools and performance.

## Keywords

Scheduling Constraint programming Modeling Automatic search## References

- 1.Aggoun, A., & Beldiceanu, N. (1993). Extending CHIP in order to solve complex scheduling problems.
*Journal of Mathematical and Computer Modelling*,*17*, 57–73.CrossRefGoogle Scholar - 2.Booth, K., Nejat, G., & Beck, C. (2016). A constraint programming approach to multi-robot task allocation and scheduling in retirement homes. In
*Proceedings of the 22th international conference on principles and practice of constraint programming (CP 2016)*(pp. 539–555).Google Scholar - 3.Booth, K., Tran, T., Nejat, G., & Beck, C. (2016). Mixed-integer and constraint programming techniques for mobile robot task planning.
*IEEE Robotics and Automation Letters*,*1*, 500–507.CrossRefGoogle Scholar - 4.Brafman, R.I. (2001). A simplifier for propositional formulas with many binary clauses. In
*Proceedings of the 17th international joint conference on artificial intelligence (IJCAI 2001)*(pp. 515–522).Google Scholar - 5.Cappart, Q., & Schaus, P. (2017). Rescheduling railway traffic on real time situations using time-interval variables. In
*Proceedings of the 14th international conference on integration of AI and OR techniques in constraint programming (CPAIOR 2017)*(pp. 312–327).Google Scholar - 6.Cesta, A., & Oddi, A. (1996). Gaining efficiency and flexibility in the simple temporal problem. In
*Proceedings of the 3rd international workshop on temporal representation and reasoning (TIME 1996)*(pp. 45–50).Google Scholar - 7.Cherkassky, B., Goldberg, A., & Radzic, T. (1996). Shortest paths algorithms: theory and experimental evaluation.
*Mathematical Programming*,*73*, 129–174.MathSciNetzbMATHGoogle Scholar - 8.Dechter, R., Meiri, I., & Pearl, J. (1991). Temporal constraint networks.
*Artificial Intelligence*,*49*(1-3), 61–96.MathSciNetCrossRefzbMATHGoogle Scholar - 9.Dvořák, J., Heller, M., & Hanzálek, Z. (2017). Makespan minimization of Time-Triggered traffic on a TarticleTarticleEthernet network. In
*Proceedings of the IEEE 13th international workshop on factory communication systems (WFCS 2017)*.Google Scholar - 10.Frank, J., Do, M., & Tran, T.T. (2016). Scheduling ocean color observations for a GEO-Stationary satellite. In
*Proceedings of the 26th international conference on automated planning and scheduling (ICAPS 2016)*.Google Scholar - 11.Gay, S., Hartert, R., & Schaus, P. (2015). Simple and scalable time-table filtering for the cumulative constraint. In
*Proceedings of the 21st international conference on principles and practice of constraint programming (CP 2015)*(pp. 149–157).Google Scholar - 12.GECODE: Gecode Toolkit (2016). Available at http://www.gecode.org/.
- 13.Gedik, R., Kirac, E., Milburn, A.B., & Rainwater, C. (2017). A constraint programming approach for the team orienteering problem with time windows.
*Computers & Industrial Engineering*,*107*, 178–195.CrossRefGoogle Scholar - 14.Gedik, R., Rainwater, C., Nachtmann, H., & Pohlb, E. (2016). Analysis of a parallel machine scheduling problem with sequence dependent setup times and job availability intervals.
*European Journal of Operational Research*,*251*, 640–650.MathSciNetCrossRefzbMATHGoogle Scholar - 15.Giles, K., & van Hoeve, W.J. (2016). Solving a supply-delivery scheduling problem with constraint programming. In
*Proceedings of the 22th international conference on principles and practice of constraint programming (CP 2016)*(pp. 602–617).Google Scholar - 16.Godard, D., Laborie, P., & Nuijten, W. (2005). Randomized large neighborhood search for cumulative scheduling. In
*Proceedings of the 15th international conference on automated planning and scheduling (ICAPS 2005)*(pp. 81–89).Google Scholar - 17.Gregory, A., & Majumdar, S. (2016). Energy aware resource management for MapReduce jobs with service level agreements in cloud data centers. In
*Proceedings of the IEEE international conference on computer and information technology (CIT 2016)*(pp. 568–577).Google Scholar - 18.Ham, A., & Cakici, E. (2016). Flexible job shop scheduling problem with parallel batch processing machines: MIP and CP approaches.
*Computers & Industrial Engineering*,*102*, 160–165.CrossRefGoogle Scholar - 19.Han, J., Yuan, Z., Han, Y., Peng, C., Liu, J., & Li, G. (2017). An adaptive scheduling algorithm for heterogeneous Hadoop systems. In
*Proceedings of the IEEE/ACIS 16th international conference on computer and information science (ICIS 2017)*(pp. 845–850).Google Scholar - 20.Hooker, J.N. (2007). Planning and scheduling by logic-based benders decomposition.
*Operations Research*,*55*(3), 588–602.MathSciNetCrossRefzbMATHGoogle Scholar - 21.IBM: ILOG CPLEX Optimization Studio 12.7.1: CP Optimizer Online Documentation (2017). Available at http://ibm.biz/COS1271Documentation.
- 22.Kinable, J. (2016). A reservoir balancing constraint with applications to bike-sharing. In
*Proceedings of the 13th international conference on integration of AI and OR techniques in constraint programming (CPAIOR 2016)*(pp. 216–228).Google Scholar - 23.Kinable, J., van Hoeve, W.J., & Smith, S. (2016). Optimization models for a real-world snow plow routing problem. In
*Proceedings of the 13th international conference on Integration of AI and OR techniques in constraint programming (CPAIOR 2016)*(pp. 229–245).Google Scholar - 24.Kinnunen, T. (2016). Cost-efficient vacation planning with variable workforce demand and manpower. Technical report, Aalto University School of Science.Google Scholar
- 25.Kizilay, D., Eliiyi, D.T., & Van Hentenryck, P. (2018). Constraint and mathematical programming models for integrated port container terminal operations. In
*Proceedings of the 15th international conference on the integration of constraint programming, artificial intelligence, and operations research (CPAIOR 2018)*.Google Scholar - 26.Kolisch, R., & Sprecher, A. (1996). PSPLIB - A project scheduling problem library.
*European Journal of Operational Research*,*96*, 205–216.CrossRefzbMATHGoogle Scholar - 27.Kramer, L.A., Barbulescu, L.V., & Smith, S.F. (2007). Understanding performance tradeoffs in algorithms for solving oversubscribed scheduling. In
*Proceedings of the 22nd AAAI conference on artificial intelligence (AAAI 2007)*(pp. 1019–1024).Google Scholar - 28.Ku, W.Y., & Beck, J.C. (2016).
*Mixed integer programming models for job shop scheduling: a computational analysis*. Computers & Operations Research.Google Scholar - 29.Laborie, P. (2009). IBM ILOG CP Optimizer for detailed scheduling illustrated on three problems. In
*Proceedings of the 6th international conference on integration of AI and OR techniques in constraint programming for combinatorial optimization problems (CPAIOR 2009)*(pp. 148–162).Google Scholar - 30.Laborie, P. (2014). An optimal iterative algorithm for extracting MUCs in a black-box constraint network. In
*Proceedings of the 21st European conference on artificial intelligence (ECAI 2014)*(pp. 1051–1052).Google Scholar - 31.Laborie, P. (2018). Objective landscapes for constraint programming. In
*Proceedings of the 15th international conference on the integration of constraint programming, artificial intelligence, and operations research (CPAIOR 2018)*.Google Scholar - 32.Laborie, P. (2018). An update on the comparison of MIP, CP and hybrid approaches for mixed resource allocation and scheduling. In
*Proceedings of the 15th international conference on the integration of constraint programming, artificial intelligence, and operations research (CPAIOR 2018)*.Google Scholar - 33.Laborie, P., & Godard, D. (2007). Self-adapting large neighborhood search: application to single-mode scheduling problems. In Baptiste, P., Kendall, G., Munier-Kordon, A., & Sourd, F. (Eds.)
*Proceedings of the 3rd multidisciplinary international conference on scheduling: Theory and applications (MISTA 2007)*(pp. 276–284). Paris.Google Scholar - 34.Laborie, P., & Messaoudi, B. (2017). New results for the GEOCAPE observation scheduling problem. In
*Proceedings of the 27th international conference on automated planning and scheduling (ICAPS 2017)*(pp. 382–390).Google Scholar - 35.Laborie, P., & Rogerie, J. (2008). Reasoning with conditional time-intervals. In
*Proceedings of the 21th international Florida artificial intelligence research society conference (FLAIRS 2008)*(pp. 555–560).Google Scholar - 36.Laborie, P., & Rogerie, J. (2016). Temporal linear relaxation in IBM ILOG CP optimizer.
*Journal of Scheduling*,*19*(4), 391–400.MathSciNetCrossRefzbMATHGoogle Scholar - 37.Laborie, P., Rogerie, J., Shaw, P., & Vilím, P. (2009). Reasoning with conditional time-intervals, part II: an algebraical model for resources. In
*Proceedings of the 22th international Florida artificial intelligence research society conference (FLAIRS 2009)*(pp. 201–206).Google Scholar - 38.Lazarev, A., Bronnikov, S., Gerasimov, A., Musatova, E., Petrov, A., Ponomarev, K., Kharlamov, M., Khusnullin, N., & Yadrentsev, D. (2016). Mathematical modeling of the astronaut training scheduling.
*Management of Large Systems*,*63*, 129–154. (in Russian).Google Scholar - 39.Le Pape, C. (1994). Implementation of resource constraints in ILOG schedule: a library for the development of constraint-based scheduling systems.
*Intelligent Systems Engineering*,*3*(2), 55–66.CrossRefGoogle Scholar - 40.Morton, T., & Pentico, D. (1993).
*Heuristic scheduling systems*. NY: Wiley.Google Scholar - 41.Mossige, M. CSPLib problem 073: Test scheduling problem. http://www.csplib.org/Problems/prob073.
- 42.Policella, N., Cesta, A., Oddi, A., & Smith, S. (2004). Generating robust schedules through temporal flexibility. In
*Proceedings of the 14th international conference on automated planning and scheduling (ICAPS 2004)*(pp. 209–218).Google Scholar - 43.Prud’homme, C., Fages, J.G., & Lorca, X. (2016). Choco documentation. TASC, INRIA Rennes, LINA CNRS UMR 6241, COSLING S.A.S. http://www.choco-solver.org.
- 44.Puget, J.F. (2004). Constraint programming next challenge: simplicity of use. In
*Proceedings of the 10th international conference on principles and practice of constraint programming (CP 2004)*(pp. 5–8).Google Scholar - 45.Qin, T., Du, Y., & Sha, M. (2016). Evaluating the solution performance of IP and CP for berth allocation with time-varying water depth.
*Transportation Research*,*87*, 167–185.CrossRefGoogle Scholar - 46.Rainwater, C., Nachtmann, H., & Adbesh, F. (2016). Optimal Dredge Fleet Scheduling within Environmental Work Windows. Technical report, Maritime Transportation Research and Education Center.Google Scholar
- 47.Roofigari-Esfahan, N., & Razavi, S. (2017). Uncertainty-aware linear schedule optimization: a space-time constraint-satisfaction approach.
*Journal of Construction Engineering and Management, 143*(5).Google Scholar - 48.Schmitt, M., & Stuetz, P. (2016). Perception-oriented cooperation for multiple UAVs in a perception management framework: system concept and first results. In
*Proceedings of the IEEE/AIAA 35th digital avionics systems conference (DASC 2016)*(pp. 1–10).Google Scholar - 49.Shaw, P. (1998). Using constraint programming and local search methods to solve vehicle routing problems. In
*Proceedings of the 4th international conference on principles and practice of constraint programming (CP 1998)*(pp. 417–431).Google Scholar - 50.Tran, T., Vaquero, T., Nejat, G., & Beck, C. (2017). Robots in retirement homes: applying off-the-shelf planning and scheduling to a team of assistive robots.
*Journal of Artificial Intelligence Research*,*58*, 523–590.MathSciNetzbMATHGoogle Scholar - 51.Van Hentenryck, P. (1999).
*The OPL optimization programming language*. Cambridge: MIT Press.Google Scholar - 52.Vilím, P. (2007).
*Global constraints in scheduling*. Ph.D. thesis, Charles University in Prague, Faculty of Mathematics and Physics, Department of Theoretical Computer Science and Mathematical Logic, KTIML MFF, Universita Karlova, Malostranské náměstí 2/25, 118 00 Praha 1, Czech Republic. http://vilim.eu/petr/disertace.pdf. - 53.Vilím, P. (2011). Timetable edge finding filtering algorithm for discrete cumulative Resources. In Achterberg, T., & Beck, J. (Eds.)
*Proceedings of the 8th international conference on integration of AI and OR techniques in constraint programming for combinatorial optimization problems (CPAIOR-2011), Lecture notes in computer science (Vol. 6697, pp. 230245). Berlin: Springer*.Google Scholar - 54.Vilím, P., Laborie, P., & Shaw, P. (2015). Failure-directed search for constraint-based scheduling. In
*Proceedings of the 12th international conference on integration of AI and OR techniques in constraint programming (CPAIOR 2015)*(pp. 437–453).Google Scholar

## Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2018