How is the term for the change of the cost vector in the simplex method derived?

43 Views Asked by At

Given a minimilization problem of the form:

$min \ c^t x$ ($c, x \ \in \mathbb{R}^n$)

where the following constraints have to be met

  • $Ax = b$ (A has dimensions mxn)

  • $x \ge 0$ (in every entry)

  • $rank(A) = m$

Let the set $B$ contain all the indices of the basis variables and the set $N$ the rest of the indices. Using these sets one can rewrite the coefficent vector $c$ of the target function, the vector x containing the variables and matrix A in the following manner.

$c = (c_B, c_N)$

$x = (x_B, x_N)$

$A = (A_B, A_N)$

Using this notation we can first rewrite the matrix equation to represent $x_B$ like this:

$$Ax = (A_B , A_N) (x_B , x_N) = A_B x_B + A_N x_N = b \ (A_B \ is \ invertible)$$ $$\Leftrightarrow A_B^{-1}A_B x_B + A_B^{-1} A_N x_N = A_B^{-1} b$$ $$\Leftrightarrow x_B = A_B^{-1 }b - A_B^{-1} A_N x_N \ (*)$$

Again, using the notation and equation (*) we can rewrite the target function such that we can identify the only part which can make the value of the function smaller:

$$c^T x = c_B^T x_B + c_N^T x_N$$ $$= c_B^T(A_B^{-1 }b - A_B^{-1} A_N x_N) + c_N^T x_N \ (through \ substitution \ of \ (*))$$ $$= c_B^T A_B^{-1} b - c_B^T A_B^{-1} A_N x_N + c_N^T x_N \ (multiplying \ out)$$ $$= c_B^T A_B^{-1} b + ( c_N^T x_N - c_B^T A_B^{-1} A_N x_N) \ (swapping)$$ $$= c_B^T A_B^{-1} b + ( c_N^T - c_B^T A_B^{-1} A_N) x_N \ (putting \ x_N \ outside \ the \ brackets)$$ $$= c_B^T A_B^{-1} b + (\color{blue}{c_N - (A_B^{-1} A_N) c_B})^T x_N \ (transposing \ the \ whole \ brackets) \ (**)$$

The part in blue, when positive can make the value of the target function smaller and is defined as $z_N^r$ the vector of reduced costs. When the basis variable with index $j_0$ is set to zero and kicked from the basis and the non-basis variable with index $i_0$ is set to some positive value and added to the basis the cost vector changes. The change is calculated

$$z_N^r (s) = z_N^r - s_z \Delta z_N^r$$

where $\Delta z_N^r = -(A_B^{-1} A_N)^t e_{i0}$

How does one arrive at the term for $\Delta z_N^r$, the term for the change of the cost vector?