[PPL-devel] Opposing inequality to equality conversion.

Axel Simon Axel.Simon at ens.fr
Fri Feb 6 12:57:38 CET 2009


On Feb 6, 2009, at 12:34, Roberto Bagnara wrote:

>
> Hello Axel.
>
> Axel Simon wrote:
>> I'm trying to verify a claim in Halbwachs' paper on factoring  
>> polyhedra ("Some ways to reduce the space dimension in polyhedra  
>> computations" is the journal version). Specifically, he claims  
>> that omitting a common equality relation from the convex hull  
>> computation yields not significant speedup. I've tried to run a  
>> convex hull calculation, once with the common equalities added and  
>> once with the common equalities omitted and found quite a  
>> difference in performance.
>
> The difference is in favor of which technique?  (This is probably  
> implicit
> in what you write afterward, but I would like to be sure.)

Sorry, I don't think I was as clear as I could have been. I'll try  
again:

It's about calculating the convex hull using the double-description  
method in PPL. Suppose you have two polyhedra described by the  
inequality sets I_1 and I_2. Let x be a variable not occurring in I_1  
nor I_2 and x=le an equality where le denotes a linear expression  
over the variables in I_1 and I_2. He claims that:

calc_hull(I_1, I_2)

is not significantly faster than calculating

calc_hull(I_1 \cup \{ x=le \}, I_2 \cup \{ x=le \}).

This is what I'm trying to verify. However I'm adding the equality  
x=le as two opposing inequalities x<=le and x>=le to the constraint  
systems I_1 and I_2 before running PPL's convex hull operation.

>> However, I added the equality as two opposing inequalities. My  
>> question: are the two opposing inequalities not immediately turned  
>> into one equality by the Constraint class? If not, then this might  
>> explain the speed difference I'm seeing.
>
> If I understand correctly, you are asking whether the  
> Constraint_System
> class immediately turns two opposing inequalities into the  
> corresponding
> equality.  The answer is negative.  This kind of simplification only
> happens (lazily) as part of the conversion/minimization process.

Ok, that is interesting. So I might observe a different performance  
if I add the equality as x=le rather than as two opposing inequalities.

Thanks,
Axel.




More information about the PPL-devel mailing list