C++ for Combinatorial Optimization: From Exact Solvers to MetaheuristicsCombinatorial 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ć](https://www.linkedin.com/in/luka-matijevic/)** |
| 🕕 **Date & Time** | **27th of May (Wednesday), 6 pm** |
| 📍 **Location** | **Beograđanka, Vidikovac, 22nd floor** |
| 🏢 **Address** | **Masarikova 5** |
| 💻 **Online** | **[C++ Serbia YouTube](https://www.youtube.com/@cppserbia)** |
See you!