Revert "Revert "LP solver""

This reverts commit 78161fd8de365173e6182728d732efe21ba5e229.