dimrizo
dimrizo

Reputation: 509

COIN-OR: What values does a bounded positive integer variable take in an optimization process solved by CBC?

I try to solve a MILP problem with PuLP and CBC.

Except for the rest of the problem I face a problem with a set of positive integer variables. I have a constraint with relaxation, meaning that some of the variables in the of positive integer variables do not get fixed to a certain value due to the constraints.

So, rephrasing, out of a set of positive integer contraints, some get values due to a contraint, but when this same constraint is relaxed(big M relaxation), the rest of the variables do not have to get a certain value.

It is up to CBC to give them values. Most of them go to 0 but some of them get the value of the upper bound of the variable which is 1440. Why is that? Does CBC randonly give these values to those variables? Is there any rule that the sovler follows?

If you don't understand something let me know so I can add information or rephrase, I am new to this. Thank you.

Upvotes: 0

Views: 280

Answers (1)

TimChippingtonDerrick
TimChippingtonDerrick

Reputation: 2072

I believe that the CBC solver usually does a 'standard' B&B search, solving a sequence of LP relaxations as it searches the tree. If you are solving an LP with one of the simplex methods, then typically the search process for that LP is walking around the surface of the feasible space, so it is common for otherwise under-constrained variables to take either their upper or lower bound value.

Upvotes: 1

Related Questions