OR-Tools for JuMP

Are there plans to add the solvers in OR-Tools to JuMP? OR-Tools has 2 LP solvers, PDLP and GLOP, and a constraint programming solver, CP-SAT, which solves integer linear programs (no continuous variables) and more general constraint programs.

@dourouc05 works at Google on the OR-Tools team and is slowly chipping away at this when they can spare the time.

See for recent progress: Add builder for OR-Tools by dourouc05 ยท Pull Request #7278 ยท JuliaPackaging/Yggdrasil ยท GitHub

2 Likes

To give more details, the first step of brining OR-Tools to Julia will focus on MathOpt and the solvers that it can access, i.e. Glop, PDLP (but up to 2-GB models), and CP-SAT (but only for MIP formulations). Iโ€™ll make an announcement here when there is something useable :)!

(However, the Julia interface will probably never be officially supported, unlike the C++, C#, Java, and Python ones. There is currently no ETA, but it will probably have to wait until OR-Tools 10.0 at least for the required C API to be available and supported.)

2 Likes

A MathOptInterface wrapper for MathOpt, plus Yggdrasil support for PDLP would go a long way.

See https://www.youtube.com/watch?v=L5b4YQowXBg for the distinction between MathOpt and MOI.

There are Julia and C implementations of the LP algorithm PDLP that run on an Nvidia GPU. I suspect that the C implementation is faster than the Julia implementation. Is it possible to add one or both of these as JuMP solvers?

I have no plans to write the wrapper, but Iโ€™m happy to review or give pointers to anyone who wants to give it a go.