[Cbc] Clues sought on how to diagnose Cbc performance changes

acw at ascent.com acw at ascent.com
Fri Dec 19 16:49:58 EST 2008


This advice looks very promising.  So far, however, the results are a bit 
confusing.

Using "Version A" as described earlier, the branch-and-bound algorithm 
processed 24 nodes to find and prove an optimal solution to our test 
problem.

When I redesigned our application to follow the calling sequence in 
driver4.cpp, the sequence of messages changed quite drastically.  There is 
now a series of messages of type Cbc0038I describing the operation of the 
"feasibility pump".  Then a Cbc0012I message reports that an integer 
solution was found by the feasibility pump.

Immediately thereafter, a Cbc0027I message announces "Exiting on user 
event"; this is followed by a Cbc0005I message which says, "Partial search 
- ... took 0 iterations and 0 nodes", and then we launch into a 
post-mortem, mostly without message codes, that adds "Result - user ctrl-c 
Objective ..."  This suggests that the application thinks I have 
interrupted the run.  Could the pseudo-command-line "-quit" command be 
being processed prematurely?  Or is all the work that used to be done by 
branch-and-bound now somehow being done by the feasibility pump instead?

It certainly looks as if something is interrupting the search.  Maybe I 
should remove the -quit command?

Thank you for your assistance.



From:
John J Forrest <jjforre at us.ibm.com>
To:

Cc:
cbc at list.coin-or.org
Date:
12/17/2008 04:30 AM
Subject:
Re: [Cbc] Clues sought on how to diagnose Cbc performance changes



Allan,

I would suggest looking at the example driver4.cpp. With that you should 
get all the performance advantages of the stand-alone solver.

John Forrest

acw---12/16/2008 07:15:55 PM---A little while ago I sent the following 
message to Coin-discuss. The last time I paid serious attention, there was 
no mailing


From:

acw at ascent.com

To:

cbc at list.coin-or.org

Date:

12/16/2008 07:15 PM

Subject:

[Cbc] Clues sought on how to diagnose Cbc performance changes




A little while ago I sent the following message to Coin-discuss. The last 
time I paid serious attention, there was no mailing list devoted to Cbc, 
but now I discover that there is, and this was probably a better place to 
ask my question. I apologize to those who are seeing my query twice. 
----- Forwarded by Allan C Wechsler/Cambridge/Ascent on 12/16/2008 07:11 
PM ----- 
From: 
acw at ascent.com 
To: 
coin-discuss at list.coin-or.org 
Date: 
12/16/2008 06:14 PM 
Subject: 
[Coin-discuss] Clues sought on how to diagnose Cbc performance changes





About two years ago, we built an application around the then-current 
release of Cbc. For the sake of discussion, call this "Version A." 

Very recently, we downloaded a much more recent release, and 
re-architected the application. This "Version B" has exactly the same API 
as Version A, but the details of the systems integration are different in 
a variety of ways. 

Version A was essentially a hack-job on CbcMain's command-line interface: 
for example, it launched the Cbc solver by faking a "branch" command. 
Version B, in contrast, was written along the lines of some of the simpler 
examples in Cbc/examples, and since it leaves out most of the machinery of 
the command-line interface, it's about a factor of ten shorter. 

To my (perhaps naive) surprise, Version B is far less efficient than 
Version A. On one small example problem, Version A processed 24 nodes to 
solve the problem, while Version B processed 52 nodes, more than twice as 
many. 

It is obvious that we have made at least one ill-advised change in cut, 
node, or branch selection, or in presolve/postsolve processing. We have 
avoided customizations we did not understand, and in most cases used the 
default choices that were implicit in the two versions of Cbc. 

We have tried more-or-less blind flailing in our attempts to regain the 
lost performance efficiency, exploring Version A and experimenting with 
transplanting various customizations from there to Version B, but nothing 
has had an effect of more than about 10%, compared to the more than 2-to-1 
discrepancy between the two versions. 

Obviously Cbc has not regressed; it is our own ignorance of how to 
configure it that is at fault. But we don't even know how to begin the 
analysis that would reveal fruitful avenues to take. We would appreciate 
any advice. I haven't provided much detail about our configuration, 
because I don't know what aspects of it are important, but I'd be pleased 
to answer any questions that would help someone give us some guidance. 

Thank you for your consideration, and for the enormous amount of work that 
has clearly been put into making Cbc a useful tool.
_______________________________________________
Coin-discuss mailing list
Coin-discuss at list.coin-or.org
http://list.coin-or.org/mailman/listinfo/coin-discuss
_______________________________________________
Cbc mailing list
Cbc at list.coin-or.org
http://list.coin-or.org/mailman/listinfo/cbc

_______________________________________________
Cbc mailing list
Cbc at list.coin-or.org
http://list.coin-or.org/mailman/listinfo/cbc

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://list.coin-or.org/pipermail/cbc/attachments/20081219/9a88e046/attachment.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/gif
Size: 105 bytes
Desc: not available
Url : http://list.coin-or.org/pipermail/cbc/attachments/20081219/9a88e046/attachment.gif 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/gif
Size: 45 bytes
Desc: not available
Url : http://list.coin-or.org/pipermail/cbc/attachments/20081219/9a88e046/attachment-0001.gif 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/gif
Size: 45 bytes
Desc: not available
Url : http://list.coin-or.org/pipermail/cbc/attachments/20081219/9a88e046/attachment-0002.gif 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/gif
Size: 45 bytes
Desc: not available
Url : http://list.coin-or.org/pipermail/cbc/attachments/20081219/9a88e046/attachment-0003.gif 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/gif
Size: 45 bytes
Desc: not available
Url : http://list.coin-or.org/pipermail/cbc/attachments/20081219/9a88e046/attachment-0004.gif 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/gif
Size: 45 bytes
Desc: not available
Url : http://list.coin-or.org/pipermail/cbc/attachments/20081219/9a88e046/attachment-0005.gif 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/gif
Size: 45 bytes
Desc: not available
Url : http://list.coin-or.org/pipermail/cbc/attachments/20081219/9a88e046/attachment-0006.gif 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/gif
Size: 45 bytes
Desc: not available
Url : http://list.coin-or.org/pipermail/cbc/attachments/20081219/9a88e046/attachment-0007.gif 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/gif
Size: 45 bytes
Desc: not available
Url : http://list.coin-or.org/pipermail/cbc/attachments/20081219/9a88e046/attachment-0008.gif 


More information about the Cbc mailing list