[Scip] DETECTING INFEASIBILITY ON A NODE

Gerald Gamrath gamrath at zib.de
Fri Oct 24 12:58:44 CEST 2014


Dear Diego,

> I have implemented a branch-and-price-procedure with a pricer which 
> seems working in the PRICERREDCOST. But in the instances that it need 
> to use PRICERFARKAS I am obtaining some farkas multipliers with 
> strange values, like -e99. Indeed this dual variable should be 
> nonnegative.
this sounds strange. Can you please check with SCIPgetLPSolstat() that 
the LP is really infeasible and with SCIProwIsInLP() that the row 
corresponding to the constraint for which you get the dual farkas 
multiplier is contained in the LP (you can get the row of a linear 
constraint with SCIPgetRowLinear()). Did you mark the constraint to be 
modifiable?

> Because of this problem, I would like to know if SCIP by itself is 
> able to close an infeasible node since the variables fixed avoid any 
> feasible solution *and how*.
>
Yes, SCIP can detect the infeasibility of a node in the domain 
propagation step. For example, if you have a constraint x + y = 1 and x 
and y were both fixed to 0, SCIP will detect the infeasibility and cut 
off the node. However, this is only done if the constraint was not 
marked to be modifiable, since otherwise pricing might add more 
variables to the constraint and there might still be feasible solutions 
with x = y = 0.

> My Farkas pricing is similar to the Reduced cost pricing whith 0 in 
> the coefficients of the objective function 
> and SCIPgetDualfarkasLinear() instead of SCIPgetDualsolLinear().
>
This is how it should be.

Best,
Gerald
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.zib.de/pipermail/scip/attachments/20141024/5e556160/attachment.html>


More information about the Scip mailing list