Finding all basic feasible solutions in a linear program

12.5k Views Asked by At

Given the following constraints

\begin{equation} \begin{split} x_1 &+&x_2&+&x_3&+&x_4&\le 10 \\ x_1&-&x_2&&&&&\le0\\ x_1&&&-&x_3&&&\le 2\\ x_1&+&x_2&&&-&x_4&\le 3\\ x_i&&&&&&&\in\mathbb{R}_{\ge 0} \end{split} \end{equation}

I want to find all basic feasible solutions. They are the extreme points of the convex polyhedra induced by these constraints. However, to solve these system we introduce as many slack variables as we have inequalities. This leads us to

\begin{equation} \begin{split} x_1 &+&x_2&+&x_3&+&x_4&+&s_1&&&&&&&&= 10 \\ x_1&-&x_2&&&&&&&&+&s_2&&&&&=0\\ x_1&&&-&x_3&&&&&&&&+&s_3&&&= 2\\ x_1&+&x_2&&&-&x_4&&&&&&&&+&s_4&= 3\\ \hat{x}_i&&&&&&&&&&&&&&&&\in\mathbb{R}_{\ge 0} \end{split} \end{equation}

Now, a basic feasible solution would be $$\hat{x}\equiv (x_1,x_2,x_3,x_4\;|\;s_1,s_2s_3,s_4)=(0,0,0,0\;|\;10,0,2,3)^T$$ However,

  1. How do I find all basic feasible solutions from this starting basic feasible solution?
  2. These basic feasible solutions are basic feasible solutions for the modified system. How do I get basic feasible solutions for the original problem?