From 465df68194eff71cadf77281a3a612111d6b0785 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Mon, 31 Oct 2016 20:10:51 -0400 Subject: [PATCH] Add a fudge factor of two when checking "unknown" conelp results. --- dunshire/games.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/dunshire/games.py b/dunshire/games.py index c841caa..4451606 100644 --- a/dunshire/games.py +++ b/dunshire/games.py @@ -505,7 +505,13 @@ class SymmetricLinearGame: # 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) -- 2.43.2