The importance of the full-row-rank assumption for the simplex method Consider a linear programming model in the usual form ready for applying the simplex method. I understand that having the constraint equations' coefficient matrix $A$ be of full row rank means not having any redundancy in the constraints.
However, will $A$ not being of full row rank cause any problems in the application of the simplex algorithm?  For example, if there is a degenerate basic feasible point that has not been preprocessed away, then the simplex algorithm (if unmodified) may go into an infinite loop and never terminate.  How about when $A$ is not of full row rank?
 A: Consider the following polyhedron:
$P = \{x\in\mathbb{R}^2| Ax = b, x\ge0 \}$, where $A = \left[\matrix{1&1 \\ 2&2}\right]$ and $b = \left[\matrix{1 \\ 2} \right]$.
Let the function we want to minimize be $c^Tx$, where $c = \left[\matrix{1 \\ 0}\right]$.
It is clear that $x = \left[\matrix{0 \\ 1}\right]$ is the only optimal solution to the problem. However this $x$ is not a basic feasible solution and, since the simplex method iterates over basic feasible solutions, the simplex method wouldn't succeed in finding the answer to the problem.
Further observations: Actually, the simplex method does not make sense if the rank of A does not equal the number of constrictions ($m$), because the method relies heavily on that hypothesis. Also note that the definition of basic feasible solution (http://www.math.chalmers.se/Math/Grundutb/CTH/tma947/1617/lectures/lecture9.pdf, page 4/30) is given in a standard polyhedron with rank $A = m$. Otherwise (if rank $A < m$), the definition is useless, for there is no subset of $m$ linearly independent columns of A, and therefore there is no basic feasible solution.
A: The Simplex Method requires full-row rank because of how it handles pivoting, specifically how it handles Gaussian Elimination into row-reduced echelon form for basic variable selection, as the amount of basic variables that exist in any basic feasible solution of a model depends on the number of constraints of that model. Without this, the Simplex Method will not operate as it assumes the following:

*

*The Simplex Algorithm assumes that the initial point it starts at is a basic feasible solution.

*The number of basic variables that exists in the model (and the amount of basic variables Simplex will need to solve a model) is dependent on the number of constraints within the model.

Suppose we have the following Linear Model:
$$\max z=x_1+2x_2+x_3$$
$$s.t.\quad 3x_1+4x_2-x_3\le4$$
$$x_1+x_2\le26$$
$$x_1,x_2,x_3\ge0$$
Now, let's look at two different tableau where we would do standardization like normal, and one where we don't fully do that for the first constraint by adding zeros to the other constraint and objective function:
\begin{array}{|c|c|} \hline
BV & z & x_1 & x_2 & x_3 & s_1 & s_2 & RHS & \text{Ratio Test} \\ \hline
  z & 1 & -1 & -2 & -1 & 0 & 0 & 0 & - \\ \hline
s_1 & 0 & 3 & 4 & -1 & 1 & 0 & 4 & 4/4=1 \\ \hline
s_2 & 0 & 1 & 1 & 0 & 0 & 1 & 26 & 26/1=26\\ \hline
\end{array}
$$\text{Table 1: Standardized Tableau}$$
\begin{array}{|c|c|} \hline
BV & z & x_1 & x_2 & x_3 & s_1 & s_2 & RHS & \text{Ratio Test} \\ \hline
  z & 1 & -1 & -2 & -1  &  & 0 & 0 &- \\ \hline
? & 0 & 3 & 4 & -1 & 1 & 0 & 4 & - \\ \hline
s_2 & 0 & 1 & 1 & 0 & & 1 & 26 & -\\ \hline
\end{array}
$$\text{Table 2: Partially Standardized Tableau}$$
Notice how there exists no basic variable for the second constraint in Table $2$, as we have no reasonable way to interpret the nothing spaces for reducing a column into row-reduced echelon form to achieve two basic variables for any solution using Table $2$. With Table $1$, we immediately know which column we can move forward with because we have full-row rank, and thus we can do a pivot to achieve
\begin{array}{|c|c|} \hline
BV & z & x_1 & x_2 & x_3 & s_1 & s_2 & RHS & \text{Ratio Test} \\ \hline
  z & 1 &  1/2 &  0 & -3/2 & 1/2 & 0 &  2 & - \\ \hline
x_2 & 0 &  3/4 &  1 & -1/4 & 1/4 & 0 &  1 & \infty \\ \hline
s_2 & 0 &  1/4 &  0 &  1/4 &-1/4 & 1 & 25 & 25/(1/4)=100\\ \hline
\end{array}
Thus, if we were to not have full-row rank for the Simplex Method, not only would we be unable to start because there's no basic feasible starting positions for the method to use, but there is no way to move forward to use Gaussian Elimination to find future basic variables.
A: The two-phase simplex method will automatically detect and resolve redundancy in the system of equations.
For completeness, let me first mention the case of a system with inequality constraints (something like $Ax \le b$ with $x \ge 0$). Here, the full row rank assumption will be satisfied automatically. We will then add slack variables to turn the system into $Ax + Is = b$ with $x,s \ge 0$, and the augmented matrix $[A \mid I]$ always has full row rank.
In the case of a system with equation constraints (something like $Ax = b$ with $x \ge 0$), we'll have other problems to deal with before we worry about rank. Namely, we don't have an initial basic feasible solution to start from. In this scenario, we use a two-phase simplex method. The most straightforward approach here is to add artificial slack variables in the first phase: again, turn the system into $Ax + Is = b$ with $x,s \ge 0$. Then minimize the sum $s_1 + \dots + s_m$: the original system has a solution if we can get $s_1 = \dots = s_m = 0$.
At this point, if the system $Ax = b$ did not have full row rank, two things could happen.

*

*It could end up being inconsistent. Then we will not be able to get the sum of the artificial slack variables to $0$ in the first phase. In this case, we just report that the linear program is infeasible.


*It could be consistent, but with redundant equations. When the artificial slack variables all hit $0$, some of them will remain basic, and we'll have one or more rows in the tableau that only involve the artificial slack variables. In this case, we drop all such rows as we go into the second phase.
For example, if the system is something like
\begin{align}
   x_1 + 2x_2 &=2 \\
   2x_1 + 4x_2 &= 4
\end{align}
then in phase one, we will be minimizing $s_1 + s_2$ subject to the constraints
\begin{align}
   x_1 + 2x_2 + s_1 &=2 \\
   2x_1 + 4x_2 + s_2 &= 4.
\end{align}
The initial basic solution has basic variables $(s_1, s_2)$. One possible basic solution at the end of phase one is $(x_1, s_2)$, with the dictionary
\begin{align}
x_1 &= 2 - s_1 - 2x_2 \\
s_2 &= 0 + 2s_1
\end{align}
Going into phase two, we will drop the second equation and simplify the first equation to $$x_1 = 2 - 2x_2.$$ The point $(x_1,x_2) = (2,0)$ is now our basic solution (with basic variable $x_1$), and we can go on to optimize whatever it is we originally wanted to optimize.
To summarize: we will not have to worry about rank in the first phase, because the augmented matrix $[A \mid I]$ always has full row rank. We will not have to worry about rank in the second phase, because we will delete redundant rows after finishing the first phase.
