Opened 4 years ago

Closed 4 years ago

Problem with bounds on variables at the root node.

Reported by: Owned by: kmartin minor trunk

Description

The behavior described below can be tested using the osDip example where the osdip.parm test problem is

#first simple plant location problem
OSiLFile = osilFiles/spl1.osil
#setup constraints as blocks
OSoLFile = osolFiles/spl1.osol

For this problem the root node, before branch and bound

PRICE_AND_CUT_masterProb.n0.c0.p0.lp

has huge bounds on the variables such as those given below

ub(x(15)): - sBL(c_10_ub(x(15))) + lam(c_22,b_0) >= -179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368

comment:1 Changed 4 years ago by mgalati

This constraint is a branching constraint for the original var x(15)'s UB. The mapping from x to lambda space defines why you see lambda in the constraint. The sBL is a slack used to ensure we can move in and out of Phase I and II easily. So, in general the constraint will look like -s + sum{s} lambda[s] >= x.ub.

However, in the root node, the branching constraints are not relevant yet since the subproblems will enforce the original column lb/ubs -- i.e., each extreme point returned by the oracle will already satisfy those bounds. We only need these constraints in the branch and bound tree - not in the root. So, in the root node we "relax" these constraints by setting the rhs = -infinity (for >=).

NOTE: These constraints are also unnecessary if the branching is enforced in the subproblems. This can be done parametrically with BranchEnforceInMaster? or BranchEnforceInSubProb?.

comment:2 Changed 4 years ago by mgalati

• Resolution set to invalid
• Status changed from new to closed
Note: See TracTickets for help on using tickets.