Documentos de Académico
Documentos de Profesional
Documentos de Cultura
El primer supuesto tiene que ver con la forma lineal de las funciones. Ya que el
objetivo es lineal, la contribución al objetivo de cualquier decisión es
proporcional al valor de la variable de decisión. Producir dos veces más de
producto producirá dos veces más de ganacia, contratando el doble de páginas en
las revistas doblará el costo relacionado con las revistas. Es una Suposición de
Proporción.
Estas suposiciones son bastante restrictivas. Veremos, sin embargo, que ser
claros y precisos en la formulación del modelo puede ayudar a manejar
situaciones que parecen en un comienzo como lejanos a estos supuestos.
Será difícil que un problema cumpla con todas las suposiciones de manera
exacta. Pero esto no negará la factibilidad de uso del modelo. Un modelo puede
ser aún útil aunque difiera de la realidad, si se es consistente con los
requerimientos más estrictos dentro del modelo y se tiene claras sus limitaciones
al interpretar los resultados.
Existen limitaciones prácticas para el uso de la PL. Una se relaciona con los
cálculos. En general se necesita una computadora. Desafortunadamente, las
calculadoras, aun las programables, son poco útiles, puesto que la PL tiene
necesidad de gran cantidad de memoria o almacenamiento. Si no se tiene acceso
a una computadora, se estará limitado a problemas muy sencillos. La otra
limitación se refiere al costo de formular un problema de PL. En teoría, podría
usarse PL, por ejemplo, para hacer las compras semanales de abarrotes. Sin
embargo, sería necesario conocer todas las compras posibles que pueden
realizarse (éstas serían las variables), además de cada restricción como sabor,
número de comidas, vitaminas y proteínas. Es obvio que el costo de obtener
todos estos datos excede lo que se podría ahorrar si se hicieran las compras
óptimas. Antes de emprender una aplicación de PL, debe considerarse la
disponibilidad y el costo de los datos necesarios.
3A + 2B = 100
Sin embargo, en la mayoría de las situaciones de negocios, no es obligatorio que
se usen todos los recursos (en este caso, horas de mano de obra). Más bien la
limitación es que se use, cuando mucho, lo que se tiene disponible. Para este
caso, la afirmación anterior puede escribirse como una desigualdad:
3A + 2B ≤ 100
Para que sea aceptable para PL, cada restricción debe ser una suma de variables
con exponente 1. Los cuadrados, las raíces cuadradas, etc. no son aceptables, ni
tampoco los productos de variables. Además, la forma estándar para una
restricción pone a todas las variables del lado izquierdo y sólo una
constante positiva o cero del lado derecho. Esto puede requerir algún reacomodo
de los términos. Si, por ejemplo, la restricción es que A debe ser por los menos el
doble de B, esto puede escribirse como:
A ≥ 2B ó A - 2B ≥ 0
A≥ B - 2
ó A - B ≥ -2
por último B - A ≥ 2
Una nota final sobre desigualdades: es sencillo convertir una desigualdad en una
ecuación. Todo lo que se tiene que hacer es agregar (o restar) una variable extra.
Por ejemplo:
Maximizar Z = 4A + 6B
ó
Minimizar Z = 2x1 + 5x2
El gerente de personal debe decidir cuántas personas necesita contratar cada mes
para adiestramiento. En seguida se da el número de meses-hombre necesarios.
También se desea tener una fuerza de trabajo regular de 110 al principio de julio.
En cuanto al 1º de enero, hay 58 empleados regulares.
Mes Meses-hombre requeridos Mes Mes Meses-hombre requeridos
Enero 60 Abril 80
Febrero 50 Mayo 70
Marzo 60 Junio 100
Entonces los requerimientos de cada mes pueden expresarse por las restricciones:
Debido a la rotación, el 10% de los trabajadores regulares se van cada mes. Así,
el número de trabajadores regulares disponibles, por ejemplo, al principio de
febrero sería:
R2 = 0.9R1 + A1
enero R1 = 58 (dado)
febrero R2 = 0.9R1 + A1
marzo R3 = 0.9R2 + A2
abril R4 = 0.9R3 + A3
mayo R5 = 0.9R4 + A4
junio R6 = 0.9R5 + A5
julio (principio) R7 = 0.9R6 + A6
3. Algunas restricciones funcionales en forma de ecuación:
Cualquier problema que incluya una, varias o todas estas formas del modelo
anterior también se clasifica como un problema de PL, siempre y cuando éstas
sean las únicas formas nuevas introducidas. Puede ser que la interpretación que
se ha dado de asignación de recursos limitados entre actividades que
compiten no se aplique, pero independientemente de la interpretación o el
contexto, lo único que se necesita es que la formulación matemática del problema
se ajuste a las formas permitidas. Se verá que estas otras cuatro formas legales se
pueden reescribir en una forma equivalente para que se ajuste al modelo que se
presentó. Entonces, todo problema de PL se puede poner en nuestra forma
estándar si se desea.
2. Programación Lineal.
Para la solución gráfica de programas lineales con dos variables, lo que se tiene
que hacer es trazar un eje de coordenadas cartesianas, para graficar las
desigualdades dadas por el problema, después encontrar el Área de Soluciones
Factibles y proceder a graficar la función objetivo para conocer el valor óptimo
(maximizar o minimizar) que será la solución del problema.
Existe una limitación más. El fabricante prometió producir por lo menos dos
mesas. Esto puede expresarse como:
x1 ³ 2
Restricciones:
12x1 + 8x2 £ 96 6x1 + 12x2 £ 72 x1 ³ 2 x1 ³ 0, x2 ³ 0
Así, en el ejemplo, x1 ³ 2 se convierte en x1 = 2. Esta ecuación está trazada en la
siguiente figura:
12x2 = 72 x2 = 6 La intersección con el eje X1 se encuentra haciendo x2 = 0. Así:
6x1 = 72 x1 =12
Estos dos puntos y la línea que los une se muestran en la siguiente figura:
Cualquier punto que está sobre o abajo de esta línea cumplirá con la restricción.
Cualquier punto arriba de esta línea requerirá más de 72 horas de mano de obra
y no es aceptable. En la siguiente figura se combina esta restricción con la
anterior. En la región factible, ambas restricciones se cumplen.
Minimizar Z = 5A + 8B
Las restricciones son los requerimientos mínimos de las tres vitaminas. Éstas se
muestran enseguida:
El procedimiento para graficar es el mismo que se usó antes: (1) graficar cada
ecuación de restricción; (2) graficar el área apropiada. Para la primera
restricción la ecuación es 4A + 10B = 40. Las dos intersecciones con los ejes
son (0,4) y (10,0). Esta línea se muestra en la siguiente figura:
La restricción pide 40 unidades o más de la vitamina W. Cualquier punto que
esté arriba de la línea de restricción será factible y todos los puntos que quedan
abajo de esa línea serán aceptables. En la siguiente figura se muestra la región
factible:
(1) 4A + 10B = 40
(2) 7A + 7B = 49
42B = 84
B=2
A=5
Punto Coordenadas Z = 5A + 8B
a A = 10, B = 0 50
b A = 5, B = 2 41 ¾ menor
c A = 3, B = 4 47
d A = 0, B = 10 80
CASOS ESPECIALES.
Múltiples soluciones.
Maximizar Z = 2x1 – x2
sujeta a x1 – x2 £ 1
2x1 + x2 ³ 6
x1 ³ 0 x2 ³ 0
Además de las iteraciones, los algoritmos incluyen un procedimiento para iniciar y un criterio para
determinar cuándo detenerse, como se resume enseguida:
El método símplex es un procedimiento algebraico en el que cada iteración contiene la 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 conceptos geométricos
generales se empleará la solución gráfica del siguiente problema:
1a. Si existe exactamente una solución óptima, entonces debe ser una solución factible en un vértice.
1b. Si existen soluciones óptimas múltiples, entonces al menos dos de ellas deben ser soluciones factibles en
vértices adyacentes.
2. Existe sólo un número finito de soluciones factibles en los vértices adyacentes.
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 soluciones en los vértices; es
decir, es óptima.
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 procedimiento se resume como sigue:
2. Paso iterativo: traslado a una mejor solución factible en un vértice adyacente. (Repítase este paso las
veces que sea necesario).
3. Prueba de optimalidad: la solución factible en un vértice es óptima cuando ninguna de las soluciones en
vértices adyacentes a ella sean mejores.
Este bosquejo muestra la esencia del método símplex,. En el caso del ejemplo, al utilizar estas
reglas de selección el método símplex procede como sigue:
3. Prueba de optimalidad: ni (0,6) ni (4,3) son mejores que (2,6), entonces se detiene, (2,6) es óptima.
En el procedimiento algebraico es mucho más conveniente manejar ecuaciones que desigualdades.
Así, el primer paso para preparar el método símplex es convertir las restricciones funcionales de
desigualdad en restricciones equivalentes. (Las restricciones de no negatividad se pueden dejar como
desigualdades porque el algoritmo las usa sólo indirectamente). Esta conversión se hace mediante la
introducción de variables de holgura. Considérese la primera restricción funcional del ejemplo:
x1 £ 4
La variable de holgura para esta restricción es x 3, que no es otra cosa que la holgura entre los dos lados de
la desigualdad. Entonces:
x1 + x3 = 4
La restricción original x 1 £ 4 se cumple siempre que x 3 ³ 0. Por tanto, x1 £ 4 es totalmente equivalente al
conjunto de restricciones
x1 + x3 = 4
x3 ³ 0,
sujeta a
x1 + x3 = 4
2x2 + x4 = 10
3x1 + 2x2 + x5 = 18
xj ³ 0 para j = 1, 2, …, 5
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 introducir la
siguiente definición:
Una solución aumentada es una solución para un problema que originalmente se encontraba en forma
de desigualdades y que se ha aumentado con los valores correspondientes de las variables de holgura
para cambiar el problema a la forma de igualdades.
Por ejemplo, al aumentar la solución (3,2) en el ejemplo, se obtiene la solución aumentada
(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 no factibles, lo que lleva
a la siguiente definición:
Así, la solución factible en el vértice (0,6) del ejemplo es equivalente a la solución básica factible
(0,6,4,0,6) para la forma de igualdades del problema.
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 solución básica, la solución en el vértice correspondiente se obtiene simplemente al
quitar las 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 básica y
viceversa para otra variable.
En términos generales, el número de variables no básicas de una solución básica siempre es igual
a los grados de libertad del sistema de ecuaciones y el número de variables básicas siempre es igual al
número de restricciones funcionales.
Al trabajar con el problema en forma de igualdades, conviene tomar en cuenta y manipular la
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 = 10
3x1 + 2x2 + x5 = 18
xj ³ 0 para j = 1, 2, …, 5
A partir de este momento ya estamos listos para pasar los coeficientes de nuestro problema a lo
que conoceremos como la Tabla Símplex:
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 x3, 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 obtiene,
hasta alcanzar la solución óptima. A continuación describimos el procedimiento para problemas que ya
están en la forma estándar, con bi > 0 para toda i = 1, 2, …, m.
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,10,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
coeficientes de la ecuación de la función objetivo (renglón de Z) son no negativos ( ³ 0 ). Si es así, el
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).
En este ejemplo, hay dos coeficientes negativos en la ecuación de Z, -3 para x1 y -5 para x2 de
manera que debe irse al paso iterativo. Tacharemos la solución básica factible actual como se muestra en la
tabla anterior para indicar que esta solución no es óptima.
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 x2 abajo del –5:
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 entre
estos coeficientes, c) se identifica la ecuación con el menor coeficiente y d) se selecciona la 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 de los dos recuadros se llama pivote.
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
muestra a la derecha de la tabla. Entonces la variable básica que sale es x4.
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 renglón pivote entre el
número pivote:
Renglón nuevo = renglón antiguo - (coeficiente en la columna pivote ´ renglón pivote nuevo)
Para ilustrar con el ejemplo, los nuevos renglones se obtienen de la forma siguiente:
Renglón nuevo = [-3 0 0 5/2 0, 30]
Estos cambios llevan a la nueva tabla símplex que se muestra en la siguiente tabla para la
iteración 1:
Como las variables básicas siempre son iguales al lado derecho de la
ecuación que le corresponde, la nueva solución básica factible es (0, 6, 4, 0, 6)
con Z = 30.
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 x 1), 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 las instrucciones de las partes 1 y 2, se
encuentra que x1 es la variable básica entrante y x 5 la variable básica que sale, como se muestra en la
siguiente tabla:
En las siguientes tablas se muestra el conjunto completo de las tablas del método símplex para
esteejemplo. La nueva solución básica factible es (2, 6, 2, 0, 0), con Z = 36. Al hacer la prueba de
optimalidad, se encuentra que la solución es óptima porque no hay coeficientes negativos en la ecuaciónde Z,
de manera que el algoritmo ha terminado. En consecuencia, la solución óptima para este ejemplo (sin tomar
en cuenta las variables de holgura) es x1 = 2, x2 = 6.
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.
El paso 1 de cada iteración elige la variable básica que tiene el coeficiente negativo con el 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 = 3x1 + 3x2, con lo que la ecuación del renglón de Z inicial sería Z -3x1-3x2 = 0. ¿Cómo
debe romperse este empate?
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 x1 como variable entrante, el método símplex alcanza la solución óptima (2, 6) en
tres iteraciones y si se elige x2, llega en dos.
Ahora suponga que el empate ocurre entre dos o más variables básicas al elegir la variable 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 nombre se da a la solución básica
factible correspondiente.) Segundo, si una de estas variables 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 de aumentar en algún momento para llegar a la solución óptima.
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.
Existe otra posibilidad en el paso 2 de una iteración, de la que no se ha hablado: aquella en la
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 columna pivote (se
excluye el renglón de Z) son negativos o cero.
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 x 2 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
restricciones no impiden el crecimiento indefinido de la función objetivo Z, de manera que el método 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 ocurrido un error en los cálculos.
En la definición de solución óptima se mencionó que un problema puede tener más de una
solución óptima. Si en el ejemplo cambiamos la función objetivo a Z = 3x1 + 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:
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 óptima
en el ejemplo es una combinación convexa de (2, 6) y (4, 3).
El método símplex se detiene automáticamente al encontrar una solución básica factible ó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 detectar si
existen otras y, si así es, se encuentra como sigue:
Hasta este momento se han presentado los detalles del método símplex con la suposición de que
el problema se encuentra en nuestra forma estándar (maximizar Z sujeta a las restricciones funcionales de
la forma £ y restricciones de no negatividad sobre todas las variables) con b i ³ 0 para toda i = 1, 2, ..., m.
En esta sección se establecerá cómo hacer los ajustes requeridos a otras formas legítimas de modelos de
Programación Lineal. Se verá que todos estos ajustes se pueden hacer en el paso inicial, de manera que el
resto del método símplex se aplica justo como se aprendió.
El único problema serio que introducen las otras formas de restricciones funcionales (= ó ³) es
identificar una solución inicial básica factible. Antes, esta solución inicial se encontraba en forma muy
conveniente al hacer que las variables de holgura fueran las variables básicas iniciales, donde cada una era
igual a la constante no negativa del lado derecho de la ecuación correspondiente. Ahora debe hacerse algo
más. El enfoque estándar que se utiliza es estos casos es la técnica de variables artificiales. Ésta construye
un problema artificial más conveniente introduciendo una variable ficticia (llamada variable artificial) en
cada restricción que lo requiera. Esta nueva variable se introduce sólo con el fin de que sea la variable
básica inicial para esa ecuación. Las restricciones usuales de no negatividad también se aplican sobre estas
variables y la función objetivo se modifica para que imponga una penalización exorbitante en el caso de
que adquieran valores mayores que cero. Las iteraciones del método símplex automáticamente fuerzan a las
variables artificiales a desaparecer (a volverse cero) una a una, hasta que todas quedan fuera de la
solución; después de esto se resuelve el problema real.
Para ilustrar la técnica de las variables artificiales, primero se considerará el caso en que la
única forma no estándar en el problema es la presencia de una o más restricciones en forma de igualdad.
ai1x1 +ai2x2 + . . . + ainxn = bi
Sin embargo, en lugar de hacer esta sustitución e incrementar con ello el número de
restricciones, es más conveniente usar la técnica de la variable artificial. Suponga que se modifica el
problema de ejemplo presentado y resuelto en la sección anterior. El único cambio que sufre el modelo de
programación lineal es que la tercera restricción, 3x 1 + 2x2 £ 18, se convierte en una restricción de
igualdad:
3x1 + 2x2 = 18
Aplicando la técnica de las variables artificiales se introduce una variable artificial no
negativa (denotada por x5) en la última ecuación, como si fuera una variable de holgura:
_
3 x1 + 2 x2 + x5 = 18
En resumen si tenemos una restricción funcional en forma de igualdad y deseamos “pasarla a
su forma de igualdad”, únicamente debemos sumar una variable artificial.
Para ilustrar la manera en que la técnica de las variables artificiales maneja las restricciones
de la forma ³ usaremos el siguiente ejemplo:
Notemos que la tercera restricción es del tipo ³, por lo que para cambiarla a su forma de
igualdad tendríamos que restar una variable de superávit (o de excedente), quedando de la siguiente
manera:
0. x1 + 0.4 x2 - x5 = 6
6
_
0. x1+0.4x2-x5+x6=6
6
La razón de esto es que, si no se agrega la variable artificial, no se estarían cumpliendo las
restricciones de no negatividad. Para comprenderlo, se dejará sin aumentar. El método símplex comienza
por hacer todas las variables reales (originales) iguales a cero. Entonces:
-x5 = 6
_
0.6 x1 + 0.4 x2 - x5 + x6 = 6
_
x6 = 6
Como explicamos anteriormente, para resolver este problema, debemos construir un problema
artificial que tiene la misma solución óptima que el problema real, haciendo dos modificaciones a este
problema real.
_
3 x1 + 2 x2 + x5 = 18
2. Se asigna una penalización enorme al hecho de tener x 5 > 0, cambiando la función objetivo
Z = 3x1 + 5x2 a:
_
Z = 3 x1 + 2 x2 + M x5 = 18
donde M simbólicamente representa un número positivo muy grande. Este método que fuerza a x 5 hasta
el nivel de x5 = 0 en la solución óptima se llama método de la M.
Nota: Para el caso de minimización, penalizamos a la variable artificial, haciéndola aparecer en la
función objetivo con un coeficiente de +M.
Como x5 juega el papel de la variable de holgura en la tercera restricción del problema
artificial, esta restricción es equivalente a 3x1 + 2x2 £ 18.
En particular, el sistema de ecuaciones después de aumentar el problema artificial (en otras
palabras, pasarlo a su forma de igualdades) es:
Maximizar Z,
sujeta a
_
Z - 3x1 - 5x2 + Mx5 = 0
x1 + x3 = 4
2x2 + x4 _ = 10
3x1 + 2x2 + x5 = 18
xj ³ 0 Para j = 1, 2, …, 5
En este momento estamos preparados para pasar los coeficientes a la tabla símplex:
_
Variable Z x1 x2 x3 x4 x5 Lado Cociente ¿Es óptima?
Básica derecho
Z 1 –3 –5 0 0 M 0
x3 0 1 0 1 0 0 4
x4 0 0 2 0 1 0 10
x5 0 3 2 0 0 1 18
Esta tabla todavía no está en la forma apropiada porque el coeficiente de x 5 es diferente de
cero en la ecuación de Z (es M). Por lo tanto, antes de que el método símplex pueda aplicar la prueba de
optimalidad y encontrar la variable básica entrante, debe pasarse esta tabla a la forma apropiada para que
cumpla la condición símplex. Esta condición que debe cumplir toda tabla del método símplex para que
pueda reportarnos la siguiente solución básica factible dice que: “Toda variable básica debe tener un 1 en la
intersección de su renglón y columna correspondiente y cero en los demás renglones incluido el renglón de
Z”, en otras palabras, que toda variable que sea básica solamente debe aparecer en el renglón de la
restricción que representa. Para hacer cero el coeficiente M, utilizamos el renglón de x 5 como renglón pivote
multiplicándolo por -M y sumando el resultado al renglón de Z. Realizando el procedimiento anterior, la
tabla símplex queda de la siguiente manera:
Básica derecho
Z 1 -3M- -2M- 0 0 0 -18M -Mx5 + Z
3 5
x3 0 1 0 1 0 0 4 (0, 0, 4, 10, 18)
x4 0 0 2 0 1 0 10 Z = -18M
x5 0 3 2 0 0 1 18
Podemos observar que la tabla anterior ya se encuentra en la forma apropiada y podemos leer
la solución básica factible actual, que es (0, 0, 4, 10, 18), la cual aplicando la prueba de optimalidad vemos
que no es óptima ya que todavía tenemos coeficientes negativos en el renglón de Z (los correspondientes a
x1 y x2). Aplicando el método símplex a la tabla anterior tenemos: el coeficiente negativo con el mayor valor
absoluto corresponde a x1 (-3M-3), recordemos que M es un número muy grande positivo, por lo tanto,
x1 se convierte en la variable básica entrante, realizando los cocientes correspondientes, vemos que x 3 se
convierte en la variable básica saliente. El procedimiento completo para resolver este ejemplo se muestra en
el siguiente conjunto de tablas:
Notemos que la primera tabla no se encontraba en la forma apropiada para el método símplex,
ya que el coeficiente de la variable básica x5 era de -M en el renglón de Z, lo cual hacia que no se
cumpliera la condición símplex.
2.6. Método de las dos Fases.
Sin embargo, el método de la M utiliza la siguiente función objetivo a través de todo el
procedimiento:
Como los dos primeros coeficientes (0.4 y 0.5) son despreciables comparados con M, el método
de dos fases puede eliminar la M usando las siguientes dos funciones objetivo que definen Z de manera
completamente diferente:
Fase 1: Minimizar Z = x4 + x6 (hasta que x4 = 0 y x6 = 0).
La función objetivo de la fase 1 se obtiene dividiendo la función objetivo del método de
la M entre M eliminando los términos despreciables, en otras palabras, la fase 1 consiste en la minimización
de la suma de todas las variables artificiales que se introduzcan en el problema. Como la fase 1 concluye al
obtener una solución básica factible para el problema real (aquella en la que x 4 = 0 y x6 = 0), esta solución
se usa como la solución básica factible inicial para aplicar el método símplex al problema real (con su
función objetivo) en la fase 2. Antes de resolver el ejemplo de esta manera se hará un resumen de las
características generales.
Paso inicial: Se revisan las restricciones del problema original introduciendo variables artificiales según se
necesite para obtener una solución básica factible inicial obvia para el problema artificial.
Fase 1: uso del método símplex para resolver el problema de programación lineal:
Minimizar Z = S de todas las variables artificiales, sujeta a las restricciones revisadas.
La solución óptima que se obtiene para este problema (con Z = 0) será una solución básica
factible para el problema real.
Fase 2: se eliminan las variables artificiales (de todas formas, ahora todas valen cero).
Comenzando con la solución básica factible que se obtuvo al final de la fase 1, se usa el método símplex para
resolver el problema real.
Enseguida se resumen los problemas que deben resolverse por el método símplex en las fases
respectivas para el ejemplo.
sujeta a
sujeta a
Las únicas diferencias entre estos dos problemas se encuentran en la función objetivo y en la
inclusión (fase 1) o exclusión (fase 2) de las variables artificiales x 4 y x6. Sin las variables artificiales, el
problema para la fase 2 no tiene una solución básica factible inicial obvia. El único propósito de resolver el
problema para la fase 1 es obtener una solución básica factible con x 4 = 0 y x6 = 0 que se pueda usar como
la solución básica factible inicial para la fase 2.
Las siguientes tablas muestran el resultado de aplicar el método símplex a este problema para
la fase 1:
Notemos que ya hemos obtenido una solución óptima para la fase 1 que consistió en la
minimización de la suma de todas las variables artificiales. Observemos también que la función objetivo W
terminó con un valor de cero en la última tabla, lo que indica que las dos variables artificiales (x 4 y x6) valen
cero ó tienen valores recíprocos y se cancelan mutuamente para dar cero. En nuestro caso, las dos variables
artificiales valen cero ya que no se encuentran en la columna de las variables básicas en la última tabla de la
primera fase. La segunda fase consiste en resolver el problema original utilizando como tabla inicial de esta
fase la última tabla de la primera fase pero sin considerar la columna de las variables artificiales ya que
éstas tomaron el valor de cero en la primera fase. El método símplex aplicado a la segunda fase se muestra
en el siguiente conjunto de tablas:
Notemos que no fue necesario aplicar propiamente el método símplex a la primera tabla de la
segunda fase, ya que únicamente aplicando operaciones con matrices para tratar de llevar esta tabla a la
forma apropiada para el método símplex fue suficiente para resolver el problema planteado en la segunda
fase. Es necesario aclarar que no siempre ocurrirá de esta manera, es decir, si después de dejar la tabla en
la forma apropiada, es necesario aplicar el método símplex, se debe aplicar como lo hemos estudiado.