[Clp] Correction to CoinMP.cpp

Matthew Saltzman mjs at clemson.edu
Mon Feb 18 19:48:39 EST 2008


I've forwarded your messages to the CoinMP author, in case he's not
subscribed.

On Tue, 2008-02-19 at 10:37 +1000, Rod Frowd wrote:
> 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
> >
> >
> >
> _______________________________________________
> Clp mailing list
> Clp at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/clp
-- 
                Matthew Saltzman

Clemson University Mathematical Sciences
mjs AT clemson DOT edu
http://www.math.clemson.edu/~mjs



More information about the Clp mailing list