Solución de modelos de PL Ficheiro - Campus Virtual

Anuncio
UNIVERSIDAD DEL VALLE
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA INDUSTRIAL Y ESTADÍSTICA
INTRODUCCIÓN A LA MODELACIÓN MATEMÁTICA Y
OPTIMIZACIÓN
Programación Lineal, Programación No Lineal y Teoría de Redes:
Formulación y solución de modelos, teoría de dualidad, análisis de
sensibilidad, problema del transporte y problemas seleccionados de redes.
(Versión 1.5 Agosto de 2005)
Escrito y recopilado por Carlos Julio Vidal Holguín
Cali, Agosto de 2005
2
Introducción a la Modelación Matemática y Optimización
DEDICATORIA
3.5. SOLUCIÓN DE MODELOS DE PROGRAMACIÓN
LINEAL
Hasta el momento se ha llegado a la obtención del modelo de Programación Lineal. De
hecho, lo más importante es definir claramente el problema y conceptualizar el modelo
correctamente. Sin embargo, una vez concluidos estos dos pasos fundamentales, lógicamente
es necesario encontrar la solución (o soluciones) del modelo.
En la mayoría de los casos, el método que más se aplica es el simplex. Sin embargo,
para lograr la comprensión del método simplex es necesario estudiar inicialmente dos formas
de solución: El método gráfico y el método de enumeración de soluciones básicas. Existen
otros métodos denominados algoritmos de punto interior que no se estudian aquí.
3.5.1. Método Gráfico de Solución
Este método se ilustrará encontrando la solución del modelo Nº 1 anterior. Este modelo
servirá de base para el estudio y la comparación de todos los métodos.
Lo primero que hay que observar es que el modelo al cual se llegó, tiene sólo dos
variables de decisión, (X1 y X2). Esto hace pensar que es posible representar las restricciones
en un eje de coordenadas (X1, X2). El modelo encontrado anteriormente es el siguiente:
MAX U = 400Xଵ + 700Xଶ
Sujeto a:
7
ܺଵ + ൬ ൰ ܺଶ ≤ 1400 ሾܴ1ሿ
3
ܺଵ + 1.4ܺଶ ≤ 980 ሾܴ2ሿ
ܺଵ + ܺଶ ≤ 900 ሾܴ3ሿ
ܺଵ ≥ 900 ሾܴ4ሿ
ܺଶ ≥ 900 ሾܴ5ሿ
ܺଵ + ܺଶ ݁݊‫ݏ݋ݎ݁ݐ‬
Existen infinitos valores de X1 y X2 los cuales satisfacen todas las restricciones
simultáneamente (ignorando la restricción por enteros, la cual se presenta en algunas
ocasiones). Por ejemplo, (0, 0) y (50, 100)son dos parejas de valores (X1, X2), que satisfacen
todas las restricciones. Además, cualquier valor de X1 entre 0 y 50 y de X2 entre 0 y 100,
también satisface a todas las restricciones simultáneamente (esta última observación es válida
para valores reales de X1 y X2, obviamente sin tener en cuenta la restricción por enteros). Así,
puede verse claramente que las restricciones “encierran” un conjunto de infinitas parejas (X1,
84
Introducción a la Modelación Matemática y Optimización
X2), las cuales las satisfacen simultáneamente. Este conjunto de parejas son las soluciones
factibles y forman la denominada región factible (Figura 3.1)
Figura 3.1. Solución gráfica del modelo Nº1
Como se observa en la figura 3.1, la región factible se construye en el plano X1 X2,
trazando las rectas R1, R2, R3, R4, R5, las cuales se obtienen de las restricciones, tomando el
signo “igual”, así:
7
R1: ܺଵ + ൬ ൰ ܺଶ = 1400
3
ܴ2: ܺଵ + 1.4ܺଶ = 980
ܴ3: ܺଵ + ܺଶ = 900
ܴ4: ܺଵ = 0 (݆݁݁ ܺଶ )
ܴ5: ܺଶ = 0 (݆݁݁ ܺଵ )
Posteriormente, se encuentra el semiplano definido por cada desigualdad. Para esto se
prueba, generalmente si el origen (0.0) cumple con la desigualdad y, de ser así, él esta dentro
del semiplano buscado. En la figura 3.1 se ha marcado con flechas el semiplano que cumple
con el signo ≤ para las restricciones R1, R2 y R3 y de ≥ para las restricciones de no–
negatividad R4 y R5, las cuales limitan la región al primer cuadrante. La intersección de todos
los semiplanos definidos por las desigualdades constituye la región factible.
Los infinitos puntos en los límites y dentro de la región factible son las soluciones
factibles del modelo. Por lo general, sólo una de estas infinitas soluciones es la solución
óptima, o sea aquella que produce el valor óptimo de la función objetivo (máximo o mínimo).
Por ejemplo, se observa claramente que X1 = 400 y X2 = 200 es una solución factible,
pues está dentro de la región factible. Esta solución produciría un valor de la función objetivo
U = $300.000. Otra solución factible es X1 = 500 y X2 = 300, la cual produciría U = $410.000.
O sea que esta última es mejor que la primera, pues produce un mayor valor de la función
objetivo “U”, ya que ésta se está maximizando.
Se puede demostrar que la región factible definida por restricciones lineales es una
región convexa. En una región convexa, si se escogen cualquier par de puntos dentro o en los
límites de la región y se unen por una línea recta, entonces toda la línea recta queda
comprendida dentro de la región. La propiedad de convexidad es un aspecto fundamental para
la caracterización de los problemas de optimización. En general, puede afirmarse que un
problema convexo (programación convexa) es más fácil de resolverse que otro que no lo es.
Los vértices de la región factible son los interceptos de los segmentos de reata límites
de la región. En este caso los vértices son:
V1 (0,0)
V2 (0,600)
V3 (350,450)
V4 (700,200)
V5 (900,0)
Para encontrar la solución óptima se procede de la siguiente manera: Se traza la recta
de la función objetivo para un valor arbitrario. Por ejemplo, sea:
Uଵ = 400Xଵ + 700X ଶ = 280.000
Todos los puntos de esta recta que queden dentro de la región factible son soluciones
factibles que producen obviamente un valor de U = 280.000 (por ejemplo X1 = 350; X2 = 200).
Se traza otra recta con un valor diferente, por ejemplo:
Uଶ = 400Xଵ + 700X ଶ = 420.000
Esta recta es obviamente paralela a la primera, pues tiene la misma pendiente igual a
−4/7 y, de nuevo, todos los puntos de ella que están dentro de la región factible son soluciones
factibles que producen un valor de U = 420.000.
O sea que la función objetivo “U” aumenta de valor a lo largo de una familia de rectas
paralelas con pendiente –4/7. Es aquí donde se puede concluir la forma de encontrar la
86
Introducción a la Modelación Matemática y Optimización
solución óptima: Si se conoce la dirección de crecimiento de la función objetivo, se puede
seguir esta dirección por rectas paralelas hasta encontrar el último punto que se “toca” al
“abandonar” la región factible; ESTA SERÁ LA SOLUCIÓN ÓPTIMA DEL MODELO DE
PROGRAMACIÓN LINEAL.
En el modelo Nº 1, el último punto que se toca al abandonar la región factible es el
vértice V3 (X1 = 350; X2 = 450), el cual produce un valor de U = 455.000. Si se aumenta sólo
un poco más el valor de “U”, la nueva recta estará por completo fuera de la región factible. O
sea que el máximo valor que puede lograrse es U = 455.000, con X1 = 350 y X2 = 450.
Por lo tanto, la solución óptima de este modelo es:
X1 = 350
X2 = 450
U* = 455.000 (U* = U óptima)
Análisis de la solución:
La solución óptima plantea que deben producirse 350 transformadores de 40 VA y 450
de 75 VA para obtener una utilidad máxima posible por este concepto de $455.000. Obsérvese
que se supone que todos los transformadores que se producen, se van a vender. En caso de que
exista alguna restricción de demanda, ésta deberá ser incluida en el modelo y éste por supuesto
podrá tener soluciones óptimas diferentes. Los recursos limitados del sistema son las
horas.hombre, las horas.máquina1 y las horas.máquina2. Si se producen las cantidades dadas
en la solución óptima, se están utilizando los siguientes recursos:
7
ܺଵ + ൬ ൰ ܺଶ ≤ 1400 ሾ‫ ݏܽݎ݋ܪ‬− ‫݁ݎܾ݉݋ܪ‬ሿ
3
7
350 + ൬ ൰ 450 = 1400 ሾ‫ ݏܽݎ݋ܪ‬− ‫݁ݎܾ݉݋ܪ‬ሿ
3
ܺଵ + 1.4ܺଶ ≤ 980 ሾ‫ ݏܽݎ݋ܪ‬− ‫ܯ‬á‫ ܽ݊݅ݑݍ‬1ሿ
350 + 1.4(450) = 980 ሾ‫ ݏܽݎ݋ܪ‬− ‫ܯ‬á‫ ܽ݊݅ݑݍ‬1ሿ
ܺଵ + ܺଶ ≤ 900 ሾ‫ ݏܽݎ݋ܪ‬− ‫ܯ‬á‫ ܽ݊݅ݑݍ‬2ሿ
350 + 450 = 800 < 900 ሾ‫ ݏܽݎ݋ܪ‬− ‫ܯ‬á‫ ܽ݊݅ݑݍ‬2ሿ
O sea que se utilizan completamente las horas-hombre y las horas-máquina 1
disponibles, pero sólo se utilizan 800 de las 900 horas-máquina 2 disponibles. Por lo tanto
“sobran” 100 horas-máquina 2, las cuales no contribuyen en nada a la función objetivo. Como
se verá más adelante, si se dispusiera de un mayor número de horas-hombre y/ó horasmáquina 1, probablemente podría incrementarse la utilidad máxima, pero el hecho de tener
mayor disponibilidad de horas-máquina 2 no contribuiría en nada a la función objetivo, ya que
se trata de un recurso sobrante, el cual se dice que tiene un costo de oportunidad igual a cero.
Como ya se ha podido concluir, el método gráfico es útil cuando se tienen modelos de
sólo dos variables de decisión o cuando se tiene un número par de variables y las restricciones
involucran parejas de ellas; por ejemplo, el siguiente modelo puede ser resuelto utilizando el
método gráfico:
Sujeto a:
MAX Z = 3Xଵ + 2Xଶ + 4Xଷ + Xସ + 7
ܺଵ + ܺଶ ≤ 8
3ܺଵ + 2ܺଶ ≤ 15
ܺଷ + 2ܺସ ≤ 9
3ܺଷ + ܺସ ≤ 12
(ܺଵ , ܺଶ , ܺଷ , ܺସ ) ≥ 0
En este modelo se divide la función objetivo en dos funciones, así:
Z = Zଵ + Zଶ = (3Xଵ + 2X ଶ ) + (4Xଷ + Xସ + 7)
Y se utiliza el método gráfico independientemente para cada Zi, con sus respectivas
restricciones.
En el caso de tres variables de decisión, aún puede ser utilizado el método gráfico en
algunas ocasiones donde resulte fácil apreciar la región factible y los “planos objetivos”. En
este caso la región factible es un poliedro convexo, formado por el corte de los diferente
planos que constituyen las restricciones; el crecimiento de la función objetivo se puede
observar mediante el desplazamiento de planos paralelos. De nuevo, el último punto del
poliedro que toque el plano al abandonar la región factible será la solución óptima.
Considérese el modelo siguiente:
Sujeto a:
MAX Z = 5Xଵ + 10Xଶ + 2Xଷ
ܺଵ + ܺଶ + ܺଷ ≤ 5
(4ܺଵ + 4ܺଶ + ܺଷ ) ≤ 8
(ܺଵ + ܺଶ + ܺଷ ) ≥ 0
En la figura 3.2 se puede apreciar la región factible y los “planos objetivos”. La
solución óptima es:
X1 = 0; X2 =2; X3 =0; Z* = 20 (Vértice V3)
Sin embargo, el método gráfico resulta inadecuado en la mayoría de los casos de tres
variables de decisión, pues se necesita gran habilidad en el dibujo y una gran imaginación
espacial.
88
Introducción a la Modelación Matemática y Optimización
Figura 3.2. Solución de un modelo de PL de 3 variables mediante el método gráfico
De los dos ejemplos resueltos por el método gráfico, puede sacarse una conclusión
muy importante, la cual es válida para cualquier modelo de Programación Lineal: La solución
óptima se encuentra en uno de los vértices de la región factible. Esta afirmación, que puede
ser planteada como un teorema, es de fundamental importancia, pues de infinitas soluciones
posibles (definidas por la región factible), sólo basta con mirar aquellas definidas por los
vértices de la región factible.
Obsérvese que en el caso anterior, la recta de la función objetivo “abandona” a la
región factible en un solo vértice, constituyéndose así en una SOLUCIÓN ÓPTIMA ÚNICA.
Existen otros tres casos importantes, en los cuales no hay solución óptima única:
a.
Cuando existen infinitas soluciones óptimas:
Este caso ocurre cuando la recta de la función objetivo es paralela a uno de los lados de
la región factibles. Obviamente, aquí la recta de la función objetivo toca infinitos puntos al
abandonar la región factible. Estos infinitos puntos están en el segmento de la recta que une
dos vértices determinados (sin embargo, también en este caso la solución óptima esta en los
vértices de la región factible). Todos ellos son solución óptima y producen el mismo valor de
la función objetivo.
Por ejemplo, en el modelo Nº 1, si la función objetivo hubiera sido:
MAX U = 400Xଵ + 560Xଶ
El modelo hubiera tenido infinitas soluciones.
Ejercicio: Resuelva el modelo Nº 1 por el método gráfico, cambiando la función
objetivo por la anterior. Encuentre la “solución general”. Plantee otra función objetivo que
produzca infinitas soluciones.
b.
Cuando no existe “solución acotada”:
En este caso una ó varias variables pueden crecer (ó decrecer) sin restricción,
produciendo valores cada vez mayores (ó menores) en la función objetivo. Es el caso en el que
la región factible es “abierta”, probablemente debido a que faltó incluir alguna restricción en el
modelo.
Por ejemplo, en el modelo:
Sujeto a:
MAX Z = 3Xଵ + 2Xଶ
ܺଵ + 2 ܺଶ ≥ 8
ܺଶ ≤ 5
(ܺଵ + ܺଶ ) ≥ 0
La variable X1 puede crecer indefinidamente, aportando cada vez más a la función
objetivo, sin violar las restricciones. O sea que en este caso, en realidad, no existe solución
acotada.
Ejercicio: Dibuje la región factible del modelo anterior y compruebe que es “abierta”.
Incluya una restricción adicional que permita tener solución óptima única.
c.
Cuando no existe ninguna solución factible alguna:
En este caso no existe en realidad una región factible, pues la “intersección de las
restricciones” es el conjunto vacío. Esta situación se presenta cuando hay inconsistencia en las
restricciones y el modelo debe ser replanteado. Por ejemplo el modelo:
MAX Z = 3Xଵ + 2X ଶ + 3Xଷ
90
Introducción a la Modelación Matemática y Optimización
ܺଵ + ܺଶ + ܺଷ ≤ 4
2ܺଵ + ܺଶ + 3ܺଷ ≥ 15
(ܺଵ , ܺଶ , ܺଷ ) ≥ 0
Sujeto a:
No tiene solución factible alguna.
Ejercicio: Trate de dibujar la región factible del modelo y compruebe que ésta no existe
y que por lo tanto el modelo no tiene solución óptima.
Los tres casos anteriores pueden presentarse en cualquier modelo de Programación
Lineal, pero se han ilustrado para 2 ó 3 variables de decisión, para que puedan observarse
gráficamente.
3.5.2. Método de Enumeración de Soluciones Básicas
Ya se ha afirmado que la solución óptima (en general) de un modelo de Programación
Lineal está en uno de los vértices de la región factible. Esto se puede ver geométricamente de
una forma clara. Pero, es más adecuado establecer la transición de la Geometría al Álgebra,
para tratar de manejar problemas de un mayor número de variables. Para esto, inicialmente se
estudian modelos de Programación Lineal en su forma estándar.
3.5.2.1.
Forma estándar de los modelos de Programación Lineal
Un modelo de Programación Lineal se puede transformar a la forma estándar, la cual
tiene las siguientes características:
a. La función objetivo debe ser de maximización (aunque no siempre es necesaria esta
condición)
b. El sistema de restricciones debe estar conformado por un conjunto de igualdades
restrictivas, donde los términos independientes bi deben ser mayores ó iguales a
cero.
c. Todas las variables deben tener la condición de no-negatividad (Xj ≥ 0, para todo j).
En general, el modelo estándar es de la forma siguiente:
Función Objetivo:
MAX Z = Cଵ Xଵ + Cଶ X ଶ + Cଷ Xଷ + ⋯ + C୬ X୬
‫ܣ‬ଵଵ ܺଵ + ‫ܣ‬ଶଶ ܺଶ + ⋯ + ‫ܣ‬ଵ௡ ܺ௡ = ܾଵ
‫ ܺ ܣ ۓ‬+ ‫ ܺ ܣ‬+ ⋯+ ‫ܾ = ܺ ܣ‬
ଶଶ ଶ
ଶ௡ ௡
ଶ
ۖ ଶଵ ଵ
Igualdades Restrictivas … … … … … … … … … … … … … … … . . ‫……………………………………… ۔‬..
ۖ
‫ܣە‬௠ଵ ܺଵ + ‫ܣ‬௠ଶ ܺଶ + ⋯ + ‫ܣ‬௠௡ ܺ௡ = ܾ௠
Sujeto a:
En el modelo anterior los bi deben ser mayores ó iguales a cero. Por lo general, se
cumple que m < n y, por lo tanto, el sistema de igualdades tiene infinitas soluciones (las
infinitas soluciones de la región factible).
Para llevar cualquier modelo de Programación Lineal a la forma estándar puede
hacerse uso (de ser necesario) de las siguientes transformaciones:
a. Si la función objetivo es de minimización, o sea MIN Z, puede definirse Z´= −Z y
cambiar la función objetivo a MAX (−Z), o sea MAX Z´.
b. Si se trata de una desigualdad de ≤, se puede sumar una variable no negativa
denominada “variable de holgura”, para establecer la igualdad; o sea, si la restricción es:
‫ܣ‬௜ଵ ܺଵ + ‫ܣ‬௜ଶ ܺଶ + ⋯ + ‫ܣ‬௜௡ ܺ௡ ≤ ܾ௜ ; ܾ௜ ≥ 0
Se transforma a:
‫ܣ‬௜ଵ ܺଵ + ‫ܣ‬௜ଶ ܺଶ + ⋯ + ‫ܣ‬௜௡ ܺ௡ + ܵ௜ = ܾ௜ ; ܾ௜ ≥ 0
La variable Si es la variable de holgura. Ella se le puede llamar Si ó, simplemente, se le
denomina Xk, con el subíndice k diferente a los de las demás variables; por ejemplo:
ܺଵ + 3ܺଶ − 4ܺଷ + 8ܺସ ≤ 7 (restriccion i)
Se puede transformar a:
ܺଵ + 3ܺଶ − 4ܺଷ + 8ܺସ + ܵ௜ ≤ 7
Ó: ܺଵ + 3ܺଶ − 4ܺଷ + 8ܺସ + ܺହ ≤ 7 (Si no se ha utilizado la variable X5 en alguna
restricción anterior.)
Si se trata de una restricción de mayor o igual, entonces se le resta una variable no
negativa, denominada variable de exceso, así:
‫ܣ‬௜ଵ ܺଵ + ‫ܣ‬௜ଶ ܺଶ + ⋯ + ‫ܣ‬௜௡ ܺ௡ ≥ ܾ௜ ; ܾ௜ ≥ 0
Se transforma en:
‫ܣ‬௜ଵ ܺଵ + ‫ܣ‬௜ଶ ܺଶ + ⋯ + ‫ܣ‬௜௡ ܺ௡ − ܵ௜ = ܾ௜ ; ܾ௜ ≥ 0
92
Introducción a la Modelación Matemática y Optimización
O si se utiliza la segunda forma, se transformaría en:
‫ܣ‬௜ଵ ܺଵ + ‫ܣ‬௜ଶ ܺଶ + ⋯ + ‫ܣ‬௜௡ ܺ௡ − ܺ௡ା௜ = ܾ௜ ; ܾ௜ ≥ 0
Las variables de holgura, obviamente, deben cumplir con las restricciones de nónegatividad.
c. Si alguno de los bi es menor que cero, entonces se multiplica por (-1) a ambos
lados de la desigualdad (o igualdad) y posteriormente se le suma (ó se le resta) la variable de
holgura (ó de exceso), dependiendo del signo resultante de la desigualdad. Si se trata desde un
comienzo de una igualdad, lógicamente no es necesario adicionar variable de holgura ó
exceso.
d. Si existe alguna variable que no tiene restricción de no-negatividad (variable libre),
entonces se le reemplaza por la diferencia de dos variables positivas, en forma semejante a lo
visto anteriormente en el modelo de programación de metas, así:
Xj es variable libre (Xj puede ser mayor, igual ó menor que cero)
Entonces donde aparece Xj, cambiarla por:
൫ܺ௝ା − ܺ௝ି ൯, ݀‫݁݀݊݋‬: ܺ௝ା ≥ 0; ܺ௝ି ≥ 0
Ejemplo: Convertir a la forma estándar el siguiente modelo de Programación Lineal:
MIN Z = 3Xଵ + 4Xଶ − 3Xଷ + 8Xସ
Sujeto a:
ܺଵ + ܺଶ + 3ܺଷ ≤ 7 ሾܴ1ሿ
2ܺଶ + 8ܺଷ − 3ܺସ = −8 ሾܴ2ሿ
3ܺଵ + 4ܺଶ + 7ܺସ ≥ −7 ሾܴ3ሿ
ܺଵ + ܺଶ + ܺଷ ≥ 5 ሾܴ4ሿ
ܺଷ + 2ܺସ = 10 ሾܴ5ሿ
(ܺଵ , ܺଶ , ܺଷ ) ≥ 0; ܺସ libre
Las transformaciones a realizar son:
a.
b.
c.
d.
e.
En la restricción R1 debe sumarse una variable de holgura.
En la restricción R2 debe multiplicarse a ambos lados de la igualdad por (-1), pero
no deben adicionarse variables de holgura ó exceso.
En la restricción R3 debe multiplicarse primero por (-1) a ambos lados de la
desigualdad, y luego adicionar la variable de holgura correspondiente.
En la restricción R4 debe restarse una variable de exceso.
La restricción R5 no necesita ninguna transformación.
f.
g.
Donde aparezca la variable X4, debe cambiarse por (X4+− X4−), X4+ y X4− mayores
ó iguales que cero.
La función objetivo se cambia a maximización.
De acuerdo con estas transformaciones, el modelo en forma estándar es el siguiente:
MAX Z´ = −Z = −3Xଵ − 4X ଶ + 3X ଷ − 8(Xସା − Xସି )
Sujeto a:
ܺଵ + ܺଶ + 3ܺଷ + ܺହ = 7
−2ܺଶ − 8ܺଷ + 3(X ସା − X ସି ) = 7
−3ܺଵ − 4ܺଶ − 7(X ସା − Xସି ) + ܺ଺ = 7
ܺଵ + ܺଶ + ܺଷ − ܺ଻ = 5
ܺଷ + 2(X ସା − Xସି ) = 10
ܺହ , ܺ଺ , ܺ଻ son las variables de holgura
ܺଵ , ܺଶ , ܺଷ,X ସା , Xସି , ܺହ , ܺ଺ , ܺ଻ ≥ 0
3.5.2.2.
Algunas definiciones sobre el modelo estándar
Prácticamente, en todos los modelos estándar de Programación Lineal existen un
mayor número de variables que de restricciones. Como el sistema de restricciones es un
sistema lineal de ecuaciones n x m, donde n > m, lo más probable es que tenga infinitas
soluciones. Cuando un sistema de ecuaciones lineales tiene infinitas soluciones, existen
variables a las cuales se les puede asignar un valor arbitrario, para luego resolver el sistema
remanente y así encontrar una solución del sistema. A las variables que se les asigna un valor
arbitrario, se les puede llamar variables que “sobran” en el sistema y su número es igual a n −
m. El sistema remanente es cuadrado m × m y se resuelve para así obtener una solución
particular del sistema (es posible que el sistema remanente m × m no tenga solución).
Con base en lo anterior, se pueden hacer las siguientes definiciones sobre cualquier
modelo de programación lineal en forma estándar:
Solución Factible:
Una solución factible es cualquier solución del sistema n × m que satisfaga las
condiciones de no-negatividad (o sea aquella solución en la cual todas las variables son
positivas ó cero).
Solución Básica:
Es aquella solución en la cual se les da el valor arbitrario de cero a las n − m variables
que “sobran” en el sistema n × m. A las m variables que no se les da el valor arbitrario de cero
94
Introducción a la Modelación Matemática y Optimización
se les denomina variables básicas y se dice que constituyen una base del sistema de
ecuaciones.
Solución Básica Factible:
Es una solución básica que cumple con las condiciones de no-negatividad (en este caso
las variables básicas son positivas. (Si existe por lo menos una variable básica igual a cero, se
dice que la solución es degenerada)
Solución Óptima:
Es la solución factible que proporciona el valor óptimo (máximo ó mínimo) de la
función objetivo.
Con base en las definiciones anteriores, se pueden enunciar los tres principales
teoremas de optimalidad (sin demostración), a saber:
a.
b.
c.
Las soluciones factibles conforman un conjunto convexo, cuyos vértices son las
soluciones básicas factibles.
Si el sistema tiene una solución factible, entonces existe por lo menos una solución
básica factible.
Si la función objetivo tiene un óptimo (máximo ó mínimo) finito, entonces existe
por lo menos una solución óptima la cual es una solución básica factible.
3.5.2.3.
El método de solución de enumeración de soluciones
básicas
De los tres teoremas anteriores se saca una conclusión fundamental en la teoría de la
Programación Lineal:
Si un modelo de Programación Lineal tiene solución óptima, esta se puede encontrar
en una solución básica factible.
O sea, que de las infinitas soluciones factibles, “sólo” basta con inspeccionar las
básicas factibles y una de éstas será una solución óptima del problema de PL. Igualmente, de
la afirmación anterior queda claro por qué se decía en el desarrollo del método gráfico que la
solución óptima estaba en uno de los vértices de la región factible.
Dado que el método de enumeración de soluciones básicas debe inspeccionar todas las
soluciones básicas, identificar la factible y escoger la mejor, debe primero determinarse el
número posible de soluciones básicas. Como en el sistema de “m” igualdades con “n”
variables, “sobran” (n – m) variables a las cuales se les asigna el valor de cero, el número
posible de soluciones básicas resulta ser igual a todas las posibles formas de escoger las (n –
m) variables de las n totales, o sea:
ܰú݉݁‫ܤ ݏ݁݊݋݅ܿݑ݈݋ܵ ݁݀ ݋ݎ‬á‫ = ݏܽܿ݅ݏ‬ቀ
݊
݊
݊!
ቁ=ቀ ቁ=
݊−݉
݉
݉! ∙ (݊ − ݉)!
Por lo tanto, es necesario resolver sistemas de ecuaciones lineales m × n para encontrar
la solución óptima.
Aquí ya pueden observarse las limitaciones de este método, pues supóngase que se
tiene un 30modelo de 30 variables con 15 restricciones (el cual es un modelo modesto y
 
relativamente
pequeño), entonces tendrían que ser resueltos = 155,117,520 sistemas de
15 
ecuaciones lineales de 15 × 15 para determinar la solución óptima. Por lo tanto, la importancia
de estudiar este método radica simplemente en la formación de los fundamentos para la
comprensión del método simplex.
Para ilustrar el método se resolverá a continuación el modelo Nº 1 formulado
anteriormente (el de los transformadores):
MAX U = 400Xଵ + 700Xଶ
Sujeto a:
7
ܺଵ + ൬ ൰ ܺଶ ≤ 1400
3
ܺଵ + 1.4ܺଶ ≤ 980
ܺଵ + ܺଶ ≤ 900
(ܺଵ , ܺଶ ) ≥ 0
Inicialmente debe escribirse el modelo en su forma estándar, así:
MAX U = 400Xଵ + 700Xଶ
Sujeto a:
7
ܺଵ + ൬ ൰ ܺଶ + ܺଷ = 1400
3
ܺଵ + 1.4ܺଶ + ܺସ = 980
ܺଵ + ܺଶ + ܺହ = 900
(ܺଵ , ܺଶ , ܺଷ , ܺସ , ܺହ ) ≥ 0
Obsérvese que como las restricciones son todas ≤, sólo fue necesario sumar a cada
restricción su correspondiente variable de holgura.
En el modelo estándar anterior se identifican n = 5 variables y m = 3 restricciones, y,
por lo tanto, el número de soluciones básicas es igual a 10. Para encontrar cada solución básica
hay que asignarle el valor de cero a (n – m) = 5 – 3 = 2 variables cada vez. Todas las
soluciones básicas se muestran en la tabla siguiente.
96
/Solución
óptima
Introducción a la Modelación Matemática y Optimización
Solución
Básica
1
2
3
4
5
6
7
8
9
10
X1
X2
X3
X4
X5
Factible?
Valor de U
0
0
0
0
1400
980
900
350
525
700
0
600
700
900
0
0
0
450
375
200
1400
0
233 1/3
-700
0
420
500
0
0
233 1/3
980
140
0
-280
-420
0
80
0
-70
0
900
300
200
0
-500
-80
0
100
0
0
x
x
0
420.000
x
x
360.000
455.000
x
420.000
La forma de asignar el valor de cero a dos variables en cada solución debe ser lógica y
ordenada, con el objeto de no repetir ó dejar de tener en cuenta algunas de las soluciones
básicas.
Obsérvese que las soluciones básicas No. 3, 4, 5, 6, y 9 no son factibles, pues por lo
menos una de las variables no cumple con las restricciones de no-negatividad. Además, es
importante notar que las soluciones 1, 2, 7, 8 y 10 son factibles y corresponden precisamente a
los vértices V1, V2, V5, V3 y V4, respectivamente, de la región factible mostrada en la figura
3.1 anterior. La solución óptima es la No. 8, pues es la que produce el valor máximo de la
función objetivo U. La solución óptima completa viene dada por:
X1 = 350
X2 = 450
X3 = 0
X4 = 0
X5 = 100
U* = 455.000
El valor óptimo de la variable de holgura X5 = 100 indica que, en su correspondiente
restricción, la número 3, no se cumple la igualdad sino la desigualdad, o sea que hay un
sobrante de 100 unidades del recurso 3 (o sea que quedan disponibles 100 hr-máquina 2).
Como las variables de holgura X3 = X4 = 0 se concluye que las restricciones 1 y 2 se cumplen
con la igualdad, o sea que los recursos 1 (hr-hombre) y 2 (hr-máquina 1) se han utilizado
completamente. Estas conclusiones, por supuesto, son las mismas encontradas anteriormente
en el método gráfico.
El método de enumeración de soluciones básicas identifica la existencia de infinitas
soluciones si se obtienen dos ó más soluciones básicas factibles diferente que producen el
máximo valor de la función objetivo. Identifica también el caso de ninguna solución factible,
si no se obtiene ninguna solución básica factible, pero no identifica el caso de solución no
acotada, tal como se ilustra en el modelo siguiente:
MAX Z = 3Xଵ + X ଶ + 2X ଷ
ܺଵ + ܺଶ ≤ 10
2ܺଵ + 3ܺଶ + ܺଷ ≥ 18
(ܺଵ, ܺଶ , ܺଷ ) ≥ 0
Sujeto a:
Obsérvese que la variable X3 puede crecer indefinidamente, cumpliendo con la
restricción Nº 2 y, por lo tanto, Z no está acotada. La forma estándar de este modelo es:
MAX Z = 3Xଵ + X ଶ + 2X ଷ
Sujeto a:
ܺଵ + ܺଶ + ܺସ = 10
2ܺଵ + 3ܺଶ + ܺଷ − ܺହ = 18
൫ܺଵ,ܺଶ , ܺଷ , ܺସ , ܺହ ൯ = 0
El número de soluciones básicas es igual a 10. El número de variables que “sobran” es
igual a 3. Si se intentara resolver este problema mediante este método, se obtendría la tabla
siguiente.
Solución
Básica
1
2
3
4
5
6
7
8
9
10
X1
X 2 X3
X4
X5
0
0
0
0
0
0
10
9
10
12
0 0 10
0 2
0
0 18 10
10 0
0
6 0
4
10 -12 0
0 0
0
0 0
1
0 -2 0
-2 0
0
-18
?
0
12
0
0
2
0
0
0
Factible?
Valor de
U
Sist. Inconsistente
x
x
x
36
10
6
x
x
30
27
La tabla anterior sugiere que la solución óptima del modelo es la solución básica No. 3,
pero en realidad, como se demostró anteriormente, la función objetivo es no acotada y, por lo
tanto, el modelo no tiene solución óptima. Por esta razón, este método puede fallar en estos
casos.
En la página siguiente se presenta un taller para la preparación del primer examen del
curso. Se sugiere su solución completa.
98
Introducción a la Modelación Matemática y Optimización
En la sección siguiente se introduce el método simplex, el cual se constituye en uno de
los más utilizados en la actualidad para la solución de problemas reales de PL, junto con los
algoritmos de punto interior. Los fundamentos para la comprensión del método se han
expuesto en la presente sección.
Ejercicio 3.2.
1.
Una refinería de petróleo puede comprar dos tipos de petróleo crudo. El tipo 1 cuesta
$57.500/barril y el tipo 2 cuesta $50.600/barril. Cada barril de petróleo crudo de cualquier
tipo ya refinado de produce tres tipos de productos terminados: gasolina para avión,
gasolina normal y kerosén. Un barril de petróleo crudo tipo 1 produce 0.45 barriles de
gasolina para avión, 0.18 barriles de gasolina normal, 0.30 barriles de kerosén y el resto
son desechos cuya eliminación cuesta $2.300/barril. Por otra parte, un barril de petróleo
crudo tipo 2 produce 0.35 barriles de gasolina para avión, 0.36 barriles de gasolina
normal, 0.20 barriles de kerosén y el resto son desechos cuya eliminación cuesta
$3.450/barril. La refinería ha firmado un contrato para proveer por lo menos 1.260.000
barriles de gasolina para avión, 900.000 barriles de gasolina normal y 300.000 barriles de
kerosén. Formule un modelo de programación lineal que le permita determinar cuántos
barriles de petróleo crudo de cada tipo debe comprar la refinería para cumplir con la
demanda establecida a costo total mínimo.
2.
a) Resuelva el problema anterior mediante el método gráfico e interprete la solución.
b) Replantee la función objetivo del modelo asumiendo que los precios de venta de cada
producto son los siguientes: Gasolina para avión $134.600/barril, gasolina normal
$75.000/barril y kerosén $40.500/barril. Asuma que ahora las demandas a satisfacer
son máximas. Resuelva de nuevo el problema mediante el método gráfico e interprete
la solución obtenida.
3.
Una gran empresa distribuidora tiene que suministrar 800 toneladas/mes de productos a
sus clientes y está pensando en renovar completamente su flota de transporte. La empresa
tiene un presupuesto disponible de $1.150 millones (incluyendo los ingresos por venta del
equipo actual) para invertir en tres tipos de camiones. La tabla siguiente muestra la
capacidad, el costo de compra, el costo operativo y el número máximo de viajes/mes de
cada tipo de camión.
TIPO DE
CAMIÓN
CAPACIDAD
[Kg]
COSTO DE
COMPRA
[$millones]
COSTO DE
OPERACIÓN
[$/mes]
1
2
3
6.000
3.000
2.000
115
92
58
1.840.000
1.495.000
1.150.000
MÁX. No.
DE VIAJES
POR
MES
20
25
30
La compañía no desea comprar más de 10 vehículos en total para su flota. Igualmente,
dado que algunos despachos son para clientes muy pequeños y diversos, la compañía
desea comprar al menos 3 camiones tipo 3. La compañía tampoco desea que más de la
mitad de la flota esté compuesta de camiones tipo 1. Finalmente, la capacidad de los
parqueaderos que tiene la empresa permite comprar como máximo 9 camiones tipo 1, ó
12 camiones tipo 2, ó 18 camiones tipo 3 o cualquier combinación lineal de ellos.
Formule un modelo de programación lineal que le permita determinar la composición de
100
Introducción a la Modelación Matemática y Optimización
la flota más económica, permitiéndole a la empresa cumplir con sus compromisos de
distribución y su limitación de presupuesto.
4.
Una empresa productora estima con muy buena precisión que la demanda para las
próximas cuatro semanas es de 600.000 tornillos pequeños y 400.000 tornillos grandes.
Estos tornillos pueden producirse en dos máquinas distintas. La máquina 1 está disponible
56 horas/semana y la máquina 2 está disponible 84 horas/semana. Los requerimientos de
costos y tiempo para producir cada tamaño de tornillo en cada máquina y el precio de
venta de cada tamaño de tornillo se muestran a continuación:
DETALLE
Precio de venta [$/millar]
Costo en la máquina 1 [$/millar]
Costo en la máquina 2 [$/millar]
Tiempo en la máquina 1 [min/lb]
Tiempo en la máquina 2 [min/lb]
TORNILLOS
PEQUEÑOS
63.250
14.375
18.400
1.50
1.00
TORNILLOS
GRANDES
74.750
17.825
21.275
1.75
1.25
En cada libra hay aproximadamente 60 tornillos pequeños y 40 tornillos grandes. Formule
un modelo de programación lineal para programar la producción de tornillos en forma
óptima.
5.
Suponga que en el problema anterior la máquina 1 se daña y no es posible repararla sino
hasta después de las próximas cuatro semanas, y por lo tanto solo se puede disponer de la
máquina 2 durante sus 84 horas/semana. Reformule el modelo de programación lineal
suponiendo que la demanda de cada tipo de tornillo es ahora máxima y resuélvalo por
medio del método gráfico. Analice la solución obtenida.
6.
Una fábrica de chocolates está desarrollando un nuevo producto basado en mantequilla de
maní y chocolate como ingredientes. El dulce debe contener al menos 5 gramos de
proteínas, pero no más de 5 gramos de carbohidratos y 3 gramos de grasas saturadas. Se
dispone de la siguiente información:
DETALLE
Costo [$/onza]
Proteínas [gr/onza]
Carbohidratos [gr/onza]
Grasas saturadas [gr/onza]
MANTEQUILLA
DE MANÍ
230
4.00
2.50
2.00
CHOCOLATE
414
0.80
1.00
0.50
Por motivos de sabor, la cantidad mínima de cada ingrediente en el dulce debe ser de 0.50
onzas.
a)
Formule y resuelva un modelo de programación lineal que le permita determinar la
cantidad a utilizar de cada tipo de ingrediente para satisfacer los requerimientos
nutricionales planteados al costo mínimo.
b) Formule y resuelva de nuevo el problema si el peso total de la barra debe ser
exactamente igual a 2 onzas.
7.
Se está analizando cómo combinar dos tipos de fertilizantes, de tal forma que la mezcla
contenga al menos 200 unidades de un cierto compuesto. El fertilizante A contiene 8
unidades del compuesto/Kg de fertilizante, mientras que el fertilizante B contiene 25
unidades del compuesto/Kg de fertilizante. El fertilizante A cuesta $1.000/Kg, mientras
que el fertilizante B cuesta $3.125/Kg. Ambos fertilizantes se producen a partir de dos
materias primas M1 y M2. Cada Kg de fertilizante A consume 6 litros de M1 y 3 litros de
M2. Cada Kg de fertilizante B consume 12 litros de M1 y 2 litros de M2. Se dispone de
216 litros de M1 y 60 litros de M2. Finalmente, por razones de calidad, la mezcla debe
contener a lo más 16 Kg de fertilizante A.
a)
Formule y resuelva un modelo de programación lineal que le permita determinar
cuántos Kg de cada fertilizante utilizar en la mezcla para obtener el costo mínimo.
b) Analice la solución óptima de este problema. ¿Qué característica especial tiene?
c) Encuentre la solución óptima general de este problema e interprétela.
8.
De la colección de 66 problemas sobre formulación de modelos de programación lineal,
plantee los modelos de los siguientes: No. 23, 28, 45, 54, 55, 56 y 59.
102
Introducción a la Modelación Matemática y Optimización
4. EL MÉTODO SIMPLEX
Los autores presentan el método simplex en diversas formas: tabular, algebraica,
matricial, etc. De todas estas maneras de presentación, tal vez la más adecuada y la que más
ventajas ofrece para sentar en el estudiante una mejor base teórica, es la forma matricial. Sin
embargo, posteriormente se hará énfasis en las aplicaciones resueltas por computador, ya que
es en últimas el instrumento que se utiliza para resolver cualquier modelo de Programación
Lineal.
Para ilustrar y presentar el método simplex, se utilizará el siguiente ejemplo sencillo:
Maximizar Z = 5X1 + 3X 2
sujeto a :
3X1 + 5X 2 ≤ 15
(3.1)
5X1 + 2X 2 ≤ 10
(X1 , X 2 ) ≥ 0
Inicialmente, se resolverá el modelo anterior, utilizando la enumeración de soluciones
básicas; la forma estándar del modelo es la siguiente:
Maximizar Z = 5X1 + 3X 2
sujeto a :
3X1 + 5X 2 + S1
5X1 + 2X 2
= 15 (3.2)
+ S 2 = 10
(X1 , X 2 , S1 , S 2 ) ≥ 0
Luego, el modelo en su forma estándar presenta n = número de variables = 4 y m =
número de restricciones = 2.
 n   4
