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
    • Gurobi-versary
    • Collaborator

    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.