Hello,
I eventually identified the problem. I am to blame. Despite the piece of
advice specified in the documentation, I did not worry about the exact
domain of my variables ("temporarily" of course). Some of them were
declared with Int::Limits::max.as upper bound. Coupled with the element
constraint, it caused this high memory consumption. At least, my
experience may benefit to others.
Thank you again for your help and sorry for the trouble.
Benoît
Hi,
if the peak memory is during construction of the engine, it means it
occurs during your problem setup, not during search. Maybe you can
explain a little more what you're doing there - do you use a lot of
intermediate (STL?) data structures, perform symbolic computations,
read in large files or the like?
Cheers,
Guido
On Wed, Nov 11, 2009 at 1:10 PM, Christian Schulte <cschu...@kth.se> wrote:
Hi,
I don't really know what could be the reason without further looking at the
program. The memory consumed looks massive, actually, almost impossible.
Let's do some math: the search tree has a depth of 45, say with
recomputation possibly using adaptive recomputation that might be around 10
spaces stored during search. That is, each space takes almost 100 Meg! A
thousand variables and 30000 propagators (which propagators do you use?)
should normally take much less.
So, looks really fishy.
Christian
--
Christian Schulte, www.ict.kth.se/~cschulte/
-----Original Message-----
From: users-boun...@gecode.org [mailto:users-boun...@gecode.org] On Behalf
Of benoit
Sent: Tuesday, November 10, 2009 11:11 AM
To: Christian Schulte
Cc: 'Mikael Zayenz Lagerkvist'; us...@gecode.org
Subject: [gecode-users] High memory consumption during engine declaration
Good morning,
Thank you both for your replies.
Another hint: if your model uses the standard Gecode search engines, you
can
inquire how much memory is occupied by the nodes of the search tree. If
there is a huge difference between what is reported by the search engine
and
what is reported by your operating system, you program just has a memory
leak.
I indeed use a standard Gecode search engine (Branch-and-Bound). I
followed you advice and performed the test: both values are coherent.
Then, how deep is the search tree? How many variables and propagators does
your problem have?
Here are the figures:
- Variables: 622
- Propagators: 25654
- Deep: 49
In the end: we could say much more if you provided a little bit more
detail
about what you observe. The information that your program uses a lot of
memory is not that helpful in itself.
Mea culpa: the memory consumption reaches 862MB.
My message was inaccurate yesterday evening: the memory peak occurs when
the engine constructor is called. It's maybe consistent with the figures
provided above ?
Benoît
_______________________________________________
Gecode users mailing list
us...@gecode.org
https://www.gecode.org/mailman/listinfo/gecode-users
_______________________________________________
Gecode users mailing list
us...@gecode.org
https://www.gecode.org/mailman/listinfo/gecode-users
_______________________________________________
Gecode users mailing list
us...@gecode.org
https://www.gecode.org/mailman/listinfo/gecode-users