El número máximo de soluciones básicas =   =   = 6
 m  2
La tabla siguiente muestra las soluciones básicas y la solución óptima:
Solución
Básica No
1
2
3
4
5
X1
0
0
0
5
2
X2
0
3
5
0
0
S1
15
0
-10
0
9
S2
10
4
0
-15
0
Factible
Si
Si
No
No
Si
6
20/19
45/19
0
0
Si
Valor de Z
0
9
–
–
10
235/19 ≅
12.4
Por lo tanto, la solución óptima es la No. 6. La tabla anterior debe tenerse presente para
el desarrollo que sigue.
Cualquier problema de Programación Lineal, en su forma estándar puede escribirse así:
MAX (MIN) Z = CX
sujeto a :
AX = b
(3.3)
X≥0
donde,
Z1×1 =
C1×n =
Xn×1 =
Am×n =
bm×1 =
Valor de la función objetivo
Vector fila de los coeficientes de todas las variables en la función objetivo
Vector columna de todas las variables del problema (incluyendo las de
holgura)
Matriz de coeficientes del sistema
Vector del lado derecho
Se va a tomar en general, el modelo en su forma estándar, como un modelo de n
variables (incluyendo las de holgura) y m restricciones de igualdad. Así, en general, las
dimensiones de cada matriz y vector son:
C = [C 1 C 2 C 3 ·······
C n ]1× n
 X1 
