This branch adds GLPK bindings. the glpk-hs
hackage package didn't build out of the box, and additionally C bindings are hard to package: I vendored the source tree. The branch should also implement BwCR from [1], switch the default bandit strategy to that, and plug a periodically re calibrated energy/throughput objective into it. This allows avoiding a lagrange multiplier.
Linearized EXP3 objective should still be available, for debug purposes, with lagrange multiplier. CPD becomes explicit weighted multi-objective linear combination plus constraints.
[1] Bandits with Global Convex Constraints and Objective, Shipra Agrawal, Nikhil R.Devanur. https://pubsonline.informs.org/doi/abs/10.1287/opre.2019.1840
Closes #8 (closed)