Documentos de Académico
Documentos de Profesional
Documentos de Cultura
5 MÉTODO SIMPLEX 42
La forma algebraica del método Simplex es la mejor para comprender la lógica que fundamenta
el algoritmo, pero no es la más conveniente para realizar los cálculos necesarios en cada iteración.
Por este motivo es más útil desarrollar el método en un formato tabular en donde se registre
solamente la información esencial: los coeficientes de las variables, las constantes del lado derecho
de las ecuaciones y la variable básica que aparece en cada ecuación. A continuación veremos cómo
se construye esta tabla, analizando algebraicamente la esencia del algoritmo.
donde 𝐴𝑚×(𝑛+𝑚) , 𝐵(𝑛+𝑚)×1 y 𝑏𝑚×1 , por lo que hay 𝑚 restricciones y 𝑚 variables de holgura.
Supongamos que se tiene una SBF inicial 𝑥 asociada a una base 𝐵. Entonces, el problema de PL
se puede escribir de la siguiente manera:
𝑥𝐵
[𝐵 𝑁 ] [𝑥 ] = 𝑏 𝑀𝑎𝑥 𝑍
𝑁
s.a: 𝑍 − 𝑐𝐵 𝑥𝐵 − 𝑐𝑁 𝑥𝑁 = 0 (1)
𝑥𝐵 s.a: 𝐵𝑥 𝐵 + 𝑁𝑥𝑁 = 𝑏 (2)
[ 𝑥𝑁 ] ≥ 0 𝑥 𝐵 , 𝑥𝑁 ≥ 0
{
{
Como 𝐵 es una base, tiene inversa. En consecuencia, podemos pre-multiplicar la ecuación (2)
por 𝐵−1 miembro a miembro y obtenemos:
𝑥𝐵 + 𝐵 −1 𝑁𝑥𝑁 = 𝐵−1 𝑏
Como 𝑥𝑁 = 0, de (4) se obtiene que 𝑍 = 𝑐𝐵 𝐵−1 𝑏 mientras que de (3) se tiene que: 𝑥𝐵 = 𝐵−1 𝑏
Si se piensa en 𝑍 como otra variable básica y en (4) como una restricción adicional, se puede
reescribir el problema de la siguiente manera:
𝑍 𝑥𝑁 𝑥𝐵 Lado derecho
𝑀𝑎𝑥 𝑍
𝑍 − 5𝑥1 − 4𝑥2 − 0𝑥3 − 0𝑥4 − 0𝑥5 − 0𝑥6 = 0
𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 , 𝑥5 , 𝑥6 ≥ 0
{
𝑥𝑥22
(1) (3)
(2)
(4)
𝑥6 = 0
𝐴 𝑥1
Columna
𝑍 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 Solución
básica
𝑍 1 −5 −4 0 0 0 0 0
𝑥3 0 6 4 1 0 0 0 24
𝑥4 0 1 2 0 1 0 0 6
𝑥5 0 −1 1 0 0 1 0 1
𝑥6 0 0 1 0 0 0 1 2
La variable objetivo 𝑍 y las variables básicas aparecen en la columna básica y sus valores están
dados por los lados derechos de las ecuaciones del modelo, como se muestran en la columna
solución: 𝑍 = 0, 𝑥3 = 24, 𝑥4 = 6, 𝑥5 = 1 y 𝑥6 = 2. El resultado se puede visualizar igualando las
variables no básicas a cero en todas las ecuaciones y también observando la configuración de la
matriz identidad de los coeficientes de las variables básicas (todos los elementos en las diagonal
principal toman el valor 1 mientras que el resto de los elementos asumen el valor 0).
Así la solución básica factible inicial es 𝑥 = (0; 0; 24; 6; 1; 2) y el valor de la función objetivo en
esta iteración es (0; 0). En la representación gráfica, esta solución corresponde al punto extremo
𝐴 = (0; 0). ¿Es óptima la solución inicial? La función objetivo 𝑍 = 5𝑥1 + 4𝑥2 muestra que la
solución se puede mejorar si se incrementa el valor de las variables no básicas 𝑥1 o de 𝑥2 por
encima de cero. Como el coeficiente más positivo tiene mejor grado de mejora en 𝑍, se debe
incrementar 𝑥1 . En la tabla, donde la función objetivo aparece como 𝑍 − 5𝑥1 − 4𝑥2 = 0, la
variable seleccionada es la variable no básica con el coeficiente más negativo en la ecuación
objetivo. Esta regla define el criterio de optimalidad. En la terminología del algoritmo Simplex, 𝑥1
se conoce como la variable de entrada porque ingresa a la solución básica.
Como 𝑥1 es la variable de entrada, una de las variables básicas actuales debe salir, es decir que
se vuelve no básica a un nivel cero (recordemos que la cantidad de variables no básicas debe ser
siembre 𝑛 − 𝑚). A la columna correspondiente a la variable de entrada la comenzamos a llamar
columna pivote. La mecánica para determinar cuál es la variable de salida implica calcular los
cocientes entre el lado derecho de las ecuaciones (columna solución) y los coeficientes de
restricción estrictamente positivos (imposibilitando así al cero y los coeficientes negativos) bajo
la variable de entrada 𝑥1 , es decir, las razones entre los coeficientes de la columna solución y los
coeficientes positivos de la columna pivote, como se muestra a continuación:
Columna
𝑍 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 Solución
básica
𝑍 1 −5 −4 0 0 0 0 0 Razón
𝑥3 0 6 4 1 0 0 0 24 4
𝑥4 0 1 2 0 1 0 0 6 6
𝑥5 0 −1 1 0 0 1 0 1 -
𝑥6 0 0 1 0 0 0 1 2 -
¿Cómo determinan las razones calculadas cuál es la variable de salida y cuál es el valor de la
variable de entrada?
(1) (3)
(2)
(4)
𝑥6 = 0
𝐴 𝐵
24 ∶ 6 = 4
6∶1=6
Estas razones corresponden a las fronteras de restricción con el eje 𝑥1 (variable de entrada).
Podemos ver que el valor de 𝑥1 debe incrementarse hasta la mínima intersección no negativa con
el eje 𝑥1 (que es igual a 4) para alcanzar el punto extremo 𝐵. Debe ser mínima porque cualquier
incremento más allá de 𝐵 no es factible. En el vértice 𝐵, la variable básica actual 𝑥3 asociada con
la primera restricción asume un valor nulo y se transforma en la variable de salida. La regla
correspondiente con el cálculo de las razones se conoce como criterio de factibilidad porque
garantiza la factibilidad de la nueva solución al asegurar que la trayectoria realizada por el
algoritmo nunca “salga” de la región factible. El nuevo punto solución 𝐵 se determina
“intercambiando” la variable de entrada 𝑥1 con la variable de salida 𝑥3 en la tabla Simplex para
obtener que las variables no básicas (nulas) en 𝐵 son 𝑥3 y 𝑥2 mientras que las variables básicas
en 𝐵 son 𝑥1 , 𝑥4 , 𝑥5 y 𝑥6 .
El proceso de intercambio se basa en las operaciones de filas de Gauss-Jordan. Identificamos la
columna pivote como la columna que corresponde a la variable de entrada e identificamos la fila
pivote como la fila correspondiente a la variable de salida. La intersección entre la columna pivote
y la fila pivote se conoce como elemento pivote. La siguiente tabla es un replanteo de la tabla inicial
en donde únicamente se resaltan estos elementos:
Columna
𝑍 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 Solución
básica
𝑍 1 −5 −4 0 0 0 0 0 Razón
𝑥3 0 6 4 1 0 0 0 24 4
𝑥4 0 1 2 0 1 0 0 6 6
𝑥5 0 −1 1 0 0 1 0 1 -
𝑥6 0 0 1 0 0 0 1 2 -
Los cálculos de Gauss-Jordan necesarios para obtener la nueva solución básica son de dos tipos:
- En la fila pivote:
- Reemplazamos la variable de salida en la columna básica por la variable de entrada.
- Para transformar el elemento pivote en la unidad, hacemos:
Nueva fila pivote = Fila pivote actual × Inverso multiplicativo del elemento pivote.
- Para generar ceros por encima y por debajo del elemento pivote, en todas las demás filas
(incluyendo el renglón cero) hacemos:
Nueva fila = – Coeficiente de la columna pivote × Nueva fila pivote + Fila actual.
Columna
𝑍 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 Solución
básica
2 5
𝑍 1 0 − 0 0 0 20
3 6
2 1
𝑥1 0 1 0 0 0 4
3 6
4 1
𝑥4 0 0 − 1 0 0 2
3 6
5 1
𝑥5 0 0 0 1 0 5
3 6
𝑥6 0 0 1 0 0 0 1 2
La estructura de la nueva tabla es similar a la de la tabla inicial puesto que los coeficientes de
las restricciones de las variables básicas forman la matriz identidad. Por lo tanto, cuando
igualamos las nuevas variables no básicas 𝑥2 y 𝑥3 a cero, la columna solución muestra de manera
automática la nueva solución básica factible 𝑥 = (4; 0; 0; 2; 5; 2) y el nuevo valor para la función
objetivo 𝑍 = 20, que son consecuencia de la aplicación de las operaciones entre filas de Gauss-
Jordan. Esta nueva solución corresponde al punto extremo 𝐵.
En esta tabla, el criterio de optimalidad establece que la variable de entrada es 𝑥2 mientras que
el criterio de factibilidad indica que la variable de salida es 𝑥4 :
Columna
𝑍 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 Solución
básica
2 5
𝑍 1 0 − 0 0 0 20 Razón
3 6
2 1
𝑥3 0 1 0 0 0 4 6
3 6
4 1
𝑥4 0 0 − 1 0 0 2 1,5
3 6
5 1
𝑥5 0 0 0 1 0 5 3
3 6
𝑥6 0 0 1 0 0 0 1 2 2
(2)
(4)
𝑥6 = 0
𝐶
𝐴 𝐵
3 5 1
Tercera tabla Simplex: 𝑥 ∗ = (3; ; 0; 0; ; ) 𝑍 ∗ = 21
2 2 2
Columna
𝑍 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 Solución
básica
3 1
𝑍 1 0 0 0 0 21
4 2
1 1
𝑥1 0 1 0 − 0 0 3
4 2
1 3 3
𝑥2 0 0 1 − 0 0
8 4 2
3 5 5
𝑥5 0 0 0 − 1 0
8 4 2
1 3 1
𝑥6 0 0 0 − 0 1
8 4 2
Cabe aclarar que, por tratarse del primer problema que resolvemos aplicando el método
Simplex, fue necesario realizar varias veces las tablas y gráficos ante la necesidad de asegurar una
mayor comprensión del funcionamiento del algoritmo, pero en futuras ocasiones solo usaremos
una tabla por cada iteración, de manera que en este ejemplo basta con realizar tres tablas: la
inicial, la segunda y la tercera.
Video sugerido: https://youtu.be/4jvFYlJ7Hj0
Formalicemos lo aprendido.
CASOS ESPECIALES
Al resolver un modelo de PL mediante el método Simplex nos podemos encontrar con algunos
casos especiales.
Cuando hay un empate entre dos o más variables básicas que pueden entrar a la base en el paso
1 (criterio de optimalidad) debemos elegir de manera arbitraria entre estas candidatas a entrar a
la base. No existe un método irrefutable para predecir cuál conduce a la solución óptima con mayor
rapidez (es decir, en un menor número de iteraciones), pero tarde o temprano llegaremos a la
solución óptima sin importar cuál de las variables empatadas hayamos elegido.
Ahora supongamos que el empate ocurre entre dos o más variables básicas cuando se elige la
variable que sale en el paso 2 (criterio de factibilidad) de una iteración, como consecuencia de un
empate por la razón mínima. Esto significa que al menos una variable básica será nula en la
MATERIAL DE CÁTEDRA DE ÁLGEBRA III ELABORADO POR LA PROF. ELIANA BOVIER
1.5 MÉTODO SIMPLEX 51
siguiente iteración y se dice que la nueva solución básica factible es degenerada (recordemos que,
en el espacio 𝑛-dimensional, una SBF degenerada corresponde a un punto extremo generado por
la intersección de más de 𝑛 fronteras de restricción, lo que implica que el modelo tiene al menos
una restricción redundante). Para propósitos prácticos se recomienda romper el empate de
manera arbitraria y continuar con el proceso sin preocuparnos por las variables degeneradas que
puedan resultar.
Existe otra posibilidad en el paso 2 de una iteración: aquella en la que ninguna variable califica
como variable básica saliente. Esta situación puede ocurrir si la variable básica entrante puede
crecer de manera indefinida sin que ninguna de las variables básicas actuales adquiera valores
negativos. En el formato tabular, esto significa que todos los coeficientes de la columna pivote (sin
incluir en renglón cero) son negativos o cero. Como el criterio de factibilidad solo utiliza divisores
estrictamente positivos, no se cuenta con una razón que proporcione una variable básica saliente.
Esto se interpreta sosteniendo que las restricciones no impiden el crecimiento indefinido de la
función objetivo, de manera que el método Simplex se detiene con el mensaje de que 𝑍 es no
acotada. Debido a que ni siquiera la programación lineal ha descubierto la manera de lograr
ganancias infinitas, el mensaje real en problemas reales es que se ha cometido un error: pudo
haber equivocaciones en los cálculos o tal vez el modelo esté mal formulado.
Solución óptima múltiple (variable no básica con coeficiente nulo en el renglón cero)
Siempre que un problema tiene más de una SBF óptima, al menos una variable no básica tiene
coeficiente nulo en el renglón cero actual, de manera que si aumenta su valor, el valor de 𝑍 no
cambia. Por lo tanto, las otras SBF óptimas se pueden identificar mediante iteraciones adicionales
del método Simplex, en las que se elige una variable no básica con coeficiente nulo como variable
básica entrante.
Como se mostró en el problema resuelto N°7, los problemas de PL en donde todas las
restricciones son del tipo ≤ con lados derechos no negativos ofrecen una conveniente SBF inicial
con todas las holguras. Los modelos que implican restricciones del tipo = o ≥ no lo hacen.
El procedimiento para iniciar el método Simplex de “mal comportamiento” con restricciones
del tipo = o ≥ es utilizar variables artificiales 𝑅 que son no negativas y que desempeñan el papel
de holguras en la primera iteración. Sin embargo, las variables artificiales no tienen significado
físico ni económico ya que no forman parte del problema original. Es por ello que se requiere de
un artificio de modelado para igualarlas a cero en el momento en el que se alcance la iteración
óptima (suponiendo que el problema tenga una solución factible).
MATERIAL DE CÁTEDRA DE ÁLGEBRA III ELABORADO POR LA PROF. ELIANA BOVIER
1.5 MÉTODO SIMPLEX 52
La meta se logra penalizando estas variables en la función objetivo. Esto se realiza utilizando
coeficientes positivos muy grandes (𝑀 > 0) para dichas variables artificiales en la función
objetivo, según la siguiente regla: