0

When I look at the tableau generated by Gurobi for a simple 3D problem with five constraints, I get this: enter image description here

I expected to not have a -1 in basis columns 4, 5, 6 (referring to slack variables 1, 2, 3 if you 0-index). I intend to use this for some intersection cut experiments. I'm obviously going to need to account for the -1 with those. How should I use that information (for intersection cuts)? Should I negate those rows? Should I negate my constraints that go with those slack variables when I use them to represent a slack variable in the cut? Or just the RHS or LHS of those constraints?

Brannon
  • 900
  • 2
  • 12
  • Does the problem have an optimal solution? Also, is it possible to write the basis variables via the VBasis method and check again what's happened? – A.Omidi Oct 07 '23 at 10:24
  • @A.Omidi, this table came from an optimal solution point. The VBasis and CBasis both return -1 if not in the basis, so a negative number there doesn't relate. – Brannon Oct 08 '23 at 00:25
  • In looking at VBasis, it has other information about the primary variables (being at upper/lower bound). However, the same information is not available via CBasis for the slack variables. The -1 in the table must expose that information somehow. – Brannon Oct 08 '23 at 00:28
  • Is it possible to share your math model? – A.Omidi Oct 08 '23 at 04:50
  • @A.Omidi, it's the example 6.3 from Conforti's book. It's here: https://or.stackexchange.com/questions/9618/help-me-reproduce-this-tableau-from-the-integer-programming-book . Convert all constraints to $\geq$ and use continuous variables. – Brannon Oct 09 '23 at 13:26
  • When I solved the problem with your mentioned modification, the model is an unbounded ray. (Actually it has an unbounded space). Do you check the model statues after the optimization terminates? – A.Omidi Oct 09 '23 at 18:12
  • @A.Omidi, when converting the constraints you have to negate the terms. The original problem is not unbounded; negating constraints shouldn't change the boundedness of the problem. – Brannon Oct 09 '23 at 18:42
  • @Branoon, I am not sure to understand what you mean by negating constraints. The original model contains five constraints. The first, forth, and fifth have the form of $\leq$ and the second and third have the form of $\geq$. As you said in the previous comment Convert all constraints to ≥, it is a bit confusing what you actually do with the modified model. By negating do you mean is the first, forth, and fifth should have the form of $\geq$ and the second and third should have the form of $\leq$? Otherwise, you totally solved a different model. – A.Omidi Oct 09 '23 at 19:34
  • Also, if you mean by negating constraints is by converting only the $\leq$ constraints, yes, the results are the same as the original model and the basic variables already are the same as the original one. This is what I can get by the modified model: [x1, x2, x3] are basis. – A.Omidi Oct 09 '23 at 19:41
  • However, I cannot see what you take as a basic variables with the reduced cost of -1. Is it possible to share your code? – A.Omidi Oct 09 '23 at 19:49
  • @A.Omidi, I realized that I have the variables set to be binary, not integer. Hence, the problem is not quite identical to the example. I get the tableau from Gurobi's GRBBinvRowi function. I'm not going to share the code. – Brannon Oct 10 '23 at 11:12
  • It is a bit hard to investigate whats happened without knowing the whole problem. Is it possible to share an LP file? – A.Omidi Oct 10 '23 at 14:13

0 Answers0