Opened 12 years ago

Closed 12 years ago

#41 closed defect (invalid)

Incorrect Real Option calls causes COIN CLP to mark some problems as infeasible

Reported by: ltaylor Owned by: somebody
Priority: major Component: component1
Version: 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).


	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),

Change History (2)

comment:1 Changed 12 years ago by jpfasano

This change needs to be made in the CoinMP project. Unfortunately there is not a way to transfer this ticket to that project.

comment:2 Changed 12 years ago by jpfasano

  • Resolution set to invalid
  • Status changed from new to closed

LAT agreed to open ticket against CoinMP.

Note: See TracTickets for help on using tickets.