[Coin-symphony] How to get quickly a solution ?

Ted Ralphs tkralphs at lehigh.edu
Wed Mar 9 12:07:37 EST 2005


Renaud,

The way things had been set up, the only thing that could not be 
interrupted is the processing of an individual search tree node. This is 
because the node processing function is completely separated from the 
tree management function in order to allow things to be easily 
parallelized. After the time limit is reached, the tree manager simply 
instruct the LP solver not to dive any further and the computation is 
stopped after current node is finished processing. I added a check that 
will allow the processing of an individual node to be interrupted, but 
it only works for sequential version of the code (doing this in parallel 
would be more difficult). If you do a CVS update, SYMPHONY should now 
stop processing the current node when the time limit is reached. It only 
checks the time limit at the end of each iteration or the node 
processing loop, however, so you might have to wait for the current LP 
relaxation to finish solving. Let me know if you have any more questions.

Cheers,

Ted

Renaud Lepere wrote:
> Hello,
> 
> I added the line, it helped a lot i get good feasible solutions
> very quickly (i see them on the trace), but i still have problem
> for stopping the algorithm quickly. The program calls the
> solve function and the the process_chain and then fathom_branch
> function but the fathom_branch call is long and time is checked 
> in the solve function (tm->par.time_limit).
> What is fathom_branch, should i replace while (TRUE) { .. 
> by a while (we_still_have_some_time_left) { .. in this function ?
> 
> Thanks a lot for your help
> 
> Renaud
> 
> 
> 
> 
>>-----Message d'origine-----
>>De : Ted Ralphs [mailto:tkralphs at Lehigh.EDU]
>>Envoyé : mardi 8 mars 2005 20:39
>>À : Renaud Lepere
>>Cc : coin-symphony at list.coin-or.org
>>Objet : Re: [Coin-symphony] How to get quickly a solution ?
>>
>>
>>Renaud,
>>
>>SYMPHONY has two built-in primal heuristics (shamelessly stolen from 
>>Cbc), one of which is a rounding heuristic, but they are currently 
>>turned off by default. To turn them on, set the parameter 
>>"do_primal_heuristic" to 1. Just put the line
>>
>>sym_set_int_param(env, "do_primal_heuristic", 1):
>>
>>in your code before the call to sym_solve(). I can't promise it will 
>>work miracles, but hopefully, it will help!
>>
>>Cheers.
>>
>>Ted
>>-- 
>>Dr. Ted Ralphs
>>Assistant Professor
>>Industrial and Systems Engineering
>>Lehigh University
>>(610)758-4784
>>tkralphs at lehigh.edu
>>www.lehigh.edu/~tkr2
>>
> 
> 
> _______________________________________________
> Coin-symphony mailing list
> Coin-symphony at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/coin-symphony

-- 
Dr. Ted Ralphs
Assistant Professor
Industrial and Systems Engineering
Lehigh University
(610)758-4784
tkralphs at lehigh.edu
www.lehigh.edu/~tkr2



More information about the Symphony mailing list