[Scheduling seminar] Laurent Perron (Google France) | The CP-SAT solver

Keywords: Constraint programming, SAT solver, Integer linear programming The CP-SAT solver is developed by the Operations Research team at Google and is part of the OR-Tools open-source optimization suite. It is an implementation of a purely integral Constraint Programming solver on top of a SAT solver using Lazy Clause Generation. It draws its inspiration from the chuffed solver, and from the CP 2013 plenary by Peter Stuckey on Lazy Clause Generation. The CP-SAT solver improves upon the chuffed solver in two main directions. First, it uses a simplex alongside the SAT engine. Second, it implements and relies upon a portfolio of diverse workers for its search part. The use of the simplex brings the obvious advantages of a linear relaxation on the linear part of the full model. It also started the integration of MIP technology into CP-SAT. This is a huge endeavour, as MIP solvers are mature and complex. It includes presolve - which was already a part of CP-SAT --, dual reductions, specific branching rules, cuts, reduced cost fixing, and more advanced techniques. It also allows the tight integration of the research from the Scheduling on MIP community along with the most advanced scheduling algorithms. This has enabled breakthroughs in solving and proving hard scheduling instances of the Job-Shop problems and Resource Constraint Project Scheduling Problems. Using a portfolio of different workers makes it easier to try new ideas and to incorporate orthogonal techniques with little complication, except controlling the explosion of potential workers. These workers can be categorized along multiple criteria like finding primal solutions -- either using complete solvers, Local Search or Large Neighborhood Search --, improving dual bounds, trying to reduce the problem with the help of continuous probing. This diversity of behaviors has increased the robustness of the solver, while the continuous sharing of information between workers has produced massive speedups when running multiple workers in parallel. All in all, CP SAT is a state-of-the-art solver, with unsurpassed performance in the Constraint Programming community, breakthrough results on Scheduling benchmarks (with the closure of many open problems), and competitive results with the best MIP solvers (on purely integral problems). Organized by Zdenek Hanzalek (CTU in Prague), Michael Pinedo (New York University), and Guohua Wan (Shanghai Jiao Tong). Seminar's webpage: https://schedulingseminar.com/

[Scheduling seminar] Pieter Smet (KU Leuven) | Robustness in personnel rostering
▶︎

[Scheduling seminar] Pieter Smet (KU Leuven) | Robustness in personnel rostering

[Scheduling seminar] Pascal Van Hentenryck (Georgia Tech) | Constraint Programming for Scheduling
▶︎

[Scheduling seminar] Pascal Van Hentenryck (Georgia Tech) | Constraint Programming for Scheduling

A Peek Inside SAT Solvers - Jon Smock
▶︎

A Peek Inside SAT Solvers - Jon Smock

[Scheduling seminar] Helmut Simonis (Insight, UCC): Constraint Based Scheduling: A User Perspective
▶︎

[Scheduling seminar] Helmut Simonis (Insight, UCC): Constraint Based Scheduling: A User Perspective

Webinar | Introduction to parallel performance engineering
▶︎

Webinar | Introduction to parallel performance engineering

Deep Dive into LLMs like ChatGPT
▶︎

Deep Dive into LLMs like ChatGPT

[Scheduling seminar] Přemysl Šůcha (CTU in Prague) | Machine Learning Inside Decomposition
▶︎

[Scheduling seminar] Přemysl Šůcha (CTU in Prague) | Machine Learning Inside Decomposition

Full Archon Guide - Build AI Coding Harnesses That Actually Ship (LIVE)
▶︎

Full Archon Guide - Build AI Coding Harnesses That Actually Ship (LIVE)

RL for Agents Workshop - Deep Dive on Training Agents with RL and Open Source
▶︎

RL for Agents Workshop - Deep Dive on Training Agents with RL and Open Source

Unlocking the Power of Google OR-Tools with MathOptInterface.jl | Thibaut Cuvelier | JuMP-dev 2025
▶︎

Unlocking the Power of Google OR-Tools with MathOptInterface.jl | Thibaut Cuvelier | JuMP-dev 2025

Allah Will Not Change You Until…| Late Night Reflections #2
▶︎

Allah Will Not Change You Until…| Late Night Reflections #2

[Scheduling seminar] Changhyun Kwon (KAIST/Omelet, Inc.) | Learning-Based Approaches to Comb. Prob.
▶︎

[Scheduling seminar] Changhyun Kwon (KAIST/Omelet, Inc.) | Learning-Based Approaches to Comb. Prob.

MathOpt: Solver Independent Modeling in Google's OR-Tools | Ross Anderson | JuliaCon 2023
▶︎

MathOpt: Solver Independent Modeling in Google's OR-Tools | Ross Anderson | JuliaCon 2023

Concurrency is not Parallelism by Rob Pike
▶︎

Concurrency is not Parallelism by Rob Pike

Tufayl ibn Amr (ra): The Hidden Legend | The Firsts | Dr. Omar Suleiman
▶︎

Tufayl ibn Amr (ra): The Hidden Legend | The Firsts | Dr. Omar Suleiman

[Scheduling seminar] Hoogeveen, J.A. (Utrecht Uni)  | Planning shunting operations at railway hubs
▶︎

[Scheduling seminar] Hoogeveen, J.A. (Utrecht Uni) | Planning shunting operations at railway hubs

Google OR-Tools for Constraint Programming
▶︎

Google OR-Tools for Constraint Programming

Alena Otto (TU Munich) Overcoming poor data quality
▶︎

Alena Otto (TU Munich) Overcoming poor data quality

[Scheduling seminar] Zhi-Long Chen (Univ of Maryland) | Online Integrated Production Scheduling
▶︎

[Scheduling seminar] Zhi-Long Chen (Univ of Maryland) | Online Integrated Production Scheduling

Pawel Lichocki - OR-tools
▶︎

Pawel Lichocki - OR-tools