Creo que me falta algo importante en el algoritmo Simplex, porque no consigo que funcione.
Por lo que deduzco, hay tres pasos por iteración, dada una matriz para un programa lineal en forma estándar:
- Busque términos negativos en la fila de la función objetivo.
- Si encuentras uno, busca el pivote si lo hay.
- Tenemos que transformar el pivote en un 1 y todos los demás términos de la columna en 0 utilizando operaciones de fila.
- Repita
Pues bien:
$$min z = x_2-x_1 + 1$$
sujeto a
$$\begin{cases}-2x_1 + x_2 \le 2\\ x_1 - 2x_2 \le 2\\ x_1+x_2 \le 5\\ x_i \le 0 \forall i \end{cases}$$
Exigimos el formulario estándar. Convertimos las desigualdades en ecuaciones:
$$\begin{cases}-2x_1 + x_2 + x_3 + 0 + 0= 2\\ x_1 - 2x_2 + 0 + x_4 + 0 = 2\\ x_1+x_2 + 0 +0 + x_5= 5\\ x_i = 0 \forall i \end{cases}$$
Tenemos la siguiente matriz, donde la última fila representa la función objetivo:
$$\begin{bmatrix} -2 & 1 & 1 & 0 & 0 & 2 \\ 1 & -2 & 0 & 1 & 0 & 2 \\ 1 & 1 & 0 & 0 & 1 & 5 \\ -1 & 1 & 0 & 0 & 0 & z - 1 \end{bmatrix}$$
Procedemos con el algoritmo Simplex.
Primera iteración
Paso 1 : Busca términos negativos en la función objetivo. La primera columna tiene un $-1$ .
Paso 2 : Encuentra el pivote. Es el primer $1$ en la primera columna.
Paso 3 : Requerimos que el pivote sea $1$ y que el resto de la columna sea $0$ . Lo hacemos con operaciones de fila elemental:
$$\begin{bmatrix} -2 & 1 & 1 & 0 & 0 & 2 \\ [1] & -2 & 0 & 1 & 0 & 2 \\ 1 & 1 & 0 & 0 & 1 & 5 \\ -1 & 1 & 0 & 0 & 0 & z - 1 \end{bmatrix}$$
$$2r_2 + r_1$$
$$\begin{bmatrix} 0 & -3 & 1 & 2 & 0 & 6 \\ [1] & -2 & 0 & 1 & 0 & 2 \\ 1 & 1 & 0 & 0 & 1 & 5 \\ -1 & 1 & 0 & 0 & 0 & z - 1 \end{bmatrix}$$
$$r_3 + r_4$$
$$\begin{bmatrix} 0 & -3 & 1 & 2 & 0 & 6 \\ [1] & -2 & 0 & 1 & 0 & 2 \\ 1 & 1 & 0 & 0 & 1 & 5 \\ 0 & 2 & 0 & 0 & 1 & z + 4 \end{bmatrix}$$
$$-r_2 + r_3$$
$$\begin{bmatrix} 0 & -3 & 1 & 2 & 0 & 6 \\ [1] & -2 & 0 & 1 & 0 & 2 \\ 0 & 3 & 0 & -1 & 1 & 3 \\ 0 & 2 & 0 & 0 & 1 & z + 4 \end{bmatrix}$$
Segunda iteración
Paso 1 : Busca términos negativos en la función objetivo. No hay ninguno. El algoritmo termina.
... Pero sé que esto es incorrecto, porque según la respuesta del ejercicio, debería haber acabado con una matriz de la forma
$$\begin{bmatrix} 0 & 0 & 1 & 1 & 1 & 9 \\ 1 & 0 & 0 & 1/3 & 2/3 & 4 \\ 0 & 1 & 0 & -1/3 & 1/3 & 1 \\ 0 & 0 & 0 & 2/3 & 1/3 & z + 2 \end{bmatrix}$$
Y hecho tres iteraciones. Por desgracia, los detalles de esas iteraciones no se muestran, así que no estoy seguro de lo que hice mal.