2

I have the situation where the Birkhoff Polytope is the space of all valid solutions to a linear function I am interested in maximizing. It is my understanding that, because the vertices of the Birkhoff polytope are the permutation matrices, corresponding exactly to the integer solutions, and since the optimal LP solution is at a vertex, there must exist an optimal integer solution.

My question is if there are any methods for finding all vertices (i.e. integer solutions) for my linear program?

  • For large $n$ the number of linear conditions is $O(n)$, but the number of extreme points of the Birkhoff polytope is $n!$, very large. So probably is better to optimize with some other methods, rather than just testing at the extreme points. That's just my feeling. – orangeskid Jun 05 '22 at 23:36
  • Haven't you found them already? You say in your question that the vertices are simply the permutation matrices. Also, I have to agree with @orangeskid that if your goal is to find all vertices in order to test them, you're doing something computationally wasteful. (But if you're trying to find vertices for some other reason, I would be separately interested in more general methods of finding them!) – jackson Aug 14 '22 at 22:13
  • So in my case all optimal solutions are vertices, but not all vertices are optimal solutions. The case I'm interested in is when there are polynomially many optimal solutions (that are all vertices). What I ended up doing was something along the lines of a tree exploration. I fix some of the variables and recompute the LP to test if a solution of the same quality still exists. This is O(#solutions * LP_solve_time) – Michael Keller Aug 16 '22 at 07:43

0 Answers0