Combinatorial optimization layers for machine learning pipelines
78 Stars
Updated Last
7 Months Ago
Started In
April 2022


Stable Dev Build Status Coverage Code Style: Blue


InferOpt.jl is a toolbox for using combinatorial optimization algorithms within machine learning pipelines.

It allows you to create differentiable layers from optimization oracles that do not have meaningful derivatives. Typical examples include mixed integer linear programs or graph algorithms.

Getting started

To install the stable version, open a Julia REPL and run the following command:

julia> using Pkg; Pkg.add("InferOpt")

To install the development version, run this command instead:

julia> using Pkg; Pkg.add(url="")

Citing us

If you use our package in your research, please cite the following paper:

Learning with Combinatorial Optimization Layers: a Probabilistic Approach - Guillaume Dalle, Léo Baty, Louis Bouvier and Axel Parmentier (2022)