# objectives match (within a tolerance) and that the
# primal/dual optimal solutions are within the cone (to a
# tolerance as well).
- if abs(p1_value - p2_value) > options.ABS_TOL:
+ #
+ # The fudge factor of two is basically unjustified, but
+ # makes intuitive sense when you imagine that the primal
+ # value could be under the true optimal by ``ABS_TOL``
+ # and the dual value could be over by the same amount.
+ #
+ if abs(p1_value - p2_value) > 2*options.ABS_TOL:
raise GameUnsolvableException(self, soln_dict)
if (p1_optimal not in self._K) or (p2_optimal not in self._K):
raise GameUnsolvableException(self, soln_dict)