Item


Constraint Programming with JuMP

Benoit Legat is from the Catholic University of Louvain, Belgium. This tutorial provides a comprehensive guide to solving constraint programming problems using JuMP, a domain-specific modeling language for mathematical optimization in Julia. JuMP supports a wide range of solvers including SAT, CP (both Constraint Programming and Conic Programming), and Mixed-Integer Linear Programming (MILP) solvers, all accessible through a unified interface. One of JuMP’s key features is its powerful constraint reformulation mechanism, which allows users and solvers to define new constraint types and reformulations or to disable existing ones. JuMP’s automatic reformulation process involves solving a shortest path problem within a hypergraph that represents all possible constraint types and their reformulations. This innovative approach enables users to effectively explore and experiment with different reformulations, ensuring the appropriate model is communicated to the solver. JuMP also implements an interface with MiniZinc which allows it to use any solver that MiniZinc supports. We also show how to use callbacks with MILP solvers, an essential feature to combine the generic heuristic of the solver with the user problem-specific knowledge. During the tutorial, we go through several examples to illustrate each aspect of the talk

7766.mp4 7766.mp3

Universitat de Girona. Departament d’Informàtica, Matemàtica Aplicada i Estadística

Other contributions: Universitat de Girona. Departament d’Informàtica, Matemàtica Aplicada i Estadística
Author: Legat, Benoit
Date: 2024 September 3
Abstract: Benoit Legat is from the Catholic University of Louvain, Belgium. This tutorial provides a comprehensive guide to solving constraint programming problems using JuMP, a domain-specific modeling language for mathematical optimization in Julia. JuMP supports a wide range of solvers including SAT, CP (both Constraint Programming and Conic Programming), and Mixed-Integer Linear Programming (MILP) solvers, all accessible through a unified interface. One of JuMP’s key features is its powerful constraint reformulation mechanism, which allows users and solvers to define new constraint types and reformulations or to disable existing ones. JuMP’s automatic reformulation process involves solving a shortest path problem within a hypergraph that represents all possible constraint types and their reformulations. This innovative approach enables users to effectively explore and experiment with different reformulations, ensuring the appropriate model is communicated to the solver. JuMP also implements an interface with MiniZinc which allows it to use any solver that MiniZinc supports. We also show how to use callbacks with MILP solvers, an essential feature to combine the generic heuristic of the solver with the user problem-specific knowledge. During the tutorial, we go through several examples to illustrate each aspect of the talk
7766.mp4 7766.mp3
Format: audio/mpeg
video/mp4
Document access: http://hdl.handle.net/10256.1/7766
Language: eng
Publisher: Universitat de Girona. Departament d’Informàtica, Matemàtica Aplicada i Estadística
Collection: 30th International Conference on Principles and Practice of Constraint Programming
Rights: Attribution-NonCommercial-ShareAlike 4.0 International
Rights URI: http://creativecommons.org/licenses/by-nc-sa/4.0/
Subject: Programació per restriccions (Informàtica) -- Congressos
Constraint programming (Computer science) -- Congresses
Llenguatges de programació -- Congressos
Programming languages (Electronic computers) -- Congresses
Title: Constraint Programming with JuMP
Type: info:eu-repo/semantics/lecture
Repository: DUGiMedia

Subjects

Authors