<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2900.2873" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Thanks for the replies!</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>I included the 3 responses at the bottom for 
completeness...</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV><FONT face=Arial size=2>
<DIV><FONT face=Arial size=2>QUICK RESPONSES:</FONT></DIV>
<DIV><FONT face=Arial size=2>John:</FONT></DIV>
<DIV><FONT face=Arial size=2>I'll send you an MPS probably tomorrow.&nbsp; I'm 
more interested in the process than the particular answer in this 
case...</FONT></DIV>
<DIV><FONT face=Arial size=2>What do I look for?&nbsp; </FONT><FONT face=Arial 
size=2>What knob do I twist?&nbsp; more below</FONT></DIV>
<DIV>I know that nobody has all the answers...and I'm sure the tool at hand is 
more flexible than it appears.&nbsp; </DIV>
<DIV>&nbsp;</DIV>
<DIV>Michael and Weiguo:</FONT></DIV>
<DIV><FONT face=Arial size=2>These are "off the top" things.&nbsp; At some point 
you're stuck with branch and cut...</FONT></DIV>
<DIV><FONT face=Arial size=2>I absolutely agree: 1) get a heuristic answer, and 
2) get your bounds as tight as possible to start with...</FONT></DIV>
<DIV><FONT face=Arial size=2>I would also add, 3) know as much as possible about 
the data before you start.... (see zero-cost-cliques below)</FONT></DIV>
<DIV><FONT face=Arial size=2>
<DIV><FONT face=Arial size=2>Those 3 will absolutely make a dramatic 
difference.</FONT></DIV>
<DIV><FONT face=Arial size=2>What I'm asking for is more in terms of how to make 
CBC run faster based on the problem in hand.</FONT></DIV>
<DIV><FONT face=Arial size=2>e.g. </FONT><FONT face=Arial size=2>What metrics of 
the matrix drive what settings in the parameters?&nbsp; In what conditions 
should I apply XYZ heuristic?&nbsp; </FONT></DIV></FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>WHAT I FOUND:</FONT></DIV>
<DIV><FONT face=Arial size=2>I thought saw a reference in my web-surfing for 
auto-setting parameters somewhere....Brady H maybe?&nbsp; That is probably part 
of what I'm looking for</FONT></DIV>
<DIV><FONT face=Arial size=2>...not sure it's all though.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Through digging in the samples, I found 
2&nbsp;things I could use which made differences...(and they do :-D&nbsp; 
)</FONT></DIV>
<DIV><FONT face=Arial size=2>-- SOS constraints (type 1)</FONT></DIV>
<DIV><FONT face=Arial size=2>-- "Make round up more attractive 
(in&nbsp;longthin.cpp or crew.cpp?)" -- pseudocosts</FONT></DIV>
<DIV><FONT face=Arial size=2>-- tell CBC in the compile that it's using 
CLP.&nbsp; This got me quite a bit of speed as well.&nbsp; Bummer it isn't "out 
of the box" that fast.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>I bumbled around and added SOS &amp; pseudocosts in 
the wrong order and it crashed...but I eventually made it apparently better...I 
found that SOS is a bit flaky and apparently must go last?&nbsp; Odd that.&nbsp; 
This bit is what prompted the first posting.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>
<DIV><FONT face=Arial size=2>QUESTION TAKE 2</FONT></DIV>Maybe I should rephrase 
the question:</FONT></DIV>
<DIV><FONT face=Arial size=2>-&nbsp;How do I go about finding the knobs on the 
machine which I can twist?</FONT></DIV>
<DIV><FONT face=Arial size=2>-&nbsp;How do I&nbsp;more quickly understand what 
the knobs do?&nbsp; </FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>MOTIVATING AN ANSWER</FONT></DIV>
<DIV><FONT face=Arial size=2>Here is an example of what I'd like to use, which I 
won't try because of the limits on my time.&nbsp; </FONT></DIV>
<DIV><FONT face=Arial size=2>There is a comment i<FONT face=Arial size=2>n a 
sample something like this:...</FONT></FONT></DIV>
<DIV><FONT face=Arial size=2><FONT face=Arial size=2>"Adding appropriate weights 
such as time or cost dramatically improves SOS behavior"....so how do I figure 
</FONT><FONT face=Arial size=2>out what a good set of weights are on one SOS 
constraint over the graph I'm using.&nbsp; The modeling aspects aside, there are 
also SOS priorities.&nbsp; Are those the key?&nbsp; What settings imply what 
behavior?&nbsp; I can certainly go through code that implements them, but that 
would be the purpose of the library right?&nbsp; So that I don't have to fully 
embrace the implementation in order to use it.</FONT></FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>ZERO-COST-CLIQUES</FONT></DIV>
<DIV><FONT face=Arial size=2>I&nbsp;believe I've found the cause of my current 
woes...it was a source data issue...basically, there were 3 sets of 
data-identical nodes...which had zero costs within the groups.&nbsp; (some nasty 
little zero-cost-cliques).&nbsp;The impact was a LOT of tailing as CBC did a lot 
of swapping of the order in those sets trying to find an improvement.&nbsp; I'm 
writing some code to bulid "super nodes(arcs?)" from the zero cost cliques in 
pre-processing and then restore them out in postprocessing.&nbsp; This will 
shrink the problem size dramatically, and reduce the swapping of 
equal-value-solutions.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>It does bug me, however, that another solver was in 
minutes rather than hours....</FONT></DIV>
<DIV><FONT face=Arial size=2>I'm guess 2 things:</FONT></DIV>
<DIV><FONT face=Arial size=2>- Preprocessor?&nbsp; (might fight the zero-cost 
clique even though I didnt' tell the solver it was&nbsp;a graph of 
sorts?)..hmmm...probably something else it found.</FONT></DIV>
<DIV><FONT face=Arial size=2>- Auto-setting of certain parameters?</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>I know CLP may not be the fastest horse on the 
track, but it comes from good breeding stock.&nbsp; CLP is not really the cause 
here I don't think.</FONT></DIV>
<DIV><FONT face=Arial size=2>So, I believe it to be CBC.&nbsp; That being the 
case, who's workin' on the pre-processor?!&nbsp; Do they need some extra 
hands?</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Cheers!&nbsp;and Thanks!</FONT></DIV>
<DIV><FONT face=Arial size=2>Philip</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>ORIGINAL RESPONSES:</FONT></DIV>
<DIV>From: Michael Hennebry :</DIV>
<DIV>"...The question is how should CBC find the correct foot?<BR>Possibly the 
best way is to find an initial feasible<BR>solution from a heuristic and tell 
CBC that you want<BR>a solution at least that good...."</DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV>From: "Weiguo Liu":</DIV>
<DIV>But yes, if you have a good initial IP solution, you can guide CBC with 
your solution in hope that this is a "good footing". Certainly in general it is 
hard to find an "good" initial solution. Usually you can not tell if a heuristic 
solution is good or not. But you can always tell CBC the objective value of the 
solution in order to reduce the initial gap between lower and upper bounds. The 
performance of the B&amp;B is largely affected by this gap. <BR>The other thing 
you may be able to do is when you know what is wrong with the CBC's initial 
solution. For example, one arc can never be in an optimization solution, then 
you can fix the variable (force this arc to be 0), before starts the branch and 
bound. <BR></DIV>
<DIV>From: John J Forrest :</DIV>
<DIV>"...If you can send me the model I will look at it and try and document the 
<BR>way I tuned it.&nbsp; I might include such an example in my tutorial at 
DIMACS <BR>workshop if people think that a good idea.<BR><BR><FONT face=Arial 
size=2>.."</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><BR></DIV></BODY></HTML>