Skip to main content

How does the "ScaleFlag" option work?

Answered

Comments

4 comments

  • Maliheh Aramon
    Gurobi Staff Gurobi Staff

    Hi Fabio, 

    The available settings of the ScaleFlag parameter briefly means:

    • -1: Auto
    • 0: No scaling
    • 1: equilibrium scaling (First scale each row to make its largest nonzero entry to be magnitude one, then scale each column to max-norm 1)
    • 2: geometric scaling
    • 3: multi-pass equilibrium scaling

    You can learn more about different strategies for scaling linear optimization problems in the paper titled "Scaling linear optimization problems priori to application of the simplex method". 

    We intentionally do not include extensive details in the documentation because it may confuse a general user or it may be hard to explain the effect of each option precisely on the solver performance. 

    Best regards,

    Maliheh

    0
  • Fabio David
    Gurobi-versary
    Conversationalist
    Curious

    Hi Maliheh,

    Thank you for your quick response. I had checked out this option on https://www.gurobi.com/documentation/9.5/refman/scaleflag.html. However, the reference documentation for version 10.0 is much more complete.

    Thanks again, I will read the suggested article.

    Regards,
    Fabio

    0
  • jake roth
    Gurobi-versary
    Curious
    Conversationalist

    Thanks for the detail on how the `equilibrium scaling` option works! Are you able to share a high-level overview of the geometric mean scaling (option = 2)?

    --Jake

    0
  • Robert Fourer
    Collaborator
    Gurobi-versary

    In J.A. Tomlin, "On Scaling Linear Programming Problems," Mathematical Programming Study 4 (1975) 146-166, geometric mean scaling is defined as follows:

    Gurobi may be doing something of this sort. Computing the actual geometric mean of all the magnitudes in a row or column would introduce some time-consuming complications.

    0

Please sign in to leave a comment.