Conducting MIP research in open-source software - An introduction to SCIP
Professor Hojny will teach the following 6 hours PhD course for the ABRO program
Bio: Christopher Hojny is a mathematician working in mathematical optimization, with a focus on computational integer programming. He received his doctorate from Technische Universität Darmstadt, Germany, in 2018, and in 2019 he joined the Department of Mathematics and Computer Science at Eindhoven University of Technology, the Netherlands, as an assistant professor. His central research area is symmetry handling in mixed-integer programming, where he develops theory and algorithms that exploit symmetries to improve solver performance. In addition to this theoretical work, he integrates these methods into the open-source solver SCIP, of which he is a long-standing co-developer. His broader interests include the theoretical properties of mixed-integer programs and the design of effective techniques for solving specific applications more efficiently. Christopher is also active in the academic community. He has co-organized three MIP Workshops, serves on the governing board of the Mixed-Integer Programming Society, and is an associate editor of Mathematical Programming Computation.
Abstract: This course introduces SCIP, an open-source solver for mixed-integer programming (MIP), along with its main features and the case for conducting MIP methodological research in an open-source environment. Open access to the solver's internals is essential for a scientifically sound, transparent, and reproducible evaluation of new methods, allowing researchers to compare techniques fairly and build on each other's work. The main part of the course focuses on PySCIPOpt, SCIP's Python interface, and shows how core MIP techniques can be implemented with it. Using the graph coloring problem as a running example, participants will see how a single problem can be tackled with a range of methods. The course covers lazy constraints, cutting plane separation, primal heuristics, and branching rules, and then moves on to column generation and its integration into a full branch-and-price algorithm. By the end of the course, participants will understand how SCIP's plugin-based architecture works and how to use PySCIPOpt to prototype and test their own solution techniques. Basic knowledge of integer programming and Python is expected.
Il Corso si svolgerà presso il DIAG in Aula B203 a via Ariosto 25, 2° piano lato destro.
|
|
When |
What |
|
|
|
|
|
Lecture 1 |
22/10/2026 17:00-19:00 |
a short introduction on SCIP and its features, explaining how to use these features in SCIP's Python interface |
|
|
|
|
|
Lecture 2 |
23/10/2026 9:00-13:00 |
lazy constraints, cutting plane separation, heuristics, column generation, branching rules, branch-and-price |
|
|
|
|
|
|
|
|