coin-or / coin-or/CoinMP

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

Open
#1 0 comments 0 reactions 0 assignees View on GitHub
bug component1 high major
Dominant language
Shell
Stars
21
Forks
12
PR merge metrics
No merged PRs in 30d

Description

Issue created by migration from Trac.

Original creator: ltaylor

Original creation time: 2007-11-23 22:45:14

Assignee: somebody

Version:

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

```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.