integration with lp_solve.
"""
+import fractions
import os
import site
import sys
# Add LP_SOLVE_PATH to our path. There is no point to this variable
# other than to make the site.addsitedir() line fit within 80
# characters.
-LP_SOLVE_PATH = '/../lib/lp_solve'
+LP_SOLVE_PATH = '/../../lib/lp_solve'
site.addsitedir(os.path.dirname(os.path.abspath(sys.argv[0])) + LP_SOLVE_PATH)
from lpsolve55 import *
"""
return self._type
-
+ @type.setter
def type(self, type):
if type == MINIMIZE:
self._type = MINIMIZE
+ def print_tableau(self):
+ """
+ Tell lp_solve to print its simplex tableau. Only works after
+ a successful call to solve().
+ """
+ lpsolve('set_outputfile', self._lp, '')
+ lpsolve('print_tableau', self._lp)
+
+
def __init__(self):
"""
Initialize the object, setting all of the properties
[obj, x, duals, ret] = lpsolve('get_solution', self._lp)
return [obj, x, duals]
+
+
+ def objective_coefficient_gcd(self):
+ """
+ Return the GCD of all objective function coefficients.
+ """
+ return reduce(fractions.gcd, self.objective_coefficients)