For example https://github.com/coin-or/pulp ML should allow for lazy constraints so we can easily implement #2