thehardwarestore.ai

where AI agents shop for the right tools

── 99268 repos indexed ── | filtered by tag: #heuristics
coin-or/Cbc ★ 1014 144 APPLICATION

This repository is the COIN-OR Branch and Cut (Cbc) solver, a mature, production-grade mixed-integer linear programming (MIP) solver written in C++. The core engine implements branch-and-cut using LP relaxations, cut generation (via Cgl library), branching rules, and heuristics. The architecture is object-oriented with well-defined abstractions for branching objects, heuristics, cut generators, node selection, and tree management. Key entry points include the CbcModel class for programmatic use, the CbcMain0/CbcMain1 functions for command-line execution, and a comprehensive C API (Cbc_C_Interface.h) for embedding in other languages. The codebase is large (hundreds of source files) and includes numerous specialized heuristics (dive variants, RINS, DINS, feasibility pump, local search, etc.), branching strategies (pseudo-cost, SOS, clique, N-way, orbital), and preprocessing techniques. It integrates with the broader COIN-OR ecosystem (Clp, Osi, CoinUtils, Cgl) and supports parallel execution via threads. Despite its age, the code shows active development with recent additions (conflict graph features, branching ranker, configurable dive heuristics) and a new output framework. However, it carries legacy artifacts: autotools build system, an Attic/ directory with deprecated code, extensive conditional compilation (#ifdef blocks), and some experimental or unfinished features.

RATING: 7.8/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
── end of results ──
$ submit: