Inquiry About Reoptimizing a MILP Model with Column-and-Constraint Generation in a Single Model Object
AnsweredI hope you are doing well. I am seeking guidance on the practice of iteratively adding columns and constraints to a single MILP Model object and reoptimizing, rather than rebuilding the model from scratch each iteration. Specifically, I would like to understand any potential numerical, performance, or optimality implications of using the same Model instance across multiple column-and-constraint generation iterations, compared to formulating and optimizing a fresh model in each iteration that includes all previous and newly added columns and constraints.
Thank you for your time and assistance.
Best regards,
Miguel
-
Hi Miguel,
Adding constraints and variables would mean we need to throw out the existing B&B tree and start from scratch, but if the existing solution is still valid then at least you have an immediate solution which can be used to improve presolve and help early pruning so there is some advantage there. In addition it may be quicker for build time to reuse the existing model, although this may not be true if you are making many changes. I suspect reusing the existing model will be beneficial but ultimately like most things in this game you have to test it (and test accurately).
(I don't see any numerical issues arising from reusing existing model).
- Riley
0
Please sign in to leave a comment.
Comments
1 comment