<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
</style>
</head>
<body class='hmmessage'>
Dear Dr. Ralphs : <br><br>Thanks for your advices and guidance.<br><br>May I have the advance copy of your report ?<br><br>I really appreciate your remarks. <br><br>April 28&nbsp; 2009<br><br><br>&gt; Date: Tue, 28 Apr 2009 17:05:37 +1000<br>&gt; From: ted@lehigh.edu<br>&gt; To: coin-discuss@list.coin-or.org<br>&gt; Subject: Re: [Coin-discuss] SYMPHONY speedup<br>&gt; <br>&gt; Since these questions come up frequently, I'd like to add a little<br>&gt; detail to what's already been said. First, I'm not sure it's even<br>&gt; possible to make the general statement that the "algorithmic quality"<br>&gt; of a solver is more important than parallelization (if one can even<br>&gt; define a relevant notion of "algorithmic quality"). With regard to the<br>&gt; potential gains from parallelization, there are some limited things<br>&gt; you can say if you have some knowledge of the properties of the<br>&gt; problems you would like to solve. For classes of problems that tend to<br>&gt; generate large, well-balanced trees (perhaps due to symmetry, for<br>&gt; instance) and for which the processing time of an individual node is<br>&gt; relatively short, it may be possible to reliably achieve near-linear<br>&gt; speed-up (depending on the number of processors). For other classes,<br>&gt; such as difficult set-partitioning models, it can be virtually<br>&gt; impossible to achieve good speed-up because processing the first few<br>&gt; levels of the tree (a largely sequential operation) is simply too<br>&gt; time-consuming. Chances are good that an individual user's experience<br>&gt; will be somewhere in between these two extremes.<br>&gt; <br>&gt; Another factor that can be very important is the architecture on which<br>&gt; execution takes place. SYMPHONY can be built for both<br>&gt; distributed-memory and shared-memory execution. The performance is<br>&gt; likely to be very different in these two cases. In shared-memory mode<br>&gt; on an SMP, SYMPHONY's parallel performance will likely be better than<br>&gt; on a distributed-memory architecture with the same number of<br>&gt; processors. Execution on a multi-core architecture will be less<br>&gt; efficient than on a true SMP due to additional resource limitations.<br>&gt; Of course, the number of processors is a big factor as well.<br>&gt; SYMPHONY's master-slave implementation probably will  not scale well<br>&gt; beyond a few dozen processors, whereas BLIS, which is the parallel<br>&gt; MILP solver that is available as part of the CHiPPS project<br>&gt; (https://projects.coin-or.org/CHiPPS), is targeted more towards<br>&gt; massive parallel architectures.<br>&gt; <br>&gt; On top of that is the question of "algorithmic quality" raised by<br>&gt; Tobias. This phrase is perhaps a little misleading, since quality has<br>&gt; to be judged with respect to a particular target test bed. If the<br>&gt; target test bed is unstructured, standard MILP instances solved one at<br>&gt; a time on a single processor, then it is true that SYMPHONY does not<br>&gt; have as many of the bells and whistles as some of the other solvers<br>&gt; mentioned by Tobias. SYMPHONY's strength is in solving difficult<br>&gt; combinatorial problems for which algorithmic customization is<br>&gt; important. It also has some specific features that other solvers lack,<br>&gt; such as basic warm-starting and sensitivity analysis capabilities for<br>&gt; situations in which a sequence of related MILPs must be solved and the<br>&gt; ability to handle multiple objectives.<br>&gt; <br>&gt; Finally, there is parameter tuning. Most solvers endeavor to use<br>&gt; default parameter settings that work well for as wide a range of<br>&gt; problem types as possible. It's very likely, however, that you can see<br>&gt; performance gains simply by tuning the parameter settings of a<br>&gt; particular solver to work well for the instances you are interested<br>&gt; in. In this way, even "off-the-shelf" testing is not necessarily<br>&gt; representative of a solver's true capabilities.<br>&gt; <br>&gt; Hopefully, this all gives you some idea that the situation is not very<br>&gt; simple. Each solver has its strengths and one must test in<br>&gt; representative operational situations (after appropriate parameter<br>&gt; tuning) to truly determine the appropriateness of a given solver.<br>&gt; <br>&gt; If you are interested in reading further about parallel solution of<br>&gt; generic MILPs, we have just finished a tech report detailing our most<br>&gt; recent experiences with the BLIS parallel MILP solver mentioned above.<br>&gt; In this report, we try to paint as accurate a picture as possible of<br>&gt; what one can expect when trying to use a parallel MILP solver off the<br>&gt; shelf. The picture is anything but clear. The report will be available<br>&gt; soon, but I can send you an advance copy if you like.<br>&gt; <br>&gt; I hope this helps you understand the difficulty in giving a clear<br>&gt; answer to your questions.<br>&gt; <br>&gt; Cheers,<br>&gt; <br>&gt; Ted<br>&gt; <br>&gt; On Wed, Apr 22, 2009 at 6:16 PM, Tobias Achterberg &lt;achterberg@zib.de&gt; wrote:<br>&gt; &gt; Hi Jack,<br>&gt; &gt;<br>&gt; &gt; for MILP, your question cannot be answered (LP is a different story). Parallel speedup and<br>&gt; &gt; performance difference accross different solvers depend on the model.<br>&gt; &gt;<br>&gt; &gt; For example, there are models that can be solved by solver A in less than a second but<br>&gt; &gt; that take forever by another solver B, just because solver B is lacking the important<br>&gt; &gt; feature (like a cutting plane or a presolving reduction) to solve this particular model.<br>&gt; &gt; And there may be other models for which the situation is reversed. Finally, there are<br>&gt; &gt; models that can be solved in roughly the same time by all branch-and-cut MILP solvers.<br>&gt; &gt;<br>&gt; &gt; Overall, my experience is that the algorithmic quality of a solver is usually much more<br>&gt; &gt; important than parallelization. This means, that often solvers like CBC, SCIP, Gurobi,<br>&gt; &gt; XPress, or CPLEX will be faster than Symphony, even if you use 1000 CPUs for Symphony.<br>&gt; &gt; But, as I said, some models do not require the sophisticated machinery that these solvers<br>&gt; &gt; provide and parallelize well. In this setting, Symphony can be really great if you have<br>&gt; &gt; access to a massively parallel computing environment.<br>&gt; &gt;<br>&gt; &gt; So, the short answer is: you just need to test it for your models. You cannot say in advance.<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; Cheers,<br>&gt; &gt;<br>&gt; &gt; Tobias<br>&gt; &gt;<br>&gt; &gt; Jack Bryan wrote:<br>&gt; &gt;&gt; Hi ,<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; I am a new user of SYMPHONY .<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; I need to use it to solve very large mixed integer linear programming<br>&gt; &gt;&gt; models.<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; So, I need to use PVM for SYMPHONY .<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; But, I do not know how much speed up I can get from the parallel SYMPHONY ?<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; For example, if it takes 100 seconds to solve a MILP model in CPLEX, how<br>&gt; &gt;&gt; long to solve it in SYMPHONY ?<br>&gt; &gt;&gt;<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; thanks<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; Jack<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; April 21 &nbsp;2009<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; ------------------------------------------------------------------------<br>&gt; &gt;&gt; Windows Live™ Hotmail®:…more than just e-mail. Check it out.<br>&gt; &gt;&gt; &lt;http://windowslive.com/online/hotmail?ocid=TXT_TAGLM_WL_HM_more_042009&gt;<br>&gt; &gt;&gt;<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; ------------------------------------------------------------------------<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; _______________________________________________<br>&gt; &gt;&gt; Coin-discuss mailing list<br>&gt; &gt;&gt; Coin-discuss@list.coin-or.org<br>&gt; &gt;&gt; http://list.coin-or.org/mailman/listinfo/coin-discuss<br>&gt; &gt;<br>&gt; &gt; _______________________________________________<br>&gt; &gt; Coin-discuss mailing list<br>&gt; &gt; Coin-discuss@list.coin-or.org<br>&gt; &gt; http://list.coin-or.org/mailman/listinfo/coin-discuss<br>&gt; &gt;<br>&gt; <br>&gt; <br>&gt; <br>&gt; -- <br>&gt; Dr. Ted Ralphs<br>&gt; Associate Professor, Lehigh University (permanent)<br>&gt; Visiting Professor, Monash University (current)<br>&gt; (610) 628-1280<br>&gt; ted 'at' lehigh 'dot' edu<br>&gt; coral.ie.lehigh.edu/~ted<br>&gt; <br>&gt; Sent from Caulfield East, Victoria, Australia<br>&gt; <br>&gt; <br>&gt; _______________________________________________<br>&gt; Coin-discuss mailing list<br>&gt; Coin-discuss@list.coin-or.org<br>&gt; http://list.coin-or.org/mailman/listinfo/coin-discuss<br><br /><hr />Windows Live™ SkyDrive™: Get 25 GB of free online storage.   <a href='http://windowslive.com/online/skydrive?ocid=TXT_TAGLM_WL_skydrive_042009' target='_new'>Check it out.</a></body>
</html>