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

Opportunity for lazy cut

進行中

コメント

4件のコメント

  • 正式なコメント
    Simranjit Kaur
    • Gurobi Staff
    This post is more than two 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.
  • Matthias Miltenberger
    • Gurobi Staff

    Hi Marco,

    There is a fundamental difference between (user) cuts and lazy constraints. This is explained here: What is the difference between user cuts and lazy constraints? Essentially, user cuts must never cut off feasible solutions, so there is no such thing as a "lazy cut".

    That being said, I believe that it's OK not to add all lazy constraints, but it may happen that Gurobi will falsely claim optimality in that case. You need to check all solutions in the MIPSOL callback to avoid missing any violated lazy constraints that were not added before. Generally, I do not think this approach will help performance because Gurobi cannot make use of important information as early as when adding all violated lazy constraints immediately.

    Cheers,
    Matthias

    0
  • Marco Correia
    • Gurobi-versary
    • Conversationalist
    • Curious

    Hi Matthias,

    Thanks for the clarification, indeed I am talking about lazy constraints here.

    I am not sure I understood what you mean. If gurobi never gives me the chance to add the missing lazy constraint, how can it even declare feasibility (let alone optimality)?

    0
  • Marco Correia
    • Gurobi-versary
    • Conversationalist
    • Curious

    Hi Matthias,

    Not sure if you don't have anything else to add, or if this thread was forgotten. I don't think I understand how this works yet (see post above). Thanks

    0

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