Add edge constraints to lp_solve_interface and refactor.