X 
 2
 . 
X =   (incluye variables de holgura y/ó exceso Sk)
 . 
 . 
 
 X n  n×1
a11 a12
a
 21 a22
 .
.
A=
.
 .
 .
.

am1 .
· · · a1n 
b1 

b 
· · · a2 n 
 2
 .
. . . . 
b= 

. . . . 
 .
 .
. . . . 

 
. . . amn  m×n
bm  m×1
En el caso del modelo (3.2), los vectores C, X, b y la matriz A, serían:
C = [5
3
0
0 ]; X = [ X 1 X 2 S 1 S 2 ] ;
3 5 1 0 
A=
;
5 2 0 1
T
15
b= 
10
104
Introducción a la Modelación Matemática y Optimización
4.1. SOLUCIONES BÁSICAS EN FORMA MATRICIAL
Un aspecto importante a destacar es el hecho de que a cada solución básica, factible o
no, se le puede identificar una matriz base asociada, así:
Tómese, por ejemplo, la solución básica No 1, correspondiente a la tabla anterior.
Dado que X1 = X2 = 0 son las variables a las cuales se les asigna el valor cero, se les denomina
VARIABLES NO-BÁSICAS.
A las variables que quedan formando un sistema de ecuaciones lineales m×m, se les
denomina VARIABLES BÁSICAS, ya que sus columnas forman la matriz base, así:
1 0  S1  15
0 1  S  = 10

  2  
