Solver Max logo

CP-SAT primer

This unofficial primer for the OR-Tools CP-SAT solver is designed to help you understand this powerful tool. It may be especially useful if you are coming from the Mixed Integer Linear Programming community, as the CP-SAT solver can be successful in cases where Branch and Bound performs poorly.

Topics include:

  • Installation. Quick installation guide.
  • Examples. A short example, showing the usage of CP-SAT.
  • Basic modeling. An overview of variables, objectives, and constraints.
  • Advanced modeling. More complex constraints, such as circuit constraints and intervals.
  • Parameters. How to specify CP-SATs behavior, if needed. Timelimits, hints, assumptions, parallelization, ...
  • Coding patterns. Basic design patterns for creating maintainable algorithms.
  • How does it work? After we know what we can do with CP-SAT, we look into how CP-SAT will do all these things.
  • Alternatives. An overview of the different optimization techniques and tools available. Putting CP-SAT into context.
  • Benchmarking your model. How to benchmark your model and how to interpret the results.
  • Large neighborhood search. The use of CP-SAT to create more powerful heuristics.

Blog: CP-SAT primer.