Fourier–Motzkin elimination, also known as the FME method, is a mathematical algorithm for eliminating variables from a system of linear inequalities. It can output real solutions.
The algorithm is named after Joseph Fourier[1] who proposed the method in 1826 and Theodore Motzkin who re-discovered it in 1936.
The elimination of a set of variables, say V, from a system of relations (here linear inequalities) refers to the creation of another system of the same sort, but without the variables in V, such that both systems have the same solutions over the remaining variables.
If all variables are eliminated from a system of linear inequalities, then one obtains a system of constant inequalities. It is then trivial to decide whether the resulting system is true or false. It is true if and only if the original system has solutions. As a consequence, elimination of all variables can be used to detect whether a system of inequalities has solutions or not.
Consider a system
S
n
r
x1
xr
xr
xr
xr\geqbi-\sum
r-1 | |
k=1 |
aikxk
xr\geqAi(x1,...,xr-1)
i
nA
nA
xr\leqbi-\sum
r-1 | |
k=1 |
aikxk
xr\leqBi(x1,...,xr-1)
i
nB
nB
xr
\phi
The original system is thus equivalent to
max(A1(x1,...,xr-1),...,
A | |
nA |
(x1,...,xr-1))\leqxr\leqmin(B1(x1,...,xr-1),...,
B | |
nB |
(x1,...,xr-1))\wedge\phi
Elimination consists in producing a system equivalent to
\existsxr~S
max(A1(x1,...,xr-1),...,
A | |
nA |
(x1,...,xr-1))\leqmin(B1(x1,...,xr-1),...,
B | |
nB |
(x1,...,xr-1))\wedge\phi
The inequality
max(A1(x1,...,xr-1),...,
A | |
nA |
(x1,...,xr-1))\leqmin(B1(x1,...,xr-1),...,
B | |
nB |
(x1,...,xr-1))
nAnB
Ai(x1,...,xr-1)\leqBj(x1,...,xr-1)
1\leqi\leqnA
1\leqj\leqnB
We have therefore transformed the original system into another system where
xr
(n-nA-nB)+nAnB
nA=nB=n/2
n2/4
Consider the following system of inequalities:[2]
\begin{cases}2x-5y+4z\leqslant10\\ 3x-6y+3z\leqslant9\\ -x+5y-2z\leqslant-7\\ -3x+2y+6z\leqslant12\\ \end{cases}
Since all the inequalities are in the same form (all less-than or all greater-than), we can examine the coefficient signs for each variable.Eliminating x would yield 2*2 = 4 inequalities on the remaining variables, and so would eliminating y. Eliminating z would yield only 3*1 = 3 inequalities so we use that instead.
\begin{cases}z\leqslant
10-2x+5y | |
4 |
\\ z\leqslant
9-3x+6y | |
3 |
\\
7-x+5y | |
2 |
\leqslantz\\ z\leqslant
12+3x-2y | |
6 |
\\ \end{cases}
which gives the 3 inequalities:
\begin{cases}
7-x+5y | |
2 |
\leqslant
10-2x+5y | |
4 |
\\
7-x+5y | |
2 |
\leqslant
9-3x+6y | |
3 |
\\
7-x+5y | |
2 |
\leqslant
12+3x-2y | |
6 |
\\ \end{cases}
Simplifying:
\begin{cases}5y\leqslant-4\\ x+y\leqslant-1\\ -6x+17y\leqslant-9\\ \end{cases}
This system uses only 2 variables instead of 3. Examining the coefficient signs for each variable yields all-positive for y, so we can immediately say that the system is unbounded in y: since all y coefficients are positive and all inequalities are less-than-or-equal, setting y to negative infinity (or any sufficiently large negative number) would satisfy the reduced system, therefore there exist corresponding x and z for the larger systems as well, and there are infinitely many such solutions. E.g. setting y = -1000000, x = 0, z = -2222222 satisfies the original system as well as the reduced ones.
Running an elimination step over
n
n2/4
d
2d | |
4(n/4) |
McMullen's upper bound theorem that the number of non-redundant constraints grows as a single exponential.[3] A single exponential implementation of Fourier-Motzkin elimination and complexity estimates are given in.[4]
Linear programming is well-known to give solutions to inequality systems in polynomial time, favoring it over Fourier-Motzkin elimination.
Two "acceleration" theorems due to Imbert[5] permit the elimination of redundant inequalities based solely on syntactic properties of the formula derivation tree, thus curtailing the need to solve linear programs or compute matrix ranks.
Define the history
Hi
i
S
i
Hi=\{i\}
i\inS
k:Ai(x1,...,xr-1)\leqBj(x1,...,xr-1)
xr
Hk
Hk=Hi\cupHj
Suppose that the variables
Ok=\{xr,\ldots,xr\}
i
Ok
Ei\cupIi\cupRi
Ei
xj
Hi
i
xj
Ii
Hi
i
Ei
Ri
A non-redundant inequality has the property that its history is minimal.[6]
Theorem (Imbert's first acceleration theorem). If the history
Hi
i
1+|Ei| \leq |Hi| \leq1+\left|Ei\cup(Ii\capOk)\right|
An inequality that does not satisfy these bounds is necessarily redundant, and can be removed from the system without changing its solution set.
The second acceleration theorem detects minimal history sets:
Theorem (Imbert's second acceleration theorem). If the inequality
i
1+|Ei|=|Hi|
Hi
This theorem provides a quick detection criterion and is used in practice to avoid more costly checks, such as those based on matrix ranks. See the reference for implementation details.[6]
Information-theoretic achievability proofs result in conditions under which the existence of a well-performing coding scheme is guaranteed. These conditions are often described by linear system of inequalities. The variables of the system include both the transmission rates (that are part of the problem's formulation) and additional auxiliary rates used for the design of the scheme. Commonly, one aims to describe the fundamental limits of communication in terms of the problem's parameters only. This gives rise to the need of eliminating the aforementioned auxiliary rates, which is executed via Fourier–Motzkin elimination. However, the elimination process results in a new system that possibly contains more inequalities than the original. Yet, often some of the inequalities in the reduced system are redundant. Redundancy may be implied by other inequalities or by inequalities in information theory (a.k.a. Shannon type inequalities). A recently developed open-source software for MATLAB[7] performs the elimination, while identifying and removing redundant inequalities. Consequently, the software's outputs a simplified system (without redundancies) that involves the communication rates only.
Redundant constraint can be identified by solving a linear program as follows. Given a linear constraints system, if the
i
I(X1;X2)\leqH(X1)
I(X1;X2)=H(X1)-H(X1|X2)
H(X1|X2)\geq0
2n-1 | |
R |
n