1 1. Make it work on a cartesian product of cones in the correct order.
3 2. Make it work on a cartesian product of cones in the wrong order
4 (apply a perm utation before/after).
6 3. Make sure we have the dimensions of the PSD cone correct.
8 4. Come up with a fast heuristic (like making nu huge and taking e1 as
9 our point) that finds a primal feasible point.
11 12. Investigate this test failure too. It looks like it was really
12 close to being solved, but we would have needed a fudge factor
13 of three instead of two.
15 ERROR: test_positive_operator_value (test.symmetric_linear_game_test
16 .SymmetricLinearGameTest)
17 ----------------------------------------------------------------------
18 Traceback (most recent call last):
19 File "/home/mjo/src/dunshire/test/symmetric_linear_game_test.py",
20 line 550, in test_positive_operator_value
21 self.assertTrue(G.solution().game_value() >= -options.ABS_TOL)
22 File "/home/mjo/src/dunshire/dunshire/games.py", line 515, in solution
23 raise GameUnsolvableException(self, soln_dict)
24 dunshire.errors.GameUnsolvableException: Solution failed with result
26 The linear game (L, K, e1, e2) where
27 L = [8.0814704 3.5584693]
28 [3.9986814 9.3381562],
29 K = Nonnegative orthant in the real 2-space,
34 Condition((L, K, e1, e2)) = 41.093597.
36 dual infeasibility: 2.368640021750079e-06
37 dual objective: -7.867137172157051
38 dual slack: 1.1314089173606103e-07
39 gap: 1.1404410161224882e-06
41 primal infeasibility: 1.379959981010593e-07
42 primal objective: -7.867137449574777
43 primal slack: 1.0550559882036034e-08
44 relative gap: 1.4496264027827932e-07
45 residual as dual infeasibility certificate: 0.12711103707156543
46 residual as primal infeasibility certificate: None
65 13. Add a test to ensure that if we solve the same game twice, we get the