メインコンテンツへスキップ

Issues with Markowitz Tolerances

回答済み

コメント

4件のコメント

  • 正式なコメント
    Simranjit Kaur
    • 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 try Gurobot, our chatbot interface offering instant, expert-level support.
  • Jaromił Najman
    • Gurobi Staff

    Hi Marius,

    From the log file you posted, you should not worry much about the numerical properties of your model.

    Yes, the Markowitz tolerance can be an indicator of numerical issues. However, it is often also set to improve stability of the Simplex algorithm when the Kappa value gets too big. It is normal behavior to adjust the Markowitz tolerance from time to time. So as long as you don't see this message too often in your log files and no other numerical issues rise up, your model should solve just fine.

    Best regards, 
    Jaromił

    0
  • Marius Masuch
    • Gurobi-versary
    • First Comment
    • First Question

    Hello Jaromił,

    thank you very much for your answer! 

    I get this warning message only once in the log. 
    I was just a bit concerned because in addition to the warning message regarding the Markowitz tolerances, the number of iterations displayed in the log has also increased to 78 and the number of "Extra simplex iterations after uncrush" has increased to 60. 

    When I specified the "dual simplex" method to solve the model, instead of the warning message regarding the Markowitz tolerances, I also got this warning message:
    "Warning: unscaled dual violation = 9.00105e-06 and residual = 4.00178e-10".

    Could these be indications of numerical problems, or would you say that everything should still be fine?

    Kind regards
    Marius

    0
  • Jaromił Najman
    • Gurobi Staff

    Hi Markus,

    Could these be indications of numerical problems, or would you say that everything should still be fine?

    In your warning message, the unscaled dual violation is only very little above the default FeasibilityTol. So as long as the final constraint violations are within the given tolerances, you should be good to go. You can print the solution violation via either reading the solution quality attributes such as, e.g., MaxVio. Alternatively, in Python you can use the printQuality.

    If you notice that your final solution has unacceptable violations, you could try experimenting with the NumericFocus parameter since the warnings you get are rather light weight.

    Best regards, 
    Jaromił

     

    0

投稿コメントは受け付けていません。