−1
 S1  1 0 15 15
 S 2 = 0 1 10 = 10
  
    
La cual corresponde a la solución básica No 1 (en este caso se trata de una solución
básica factible).
Tómese ahora, por ejemplo, la solución básica No 4, de la tabla anterior. En ella, X2 =
S1 = 0 y, por lo tanto:
3 0  X 1  15
5 1  S  = 10

 2  
−1
 X 1  3 0 15  1 / 3 0 15  5 
 S  = 5 1 10 = − 5 / 3 1 10 = − 15
   
  

 2 
La cual corresponde a la solución básica No 4 (en este caso NO FACTIBLE).
En el primer caso, la matriz base asociada a la solución básica es la matriz idéntica de
3 0
orden 2 y en el segundo caso es la matriz 
 . Obsérvese que, en cada caso, la solución
5 1
básica se obtiene invirtiendo la base y premultiplicándola por el vector b, o sea que una
solución básica es de la forma B −1b , donde B es la matriz base asociada a la solución
correspondiente.
4.2. EL MÉTODO SIMPLEX EN FORMA MATRICIAL
De acuerdo con lo planteado en la sección anterior, el problema general de PL en su
forma estándar, dado por el conjunto de ecuaciones (3.3), puede tomarse de la siguiente
manera:
A = [B M R ]
XB 
X =  L 
 X R 
