[Clp] Correction to CoinMP.cpp

Rod Frowd rod at frowd.net
Mon Feb 18 19:37:19 EST 2008


Larry:

I don't have any privileges either, I am relatively new to this list.  
Your changes look the same as mine. Perhaps John Forrest can help us 
organize to get this checked in.

Did the dll work after you made these changes?

I also found the parameter settings important, cut the solve time by a 
factor of 10. Also I have this running from a Java callable interface too.

Rod



Larry A. Taylor wrote:
> Hi Rod,
>
> What you found appears identical to what I found and put into a ticket at
> https://projects.coin-or.org/CoinMP/ticket/1
>
> Check to see if it is exactly the same.
>
> I can't check anything in, but if you can do it, I would be grateful.
>
> LAT
>
> At 09:33 PM 2/17/2008, Rod Frowd wrote:
>> Hi:
>>
>> I found that the CoinMP.dll did not work when built from source, 
>> though the downloaded binary dll did.
>>
>> Upon looking  at the source code I found the problem below, some of 
>> the real tolerance were being set to zero as the CoinGetIntOption was 
>> being called instead of the CoinGetRealOption? The built from source 
>> dll works after this change.
>>
>> Index: CoinMP.cpp
>> ===================================================================
>> --- CoinMP.cpp    (revision 53)
>> +++ CoinMP.cpp    (working copy)
>> @@ -646,10 +646,10 @@
>>     pCoin->clp->setMaximumIterations(CoinGetIntOption(hProb, 
>> COIN_INT_MAXITER));
>> -    pCoin->clp->setPrimalObjectiveLimit(CoinGetIntOption(hProb, 
>> COIN_REAL_PRIMALOBJLIM));
>> -    pCoin->clp->setDualObjectiveLimit(CoinGetIntOption(hProb, 
>> COIN_REAL_DUALOBJLIM));
>> -    pCoin->clp->setPrimalTolerance(CoinGetIntOption(hProb, 
>> COIN_REAL_PRIMALOBJTOL));
>> -    pCoin->clp->setDualTolerance(CoinGetIntOption(hProb, 
>> COIN_REAL_DUALOBJTOL));
>> +    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));
>>     /* check if it has been changed, leave alone otherwise */
>>    ClpPrimalColumnSteepest primalSteepest(CoinGetIntOption(hProb, 
>> COIN_INT_PRIMALPIVOTALG));
>> @@ -659,7 +659,7 @@
>>    pCoin->clp->setDualRowPivotAlgorithm(dualSteepest);
>>     if (CoinGetIntOption(hProb, COIN_INT_CRASHIND)) {
>> -        pCoin->clp->crash(CoinGetIntOption(hProb, COIN_REAL_CRASHGAP),
>> +        pCoin->clp->crash(CoinGetRealOption(hProb, COIN_REAL_CRASHGAP),
>>                                 CoinGetIntOption(hProb, 
>> COIN_INT_CRASHPIVOT));
>>     }
>>     switch (CoinGetIntOption(hProb,COIN_INT_SOLVEMETHOD)) {
>>
>> Do you want me to check this in?
>> Rod Frowd
>
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rod.vcf
Type: text/x-vcard
Size: 302 bytes
Desc: not available
URL: <http://list.coin-or.org/pipermail/clp/attachments/20080219/01536c5e/attachment.vcf>


More information about the Clp mailing list