Documentation
Library manual
Reference for the self-contained C++20 divisible-load scheduling library that powers this portal: what it is for, what it covers, how to build and use it, and how it is licensed. Concepts and notation are defined in the Knowledge base. This manual is a living document and will grow as new problem classes and solvers are added.
Purpose
The library computes and evaluates schedules for divisible loads: given an arbitrarily splittable workload, a network of worker processors with individual startup costs, link bandwidths and compute speeds, and (optionally) per-processor memory limits and an energy model, it decides how to partition the work and in what order to deliver the chunks so that the entire load finishes as early as possible (and, where an energy model is provided, with as little energy as possible). It covers the full spectrum from instant closed-form solutions and fast heuristics to provably-optimal branch-and-bound and MILP solvers, all driven through a uniform DLSSolver interface that makes it trivial to swap or compare methods.
It is built for researchers, students and practitioners who need reproducible, provable answers rather than ad-hoc heuristics. Every result comes with a lower bound so the quality certificate is always available. The solver portfolio is registered under stable string names ("auto", "best-rate", "exact-milp", …) that are identical across the C++ API, the command-line tool, and the JSON HTTP endpoint, so experiments written for one interface translate directly to the others.
The library is deliberately self-contained: it has no mandatory runtime dependency beyond a C++20 compiler and the CMake build system (an in-house simplex solver handles the LP back-end). Adding the optional HiGHS open-source MILP solver unlocks the two mixed-integer programs. There is no dependency on this web interface, no cloud service, and no Python interpreter required for the C++ core. Any language that can load a shared library or exec a subprocess can drive it. The Divisible Load Theory portal is built on top of it, not the other way around.