C = [C B M C R ]
Las particiones anteriores pueden explicarse así:
Bm×m =
Matriz base de orden m (se forma escogiendo m columnas de la matriz
A, correspondientes a las variables básicas)
Rm×(n-m) =
Matriz restante, formada por las (n-m) columnas de la matriz A,
asociadas a las variables no básicas.
X B m ×1 =
XR
=
(n -m) ×1
CB1×m
=
CR1×( n−m ) =
Vector de las variables básicas.
Vector de las variables no básicas.
Vector de los coeficientes de las variables básicas en la función objetivo.
Vector de los coeficientes de las variables no básicas en la función
objetivo.
Por la tanto el modelo de PL (3.3) quedaría expresado así:
MAX (MIN) Z = C B X B + C R X R
sujeto a :
BX B + RX R = b
(3.4)
X≥0
Una solución básica es aquella en la que X R = 0 y, por lo tanto, X B = B −1b .
Una solución básica factible es aquella solución básica X B = B −1b , tal que XB ≥ 0 .
A partir de (3.4) se va a deducir las condiciones para el método SIMPLEX.
En palabras, lo que hace el método SIMPLEX es partir de una solución básica inicial
factible, con una base inicial asociada, la cual, en general, es la matriz idéntica de orden m.
Posteriormente, se pasa a otra solución básica factible, cambiando una sola columna de la
base, de tal forma que se logre hacer crecer lo más posible a la función objetivo Z, si se está
maximizando, o decrecer, si se está minimizando.
106
Introducción a la Modelación Matemática y Optimización
El paso a otra solución básica factible se logra cambiando de base, de tal forma que
una de las variables básicas sale de la base, pasando a ser no básica, y una de las variables no
básicas entra a la base, volviéndose básica y entrando a ocupar el lugar de la variable que salió
de la base. En otras palabras, la diferencia entre dos bases sucesivas está en una sola columna.
El proceso de cambio de base continúa hasta que se detecta que no se puede mejorar
más la función objetivo (minimizando o maximizando) y es cuando se ha logrado encontrar la
solución óptima del problema.
El método SIMPLEX tiene tres condiciones fundamentales, de acuerdo con lo
expresado anteriormente: criterio de entrada (para determinar la variable que entra a la base),
criterio de salida (para determinar la variable que sale de la base) y criterio de parada, para
definir cuando se acaba el proceso. Estos tres criterios se deducen a continuación (Ver Figura
1 adelante).
Se tienen dos ecuaciones, a partir de (3.4):
Z = C B X B + C R X R (3.5)
BX B + RX R = b (3.6)
Si suponemos que B es no singular, en (3.6) se tiene que:
B −1BX B + B −1 RX R = B −1b
⇒ X B + (B −1 R ) X R = B −1b
Sean:
Ym×( n − m ) = B m−1×m R m×( n − m )
∧
X B = B −1b (solución actual)
⇒ X B + YX R = X B (3.7)
Lo que se pretende es investigar la posible variación de la solución actual, ocasionada
por el futuro cambio de base. Obsérvese que si se hace XR = 0, todo se reduce a la solución
actual.
Premultiplicando la ecuación (3.7) por CB se obtiene:
C B X B + C B YX R = C B X B
Sea Z = C B X B (valor actual de la función objetivo),
⇒ Z = CB X B + C B YXR (3.8)
Efectuando (3.5) menos (3.8), se obtiene:
Z − Z = CR X R − C B YXR
O mejor:
Z = Z − (C B Y − C R ) X R (3.9)
Lo importante de la ecuación (3.9) es que:
Z = Cualquier valor de la función objetivo (o valor futuro)
Z = Valor actual de la función objetivo
(C B Y − CR )X R =
Cambio en el valor de la función objetivo si se modifica la base.
Así, la ecuación (3.9) muestra el cambio que tendría la función objetivo en una
iteración, al cambiar de base. Por lo tanto se puede tratar de controlar este cambio para que sea
lo más grande posible. Se puede entonces modificar esta ecuación observando que se trata de
una ecuación escalar. La notación se modifica así:
C B Y = C B [Ym +1 M Ym+ 2 M
····· Yn ] = [C B Ym+1 M C B Ym+ 2 M
C R = [Cm+1 Cm+2 ···· Cn ]
····· C B Yn ]
Los términos C B Y j son los productos escalares entre el vector C B y las columnas de la
matriz Y, y se le denomina Z j . Así, la ecuación (3.9) puede transformarse a:
Z = Z − ∑ ( Z j − C j )X j (3.10)
j
Como sólo una de las variables no básicas X j es la que va a entrar a la base y tomará
seguramente un valor positivo, entonces la sumatoria se reduce a un sólo término, ya que el
resto de variables no básicas seguirá siendo igual a cero. Por lo tanto, le ecuación (3.10) se
transforma a:
Z = Z − ( Z k − C k ) X k (3.11)
Donde X k = variable no básica que entrará a la base.
De la ecuación (3.11) se deduce fácilmente el criterio de entrada del método
SIMPLEX:
ENTRA A LA BASE AQUELLA VARIABLE CUYO:
(Z j − C j ) sea "lo más negativo posible"(MAX) 7
(Z j − C j ) sea "lo más positivo posible"(MIN)
7
En realidad puede entrar a la base cualquier variable cuyo (Zj−Cj) sea negativo para maximización, pero si se
escoge el menor es más probable llegar al óptimo (máximo en este caso) más rápidamente. Un razonamiento
semejante se presenta si se está MINIMIZANDO.
108
Introducción a la Modelación Matemática y Optimización
El criterio de salida se deduce de la ecuación (3.7). Una vez se ha escogido la variable
a entrar, la variable a salir queda definida por la condición de factibilidad, como se verá a
continuación.
La ecuación (3.7) se puede escribir en forma explícita de la siguiente manera:
 x1   x1   y1,m +1 y1,m + 2
