[Coin-lpsolver] determining infeasibility in ClpInterior

Kish Shen kish.shen at crosscoreop.com
Tue Nov 21 20:38:39 EST 2006


John,

Thanks again for your reply!

On Friday 17 November 2006 09:40, John J Forrest wrote:
> It is a known defect that the Clp barrier does not detect infeasibility or
> unboundedness correctly.  It is on my list of the 100 things most wanted
> :-)
> 
> On getting solutions use dualRowSolution() and/or primalColumnSolution()
> and check feasibility (either by hand or by checkSolution();
> 
I looked at ClpInterior's checkSolution(), which does not take any arguments, and have
a void return type. It seems to update sumPrimalInfeasibilities_ and sumDualnfeasibilites_.
If I use this function, do I still need to calld primalColumnSolution() first?

I am a  bit confused: ClpInterior's has sumDualInfeasibilities(), which I assume should indicate 
if the problem is feasible or not (if the sum < 1e-5 or something like that). Can I just call
sumDualInfeasibilities() to check the feasibility?

On a related question: if I get the dual solution values using dualRowSolution(), is there anyway
I can get the dual objective value from this? Or is there an easier way to get the dual objective 
value?

Thanks and cheers,

Kish


> messages should be out by default on trunk and branches/devel
> 
> John Forrest
> 
> 
>                                                                            
>              Kish Shen                                                     
>              <kish.shen at crossc                                             
>              oreop.com>                                                 To 
>              Sent by:                  coin-lpsolver at list.coin-or.org      
>              coin-lpsolver-bou                                          cc 
>              nces at list.coin-or                                             
>              .org                                                  Subject 
>                                        [Coin-lpsolver] determining         
>                                        infeasibility in ClpInterior        
>              11/16/06 07:49 PM                                             
>                                                                            
>                                                                            
>                                                                            
>                                                                            
>                                                                            
> 
> 
> 
> 
> Hi,
> 
> I have been testing out ClpInterior with some test cases, and for the
> following simple problem:
> 
> objective: min(X)
> 
> subject to:
> 
> X + Y >= 3
> X + Y <= 2
> X - Y  =   0
> 
> which is obviously infeasible, and when I solve the problem with Clp's
> Simplex, this is indeed
> what I get. However, when I solve the problem with ClpInterior, I get a
> solution (with X and
> Y = 1).
> 
> Looking at the code:
> 
>              lpd->lp->interiormodel->setCholesky(cholesky);
>              lpd->lp->interiormodel->primalDual();
>              // Barrier done
> 
>              if (lpd->lp->interiormodel->isProvenOptimal())
>              {
>                  // Do crossover if optimal...
>           .....
>              }
> 
> where lpd->lp->interiormodel is a ClpInterior *, the isProvenOptimal()
> method returns true.
> I assume it should not?
> 
> --Kish Shen
> 
> _______________________________________________
> Coin-lpsolver mailing list
> Coin-lpsolver at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/coin-lpsolver
> 
> 
> _______________________________________________
> Coin-lpsolver mailing list
> Coin-lpsolver at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/coin-lpsolver
> 



More information about the Clp mailing list