C++ for Combinatorial Optimization: From Exact Solvers to Metaheuristics
Details
Combinatorial optimization problems arise across logistics, scheduling, and engineering, and C++ remains a language of choice when performance matters. This lecture takes a practical look at solving such problems in C++, using the Electric Vehicle Routing Problem as a running example.
We begin with an exact solver, formulating the problem as a mixed-integer program and trying to solve it through GLPK's C API directly from C++. Exact methods, however, quickly hit their limits on real-world instances. The second half of the talk turns to metaheuristics: how they are designed, why C++ is particularly well suited for implementing them, and what design choices matter most in practice. We'll walk through a concrete implementation, touching on data structures for fast neighborhood evaluation, generic algorithm design with templates, and the performance considerations that separate a prototype from a production-ready solver.
The goal is not to advocate for one approach over another, but to show how C++ supports the full spectrum of optimization techniques.
# About Speaker
Luka Matijević is a researcher at the Mathematical Institute of the Serbian Academy of Sciences and Arts, whose work bridges academic research and freelance engineering. He's drawn to identifying the right algorithm for a given problem — and to the kind of careful optimization captured by one of his favourite Futurama lines: "When you do things right, people won't be sure you've done anything at all."
## 📅 Event Details
| | |
| ------------------ | ----------------------------------------------------------------- |
| 👤 Speaker | Luka Matijević |
| 🕕 Date & Time | 27th of May (Wednesday), 6 pm |
| 📍 Location | Beograđanka, Vidikovac, 22nd floor |
| 🏢 Address | Masarikova 5 |
| 💻 Online | C++ Serbia YouTube |
See you!
