optimization – How to understand the separation sentence for generalized sub-tower constraints?


Suppose that the constraints of our entire programming model consist of two parts:

  • Polynomial size formulations, which have a size (number of variables and constraints) that is polynomial w.r.t. the size of the graph G
  • exponentially sized formulations, which have an exponential number of constraints of outsourcing outsourcing.

The material I read explains the procedure to follow to solve this type of programming:

The entire model can not be built (except for very small instances). Nevertheless, it is possible to dynamically generate the outsourcing elimination constraints, in a phase called separation. In practice, this means that one must start without any constraints of outsourcing outsourcing. Then, when searching by branch and link, whenever we find a solution x, we check if it violates
one of the constraints we left outside the model. If this is the case, we add these constraints and continue.

I could understand it roughly but I have a confusion: what would happen if the number of constraints violated in an iteration is too big to be added? Are we just adding some?