Skip to main content

Lazy not fulfilled

Answered

Comments

2 comments

  • Official comment
    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 why not try our AI Gurobot?.
  • Tobias Achterberg
    • Gurobi Staff

    The reason is parallel execution. It could be that two parallel threads find solutions at the same time. At the synchronization point, we collect these solutions and present them one by one to the user by calling the callback function. Then, the user may produce a lazy constraint that cuts off the first solution. But now, we wouldn't check the next solution against all newly generated lazy constraints, but instead just call the callback for this second solution as well. It could be that this second solution violates the very same lazy constraint that was already used to cut off the first solution, so you need to be prepared to add the very same lazy constraint again. But this does not harm - in the lazy constraint pool, we will identify it as a duplicate and ignore it. In this situation, it is only needed to trigger the rejection of the second solution.

    1

Post is closed for comments.