[PPL-devel] Re: [Fwd: Re: StInG 1.2]

Roberto Bagnara bagnara at cs.unipr.it
Tue Oct 19 16:04:15 CEST 2004


Sriram Sankaranarayanan wrote:
> I was going to convince you to link
> PPL to the GLPK linear programming library. But you seem to have done
> that already.

Hi Sriram,

we only use GLPK to read LP problems written in the MPS format.
This is used in the ppl_lpsol demo.  However, I am curious about
what you say.  Do you think that GLPK could be applied in the
field of program analysis and verification?  As far as I can tell,
GLPK uses floating point numbers only and provides no mechanism
to quantify the rounding errors.  But I may be wrong.
Do you have other information?

By the way: we will incorporate a (simple) simplex solver
in one of the next releases (0.8 I guess).

> I was preparing a "replay" for you and I found what
> my mistake was. I did not fully check my own code. There was a call to
> p.is_empty() in the print routine to check if what I trying to print
> is empty.  I guess that will force the generator computation, right?

Exactly.

> I am sorry for bothering you with it. I am becoming a better PPL
> programmer as time progresses. :-)

Why not mentioning it in your CV?  ;-)

>  But I am interested to note that your new release has a LP solver
> using vertex enumeration(?) I am using a vertex enumerator for 
> my latest project and I have been  using the LRS library by Fukuda. 

I think you mean David Avis: he is the author of the LRS library.

> It is amazingly slow when the polyhedron has redundancies. There
> are polyhedra on which it keeps going for days.
> 
> It took me the better part of an  hour to get LRS to work with PPL.
> The result is a nice polynomial space vertex enumerator. And then 
> minimizing constraints seems to work without taking much juice
> out of my computer. :-)

I am interested in what you say, but I don't understand.  What do you
mean by "to get LRS to work with PPL"?  Do you mean that you take
constraints of polytopes from PPL and pass them to lrslib to obtain
the vertices?  Then you inject these vertices back to the PPL
and use them to minimize constraints?
I am confused: please explain.

In exchange, please be the first customer to read the new web
page about the performance of the PPL.  It contains a comparison
with several other libraries (including lrslib) on the benchmarks
distributed with lrslib and cddlib:

         http://www.cs.unipr.it/ppl/performance

Cheers,

     Roberto

-- 
Prof. Roberto Bagnara
Computer Science Group
Department of Mathematics, University of Parma, Italy
http://www.cs.unipr.it/~bagnara/
mailto:bagnara at cs.unipr.it



More information about the PPL-devel mailing list