Hi everyone, I'm working on a C++ library implementing a heuristic algorithm for the Set Covering Problem:
The SCP is a classic combinatorial optimization problem that asks, given a set and a collection of subsets, to find the minimum-cost group of subsets that covers everything in the original set. You can find SCPs in crew scheduling or test selection, for example.
Currently, commercial MILP solvers like Cplex or Gurobi are often the go-to option for SCPs. But, while they are powerful, well-designed heuristics can often achieve even better results (especially when the available time is tight).
Our implementation is based on the work of . It was originally developed for a research project, but we've decided to clean it up and make it publicly available as a free, high-performing alternative.
We also hope the library serves as a helpful companion to the original paper, which can get a bit technical at times.
Since this is our first real open-source contribution, any constructive feedback is welcomed. We hope this library will prove helpful.
Thanks!