I want to start this thread to share tips/ suggestions for using lazy constraints (using the attribute or callback). Below I share some of my experiences on this, and I would like if other readers can verify my observations and also describe what they have observed in this regard for the benefit of everyone.
- In most cases setting the lazy attribute results in faster performance of the solver than using callbacks. I'm not yet wholly confident whether there are specific use cases that one can only solve with lazy callbacks. Maybe one of you can add some thoughts on this.
- It seems like very high values for heuristics parameter is not good with lazy constraints. I had the best performance with values around 0.3, but maybe this is model-specific.
- NoRelHeuristic performance comes down when the model has lazy constraints. I saw this both with the callback option and the attribute setting. Again, I cannot say whether there are some model-specific reasons for this.
Another question I'm grappling with right now is, given a set of constraints in my model, how do I choose the best subset of constraints to be defined as lazy? I ran several tests, but I could not come to any conclusion so far. Maybe if any of you can share your experience as well, it will be very useful
Please sign in to leave a comment.