Thursday 16:00
in room 1.38 (ground floor)
Solving Hard Optimization Problems with Pyomo and HiGHS: A Practical Introduction
Florian Wilhelm
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.