x  x   y
y2 , m + 2
 2   2   2,m +1
 ·  ·  ·
·
  =  −
·
 ·  ·  ·

 ·  ·
·
·
    
 xm   xm   ym ,m +1 ym ,m + 2
  xm +1 

··· y2 n   xm + 2 


 M 
·
·


·
·
  xk 
 M 
·
·


··· ymn   xn 
···
y1k ···
···
y2 k
·
·
·
·
·
·
···
ymk
y1n
donde se ha identificado a la variable X k , futura a entrar a la base.
Al efectuar el producto YX R , sólo se mantienen los términos que multiplican a X k , ya
que el resto de variables continuará con valor cero. Por lo tanto, se generarían las siguientes
ecuaciones:
 x1 = x1 − y1k xk
x = x − y x
 2
2
2k k

M M M
M
 xm = xm -ymk xk
Como debe garantizarse que la próxima solución básica sea factible, entonces:
 x1 − y1k xk ≥ 0
x − y x ≥ 0
 2
2k k

M
M
M

 xm -ymk xk ≥ 0
Por lo tanto:
 x 
xk ≤ mín  s ; y sk > 0
 y sk 
y sk debe ser mayor que cero, puesto que xk debe tomar también un valor no negativo.
Por otra parte, como la variable que va a salir de la base pasará a tomar valor cero,
entonces:
xs = xs − ysk xk = 0 , donde xs es la variable a salir de la base. Así:
x
xk = s ; y sk > 0
y sk
Por lo tanto, la variable que entra a la base toma el valor del cociente mínimo de la
variable que sale de la base.
Del razonamiento anterior, se obtiene el criterio de salida del método SIMPLEX:
SALE DE LA BASE AQUELLA VARIABLE CUYO COCIENTE θ SEA EL
MÍNIMO, donde:
x
θ = s ; ysk > 0
ysk
Este cociente se efectúa entre los valores actuales de la solución y los términos de la
columna k de la matriz Y que sean positivos solamente (recuérdese que la columna k es la
columna asociada a la variable xk , previamente escogida para entrar a la base). El valor que
toma la variable que va a entrar a la base es precisamente el del cociente mínimo, o sea
xk = θ mín . Es importante notar que este criterio es válido tanto para problemas de
maximización como para problemas de minimización, pues su origen es el de obtener una
solución básica que sea factible.
Inicie con una solución básica factible
inmediata
¿Se cumple el CRITERIO DE
PARADA?
Si
No
La solución
básica factible
actual es una
SOLUCIÓN
ÓPTIMA
Escoger la variable que va a entrar a la
base (CRITERIO DE ENTRADA)
FIN
Determinar la variable que va a salir de la
base (CRITERIO DE SALIDA)
Realizar las operaciones fila elementales
para cambiar de base y obtener una nueva
solución básica factible
Figura 1. El algoritmo SIMPLEX
110
Introducción a la Modelación Matemática y Optimización
El criterio de parada se deduce directamente del criterio de entrada, ya que si llega el
momento en el cual no existen variables candidatas a entrar a la base, es porque no puede
mejorarse más la función objetivo y se ha llegado al óptimo. Por lo tanto, el criterio de
parada es el siguiente:
EL PROCESO SIMPLEX CONCLUYE SI TODOS LOS:
( Z j − C j ) ≥ 0, para maximizar 8

( Z j − C j ) ≤ 0, para minimizar
En resumen, el algoritmo SIMPLEX hace lo mostrado en la Figura 1 anterior. Los
casos especiales, como son función múltiples soluciones óptimas, función objetivo no acotada
y ninguna solución factible, son identificados también por el algoritmo simplex, como se verá
más adelante en los ejemplos 3.2, 3.3 y 3.4, respectivamente.
4.3. APLICACIÓN DEL MÉTODO SIMPLEX EN FORMA
MATRICIAL
Considérese el modelo (3.1), cuya forma estándar está dada en (3.2). Obsérvese que la
matriz A presenta inicialmente una submatriz idéntica de orden 2. Esta submatriz constituye la
base inicial, ya que su inversa es inmediata, así:
Solución básica factible inicial: (punto de partida)
1 0 
B=
;
0 1 
 S1 
 X1 
15 
3 5 
C B = [0 0]; C R = [5 3]; b =  ; R = 
; X B =  ; X R =  

10 
5 2 
S 2 
X2
S1 S2
X1 X2
Entonces:
−1
1 0 15 15
XB = B b = 
  = 
0 1 10 10
−1
Z = CB X B = 0
XB es la solución básica factible inicial.
8
Primer Cambio de Base:
Los ( Z j − C j ) de las variables básicas siempre son iguales a cero, como se verá posteriormente. Si existe
algún ( Z j − C j ) de una variable no básica igual a cero, se concluye que existen múltiples soluciones óptimas,
ya que se podrá cambiar de base sin modificar el valor de la función objetivo.
Criterio de entrada: ( Z j − C j ) sea el “más negativo”.
Z j = C B Y j = C B B −1a j , donde a j son las columnas de A que forman la matriz
R.
1 0 3 5 3 5
Y = B −1R = 

=
 (columnas de la matriz Y)
0 1 5 2 5 2
T
Z1 = C B Y1 = [0 0][3 5] = 0
Z 2 = C B Y2 = [0 0][5 2] = 0
⇒ Z1 − C1 = 0 − 5 = −5
ENTRA A LA BASE LA VARIABLE x1 9
⇒ Z 2 − C2 = 0 − 3 = −3
T
Criterio de salida:
Recuérdese que X B = X B − YXR , en este caso:
 s1  15 3 5  x1 
XB =   =   − 
 
 s2  10 5 2  x2 
Columna asociada a X1 , variable a entrar a la base.
15 10 
Luego: θ = mín  ,  = mín{5 , 2} = 2
3 5
Por lo tanto sale de la base la variable S2.
Segundo Cambio de Base (si es necesario):
Actualmente, las nuevas condiciones son:
1 3
B=
;
0 5
s1 x1
 S1 
S2 
15
0 5 
C B = [0 5]; C R = [0 3]; b =  ; R = 
; X B =  ; X R =  

10
1 2 
 X1 
X2
s2 x2
Entonces, la solución actual es:
−1
1 3 15 1 − 3 5  15 9  10
  =  
XB = B b = 
  =
0 5 10 0 15  10 2
−1
Z = CB X B = 10
9
Obsérvese que X1 es la variable asociada a la columna Y1.
En este caso la inversa de la nueva base no se ha obtenido por operaciones fila elementales, como se hace
normalmente en la forma tabular, que se estudiará más adelante.
10
112
Introducción a la Modelación Matemática y Optimización
Ahora:
1 − 3 / 5 0 5 − 3 / 5 19 / 5
(columnas de Y)
Y = B −1R = 

=
2 / 5 
0 1 / 5  1 2  1 / 5
S2 X2
T
Z1 = C B Y1 = [0 5][− 3 / 5 1 / 5] = 1
Z 2 = C B Y2 = [0 5][19 / 5 2 / 5] = 2
⇒ Z1 − C1 = 1 − 0 = 1
⇒ Z 2 − C2 = 2 − 3 = −1 ,
ENTRA A LA BASE LA VARIABLE X2 (la
única cuyo Zj – Cj es negativo)
T
criterio de salida:
 s  9  − 3 / 5 19 / 5  s2 
XB =  1  =   − 
2 / 5   x2 
 x1  2  1 / 5
columna asociada a X2, la variable a entrar a la base.
45

 45
Luego, θ = mín  , 5 =
19  19
Por lo tanto, sale de la base la variable S1.
Tercer Cambio de Base (si es necesario):
Actualmente las nuevas condiciones son:
X2
S2 
15
0 1 
C B = [3 5]; C R = [0 0]; b =  ; R = 
; X B =  ; X R =  

10
1 0 
 X1 
 S1 
5 3
B=
;
 2 5
x2 x 1
entonces la solución actual es:
−1
5 3 15  5 / 19 − 3 / 19 15 45 / 19
XB = B b = 
  =
  = 

2 5 10 − 2 / 19 5 / 19  10 20 / 19
Z = CB X B = 235 / 19 ≅ 12.37
−1
Ahora:
 5 / 19 − 3 / 19 0 1 − 3 / 19 5 / 19 
Y = B −1R = 

=
 (columnas de Y)
− 2 / 19 5 / 19  1 0  5 / 19 − 2 / 19
Y1 Y2
T
Z1 = C B Y1 = [3 5][− 3 / 19 5 / 19] = 16 / 19
Z 2 = C B Y2 = [3 5][5 / 19 − 2 / 19] = 5 / 19
T
⇒ Z1 − C1 = 16 / 19 − 0 = 16 / 19 
 ≥ 0 , SE CUMPLE EL CRITERIO DE
