Originally posted by: TobiasAchterberg
I guess you are still talking about the continuous relaxation of your integer program, so that the binary variables are declared to be continuous variables in the relaxation.
In this case, if a bound of a variable is implied by the constraints, then it is indeed often useful to use an infinite bound instead. This removes degeneracy from the problem and makes sure that you do not have to deal with reduced costs for this variable in your pricing problem.
A very common example is set partitioning. When you have constraints
sum x_i = 1
and each x_i appears in at least one constraint, then you do not need to explicitly include the bounds x_i <= 1 in your model, because these are already implied by the constraints and by the lower bounds x_i >= 0. Thus, without the upper bounds you end up with a text-book form of an LP in equation form
min cx
s.t. Ax = b
x >= 0
This is often easier to think about when it comes to dualizing it. If one includes the upper bounds x_i <= 1 in the formulation, then a common mistake is to ignore the reduced costs for x_i in the pricing problem.
#CPLEXOptimizers#DecisionOptimization