[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