⇒ Z 2 − C 2 = 5 / 19 − 0 = 5 / 19 
PARADA.
Luego la solución básica factible actual es una solución óptima. Como los únicos (Zj –
Cj) iguales a cero son los de las variables básicas, entonces esta es la única solución óptima del
modelo (3.1).
 x  45 / 19 
235
XB =  2  = 
Z máx = C B X B =

19
 x1  20 / 19
 s  0 
X R =  2  =   (variables no básicas)
 s1  0
4.4. EL MÉTODO SIMPLEX EN FORMA TABULAR
Como puede observarse, la forma matricial de solución mediante el algoritmo
SIMPLEX sería impráctica. Sin embargo, lo importante que debe notarse es que cada iteración
lo único que hace es reemplazar valores anteriores por otros nuevos, aspecto fundamental para
lograr la implementación del método en el computador. La forma tabular es mucho mejor para
el trabajo manual y consiste en hacer las mismas operaciones matriciales en forma de tablas,
de una manera más rápida y eficiente, ya que se conservan las columnas y los productos se
hacen en forma sencilla. Además, la inversa de la base se halla en forma automática, mediante
operaciones fila elementales. Para el caso del ejemplo anterior, los tableros SIMPLEX son los
siguientes:
Cj
5
3
0
0
XB
X1
X2
S1
S2
COCIENTE
0
0
15
10
3
5
5
2
1
0
0
1
15/3 = 5
10/5 = 2
0
0
0
-5
0
-3
0
0
0
0
0
5
9
2
0
1
19/5
2/5
1
0
-3/5
1/5
10
5
0
2
-1
0
0
1
1
3
5
45/19
20/19
0
1
1
0
5/19
-2/19
-3/19
5/19
Zmáx
235/19
5
0
3
0
5/19
5/19
16/19
16/19
VARIABLES
BÁSICAS
S1
S2
CB
Zj
Zj − Cj
S1
X1
Zj
Zj − Cj
X2
X1
Zj
Zj − Cj
Solución óptima
Inversa de la base óptima
45/19 ≅ 2.4
2/(2/5) = 5
114
Introducción a la Modelación Matemática y Optimización
Dado que en el tercer tablero, (Z j − C j ) ≥ 0 para todo j, entonces este es el tablero
óptimo. La solución óptima del problema es:
X1 = 20/19
X 2 = 45/19
S1 = 0
S2 = 0
Z máx = 235/19
Debe notarse que la inversa de la base en cada iteración se va generando debajo de la
matriz idéntica inicial.
Es importante notar que el método SIMPLEX se mueve de una solución básica
factible a otra de una manera muy especial: mejorando lo más posible a la función objetivo, y,
por lo tanto, sólo “visita” algunas de las soluciones básicas factibles hasta llegar a la solución
óptima.
Ejercicio: Resuelva el problema de los transformadores (modelo No 1) mediante el
método SIMPLEX.
4.5. EL MÉTODO
ARTIFICIALES
SIMPLEX
CON
VARIABLES
El método SIMPLEX necesita que la base inicial sea la matriz idéntica para poder
arrancar. El problema general de PL es:
MAX ( MIN ) Z = CX
sujeto a :
AX(≤ , = , ≥ )b
(3.12)
X≥0
Si todas las restricciones son de ≤ , el método SIMPLEX inicia con la base igual a la
matriz idéntica, formada por las columnas de las variables de holgura. Pero si existe por lo
menos una restricción de = ó de ≥ , la matriz idéntica no aparece en forma automática y por lo
tanto debe crearse mediante la adición de variables artificiales, salvo algunas excepciones
(Ver Ejemplos 3.2 y 3.3)
4.5.1. El Método de la “Gran M”
Ejemplo 3.1. USO DE VARIABLES ARTIFICIALES
Z = 2X1 + 3X 2
Maximizar
Sujeto a : X1 + 2X 2 ≤ 4
X1 + X 2 = 3
(X1, X 2 ) ≥ 0
La forma estándar de éste modelo es la siguiente:
Z = 2X1 + 3X 2
Maximizar
Sujeto a : X1 + 2X 2 + S1 = 4
X1 + X 2
=3
(X1 , X 2 , S1 ) ≥ 0
Como se observa, no aparece la submatriz idéntica de orden 2 en la matriz A, ya que
solo fue necesario adicionar la variable de holgura S1 para obtener la forma estándar del
modelo. Por lo tanto, la submatriz idéntica debe crearse artificialmente así:
Maximizar
Z = 2X1 + 3X 2
Sujeto a : X1 + 2X 2 + S1
X1 + X 2
=4
+A =3
(X1 , X 2 , S1 ) ≥ 0; A variable artificial
Dado que antes de adicionar la variable artificial A ya la igualdad estaba conformada,
la única forma de que el problema original tenga solución es que la variable artificial sea igual
a cero en la solución óptima, lo cual se logra la mayoría de las veces sacándola de la base.
Así, el método debe obligar a que la variable A salga de la base y esto puede conseguirse
penalizándola en la función objetivo con un valor muy grande positivo (si se está
minimizando) o muy pequeño negativo (si se está maximizando). Así, surge el método de la
“Gran M”, el cual transformaría el modelo anterior en:
Maximizar Z = 2 X 1+3 X 2 − MA
Sujeto a : X 1 + 2 X 2 + S
X1 + X 2
=4
+A=3
(X 1 ,X 2 , S) ≥ 0; A variableartificial
11
Se ha cambiado S1 por S por existir sólo una variable de holgura en este modelo.
11
116
Introducción a la Modelación Matemática y Optimización
En el modelo anterior M es un valor real positivo muy grande (M >> 0 ó ( M → +∞) ).
Los tableros, por lo tanto, serían los siguientes:
VARIABLES
BÁSICAS
S
A
Cj
2
3
CB
XB
X1
X2
S
A
θ
0
-M
4
3
1
1
2
1
1
0
0
1
4/2 = 2
3/1 = 3
-3M
-M
-M-2
-M
-M-3
0
0
-M
0
2
1
½
½
1
0
½
-½
0
1
6-M
3 −M
2
2
- 1 −M
2
2
3
0
3 +M
2
2
3 +M
2
2
-M
0
1
2
0
1
1
0
1
-1
-1
2
7
2
0
3
0
1
1
1
1+M
Zj
Z j -C j
X2
A
3
-M
Zj
Z j -C j
X2
X1
Zj
Z j -C j
3
2
0
-M
2/ ½ = 4
1/ ½ = 2
Luego la solución óptima única es:
X1 = 2
X2 =1
S =0
A = 0 (obviamente )
Z max. = 7
Obsérvese que la variable artificial sale de la base en el segundo tablero. Una vez
salga, no podrá volver a entrar a la base, y puede incluso ignorarse esta columna para
encontrar la solución óptima.12
Debe además recordarse que M siempre es un valor muy grande positivo ( M → +∞)
y, por lo tanto, su magnitud domina sobre cualquier otro número.
12
Sin embargo, es útil mantener las columnas de las variables artificiales para determinar la inversa de la base
óptima, ya que ellas formaron la matriz idéntica inicial.
Ejemplo 3.2 : INFINITAS SOLUCIONES ÓPTIMAS
Minimizar
Z = 2 X 1 + 3X 2 + X 3
Sujeto a : X 1 + 4 X 2 + 2 X 3
3X1 + 2 X 2
(X1, X 2 , X 3 )
≥8
≥6
≥0
Este ejemplo ilustra dos aspectos importantes: Primero, no es necesario adicionar
variables artificiales cuando el modelo contiene por lo menos una restricción de ≥ ó de =. En
este ejemplo, la variable X3 aparece solamente en la primera restricción y basta con dividir
ésta entre 2 para que pueda formar parte de la base inicial. Por lo tanto, solo se necesitaría una
variable artificial, adicionada en la 2ª restricción.
Segundo, como se observará a continuación, el método SIMPLEX identifica cuando el
modelo presenta múltiples soluciones óptimas. El modelo quedaría entonces así:
Minimizar
Z = 2 X 1 + 3 X 2 + X 3 + MA
Sujeto a : 1 X 1 + 2 X 2 + X 3 − S1
=4
2
3X1 + 2 X 2
− S2 + A = 6
( X 1 , X 2 , X 3 , S1 , S 2 ) ≥ 0; A var iable artificial
Los tableros correspondientes serían los siguientes:
VAR.
BÁSICAS
X3
A
Cj
2
3
CB
XB
X1
X2
1
M
4
6
½
3
½ +3M
Zj
0
0
M
X3
S1
S2
A
θ
2
2
1
0
-1
0
0
-1
0
1
8
2
- 3 M + 3M
2
2+2M
-1+2M
1
0
-1
-1
-M
-M
M
0
3
2
0
1
5/3
2/3
1
0
-1
0
1/6
-1/3
-1/6
1/3
7
2
0
3
0
1
0
-1
-1
-½
-½
½
½ -M
9/5
4/5
0
1
1
0
3/5
-2/5
-3/5
2/5
1/10
-2/5
-1/10
2/5
7
2
0
3
0
1
0
-1
-1
-½
-½
½
½-M
4+6M
Z j -C j
X3
X1
1
2
Zj
Z j -C j
X2
X1
Zj
Z j -C j
3
2
1
1.8
3
Sol.
óptima
No 1
Sol.
óptima
No 2
Como puede observarse, en el tablero No 2 ya se obtiene una solución óptima, pero
con la característica de que la variable no básica X2 tiene su (Z j -C j ) =0; por lo tanto, ella
118
Introducción a la Modelación Matemática y Optimización
puede entrar a la base sin modificar el valor mínimo de la función objetivo y generar una
solución óptima diferente. Estas soluciones son:
Solución Optima N º1
X1 = 2
Solución Optima N º 2
X1 = 4 / 5
X2 = 0
X2 = 9/5
X3 = 3
X3 = 0
S1 = S 2 = 0
S1 = S 2 = 0
Z mín = 7
Z mín = 7
En realidad, cualquier combinación lineal convexa de estas dos soluciones es óptima
también, y así se obtiene la solución óptima general del modelo:
X1 
 
