Story Transcript
X2
Número de kg de harina tipo 2 a incluir en los 1 0 0 0 kg de alimento.
X M : kg de minerales a mezclar en los 1000 kg de alimento. W
: Función de costo del alimento.
Modelo (Primal): M I N W = 22 XA + 31 XB + 4 5 X c + 1 7 X, + 15 X2 + 125 X M Con sus restricciones:
Resumiendo:
Sujeta a :
91
PROBLEMA
14
(Cortes)
Una empresa produce bobinas de papel de 5 0 0 metros de longitud y un metro de ancho; se ha estimado que la demanda para el mes próximo es de 5 0 0 bobinas de 2 0 cm de ancho, 4 0 0 bobinas de 3 0 cm de ancho, 2 5 0 bobinas de 4 0 cm de ancho y 3 0 0 bobinas de 70 cm de ancho (todas las bobinas son de 5 0 0 metros de longitud). El fabricante debe cortar las bobinas de un metro de ancho con el tamaño de las peticiones para satisfacer la demanda, pero también desea que el desperdicio en el corte sea tal que el número de bobinas que fabrique de un metro sea mínimo con el objetivo que el costo de producción también lo sea, si se considera desperdicio los sobrantes iguales o superiores a 10 cm. Variables reales: X¡ W :
Número de bobinas a cortar de 5 0 0 metros según el patrón i, i = 1, 2, 3, 4, 5, 6, 7, 8, 10 Función de costo del desperdicio en el corte de las bobinas. Patrones
20
30
40
70
Sobrantes(cm)
1 2 3 4 5 6 7 8 9 10
5 3 3 1 0 1 0 0 1 2
0 0 1 0 1 1 2 3 0 2
o 1 0 0 0 1
0 0 0 1 1 0 0 0 0 0
,0 0 10 10 0 10 0 ao 0 0
M o d e l o (Primal): M I N W = 10 X 3 + 10 X 4 + 10 X6 + 10 X, Sujeta a :
92
1 0 2 0
PROBLEMA
15
(Mezclas)
En la Empresa Colombiana de Petróleos ECOPETROL se procesan tres tipos de gasolina:
Tipo
Clase
O c t a n a j e (Octanos)
1
Popular
95
2
Corriente
92
3
Extra
98
3ra ello se mezclan cuatro productos base, cuyo costo y disponibilidad son:
Producto
Disponibilidad
Costo/Unidad (S/Barril]
A
3000
90000
B
2000
1 80000
C
4000
120000
D
1000
150000
¿fara la clasificación de la mezcla en uno de los tres tipos de gasolina se atiende a la proporción de los productos que la componen de acuerdo a la siguiente tabla:
— : Indica que no interesa la proporción de ese producto.
V a r i a b l e s d e decisión: Yi
Cantidad de barriles de gasolina tipo 1 (Popular).
Y2
: Número de barriles de gasolina tipo 2 (Corriente).
Y3
: Cantidad de barriles de gasolina tipo 3 (Extra).
Y a : Número de barriles del producto A. Y b : Cantidad de barriles del producto B. Y C : Número de barriles del producto C. YQ : Cantidad de barriles del producto D. X¡¡
Número de barriles del producto i
{A, B, C, D} invertidos en j
Z
Función de maximización de la utilidad.
{ 1 , 2, 3 }
93
M o d e l o (Primal):
Resumiendo:
Con sus restricciones:
94
l
PROBLEMA
16
(Decisiones)
El gobierno actual requiere el máximo apoyo para que se apruebe en el Congreso el plan de desarrollo propuesto para el próximo año. A través de sus consejeros ha sabido que hay 3 5 congresistas de un grupo de coalición y 2 7 de otro partido que aún no han definido su voto. El presidente decide entonces concertar por teléfono a estos congresistas indecisos para convencerlos de que lo apoyen, sabiendo que tiene una probabilidad 0,9 de éxito con los miembros de la coalición y 0,6 de otro partido. ¿Cuántos congresistas de cada partido deberá telefonear para maximizar su probabilidad de éxito si no puede realizar un número total de llamadas superior a 3 0 en el actual régimen de austeridad? Definición d e v a r i a b l e s : Xc : Cantidad de congresistas de la coalición. XQ : Número de congresistas de otro partido. Z
Función de maximización del éxito.
Modelo (Primal):
Con sus restricciones:
95
PROBLEMA
17
(Compras)
Una empresa requiere adquirir cuatro productos (1, 2, 3 y 4) y se conoce que hay tres compañías (A, B y C) que los procesan y los venden. La diferencia entre las compañías hace que los artículos se distingan por su calidad, es decir, probabilidad que sean menos defectuosos y sus precios:
Si se pretende tener una media no inferior a 8, 14, 23 y 15 unidades sin defecto de los productos 1, 2, 3 y 4 respectivamente. Si se desea minimizar el costo que se debe comprar. Variables reales: X¡¡ :
Cantidad de artículos i, i
{ 1 , 2, 3, 4 } que se comprarán en la empresa ¡, ¡
W :
Furyción de minimización de costos.
{A, B, C}
Modelo (Primal):
Sujeta a :
PROBLEMA
18 (Producción
de
tierras)
Un granjero tiene 1.000 hectáreas de terreno para cultivar próximamente y desea planificar tales cultivos; sabe que necesitará disponer de 3 0 0 toneladas de trigo y 2 7 0 toneladas de maíz para alimentar a su ganado, lo que puede obtener mediante su propia cosecha o por medio de compra en el mercado. Lo que produzca y que no se dedique a su ganado, lo puede vender; los precios de venta son $ 5 0 0 0 0 0 y $ 4 5 0 0 0 0 por cada tonelada de trigo y de maíz, respectivamente. Los precios de compra son un 35% superior debido a las ganancias de intermediarios y a los costos de transporte.
96
Otro cultivo posible es de la caña de azúcar, que se vende a $ 3 0 0 0 0 0 cada tonelada producida. Sin embargo, normas del Mercado Común Latinoamericano imponen una cuota máxima para la producción de azúcar, lo que conlleva a que cada tonelada de caña de azúcar producida sobre tal cuota tendrá un precio de venta de $ 1 0 0 0 0 0 ; para el próximo cultivo se espera que tal cuota sea de 4 0 0 0 toneladas. Basado en experiencias anteriores, el granjero conoce que la producción media es de 8, 5 y 4 toneladas por hectárea de trigo, maíz y caña de azúcar. El costo de cultivar una hectárea de trigo, maíz y caña de azúcar es de $ 3 0 0 0 0 0 0 , $ 3 8 0 0 0 0 0 y $ 4 3 0 0 0 0 0 . Se debe plantear un modelo de Programación Lineal que le ayude al granjero a maximizar sus beneficios.
V a r i a b l e s d e decisión: Ui
: Cantidad de hectáreas en las que cultivará trigo.
U2
: Número de hectáreas en las que sembrará maíz.
U3
: Cantidad de hectáreas en las que plantará caña de azúcar.
V-|
: Número de toneladas que comprará de trigo.
V2
: Cantidad de toneladas que comprará de maíz.
W]
: Número de toneladas que venderá de trigo.
W2
: Cantidad de toneladas que venderá de maíz.
W3
: Número de toneladas que venderá de caña de azúcar a $ 3 0 0 0 0 0 .
W4
: Cantidad de toneladas que venderá de caña de azúcar a $ 1 0 0 0 0 0 .
Z
: Función de maximización de utilidades.
M o d e l o (Primal):
Con sus restricciones:
97
PROBLEMA
19 (Contaminación
ambiental)
La gerencia de una planta termoeléctrica de generación de energía, que emplea carbón como combustible, está estudiando la configuración operativa de la planta a fin de cumplir con las nuevas leyes de contaminación ambiental; para esta planta, las tasas máximas de emisión son: máxima emisión de óxido de azufre 4 0 0 0 partes por millón (ppm), máxima emisión de partículas (humo) 10 kilogramos/hora (kg/hor). El carbón se traslada a la planta por ferrocarril y se descarga en depósitos cercanos a la misma; de aquí se lleva con una cinta transportadora a la unidad pulverizadora, donde se pulveriza y alimenta directamente la cámara de combustión, a la velocidad conveniente; el calor producido en la cámara de combustión, se utiliza para crear vapor, el cual impulsa las turbinas. Se emplean dos tipos de carbón: tipo A, que es un carbón duro y de quema limpia con un bajo contenido en azufre (bastante caro) y tipo B, que es un carbón barato, relativamente suave, que produce humo y tiene un alto contenido en azufre (ver tabla adjunta). El valor térmico en términos de vapor producido es mayor para el carbón A que para el carbón B, siendo de 2 6 0 0 0 y 18000 libras por tonelada respectivamente.
Carbón
Óxido de azufre en gases combustible
Partículas(emisión/ton)
A
1600 ppm
0,5 kg/ton
B
4 8 0 0 ppm
1 kg/ton
Como el carbón A es duro, la unidad pulverizadora puede manejar a lo sumo 1 8 toneladas de carbón A por hora; sin embargo, puede pulverizar hasta 22 toneladas de carbón B por hora. El sistema de carga de la cinta transportadora tiene una capacidad de 2 0 toneladas por hora y es independiente del tipo de carbón. Uno de los interrogantes que se plantea la gerencia es que dados los límites de emisión de los agentes contaminantes y los tipos disponibles de carbón. ¿Cuál es la máxima producción posible de electricidad de la planta que le permitirá a la gerencia determinar el margen de seguridad disponible para cubrir las demandas de energía? Definición d e v a r i a b l e s : XT : X2 :
Cantidad de carbón tipo A en toneladas utilizadas por hora en la quema . Número de toneladas de carbón tipo B en toneladas empleadas en una hora para quema.
Z
Función de maximización de producción.
Modelo (Primal):
SlBUOTcCA
^
Sujeta a : 1.
2.
0,5 X, + X2 < 10
- 1 - X 11 + —
18
22
X2 2 < 1
3.
1 6 0 0 — — — + 4 8 0 0 — - J — < 4000
4.
X, + X2
X-j + X2 <
X-| + X2
20
Resumiendo:
MAX Z = 2 6 0 0 0 X, + 1 8 0 0 0 X2
Con sus restricciones:
x2
<
10
+ 9X2
<
198
XT
+
X2
<
0
XI
+
x2
<
20
Xi, x 2
>
0
1.
0,5X,
2.
IIXT
3.
4.
- 3
PROBLEMA
+
20
(Mezclas)
Una destilería dispone de malta propia en cantidad de 3 0 0 barriles/día. Además, puede comprar malta de dos distribuidores, A y B con costos de $ 1 2 0 0 0 y $ 1 5 0 0 0 por barril, en cantidades máximas de 6 0 0 y 4 0 0 barriles/día, respectivamente. La malta puede mezclarse directamente o destilarse para producir malta enriquecida de dos tipos, 1 y 2. El destilador puede procesar a lo sumo 8 0 0 barriles / día. Un barril destilado de la propia casa produce 0,3 barriles de malta tipo 1 y 0,6 barriles de malta tipo 2; un barril de malta A produce 0,4 barriles de malta tipo 1 y 0,4 barriles de malta tipo 2; un barril de malta B produce 0,7 barriles de malta tipo 1 y 0,1 barriles de malta tipo 2. La mezcla de malta no procesada se vende a $ 1 6 0 0 0 el barril, limitándose el mercado a 150 barriles/día; el sobrante de malta debe destruirse con costo de $ 1 2 0 0 el barril; con las maltas destiladas pueden hacerse dos productos, uno de superior calidad (S) que se vende a $ 2 0 0 0 0 el barril y debe contener al menos el 60% de producto 1 y otro de baja calidad (B) que se vende a $ 1 5 0 0 0 barril y puede contener a lo sumo el 50% de producto 2.
99
La destilería desea satisfacer la demanda del producto de alta calidad, que es de 2 5 0 barriles por día y asegurarse un beneficio de $ 3 0 0 . 0 0 0 diarios; además, puesto que se espera un cambio en el mercado del producto de baja calidad, la destilería desea minimizar su producción. Formular un modelo de Programación Lineal que responda al problema de planificación planteado teniendo en cuenta las limitaciones en la producción y las exigencias de demanda y beneficio económico, suponiendo, además, que la venta de la mezcla está garantizada. Variables reales:
Modelo (Primal):
Sujeta a :
100
Resumiendo:
Con sus restricciones:
101
EJERCICIOS PROPUESTOS
Plantear cada uno de los problemas siguientes como un modelo de Programación Lineal:
1 * La Empresa Manizales tiene un programa estricto de compromisos de entrega de un producto para los próximos seis meses. El costo de producción varía por mes, por los valores anticipados en costos de materiales; la capacidad de producción de la compañía es de 100 unidades por mes con tiempo normal y hasta 15 unidades adicionales por mes con tiempo extra. El cuadro siguiente muestra los requerimientos de entrega y los costos de producción mensuales:
El costo de almacenar en inventario una unidad que no se vende es de $1.600 por mes. El problema de la Compañía es determinar el número de unidades que debe producir cada mes en tiempo normal y en tiempo extra para cubrir los requerimientos con el menor costo; la empresa no tiene unidades disponibles al iniciar el mes 1 y no quiere que sobren unidades al terminar el mes 6.
2 • La firma Punto Azul opera una serie de cafeterías para instituciones públicas; para cumplir con las exigencias del Gobierno, se deben satisfacer ciertos requerimientos nutricionales: la cantidad mínima de vitamina A en una comida debe ser de 1 mg, mientras que los requerimientos mínimos de vitamina C y D son de 5 mg y 10 mg respectivamente. Se exige que en dichas cafeterías, al desayuno, se sirvan huevos y tocino. Cada libra de tocino contiene 1 mg de vitamina A, 10 mg de vitamina C y 50 mg de vitamina D; cada docena de huevos contiene 10 mg de vitamina A, 10 mg de vitamina C y 10 mg de vitamina D. Una libra de tocino vale $1.800 y una docena de huevos cuesta $1.000. Adicionalmente, se estipuló que un desayuno no puede contener más de cuatro huevos, ni más de un tercio de libra de tocino, debido principalmente al tiempo de preparación. ¿Cómo estará compuesto el desayuno más barato y más nutritivo?
3 * Un inversionista tiene disponibles dos actividades, A y B, para el comienzo de cada uno de los años siguientes. Cada peso invertido en A al principio de un año, devuelve $1,4 (una ganancia de $4), dos años más tarde y a tiempo para una reinversión inmediata. Cada peso invertido en B al comienzo del año $1,7, tres años más tarde. 102
También tiene las inversiones C y D. Cada peso invertido en C al principio del segundo año produce $2 cuatro años más tarde. Cada peso invertido en D al comienzo del quinto año, retorna $1,3 un año más tarde. El inversionista empieza con $ 1000000 y quiere saber qué plan de inversiones maximiza la cantidad total de dinero que él puede acumular al principio del sexto año, contado desde hoy.
4 * La compañía aérea AVACSAM tiene que realizar las operaciones de mantenimiento sobre sus aviones que son: 9 Concordes, 10 Airbus, 14 Aeroplanos, 12 Hidroaviones y 15 Boeings 747 . Cada avión requiere unas operaciones específicas para su mantenimiento en el taller. Dadas las dimensiones de los aviones, sólo es posible trabajar simultáneamente sobre no más de tres aviones atendiendo a las siguientes posibles configuraciones del taller: Primera configuración: un Concorde, un Airbus y un Hidroavión; Segunda configuración: un Concorde, un Hidroavión y un Boeing 747; Tercera configuración: un Concorde, un Aeroplano y un Boeing 747; Cuarta configuración: un Airbus, un Aeroplano y un Hidroavión; Quinta configuración: un Airbus, un Aeroplano y un Boeing 747. Además, la cantidad de horas que requiere un avión viene dada por:
Se asume que el taller puede pasar de una configuración a otra sólo cuando se haya terminado de trabajar sobre sus aviones. El modelo matemático a plantear nos debe servir para configurar oportunamente el taller de manera que se minimice el tiempo total de mantenimiento de la flota.
5 « La empresa de colchones EL SUEÑO FELIZ produce un colchón ortopédico, el cual para su elaboración precisa de una serie de tareas ligadas por relaciones de precedencia; además, cada tarea requiere de un tiempo de ejecución dado en la siguiente tabla:
Determinar los instantes de comienzo de las tareas para disminuir el peso del tiempo total medio. 103
CAPÍTULO
IV
MÉTODOS LINEAL
DE
SOLUCIÓN
EN
PROGRAMACIÓN
"A veces pienso que la prueba más fehaciente de que existe vida inteligente en el universo es que nadie ha intentado contactar con nosotros". Bill Watterson
MÉTODO GRÁFICO Es limitado en el hecho de graficar como máximo tres variables. Consiste en representar cada una de las restricciones y encontrar cuando se pueda el polígono (poliedro) factible, comúnmente llamado la región factible, en la cual en uno de sus vértices se obtiene la solución óptima del problema, caso en el que la optimización se denomina solución óptima única. Además, las soluciones óptimas múltiples, no acotadas, infactibles, con ecuaciones redundantes. Es de anotar que los problemas de mayor dimensión tienen soluciones semejantes, pero la forma de resolverlos ya es de manera analítica.
Comentarios g e n e r a l e s acerca d e la O p t i m i z a c i ó n
La solución de un problema es óptima única cuando sólo existe un punto extremo del conjunto de soluciones factibles que hace posible encontrar el valor máximo de la función objetivo. La solución es óptima múltiple cuando existen varios puntos (un lado del poliedro de soluciones factibles) que hacen posible encontrar el máximo valor de la función objetivo. Es posible encontrar problemas en los cuales la solución óptima no toma ningún valor finito sino infinito. En modelos reales lo que sucede es un problema formulado incorrectamente; en estos casos se presentan utilidades bastante altas. Un problema tiene solución no factible cuando no es posible encontrar un espacio de soluciones factibles, por incompatibilidad de las restricciones o porque el espacio de soluciones se encuentra en un cuadrante diferente al primero (no se cumplen las condiciones de no negatividad).
Ejemplos 1) La Hilandería "Cordillera" produce dos tipos de tela, cada una varía en el proceso de fabricación. La tela de lujo requiere de 18 horas de tintura, 9 horas de estampado y produce una utilidad de $400 el metro; la tela estándar necesita 3 horas de tintura, 4 horas de estampado y produce una utilidad de $200 el metro; se dispone de 800 horas para tintura y 600 horas para estampado cada mes. 105
Se ha pronosticado que la demanda mensual para la tela de lujo no es más de 80 metros y de la tela estándar no es más de 150 metros. La gerencia desea saber el número de metros de tela de cada clase que debe producir la empresa para maximizar la utilidad total. Formule, resuelva e interprete las variables de este problema como un modelo de Programación Lineal. Definición de variables: X! : Cantidad de metros de tela de lujo a producir mensualmente. X2 : Número de metros de tela estándar a fabricar por mes. Z
: Utilidad total.
Modelo (Primal):
Solución gráfica: X2
106
Solución Óptima Única:
La solución analítica de éste problema se presenta en la página 118.
Con sus restricciones:
Resolver el anterior problema como un modelo de Programación Lineal
Solución gráfica:
Solución Óptima Múltiple (Alterna):
Solución Alterna 1:
Solución Alterna 2:
Sujeta a:
Solucionar el anterior problema como un modelo de Programación Lineal Solución gráfica:
108
Solución Óptima No Acotada o Ilimitada o Indeterminada.
Con sus restricciones:
Resolver el anterior problema como un modelo de Programación Lineal Solución gráfica:
Solución Infactible o No Factible o Sin Solución.
Sujeta a:
109
Resolver el anterior problema como un modelo de Programación Lineal Solución gráfica:
6) El administrador del sistema de suministro de agua del acueducto municipal debe encontrar la manera de proporcionar por lo menos 10 millones de galones de agua potable por día (mgd). El agua se debe tomar de los depósitos locales o de una tubería hacia una población vecina; los depósitos locales pueden suministrar como máximo 5 mgd. La tubería, debido a su tamaño, puede proporcionar un máximo de 10 mgd; además, debido a un cláusula contractual, debe bombear por lo menos 6 mgd. Por último, el costo del agua del depósito es de $300 por un millón de galones y el costo del agua de la tubería es de $500 por un millón de galones. ¿En qué forma puede el administrador minimizar el costo diario del agua? Variables de decisión:
110
Xt :
Cantidad de galones de agua potable a tomar de los depósitos locales para suministrar por día.
X2 :
Número de galones de agua potable a tomar de la tubería para proporcionar diariamente.
W :
Costos diarios.
Sujeta a:
Resolver el anterior problema como un modelo de Programación Lineal Solución gráfica:
Solución Óptima Única:
Sujeta a:
Resolver el anterior problema como un modelo de Programación Lineal
Solución gráfica:
(2,0,0) (2,406/175,141/175) (2,20/7,0)
Solución Óptima Única:
112
^on sus restricciones:
Solución gráfica: X, (0,0,30) X,+2XJ+X3=30
X1+2X2+X3=20
•
X,
Solución Óptima Única:
El problema general de Programación Lineal se puede plantear de la siguiente manera (matricialmente):
Sujeta a:
Nota: La OPT (optimización) puede corresponder a un problema de MAX (maximización) o a un problema de MIN (minimización).
113
El anterior modelo se escribe en una tabla:
Donde Cj :
Coeficiente de las variables básicas.
X¡ :
Variables básicas.
Cj :
Coeficientes de las variables básicas y no básicas.
S¡ :
Variables de holgura (relleno).
Sj :
Variables de superávit (exceso).
An :
Variables artificiales.
B¡ :
Disponibilidad de recursos.
Z :
Valor de Z (W)
METODOS ANALITICOS Por medio de estos métodos se resuelven problemas de Programación Lineal sin importar el número de variables y/o restricciones, es decir, son modelos que nos permiten solucionar problemas más cercanos a la realidad. Entre otros, los más utilizados son:^Simplex, Dual-Simplex, Khachian, Karmarkar, Métodos Matriciales, Método Simplex Revisado, Método de las Dos Fases, Perturbación de Chames, Descomposición de Dantzig-Wolfe, Descomposición de Benders, Método Simplex Generalizado. A l g o r i t m o Simplex Fue creado en 1947 y se le atribuye a George Bernard Dantzig (Estados Unidos) y Leonid Vitalievich Kantorovich (Rusia). Con este algoritmo se resuelven problemas de m restricciones y n variables; las restricciones pueden ser >, < o = y m con respecto a n puede ser >, < 0 =. El número de soluciones básicas factibles es menor o igual a:
SOLUCION N°
X,
x2
s,
s2
S3
s4
FUNCION OBJETIVO
1
0
0
800
600
80
150
0
2
0
266,6
o
-466,6
80
919,6
NF
3
0
150
350
0
80
0
30000
4
44,4
0
0
200
35,6
150
17777,7
5
66,6
0
-400
0
13,4
150
NF
6
31,1
80
0
0
48,9
70
28444,4
El algoritmo simplex, usando el criterio del peor caso, está clasificado como un algoritmo de complejidad de tipo exponencial, es decir, que el tiempo de terminación del método simplex puede llegar a crecer exponencialmente en términos del problema a resolver. El simplex necesita a lo sumo 2n - 1 iteraciones para encontrar la respuesta (n es el número de variables). Cuando se aplica este algoritmo a la solución de un problema de Programación Lineal en la forma estándar, se encuentra normalmente una solución óptima después de examinar menos de 3m soluciones básicas factibles. Recientemente se encontró que este método examinó un promedio de 2m soluciones básicas factibles, antes de encontrar la solución óptima (m es el número de restricciones). Sin embargo, este algoritmo se emplea todavía en la actualidad porque realiza análisis post -óptimo con las variables que intervienen en la solución del problema.
115
Problema de Maximización • Criterio de entrada de variables a la base: MIN Cj, C¡ < 0 en la función objetivo. Para nuestro caso (página 106), las candidatas en el tablero 1 a entrar a la base son ( - 400, - 200), tomamos la variable que más se aleja de cero por la izquierda, es decir, - 400 que corresponde a la variable X], Cuando hay empate entre variables a entrar a la base, se prefieren las variables reales (decisión); cuando el empate es entre variables de la misma naturaleza se rompe arbitrariamente. • Criterio de salida de variables de la base: MIN B¡/A¡s i = 1,2,...,m; Ais > 0; s: subíndice de la posible variable a salir de la base. En nuestro ejemplo (página 106) , las variables opcionadas a salir de la base son: (800/18, 600/9, 80/1) = (44.4, 66.1, 80), escogemos la variable X 3 que es aquella que menos se aleja de cero por la derecha y es 44.4. Cuando hay empates entre variables a salir de la base, se recomienda escoger las variables diferentes a las de decisión, o sea, artificiales, de exceso o de holgura; cuando el empate se da entre variables de igual clase, se rompe al azar. En los casos de empate de la variable de salida de la base, la(s) variable(s) que queda(n) en la base en el tablero siguiente, forman una solución que se denomina degenerada, porque dicha variable toma el valor de cero en la base; si tal variable se toma para salir de la base, antes que su valor cambie, la variable básica entrante correspondiente también deberá permanecer en cero y el valor de Z no cambiará.
Problema de Minimización Para resolver un problema de minimización, se puede aplicar cualquiera de los dos (2) procedimientos siguientes:
Procedimiento 1: Escribir el negativo de la función objetivo y resolver el problema como uno de maximización, es decir, para cualquier función f(x) todo punto que minimice a f(x) maximizará también a - f(x). Procedimiento 2: Conserve la minimización; cuando se presentan variables artificiales estas deberán aparecer en la función objetivo con el coeficiente +M. Se escoge como variable de entrada a la base aquella que más se aleja de cero por la derecha y la variable de salida es igual que en caso de maximización, la que menos se aleja de cero por la derecha. • Criterio de entrada de variables a la base: MIN Cj, Cj > 0 en la función objetivo. Para nuestro caso (página 126), las candidatas en el tablero 1 a entrar a la base son ( - 1,-1, 4), tomamos la variable que más se aleja de cero por la derecha, es decir, 4 que corresponde a la variable X3. Cuando hay empate entre variables a entrar a la base, se prefieren las variables reales (decisión); cuando el empate es entre variables de la misma naturaleza se rompe arbitrariamente.
116
• Criterio de salida de variables de la base: MIN Bj/Ais i = 1,2,...,m; Ais > 0; s: subíndice de la posible variable a salir de la base. En nuestro ejemplo (página 126), las variables opcionadas a salir de la base son: (9/2,2/- 1,4/1) = (4.5,/-2,4), escogemos la variable X 3 que es aquella que menos se aleja de cero por la derecha y es 4. Cuando hay empates entre variables a salir de la base, se recomienda escoger las variables diferentes a las de decisión, o sea, artificiales, de exceso o de holgura; cuando el empate se da entre variables de igual clase, se rompe al azar. El valor que queda interceptado entre la columna de entrada y fila de salida se llama pivote. La rutina de cálculo para pasar de un tablero a otro es la siguiente: La variable de entrada a la base (columna) se recalcula como uno en el elemento pivote y en las demás posiciones cero. La variable de salida de la base (fila) para el tablero siguiente divide cada una de sus celdas entre el pivote. Los demás elementos se recalculan mediante la aplicación de la siguiente fórmula:
Donde: DN DA Pi y EP
: Dato nuevo. : Dato antiguo. : Proyecciones. : Elemento pivote.
Para nuestro ejemplo, al pasar del tablero 1 al tablero 2: Celda (X 5 ,b)
DN = 80 - (800*1)/18;
DN = 320/9
Se ha llegado a la solución óptima de un problema de Programación Lineal cuando todos los elementos del renglón de evaluación neta (Cj - Zj) son cero o negativos para el problema de maximización y cero o positivos para el problema de minimización.
Clases d e solución Los principales tipos de solución: • Óptima Unica: Se da cuando sólo existe un punto extremo del conjunto de soluciones factibles que hace posible encontrar el valor óptimo de Z, es decir, si solamente los costos relativos C; - Z; de los vectores básicos son cero.
117
• Óptima Múltiple (Alterna): Se presenta cuando si habiéndose satisfecho los criterios de optimalidad, los costos relativos Cj - Z de algún vector no básico aparece a nivel cero. • No Acotada o Ilimitada o Indeterminada: En cualquier iteración del procedimiento simplex, si el vector que debe salir de la base se llama a s y todas las correspondientes a¡s < 0 para i = 1,2,...,m esta solución se llama ilimitada. • Infactible o No Factible o Sin Solución: Se presenta cuando en el tablero óptimo queda una variable artificial en la base. • Degenerada (Degradada): Se da cuando en un tablero del Simplex una variable básica toma el cero en lugar de un valor positivo; este caso se presenta normalmente cuando se escoge arbitrariamente una variable para salir de la base cuando hay empate entre algunas variables. • Ecuaciones Redundantes: Se presenta cuando en un problema al graficarlo es posible hacerlo sólo con una parte de las ecuaciones, es decir, que el resto de ecuaciones sobran. Es de advertir que cuando el empate entre las variables es cero, se conduce al caso llamado ciclaje, el cual consiste en que después de varias iteraciones a partir de una solución, se regresa nuevamente a la misma solución. Soluciones Analíticas 1) La Hilandería "Cordillera" produce dos tipos de tela, cada una varía en el proceso de fabricación. La tela de lujo requiere de 18 horas de tintura, 9 horas de estampado y produce una utilidad de $400 el metro; la tela estándar necesita 3 horas de tintura, 4 horas de estampado y produce una utilidad de $200 el metro; se dispone de 800 horas para tintura y 600 horas para estampado cada mes. Se ha pronosticado que la demanda mensual para la tela de lujo no es más de 80 metros y de la tela estándar no es más de 150 metros. La gerencia desea saber el número de metros de tela de cada clase que debe producir la empresa para maximizar la utilidad total. Formule, resuelva e interprete las variables de este problema como un modelo de Programación Lineal.
Definición de variables: Xj : Cantidad de metros de tela de lujo a producir mensualmente. X2 : Número de metros de tela estándar a fabricar por mes. Z : Utilidad total. Modelo (Primal): MAX Z = 400 X, + 200 X 2
118
Sujeta a:
A. Estandarizar el modelo: Consiste en colocar las inecuaciones en forma de ecuaciones, utilizando para este caso variables de holgura (relleno): Estandarización:
Las variables X] y X 2 aparte del nombre original (variables de decisión) se denominan variables no básicas y las variables S b S 2 , S 3 y S 4 que originalmente se llaman variables de holgura en la estandarización se denominan variables básicas. Este nombre lo reciben por el sitio en el que se encuentran ubicadas. B. Establecer el canónico del sistema: Buscar que en el sistema en cada ecuación una variable tenga coeficiente +1 y en las demás ecuaciones 0 (tratar de formar la matriz identidad); si todas las inecuaciones son de la forma inmediatamente nos queda conformado el canónico. C. Las variables que forman el canónico pasan a ser las variables dependientes del sistema (variables básicas); las otras son las variables independientes del sistema (variables no básicas). El modelo se desarrolla a través de entrada de variables a la base y salida de variables de la base, es decir, intercambio de variables, una en cada iteración. A continuación solucionaremos este problema por medio del algoritmo simplex:
119
TABLERO4DUALSIMPLEX
Entra a la base Xj, sale de la base Sj VB 51 = 800 5 2 = 600 S 3 = 80 S 4 = 150
VNB Xj = 0 X2 = 0
Z= 0
TABLERO 2 CB 400 0 0 0
VB X, S2 S3 s4 z
b 400/9 200 320/9 150 160000/9
X
0 0 0 0 0
SIMPLEX
X 1/6 5/2 -1/6 1 -400/3 t
s,
1/18 -m
-1/18 0 200/9
Entra a la base X2, sale de la base S2
X! 52 53 54
VB = 400/9 = 200 = 320/9 = 150
VNB S, = 0 X2 = 0
Z = 160000/9
TABLERO 3
Entra a la base Sj, sale de la base S 4
120
SIMPLEX
S2 0 1 0 0 0
S3
0 0 1 0 0
S4 0 0 0 1 0
CB 400 200 0 0
VB X, x2 S3 S, z
b 0 150 80 350 30000
X, 1 0 0 0 0
X, 0 1 0 0 0
S, 0 0 0 1 0
s, 1/9 0 -1/9 -2 400/9
s3 0 0 1 0 0
s4 -4/9 1 4/9 5 200/9
Solución Óptima Única:
Con sus restricciones:
Resolver el anterior problema como un modelo de Programación Lineal Solución Analítica Forma Estándar
121
TABLERO4DUALSIMPLEX
TABLERO 2
SIMPLEX
No hay quién entre a la base (Forzamos a la variable X 2 a entrar a la base)
Solución Óptima Múltiple (Alterna): Solución Óptima 1:
X 2 = 0 indica Solución Óptima Múltiple (Alterna)
TART F R O 3
SIMPLEX
No hay quién entre a la base (Si quisiéramos observar que ocurre podríamos forzar a entrar a la base a S 2 y a salir de la base la variable X 2 (Tablero 2)) 122
Solución Óptima 2:
3) MAX Z = 12 X, + 12 X 2 Sujeta a:
Solucionar el anterior problema como un modelo de Programación Lineal Solución Analítica Estandarización
TABLERO 1
SIMPLEX
Entra a la base X2, sale de la base Si
123
TABLERO4DUALSIMPLEX
Entra a la base X b sale de la base S 2
TABLERO 3
SIMPLEX
Entrada a la base Si, no hay variable de salida, lo cual conduce a una Solución Optima No Acotada o Ilimitada o Indeterminada para el problema de maximización. Para un modelo de minimización la solución óptima se encuentra en uno de los vértices del polígono (poliedro).
Con sus restricciones:
Resolver el anterior problema como un modelo de Programación Lineal Solución analítica: Forma estandar se agrega una nueva función objetivo Min W = Y¡ o lo que es igual Max - W = - Y) con lo cual, restada de la ecuación (2) nos permite conformar el Tablero Simplex.
124
TABLERO 1
SIMPLEX
Entra a la base X2, sale de la base S ¡
TABLERO 2 SIMPLEX
No hay variable candidata de entrada Y, permanece en base. Por lo tanto, no hay Solución Factible o Solución Infactible o No Tiene Solución.
Con sus restricciones:
125
r
Solución Analítica Estandarización: 1.
X! + X 2 + 2 X 3 + S ,
=
9
2.
X! + X 2
-X3
=
2
3.
- X , + X2
+X 3
+ S3 =
4
+ S2
0. W - X t - X 2 + 4 X 3
= 0
Solución analítica:
TABLERO 1 SIMPLEX
CB 0 0 0
VB
s, S2 S, w
Q b 9 2 4 0
1 X, 1 1 - ] -1
1 X 1 1 1 -1
0 S, 1 0 0 0
-4 x3 .2 -1 1
4
0
0
S2
S3
0 1 0 0
0 0 1 0
Entra a la base X3, sale de la base S3 VB
VNB
S,= 9 S2= 2
X, = 0
S3=
4
x2 = 0 x3 = o TABLERO 2 SIMPLEX
CB 0 0 - 4
VB S, S2 X3 w
b 1 6 4 - 16
X, 3 0 - 1 3
Entra a la base Xj, sale de la base S!
126
VB
VNB
S, = 1 S2 = 6 X3 = 4
x, = o X2 = 0 X3 = 0
W = - 16
x2 - 1 2 1 -5
x3 0 0 1 0
Si 1 0 0 0
S2 0 1 0 0
S3 -2 1 1 -4
TABLERO 3 SIMPLEX
Solución Óptima Única:
5) MIN W = 8 X, + 5 X 2 + M A, + M A 2 Sujeta a:
Solución analítica: Estandarización
I:
Estandarización
III:
TABLERO 1 SIMPLEX
CB M M
VB A, A2 w
C, b 100 20 120 M
8
5 X2 4 ^ 2 0 1 4 M- 8 3 M-5
0 SI -1 0 -M
Entra a la base X) y sale de la base A]
TABLERO 2
SIMPLEX
Entra a la base X 2 y sale de la base A 2
TABLERO 3 SIMPLEX
128
0 S2 0 -1 - M
M A, 1 0 0
M A2 0 1 0
Solución Óptima Única:
OTROS PROBLEMAS EMPLEANDO SIMPLEX
Sujeta a
Forma estándar I:
Estandarización
II:
Notas: 1. La variable + S, se llama de holgura (relleno), la variable - S 2 se denomina de superávit (exceso) y la variable + Aj se llama artificial. 2. En la estandarización II al aparecer la variable artificial con el objeto de resolver el problema se debe reflejar en la función objetivo multiplicada por M (constante de valor alto), sumada o restada a la función objetivo según el problema sea de minimización o de maximización, lo cual se hace para que el problema se pueda optimizar. El anterior método se denomina de la Gran M. 129
Forma estándar III:
La ecuación 0' se obtuvo de la siguiente manera: 0 - 2*M.
TABLERO 1 SIMPLEX 3 X, 2 1 -M -3
Ci CB 0 - M
VB Si A, Z
b 6 2 -2 M
0 s. 1 0 0
-2 x2 3 - 1 M+ 2
0
-M
S2 0 -1 M
A, 0 1 0
Entra a la base la variable X! y sale de la base la variable Aj. La columna correspondiente a la variable artificial se puede borrar sin ningún problema. VB
VNB
S, = 6
X, = 0
Ai = 2
X2 = 0
W=- 2M
S2 = 0 TABLERO 2 CB 0 3
VB s, X, z
b 2 2 6
X, 0 1 0
SIMPLEX x2 5 - 1 - 1
Pasa a ser variable básica S 2 y se convierte en variable no básica S¡. t VB S,= X,=
130
VNB 2
X2 = 0 2
S2 = 0
W=6
S, 1 0 0
S2 2 -1 -3
TABLERO4'DUALSIMPLEX
Solución Óptima Urtica:
Con sus restricciones:
Forma estándar I:
Forma estándar II:
Forma estándar III:
131
TABLERO4'DUALSIMPLEX
CB -M -M
VB
A, A2 Z
Ci b 10 12 -22 M
1 X, 1 1 -2 M- 1
1 X2 2 - 2 - 1
2 x3 1 1 - 2M —2
0 s, 0 -1 M
-M
-M
A,
A2
1 0 0
0 1 0
Entra a la base la variable X 3 y sale de la base A]
VB
VNB
A, = 10 A2 = 12
X, = 0 X2 = 0
W = - 22 M
X3 = 0 S, = 0
TABLERO 2
SIMPLEX
Solución Infactible o Solución No Factible o No Tiene Solución, ya que hay una variable artificial en la base.
A l g o r i t m o Khachiyan
Siguiendo cronológicamente, en 1979 el ruso L. G. Khachiyan presentó un algoritmo para resolver problemas de Programación Lineal denominado algoritmo del elipsoide de Shor. El algoritmo polinómicotemporal para determinar una solución (en caso de existir), el cual consiste en ir reduciendo la región de factibilidad encerrándola en elipsoides de volúmenes decrecientes; dicho algoritmo analiza el conjunto abierto de desigualdades S = { x: Gx < g }, en donde G es una matriz de r*q, r y q > 2 , G y g tienen todas sus componentes enteras, donde 1 es un vector renglón de r unos y
132
El algoritmo define una esfera en E p con centro en el origen y radio suficientemente grande para abarcar un volumen grande de S cuando S no es vacío; si el centro de esta esfera está en S el algoritmo termina. En caso contrario se construyen una serie de elipsoides que decrecen monótonamente en volumen, aunque todos contienen la región de S que fue capturada por la esfera inicial. El resultado principal establece que si S es no vacío, entonces el centro de algún elipsoide estará en S en el transcurso de algún número de iteraciones acotado por encima por un polinomio en el tamaño del problema. El algoritmo del elipsoide es un algoritmo simple, de complejidad de tipo polinómico, usando también el criterio del peor caso, sólo que se comprobó, usando simulación, que el tiempo estimado de terminación del método del elipsoide era no sólo obtenido en el peor de los casos, sino en casi todos los casos. Telgen, en su estudio, en lugar de analizar el número de iteraciones por problema hace un análisis del número de operaciones por iteración y obtiene: Simplex:
(3 + d) m2 + dmn
Khachian:
(3 + d) n2 + dmn
Donde d: densidad de la matriz de coeficientes tecnológicos; m: número de ecuaciones y n: número de variables. De los trabajos de Telgen se puede concluir que el algoritmo de L.G. Khachiyan es atractivo solamente en problemas en los que el número de restricciones es mayor que el número de desigualdades, pero en ese caso puede ser más indicado la utilización del algoritmo simplex dual.
Algoritmo d e K a r m a r k a r El Hindú Narendra Karmarkar en 1984 de AT&T Bell Laboratories presentó un algoritmo de tipo polinómico, el cual lleva su nombre. Dicho método converge a una solución óptima al moverse a través de la región factible (pero que no realiza análisis post-óptimo). El algoritmo de Karmarkar ha resultado ser hasta cien veces más rápido que el método Simplex, especialmente en problemas con miles de variables y/o restricciones. El tiempo exponencial de convergencia se debe a Klee, Minty y Chvátal en problemas del tipo:
Sujeta a:
133
Estos problemas tienen 2n puntos extremos y es un algoritmo basado en ideas de Programación No Lineal y Geometría Proyectiva.
Método del Escalado Proyectivo de Karmarkar La forma básica del problema de Programación Lineal en la que Karmarkar basa su método es la siguiente:
Sujeta a:
Donde e = [1, 1, 1, ...,1]T. También se supone que Ae = 0, por lo que el punto e/n es factible y que el óptimo de (1) es cero. Las condiciones de optimalidad del problema (1) implican que:
donde es el vector de multiplicadores de Lagrange de las condiciones de no negatividad de (1); las condiciones de complementariedad de holguras en el óptimo, x+, también implican que :
Tomando el producto interior del vector c y x+ y usando las relaciones de las dos expresiones anteriores se obtiene que z e T x + = 0; como las condiciones del problema hacen e T x+ = 1, lo cual quiere decir que z = 0. El problema dual de (1) es:
Ejemplo: Resolver el siguiente problema de Programación Lineal aplicando el algoritmo de Karmarkar:
Con sus restricciones:
134
Solución gráfica:
Iteración 1 Partimos de un punto factible xO; la matriz X, = diag (1/3,1/3,1/3); como
, la
transformación proyectiva es . El problema en el espacio x coincide con el de la figura adjunta; el punto se transformará en él mismo.
La dirección d nos lleva desde
(1/3,1/3,1/3) t hacia la solución óptima (2/3,0,1/3)T. El nuevo punto en el espacio es: x = e/ n + ord/(n d )
0,4119 0,2548 ; W = 0,2548 0,3333
3 3 V2
Iteración 2 La matriz X 2 = diag( 0,4119 0,2548 0,3333) 0 0,2548 0
d = - (I -
B
0,4119 0,2548 -0,6666 1 1 1
Á= [0,4119 0,2548 -0,6666]; B
T
(B
t
B )
0,1243 d = -0,1455
B) c ;
= 0,1925;
0,0212
x
(2)
=
0,4828 0,1838 0,3333
0,4051 x — 0,2494 0,3456
; W = 0,1838
Iteración 3 y sucesivas Los nuevos puntos obtenidos son: "0,5397" X = 0,1270 0,3333 3
4
x =
"0,5815 0,0852 0,3333
;
Solución Óptima Única: X* = 2/3; X^=0; x ; = l/3;W* = 0.
136
10
x
"0,6604" = 0,0063 ; 0,3333
"0,4051" X = 0,2494 0,3456 20
V a r i a n t e s y Extensiones del M é t o d o d e K a r m a r k a r Algunos autores han desarrollado extensiones al método de Karmarkar a fin de poder tratar el problema de Programación Lineal en forma estandar. Las ideas propuestas se basan en que si se tiene una solución estrictamente factible x del problema MIN W = c T x Sujeta a: Ax=0
(3) donde g ^ 0 un múltiplo escalar de x será factible en el problema MIN W = ( c - z g ) T x Con sus restricciones: A x = 0 eT x = 1
Si, además, z es el valor óptimo de la función objetivo del problema (3), un múltiplo escalar de ese óptimo lo será de (4). Las ideas del método de Karmarkar se pueden aplicar al problema (4) cuando se reduce convenientemente una función potencial para un z dado; en cada iteración z es un límite inferior del valor óptimo de la función objetivo de (3) correspondiente a una solución dual factible; estos límites se adaptan de vez en cuando.
El Método del Escalado Afín Una de las dificultades que presenta el algoritmo de Karmarkar se encuentra en la transformación proyectiva; una manera de evitarlo es emplear transformaciones afines en lugar de proyectivas, dando lugar así a algoritmos del escalado afín, incluso algunos de ellos enunciados antes de la aparición del trabajo de Karmarkar. El problema que suscitan estos escalados es que no se ha podido probar que su tiempo de resolución sea polinómico.
137
RESUMEN
VALOR DE LA FUNCIÓN OBJETIVO TIPO DE RESTRICCIÓN
MAXIMIZAC1ÓN
Variable de holgura toma un 1. — Necesita sumarse una variable coeficiente cero (0) en la función de holgura (relleno). objetivo.
MINIMIZACIÓN Variable de holgura toma un coeficiente cero (0) en la función objetivo.
2. 5 Requiere restar una variable de exceso (superávit) y sumar una variable artificial positiva.
Coeficiente cero (0) para la variable Coeficiente cero (0) para la variable de exceso y + M para la variable de exceso y - M para la variable artificial. artificial.
3. = Necesita variable artificial positiva.
Coeficiente + M en la función objetivo para la variable artificial.
Coeficiente - M en la función objetivo para la variable artificial.
SOLUCIÓN DE UN PROBLEMA DE PROGRAMACIÓN LINEAL EN FORMA MATRICIAL Existen varias maneras de resolver un problema de Programación Lineal en forma matricial. Inicialmente aplicaremos el Método de Gauss-Jordan y luego emplearemos el método de la matriz inversa. Método de Gauss-Jordan Para resolver un sistema de m ecuaciones con n incógnitas se procede de la siguiente manera: • Se forma la matriz ampliada del sistema B = (A|b), donde A es la matriz de los coeficientes y b indica la matriz de los términos libres. • Al aplicar operaciones elementales entre filas (columnas) la matriz B se lleva a una matriz equivalente C, donde C es una matriz escalonada reducida. • Como la matriz B es equivalente a la matriz C, entonces el sistema de ecuaciones que representa la matriz B es equivalente al sistema de ecuaciones que representa la matriz C y en esta matriz es fácil encontrar las soluciones. Nota 1: Las operaciones elementales entre filas (columnas) corresponden a: - Intercambiar dos filas (columnas). - Multiplicar una fila (columna) por un número diferente de cero (0). - Añadir a una fila (columna), c veces una fila (columna) diferente.
138
Nota 2: Una matriz escalonada reducida es aquella donde el número de ceros que precede al primer elemento diferente de cero de una fila, aumenta fila a fila, hasta tener posiblemente filas de sólo ceros. Además, el primer elemento no nulo de cada fila no nula es uno (1) y éste es el único elemento diferente de cero (0) que se encuentra en la respectiva columna. Ejemplo: MAX Z = 2 X, + 3 X 2 + X 3 + 4 X4 Sujeta a:
Solución matricial: Luego del trabajo matricial se llega a:
Solución Óptima Única:
M é t o d o d e la M a t r i z Inversa Uno de los métodos más empleados para encontrar la inversa de una matriz es el siguiente: • Formar una matriz compuesta así: A la izquierda de la línea | van los elementos de la matriz conocida y a la derecha, la matriz idéntica. • Se efectúan operaciones elementales entre filas (columnas), hasta que la matriz idéntica quede a la izquierda. • La matriz que queda a la derecha de la línea es la matriz buscada. Ejemplo:
139
MAX Z = 3 X, + 2 X 2 + 4 X 3 Sujeta a:
A X = b En notación matricial, la solución es:
Solución matricial:
140
Luego del trabajo matricial se llega a:
Solución Óptima Única:
Método Simplex Revisado (Forma Matricial)
El método del simplex expuesto, que se denomina básico, se desarrolla a través de cada iteración transformando completamente una sucesión de tableros al ir cambiando de base. Teniendo en cuenta que muchos de estos cálculos no hacen falta para la determinación de cada nueva base y basados en el algoritmo del simplex revisado, el cual es realmente un esquema de ordenación de los cálculos que se llevan a cabo con el método del simplex básico, prescindiendo y evitando aquellos que sean innecesarios en relación con la solución final del problema. El inconveniente de este método es que por la forma en que se lleva a cabo induce más fácilmente a errores en los cálculos a mano que el simplex básico, aspecto que evidentemente no ocurre si está implementado en computador. En el método del simplex revisado partimos, como en el básico, del problema lineal en forma estándar: 141
M A X
Z = cT x
Sujeta a:
Dada la base factible B, hay que evaluar si alguna variable no básica Xj puede entrar a la base para mejorar la función objetivo; para ello utilizamos el costo reducido:
El vector c B está formado por los coeficientes de la función objetivo de las variables y B a¡ representa el vector a¡ en términos de la actual base. El método del simplex revisado no cambia los vectores y¡ en cada tabla como el básico, sino que utiliza siempre el vector a¡ inicial con los multiplicadores del simplex:
que si cambian con la base. Es claro que se alcanza una solución óptima cuando:
La selección de la variable de salida se hace con el mismo criterio que en el simplex básico: si Xk es la variable seleccionada para entrar a la base, la columna pivote es B 1 a^ y los valores actuales de las variables básicas B 1 b. Se aplica la regla de la mínima razón a estos elementos, quedando así determinada la variable X r que sale de la base. Finalmente, la nueva matriz básica B se obtiene sustituyendo la columna ar por la ak en la anterior matriz B. Ejemplo:
Con sus restricciones:
Resolver el anterior problema de Programación Lineal aplicando el Método Simplex Revisado. Solución analítica: Agregamos variables de holgura X 4 y X 5 a cada restricción con coeficientes cero (0) en la función objetivo para tener el problema en la forma estándar; la base inicial B y el vector c B son:
142
El valor que más se aleja de cero (0) por la izquierda es Z3 - C3: X 3 es la variable que entra a la base; la razón mínima es 8/2, luego S 2 es la variable que sale de la base. Las variables básicas son ahora (S 1; X 3 ) con matriz básica (sustituyendo a 5 por a3):
C B = (0 3);
S = (0, 3/2) y los indicadores de las variables no básicas son:
Z, - C, = 3/2 - 2 = - 1/2; Z 2 - C 2 = 9/2 - 1 = 7/2; Z 3 - C 3 = 3/2 - 0 = 3/2 y X, es la variable que entra a la base; para determinar la variable de salida calculamos: B 1 b = (3,4) y B 1 aj = (5/2,1/2); la razón mínima es 6/5, luego X 4 es la variable que sale de la base. Las variables básicas son ahora (Xj, X 3 ) y la nueva matriz básica (reemplazando en la anterior a 4 por a 0 es:
c B = (2 3);
s = (1/5, 7/5) y los indicadores de las variables no básicas son:
Z 2 - C 2 = 2 3 / 5 - 1 = 18/5; Z 4 - C 4 = 1/5 - 0 = 1/5; Z5 - C 5 = 7/5 - 0 = 7/5 y al ser todos positivos se ha alcanzado la optimalidad. La solución óptima es: XB = ( X 1 , X 3 ) = B - , b = ( L 2 , 3 . 4 )
Solución Óptima Única:
143
M é t o d o d e l a i d o s fases
Este método elimina el uso de la M y resuelve el problema en dos fases. En la fase I se utiliza el algoritmo simplex para suministrar a la fase II una forma factible de partida. Es decir, el producto final de la Fase I es una solución básica factible (en caso de que exista), en forma típica, para iniciar la Fase II del método. Los pasos de cada fase son los siguientes: Fase I 1. Utilice el algoritmo simplex para obtener la minimización de la suma de las variables artificiales, sujeta a las mismas restricciones del problema original, independientemente de si este problema original es de maximización o minimización. 2. Si la suma de las variables artificiales, x0, es mayor que cero, entonces no existe una solución básica factible y se termina el proceso. Si x0= 0, entonces inicie la Fase II del algoritmo. Fase II 1. Utilice la solución óptima obtenida en la Fase I como solución de partida al problema 1. original, remplazando la función objetivo original Z por la de xo- Como es usual, la función objetivo original debe ser expresada en función de las variables no básicas. Si al final de la Fase I las variables artificiales son no básicas, se eliminan de la Fase II. Si alguna variable artificial es básica, pero a un nivel cero, esta variable se mantiene en el conjunto de variables básicas, pero debe garantizarse que su valor nunca será mayor que cero durante la ejecución de la Fase II. Ejemplo:
Sujeta a:
Resolver el anterior problema de Programación Lineal por el Método de las Dos Fases.
Solución analítica:
Paso 1: Se introducen las variables artificiales A] yA 2 , las variables de exceso Si y S2.
144
Con sus restricciones:
Fase I Puesto que A) y A 2 son variables básicas, sus coeficientes en la fila Xo deben ser cero (0); para ello sumamos las filas (1) y (1) a la fila (0). El tablero inicial para la aplicación del algoritmo simplex es:
TABLERO 1
SIMPLEX
Entra a la base X 2 y sale de la base A2 VB A] = 20 A2 = 30
VNB X, = 0 X2 = 0 S, = 0 S2 = 0
X 0 = 50
TABLERO 2
SIMPLEX
Entra a la base Xj y sale de la base A! VB
VNB
A! = 2
Xi = 0
X2 = 6
A2 = 0 S, = 0 S2=0
X0 = 2
145
TABLERO4'DUALSIMPLEX
Al aplicar el método simplex a nuestro problema en la tercera etapa de la fase I se ha encontrado que mín X 0 = 0 y no existen variables artificiales en la base. Por lo tanto, se ha encontrado una solución básica posible al problema original. Fase II Empleamos la función objetivo original W en lugar de Xo y eliminamos las variables artificiales A] y A2, puesto que ya no son variables básicas, es decir, son variables no básicas. Como la función objetivo debe estar expresada en términos de las variables no básicas, entonces se deben realizar transformaciones para reducir a cero el coeficiente de X| y X 2 en la función objetivo.
TABLERO 4
SIMPLEX
Entra a la base S2 y sale de la base Xi VB
VNB
X, = 10/7
S[ = 0
X] = 40/7
S2 = 0
X 0 = 190/7
TABLERO 5
Solución Óptima Única:
146
SIMPLEX
Otros t e m a s en P r o g r a m a c i ó n Lineal
Degeneración en Programación Lineal
En el desarrollo del método Simplex, cuando existe una solución básica factible (no óptima), con el conjunto de restricciones y sin degeneración, es posible ir combinando sucesivamente un vector de la base para obtener una solución óptima. La degeneración se genera cuando una variable básica es cero y se da cuando hay empate al determinar la variable que sale; si posteriormente se llega a un tablero que ya se tenía, se utiliza el Método Lexicográfico, que consiste en acordar sacar otra variable diferente a la que salió para destruir el loop (ciclo). En términos geométricos, la degeneración ocurre cuando un vértice está definido por demasiadas restricciones. En los problemas en que se presenta degeneración, la función objetivo es posible que no cambie cuando se pasa de una solución factible básica a otra, lo que nos indica que podemos estar en una situación de ciclaje, repitiendo indefinidamente la misma secuencia de bases. Existe otro método para evitar el ciclaje, conocido como la Regla de Robert Bland, la cual es muy elemental; para entrar a la base se toma la de menor índice y para salir de la base, del empate se elige también la de menor índice. En las aplicaciones de la Programación Lineal el problema de ciclaje raras veces se presenta, a pesar que la degeneración es un fenómeno bastante frecuente. En general, se conocen dos métodos para resolver el problema de la degeneración: Método de Perturbación de Chames y el Método Simplex Generalizado.
Método de Perturbación de Chames Para el problema general de Programación Lineal, se desea perturbar el problema de tal manera que nos aseguremos que para cualquier posible base admisible la solución correspondiente será no degenerada. Por lo tanto, este Método de Perturbación de Chames es un procedimiento para justificar la suposición de no degeneración del Método Simplex. Ejemplo:
MIN W = - 3/4 X] +150 X2 - 1/50 X 3 + 6 X4
Con sus restricciones:
147
TABLERO4'DUALSIMPLEX
Entra a la base X 1; sale de la base S! VB
Sj = 0 52 = 0 53 = 1
VNB
x, = o X2 = 0 x3 = o
w= o
X4 = 0
TABLERO 2
SIMPLEX
Entra a la base X 2 , sale de la base S2 VB X, = 0
52 = 0 53 = 1
VNB X2 = 0
x3 = o x4 = o
w= o
S! = 0 TABLERO 3
Entra a la base X 3 , sale de la base X 2
148
SIMPLEX
VB
VNS
X, = 0
X3 = O
X2 = 0
X4=0
S3=l
s, = o
w =o
s2 = o TABLERO 4
SIMPLEX
Entra a la base X 4 , sale de la base S 3 VB
VNB
X, = 0
X2 = O
X3 = 0
X, = o s, = o s2 = o
S3 = 1
w= o
TABLERO 5
SIMPLEX
Entra a la base Si, sale de la base X 4
VB
VNB
X, = 2/125
X2 = 0
X3=
1
S, = 0
X 4 = 1/250
S2 = O
W =-1/125
S3 = 0
149
TABLERO4'DUALSIMPLEX
Solución Óptima Única
Si hubiéramos trabajado con el simplex tradicional, al pasar del tercer tablero al cuarto, la variable escogida para salir de la base es Xj en lugar de X2. Existen otras técnicas que permiten reformular un problema lineal particular como un conjunto de problemas lineales más pequeños. Tales modelos son el de Descomposición de Dantzig-Wolfe y el de Benders. Es de añadir que el procedimiento de Dantzig-Wolfe es equivalente para problemas de Programación Lineal a otras dos técnicas de partición/descomposición/relajación: Descomposición de Benders y el Método de Relajación Lagrangiano. Así mismo hay otros métodos denominados de Cota Superior y de Cota Inferior.
Descomposición de Dantzig-Wolfe Esta técnica permite resolver grandes problemas de Programación Lineal, mediante la reducción de un problema por medio de submatrices. Es un mejoramiento del Simplex Revisado; a medida que la matriz de coeficientes tecnológicos aumenta, por tener más actividades y más restricciones, ésta se va haciendo menos densa, donde la densidad es la relación de números diferentes de cero en la matriz entre el número total de sus componentes. El Método de Descomposición de Dantzig-Wolfe converge a una solución óptima de P (primal) en un número finito de iteraciones. Ejemplo: MAX Z = 4 X, + 3 X 2 Sujeta a:
150
\
Solución:
Seleccionamos entre las columnas uno y dos, aquella que más se aleja de cero por la izquierda ( - 4); los cocientes son:
el elemento más cercano a cero por la derecha (4000). A continuación expresamos el problema en submatrices:
151
A continuación seleccionamos la segunda columna y la tercera fila; efectuamos la permutación para colocarlos en la primera columna y en la primera fila:
Luego la selección se hará sobre la tercera columna y la segunda fila:
Hemos alcanzado el óptimo:
Solución Óptima Única:
153
Descomposición de Benders Recibe también el nombre de descomposición primal, porque el problema maestro fija variables del primal, descomposición en L porque se aplica a problemas con matriz de restricciones con dicha forma, descomposición por recursos porque el maestro asigna directamente las decisiones sobre los recursos al subproblema; descompone el problema lineal bietapa en un problema maestro y un subproblema. El maestro representa la primera etapa más las condiciones necesarias, denominadas cortes, derivadas de la segunda etapa; el subproblema representa la segunda etapa para decisiones conocidas de la primera etapa. El algoritmo es iterativo y alterna entre la solución del maestro y la del subproblema. Existe otro modelo de Benders llamado anidado, el cual consiste en la aplicación recursiva de Benders a los subproblemas que aparecen en el modelo de descomposición de Benders. El problema lineal bietapa se representa matemáticamente de la siguiente forma, considerando el vector X¡ las variables de la primera etapa y X 2 las variables de la segunda etapa:
Sujeta a:
Donde Las dimensiones de los demás vectores y matrices se derivan de éstas; por ser Optimización Determinística se suponen conocidas las matrices y vectores. El tamaño del problema completo es (mj + m2) * (nj + n2); la estructura de la matriz de restricciones del problema (matriz triangular inferior por bloques) es:
A,
B,
A2
El Método de Descomposición de Benders converge a una solución óptima de D (dual) en un número finito de iteraciones. Ejemplo:
154
Sujeta a:
Solución:
Iteración 1
; optimizando por ejemplo la función ui sobre:
Iteración 2
Sujeta a:
155
Con sus restricciones:
Equivalentemente:
Sujeta a:
Iteración 3
Sujeta a:
156
Con sus restricciones:
Equivalentemente: MAX Z = X 2 + X 3 Sujeta a:
Iteración 4:
D 3m : MAX Z = 4X,+
Sujeta a:
a
Con sus restricciones:
Equivalentemente: MAX Z = X 2 + X 3
Sujeta a:
Iteración 5 Una solución óptima del problema inicialmente propuesto es:
Solución Óptima Única:
158
Relaciones entre la descomposición de Dantzig-Wolfe y la descomposición de Benders
Sea P un problema Primal de Programación Lineal en forma estándar y D su problema Dual. Entonces aplicar la descomposición de Dantzig-Wolfe sobre P o la descomposición de Benders sobre D llevan, en cada iteración, a resolver problemas maestros duales y subproblemas idénticos. Por tanto, en Programación Lineal ambas técnicas se relacionan entre sí, como lo hacen el simplex primal y el simplex dual, esto es, son técnicas duales la una respecto a la otra. Además, la primera es una partición por filas y generación de columnas, porque la coordinación en la descomposición es mediante ajustes sobre el vector de costos del problema sobre el que se aplica P, mientras que la segunda es una partición por columnas y generación de filas, porque la coordinación en la descomposición es mediante ajustes sobre el vector de recursos del problema sobre el que se aplica D. Una importante consecuencia de este análisis conjunto es que, combinando oportunamente ambas metodologías, es posible resolver grandes problemas lineales. Además, esta misma idea que subyace bajo ambas técnicas puede ser utilizada para resolver problemas de Programación Lineal Entera.
El sistema d e Leontief y la P r o g r a m a c i ó n Lineal
La teoría de input-output se debe en gran parte a Wassily W. Leontief, de la Universidad de Harvard, ganador del Premio Nobel de Economía en 1973. Si se reescribiera el sistema de Leontief como problema de Programación Lineal apropiado, obtenemos realmente el resultado que W' B' x = p'c. Sin embargo, para construir un problema de Programación Lineal debemos especificar una función objetiva apropiada. Considere el caso, entonces, cuando permitimos una desigualdad en las restricciones de cantidad de modo que poder permitir que las materias primas sean producidas en el exceso de las demandas de la entrada y demanda final. Así, en la gráfica anexa, la desigualdad de las ecuaciones de la cantidad implica que una necesidad de la solución (x*, x*2) esté a lo largo del punto X en la intersección de L¡ y de L2 . Además, debemos tener en cuenta la posibilidad de la desigualdad terminante que sostiene para cualesquiera de las ecuaciones en nuestro sistema. Así, la desigualdad en la primera ecuación permite hacer combinaciones en el área debajo de L| y la desigualdad en la segunda ecuación implica que todas las áreas sobre L2 son permisibles. El área sombreada en la gráfica siguiente representa las combinaciones de la salida que son factibles dadas las desigualdades. Sin embargo, todavía deseamos obtener (x*, x 2 ) como la solución, así debemos especificar una función objetiva que rinda esto. Consideremos la minimización de los pagos totales del factor, W' B' x. Esta es, por supuesto, simplemente una suma cargada de salidas. Podemos representar esto en la gráfica por el lugar geométrico negativo-inclinado B con la intercepción horizontal (W' B' x) e inclinarse representa las combinaciones de las salidas X] y el mismo
159
factor de X 2 . Así, reduciendo al mínimo W' B' x, entonces cambiamos de puesto a B hacia la izquierda a B*, donde B* interseca el punto X del equilibrio en
B
L
x2
X,*
X,*
X
D E T E R M I N A C I O N DE LA C A N T I D A D
Por consiguiente, con desigualdades, podemos plantear el problema para las cantidades como problema de Programación Lineal de la clase siguiente:
Sujeta a:
Así, intentamos elegir los niveles no negativos de la salida (x) que reducen al mínimo los pagos del factor (W' B' x,) conforme a las restricciones de las salidas (x) para no exceder la demanda para las salidas (A' x + c). Así, dada la tecnología (A, B), el nivel y composición de la demanda final (c) y del salario verdadero histórico dado (w), para poder solucionar para las cantidades, En la Programación Lineal, cada problema principal tiene un problema dual. En este caso, deseamos considerar las ecuaciones del precio-coste, donde el precio no puede exceder el coste de producción. En la gráfica siguiente, en la cual la solución
se encuentra en la intersección de
(punto P).
La primera desigualdad permite que consideremos el área sobre Mj y la segunda desigualdad permite combinaciones en el área debajo de M 2 . Así, cualquier combinación del precio en el área sombreada en la siguiente gráfica llega a ser factible. 160
D E T E R M I N A C I Ó N DE PRECIO
La función objetiva apropiada ahora es maximizar el valor de la demanda fmal, es decir, maximiza p' c. p' c = p, c, + p2 c 2 Así, podemos sobreponer un lugar geométrico negativo-inclinado C en el gráfico anterior que representa las combinaciones de p i y p2 que rinden el mismo valor de la demanda final, p' c para una C j dada y C 2 . El lugar geométrico C tiene intercepción horizontal p' c con Q > 0 y pendiente - C¡ / C 2 < 0. Cambiar de puesto el lugar geométrico de C a la izquierda disminuye el valor de la demanda final, mientras que cambiarlo de puesto a la izquierda aumenta el valor de la demanda final. Así, maximizando p' c, nos trasladamos al lugar geométrico más alto C* y obtener de esta manera la solución del equilibrio
(p¡, P2) en P en la intersección de las curvas de
PROGRAMACIÓN LINEAL DIFUSA O BORROSA Un modelo de Programación Lineal Difusa o Borrosa es un problema del tipo:
Sujeta a:
donde los elementos difusos se consideran dados por: 161
• Para cada costo:
las cuales definen el vector de costos borrosos.
• Para cada fila
las cuales definen el número difuso en la parte derecha.
• Para cada i g M y j e N
las cuales definen los números borrosos en la matriz tecnológica.
• Para cada fila
que nos da para cada X e R", el grado de acoplamiento del número borroso
con respecto a la i-ésima restricción, es decir, la adecuación entre estos números difusos y el correspondiente bf relacionado con la i-ésima restricción.
M é t o d o d e Solución del M o d e l o G e n e r a l d e Programación Lineal Difusa Un método de solución para el modelo general consiste en la sustitución del conjunto restricción de este modelo por un conjunto borroso convexo. Sea g una función ordenadora de números difúsos, verificando que:
162
Sea la función:
con
tal que su soporte esté incluido en
una relación que mide el que
las operaciones usuales entre números borrosos. Los principales modelos para solución de problemas de Programación Lineal Difusa son Aproximación de Tanaka, Aproximación de Zimmermann, Aproximación Paramétrica, Aproximación Multiobjetivo, Aritmética Intervalar, Aproximación Posibilística, Aproximación por Reducción Estratificada a Trozos, Método de Jain, Primer índice de Yager, Segundo índice de Yager, Tercer Indice de Yager, Relación de Adamo, índice Promedio, índice de Chang, Grado de Posibilidad de Dominancia, Grado de Necesidad de Dominancia, entre otros.
EJERCICIOS PROPUESTOS Resolver gráficamente cada uno de los siguientes problemas y decir a qué tipo de solución corresponden.
MAX Z = 6 X! + 7 X 2 Sujeta a:
MAXZ = 4 X , + 2 X 2 Con sus restricciones:
163
MAX Z = 4 X| + 4 X 2 Sujeta a:
MAX Z = 5 X] + 7 X 2 Con sus restricciones:
Resolver los siguientes problemas mediante la aplicación del algoritmo Simplex correspondiente y decir a qué tipo de solución pertenece cada uno:
MAXZ = 5 X , + 6X2 Sujeta a:
MIN W = X 8 Con sus restricciones:
164
7«
MIN W = 2 X, + X 2 Sujeta a: 1. 3 X, +
X2 > 3
2. 4 X, + 3 X 2 > 6 3.
X, + 2 X 2 > 3 X,,X2 > O
8 *
MAX Z = X, + X 2 Con sus restricciones: 1. X, + X2 < 10
xu 9 »
x2 >
o
MAX Z = 4 X) + X 2 Sujeta a: 1.
X , + 2X2
2. 2 X i + Xb
1 0 -
>
30
X2
>
40
X2
>
0
MAX Z = 5 X[ + 7 X 2
Con sus restricciones: 1. 2 X , + 2 X 2 <
4
2. 4 X] + 4 X 2 > 16 Xi, x 2 >
o
CAPÍTULO
V
D U A L I D A D EN P R O G R A M A C I Ó N LINEAL A N Á L I S I S DE P O S O P T I M A L I D A D Y S E N S I B I L I D A D PROGRAMACIÓN LINEAL PARAMÉTRICA "Si los hechos no encajan en la teoría, cambie los hechos". Albert Einstein
EL PROBLEMA DUAL EN PROGRAMACIÓN LINEAL
Recursos
Producción
Fundamentalmente se trabaja con las siguientes opciones:
167
Con sus restricciones:
Sujeta a:
El dual se debe a la optimización del modelo del transporte sin trabajar con el simplex. PRIMAL
DUAL
m restricciones n variables
m variables n restricciones
Teoremas d e la d u a l i d a d 1. Si el primal o el dual tienen solución óptima finita, entonces el dual o el primal tendrán solución óptima finita. 2. Si el primal o el dual tienen solución óptima no acotada, entonces el dual o el primal no tendrán solución (será) infactible. 3. Si el primal o el dual no tienen solución, entonces el dual o el primal no tienen solución. Continuando con el ejemplo resuelto por simplex, vamos a plantear, resolver e interpretar las variables correspondientes al dual.
Primal: MAX Z = 400 X, + 200 X 2 Sujeta a:
168
Dual: MIN W = 800 Y, + 600 Y 2 + 80 Y 3 + 150 Y 4 Con sus restricciones:
Forma estándar I:
Forma estándar II:
TABLERO 1
DUAL SIMPLEX
Variables de salida: ( - 400, - 200) = - 400 (S t ). Se escoge la que más se aleja de cero por la izquierda. Variables de entrada: (800/-18, 600/-9, 80/-1, 150/0) = ( - 44.4, - 66.6, - 80, N.E.D.) = - 44.4 (Y[). Se toma aquella variable que menos se aleje de cero por la izquierda. Sale de la base S|, entra a la base Y) VB 51 = - 400 5 2 = - 200
VNB Y, = 0 Y2 = 0 169
Y3 = O Y4 = O
w= O
Nota: NED significa que la división entre cero no se encuentra definida.
TABLERO 2
DUAL SIMPLEX
Sale de la base S 2 y entra a la base Y2. VB Y, =
VNB 200/9
S2 = - 4 0 0 / 3
Y2 = 0 Y3=0 Y4 = 0 S, = 0
W = 160000/9
TABLERO 3
DUAL SIMPLEX
Sale de la base Y). Variable que pasa a ser básica: Hay empate entre Y 4 y Si; escogemos Y4.
VB
VNB
Y, = - 40/9
Y2 = 0
S2=
Y3 = 0
160/3
Y4 = 0 S| = 0
170
W = 256000/9
TABLERO 4' DUAL SIMPLEX
Llegamos al óptimo.
A continuación observamos qué ocurre si en lugar de escoger Y 4 tomamos S], en el tablero 3'.
TABLERO 3'
DUAL SIMPLEX
Variable que se convierte en no básica Y t ; variable que se vuelve básica Sj. VB
VNB
Y! = - 40/9
Y3 = 0
Y 2 = 160/3
Y4 = 0 S, = 0 S2 = 0
W = 256000/9
171
TABLERO 4' DUAL SIMPLEX
Óptimo para el tablero 4:
Óptimo para el tablero 4':
Con las respuestas conseguidas anteriormente se obtiene la corroboración de resultados entre primal y dual con sus métodos correspondientes simplex y dual-simplex (Tableros 4 y 4'). Los coeficientes de las variables de holgura en la función objetivo del primal son los valores de las variables reales del dual en orden ascendente. Los coeficientes de las variables de decisión en la función objetivo del primal son los valores de las variables del holgura del dual en orden ascendente.
Interpretación económica d e los p r o b l e m a s p r i m a l y d u a l Para el primal: Xj Cj Z bj
: Nivel de actividad j (j = 1,2,3,...,n). : Utilidad unitaria de la actividad j. : Utilidad total, : Cantidad de recurso i disponible.
a¡j :
Cantidad de recurso i consumido (i = 1,2,3,... ,m) por cada unidad de actividad j.
Para el dual: Y¡ C¡ W bj
172
: Valor implícito o precio sombra o costo marginal del recurso i : Costo unitario del recurso. : Valor total implícito de los recursos, : Cantidad de artículos j a producir.
Como cada unidad de actividad j en el problema primal consume a¡j unidades del recurso i se interpreta como la contribución en la utilidad de la mezcla de recursos que serían consumidos si una unidad de actividad j fuera usada (j = 1,2,3,...n). Establece que la contribución en la utilidad de la mezcla de recursos debe ser por lo menos tanto si fueran usados por una unidad de actividad j, de otra manera no se estaría haciendo el mejor uso posible de estos recursos. La contribución en la utilidad del recurso i (i=l ,2,3,...,m) debe ser no negativa, de lo contrario sería mejor no usar el recurso.
ANÁLISIS DE SENSIBILIDAD
Cambios discretos y / o continuos Fundamentalmente cuando se trabaja en Programación Lineal es importante realizar un análisis de postoptimalidad para observar por medio de simulación si los cambios que le vamos a introducir al modelo original, en qué aspectos nos benefician o nos afectan en las variables y/o parámetros. Es importante tener en cuenta que los cambios que se realizan en el modelo original deben ser factibles y deben responder a situaciones reales que la empresa puede llegar a vivir en un momento determinado. Los cambios en los vectores b, c y en la matriz A pueden suceder en forma discreta o continua; el cambio discreto indica que una o varias componentes originales de los vectores o de la matriz son reemplazados por nuevas cantidades; el cambio continuo en los vectores aj, b y c se da cuando se presentan cambios así:
donde A b, A c y A a,- son vectores respectivamente con las mismas dimensiones que los vectores b, c, aj; a , P y 7 son escalares que pueden tomar cualquier valor real. El análisis de sensibilidad que estudia los cambios continuos se denomina Programación Paramétrica. Para observar las variaciones que ocurren o no, vamos a ilustrar las diversas situaciones con el siguiente ejemplo:
Sujeta a:
173
Cambio en un C. cuando X. es no básica i i Va a cambiar un número en la fila de Z¡ - C¡, desde Z* - Cj hasta Z* - C'¡ ; la nueva solución sigue siendo factible ya que no se han cambiado las restricciones, ni los recursos. Cuando hay un cambio en un Cj del primal, solamente cambia el lado derecho de la j-ésima restricción del dual; puede ocurrir que la solución ya no sea factible (una de las variables básicas será menor que cero). La función objetivo va a asegurar una solución óptima, porque los recursos del primal no se han cambiado.
Ejemplo: Se cambia la función objetivo de: MAX Z = 50 X! + 120 X 2 a: MAX Z = 80 X t + 120 X 2 El cambio en la función objetivo en la variable Xj es 50 por 80. Este cambio tiene un efecto sobre el valor de Z* - C¡ en el óptimo actual (Primal: X* = 0; X 2 = 20; S*=0; S 2 =40; Z* = 2400; Dual: Y* = 30; Y2* = 0; S* = 10; S 2 = 0; W* = 2400 ), valores que se pueden convertir en: Si el valor actualizado de Zj - Cj > 0, la solución óptima permanece igual a la del problema inicial y en el problema dual sólo cambia el valor de la variable de holgura S* . Si el nuevo valor de Zj - Cj = 0, la solución óptima permanece igual a la del problema inicial cuando se presentan soluciones múltiples y en el problema dual sólo cambia el valor de la variable de holgura S * cuyo valor será cero (0). Si el valor actualizado de Z* - Cj < 0, la solución deja de ser óptima por lo cual se requiere la utilización del simplex, tomando X] como la variable que se convertirá en variable básica.
La solución óptima actual es: Primal: X* = 16; X 2 = 12; S* = 0; S * = 0 ; Z* = 2720. Dual: Y* = 28; Y* = 8; S* = 0; S 2 = 0; W* = 2720. Para que se mantenga la solución actual óptima y factible basta con plantear y resolver la ecuación que recalcula el valor de Z\ - C), sabiendo que en el tablero óptimo el valor de C| debe cumplir con la condición que Z \ - C \ > 0, por lo cual - oo < Ci < 60.
174
Cambio en un C. cuando X. es básica i i Si Xj es básica
, con lo cual se debe modificar la fila de
en el
último tablero y en algunos casos se debe variar toda la tabla, si la solución del primal dejó de ser la óptima. En algunos casos cuando
, la solución es aún óptima.
La nueva solución en el óptimo debe ser óptima o mejorar, pero en algunos casos puede no ser factible. Ejemplo: Cambiando la función objetivo de: a: El nuevo valor de
corresponde a una variable básica, cuyo valor será cero (0).
La solución óptima es: Primal: Dual: Para que permanezca lasolución actual óptima y factible basta con plantear y resolver la ecuación que recalcula el valor de de cada una de las variables no básicas, sabiendo que en el tablero óptimo el valor de Cj debe cumplir con la cdndición que , por lo cual Cambio en un b¡ (recurso) Los únicos cambios posibles son en los lados derechos de las restricciones, porque estos lados dan los valores de las variables de la base y éstas se pueden volver negativas; cuando no hay cambios en los
, la solución encontrada sigue siendo óptima. En el caso en que un bi se vuelva negativo
se debe emplear el dual simplex para solucionar el primal. Además, es posible en el problema dual encontrar e interpretar el precio sombra (marginal) y los costos reducidos. Ejemplo: Cambiando la segunda restricción de: a: La solución óptima actual es: Primal: i Dual:
175
Para que se mantenga la solución actual factible basta con plantear y resolver las ecuaciones para encontrar los valores de los nuevos bi, de tal manera que las variables básicas sean 0, por lo cual
Cambio en a., cuando X. es no básica •i i En estos casos cambian los coeficientes de Xj en todas las filas del tablero; como X¡no es básica, si la fila Z - C > 0, la solución sigue siendo óptima. Es más fácil investigar si la solución anterior es todavía óptima con el dual, ya que el único cambio es en la j-ésima restricción:
porque los valores óptimos de las variables originales
no cambian; la solución anterior es factible y aún óptima si la nueva restricción no se viola. Ejemplo: Cambiando la segunda restricción de: a: La solución actual es: Primal: Dual: Para que permanezca la solución actual óptima basta con plantear y resolver la ecuación que recalcula el valor de
con la condición que
por lo cual
Cambio en a., cuando X. es básica 'i i La solución siempre cambia (hasta volverse no factible y puede ser aún una solución óptima). Se deben encontrar los nuevos coeficientes de los Xj, es decir, los nuevos números dentro de la tabla, ya que seguramente la matriz idéntica sufrió con el cambio. Al cambiar en el dual la j-ésima restricción y su solución , puede que la nueva solución no sea factible (si viola las restricciones), ni óptima. Ejemplo
176
O
Cambiando la segunda restricción de: a: La solución actual es: Primal Dual: Para que se mantenga la solución actual factible basta con plantear y resolver las ecuaciones para encontrar los valores de los nuevos bi para la factibilidad y la optimalidad con los para las variables no básicas, de tal manera que
Adición de una nueva restricción Dicha adición no mejora la solución óptima Z*, sólo puede eliminar algunas de las soluciones; cuando la anterior solución aún es factible, debe ser la solución óptima. Se debe averiguar si la nueva restricción se cumple o no; cuando se cumple, no hay problema. En caso contrario, se deben agregar las variables correspondientes. Ejemplo Añadiendo la nueva restricción: La solución actual es: Primal: Dual:
Adición de una nueva variable Luego de encontrar la solución óptima del problema, se concluye que no se han considerado todas las actividades que consumen recursos y que aportan a función objetivo. Tener en cuenta una nueva actividad exige añadir una nueva variable con sus respectivos coeficientes a la función objetivo y a las restricciones. Si hacemos que la nueva variable pertenezca a las no básicas, no es difícil investigar que si la solución óptima anterior es todavía óptima, en este caso no hay cambio en la fila Z - C y por lo tanto la solución del dual no varía. Cuando hay un cambio en el dual (adición de una nueva restricción), correspondiente a la nueva variable del primal, si la nueva restricción se cumple usando la vieja solución del dual, la antigua solución 177