


===============================================================================
Title: hyparr
Project: Transformation of HYSDEL model into PWA model
Purpose: Dervive hyperplane arrangement
Input: Hyp: hyperplanes Hyp.A(i,:)*x = Hyp.B(i), for i = 1...rows(Hyp.A)
that define a hyperplane arrangement
P: constraints P.A*x <= P.B define polyhedron
P=[] is possible
dom: constraints dom.A*x <= dom.B defines the domain
these constraints are only used if dom.constr exists
lpsolver
verbose
minR: minimal required radius of Chebycheff ball of polyhedra
Output: delta: hyperplane arrangement, or the markings of the regions
generated by the hyperplanes Hyp, where delta(:,j)
represents the j-th region of the arrangement as a
{-1, 1} vector.
Only the markings of the regions having feasible points
in P and dom are returned.
Example:
delta = [1 1 -1;
1 -1 -1]
means that there were 2 hyperplanes and that they induce 3
polyhedra:
1. A x <= B;
2. A(1,:) <= B(1), A(2,:) >= B(2);
3. A(1,:) >= B(1), A(2,:) >= B(2);
Note: This definition is contrary to the one in optMerge
(and Ziegler)
Comments: By default, the reverse search tool by Komei Fukuda is currently
not used, as it does not work realiably for large problems.
Instead, the feasibility of the regions is checked by solving LPs.
The efficiency is improved by the following means:
* if dom.constr=1, only regions with feasible points in dom are
considered
* large hyperplane arrangements are stored in the function
* in a last step, only the regions with feasible points in P are
returned (thus allowing the storage of already computed
hyperplane arrangements)
Authors: Tobias Geyer <geyer@control.ee.ethz.ch>, Fabio Torrisi