X 2 
 
X 3  = α
 
 S1 
S 
 2 
 2
 
0 
 
3  + β
 
0 
0 
 
4 
 5
9 
 5
 
0  ; 0 ≤ α ≤ 1; 0 ≤ β ≤ 1 α + β = 1; (α , β ) ∈ ℜ
 
0 
 
0 
 
Por ejemplo, si α = 0.5 y β = 0.5, entonces se obtiene la solución óptima (nó básica):
X1 = 7/5; X2 = 9/10; X3 = 3/2; S1 = S2 = 0; Zmáx = 7.
En conclusión, el método SIMPLEX detecta infinitas soluciones si por lo menos una
de las variables no básicas presenta su (Z j -C j ) = 0 en un tablero óptimo. El número de
soluciones básicas factibles óptimas será igual al número de variables no básicas que
presenten dicha característica mas uno, y la solución general se escribe como la combinación
lineal convexa de dichas soluciones.
Este hecho hace que sea difícil que un programa de computador detecte la presencia de
soluciones óptimas múltiples, ya que, debido a errores de redondeo, rara vez se tendría un
(Z j -C j ) exactamente igual a cero. Sin embargo, esto se puede lograr estableciendo rangos de
tolerancia para los números muy pequeños considerados iguales a cero.
Ejemplo 3.3 : FUNCIÓN OBJETIVO NO ACOTADA
Maximizar Z = 1.2 X 1 + X 2 + 0.8 X 3
Sujeto a : X 1 + X 2
≤ 50000
0.4 X 1 + 0.6 X 2 + X 3 ≥ 27000
(X1, X 2 , X 3 ) ≥ 0
La forma estándar del modelo anterior es:
Maximizar Z = 1.2 X 1 + X 2 + 0.8 X 3
X1 + X 2
Sujeto a :
+ S1 = 50000
0.4 X 1 + 0.6 X 2 + X 3
− S 2 = 27000
( X1, X 2 , X 3 , S1, S 2 ) ≥ 0
En este caso tampoco se requiere una variable artificial en la 2ª restricción, ya que la
variable X3 puede ser básica inicial. Así:
Var.
Básicas
S1
X3
Cj
1.2
1.0
0.8
0
CB
XB
X1
X2
X3
S1
S2
θ
0
0.8
50000
27000
1
0.4
1
0.6
0
1
1
0
0
-1
50000
67500
21600
0.32
-0.88
0.48
-0.52
0.8
0
0
0
-0.8
-0.8
50000
70000
1
0
1
0.2
0
1
1
-0.4
0
-1
65600
1.2
0
1.36
0.36
0.8
0
0.88
0.88
-0.8
-0.8
Zj
Z j −Cj
X1
X3
Zj
Z j −Cj
1.2
0.8
0
En el último tablero, S2 trata de entrar a la base, pero la regla del cociente falla,
entonces como no hay ninguna variable a salir de la base se concluye que hay FUNCIÓN
OBJETIVO NO ACOTADA.13
El caso de función objetivo no acotada es un caso donde no existe solución ÓPTIMA,
aunque si existen SOLUCIONES FACTIBLES, a diferencia del caso de “NINGUNA
SOLUCIÓN FACTIBLE”.
En la práctica puede presentarse este caso cuando se ha olvidado incluir en el modelo
alguna restricción. En este problema faltó acotar la variable X3. Obsérvese que este modelo
corresponde al caso de la refinería (Problema No. 16 de la colección de problemas), donde la
demanda es mínima y lo que puede comprarse a otros proveedores es ilimitado, lo cual
13
El problema se presenta en la 2ª restricción. La variable X3 está acotada por debajo pero no por encima y así su
valor puede hacerse tan grande como se desee, haciendo crecer indefinidamente la función objetivo. La variable
de exceso S2 trata de entrar a controlar esto, pero obviamente no puede.
120
Introducción a la Modelación Matemática y Optimización
obviamente no es real. La corrección a esta situación sería limitar la cantidad de barriles de
gasolina que pueden comprarse a otros proveedores, bien sea por su capacidad limitada, por la
demanda finita, o por cualquier otra razón. Esto permitiría encontrar una solución óptima en
este problema.
Ejemplo 3.4: NINGUNA SOLUCIÓN FACTIBLE
Maximizar
Z = 10 X 1 + 15 X 2 + 12 X 3
5 X 1 + 3X 2 + X 3
Sujeto a :
≤ 144
− 5 X 1 + 6 X 2 + 15 X 3 ≤ 240
2X1 + X 2 + X 3
≥ 80
(X1, X 2 , X 3 ) ≥ 0
Forma estándar con variables artificiales:
Maximizar Z = 10 X 1 + 15 X 2 + 12 X 3
− MA
5 X 1 + 3 X 2 + X 3 + S1
Sujeto a :
− 5 X 1 + 6 X 2 + 15 X 3
= 144
+ S2
2X1 + X 2 + X 3
= 240
− S 3 + A = 80
( X 1 , X 2 , X 3 , S1 , S 2 , S 3 ) ≥ 0; A var iable artificial
En este caso los tableros Simples serían los siguientes:
15
12
0
C j → 10
Var.
Básicas
S1
S2
A
X1
X2
X3
S1
S2
S3
A
θ
0
0
-M
144
240
80
5
-5
2
3
6
1
1
15
1
1
0
0
0
1
0
0
0
-1
0
0
1
28.8
-80M
-2M
-2M-10
-M
-M-15
-M
-M-12
0
0
0
0
M
M
-M
0
144/5
384
112/5
1
0
0
3/5
9
-1/5
M
+6
5
1/5
16
3/5
1/5
1
-2/5
2M
+2
5
2M
+2
5
3/16
1/16
-7/16
0
1
0
0
0
-1
0
0
1
0
0
M
M
-M
0
-1/80
1/16
-3/80
3M 5
+
80 8
3M 5
+
80 8
0
0
-1
0
0
1
M
M
-M
0
10
0
-M
Zj
− 112 M
+ 288
5
Z j −Cj
Zj
Z j −Cj
−M
XB
Z j −Cj
X1
X3
A
0
CB
Zj
X1
S2
A
0
10
12
-M
10
0
24
24
8
1
0
0
- 8 M + 528
10
M
− 9
5
− 3M
+2
5
− 3M
− 10
5
39/80
9/16
-43/80
0
1
0
43M 93
+
80
8
43M 27
−
80
8
12
0
7 M 21
+
16
8
7 M 21
+
16
8
NO
40
144
24
37.3
Obsérvese que en el tablero No. 3 se cumple el criterio de parada (O sea Zj – Cj ≥ 0
∀j), pero existe una variable artificial en la base a nivel positivo (A = 8); por lo tanto, el
problema NO tiene SOLUCIÓN FACTIBLE ALGUNA.
Obsérvese, además, que en el primer tablero se presenta un caso en el cual no debe
tenerse en cuenta el cociente, ya que y sk = −5 < 0 .
4.5.2. El método de las Dos Fases14
Este método elimina el problema de trabajar con la “Gran M” y los errores de redondeo
asociados. El método comprende las siguientes fases:
FASE I:
Trata de encontrar una solución básica factible inicial. Aquí siempre se
minimiza la suma de las variables artificiales, independientemente de si el problema es de
MAXIMIZACIÓN o de MINIMIZACIÓN, sujeto a las restricciones del problema original.
Hay dos posibilidades:
a) La suma óptima de las variables artificiales es igual a cero, entonces se continua
con la fase II.
b) Si el valor óptimo de la función objetivo es mayor que cero, entonces el problema
original no tiene ninguna solución factible.
FASE II:
Se cambia la función objetivo a la función objetivo original y se utiliza
la solución básica factible encontrada en la fase I, se comprueba el criterio de parada y se
continúa iterando normalmente, si es necesario.
Ejemplo 4.5 [páginas 87 y 92 de Taha (1997)]:
Minimizar Z = 4X1 + X 2
Sujeto a :
3X 1 + X 2 = 3
4 X1 + X 2 ≥ 6
X1 + 2 X 2 ≤ 4
( X1, X 2 ) ≥ 0
El modelo se transforma como sigue para iniciar el método de las dos fases:
14
Ver Taha (1997), página 92
122
Introducción a la Modelación Matemática y Optimización
Minimizar Z ' = A1 + A2
3 X 1 + X 2 + A1
sujeto a :
4 X 1 + 3X 2
=3
− S1 + A2
X1 + 2X 2
=6
+ S2 = 4
( X 1 , X 2 , S1 , S 2 ) ≥ 0; A1 , A2 Var. Artificiales
Cj → 0
0
0
0
1
1
Var.
Básicas
CB
XB
X1
X2
S1
S2
A1
A2
θ
A1
A2
S2
1
1
0
3
6
4
3
4
1
1
3
2
0
-1
0
0
0
1
1
0
0
0
1
0
3/3 = 1
6/4 =
1.5
4/1 = 4
9
7
7
4
4
-1
-1
0
0
1
0
1
0
1
2
3
1
0
0
1/3
5/3
5/3
0
-1
0
0
0
1
1/3
-4/3
-1/3
0
1
0
2
0
0
5/3
5/3
-1
-1
0
0
-4/3
-7/3
1
0
Cj
3/5
6/5
1
4
1
0
0
1
0
1
0
0
1/5
-3/5
1
0
0
0
1
0
3/5
-4/5
1
0
-1/5
3/5
-1
18/5
4
0
1
0
1/5
1/5
0
0
2/5
9/5
1
1
0
0
0
1
0
0
0
1
-1/5
3/5
1
17/5
4
0
1
0
0
0
-1/5
-1/5
Zj
Zj −Cj
X1
A2
S2
0
1
0
Zj
Z j −Cj
X1
X2
S2
4
1
0
Zj
Z j −Cj
X1
X2
S1
Zj
Z j −Cj
4
1
0
Solución Óptima Única → X *1 = 2 / 5, X *2 = 9 / 5, Z *mín = 17 / 5
3
1.2
1.8
Fin
Fase I
3
NO
1
Fin
Fase
II
Descargar