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

Renaud Lepere renaud.lepere at alma.fr
Wed Mar 9 12:57:08 EST 2005


Hello

I have a new strange problem (i hadn't it this morning).
When i use primal heuristic, it crashed in round_solution()
function columnLength (definded as const int * columnLength = p->mip->collen;) 
is a null pointer and it crashed a few lines latter..

I finally solved the problem, i should set do_primal_heuristic
before calling explicit_load_problem (since collen is allocated
here).

It works now ! Thanks a lot.

Renaud


> -----Message d'origine-----
> De : Ted Ralphs [mailto:tkralphs at lehigh.edu]
> Envoyé : mercredi 9 mars 2005 18:08
> À : Renaud Lepere; Symphony mailing list post
> Objet : Re: [Coin-symphony] How to get quickly a solution ?
> 
> 
> 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