Currently only a subset of CP-SAT is supported.
Pull requests providing the missing features are welcome, but please pay attention to documentation and tests.
This project provides two packages:
ortools is an OCaml interface for building CP-SAT models. It does not require an installation of OR-Tools as it simply works with the protocol buffer format. See utils/sat_solve_pb.{c,py} for examples of interfacing with the CP-SAT solver.ortools_solvers builds on ortools to provide a simple OCaml interface for calling CP-SAT. This package builds its own version of OR-Tools and, on Linux, the libraries abseil, re2, protobuf, and protobuf-c.Online docs: https://inria.github.io/ocaml-ortools/
opam install ocamlfind ortools_solvers
ocamlfind ocamlopt -o cp_is_fun_sat.exe \
-package ortools_solvers -linkpkg \
samples/sat/cp_is_fun_sat.ml
./cp_is_fun_sat.exesat/samplesalcotest to test the interface.Interval constraintsNoOverlap constraintsNoOverlap2D constraintsElement constraintsCircuit constraintsRoutes constraintsTable constraintsAutomaton constraintsInverse constraintsReservoir constraintsCumulative constraintsDummy constraints