]> gitweb.michael.orlitzky.com - dead/census-tools.git/blobdiff - src/LinearProgramming.py
Add the objective_coefficient_gcd function to the LinearProgramming class.
[dead/census-tools.git] / src / LinearProgramming.py
index 71d02ffca6df6baef185d47ecfa62551201c7acb..88cdd8d8cc9f1bc5e8ece5bd8d5e7351308d9d89 100644 (file)
@@ -3,6 +3,7 @@ Classes to create, solve, and make dinner for linear programs. Handles
 integration with lp_solve.
 """
 
+import fractions
 import os
 import site
 import sys
@@ -13,7 +14,7 @@ import sys
 LP_SOLVE_PATH = '/../lib/lp_solve'
 site.addsitedir(os.path.dirname(os.path.abspath(sys.argv[0])) + LP_SOLVE_PATH)
 
-from lp_solve import *
+from lpsolve55 import *
 
 
 # Constants representing the two types of linear programs.
@@ -318,3 +319,10 @@ class LinearProgram(object):
             [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)