]> gitweb.michael.orlitzky.com - dunshire.git/commit
Attempt to recover from "unknown" solutions.
authorMichael Orlitzky <michael@orlitzky.com>
Tue, 11 Oct 2016 15:24:30 +0000 (11:24 -0400)
committerMichael Orlitzky <michael@orlitzky.com>
Tue, 11 Oct 2016 15:24:30 +0000 (11:24 -0400)
commit6aff913423ca1f1ec2434650a6065d18a2f6415f
tree35cd427633f4c15a0d85ddfebfbdd915cb10388f
parentb176f008ba7fee7a41fb1f3645dbf9c526e86cbe
Attempt to recover from "unknown" solutions.

Sometimes CVXOPT was coming back with "unknown" solutions that looked
pretty close to real solutions. Now, instead of failing immediately,
we check to see if the primal/dual objectives are within ABS_TOL of
each other, and whether or not the optimal solutions lie in the
cone. If they all do, we take that as our solution and succeed rather
than raising an exception.

This required the loosening of what it means to be in the cone. Before
this commit, a point needed to be "far" inside the cone (past the
tolerance). Now it can lie outside of the cone (but still within the
tolerance). This weakens the checks that we perform on e1 and e2, but
gives us an easy way to check the optimal strategies.
src/dunshire/cones.py
src/dunshire/games.py