[CoinMP-tickets] [CoinMP Library] #1: Incorrect Real Option calls causes COIN CLP to mark some problems as infeasible

CoinMP Library coin-trac at coin-or.org
Fri Nov 23 17:45:15 EST 2007


#1: Incorrect Real Option calls causes COIN CLP to mark some problems as
infeasible
------------------------+---------------------------------------------------
 Reporter:  ltaylor     |       Owner:  somebody
     Type:  defect      |      Status:  new     
 Priority:  high        |   Milestone:          
Component:  component1  |     Version:          
 Severity:  major       |    Keywords:          
------------------------+---------------------------------------------------
 In coinmp.cpp

 In function heading


 {{{
 SOLVAPI int CoinOptimizeProblem(HPROB hProb, int Method)

 }}}

 ... there are several calls to CoinGetIntOption? for parameters that are
 actually Real values. The CoinGetIntOption? always returns zero for
 options that are REAL. So those code lines actually will set, e.g.,
 DualObjectiveLimit? to zero.

 DualObjectiveLimit? should be set high, and the default is 1e+308. When it
 is zero, CLP will mark some feasible problems as infeasible.

 This has been bothering me, as I have been using CoinMP.dll for
 optimizations, and it can sometimes get the right answer, but return the
 'PrimalInfeasible?' message and status.

 I would check this change in myself, but I don't have those privileges
 (yet).

 LAT

 {{{

         pCoin->clp->setPrimalObjectiveLimit(CoinGetRealOption(hProb,
 COIN_REAL_PRIMALOBJLIM));
         pCoin->clp->setDualObjectiveLimit(CoinGetRealOption(hProb,
 COIN_REAL_DUALOBJLIM));
         pCoin->clp->setPrimalTolerance(CoinGetRealOption(hProb,
 COIN_REAL_PRIMALOBJTOL));
         pCoin->clp->setDualTolerance(CoinGetRealOption(hProb,
 COIN_REAL_DUALOBJTOL));

 }}}

 ... skip ...

 {{{
         pCoin->clp->crash(CoinGetRealOption(hProb, COIN_REAL_CRASHGAP),

 }}}

-- 
Ticket URL: <https://projects.coin-or.org/CoinMP/ticket/1>
CoinMP Library <http://projects.coin-or.org/CoinMP>
A lightweight API for some COIN-OR tools



More information about the CoinMP-tickets mailing list