Skip to main content

ObjBound - Barrier with no crossover

Answered

Comments

5 comments

  • Official comment
    Simranjit Kaur
    Gurobi Staff Gurobi Staff
    This post is more than three years old. Some information may not be up to date. For current information, please check the Gurobi Documentation or Knowledge Base. If you need more help, please create a new post in the community forum. Or why not try our AI Gurobot?.
  • Jaromił Najman
    Gurobi Staff Gurobi Staff

    Hi Felipe,

    The ObjBound attribute is only available for MIPs and nonconvex (MI)QPs. Are you sure that you can access the ObjBound attribute when solving an LP? If yes, could you post the LP file? You can use the write() function to write an LP file. Uploading files in the Community Forum is explained in Posting to the Community Forum.

    Best regards,
    Jaromił

    0
  • Felipe Cordera
    Gurobi-versary
    First Comment
    First Question

    Hi Jaromił, thanks for your answer.

    It seems that for LP models, the ObjBound attribute is available when optimality is proven. Of course in this case it equals ObjVal, and is not very informative.

    In my toy example (Gurobi diet problem), when I limited Barrier iterations, optimality was achieved by crossover. Then, ObjBound is available and equals ObjVal. On the other hand, when I turn off crossover, the solution is not optimal and I get the error when accessing the ObjBound attribute.

    Curiously, if I turn off crossover and don't limit barrier iterations I get the optimal value, but I can't access ObjBound anyway. I guess it is only available when optimality is proven and the solution is basic (?).

    Related to my original concern, is there any way to access any bound information when optimization of an LP is interrupted? For example, if I'm using Dual Simplex, where dual feasibility is maintained. In general, can Gurobi infer a lower bound on the LP (stated as a minimization problem)?

    0
  • Jaromił Najman
    Gurobi Staff Gurobi Staff

    Hi Felipe,

    I have to correct myself.

    Currently, you can access the ObjBound attribute only for LPs solved by one of the Simplex methods or by Barrier+Crossover. It is not available for Barrier only or if the solution process has been interrupted. You can access the bound value via callbacks when using dual simplex through SPX_OBJVAL or via BARRIER_DUALOBJ when using the Barrier algorithm.

    We will consider making the ObjBound attribute available for runs of LPs which have been interrupted or solved via Barrier without Crossover. Please note that I cannot guarantee that and when we will implement this feature.

    Best regards,
    Jaromił

    0
  • Vassilios Yfantis
    Gurobi Staff Gurobi Staff

    Hi Felipe,

    I just wanted to inform you, that in the upcoming release of Gurobi (v. 12) it will be possible to query the ObjBound after an LP is solved with Barrier without Crossover, or if the solution was interrupted.

    Best regards,

    Vassilios

    0

Post is closed for comments.