Why is it that we can ignore non-basic variables using the simplex method of linear programming?

613 Views Asked by At

I'm studying the simplex method of linear programming. When a result is reached, the slack variables usually are non-basic and the variables of interest are usually basic, but I recognize that this need not be the case. We set the non-basic variables to zero and "read" the solutions to the basic variables from the last column.

What I don't understand is why we can ignore the non-basic variables. After all, they are part of the equations implied by the row they occupy. Here's an example of what I am talking about:

We have a carpentry business that builds fences, decks and porches. The cost in labor hours to build each is \$10, \$12 and \$14 respectively. The business has a maximum of \$25,000 it can spend on the three projects. It has available a total of 2000 labor hours available. The profit on fences, decks and porches is \$10, \$11 and \$12 respectively. How should the business allocate labor hours to maximize profits?

Objective Function: $p=10x+11y+12z$

Constraints: $$10x+12y+14z \le 25000$$ $$x+y+z \le 2000$$ $$x, y \ge 0$$

After applying the simplex method, the augmented solution matrix looks like this:

\begin{array}{r|rrrrr|r|r} \text{BV} & x & y & z & s_1 & s_2 & p & \text{constants} \\ \hline z & 0 & \frac{1}{2} & 1 & \frac{1}{4} & -\frac{5}{2} & 0 & 1250 \\ x & 1 & \frac{1}{2} & 0 & -\frac{1}{4} & \frac{7}{2} & 0 & 750 \\ \hline p & 0 & 0 & 0 & \frac{1}{2} & 5 & 1 & 22500 \end{array}

The $x$, $z$ and $p$ variables are basic. The others are non-basic. Therefore, I set the non-basic variables to zero and read that $x=750$ and $z=1250$, resulting in a maximum profit of \$22500. So the business should put 750 labor hours into fences and 1250 into porches and 0 into decks.

The question I have is this: the equation implied by the first row is $\frac{1}{2}y+z+\frac{1}{4}s_1-\frac{5}{2}s_2 = 1250$. The 1250 is not just the value of $z$. The value of 1250 is the sum of all of those parameters. Yet we assign 1250 to $z$ by the simple expedient of declaring the other variables to be zero. What is the justification for that?

Now, I worked out the value of the variables in the equations implied by rows 1 and 2, and it turns out that, if you accept the values for the "basic variables" (namely $x=750$ & $z=1250$), then the other variables ($y, ~s_1$ and $s_2$) turn out to be zero. I assume this is always true, and I am sure this is not coincidental, but I still do not understand why this is the case especially since it all seems quite circular (we assume the non-basic variables are zero before assigning values to the basic variables).

Clearly I am confused. Any enlightenment is appreciated (especially enlightenment that is meant to be understood by non-mathematicians).

1

There are 1 best solutions below

0
On

"The 1250 is not just the value of z. The value of 1250 is the sum of all of those parameters. Yet we assign 1250 to z by the simple expedient of declaring the other variables to be zero. What is the justification for that?"

You are correct.

But for a linear program, you know that the optimal solution is at an extreme point. Extreme points are defined by these basic variables. The simplex method, from one iteration to another, just moves from one extreme point to another one with lower cost. You will eventually get to an extreme point where the cost cannot be improved and that would be your best solution.

Another way to say it, yes, you could set $z$ not to 1250, and set other non basic variables to non zero value but then it would not be an extreme point and therefore could not be your best solution.