Now that I see the context in which the argument appears, it makes sense.
If ${\bf x}^*$ is an optimal basic feasible solution with objective value $z^*$, and ${\bf x}$ is any other feasible solution with objective value $z$, then (from derivations earlier in the text), they say
$$z^* - z = \sum_{j \in J} (z_j - c_j) x_j,$$
where $J$ is the index set for the variables that are nonbasic for the optimal solution $x^*$ and not necessarily for any other basic solution. For the rest of their argument (and the one below), $J$ retains this interpretation.
The other piece of information they are relying on (and this is the point I think Robert Israel is trying to make in his answer) is that the values of the basic variables for any basic solution are obtained by setting the nonbasic variables to $0$ and then solving the resulting set of linear equations. (The simplex tableau makes this automatic for you, so that you can just read the solutions off of the right-hand side.) The point is that if $x_j = 0$ for all $j \in J$ then ${\bf x}^*$ is the solution you get. Thus if we have a feasible solution ${\bf x}$, distinct from ${\bf x}^*$, then there is at least one $x_j$ for $j \in J$ that is nonzero.
Since all the variables have to be nonnegative in order for ${\bf x}$ to be feasible, $x_j > 0$. With the assumption that $z_j - c_j < 0$ the equation above forces $z^* < z$. Thus any other feasible solution has a strictly larger objective function value and so cannot be optimal.
I use "BV" as an abbreviation of "basic variable". In the following optimal simplex tableau, suppose that we are going to replace the basic variable $x_r$ by a non-basic variable $x_j$ to obtain an alternate optimal basic feasible solution to the LPP. Suppose that in the tableau, there're $m$ constraints and $n$ columns (excluding "BV" and "RHS").
- Let $y_{00}$ be the value of the current optimal value.
- Let $y_{0j} = 0$ be the value of the current reduced cost coefficient of $x_j$.
- Let $y_{r0}$ be the value of $x_r$.
\begin{align*}
\begin{array}{c|ccc|c}
\mbox{BV} & * & x_j & * & \mbox{RHS} \\ \hline
* & * & * & * & * \\
x_r & * & y_{rj} & * & y_{r0} \\
* & * & * & * & * \\ \hline
* & * & y_{0j} & * & y_{00}
\end{array}
\end{align*}
If $y_{r0} = 0$, then we are just replacing $x_r = 0$ by $x_j = 0$ on the LHS of the tableau, but the current optimal solution is not changed. Therefore, to find an alternate basic optimal feasible solution, we need to assume that $y_{r0} \ne 0$.
To perform a pivot operation on $y_{rj}$, we first need the condition that $y_{rj} > 0$. This gives us another (feasibility) condition:
there exists $j \in \left\{ 1,\dots,n \right\}$ such that
\begin{equation*}
\begin{cases}
x_j \mbox{ is a non-basic variable,} \\
y_{0j} = 0 \mbox{ and} \\
\exists r \in \left\{ 1,\dots m \right\} \mbox{ s.t. } y_{rj} > 0
\end{cases}
\end{equation*}
After a pivot operation on $y_{rj}$, the objective function value $y_{00}$ will become $y_{00} - \dfrac{y_{r0} y_{0j}}{y_{rj}}$. If we want $y_{00}$ to be unchanged, we need $\dfrac{y_{r0} y_{0j}}{y_{rj}} = 0$. Since $y_{rj} > 0$ (feasibility) and $y_{r0} \ne 0$ (to get another solution), we have $y_{0j} = 0$. Therefore, the only way to determine whether there is an alternate basic optimal feasible solution from the optimal simplex tableau is to search for the zeros in the reduced cost coefficient of the non-basic variables.
Best Answer
Yes, just as long as the initial optimal point is basic feasible, as this is because the optimal solution for that type of model doesn't exist on just a singular point, but on a line with an infinitely amount of points. Let's consider the model:
$$\max\quad z=2000x_1+3000x_2$$ Subject to: $$6x_1+9x_2\le100$$ $$2x_1+x_2\le20$$ $$x_1,x_2\ge0$$
Now let's graphically depict this without the objective function as such:
What we'll find is that when we solve this is that the objective function will envelop the entire line like so:
Simplex is landing at either upper-corner, optimal extreme points in the model, and the non-basic variable that would produce the other optimal solution is the variable that correlates with the opposite optimal point that lives on the optimal line (the non-basic variable with a reduced cost coefficient of zero). In actuality, all points that exist on this line are optimal to this model, thus we can represent optimal lines as such:
$$\lambda(x_1,y_1)+(1-\lambda)(x_2,y_2),\quad\lambda\in[0,1]$$ where points $(x_1,y_1)$ and $(x_2,y_2)$ are unique extreme points on either end of the line. Thus, this is why we are always guaranteed to have another optimal feasible point if we pivot in the multi-solution situation if we start pivoting from an already feasible optimal point.