From: Michael Orlitzky Date: Sat, 10 Jul 2010 01:21:56 +0000 (-0400) Subject: Added a property for the linear program's epsilon level. X-Git-Url: https://gitweb.michael.orlitzky.com/?a=commitdiff_plain;h=3bc9f5d2b4196fce972776f38856da05817e7364;p=dead%2Fcensus-tools.git Added a property for the linear program's epsilon level. --- diff --git a/src/LinearProgramming.py b/src/LinearProgramming.py index 4211058..7ea144b 100644 --- a/src/LinearProgramming.py +++ b/src/LinearProgramming.py @@ -26,6 +26,12 @@ from lpsolve55 import * MINIMIZE = 0 MAXIMIZE = 1 +# "Epsilon levels" +# Used to control rounding thresholds. +EPS_TIGHT = 0 +EPS_MEDIUM = 1 +EPS_LOOSE = 2 +EPS_BAGGY = 3 class LinearProgram(object): """ @@ -116,6 +122,17 @@ class LinearProgram(object): lpsolve('set_rh_vec', self._lp, self._rhs) + @property + def eps_level(self): + return self._eps_level + + @eps_level.setter + def eps_level(self, value): + self._eps_level = value + + if self._lp != None: + lpsolve('set_epslevel', self._lp, value) + @property def inequalities(self): @@ -253,6 +270,7 @@ class LinearProgram(object): self._solution_upper_bounds = [] self._scale_mode = 0 self._type = MINIMIZE + self._eps_level = EPS_MEDIUM def set_all_lp_properties(self): @@ -277,6 +295,7 @@ class LinearProgram(object): self.solution_upper_bounds = self.solution_upper_bounds self.scale_mode = self.scale_mode self.type = self.type + self.eps_level = self.eps_level