Adds code for generating random FI graphs.
Adds support for linear programming solutions.

Users can select one of several linear programming solvers to use as the
backend.