gridstart exact repair: a solver answer is used only if it is reported solved, or passes the block test and does not raise the cost; descent returns the cheapest feasible iterate; reference rerun (same counts, gaps below 1e-9)
globmp/gridstart reorganized: init.py holds INIT (Algorithm 3) and the plain grid only, instance.py the instance and the exact piece test, exact_repair.py the repair step and GlobMP with it; READMEs point to Algorithm 3
Grid start of Theorem 1 by a shortest path over the joints (Algorithm INIT): globmp/gridstart with the instance, INIT, the plain grid, the exact repair step and reference results