Compatible Systems of Linear Inequalities
( Fourier-Motzkin’s Method )
Claudio Arbib
Università degli Studi di L’Aquila
Contents
1. Polyhedra
2. Implied inequalities 3. Compatible polyhedra 4. Projecting a polyhedron
Definitions Examples
5. Fourier’s Theorem
6. Fourier-Motzkin’s Algorithm
7. Applications
1. Polyhedra
Definition:
Let a ∈ IR
n, b ∈ IR. The set
H = {x ∈ IR
n: ax = b} ⊆ IR
nis called a hyperplane.
The set
S = {x ∈ IR
n: ax < b} ⊆ IR
nis called a closed halfspace.
Definition:
A polyhedron is the intersection of a finite set of m closed halfspaces in IR
n. So ∀ A ∈ IR
m×n, b ∈ IR
mthe set
P (A, b) = {x ∈ IR
n: Ax < b} ⊆ IR
ndefines a polyhedron. In particular, ∅, H, S, IR
nare polyhedra.
2. Implied inequalities
Definition:
A linear inequality β β β βx ≤ γ is implied by the system Ax ≤ b if every x such that Ax ≤ b verifies also β β βx ≤ β γ
3x
1+ x
2≤ 1
x1 x2
P
x
2≥ 0 x
1+ 2x
2≤ 1
x
1≥ 0
2.5x
1+ 2.5x
2≤ 1.5
Implied inequalities
Definition:
A system of linear inequalities is minimal if it does not contain any implied inequality
Definition:
β β β
βx ≤ γ is a conic combination of the inequalities in Ax ≤ b ≡ ≡ ≡ {a ≡
ix ≤ b
i, i = 1, …, m}
if and only if
(β β β, γ) = β λ
i(a
i, b
i) λ
i≥ 0 Theorem:
Every linear inequality obtained as a conic combination of those in Ax ≤
b is an implied inequality
1( ) +
0.5( ) =
0( ) +
0( ) +
2.5x
1+ 2.5x
2≤ 1.5
Implied inequalities
Example:
3x
1+ x
2≤ 1 x
2≥ 0 x
1+ 2x
2≤ 1
x
1≥ 0
x1
x2
P
2.5x
1+ 2.5x
2≤ 1.5
λ λ λ
λ = (1, 0.5, 0, 0)
3. Compatible polyhedra
Definition:
A polyhedron is said to be compatible (incompatible) if it (does not) admit a solution
Problem:
Decide whether a given polyhedron P(A, b) is compatible or not Principle:
All that exists, has a shade
(Corollary: vampires do not exist)
4. Projecting a polyhedron
Definition: Let P(A, b) ⊆ IR
nbe a polyhedron.
Then the polyhedron P(A’, b’) ⊆ IR
n–1is a projection of P(A, b) if x ∈ P(A’, b’) ⇔ ∃z ∈ IR such that (x, z) ∈ P(A, b).
Example:
P : x
1> 0, x
2> 0, 3x
1+ 2x
2< 6 P’ : 0 < x
1< 2
set z = (6 – 3x
1)/2 > 0 ∀x
1∈ P’
clearly (x
1, (6 – 3x
1)/2) ∈ P ∀x
1∈ P’
Projecting a polyhedron
Example:
P : x
1> 0 x
2> 0 3x
1+ 2x
2< 6
P’ : 0 < x
1< 2
∀x
1∈P’, ∃z: (x
1, z) ∈P P’ is a projection of P
P
P’
Projecting a polyhedron
Example:
P : x
1> 0 x
2> 1 3x
1+ 2x
2< 6
P’ : 0 < x
1< 2
∃ x ∈ P such that x
1= 2
P’ is not a projection of P
P
P’
Projecting a polyhedron
Example:
P : x
1> 0 x
2> 1 3x
1+ 2x
2< 6
P’ : 0 < x
1< 4/3
Is P’ a projection of P?
P
P’
Projecting a polyhedron
Example:
P : x
1> 0 x
2> 1 3x
1+ 2x
2< 6
P’ : 0 < x
1< 1
Is P’ a projection of P?
P
P’
5. Fourier’s Theorem
Consider the polyhedron P
a
11x
1+ a
12x
2+ … + a
1nx
n< b
1a
21x
1+ a
22x
2+ … + a
2nx
n< b
2…
a
m1x
1+ a
m2x
2+ … + a
mnx
n< b
mPartition the row set R in 3 subsets:
R
0= {i ∈ R: a
i1= 0}, R
+= {i ∈ R: a
i1> 0}, R
–= {i ∈ R: a
i1< 0}
Construct a new polyhedron P’ containing:
1) all the inequalities in R
02) a new inequality for any pair in R
+× R
–Fourier’s Theorem
• Any inequality of type (2) corresponds to one row h ∈ R
+and another k
∈ R
–a
h1x
1+ a
h2x
2+ … + a
hnx
n< b
ha
k1x
1+ a
k2x
2+ … + a
knx
n< b
ka
h1a
h1( + a
k1) x
1+ ( + ) x
2+ … + ( + ) x
n< ( + )
|a
k1|
a
h2a
h1a
k2|a
k1|
a
hna
h1a
kn|a
k1|
b
ha
h1b
k|a
k1|
row h row k
• The inequality of P’ is a special conic combination of these two inequalities, obtained by
– dividing the former by ah
1
– dividing the latter by |ak1| – summing them up
Fourier’s Theorem
Observation: The new system P’ of linear inequalities does not contain variable x
1Theorem (Fourier) P’ is a projection of P in the space of variables x
2, …, x
n.
Proof
• Let w = (w
2, …, w
n) ∈ P’. We must show that there exists a real z such that (z, w
2, …, w
n) ∈ P.
• For any i ∈ R
0one has a
i2w
2+ … + a
inw
n< b
i• Moreover for any h ∈ R
+, k ∈ R
–( a
h2+ ) w
2+ … + ( + ) w
n< ( + )
a
h1a
k2|a
k1|
a
hna
h1a
kn|a
k1|
b
ha
h1b
k|a
k1|
Fourier’s Theorem
• Rewrite the latter condition
+ … + – < – a
h2w
2– … –
a
h1a
k2w
2|a
k1|
a
hnw
na
h1a
knw
n|a
k1|
b
ha
h1b
k|a
k1|
• As k ranges in R
–(as h ranges in R
+) the left (right) had side describes a class C (a class D) of real numbers, and all the elements of C turn out to be < than those of D
• Hence there exists a separating element z such that:
+ … + – < z
a
k2w
2|a
k1|
a
knw
n|a
k1|
b
k|a
k1| ∀k ∈ R
–z < – a
h2w
2–
a
h1a
hnw
na
h1b
ha
h1∀h ∈ R
+Fourier’s Theorem
• The latter two inequalities rewrite:
a
k1z + a
k2w
2+ … a
knw
n< b
k∀k ∈ R
–• Also, ∀i ∈ R
0one has
a
h1z + a
h2w
2+ … a
hnw
n< b
h∀h ∈ R
+0z + a
i2w
2+ … a
inw
n< b
i• Therefore (z, w
2, …, w
n) ∈ P
• To complete the proof, vice-versa, we must show that for any w ∉ P’
there is no z ∈ IR such that (z, w) ∈ P.
Fourier’s Theorem
• Saying w ∉ P’ means to say
a
i2w
2+ … a
inw
n> b
ifor some i ∈ R
0for some (h, k) ∈ R
+×R
–• In the first case, the corresponding inequality of P is obviously violated
• In the second, there is an element of class C which is greater than an element of class D, thus these classes do not have any separator z.
End of proof
+ … + – > – a
h2w
2– … –
a
h1a
k2w
2|a
k1|
a
hnw
na
h1a
knw
n|a
k1|
b
ha
h1b
k|a
k1|
∈D
C ∋
, or
• To complete the proof, vice-versa, we must show that for any w ∉ P’
there is no z ∈ IR such that (z, w) ∈ P.
6. Fourier-Motzkin’s Algorithm
• Fourier’s Theorem allows us to reduce the problem of deciding whether a polyhedron is empty or not to that of deciding whether one of its
projections is such
• Because the projection of a polyhedron still is a polyhedron, the theorem can be repeatedly applied, until one finds a polyhedron where the
decision problem is trivial
• For instance, one can apply the theorem n – 1 times: in this case the resulting polyhedron P
(n–1)will be an interval of the real axis, possibly empty or unbounded
• Or, one can apply the theorem n times: in this case the resulting
polyhedron P
(n)will be of the form 0·x < t. Two cases are then possible:
– if t > 0, P(n) is trivially compatible, since it describes the whole IRn, and so also P is compatible;
– If there exists an index i such that ti < 0, then P(n) is trivially incompatible, and so is P.
7. Applications
• The repeated application of Fourier’s Theorem is, in fact, Fourier- Motzkin’s Elimination Method
• This method can be applied to
– decide whether a polyhedron is empty or not
– find an implicit representation of conv(S) for any finite set S ⊂ IRn – solve a linear program