[PPL-devel] Powerset of a set of convex sets.
Enea Zaffanella
zaffanella at cs.unipr.it
Wed May 26 09:37:10 CEST 2010
Amit Bhatia wrote:
> Hello,
> I am a new user of PPL, and am trying to do the following using PPL.
> I have a bunch of convex sets (represented as intersection of half
> spaces), and would like to find the non empty elements of the powerset
> of this set of convex sets. It involves checking set intersections. I
> am wondering if PPL provides an elegant and efficient way to do this?
I am not sure I understand what you mean by
"powerset of this set of convex sets".
Let me try and rephrase:
- you have a set of n polyhedra S = { ph_1, ..., ph_n };
- you consider its powerset P(S), having 2^n elements;
- each element in P(S) is interpreted conjunctively (not
disjunctively), i.e., its meaning is the *intersection* (rather than the
union) of the ph_i contained in it.
Then, you would like to list *all* elements in P(S) that have a
non-empty meaning, assuming the interpretation above.
Is that correct?
Well, the PPL has no direct way of implementing this specific
requirement, however it provides most (all?) of the functionality needed
to write some ad hoc code doing it.
> The only other option I can think of is to consider every possible
> subset of the set, and then check for intersection by checking for
> feasibility using linear programming.
Using linear programming (which is provided by the PPL via class
MIP_Problem) is likely to be a good starting point, since you have a
constraint representation and you just want to compute intersection and
test for satisfiability.
However, I suspect that much of the effort should be devoted in finding
a good generate&test pattern: as soon as you discover that a powerset
element is empty, all of its supersets will be trivially empty too and
should not be checked explicitly. You should also pay attention to
incrementality in the computation: if you know that the powerset element
P1 is feasible and later want to check if P2 is feasible and P2 contains
P1 ... then you can start from the feasible solution computed for P1,
rather than from scratch.
Cheers,
Enea.
> thanks,
> amit.
> _______________________________________________
> PPL-devel mailing list
> PPL-devel at cs.unipr.it
> http://www.cs.unipr.it/mailman/listinfo/ppl-devel
>
>
More information about the PPL-devel
mailing list