[Cbc] solving time in C++ >> time in Gams

Christos chtsolak at gmail.com
Wed Oct 10 15:41:37 EDT 2012


Matteo and Iain, thank you for your useful help but i ran it with both 
ways, and the messages are exactly the same.

I do not know whys the stand alone is 2,5 times faster...

Is there any possibility to be the compiler's fault? Or anything with 
its settings?

On 10/10/2012 19:13, Matteo Fischetti DEI wrote:
> Dear Christos,
>
> did you compare the n. of nodes (not time) required to solve that 
> instance by using the two executables?
>
> If the standalone executable that is 2.5 times faster also required 2 
> times fewer nodes or so, then it may be the case that you had just bad 
> luck in your run due to the "erratic behavior of tree search"--by 
> chance your search tree evolved differently and had to visit more nodes.
>
> If you want to know more about this behavior, have a look to Mike 
> Trick's blog:
>
> http://mat.tepper.cmu.edu/blog/?p=1695
>
> Of course, if you are consistently slower than the other version (also 
> on other instances), then it may be the case that your version uses a 
> worse internal tuning.
>
> --Matteo--
>
>
> Il 10/10/2012 17:07, Christos ha scritto:
>> Ok i solved the errors.
>>
>> Now i debuged both the libs and the source code in release mode. 
>> Solving Time is 1/3. Still the standalone executable that i 
>> downloaded is 2.5 times faster...
>>
>> Is there any idea?
>>
>> On 10/10/2012 17:21, Iain Dunning wrote:
>>> Compile everything in release mode - both the libraries and your 
>>> project.
>>>
>>> - Iain
>>>
>>> On Wed, Oct 10, 2012 at 10:20 AM, Christos <chtsolak at gmail.com 
>>> <mailto:chtsolak at gmail.com>> wrote:
>>>
>>>     Yes you both were right. I have compiled libraries in debug mode.
>>>     Thank you.
>>>
>>>     Now i compiled them in release mode, but i get 177 same errors:
>>>
>>>     error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL':
>>>     value '0' doesn't match value '2' in test.obj
>>>
>>>     What's this?
>>>     (i am trying to compile project in debug mode)
>>>
>>>
>>>
>>>     On 10/10/2012 16:59, Iain Dunning wrote:
>>>>     I wrote that guide.
>>>>     Is it possible you are building your program in "Debug" mode?
>>>>     If the lib files are large, it suggests they are being built
>>>>     with debugging information...
>>>>     Changing to "Release" mode could create speed ups of that order.
>>>>
>>>>     Cheers,
>>>>     Iain
>>>>
>>>>     On Wed, Oct 10, 2012 at 4:39 AM, Christos <chtsolak at gmail.com
>>>>     <mailto:chtsolak at gmail.com>> wrote:
>>>>
>>>>         In order to help you help me i compiled my code with this
>>>>         method:https://projects.coin-or.org/Cbc/wiki/VSSetup
>>>>
>>>>         And as i can see lib files from repository are much smaller
>>>>         then these created with the above method.
>>>>
>>>>         Is this matter?
>>>>
>>>>
>>>>         On 9/10/2012 23:00, Christos wrote:
>>>>>         Very useful info!
>>>>>
>>>>>         I downloaded Cbc-2.7.5-win64-intel11.1 and run cbc.exe in
>>>>>         the bin folder.
>>>>>         I used 2 methods-commands for solving, branchAndBound and
>>>>>         solve.
>>>>>
>>>>>         They both solved it almost 10 times faster!!!
>>>>>
>>>>>         Now, to come to a solution, i need to know what's the
>>>>>         differnece between solving with stand alone and simply by
>>>>>         calling the solver via my code which was implemented in MS
>>>>>         visual studio 2010..
>>>>>
>>>>>         If you can help me with this, i would have find the
>>>>>         solution to my big problem!
>>>>>         I am waiting impatiently for your words.
>>>>>
>>>>>         Thank you!
>>>>>
>>>>>         On 9/10/2012 22:26, David Ibarra Gómez wrote:
>>>>>>         You can find the CBC binaries here:
>>>>>>         https://projects.coin-or.org/CoinBinary or (here
>>>>>>         http://www.coin-or.org/download/binary/Cbc/). You can
>>>>>>         test different versions
>>>>>>
>>>>>>         From the shell you can call the executable binary. Then
>>>>>>         you just:
>>>>>>
>>>>>>         1. Import MPS file by just typing "import mpsfilename.mps"
>>>>>>         2. and then you can solve it just typing "branchAndCut"
>>>>>>
>>>>>>         Then compare the time to solve with the API.
>>>>>>
>>>>>>         A random google search to find a "recipe" could be (at
>>>>>>         the end of page 6):
>>>>>>         http://wpweb2.tepper.cmu.edu/fmargot/coin/proj5.pdf
>>>>>>
>>>>>>         Regards
>>>>>>
>>>>>>
>>>>>>
>>>>>>         ------------------------------------------------------------------------
>>>>>>         Date: Tue, 9 Oct 2012 20:50:04 +0300
>>>>>>         From: chtsolak at gmail.com <mailto:chtsolak at gmail.com>
>>>>>>         To: dibarra21 at hotmail.com <mailto:dibarra21 at hotmail.com>
>>>>>>         CC: cbc at list.coin-or.org <mailto:cbc at list.coin-or.org>
>>>>>>         Subject: Re: [Cbc] solving time in C++ >> time in Gams
>>>>>>
>>>>>>         i have the latest version, 2.7.7....
>>>>>>
>>>>>>         I solve it by using the default cbc solver, (i am not
>>>>>>         getting involved in the solver) with this way:
>>>>>>
>>>>>>         /solver1.loadProblem(numcols, numrows, start, index,
>>>>>>         value, collb, colub, obj, rowlb, rowub);
>>>>>>         CbcModel model(solver1);
>>>>>>         CbcMain0(model);
>>>>>>         const char * argv2[]={"DAS","-solve","-quit"}; //
>>>>>>         CbcMain1(3,argv2,model); /
>>>>>>
>>>>>>         So, i do not think that it's ommiting the presolve step,
>>>>>>         am i wrong?
>>>>>>
>>>>>>         Where can i find the latest version, and how can i load
>>>>>>         an mps file?
>>>>>>
>>>>>>         Thank you
>>>>>>
>>>>>>         On 9/10/2012 20:42, David Ibarra Gómez wrote:
>>>>>>
>>>>>>             Hi,
>>>>>>
>>>>>>             there are several things that can cause this:
>>>>>>
>>>>>>               * different solvers version,
>>>>>>               * solving is a complex task: presolve (cuting
>>>>>>                 planes, heuristics, ...) and then branch and
>>>>>>                 bound (cut). If you omit the first part or you do
>>>>>>                 not do exactly the same steps result could be
>>>>>>                 different.
>>>>>>
>>>>>>
>>>>>>             Did you try to solve using CBC CLI (stand alone
>>>>>>             executable) ?
>>>>>>
>>>>>>             Regards
>>>>>>
>>>>>>             ------------------------------------------------------------------------
>>>>>>             Date: Tue, 9 Oct 2012 12:16:49 +0300
>>>>>>             From: chtsolak at gmail.com <mailto:chtsolak at gmail.com>
>>>>>>             To: cbc at list.coin-or.org <mailto:cbc at list.coin-or.org>
>>>>>>             Subject: [Cbc] solving time in C++ >> time in Gams
>>>>>>
>>>>>>             Hi all again,
>>>>>>
>>>>>>             I have 1 question for you, if i solve it, i won't
>>>>>>             bother you again :-P
>>>>>>
>>>>>>             I am using cbc in order to make an executable via MS
>>>>>>             visual studio which solves a model.
>>>>>>             In order to solve it, takes 60 mins
>>>>>>
>>>>>>             I have made the same problem with GAMS and solved it
>>>>>>             in 30 secs, 120 times faster!!
>>>>>>
>>>>>>             Is it because of an error in modeling or due to the
>>>>>>             different interface? (exe-GAMS)
>>>>>>
>>>>>>             Why is there this enormous difference?
>>>>>>
>>>>>>
>>>>>>             Thank you in advance.//
>>>>>>             //
>>>>>>             //
>>>>>>             /
>>>>>>             /
>>>>>>             _______________________________________________ Cbc
>>>>>>             mailing list Cbc at list.coin-or.org
>>>>>>             <mailto:Cbc at list.coin-or.org>
>>>>>>             http://list.coin-or.org/mailman/listinfo/cbc
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>>         _______________________________________________
>>>>         Cbc mailing list
>>>>         Cbc at list.coin-or.org <mailto:Cbc at list.coin-or.org>
>>>>         http://list.coin-or.org/mailman/listinfo/cbc
>>>>
>>>>
>>>>
>>>>
>>>>     -- 
>>>>     *Iain Dunning*
>>>>     PhD Student
>>>>     <http://orc.scripts.mit.edu/people/student.php?name=idunning>
>>>>      / MIT Operations Research Center <http://web.mit.edu/orc/www/>
>>>>     www.iaindunning.com <http://www.iaindunning.com/>
>>>>
>>>
>>>
>>>
>>>
>>> -- 
>>> *Iain Dunning*
>>> PhD Student 
>>> <http://orc.scripts.mit.edu/people/student.php?name=idunning>  / MIT 
>>> Operations Research Center <http://web.mit.edu/orc/www/>
>>> www.iaindunning.com <http://www.iaindunning.com/>
>>>
>>
>>
>>
>> _______________________________________________
>> Cbc mailing list
>> Cbc at list.coin-or.org
>> http://list.coin-or.org/mailman/listinfo/cbc
>
>
> -- 
> Prof. Matteo Fischetti
> DEI, University of Padova
> via Gradenigo 6/A
> I-35131 Padova (Italy)
> e-mail: matteo.fischetti at unipd.it
> web: www.dei.unipd.it/~fisch
> reports: www.dei.unipd.it/~fisch/papers

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/cbc/attachments/20121010/a54d58d7/attachment-0001.html>


More information about the Cbc mailing list