Written for the panel of SIH26119. Nothing below asks you to take our word for anything: each step ends with a file you can open or a program you can run that we did not write.
The problem statement's hard requirement. Three places to look, none of them a README.
Build it, then let a program that shares no code with the solver check what it says. The build is five commands on Windows, Ubuntu or macOS; the Run it page has the toolchain line for each.
git clone https://github.com/thegoodengineers/SANKHYA && cd SANKHYA
scripts/configure.sh build Release
cmake --build build -j
ctest --test-dir build --output-on-failureExpect the build to finish with no warnings and ctest to end with 100% tests passed. The suite includes a fuzz test that compares the simplex against an exact rational-arithmetic oracle on random models.
./build/sankhya solve demo/crude_blend.mps --write-sol blend.sol --ranging
python tools/verify_solution.py demo/crude_blend.mps blend.solThe checker reads only the model file and the solution file, re-derives feasibility and optimality in its own arithmetic and prints its verdict with the residuals. Open blend.sol: every row has its shadow price and its range.
./build/sankhya solve demo/crude_blend_infeasible.mps --write-sol no.sol
python tools/verify_solution.py demo/crude_blend_infeasible.mps no.solThe status is infeasible, the solution file carries a Farkas certificate and the smallest conflicting set of constraints, and the checker verifies the certificate against the model. A verdict that has no certificate says so in its message rather than staying silent.
demo/run_demo.sh --list
demo/run_demo.sh share2bClassic Netlib models, committed in the repository so nothing is downloaded. Each solve prints our objective against the published optimum and ends with the checker's verdict; the benchmark runners in bench/runners/ do the same for the full set and write a CSV with the commit hash and your machine's tag.
Against HiGHS, the strongest open-source LP code: the same answer on all 50 medium Netlib models, at about twice its wall time, measured with HiGHS in a separate process on the same machine. Against the published Netlib optima: 80 of 89 matched and verified; of the nine others, eight are cases where the published table itself is the outlier and HiGHS agrees with us.
On mixed-integer models it reaches the published optimum on 14 of 30 MIPLIB easy instances and proves it on 9. On the eight smallest Mittelmann LPs it finishes two inside 300 seconds, both with the first-order engine and both verified; the default simplex and the interior point finish none. The GPU backend is written and has never been compiled, because the team has no GPU.
Every number above, with its CSV → The full list of limits →
tools/verify_solution.py. It reads the model file and the solution file, nothing else, and decides for itself whether the answer is feasible, optimal and proved.