X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2FLinearProgramming.py;h=88cdd8d8cc9f1bc5e8ece5bd8d5e7351308d9d89;hb=72e0a1e1729a2c5693c94d7a835b0735f84d13ed;hp=71d02ffca6df6baef185d47ecfa62551201c7acb;hpb=ade85ef1d6cea62110e02a426f84042edd6613b9;p=dead%2Fcensus-tools.git diff --git a/src/LinearProgramming.py b/src/LinearProgramming.py index 71d02ff..88cdd8d 100644 --- a/src/LinearProgramming.py +++ b/src/LinearProgramming.py @@ -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)