JuliaCon 2026

ORTools.jl: CP-SAT through JuMP
2026-08-13 , Room 5

Following our introduction of ORTools.jl, this session focuses on the specialized integration of Google’s CP-SAT solver within the JuMP ecosystem. We move beyond the general package overview to examine the specific implementation of CP-SAT for Julia users. The talk covers the technical mapping of constraints to the solver’s interface and discusses the development challenges encountered when bridging CP-SAT with Julia.


Building on the foundation of ORTools.jl, this session provides a practical dive into the integration of Google’s CP-SAT solver within the Julia ecosystem. While ORTools.jl provides a broad bridge to Google’s optimization suite via Google’s MathOpt & Julia’s MathOptInterface, the CP-SAT implementation warrants a closer look. CP-SAT has won gold medals at the MiniZinc challenge for more than a decade

We will discuss the interface used to expose CP-SAT to JuMP users. A primary focus will be the data structure conversions required to map Julia-based constraints to the solver's Protocol Buffer interface and practical examples on how to model some problems and invoke CP-SAT through ORTools.jl as interfaced through JuMP. Because CP-SAT is natively a C++ engine, we will detail the technical hurdles of cross-language interoperability and the use of a specialized C API and JLL package to ensure a seamless installation for end users.

Attendees will gain insight into:
The specific mapping of discrete optimization problems to the CP-SAT through ORTools.jl.
Lessons learned from bridging Julia with the C++ interface.
The current state of CP-SAT features accessible to the Julia community for the first time.

This talk serves as a practical follow-up for those interested in the implementation of ORTools-CP-SAT interface and the specific power of Google's CP-SAT availed in through Julia.

Just a Kenyan interested in the pursuit of knowledge and it's application towards enriching human experiences.