[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