EuroSciPy 2025

Solving Hard Optimization Problems with Pyomo and HiGHS: A Practical Introduction
2025-08-21 , Large Room

Mixed-Integer Programming (MIP) is a fundamental technique for solving complex real-world optimization problems in logistics, scheduling, and resource allocation. However, these problems are combinatorially hard, requiring specialized solvers to find optimal solutions efficiently. This talk introduces Pyomo, a Python-based modeling language, and HiGHS, a state-of-the-art open-source solver. We will first explore the class of problems that MIP can solve, discuss why they are computationally challenging, and then explain how modern solvers like HiGHS tackle these challenges. Using conference scheduling as a real-world example, we demonstrate how Pyomo and HiGHS work together to model and solve an optimization problem. Attendees will leave with a clear understanding of how to leverage these tools for scientific and industrial optimization tasks.


1. Introduction (3 min) – What Kind of Problems Can MIP Solve?

  • MIP is widely used in scheduling, logistics, and operations research.
  • Examples of real-world problems: workforce scheduling, vehicle routing, and conference scheduling.
  • Why are these problems hard? The explosion of possible solutions in combinatorial optimization.

2. Why Are These Problems Difficult? (2 min) – The Challenge of Combinatorial Optimization

  • Theoretical complexity: Why brute-force search is infeasible.
  • How solvers like HiGHS approach the problem efficiently:
  • Branch-and-Bound: How it systematically narrows down the search space.
  • Cutting Planes & Presolve Techniques: Reducing problem size before solving.
  • Heuristics vs. Exact Solutions: Trade-offs in computation time.

3. Introduction to Pyomo & HiGHS (4 min) – The Optimization Toolkit

  • Pyomo: A structured way to define optimization models in Python.
  • HiGHS: A high-performance solver for linear and mixed-integer problems.
  • How they work together: Model in Pyomo → Solve with HiGHS → Interpret results.

4. Conference Scheduling (5 min) – A Practical Example

  • Formulating the problem as a MIP model:
  • Decision variables: Assigning talks to rooms and time slots.
  • Constraints: Speaker availability, room capacities, topic grouping.
  • Objective function: Maximizing session coherence and fairness.
  • Broad overview of the Python implementation:
  • Writing the model in Pyomo.
  • Solving it using HiGHS.
  • Evaluating the solution.

5. Conclusion & Wrap-up (1 min) – Key Takeaways

  • Why Pyomo and HiGHS? Flexibility, efficiency, and scalability.
  • Where to go next: Learning resources and real-world applications beyond scheduling.

Expected audience expertise: Domain:

some

Expected audience expertise: Python:

some

Project homepage or Git:

https://github.com/PioneersHub/pytanis

Florian is Head of Data Science & Mathematical Modeling at inovex GmbH, an IT project center driven by innovation and quality, focusing its services on ‘Digital Transformation’. He holds a PhD in mathematics, has more than 10 years of experience in predictive & prescriptive analytics use-cases and likes everything math 🤯