[gecode-users] Memory problem using Gecode for local search

Guido Tack tack at gecode.org
Sun Nov 6 16:17:46 CET 2011


Hi,
have you verified (e.g. using Gist) that your search tree actually has that shape?  If yes, could you post a short self-contained example code that shows this behavior?

Cheers,
Guido


On 6 Nov 2011, at 12:58, TeXitoi wrote:

> Hi!
> 
> I'm trying to use Gecode 3.7.1 to do local search.  My decision
> variables are in a IntVarArray machine_m.
> 
> I do about that :
> 
>  /* constraints... */
>  IntArgs sol_l(machine_m.size());
>  /* creating sol_l with sol_l[i] = ...; */
>  count(*this, machine_m, sol_l, IRT_EQ, machine_m.size() - 1);
>  branch(*this, machine_m, INT_VAR_RND, INT_VAL_MIN);
> 
> if I am correct, the tree will be totally balanced on the right,
> e.g. choice(0) will always be a solution, and choice(1) will be the
> rest of the solutions. I use INT_VAL_MIN to limit the fragmentation of
> my decision variables.
> 
> I enumerate the different solutions about like that:
> 
>  Search::Options options_l;
>  options_l.c_d = 1;
>  options_l.clone = false;
>  DFS<GecodeSpace> search_l(pSpace_l, options_l);
>  GecodeSpace *pSpace_l = 0;
>  while ((pSol_l = search_l.next()) != 0) {
>      /* working with pSol_l */
>      delete pSol_l;
>  }
> 
> I use c_d = 1 because my tree have this special shape that make
> choice(0) always be a solution.  I thought that the search tree will
> be memory efficient because only 2 Gecode::Space must be stored at the
> same time because of the shape of the search tree, but I can see that
> it takes a lot of memory on big instances (even if I comment
> c_d=...).  I can see on "top" the memory growing about linearly with
> time.
> 
> It seems that I do not have any memory problem in my program because
> if I use Search::MemoryStop(256 * 1024 * 1024) and let my local search
> running all the night, my program is only growing between about 30MB
> and 270MB.
> 
> Why do I have this behavior? What did I do wrong? How to solve my
> problem (enumerating every solutions that have only 1 variable
> different from a given solution in constant memory)?
> 
> Thanks in advance.
> 
> -- 
> Guillaume Pinot                               http://www.texitoi.eu
> 
> « Il semble que la perfection soit atteinte non quand il n'y a plus
> rien à ajouter, mais quand il n'y a plus rien à retrancher. »
>                      -- Antoine de Saint-Exupéry, Terre des hommes
> 
> ()  ASCII ribbon campaign      -- Against HTML e-mail
> /\  http://www.asciiribbon.org -- Against proprietary attachments
> 
> 
> _______________________________________________
> Gecode users mailing list
> users at gecode.org
> https://www.gecode.org/mailman/listinfo/gecode-users




More information about the users mailing list