[PPL-devel] integer versus rational solutions

Enea Zaffanella zaffanella at cs.unipr.it
Fri Jul 10 09:08:22 CEST 2009


Konrad Trifunovic wrote:
> Hi all,
> 
> the other tip that I give: if I try to resolve the same polyhedron,
> but if I make it Closed Polyhedron, then the solver 'contains_integer_point'
> runs out of memory.
> 
> Konrad

Hello.

We made a quick test using your data (the higher dimension data).

The test seems to confirm what was said by Roberto: you should use 
C_Polyhedron instead of NNC_Polyhedron. If you *need* to use 
NNC_Polyhedron we will have to do something to improve efficiency, but 
there seem to be no efficiency problem on your example if you stick to 
C_Polyhedron.

We made the following test (using the C++ interface):
   - load your ascii dump into a Pointset_Powerset<NNC_Polyhedron>
   - re-dumping it out (just to be sure we are making no silly mistakes)
   - extract the singleton NNC_Polyhedron (ph) from the powerset
   - convert it into a C_Polyhedron (c_ph)
   - asking if it contains an integer point
(just to be sure that it does not depend on the representation given)
   - build another copy of c_ph, but using generators
   - asking again if it contains an integer point

On my notebook (a 64 bit machine), the whole thing takes time:

real	0m0.039s
user	0m0.011s
sys	0m0.014s

Regarding the memory consumption, I tried the example above after setting

# ulimit -S -v 20000

and it runs to completion (it fails with 19000).

I am attaching the source of the test program 
(containsintegerpoint2.cc), the input ascii-dump (aaa.dat), and the 
output we obtain (test.out).
Note that the test sources assume the PPL test infrastructure ... let us 
know if you need a self contained test program.

Cheers,
Enea Zaffanella.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: aaa.dat
URL: <http://www.cs.unipr.it/pipermail/ppl-devel/attachments/20090710/961d1cf9/attachment.ksh>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: containsintegerpoint2.cc
Type: text/x-c++src
Size: 2665 bytes
Desc: not available
URL: <http://www.cs.unipr.it/pipermail/ppl-devel/attachments/20090710/961d1cf9/attachment.cc>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: test.out
URL: <http://www.cs.unipr.it/pipermail/ppl-devel/attachments/20090710/961d1cf9/attachment-0001.ksh>


More information about the PPL-devel mailing list