Академический Документы
Профессиональный Документы
Культура Документы
procedimiento sistemático una y otra vez hasta obtener el resultado deseado. Cada vez que se lleva a
Además de las iteraciones, los algoritmos incluyen un procedimiento para iniciar y un criterio
solución de un sistema de ecuaciones para obtener una nueva solución a la que se le aplica la prueba
de optimalidad. No obstante, también tiene una interpretación geométrica muy útil. Para ilustrar los
vértices del problema. Los cinco puntos que se encuentran en los vértices de la región factible,
(0,0), (0,6), (2,6), (4,3), (4,0) son las soluciones factibles en los vértices. Algunas de estas
soluciones factibles en un vértice son adyacentes, en el sentido de que están conectadas por una sola
orilla (segmento de línea) de la frontera de la región factible; esto es, tanto (0,6) como (4,3) son
adyacentes a (2,6). Las tres propiedades clave de las soluciones factibles en los vértices y que
vértice.
1b. Si existen soluciones óptimas múltiples, entonces al menos dos de ellas deben ser soluciones
3. Si una solución en un vértice es igual o menor (según el valor de Z) que todas las soluciones
factibles en los vértices adyacentes a ella, entonces es igual o mejor que todas las demás
consideración de sólo las soluciones factibles en los vértices, de manera que sólo existe un número
finito de soluciones que es necesario tomar en cuenta (propiedad 2). La propiedad 3 proporciona una
El método símplex explota estas tres propiedades al examinar nada más unas cuantas
soluciones factibles en vértices prometedores y al detenerse en cuanto una de ellas pasa la prueba
de optimalidad. En particular, se traslada repetidamente (en forma iterativa) de una solución factible
en un vértice a otra, adyacente y mejor. Esto se puede realizar en forma muy eficiente hasta que la
solución actual no tiene soluciones factibles en vértices adyacentes que sean mejores. Este
2. Paso iterativo: traslado a una mejor solución factible en un vértice adyacente. (Repítase este
paso las veces que sea necesario).
Este bosquejo muestra la esencia del método símplex,. En el caso del ejemplo, al utilizar
3. Prueba de optimalidad: ni (0,6) ni (4,3) son mejores que (2,6), entonces se detiene, (2,6) es
óptima.
desigualdades. Así, el primer paso para preparar el método símplex es convertir las restricciones
x1 4
La variable de holgura para esta restricción es x3, que no es otra cosa que la holgura entre los dos
x1 + x3 = 4
x1 + x3 = 4
x3 0,
programación lineal original para este ejemplo se puede sustituir por el modelo equivalente:
Aun cuando este problema es idéntico al anterior, esta forma es mucho más conveniente para
la manipulación algebraica y la identificación de las soluciones factibles en los vértices. Ésta se llama
la forma de igualdades del problema, para diferenciarla de la forma de desigualdades original y poder
forma de desigualdades y que se ha aumentado con los valores correspondientes de las variables
(3,2,1,8,5), puesto que los valores correspondientes de las variables de holgura son x 3 = 1, x4 = 8, x5 =
5.
Para ilustrar esto, considérese la solución no factible en el vértice (4,6) del ejemplo. Al
aumentar con los valores obtenidos para las variables de holgura x 3 = 0, x4 = 0 y x5 = –6, se llega a la
solución básica correspondiente (4,6,0,0,–6). Se permite que las soluciones básicas sean factibles o
Así, la solución factible en el vértice (0,6) del ejemplo es equivalente a la solución básica
Como los términos solución básica y solución básica factible constituyen partes muy
importantes del vocabulario normal de programación lineal, es necesario aclarar sus propiedades
algebraicas. Nótese que para la forma de igualdades del ejemplo, el sistema de restricciones
funcionales tiene dos variables más (cinco) que ecuaciones (tres). Este hecho proporciona dos grados
de libertad al resolver el sistema, ya que se pueden elegir dos variables cualesquiera y hacerlas
iguales a cualquier valor arbitrario para resolver las tres ecuaciones en términos de las tres
variables restantes (se excluyen redundancias). El método símplex usa cero para este valor
arbitrario. Las variables que por el momento se hacen iguales a cero se llaman variables no básicas;
todas las demás se llaman variables básicas. La solución que resulta es una solución básica. Si todas
las variables básicas son no negativas, entonces se tiene una solución básica factible. Para cualquier
variables de holgura. Dos soluciones básicas son adyacentes si todas menos una de sus variables son
las mismas; la misma aseveración se cumple para las variables básicas. Entonces, trasladarse de una
solución básica factible a una adyacente significa cambiar el estado de una variable de no básica a
igual a los grados de libertad del sistema de ecuaciones y el número de variables básicas siempre es
ecuación de la función objetivo al mismo tiempo que las nuevas ecuaciones de las restricciones. Antes
de comenzar con el método símplex es necesario escribir el problema una vez más en su forma
equivalente:
Maximizar Z,
sujeta a
Z 3x1 5x2 = 0
x1 + x3 = 4
2x2 + x4 = 12
3x1 + 2x2 + x5 = 18
xj 0 para j = 1, 2, …, 5
variable de holgura. Con esta interpretación, las soluciones básicas no cambian, excepto que Z puede
A partir de este momento ya estamos listos para pasar los coeficientes de nuestro problema
Variable Lado
Básica Z x1 x2 x3 x4 x5 derecho Cociente ¿Es óptima?
Z 1 –3 –5 0 0 0 0
x3 0 1 0 1 0 0 4 (0, 0, 4, 12, 18)
x4 0 0 2 0 1 0 12 Z=0
x5 0 3 2 0 0 1 18
La tabla anterior ilustra una propiedad clave que toda tabla símplex debe tener para estar en
la forma apropiada; se trata del patrón especial de los coeficientes de las variables básicas. En
particular, nótese cómo las columnas de x 3, x4 y x5 (al igual que la columna de Z) contiene
exactamente un +1 en el renglón que corresponde a esa variable básica (véase la primera columna), y
todos los demás coeficientes en esa columna son cero. De la misma manera, cada ecuación contiene
exactamente una variable básica con coeficiente distinto de cero, en donde este coeficiente es +1.
Esta propiedad es significativa, ya que permite identificar de inmediato la solución básica factible
actual a partir de la tabla; esto es, cada variable básica es igual a la constante del lado derecho de su
ecuación. Esta primera solución básica factible actual se muestra en la figura anterior en la columna
de ¿Es óptima?. De aquí en adelante, para cada nueva iteración del método símplex mostraremos la
solución básica factible actual en esta columna de la tabla símplex. (Recuérdese que las variables no
básicas son iguales a cero). La tabla símplex inicial quedará automáticamente en esta forma
apropiada (a menos que el problema original de programación lineal no esté en nuestra forma
estándar).
El método símplex construye una tabla símplex para cada solución básica factible que se
PASO INICIAL. Se introducen variables de holgura. Después se seleccionan las variables originales
como variables no básicas iniciales (se igualan a cero) y las variables de holgura como las variables
básicas originales. Esta selección lleva a la tabla símplex inicial anterior. Como esta tabla está en la
forma apropiada, de inmediato se obtiene la solución básica factible inicial para el ejemplo,
(0,0,4,12,18). Ahora debe realizarse la prueba de optimalidad para determinar si la solución es
optima.
PRUEBA DE OPTIMALIDAD. La solución básica factible actual es óptima si y sólo si todos los
proceso termina; de otra manera, se lleva a cabo otra iteración para obtener la nueva solución básica
factible, lo que significa el cambio de una variable no básica por una básica (parte 1) y viceversa
(parte 2), y después despejar las variables de la nueva solución (parte 3).
de manera que debe irse al paso iterativo. Tacharemos la solución básica factible actual como se
PASO ITERATIVO.
Parte 1. Se determina la variable básica entrante mediante la elección de la variable con el
coeficiente negativo (automáticamente se refiere a una variable no básica) que tiene el mayor valor
absoluto en la ecuación de Z. Se enmarca la columna correspondiente a este coeficiente; esta
columna recibe el nombre de columna pivote. En el ejemplo, el coeficiente negativo más grande (en
términos de valor absoluto) es –5 para x2 (5>3), por lo que x2 debe convertirse en variable básica.
Este cambio se indica en la siguiente tabla con el recuadro en la columna de x 2 abajo del –5:
Variable Lado
Básica Z x1 x2 x3 x4 x5 derecho Cociente ¿Es óptima?
Z 1 –3 –5 0 0 0 0
x3 0 1 0 1 0 0 4
x4 0 0 2 0 1 0 12 12/2 = 6 mínimo
x5 0 3 2 0 0 1 18 18/2 = 9
Parte 2. Se determina la variable básica que sale; para esto, a) se toma cada coeficiente
estrictamente positivo (>0) de la columna enmarcada, b) se divide el lado derecho de cada renglón
variable básica para esta ecuación. (Esta variable básica es la que llega a cero primero cuando se
incrementa la variable básica entrante). Se enmarca el renglón de esta ecuación en la tabla símplex
sin incluir la columna Z y se le da el nombre de renglón pivote. El número que está en la intersección
En la tabla anterior, se muestran los resultados de las partes 1 y 2 para el ejemplo (antes de
enmarcar el renglón); la prueba del cociente mínimo para determinar la variable básica que sale se
Parte 3. Se determina la nueva solución básica factible al construir una nueva tabla símplex
en la forma apropiada, abajo de la que se tiene. Las primeras dos columnas no cambian, excepto que
la variable básica entrante sustituye a la variable básica que sale en la columna de Variable Básica.
Para cambiar el coeficiente de la nueva variable básica en el renglón pivote a +1, se divide todo el
obtener un coeficiente 0 para la nueva variable básica en las otras ecuaciones, cada renglón [inclusive
el de la ecuación de Z] excepto el renglón pivote, se cambia por la nueva tabla símplex usando la
siguiente fórmula:
Renglón nuevo = renglón antiguo (coeficiente en la columna pivote renglón pivote nuevo)
este renglón.
Variable Lado
Básica Z x1 x2 x3 x4 x5 derecho Cociente ¿Es óptima?
Z 1 –3 –5 0 0 0 0
x3 0 1 0 1 0 0 4 (0, 0, 4, 12, 18)
x4 0 0 2 0 1 0 12 Z=0
x5 0 3 2 0 0 1 18
Z 1
x3 0
x2 0 0 1 0 1/2 0 6
x5 0
Para ilustrar con el ejemplo, los nuevos renglones se obtienen de la forma siguiente:
Renglón de Z: 3 5 0 0 0, 0
(5) 0 1 0 1/2 0, 6
Renglón nuevo = 3 0 0 5/2 0, 30
Renglón 3: 3 2 0 0 1, 18
(2) 0 1 0 1/2 0, 6
Renglón nuevo = 3 0 0 1 1, 6
Estos cambios llevan a la nueva tabla símplex que se muestra en la siguiente tabla para la
iteración 1:
Variable Lado
Básica Z x1 x2 x3 x4 x5 derecho Cociente ¿Es óptima?
Z 1 –3 –5 0 0 0 0
x3 0 1 0 1 0 0 4 (0, 0, 4, 12, 18)
x4 0 0 2 0 1 0 12 Z=0
x5 0 3 2 0 0 1 18
Z 1 –3 0 0 5/2 0 30
x3 0 1 0 1 0 0 4 (0, 6, 4, 0, 6)
x2 0 0 1 0 1/2 0 6 Z = 30
x5 0 3 0 0 –1 1 6
Como las variables básicas siempre son iguales al lado derecho de la ecuación que le
Este trabajo completa el paso iterativo, así que debe proseguirse a la prueba de optimalidad.
Como la ecuación de Z todavía tiene coeficientes negativos (–3 para x1), la prueba de optimalidad
indica que la solución no es óptima, (lo cual se muestra en la figura anterior) por lo que manda al
algoritmo de regreso al paso iterativo para obtener la siguiente solución básica factible. El paso
iterativo comienza de nuevo en la tabla símplex actual para encontrar la nueva solución. Si se siguen
Variable Lado
Básica Z x1 x2 x3 x4 x5 derecho Cociente ¿Es óptima?
Z 1 –3 0 0 5/2 0 30
x3 0 1 0 1 0 0 4 4/1 = 4 (0, 6, 4, 0, 6)
x2 0 0 1 0 1/2 0 6 Z = 30
x5 0 3 0 0 –1 1 6 6/3 = 2
mín.
En las siguientes tablas se muestra el conjunto completo de las tablas del método símplex
para este ejemplo. La nueva solución básica factible es (2, 6, 2, 0, 0), con Z = 36. Al hacer la prueba
Variable Lado
Básica Z x1 x2 x3 x4 x5 derecho Cociente ¿Es óptima?
Z 1 –3 –5 0 0 0 0
x3 0 1 0 1 0 0 4 (0, 0, 4, 12, 18)
x4 0 0 2 0 1 0 12 12/2 = 6 Z=0
mín.
x5 0 3 2 0 0 1 18 18/2 = 9
Z 1 –3 0 0 5/2 0 30
x3 0 1 0 1 0 0 4 4/1 = 4 (0, 6, 4, 0, 6)
x2 0 0 1 0 1/2 0 6 Z = 30
x5 0 3 0 0 –1 1 6 6/3 = 2
mín.
Z 1 0 0 0 3/2 1 36
x3 0 0 0 1 1/3 –1/3 2 (2, 6, 2, 0, 0)
x2 0 0 1 0 1/2 0 6 Z = 36
x1 0 1 0 0 –1/3 1/3 2 Óptima
Anteriormente no se dijo qué hacer cuando las reglas de selección del método símplex no
llevan a una decisión clara, ya sea porque existen empates (valores iguales) o por otras ambigüedades
parecidas.
mayor valor absoluto en la ecuación de Z actual como la variable básica entrante. Ahora suponga que
dos o más variables no básicas tienen el coeficiente negativo más grande (en valor absoluto), es
decir, que hay un empate entre ellas. Por ejemplo, esto ocurriría en la primera iteración del ejemplo
anterior si se cambiara la función objetivo a Z = 3x 1 + 3x2, con lo que la ecuación del renglón de Z
La respuesta es que la elección entre estos dos contendientes se puede hacer de manera
arbitraria . Tarde o temprano se llegará a la solución óptima, sin importar cuál de las variables
empatadas se haya escogido, y no existe un método conveniente para predecir cuál lleva ahí más
rápidamente. En este ejemplo ocurre que si se escoge x 1 como variable entrante, el método símplex
que sale en el paso 2 de una iteración. ¿Importa cuál se escoge? En teoría sí, y en una forma crítica
debido a que puede ocurrir la siguiente sucesión de eventos. Primero, todas las variables empatadas
se hacen cero al mismo tiempo cuando aumenta el valor de la variable entrante. Por tanto, aquellas
que no se eligieron como variable básica que sale también tendrán un valor de cero en la nueva
solución básica factible. (Las variables básicas con valor de cero se llaman degeneradas y el mismo
básicas degeneradas sigue con valor de cero hasta que se selecciona como variable básica que sale en
una iteración posterior, la variable básica entrante deberá también quedar con valor de cero (ya que
no puede crecer sin que la variable básica que sale se vuelva negativa), entonces el valor de Z
permanecerá sin cambio. Tercero, si Z permanece igual en lugar de mejorar cada iteración, el método
símplex puede caer en un ciclo que repite la misma secuencia de soluciones periódicamente, en lugar
Por fortuna, aunque en teoría es posible que haya ciclos perpetuos, ha sido en extremo raro
que tenga lugar en problemas reales. Si ocurriera un ciclo siempre se puede salir de él cambiando la
elección de la variable básica que sale. Por lo tanto se recomienda romper los empates
arbitrariamente y seguir el proceso sin preocuparse de las variables que puedan resultar.
que ninguna variable califica como variable básica que sale. Esta situación puede ocurrir si la variable
básica entrante puede crecer indefinidamente sin que ninguna de las variables básicas actuales
adquiera valores negativos. En la forma tabular, esto significa que todos los coeficientes en la
Como se ilustra en la siguiente tabla, esta situación surge cuando se considera el siguiente
ejemplo:
En este ejemplo se ignoraron las dos últimas restricciones funcionales del ejemplo resuelto
anteriormente. Vea en la tabla que x2 es la variable básica entrante pero el único coeficiente en la
columna pivote es cero. Como la prueba del cociente mínimo usa sólo coeficientes mayores que cero,
no se cuenta con un cociente que proporcione una variable básica que sale.
La interpretación de una tabla símplex como la que se muestra en la siguiente tabla es que las
símplex se detiene con el mensaje de que Z 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 prácticos
es: ¡Se ha cometido un error! Tal vez el modelo esté mal formulado, ya sea por haber omitido una
restricción relevante o por haberla establecido incorrectamente. De otra manera, pudo haber
solución óptima. Si en el ejemplo cambiamos la función objetivo a Z = 3x 1 + 2x2 resulta que todos los
puntos sobre el segmento de recta entre (2,6) y (4,3) son soluciones óptimas. Entonces todas las
soluciones son un promedio ponderado de estas dos soluciones factibles en los vértices óptimas:
donde los pesos w1 yw2 son números que satisfacen las relaciones:
w1 + w2 = 1 y w1 0, w2 0
En general, cualquier promedio ponderado de dos o más soluciones (vectores) donde los pesos
son no negativos y suman 1 se llama combinación convexa de estas soluciones. Entonces, toda solución
son óptimas. Toda solución óptima es una combinación lineal de estas soluciones
óptimas.
óptima. Sin embargo, en muchas aplicaciones de Programación Lineal existen factores intangibles que
no se incorporan al modelo y que pueden ser útiles para tomar decisiones significativas sobre las
soluciones óptimas alternativas. En esos casos, también deben identificarse las otras soluciones
óptimas. Esto requiere encontrar todas las demás soluciones básicas factible óptimas, y entonces
toda solución óptima es una combinación convexa de las soluciones básicas factibles óptimas.
Una vez que el método símplex encuentra una solución básica factible óptima, se puede
Siempre que un problema tiene más de una solución básica factible óptima, al menos
que si aumenta su valor, el valor de la función Z no cambia. Por lo tanto, estas otras
iteraciones adicionales del método símplex, en las que cada vez se elige una variable
no básica con coeficiente cero como variable básica entrante. Si una de estas
iteraciones no tiene una variable básica que sale esto indica que la región factible es
valor de Z.