:= [x_{\jmath_1}, x_{\jmath_2}] \ge \0$ is a feasible vertex of the polygon if $\bar{\A}_1 \x_2 \le \bar{\b}_1$ holds. Otherwise, it is not feasible and will not be considered further. Two special feasible vertices should also be considered, i.e., $\x_2 := [x_{\jmath_1}, 0]$ and $\x_2 := [0, x_{\jmath_2}]$ which correspond to the most negative rule and the longest step-size rule respectivily. For all feasible vertices of the convex polygon defined in (\[twoDim\]), we select the vertex that minimizes the objective function of (\[twoDim\]). The corresponding row indices $(\imath_1,\imath_2)$ that form the selected vertex determine the leaving variables. If the number of rows in $\A_1$ is exact one, the longest step pivot rule is used.

The proposed algorithm is therefore as follows:

[ ]{}\
Data: Matrix $\A$, vectors $\b$ and $\c$. [ ]{}\
initial basic feasible solution $\x^0$, and its related partitions $\x_{B^0}$, $\x_{N^0}$, $\A_{B^0}$, $\A_{N^0}$, $\c_{B^0}$, $\c_{N^0}$, $(\A_{B^0})^{-1}$, and $\bar{\c}_{N^0}=\c_{N^0} - \c_{B^0} (\A_{B^0})^{-1} \A_{N^0}$.

-   While $\min (\bar{\c}_{N^k}) < 0$

    -   If at least two elements of $\bar{\c}_{N^k}$ are smaller than zero

        -   The first entering variable $x_{\jmath_1^k}$ is determined by Dantzig’s rule. For all negative elements of $\bar{\c}_{N^k}$ other than the most negative elements $\bar{\c}_{\jmath_1^k}$, determine the $x_{\jmath_2^k}$ such that 