Skip to main content

Transforming binary variables into integer variables during presolve

Answered

Comments

2 comments

  • Riley Clement
    • Gurobi Staff

    Hi Thomas,

    I observed that Gurobi is transforming binary variables into integer variables during presolve

    I don't think this can be deduced from the log.  I think it is far more likely that what you are observing is a conversion of continuous variables to integer.  For example if we have integer variables x and y, and continuous variable z, and we can deduce that x + y = z + 2 then we know that z is "implied integer", and changing it to be integer will help.  There are of course other ways we could deduce a continuous variable is "implied integer". 

    Can the latest version of Gurobi (I am using 12.0.1) also linearize bilinear products with integer variables? If so, how?

    It is possible to linearize products of integer variables, by using a transformation to binary variables - see this post https://support.gurobi.com/hc/en-us/community/posts/14379942279057-Linearizing-product-of-two-integer-variables

    In saying that, I don't think Gurobi is doing this in general, but perhaps it might within certain heuristics.

    - Riley

    0
  • Thomas Leveringhaus
    • Gurobi-versary
    • Collaborator
    • Investigator

    Hi Riley Clement and thanks for your help.

    Even though I don't know where Gurobi found the implied integers in the model, that might be the case. Thanks for pointing that out - I hadn't thought of that at all.

    I knew that bilinear products of integer variables can be linearized using binary transformation, but it might have been possible that Gurobi had found a way to linearize products of integer variables without that transformation.

    0

Please sign in to leave a comment.