PROGRAMACIÓN LINEAL YAPLICACIONES. Ejercicios resueltos PROGRAMACIÓN LINEAL YAPLICACIONES. Ejercicios resueltos Este libro contiene una colección de ejercicios resueltos de PL con sus extensiones y aplicaciones a problemas de planificación, gestión, distribución ... en áreas como la Economía, la Ingeniería, o la Administración, que reflejan la experiencia de los autores en la enseñanza y aplicaciones de estas técnicas en los últimos diez años. . La obra se caracteriza porque no sólo dedica atención a los algoritmos de solución, sino también al proceso de construcción de modelos e interpretación, que constituyen un apartado tan importante o aun más que el anterior debido a que la disponibilidad actual de software puede convertir la obtención de una solución en un proceso automatizado. 1 Todos los capítulos incluyen al principio un breve resumen de los problemas que se tratan, as{ como de los conceptos y algoritmos más importantes que se utilizan en su desarrollo. Además, cada ejercicio lleva un título para que resulte más sencilla su clasificación e identificación. i El libro va dirigido a profesionales y alumnos de Facultades~ _ Matemáticas y Ciencias Económicas y Empresariales, así como Escuel?J de Ingenieros, en las que se esrudjan técnicas de Investigación Operativa. ISBN: 970·15·0362-7 1 1 f1 Alfa~~ega Grupo Editor Sixto Ríos Insua - David Ríos Insua Alfonso Mateos - Jacinto Martín ~- A ilb. Alfaomega A~· V Programación Lineal y Aplicaciones Ejercicios resueltos Sixto Ríos lnsua 1 David Ríos lnsua 1•2 Alfonso Mateas Caballero, Jacinto Martín Jiménezl Grupo de Análisis de Decisiones 1 2 Escuela Departamento de Inteligencia artificial Facultad de Informática Universidad Politécnica de Madrid Superior de Ciencias Experimentales y Tecnología Universidad Rey Juan Carlos Programación Lineal yAplicaciones. Ejercicios resueltos Q Sixto Rlos lnsua, David Rlps lnsua, Alfonso Mateos Caballero, Jacinto Martín Jiménez .ISBN 84-7897-284-6, edición original publicada por RA-MA Editorial, MADRJD, España Derechos re~ervados Q RA-MA &liiorial MARCAS COMERCIALES: RA-MA ha intentado a lo largo de este libro distinguir las marcas registradas de los términos descriptivos, siguiendo el estilo d~ mayúsculas que utiliza el fabricante, sin intención de infringir la marca y sólo en beneficio del propietario de la misma. INDICE Primera edición:Alfaomega Grupo Editor, Colombia, julio 1998 Primaa reimpresión: Alfaomega Grupo Editor, Colombia, enero 2000 Segunda reimpresión: Alfaomega Grupo Editor, México, mayo 2006 1998ALFAOi\'lEGA GRUPO EDITOR, S.A. de C.V. Pitágoras 1139, Col. Del Valle, 03100 México, D.F. @ Miembro de la Cámara Nacional de la industria Editorial Mexicana Registro No. 23 17 PROLOGO.. . . . . . . . . . . . . . . . . . vii CONSTRUCCION DE MODELOS 1 l. 2. RESOLUCION DE PROGRAMAS LINEALES Internet: http://www.alfaomega.com.nu: E-mail: [email protected] 51 3. DUALIDAD Y ANALISIS DE SENSIBILIDAD . 123 4. TRANSPORTE Y ASIGNACION . . 193 5. OPTIMIZACION EN REDES . 261 6. PROGRAMACION ENTERA . 321 ISBN 970-15-0362-7 Derechos reservados. Esta obra es propiedad intelectual de su autor y los derechos de publicación en lengua española han sido legalmente transferidos al editor. Prohibida su reproducción parcial o total por cualquier medio sin penniso por escrito del propietario de los derechos del copyright. NOTA li\lPORTANTE La información contenida en esta obra tiene un fin exclusivamente didáctico y, por lo tanto, no está previsto su aprovechamiento a nivel profesional o industrial. Las indicaciones técni~y'Jlrogramll$ i.ncluidos, han ~ido elaborados con gran cuidado por el aut~r y r~p~pducidos paj9 e~ri~t~ npn,nas de'contról. ALFAOMEGA GRUPO EDITOR, S.A. de C.V. no seiájurídicamente responsable por: mores u omisiones; daños y perjuicios que se pudieran atribuir al uso de la información comprendida en este libro, ni por la utilización indebida que pudi~ra dársele. Edición autorizada para venta en tvl<!xico y todo el contin~nte americano lmpreso en México - Printed in Mexico 7. PROGRAMACION LINEAL ~ULTIOBJETIVO . 371 BIBLIOGRAFIA ... . 415 INDICE ANALITICO . 419 J 1 PROLOGO La Programación Lineal (PL) es una de las técnicas de modelización y resolución de problemas más utilizadas en la Investigación Operativa. Se refiere a . la modelización y resolución de problemas de toma de decisiones, en los que las variables de decisión se relacionan mediante restricciones lineales y La función de evaluación de la decisión, o función objetivo, es lineal en las variables de decisión. La historia de la PL es relativamente reciente, teniendo un desarrollo importante a partir de la Segun~a Guerra Mundial, en que recibe su nombre a partir del planteamiento y resolución de problemas de asignación de recursos entre diferentes actividades. Las aplicaciones posteriores a otros problemas fueron numerosas, constituyendo hoy los modelos de PL una de las herramientas más utilizadas e importantes de los métodos cuantitativos de gestión y planificación. Un hito fundamental en su desarrollo fue la introducción por Dantzig, en 1947, del método del símplex, que permite resolver cualquier problema de programación lineal. Con la aparición de los ordenadores electrónicos y la posibilidad de resolver problemas de mayor tamaño, este algoritmo fue posteriormente mejorado para ganar eficiencia desde el punto de vista computacional. Incluso, en tiempos más recientes, se han introducido otros métodos alternativos de resolución. Las aplicaciones de la PL son variadas como se muestra en la colección de ejercicios de este libro y, debido a su éxito, su utilización ha sobrepasado el ámbito de Departamentos de Investigación Operativa, llegando a convertirse en una herramienta útil de planificación en muchas áreas. La PL puede ser una gran ayuda tanto en problemas con los que sólo nos enfrentamos una vez como en otros que correspondan a actividades que deben repetirse de forma sistemática. En cada caso, el decisor debe organizar los distintos recursos para alcanzar cierto objetivo, usualmente La. ma.'Ónl.Ízación de beneficios o minimización de pérdida;¡. viii PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RES UELTOS @RA-MA Este libro se dedica a los modelos de PL y aplicaciones derivadas de ésta. Nos hemos propuesto dedicar atención no sólo a los algoritmos de solución sino, muy especialmente, al proceso de construcción de modelos e interpretación de su solución, que constituyen un apartado tao importante o aún más que el anterior. Aunque con el software disponible en la actualidad la obtención de una solución se convierte en un proceso automatizado, no hemos querido olvidarnos de que para una. buena parte de los estudiosos también resultará beneficiosa la exposición detallada de los pasos de los métodos utilizados, al menos en algún ejercicio, evitando un tratamiento de caja negra.. En general, el estudio del libro requiere seguir la ordenación dada en los capítulos, ya que el conocimiento de las herramientas y conceptos de cada. capítulo serán convenientes para los posteriores. El Capítulo 1 muestra mediante aplicaciones variadas el proceso de modelización o construcción de programas lineales. Muchas veces admitirán varias formulaciones como problemas matemáticos, unas mejores que otras, pero éste es un problema del que no nos hemos ocupado aquf. En el Capítulo 2 se estudia el proceso de solución de programas lineales, comenzando con el procedimiento gráfico para. fijar las ideas pásicas y, posteriormente, pasando a la solución analítica basada en el método del símplex y sus variantes y extensiones. El Capítulo 3 estudia los importantes problemas de dualidad y análisis de sensibilidad, que constituyen un complemento fundamental de la. solución del problema. El Capítulo 4 se dedica a los problemas de transporte y asignación, y diversas extensiones. Aunque pueden considerarse modelos particulares de la PL, existen algoritmos de solución especificas que permiten alcanzar una solución más eficientemente. El Capítulo 5 describe problemas de optimización y decisión en redes. Entre los primeros se encuentran, entre otros, los del camino mínimo y más largo, flujo sobre una red y árbol de máximo alcance. Los segundos se refiere a problemas de planificación y control de proyectos, que se representan con redes CPM, PERT y Roy. Muchos de estos modelos admiten una modelización como programas lineales, tal vez con variables enteras, sin embargo resulta ventajosa. la aplicación de métodos de solución específicos. El Capítulo 6 estudia problemas lineales con algunas o todas las variables enteras. Además de detallar procedimientos de solución de la Programación Entera, buena parte de los ejercicios conllevan la construcción de un modelo como en el capítulo inicial. Finalmente, el Capítulo 7, extiende el enfoque tradicional de los inicios de la PL, en que únicamente se consideraba un objetivo de optimización, al caso de la programación multiobjetivo, que constituye un enfoque de modelización más realista. Se muestran varios procedimientos de solución, siendo algunos de ellos extensión directa de los utilizados en el caso uniobjetivo. \ PROLOGO ix Todos los capítulos tienen al principio un breve resumen de los problemas que se tratan, así como de los conceptos y algoritmos más importantes que se utilizan en su desarrollo. Esto permitirá al lector tener una idea clara de los ejercicios que se estudian en el capítulo. Además, se ha titulado cada ejercicio para. encuadrarlo y así hacer más sencilla su identificación. Algunos de los ejercicios corresponden a los propuestos en exámenes y prácticas de la asignatura Investigación Operativa de Cuarto Curso de la Facultad de Informática de la Universidad Politécnica de Madrid, recogiendo nuestra experiencia en la enseñanza de esta materia durante los últimos diez años. Durante todo este tiempo hemos contado con los consejos y discusiones de numerosos compañeros y estudiaotes-.de la FI/UPM, destacando la ayuda prestada por Joaquín Fernández. Sixto Ríos, pionero de estas técnicas en nuestro país, proporcionó abundantes consejos en la preparación de este texto. El procesamiento se ha hecho en ~'!EX. en los sistemas del Departamento de . Inteligencia Artificial de la Universidad Politécnica de Madrid. Los cálculos de soluciones se han realizado con los programas QSB+ y QS, sugiriéndose al lector el empleo de algún sistema similar para la realización de las tareas más tediosas de cálculo. SRl DRI AM JR Boadilla del Monte, julio de 1997 \ CAPITULO 1 CONSTRUCCION DE MODELOS Comenzamos revisando las ideas básicas del proceso de construcción de modelos - de Programación Lineal. La modelización o construcción de modelos es una fase importante en la resolución cuantitativa de cualquier problema. La modelización es una tarea no.sencilla que exige un esfuerzo importante de comunicación entre el analista o investigador operativo y el decisor, para intentar representar lo más fielmente posible la realidad del problema en estudio. Los modelos de Programación Lineal se incluyen en la clase más general de los modelos de optimización, en los que se optimiza una función de las variables de decisión, denominada función objetivo, sujeta a un conjunto de limitaciones o restricciones sobre las variables de decisión. La formulación general de un problema de optimización es max z = J(x¡ , ... , Xn) s.a 9j(X¡ , ... , Xn) ~O, j = 1, ..., m donde fes la función objetivo, (x 1, ... , Xn) son las variables de decisión y tenemos unas restricciones caracterizadas por las desigualdades sobre 9t. ..., 9m· En el caso de la programación lineal, la función objetivo y las restricciones son lineales en las variables de decisión. La función objetivo se expresará. en la forma f(x¡, ... , Xn) y las restricciones = C¡X¡ t · · · t CnXn = c1x. r CAPITULO l. CONSTRUCCION DE MODELOS 2 PROCRAMACION LINEAl. Y APLICACIONES: EJERCICIOS RESUELTOS 3 @RA-MA .... o, en notación matricial, Ax~ b, donde e es el vector de coeficientes del objetivo, A es la matriz de coeficientes tecnológicos, b es el vector de términos a la derecha o constantes y x el de variables de decisión. El esquema básico que seguirá este capítulo, en el que los problemas se modelizan como Lineales, consistirá en definir primero las variables de decisión, después las restricciones y, finalmente, la función objetivo a optimizar. La modelización comenzará por definir las variables de decisión, que representan las variables sobre las que el decisor tiene control y que se suponen continuas. Se representarán algebraicamente en la forma x1 , x2, ... o bien con nombres específicos que faciliten su identificación. Representarán productos o bienes a producir, almacenar o vender, disponibilidad o adquisición de materias primas, ... Puede haber problemas en los q'ue resulta posible la definición alternativa de variables y una elección cuidadosa será determinante para la posterior resolución del modelo construido, que consistirá en la asignación a éstas de unos determinados valores numéricos. ' El siguiente paso será el reconocimiento de las restricciones y su construcción. Las restricciones representan limitaciones o requisitos y definirán las decisiones admisibles, es decir, la región factible del problema. Podrán ser de la forma de desigualdades y/o igualdades, según representen el deseo de no exceder cierto valor especifico (~), no descender por debajo de tal valor k) o ser igual a él (=). Finalmente, se construirá la función objetivo, que representará alguna cantidad que desea maximizar el decisor {beneficio, renta, eficacia, producción, ... ) o bien minimizar (coste, tiempo, inventario,...). En algunos casos, las restricciones y/o el objetivo se modelizarán inicialmente como funciones no lineales, que posteriormente se convertirán en lineales introduciendo transformaciones adecuadas. Se desarrollarán algunas aplicaciones de la programación lineal a problemas clásicos como los de regresión lineal y parabólica, factibilidad de sistemas de ecuaciones lineales, solución no trivial de un sistema homogéneo y aproximación de un sistema de ecuaciones inconsistente. EJERCICIOS 1. Destilación de crudos. Una compañía de petróleos produce en sus refinerías gasóleo {G), gasolina sin plomo (P) y gasolina súper (S) a partir de dos tipos de 1 C'?. Las refinerías están dotadas de dos tipos d~ tecnologías. La crudos, y utiliza en cada sesión de destilación 7 umdades d~ C¡ ~ 12 tecnologta nueva T~ . d G d p S' de S. Con la tecnologta antigua d aro productr 8 umdades e 1 6 e Y . S T:. :~ ~btienen en cada destilación 10 unidades de G' 7 de p y -l de ' con ~n asto de 10 unidades de C't y 8 de c2· ' ·, . ' . mes se deben g Estudios de demanda permiten estimar que para el pr:;~mo 1700 de .S 'La producir al menos 900 unidades de G, 3~0 de p y entrede 200~ unidades. . Los, disponibilidad de crudo C't e~ de 1400 umdades y de c2 beneficios por unidad produc1da son ?t e --G-as-ol-in-a--~G~P~'s' Beneficio/u 4 6 7 ~;.:~::.~·::m~·;.~;;;~;:~:,~~~:;;;;:~; :¡7;~::~;·~:~:;;¡;1~~:~:: .· sea el máximo. Solución 1 tividades fi"ando las variables de decisión. Observemos que as ac Comenzesamta'o~nt~resada la compañía son el número de destilaciones con cada tecen que • d · "6 • Por. tanto' definimos las variables de wst n no1ogta. x = número de destilaciones con Tn . x2l = número de destt"lactones con T.a . . .. . . es debidas a las limitaciones en la dtsporubiltdad de ambos Tenemos res t nccton tipos de crudos. Para C1 [(7 unidades de Ct x Xt de~t~l~ciones) + (10 de C't x X2)] . ~ [dispombthdad de C¡J, ~- es decir, f Análogamente, para G2 12x 1 + 8x2 ~ 2000. · .· · T y x destilaciones Además, sabemos que si se producen X¡ destt1acton~s co~ n . 2 ~ con Ta los product~sobtenid~s son 8x1 + 10x2 unidades de G 6x 1 +1x2 unidades de P 5x,·+ ü2 unidades de S 4 PROGRAMACION LINEAL y APLICACIONES: EJERCICIOS RESUELTOS e RA-MA De los estudios d d e emanda, podemos establecer las restricciones 8x¡ + 10x2 ~ 900 (demanda de G) 6x1 + 7x2 ~ 300 (demanda de P) 5x 1 + 4x2 S 1700 } 5x 1 + 4x2 > 800 (demanda de S) Como es obvio h - , ay que anadrr la condición de no negatividad Xj ~ 0, j == 1, 2. Observemos que pod .' a val?res enteros. Si~'::~:arse que las variables de .decisión deben restringirse fraccJonales, ya que ést go, en .el proceso de destilación se permiten valores El ob. t· e puede realizarse parcialmente ,Je Ivo es maxim' lb . . IZar e eneficJO B del producto destilado. Este es B-[b . - enefi' CIO por unidad d G . [ . + beneficio de·P x d - .·, e x uwdades producidas de G] + . pro uccion de PJ + [beneficio de S x producción de S] es dectr, B : - 4 (8x¡ + 10x2) + 6 (6x, + 7x2) + 7 (5x¡ + 4x ) 103x¡ + 110x2. 2 = 103x¡ + llOx2 Se desea construir un modelo de programación lineal para conocer la cantidad de cada alimento que hay que prepara-r y que satisfaga los requisitos propuestos con coste mínimo. Solución Definimos las variables de decisión x¡, que representan la cantidad de alimento ' i = 1, ... , 6, que se utiliza para la élieta. Las restricciones son consecuencia de los requisitos vitamínicos exigidos a la dieta, que son (vitamina A) (vitamina B) (vitamina e) (vitamina D) con X¡~ Oparai = 1, ... ,6. La función objetivo, de la forma de minimización, representa el coste total de la dieta, que es - 7x¡ + l0x2 S 1400 · 12x, + 8x2 S 2000 8x¡ + 10x2 ~ 900 6x1 + 7x'2 ~ 300 · 5x, + 4x2 S 1700 ~ 5x¡ + 4x2 ~ 800 X¡,X2 ~ .; de vitamina B y 30 de e, y, a lo sumo, 14 de vitamina D. La tabla nos da el número de unidades de las distintas vitaminas por unidad de alimento consumido para seis alimentos eleg·idos, denominados 1, 2, 3, 4, 5, 6, asi como su coste por unidad Vitaminas Coste por Alimentos A B e D unidad 1 1 l o 1 10 2 1 2 1 o 14 3 o 1 2 o 12 4 3 1 o 1 18 2 1 2 o 20 5 6 1 o 2 16 26 S X¡+ x2 + 3x4 + 2x5 + X6 S 32 X1 + 2X2 + X3 + X4 + X5 ~ 25 x2 + 2x3 +2xs +2x6 ~ 30 Xl + X4 + X6 S 14 Por tanto 1 ' e programa lin~al es max B s.a CAPITULO L CONSTRUCCION DE MODELOS e= lOXt + 14X2 + 12X3 + l8X4 + 20xp + 16xs. 0 o 2. Problema de 1 . de coste mínimo e a dieta. Ef! u~ centro de nutrición se desea obtener la dieta ·- · on unos determtn d ·· mnos que van a as. t. a os requmtos vitamínicos para un grupo de d' ~s tr a campame t d ~eta debe contener ent 26 3 n. os e verano. El especialista estima que la re y 2 unzdades de vitamina A, al me~os 25 unidades Por tanto, el programa lineal consiste en determinar (x 1,x?,XJ,x4,xs,xs) E 1R.6 tal que min e = lOx, + 14x2 + 12x3 + l8x4 + 20xs + 16xs s.a X¡+ x2 + 3x4 +2xs + X5 S 32 X¡+ X2 + 3x4 + 2X5 + X5 ~ 26 X¡+ 2X2 +X3 + X4 + X5 ~ 25 x2 + 2x3 + 2x5 + 2x6 ~ 30 x, +x4 +xs S14 o Xi ~ 0, i = 1, ... , 6. 6 PROCRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS ©RA-MA CAPITULO l. CONSTRUCCION 08 M008LOS 3. Producción de gasolinas. Una compañía de petróleos produce tres tipos de gasolinas: Súper, Normal y Euro. Se obtienen por mezcla de tres calidades de crudos (A,B,C) que contienen tres componentes (1,2,3). La participación de estos componentes en la compos·ición de cada crudo es - Acuerdos sobre el crudo A (barriles) XAS +XAN +XAE 2: 2500 - Demandas qe gasolinas Súper y Normal (barriles) Componentes Cr-udos 1 2 3 A 80% lO% 5% B 45% 30% 20% e 30% 40% 25% X.4S + XBS + XCS 2: 2000, XAN + XBN + XCN 2: 2500 - Composición de las gasolinas .80xAs + .45xas·+ .30xcs ~ .60 (xAs + xas + xcs) .lOxAS + .30xss + .40xcs:::; .25 (xAs + xss + xcs) } Súper .05xAs + .20xas + .25xcs 2: .10 (xAs + xas + xcs) Las especificaciones de los tres tipos de gasJtinas son 3 Súper ;::: 60% :::; 25% ;::: 10% Normal ;::: 50% :::; 30% :::; 15% Euro ~40% ~35% ;::: 20% l 7 2 Los costes por barril de crudos A, B y C son 650, 500 y 450 ptas, respectivamente. El presupuesto diario de compra es de 50 millones de ptas; la disponibilidad diaria de crudos B y C se limita1 respecti·uamente, a 3000 y 7000 barriles. Ciertos acuerdos obligan a comprar al menos 2500 barriles de A por día. Las demandas de gasolina Súper y Normal son de 2000 y 2500 ban'iles diarios, que deben satisfacerse. La compañía desea maximizar la producción de gasolina Euro. Formular un modelo de programación lineal que dé respuesta al problema planteado por la compañía. Solución Consideramos las variables de decisión medidas en barriles/día Xij = cantidad de crudo tipo i dedicado a gasolina tipo j donde i = A,-B,f) y j = S, N, E (S=Súper, N=Normal, E=Euro). Las restric- · ciones se deben a: Justificamos la primera restricción observando que .80xAS + .45xas +.30xcs representa la contribución del componente 1 en la producción de Súper, que deberá ser, al menos, el60% de la producción total de Súper que es XAS + xas + xcs- Análogamente, se tienen el resto de restricciones sobre la composición. 1 (, .80XAN + .45XBN + .3ÜXCN 2: .50 (XAN + XBN + XCN) } .lÜXAN + .30XBN + .40xcN ~ .30 (XAN + XBN + XCN) .05XAN + .2ÜXBN + .25XcN:::; .15 (x.4N + XBN + XCN) . .80xAE + .45xse + .30xcs :::; .40 (xAE + xse +xce) } :.10xAE + .30xae + .40xce 2: .35 (xAE +xae +xce) .05XAE + .20XBE + .25XCE 2: .20 (XAB + XBE +XCE) Normal Euro - NQ negatividad de las variables de decisión Xij;::: o, i = A,B,C, j = S, N, E - Limitaciones en el presupuesto (ptas) La función objetivo corresponde a la cantidad de gasolina Euro que se desea maximizar, y tiene la expresión 650(xAs + xA.N E= X;tE +xaE +xce + XAE) + 500(xss + xaN + xse)+ +450(xcs + xcN + xce) ~ 50 x lO6 - Disponibilidad de los crudos B y C (barriles) XBS +XBN + XBE ~ 3000, XCS + XCN +XCE:::; 7000 8 PROGRAMACION LINEAL; Y APLICACIONES: EJERCICIOS RESUELTOS CAPITULO l. CONSTRUCC!ON DE MODELOS ©RA-MA Por tanto, el programa lineal queda max E= XAE+xss+xcE s. a 650(XAS t XAN t XAE) t 500(XBS t XBN t XBs)+ +450(xcs + xcN + xcs) ~50 x 106 XBS t XBN t XBE ~ 3000 XCS t XCN t XCE ~ 7000 XAS t XAN t XAE ~ 2500 X,.¡s t XBS t XCS ~ 2000 XAN t XBN t XCN ~ 2500 .20xAs - .15xss - .30xcs 2: O H G 94 87 73 47 68 120 Observemos que los recursos son las cinco clases de fruta, y que l~s productos son, además de los zumos obtenidos directamente de éstas, los dos combinados. Una posible definición de las variables de decisión consiste en considerar las posibles combinaciones recursos-productos. Así, se tendrán 11 variables de decisión que denotamos 4. Elaboración de zumos. Una empresa. de alimentación prodtLce ztLmos de pera, naranja, limón, tomate, manzana, además de otros dos tipos denominados H y G qtLe son combinados de algunos de los anteriores. La disponibilidad de fruta para el periodo próximo, así como los costes de producción y los precios \/de venta para los zumos, vienen dados en la tabla 32000 25000 21000 18000 27000 100 Solución o Disponibilidad Coste máxima (kg) (ptasfkg) Especificación No más del 50% de M No más del20% de P No menos del 10% deL 40% de N 35% deL 25% de P La demanda de los distintos ztLmos es grande, por lo qtLe se espera vender toda la producción. Por cada kg de frtLta, se produce tLn litro del correspondiente zumo. Determinar los niveles de prodtLcción de los siete zumos, de manera qtLe se tenga beneficio máximo en el periodo entrante. - - .15xAs + .05xss + .15xcs ~O - .05xAs + .lOxss + .15xcs ~O .30XAN- .05XBN - .20XcN ~ 0 - .20XAN t .10XcN ~ 0 -.10XAN t .05XBN t .10xcN ~ 0 .4ÜXAE t .05XBE - .10xcE ~ 0 -.25xAE- .05xss + .05xcE ~O -.15XAE + .05xcE ~O · Xij ~o, i = A, B,C, j =S, N, E Fruta Naranja (N) Pera (P) Limón (L) Tomate (T) Manzana (M) Precio uenta (ptasfl) 1 Combinado Precio venta (ptas/1) 129 125 110 88 97 donde XN N es la cantidad de naranjas utilizac\a para hacer zumo de naranja, XNG la cantid~ de naranjas utilizadas para ei cdmbinado de zumo de tipo G,... Las restricciones se deben a: - Limitaciones en la disponibilidad de recursos : XNN t XNG ~ 32000 Xpp t Xpfl t XPG ~ 25000 XLL t XLH t XLG ~ 21000 XTT ~ 18000 XMtllf t XMH ~ 27000 - Especificaciones para el combinado H XMH ~ .5(XMH tXPH tXLH) Las especificaciones y precios de venta de los combinados vienen dados en la tabla XpFJ ~ XLH • l 9 .2 (XtvfH tXpFJ t 2: .10 (XMH t XPH t Xc,H} XLH) 10 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS ©RA-MA CAPITULO l. CONSTRUCC10N DE MODELOS por semana de 700 y 900 t, respectivamente. La empresa posee cuatro plantas de producción que utilizan procedimientos de fabricación que difieren en las cant-idades de materia prima que utilizan. Las cantidades necesarias de materia prima por operación para cada planta que se pueden llevar a cabo total o parcialmente, así como el número de capas producidas de uno y otro tipo, se tienen en la tabla - Especificaciones para el combinado G = .40 (XNG +XLG +XpG) = .35 (XNG + XLG +X pe) XPG = .25 (XNG + XLG + XPG) XNG XLG - No negatividad de las variables de decisión Planta 1 2 Finalmente, observemos que la función objetivo representa el beneficio netO' B de la producción y es de la forma de ma.ximización. Toma la expresión B 11 94xNa + (125 - 87)xpp- 87xPH - 87xpa + (110-73XLG + (88- 47)XIT + (97 - 68)XMM- 68XMH + 100(XPH + XLH + XM H) + 120(XNG + XLG +X pe) = (129- 94)XNN - 3 4 t requeridas Capas producidas por operación por operación Vidrio Resina Tipo .4 Tipo B 15 19 2 5 14 20 7 3 4 16 15 5 12 18 4 4 Formular un modelo de programación lineal para determinar el número de operaciones a realizar en cada planta de manera que sea máximo el número total de filtros fabricados. 73)XLL -73XLH En resumen, se tiene el programa lineal ma.x B = Solución +26XNG +38xpp + 13xpH +33xpc+ 37XLL + 27XLH + 47XLG + 4lxrr + 29XMM + 32XMH 35XNN Denominamos Xi al número de operaciones que se realizan semanalmente en la planta i = 1, 2, 3, 4, respectivamente. Las restricciones se deben, únicamente, a las limitaciones en las disponibilidades de las materias primas s. a +XNG $ 32000 +XPH +XpQ $ 25000 XLL + XLH +XLG $ 21000 XNN Xpp XTJ' 15x¡ + 14x2 + l6x3 + 12x4 $ 700 (resina) 19x¡ + 20x2 + 15x3 + l8x4 $ 900 (vidrio) $ 18000 XMM siendo, además, Xi 2: O, para i = 1, 2, 3, 4. Para determinar el objetivo, observemos que el número de capas de tipo A producil:ias por las cuatro plantas es ZA = 2x¡ + 3x2 + Sx3 +4x4 y el de tipo B es ZB = 5x¡ + 'lx2 + 4x3 + 4x 4 . Puesto que se pretende fabricar el máximo de filtros y cada uno requiere una capa de tipo A y dos de tipo B, es evidente que el número máximo de filtros no puede superar el mínimo entre ZA y za/2. Por tanto, el problema tiene como función objetivo + XMH $27000 .5XMH - .5XPH - .5XLH -.2XMH $0 + .8XPH- .2XLH $0 .lXMH + .lXpH - .9XLH .6xNa- .4xw- .4xpc $0 \ l =O + .65xw - .35xpc =O -.25xNa- .25xw + .75xpa =O - .35xNc X¡;2:0 Vi,j o 5. Planificación de la producción. Una empresa produce filtros para monitores de ordenador formados por tres capas, una intermedia de calidad A y otras dos exteriores de calidad B que envuelven a la anterior. Ambas calidades se consiguen con diferentes mezclas de fibra de vidrio y resina de las que el fabricante dispone que es no lineal. Para convertirla en lineal, basta con definir z =min {zA, ZB/2}, equivalente a z 2: ZA y z ~ ZB/2. Estas dos desigualdades se convierten en restricciones del problema y el modelo se reformula como uno lineal equivalente CAPITULO l. CONSTRUCCION DE MODELOS 12 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS quedando max s.a e z 2x¡ 5x¡ B + 3x2 + Sx3 +4x4- z ~O A + 1x2 + 4x3 + 4x.¡ - 2z ~ O 15X¡ + 14X2 + l6x3 + 12X.¡ 19x¡ + 20x2 + 15x3 + 18x4 x, ~o, i = 1, 2,3,4 ~ ~ 700 900 podrían introducirse las siguientes variables de decisión, todas ~llas m~i~as en barriles/día (denominamos con la malta disponible en la propta destilena) X¡ = cantidad de malta disponible del distribuidor i =A, B, M(ezcla) x·· =cantidad de malta i dedicada a j = D(estilería) { d{estruCClon l] .' ) e o l. 13 @RA·MA 6. Optimización de mezclas en una destilería. Una destilería dispone de malta propia en cantidad de 200 barriles/día. Además, puede comprar malta de dos distribuidores A y B, con costes de 1000 y 1200 ptasjbarril, en cantidades máximas de 300 y 500 barriles/día, respectivamente. La malta puede mezclarse directamente o destilarse para producir malta enriquecida de dos tipos 1, 2. El destilador puede procesar a lo sumo 700 barriles/día. Un barril desWado de la propia casa produce .3 baniles de malta 1 y .6 de malta 2. Un barril del malta A produce .4 de 1 y .4 de 2. Uno de malta B produce .7 de 1 y .1 de 2. . La mezcla de malta no procesada se vende a 1300 ptasjbarril, limitándose el mercado a 110 barriles/día. El sobrante de malta debe destruirse con coste 100 ptasjbarril. Con las maltas destiladas pueden hacerse dos productos: uno de alta calidad (H), que se vende a 1900 ptasjbarril y debe contener al menos el70% de producto 1, y otro de baja calidad (L), que se vende a 1500 ptasjbarril y puede contener a lo sumo el 55% de producto 2. La destilería desea satisfacer la demanda del producto de alta calidad, que es de 215 barriles/día, y asegurarse un beneficio de 30000 ptasjdía. Además, puesto que se espera un cambio en el mercado del producto de baja calidad, la destilería desea minimizar su prcx.,ucción. Formular un modelo de programación lineal que dé respuesta al p1·oblema de planificación planteado ten<endo ~n cuc:nta 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. Solución Teniendo en cuenta el esquema de funcionamiento de la destilería, que se resume en la figura siguiente e x1 =producción de malta tipo 1 x2 =producción de malta tipo 2 XH = malta de alta calidad xL = malta de baja calidad Xkl =malta de tipo k dedicada a la calidad l, k= 1, 2, l = H, L Las restricciones se deben a: _ Límite de compra a los distribuidores y de disponibilidad propia XA ~ 300, XB ~ 500, XC= 200 - Límite de capacidad del destilador XAD + XBD + XCD ~ 700 - Lmute de venta de mezcla XAM + XBM + XCM ~ 110 - Distribución de maltas + XAD + XAd =XA XBM + XBD + XBd =XB XAM XCM +XCD +XCd = XC _ Producción de maltas enriquecidas de tipos 1 y 2 de acuerdo con las recetas .3XCD + .4XAD + .7XBD =X¡ .6xco + .4XAD + .lxso = x2 14 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS @RA-MA - Distribución de las maltas enriquecidas 1 y 2 XtH X2H CAPITULO l. CONSTRUCCION DE MODELOS XH, XL, tX¡L =X¡ t X2L =X2 min Z x¡, = x2 XtL t XAD t X..td ~ t XCM t XBD t X8d ~ 300 500 XCD + XCd = 200 X,W t XBD + XCD ~ 700 XAM + XBM + XCM ~ 110 XBM - Producción de maltas de alta y baja calidad = XH tX2L = X2L t XAM XtL debido a las igualdades, se formula s.a suponiendo que se utiliza toda la malta producida por el destilador. X!H tX2H 15 X¡H tX¡L - .4XAD - .7X8D- .3XCD XL x2 H + x2L- .ilxAo- .lxso- .6xco =O .3XtH - .7X2H ~ - Recetas de las maltas enriquecidas 1 y 2 0 - .55XtL t .45X2L X1 R t X2H ~ 215 .7xn ~ XtH 300XAM .55xL ~ xn =0 ~ 0 + 100XBM + 1300XCM t 1900(X¡H +X2H) + 1500(XtL +x2L) 30000 1 = M,D,d, k= 1, 2, t = H,L -1000XAD - l lOOXAd -1200xso -1300xsd -100xcd ~ Xij,Xkl,xk,xl ~o, - Satisfacción de la demanda del producto de alta calidad i = A,B, e, o XH ~ 215 - Satisfacción del objetivo económico + XBM t XCM) t 1900xn t 1500XL -1000xA-1200xs- 100(X..td +Xsd +Xcd) ~ 30000 1300(XAM - No negatividad de las variables X¡,Xjj,Xkj,Xk,Xi ~o, i = A,B,e, j = M, D,d, k= 1,2, l = H,L Finalmente, el objetivo será la minimización de volumen producido de baja calidad, es decir, Z=XtL+X2L En resumen, una vez !implificadoel modelo, tras eliminar las variables XA, xs, xc, 7. Planificación de una planta química. Una planta química fabrica tres sustancias A, B y e, utilizando carbón como materia prima básica. La planta dispone de minas propias que pueden producir hasta 600 u/día de carbón con coste de 2000 ptasju. Si la compañía necesita más carbón, puede adquirirlo a un distribuidor con un coste de 5000 ptasju. Además, utiliza en el proceso de producción agua, electricidad, gasóleo y mano de obra. La compañía eléctrica suministradora posee el siguiente sistema escalonado de tarifas $ - 34000 ptasju para las primeras 2000 u (por día). - 51000 ptasju para las primeras 800 u a part~r de 2000 u - 63000 ptas/u a partir de 2800 u La ~ompmiía de agua carga 7000 ptas/tl de agua utilizada por día hasta 900 unidades y 8500 ptas/u por encima de 900 unidades. Compra gasóleo a 4900 ptas/u, pero se restringe por motivos ecológicos al uso de 3000 unidades de gasóleo por día. Utilizando horario normal, la mano de obra disponible es de 750 horas sin coste. Puede conseguir hasta 220 horas extra con coste 15200 ptasjhora. El resto de los datos del proceso de producción se dan en la siguiente tabla que contiene las unidades necesarias para fabricar cada unidad de sustancia, así como sus precios de venta 1 16 PROGRAMACION LINEAL Y APLICACIONBS: EJERCICIOS RESUELTOS Sus t. A B e Carb. Elec. Agua Gas. .6 3.2 l.O 2.0 .9 1.2 2.5 4.0 .26 1.7 2.4 3.0 Horas 2.0 3.0 2.0 Benef.fu ( x l03 ptas) 290 para las primeras 85 u 240 para las posteriores 320/u hasta un máximo de 95 u Solución Introducimos las siguientes variables de decisión x1 = producción de A hasta un má.ximo de 85 u x2 = producción de A por encima de las 85 u xa =producción de B X4 = producción de e x5 = cantidad necesaria de carbón por encima de 600 u XG = cantidad necesaria de electricidad por encima de 2000 u X7 =cantidad necesaria de electricidad por encima de 2800 u xs = cantidad necesaria de agua por encima de 900 u xg = cantidad necesaria de mano de obra por encima de 750 horas Obsérvese que al existir un beneficio escalonado para la sustancia A, se ha considerado una v~riable de decisión para cada nivel. Análogamente, se ha hecho para las tarifas escalonadas de los distintos recursos. Las restricciones corresponden a disponibilidad de recursos para producir las sustancias. Tenemos las siguientes (carbón) (electricidad) (id. por encima de 2000 u) (agua) (mano de obra) (horas extra) (gasóleo) (lin:útes de producción) (no negatividad) La función objetivo representa el beneficio neto, en miles de ptas, que habrá que 17 maximizar. Tiene la expresión B = 290x 1 + 240x2 + 320xa + 380x4 - - 2[.6(x¡ +x2) + .9xa + 1.2x4 - xs]- 5x;;-34[3.2(x¡ + x2) + 2.5xa + 4x4 - Xo - x7] - 51x6- 63x7- 7[x¡ + x2 + .26xa + 1.7x4- xs]-8.5xs - 4.9[2(x¡ + x2) + 2.4xa + 3x4]- 15.2xg 1 1 380/u Fom1ular un modelo de programación lineal que proporcione el plan de producción de beneficio máximo. .6(x¡ +x2) + .9xa + 1.2x4 ~ 600 + x5 3.2{x¡ +x2) +2.5xa + 4x4 ~ 2000 + x6 +X7 xs ~ 800 Xt + x2 +.26xa + l.1x4 ~ 900 + xs 2{x¡ +x2) + 3xa + 2x4 ~ 750 + x9 Xg ~ 220 2(x¡ +x2) + 2.4xa +3x4 ~ 3000 X¡~ 85,xa ~ 95 Xi ? Ü, i = 1, ... , 9 CAPIT ULO l. CONSTRUCCION DE MODELOS ©RA-MA Simplificando, queda el programa Lineal con variables acotadas max B = 163.2x 1 + 113.2x2 + 219.62xa +215x4-3x5- 17x6- 29x7 - l.Sxs - l5.2xg s.a .6x¡ + .6x2 + .9xa + 1.2x4 - xs ~ 600 3.2x¡ + 3.2x2 + 2.5xa +4x4 - xs - x1 ~ 2000 X¡ +x2 + .26xa + 1.7x4 - xa ~ 900 2x¡ + 2x2 + 3xa + 2x4 - xg ~ 750 2x 1 + 2x2 + 2.4xa + 3x4 ~ 3000 X¡ ~ 85, Xa ~ 95, X6 ~ 800, Xg ~ 220 X¡ ? 0, Í = 1, ..., 9 o 8. Planificación de mezclas en una planta química. Una planta química fabrica dos productos A, B mediante dos procesos I y II. La tabla da los tiempos de producción de A y B en cada proceso y los beneficios (en miles de ptas) por unidad vendida Proceso I Producto A B 2 3 3 Beneficio/u 4 10 n 4 Se dispone de 16 horas de operación del proceso l y de 24 horas del proceso II. La producción de B da, además, un subproducto (sin coste adicionaQ que puede venderse a 3000 ptasju. Sin embargo, el sobrante de debe destr·uirse con coste 2000 ptasju. Se obtienen 2 unidades de por cada unidad de B producida. La demanda de e se estima en, .a lo sumo, 5 unidades. Formular un programa lineal que dé el plan de producción con máximo beneficio. e e e i 18 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS CAPITULO l. CONSTRUCCION DE MODELOS ©RA-MA Solución Consideramos las variables de decisión x1 = producción de A x2 = producción de B X3 = cantidad de C vendida. X4 = cantidad de C destruida Con esta definición la suma X3 + X4 será la producción de C. Las restricciones se deben a: 19 siendo el problema escoger los pesos W¡, ... , Wn· Hay m observaciones Se pide: a) Formular el problema que proporcione los pesos w¡ que minimicen la suma de las desviaciones absolutas entre y e y. Reformv.lar el problema como uno de programación lineal. abso~uta. b) !t. que minimicen la máxima desviación - Proporción de la producción de Ca partir de B Solución a) El objetivo es minimizar la suma de desviaciones absolutas entre valores observados de y y las predicciones ydadas por la función lineal. Definimos las variables de desviación o residuos 1 X2 = 2(x3 + X4) - Límite de demanda de C dj para j =Yi - Yi =Yi - W¡Z¡j +···+WnZnj =1, ... ,m. El problema de optimización queda m min D = L ldil - Límites de tiempo de ambos procesos j=l s.a 2x¡ + 3x2 ~ 16, 3x 1 +4x2 ~ 24. di =yi - yj, La función objetivo, que es el beneficio neto a maximizar en miles de ptas, es Por tanto, queda el programa lineal ma.x B s. a = 4x¡ + 10x2 + 3x3 - 2x4 WnZn siendo las variables de decisión dj y Wi, con j El problema anterior es no lineal debido al valor absoluto de la función objetivo. Para reformularlo como uno lineal, utilizamos el siguiente resultado elemental: "Para cualquier r E IR, si r = s - t, s · t = O, s, t ~ O, entonces lrl = s + t. Adem~, para todo r existen s, t ~O tales que r = s - t y s ·.t =O". Escribimos m mln D = E (sj + tj) j=l s. a S¡ - o fj =W¡Z¡ t · · · t =l, ... ,m = 1, ... ,m, e i = 1, ... , n. ldil =Sj +tj, j = l , ...,m· con Sj, ti ~ Oy Sj · tj =O, para todo j = 1, ... ,m. El problema se puede reescribir - 2X2 t X3 t X4 =0 2x¡ + 3x2 ~ 16 3x¡ t4x2 ~ 24 X3 ~ 5 X¡,X2,X3 1 X4 ~ 0 9. Ajuste lineal. Deseamos ajustar la función lineal j t¡ +WtZil +···+WnZn ! =Yt Sm - tm + W1Z1m +···+WnZnm =Ym =l , ... ,m Sj,tj ~O, j Wi E IR, =1, ... ,n i 1' rr 20 PROGR..<\MACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS CAPITULO l. CONSTRUCC!ON DE MODELOS ©RA·MA Necesidades Materia prima (dagju) Tasas Produc. (u/minuto) Volumen (cm3 fu) Beneficio/pieza (ptas/v.) Observemos que las condiciones Sj ·ti =O se cumplen de manera implícita en el óptimo, así que no es necesario ponerlas en la formulación anterior manteniendo con ello la linealidad y, por tanto, las ventajas computacionales que ello implica. b) El objetivo es minimizar la máxima desviación de los valores observados y a las predicciones if. El problema de optimización es min u s.a ] '-' t ,, - 1 n ¿ lOO 70 3 90 200 93 Rosws Tunos 6 5 70 lOO 85 50 200 110 Demandas mínima máxima = l , .. .,m j Observemos que las restricciones anteriores se pueden escribir Yi - 80 Congas La cantidad de materia prima disponible para los cuatro productos es de 60000 dag (decagramos), el volumen de almacenamiento es de 42 m3 y el tiempo de producción disponible es de 16 horas por día. Un estudio de mercado establece unos límites superiqres r. infenores para la demanda, que se presentan en la tabla, donde la raya significa que la consultora no ha sido capaz de proponer unas demandas máximas yjo m·ínimas que se puede expresar en forma equivalente ly.- i=l~ w·z··l <u Panchos 4 21 J WjZij ::; 'U Panchos Congas Roscas Tunos 3000 2700 3900 5000 6400 4700 i=l n Yi - [ Se pide: W¡Z¡j ~ -u a) Formular un modelo de programación lineal que haga máximo el beneficio i=l para j si se admite la producción parcial de los productos. =1, ... ,m. El problema se reformula como el programa lineal b) Si la compañía se siente satisfecha con que el beneficio esté por encima de 400000 ptas, formular un modelo en el que el objetivo sea la utilización de la menor cantidad de materia prima posible. min u s. a n u+ [ w¡ztj ~ Yi• j i= l = 1, ... ,m e) Discutir el problema si se desea optimizar beneficio y materia prima simultáneamente. n U- L W¡Zij ~ -yj, j =!, ... ,m o, W¡ E IR i i=l u~ Solución = l , ... ,n o 10. ·Planificació n de la fabricación y gestión de alimentos. Una empresa de alimentación produce cuatro productos denominados panchos, congos, roscas y tunos. Las necesidades de materia prima, tasas de producción, volúmenes y beneficios vienen dados en la tabla a) Sean fas variables de decisión PAN = número de panchos COG = número de congos ROS= número de roscas TU N = número de tunos Obsérvese que no hemos utilizado notación algebraica como en ejercicios anteriores, sino que se han dado nombres a las variables de decisión directamente 22 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS @RA-MA relacionados con el producto que representan. Esto será lo adecuado en problemas de cierto tamaño, pués resultará más fácil la lectura e interpretación de sus valores. Las restricciones se deben a: - Los requisitos de producción 4P AN + 3COG + 5ROS + 6TU N ~ 60000 (materia prima) toPAN+ ifoCOG +foROS+ toTUN ~ 9600 (tiempo) lOOP AN + 200COG + lOOROS + 200TU N ~ 42 X 106 (volumen) CAPITULO l. CONSTRUCC!ON DE MODELOS 23 y la función objetivo será min M =4PAN +3COG+5ROS+6TUN obtenida de eliminar el límite de ~isponibilidad de materia prima e imponer su minimización. e) Con este planteamiento, habrá que considerar simultáneamente los objetivos maxB y minM que expresados de manera conjunta se escriben - La satisfacción de la demanda 3000 ~ PAN ~ 5000 COG ~ 2700 3900 ~ROS~ 6400 TUN ~ 4700 teniendo, por tanto, un problema de programación lineal biobjetivo. El concepto de óptimo escalar no vale para este nuevo programa y la obtención de una solución pasa por la búsqueda de un "equilibrio" entre ambos objetivos, como veremos en el Capítulo 7. O - No negatividad PAN, COG, ROS, TUN ~O La función objetivo representa el beneficio económico B (en ptas) que hay que maximizar, siendo 11. Control de la producción de alimentos. Un alimento se produce mediante refinado y mezcla de 5 tipos de sustancias líquidas de dos clases: artificiales (al , a2) y naturales (nl, n2, n3). Cada sustancia puede adquirirse para reparto inmediato o futuro. La tabla da los. precios (x 102 ptas) por t de las sustancias para el primer semestre del año entrante B = 70P AN + 93COG + 85ROS + llOTU N Se tiene, por tanto, el programa lineal con variables acotadas max B s. a = 70PAN + 93COG + 85ROS + llOTUN 4P AN + 3COG + 5ROS + 6TU N ~ 60000 toPAN+ ifoCOG +:/oROS+ toTUN ~ 9600 lOOP AN + 200COG + lOOROS + 200TU N ~ 42 X 106 PAN ~ 5000, PAN ~ 3000, COG ~ 2700 ROS~ 6400, ROS~ 3900, TUN ~ 4700 PAN, COG, ROS, TUN ~O b) En este caso, la función objetivo pasa a ser la restricción monetaria 1 1 aY 70P AN + 93COq + 85ROS + l lOTU N ~ 400000 al Enero Febrero Marzo Abril Mayo Junio 130 150 130 140 120 110 a2 140 150 160 130 140 120 nl 150 130 150 140 170 160 n2 130 110 120 140 130- n3 135 135 115 145 125 lOO 155 El precio de venta del producto es de 17000 ptas por t. A lo sumo, se pueden refinar 320 t de sustancias artificiales y 350 t de sustancias naturales por mes. El proceso de refinado se realiza sin pérdida de peso y sin coste. Además, se pueden almacenar hasta 1360 t de cada sustancia para s{l posterior uso, con coste de almacenamiento de 600 ptas por t y mes. ·No es posible almacenar el alimento ni las sustancias refinadas. Existe, además, una restricción tecnológica sobre la dureza del alimento que debe estar entre 5 y 7 unidades. Se supone que las durezas de las sustancias se mezclan linealmente siendo éstas 24 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS al 9.5 a2 7.1 n2 n3 5.2 4.8 nl 3.4 CAPITULO l. CONSTRUCCION DE MODELOS ©RA-MA Se comienza con un inventario de 730 t de cada sustancia y se desea disponer de ese mismo inventario al final de junio. Formular un modelo de programación lineal cuya solución dé la política de compra y producción de máximo beneficio, suponiendo que se venden las sustancias refinadas. Solución . No negatividad a.¡;, - Relación inicial de continuidad 730te¡1 =r¡ 1 ta¡¡, i= 1,2,3,4, 5 - La relación general de continuidad C¡j, r¡; ~O, i = 1,2,3,4,5, j = 1,2,3,4,5,6 - Durezas 5 5 5Í::: f'ij ~ 9.5r¡; + 7.1r2j +3.4r3j + 5.2r4j +4.8rs; ~ 7 Í::: r¡; ~1 para j Con i = 1, 2, 3, 4, 5 designaremos las sustancias al, a2, nl, n2, n3, y con j = 1, 2, 3,4,5, 6 los seis meses del horizonte de planificación, respectivamente. Cada mes se puede adquirir, refinar y almacenar cada tipo de sustancia. Definimos las variables de decisión e¡; = cantidad de sustancia i adquirida el mes j r¡; = cantidad de sustancia i refinada el mes j a¡j =cantidad de sustancia i almacenada (al final) del mes j Las restricciones son consecuencia de: 25 ~1 = 1,2, 3, 4, 5, 6. La función objetivo está formada por tres sumandos, todos ellos x102 ptas, que son - Beneficio de la venta B1 = 170 2::: r¡; i,j - Costes de compra C1 = 130cu + 150cl2 + 130ct3 + 140cl4 + 120c¡s +llOc¡s + 140c21 + tlSOc22 + l60c23 + 130c24 + 140c2s + 120c2s + 150C3t + 130c32+ t150c33 + 140c34 + 170cas + l60c3s + 130C4t + l10c42 + 120c43+ t140C44 + 130c4s + lOOc45 + 135cs¡ + 135cs2 + 115cs3 + 145c54+ +125css + 155cs6 - Costes de almacenaje c2 = 6I:aij· - Relación de continuidad final a¡s = 730, i,j i = 1,2,3,4,5 con lo que queda el objetivo max B(c,r,a) - Límites de refinado r¡; +r2j ~ 320 } j r3; + r4; + rs; ~ 35O o = 1,2,3,4, 5,6 - Límite de Al.rnacenamientó 1 • a¡;~ = Bt- Ct- C2 1360, i,j = 1,2,3,4,5 12. Planificación de compra de crudos. Una refinería produce gasolinas • Súpe~ y Plus. Estas gasolinas difieren únicamente en la cantidad que poseen de dos aditivos a yb:JPara cumplir las normas vigentes, la gasolina Súper debe tener al menos 35% de a y1 como mucho, un 60% de b; la Plus debe tener al menos un 30% de a y, a lo sumo, un 55% de b. La refinería adquiere crudo de Arabia con r 26 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS CAPITULO l. CONSTRUCCION DE MODELOS @RA-MA una calidad del20% de a Y 70% de b, y crudo de Venezuela con calidad 50% de a_ y 35% de b. Los costes por barril son de 22 dólares para el crudo de Arabia y 24 para el de Venezuela. Se sabe que la demanda semanal es de 600000 barriles de gasolina Súper y 400000 de Plus, que hay que satisfacer. Construir un modelo de programación lineal que permita conocer cuántos barriles son necesarios para que la factura del crudo sea lo menor posible. por el origen y (2) tiene menor pendiente, y, análogamente, prescindiendo de la restricción (3) por su redundancia respecto a la (4), tenemos el programa Lineal mine = 22x¡ + 22x2 +24xs + 24x4 s.a X¡ t x; Solución Introducimos cuatro variables de decisión x 1 =número de barriles de crudo de Arabia para gasolina Súper x2 = número de barriles de crudo de Arabia para gasolina Plus x3 = número de barriles de crudo de Ven~zuela para la gasolina Súper x4 = número de barriles de crudo de Venezuela para la gasolina Plus Las restricciones se tienen de los siguientes requisitos: - Demandas de ambos tipos de gasolinas X¡ t X3 2: 600000, X2 t X4 2: 400000' - Recetas sobre calidad de las gasolinas .20x 1 + .50x3 2: .35 (x¡ + x3) (1) } S, .70x¡ + .35x3 S .60(x¡ + x3) (2) uper 27 X3 2: 600000 +X4 2: 400000 -.l5x 1 + .15x3 2: O - .15x2 + .20x4 2: O X¡ 1 X2,X3 1 X.¡ 2: 0 o 13. Sistema inconsistent e de ecuaciones. Construir un modelo de progra- mación lineal que resuelva de ''lorma aproximada" un sistema inconsistente de ecuaciones lineales. Solución Un sistema inconsistente de ecuaciones lineales no tiene solución. Podemos estar ~nteresados en obtener una solución lo más próxima a satisfacer el conjunto de ecuaciones en algún sentido a precisar. Puede haber problemas en los que surgen tales tipos de sistemas y es interesante proponer algún procedimiento de resolución. Sea el sistema general de m ecuaciones y n variables Xj n l: a¡;Xj = b¡, i = 1, ... ,m. j=l Dado un conjunto de valores (x 1, ... , xn) para las variables, consideramos la variable de desviación asociada a la ecuación i como _ Condiciones de no negatividad X¡,x2 , X3 , X4 2: O La función objetivo es de minimización y refleja el coste total de la compra de crudo en dólares. Viene dada por la expresión min e= 22(X¡, .t n d¡ = L a¡;xi - b¡, i = 1, ... , m. j=! X2) t 24(X3 t X4) Prescindiendo de las restricción (2) por su redundancia respecto a la (1), esto es, toda solución que satisface (1) satisface (2), pues las ecuaciones asociadas pasan 1 Es evidente que si el sistema de ecuaciones tuviera solución, serían nulas las variables de desviación. Sin embargo, si no existe solución, una o más variables de desviación serán no nulas para cualesquiera valores de las variables x1. Como consecuencia, se plantea el problema de cómo elegir los valores de x; de modo que se obtenga la mejor aproximación para el sistema inconsistente de ecuaciones. Una 28 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS CAPITULO l. CONSTRUCCION DE MODELOS @RA-MA forma de hacerlo es elegir aquellos valores x; que hagan mínima la mayor desviación absoluta (ver Ejercicio 1.9). En efecto, si introducimos la nueva variable z, formulamos el problema de optimización lleva a formular el programa lineal maxz = s. a min z s. a n z;::: ldil , i =l, ... ,m Ea¡;x; - b¡ j=l n z ;::: - L G.ijXj + b¡ } i i = l, .. ,m x; ;::: O, j = 1, .. ,n que será factible por existir la solución trivial. Si z > O, existirá alguna solución con al menos una variable positiva. O 15. Factibilidad de un sistema de ecuaciones. Dado un sistema de ecuaciones lineales consistente y con variables estrictamente positivas, formular un = l, .. ,m programa lineal que permita conocer si tal sistema tiene solución. j=l Solución Sea el sistema general de m ecuaciones y n variables positivas x; que tiene 2m restricciones y n +1 variables z, x1, ... , Xn, con X¡, ... , Xn no restringidas en signo. Otra forma posible de elegir los valores de las variables x; consiste en minimizar la suma de desviaciones absolutas (ver Ejercicio 1.9). Formule el lector el correspondiente problema de optimización transformándolo posteriormente en uno lineal. O n L a¡;x; = b¡, i = 1, .. , m j=l x; >O, . j = 1, .. , n El procedimiento para determinar si alguna solución satisface el sistema anterior, consiste en introducir una nueva variable z y reemplazar las condiciones Xj > Opor las x; ~ z. Es evidente que el sistema original tendrá solución si el nuevo sistema tiene solución con z > O. Basta entonces con resolver el programa lineal max z s. a 14. Solución no trivial de un sistema homogéneo. Gontruir un programa lineal a partir del cual conozcamos si un sistema de ecuaciones lineales homogéneo con.variables no negativas tiene solución distinta de la trivial. Solución n L G.ijXj =b¡, i = 1, .".,m Consideramos el sistema de ecuaciones lineales homogéneo general j=l n l:G.i;x; j=L L a¡;x; =O, j=l que es no lineal. Reformularnos el problema para convertirlo en lineal escribiéndolo min z s.a z ;::: 29 =O, i x;>z, =1, .. ,m donde suponemos que x; ;::: O para j = 1, ... ,n. Deseamos determinar si este sistema tiene solución distinta de la trivial (x; = O, 'V j). Observemos que si existiera tal solución, la suma de los valores de las variables sería positivo. Esto j=l, .. ,n El sistema original tendrá solución si y sólo si el valor óptimo z* es positivo. O 1 16. Planificación de una fábrica. Una empresa de productos informáticos fabrica cinco tipos de teclados denominados T El, ... ,T E5. Utiliza para ello las siguientes máquinas: 3 soldadoras, 2 tornos, 3 pulidoras, 1 ensambladora y 2 limadoras. Cada teclado requiere en el proceso de fabricación ciertos tie'!'pos de producción (en horas) en la utilización de las distintas máquinas y lleva un beneficio asociado (en miles de ptas) como se indica en la tabla 30 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS Soldadora Tomo Pulidora Ensambladora Limadora Beneficio CAPITULO l. CONSTRUCCION DE MODELOS @RA-MA y, para el segundo, TE1 TE2 TE3 TE4 TE5 .3 .4 .5 .2 .35 .02 .03 .11 .09 .5 .3 .6 .4 .43 .1 .13 .09 .12 .15 .02 .0-1 .05 .06 .1 3.7 4.2 5.1 3.9 3 t1¡2ts¡2 -p¡2=Si1 1 i=1, ... ,5 - Inventario al final de julio S¡¡~125, Sabemos que del conjunto de máquinas estarán en mantenimiento 1 soldadora en el mes de julio y 2 pulidoras en agosto. Los límites superiores de demanda en el mercado para cada tipo de teclado son Julio Agosto TE1 800 500 .3pu + AP21 + .5P3t + .2P4t + .35pst ~ 768 .02pu + .03P2t + .1lp41 + .09Pst ~ 768 .5pll t .6p21 + .4P3t + .43P4t + .3ps¡ ~ 1152 .1pu +.13P2t + .15P3t + .09P4t t .12Pst ~ 384 .02pu + .lp21 t .04P3t + .05P4t + .06ps¡ ~ 768 La empresa dispone de capacidad para tener un inventario de hasta 650 teclados con coste de 300 ptasju. No hay inventario en la actualidad, pero les gustaría disponer de 125 unidades de cada tipo al final de julio y ninguna en agosto. La · empresa opera 24 días al mes, 16 horas al día. Formular un programa lineal cuya solución sugiera qué deben producir durante estos dos meses para maximizar beneficios. 11u ~ 800, v21 $ 2000, t13 1 ~ 700,1141 ~ 900, 11st ~ 1300 5 i=l - Restricciones de producción para el mes de agosto .3p¡2 + Ap-22 +.5PJ2 t .2P42 + .35Ps2 ~ 1152 .02p12 + .03P22 + .llp42 +.09P.s2 ~ 768 .Sp12 + .6P22 + .4P32 + .43P42 + .3P52 ~ 384 .1Pt2 t .13P22 + .l5P32 +.09p.¡,2 + .12ps2 ~ 384 .02p¡2 + .lp22 + .04P32 + .05P42 + .06Ps2 ~ 768 inventario t-I+ prodt = ventat + inventariot - Restricciones de venta para el mes de agosto que lleva a las restricciones para el primer .mes (pues no hay inventario en la actualidad} =O - Restricciones de venta en el mes de julio L:s¡f~ 650 - Relaciones mes a mes Psi - vs¡ - Sst donde, por ejemplo, la constante 768=(2 máquinas)x(24 días}x(16 horasfdia}. - Restricción de inventario Solución Para cada tipo de teclado i = 1, 2, 3, 4, 5 y mes j = 1, 2 (julio= 1 y agosto=2) introducimos las variables de decisión Pii = cantidad de teclados tipo i producida en el mes j 11ij = cantidad de teclados tipo i vendida en el mes j Sij = cantidad de teclados tipo i acumulada en el mes j Las restricciones se deben a los requisitos siguientes: =O ) =0 i=l, ... ,5 - Restricciones de producción para el mes de julio TE2 TE3 TE4 TES 2000 700 900 1300 1500 300 450 550 Pll -11u - su P2t - 1121 - S21 31 v12 ~ 500, 1122 ~ 1500, t132 ~ 300, t142 $ 450, t1s2 ~ 550 1\ - No negatividad p¡1,11¡;,s¡; ~O, i = 1, ... ,5, j = 1,2 32 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS Falta por expresar el objetivo, en el que tendremos en cuenta los beneficios unitarios de venta y los costes de almacenaje. Se tiene así la función objetivo (en miles de ptas) max B = 3v11 + 3.7 v21 + 4.2 va 1 + 5.1 1141 + 3.9 vs1 + 3 v 12+ +3. 7V22 + CAPITULO l. CONSTRUCCION DE MODELOS @RA-MA 4. 2 V32 + 5.1V42 + 3.9 V52 - .3 L:Í= l S¡¡ o 17. Planificación de la producción e inventarios. Una empresa de productos informáticos fabrica cuatro tipos·de discos cuyas demandas se han estjmado dentro de unos márgenes mínimos y máximos. Se observan las siguientes característiws del proceso de producción y su venta: = tiempo total disponible por el fabricante = tiempo necesario para producir un disco del tipo i 9ii = gasto de materia prima j para fabricar un disco i e¡ = coste de mano de obra por unidad de tiempo para discos tipo i s;¡, = coste de una unidad de la materia prima j suministrada por k M; k = compra máxima al suministrador k de la materia prima j T t¡ m; k = compra mínima al suministrador k de la materia prima j A; = capacidad de almacenamiento de la materia prima j Introducimos las variables de decisión = unidades a fabricar de discos tipo í Yiik = materia prima j a adquirir al suministrador k para fabricar discos i x¡ Las restriccjones se deben a: - Los tiempos necesarios para producir cada tipo de disco son diferentes. - Límites a la demanda de discos - Las materias primas necesarias para la fabricación son las mismas para todos los discos, siendo éstas cinco. Se conocen los gastos de fabricación por unidad. - Hay tres suministradores de las materias primas que las venden a distinto precio al fabricante. Este desea, por razones polítíws, comprar a los tres dentro de unos límites mínimos y máximos. - Limitación en el tiempo de fabricación 4 ~ t·x · <T ~ ' i= l - Hay una ropacídad lim·itada de almacenamiento para las materias primas pero no para los discos fabricados. - Los costes de fabriroción están determinados, básicamente, por los de adquisición de las materias primas y los de mano de obra, ambos conocidos. '- - Limitación en la capacidad de almacenamiento de materia prima 4 3 Í: Í: Yiik :S A; , j = 1, 2, 3, 4, 5 i=l k=l Se desea formular un modelo de programación lineal que minimice los costes de fabricación de los discos. Solución Utilizamos los subíndices i = 1, 2, 3, 4 para los tipos de discos j = 1, 2, 3, 4, 5 para los tipos de materia prima k = 1, 2, 3 para los suministradores de la materia prima Los datos disponibles son D¡ = demanda máxima de los discos tipo i d¡ = demanda mínima de los discos tipo i 33 - Limitaciones de compra de materias primas a los suministradores ;,. u ffijk ~ ,ú Yijk ~ 1Vljk { 1=1 j = 1,2,3,4, 5 k= 1 2 3 ) ) - Relación entre materia prima solicitada y producción de discos 9ijXi ~ = k=l ú Yijk { i j = 1,2,3,4 = 1,2,3,4,5 34 CAPITULO l. PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS La función objetivo refleja los costes de mano de obra y los de materia prima, que habrá que minimizar. Se obtiene así la expresión matemática del objetivo 4 min C 4 5 i=l j=lk=l 18. Problema de corte óptimo. Una fábrica de papel produce bobinas con una medida estándar de 1000 m de longitud y 1 m de ancho. Recibe semanalmente pedidos de diferentes centros de suministro. Para la semana entrante este pedido es de 320 bobinas de 20 cm de ancho, 365 de 30 cm, 480 de 40 cm y 176 de 70 cm (todas con la misma longitud estándar de 1000 m). El fabricante debe cortar a lo ancho las bobinas de 1 m para satisfacer la demanda. Desea fabricar el mínimo número posible de bobinas de 1 m (se supone que los sobrantes se reciclan, por lo que tienen un coste despreciable). Formular un programa lineal que responda a los deseos del fabricante. Si el papel sobrante tuviera un coste no despreciable, ¿cuál seria entonces la función objetivo? Solución Definimos como variables de decisión las opciones de corte a lo ancho de cada bobina utilizables en producción de los tipos de bobina solicitados. Los cortes admisibles se presentan en la tabla t 1 20 cm 30cm 40cm 70 cm cm sobrante 1 5 2 3 o o 3 3 1 o 4 5 o 6 7 8 o o 9 10 1 1 2 35 [(número de bandas de cierto ancho en la opción 1)x x(número de bobinas tipo 1) + ···] ~ [demanda] 3 p Opción DE ~IODELOS Las restricciones vienen dadas por el deseo de satisfacer la demanda y tienen la forma =L e¡t¡x¡ +L L L SjkYijk i=l CO~STRUCCION 1 1 o 1 o o o 1 2 3 o 2 1 o 2 o o o o 1 1 o o o o o o o lO 10 o 10 o 10 o o es decir, 5Xt + 3X2 + 3X3 + X4 + X5 + Xg + 2X¡Q ~ 320 X3 + xs + X5 + 2x1 + 3xs + 2x10 ~ 365 X2 + X6 + X7 + 2xg 2: 480 +X5 ~ 176 X¡~ Q 'r/i =1, ... , 9 X4 El objetivo es fabricar el menor número de bobinas que, matemáticamente, expresaremos 10 minN = l: x;. i= l Si el papel sobrante tuviera un coste no despreciable (suponiendo que todo lo que se fabrica se vende), entonces la función objetivo sería mio S = 10x3 + 10x4 + 10x6 + lOxs+ +20 (5X¡ + 3X2 + 3X3 + X4 + X6 + Xg + 2X!O - 320) + +30 (x3 + xs + X6 + 2x1 + 3xs + 2xto - 365) + +40 (x2 + X6 + x1 + 2xg - 480) + +10(x4 + xs -176) Observemos que podemos suprimir las constantes en la resolución del problema. o 19. Planificación de personal. Una empresa de seguridad tiene a su servicio la vigilancia de un aeropuerto y debe cubrir las necesidades de personal durante los seis periodos de .J. horas en que está dividido el día, como se recoge en la tabla Periodo de tiempo 1 2 Definimos una variable de decisión X¡ por cada opción i de manera que, por ejemplo, X3 =p significa que p bobinas se cortan en 3 bandas de 20 cm, una de 30 cm y sobra una de 10 cm con coste despreciable. '• 3 4 5 6 Necesidade.s Duración de personal del periodo 27 12 AM - 4AM 30 8AM 4AM 52 8AM - 12 PM 12 pji¡J - 4 PM 56 67 8 PM 4 PM 48 8PM - 12 AM u. 1 36 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS Los vigilantes trabajan en tumos de 8 horas seguidas, con 6 cambios posibles de turno a lo largo de las 24 horas1 correspondientes a las horas de comienzo y finalización de los periodos en la tabla anterior. El director de personal de la empresa desea conocer cuántos vigilantes deben trabajar en cada periodo de manera que todos queden cubiertos y el total de personal utilizado sea mínimo. Solución Se desea controlar el número de vigilantes en cada periodo, por lo que definimos las variables de decisión ni = número de vigilantes que trabajan en el periodo j = 1, 2, 3, 4, 5,6. Para obtener las restricciones observemos que, por una parte, hay que satisfacer los requisitos mínimos de personal en cada periodo y, por otra, hay un solapamiento entre cada par seguido de periodos de 4 horas, ya que los trabajadores que comienzan en un periodo también están durante el siguiente, pues trabajan 8 horas seguidas. La tabla que sigue resume las afirmaciones anteriores. Periodos 12 AM 4AM horarios 4AM 8AM nr nr n2 8AM 12 PM 12 PM 4 PM 8PM 4PM 8PM 12 AM n2 n3 n3 n4 n4 ns ns Personal 27 ns ns 30 52 56 67 CAPITULO l. CONSTRUCCION DE MODELOS @RA-MA 48 Para expresar las restricciones, observemos que el número de vigilantes en el primer periodo será ns +n¡, en el segundo n1 + n2, ... Por tanto, las restricciones serán n5 +n¡ 2:27 n¡ +n2 2:30 n2 +n3 2: 52 n3 +n4 2: 56 _J~4 +ns 2: 67 + ns 2: 48 ns con la condición de no negatividad de todas las variables. También sería razonable exigir que las variables fueran enteras, en cuyo caso estaríamos ante un problema de programación entera, que estudiamos en el Capítulo 6. 3i Para fijar la función objetivo, observemos que el número total de vigilantes es la suma de los asignados a cada periodo, es decir, n¡ + n2 + n3 + n4 + ns + ns, que será el objetivo a minimizar. O 20. Problema del almacén. Una empresa que se dedica a la compra y venta de harina tiene un almacén con capacidad de 730 t. En la actualidad dispone de 265 t de reserva y maneja una predicción de los precios por t (en miles de ptas) para los próximos siete meses, tal como se recogen en la tabla Mes 1 2 3 4 5 6 7 Precio t 80 90 100 95 110 130 125 Hay un coste de almacenamiento por tfmes que es de 6000 ptas. El precio de la harina sufre fluctuaciones, de modo que la empresa busca una política de compra a precios bajos y venta cuando éstos se encuentran a un nivel más alto, teniendo en cuenta que esto es posible debido a que el mercado es muy dinámico y siempre hay disponibilidad y demanda de harina. La empresa desea construir un modelo de programación lineal que refleje tal política proporcionando el mayor beneficio posible. Solución Tenemos un problema dinámico: lo que se haga un mes afecta a los posteriores. Introducimos las variables de decisión: Ct =cantidad de harina comprada el mes t Vi = cantidad de harina vendida el mes t At = cantidad de harina almacenada el mes t con t = 1, 2, 3, 4, 5, 6, 7. Existe una dependencia entre estas variables dada por la relación inventariot-l +comprat = venta 1 +inveñtariot En términos de las variables de decisión y teniendo en cuenta la reserva en el primer mes, la reladón anterior se traduce en las restr~cciones 265 + C1 = V¡ +A1 At-1 + Ct = Vi+ At, t = 2, ... , 7 Además, existen restricciones debidas a la limitación del almacén At ~ 730, t = 1, ... , 7 38 PROGR!\MACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS @R!\-MA y de no negatividad para todas las variables Para construir el objetivo observemos que el beneficio neto al final del mes 1 será, en miles de ptas, 80V¡ - 80C1 - 6A 1 =80(V1 - C¡) - 6A 1 vendida _ ( coste d~ ) almacenarwento Los expertos de FI han detectado dos proyectos de inversión muy atractivos que se adaptan bastante bien a sus objetivos. Tales proyectos son válida para todos los meses excepto el primero. Así, la función objetivo, en miles de ptas, que es de maximización, queda B = 80(Vt - C¡) + 90(V2 - C2) + 100(V3 - C3) + 95(V4 - C4)+ +110(\15 - Cs) + 130(Vs - C6) + 125A6- 6(A¡ + A2 + A3 + ~ +As+ A5) = 80(V¡ - C¡) + 90(V2 - C2) + 100(V3 - C3)+ +95(V4 - C4) + 110(\15 - Cs) + 130(V6 - Cs)+ +125A6- 6(At + A2 + Aa + A4 +As+ A5) V1 + A1 - C~,= 265 Vi+1 + At+l - Ct+l - At =O, t = 1, ... , 6 O~ At ~ 730, t = 1, ... , 7 Ct, vt ~ O, t = 1, ... , 7 ' l 1 1 rante el primer año como edificio de oficinas. Los expertos estiman unas rentas (en millones de ptas) para una participación del100%, dadas en la tabla, donde los números negativos representan inversiones. 2. Gestionar dumnte el próximo año la empresa Informatics, dedicada al mantenimiento de grandes sistemas informáticos, que se encuent1·a en mala situación económica y necesita desembolsos iniciales para su reactivación. Debido a la tendencia del mercado, se espera que esta inversión sea rentable a partir del sexto mes, tal como se refleja en la tabla que corresponde a rentabilidades esperadas (en millones de ptas) para una participación del 100% s.a 1 l. Hacerse cargo de la reparación de un antiguo edificio y su explotación du- Periodo Inicial 3 meses 6 meses 9 meses 12 meses Renta -140 45 -28 -100 410 En resumen, se tiene el programa lineal con variables acotadas max B espera obtener nuevas rentas de inversiones anteriores que también puede disponer para su reinversión. Tales cantidades (en millones de ptas) se tienen en la tabla Periodo 3 meses 6 meses 9 meses Renta 115 90 82 Para los meses siguientes, se tendrá la relación cantida~ neta ) 39 21. Planificación financiera. La empresa Fondos de Inversión (Fl) deseo. planificar sus inversiones a un horizonte de un año. En la actualidad tiene 400 millones de ptas en efectivo que desea invertir. En los próximos 3, 6 y 9 meses, e,, vt, At ~ o, t = 1, ... , 1 precio ) x ( ( actual CAPITULO 1. CONSTRUCCION DE MODELOS Observemos que en este programa lineal no hay nada que fuerce a que Ct o Vi sean cero. Sin embargo, alguna de las variables debería serlo, pues no tiene sentido comprar y vender en el mismo mes ya que el precio en ambos casos es el mismo. Por ello, si en la solución óptima. fuera Ct > Oy Vi > Opara algún t, entonces es posible considerar una. nueva solución óptima redefiniendo los valores de las variables de manera que sea.n Ct = Ct- min(Ct, Vi) y Vi= Vi- min(Ct, Vi) que permanece factible, pues en las restricciones sólo aparece la diferencia vt- Ct. o Periodo Inicial 3 meses 6 meses 9 meses 12 meses Renta -105 -60 225 130 73 La participación en los citados proyectos puede ser inferior al lOO%, en cuyo casol las inversiones y rentas se reducirán de manera proporcional. Otras empresas de la competencia están dispuestas a asumir las participaciones que no cubra Fl. Al principio de cada periodo de tres meses, los fondos no dedicados en los proyectos anteriores se invierten en bonos del tesoro, que proporcionan una rentabilidad trimestral del 3%. FI desea conocer cómo invertir su capital de 400 millones entre los proyectos y bonos del tesoro, para que la renta a final del año sea la mayor posible. 40 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS ©RA-MA Solución CAPITULO l. CONSTRUCCION DE MODELOS 41 Se espera que al final del presente año quede un inventario de 435 compactos y 580 vídeos. La mano de obra para la fabricación de un compacto lleva 3 horas¡ para un vídeo 4 horas. La disponibilidad de horas en el trimestre que termira habrá sido de 14000. Dada la situación actual de la empresa y del mercado, se conviene en aceptar una fluctuación en el tiempo de fabricación disponible que puede aumentar hasta en un 15% o disminuir hasta en un 7%, de un trimestre al siguiente. La tabla que sigue muestra, para cada producto, los costes de fabricación, de inventario y de mano de obra, todos ellos en miles de ptas Definimos las variables de decisión XOFJ = fracción de participación en el proyecto de oficinas XJNF = fracción de participación en la empresa de informática D1 = dinero inicial dedicado a bonos D2 = dinero disponible a los 3 meses para inversión en bonos D3 = dinero disponible a los 6 meses para inversión en bonos D4 =dinero disponible a los 9 meses para inver~ión en bonos con las cantidades Di en millones de ptas. Las restricciones deben reflejar la relación Costes/unidad Fabric. compactos Fabríc: vídeos Inventario de compactos Inventario de vídeos Mano de obra/h (dinero invertido) =(dinero disponible) Así, tendremos, dividiendo todas las restricciones por 1 millón, +105xrNF +D1 - 400 =O +D2- 45xop¡-1.03D 1 -115 =O 28xoFI + D3- 225xiNF -1.03D 2 - 90 =O lOOxop¡ +D4- 130XJNF -1.03D3 - 82 =O Trím. 1 Trim. 2 Trim. 3 Trím. 4 23 31 25 37 24 38 3 5 7 3 4 7 2.5 4 8 24 39 2.5 3.5 9 Por razones de espacio, el inventario combinado de ambos productos no puede superar las 3300 unidades por trimestre. Pensando en la planificación para el año siguiente, se quiere obtener que el inventario al final del cuarto trimestre sea de, al menos, 700 compactos y 390 vídeos. No hay restricciones presupuestarias, ya que los bancos prestarán a la empresa el dinero necesario para asumir los distintos costes que esperan irse cubriendo con las ventas. · Construir un modelo de programación lineal para la planificación de la producción con coste mínimo. 140xoFJ 60XINF Además, todas las variables deben ser no negativas con XOFI ;S 1, XJNF Solución ;S 1 El_ objetivo es maximizar el dinero disponible al final del periodo de 12 meses, que vtene dado por R = 410xon +73xiNF + 1.03D4 . o 22. Producción integrada. La compañía Vision fabrica co~pactos y vídeos que vende directamente en su cadena de tiendas. El departamento de organización de la compañía se ha marcado unas "!etas en las ventas para el año entrante, que se divide en trimestres. Tales metas se tienen en la tabla Producto Compacto Vídeo Trim. 1 Trim. 2 Trím. 3 Trim. 4 6000 3200 3800 4700 8000 2900 2600 3800 Definimos, para cada trimestre t = 1, 2, 3, 4, las variables de decisión PCOt = producción de compactos durante t PVIt =producción de vídeos durante t SCOt =inventario de compactos (superan meta de venta) al final de t SV lt = inventario de vídeos (superan meta de venta) al final de t N HDt = número de horas para fabricadón durante t Además, debemos considerar los inventarios de ambos productos al final del año, que serán los inventarios entrantes del primer trimestre. Estos serán 435 compactos y 580 vídeos. Introduzcamos las restricciones para el primer trimestre, relativas a: - Ventas de ambos productos que reflejan que la producción más el inventario entrante debe ser igual a las ventas más el inventario restante. Se tiene así PC01 + 435 = 6000 + SC01, PV lt +580 =3200 + SV ]¡ 42 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS ~ NHD 1 ' min e con NHD1 ~ 1.15 X 14000, NHD¡ 43 Después de sustituir los coeficientes, queda la función objetivo - Disponibilidad de tiempo para la fabricación 4Pe01 + 3PV]¡ CAPITULO l. CONSTRUCCION DE MODELOS @RA-MA ~ .93 X 14000 = 23Pe01 + 25Pe02 + 24Pe03 + 24Pe04 + 31PV /1 + +37PV !2 + 38PV!3 + 39PV!4 + 3Se01 + 3Se02+ +2.5Se03 + 2.5Se04 + 5SVI1 + 4SVI2 + 4SVI3+ +3.5SVI4 +7NHD¡ +7NHD2 +8NHD3 +9NHD4 o - Limitación en el inventario de ambos productos Se0 1 + SV ]¡ ~ 3300 Si denominamos con Mt y Nt las metas relativas a las ventas de los respectivos productos, entonces las restricciones análogas para los otros trimestres t = ~ . 3:4, son PeOt + SeOt-1 = Mt +SeO, PV lt + SVIt- 1= Nt + SVIt 4PeOt +3PVIt ~ NHD, .93NHDt- l ~ NHD, ~ l.l5NHDt- 1 SeOt + SVl t ~ 3300 Además, habrá. que añadir restricciones para el nivel mínimo de inventario al final del cuarto trimestre seo4 ~ 100, sv14 ~ 390 23. Distribución de productos. CAB es una empresa que se dedica al empaquetado de verduras en tres centros situados en Alicante (A), Cáceres (e) y · Zamora (Z), que se envía posteriormente a cinco centros de distribución situados en Madrid (M), Valencia (V), Sevilla (S), Barcelona (B) y Lugo (L). El coste unitario de la materia prima y su empaquetado en Alicante es de 75 ptas, en Cáceres de 71 ptas y en Zamora de 76 ptas. Las predicciones de demanda de paquetes se tienen en la tabla C. de distrib. Demanda Cáceres 4 4 4 t=l t=l t=l 4 o 4 + L: eSVt x SVIt + L: eHTt x NHDt t= i t=l Zamora t = 1,2,3,4 e=¿: eeot x PeaL+¿: evit x PVIt + ¿: esct x seot+ 6000 Madrid Las condiciones de no negatividad son La función objetivo a minimizar es el coste total de prÓducdón e inventarios. Si denominamos eeOt = coste de fabricación de un compacto durante el trimestre t CV 11 = coste de fabricación de un vídeo durante el trimestre t ese1 =coste de inventario de un compacto durante el trimestre t eSVt =coste de inventario de un vídeo durante el trimestre t eHT1 = coste de hora de trabajo durante el trimestre t el objetivo será Valencia 9000 Sevilla Barcelona Lugo 8000 5000 10000 La capacidad de empaquetado en Al·icante es de 14000 paquetes, en Cáceres de 15000 y en Zamora de 10000. Los costes de transporte por unidad de los centros de empaquetado a los de distribución se recogen en la tabla Alicante PeO,,PVIt,SeOt.SVIt ,NHDt ~O , Madrid 14 11 12 Valencia Sevilla 7 15 14 8 7 10 Barcelona Lugo 17 18 13 21 16 9 Formular un programa lineal que determine cuántos paquetes deben enviarse desde cada centro de empaquetado a cada centro de distribución para tener un coste mínimo. Solución Sean las variables de decisión Xij = número de paquetes que se envían del centro de empaquetado i al centro de distribución j, con i =A, e,Z, j =M, V, S, B, L Las restricciones corresponden a: - Limitaciones de disponibilidad + XAV + XAS + XAB + XAL ~ 14000 + XCB + XCL ~ 15000 XZM + XZV + XZS + XZB + XZL ~ 10000 XAM XCM +XCV + XCS 44 PROGRA.I',lACION LlNEAL Y APLICACIOt-íES: EJERCICIOS RESUELTOS CAPITULO l. CONSTRUCCION DE MODELOS ©RA-MA - Satisfacción de demanda + XCM +XzM ~ 9000 + Xzv ~ 6000 XAS + XCS + XZS ~ 8000 XAB + XCB + XzB ~ 10000 XAL + XCL + XZL ~ 5000 Tipo de Superficie Mano de obra Beneficio/Ha maíz máxima horasfmesfHa miles de ptas 800 L 350 5 4 760 M 510 480 735 G 6 XAM XAV +XCV La siembra tiene asociada unos costes por ha qu'! difie~n según la finca y el tipo de maíz utilizado y que indicamos en miles de ptas L M G - No negatividad Xjj~O, = 75 (XAM + XAV + XAS + XAB + XAL) + +71 (XCM +XCV+ XCS + XCB + XCL) + +76(xzM + xzv + xzs + xzs + xzL) + +14XAM + 7XAV + 8XAS + 17XAB + 21XAL+ +llxcM + 15xcv + 7xcs + 18xcs + 16xcL +12xzM + 14xzv + 10xzs + 13xzs + 9xzL Este problema forma parte de una clase específica de problemas denominada de transporte o distribución, que tiene procedimientos de resolución específicos y se estudia en el Capítulo 4. o 24. Planificación de un cultivo. A un gabinete de ingenieros agrónomos le encargan la planificación del cultivo de tres fincas de labranza de rendimiento similar. La superficie cultivable de cada finca medida en ha y el personal disponible en cada una de ellas se tiene en la tabla Finca 1 2 3 1 60 48 52 2 56 51 50 3 53 50 61 i=A,C, Z, j=M,V,S,B.~ La función objetivo coste, que es de minimización, es min 0 45 Superficie de Número de cult-ivo trabajadores 300 20 640 40 445 30 Los empleados trabajan un promedio de 7 horas diarias, 22 días al mes. El gabinete se propone dedicar la superficie cultivable a maíz, que puede ser de tres variedades diferentes denominadas largo (L), mocho (M) y grande (G). La tabla que sigue proporciona las superficies máximas que pueden cultivarse con cada variedad (por limitaciones en la disponibilidad de semilla), las necesidades de mano de obra por mes y el beneficio esperado en miles de ptas, por ha en ambos casos. Para respetar los deseos del propietario, el gabinete debe desarrollar una planificación en la que la proporción de tierra dedicada al cultivo sea la misma en las tres fincas, aunque la proporción de las variedades de maíz plantado no tenga que respetar tal condición. 1' Formular un modelo de programación lineal para conocer la superficie de cultivo y el tipo de maíz utilizado en cada finca para que el beneficio esperado sea máximo. Solución Introducimos la seis variables de decisión Xij = número de ha de la finca i dedicadas al maíz j con i = 1, 2, 3 y j = L, M, G. Las restricciones se deben a: - Limitación en las superficies de cultivo en cada finca +X¡/vf +XIG ~ 300 + X2M +X2G $ 640 X3L + X3M _¡_ X3G $ 445. X¡[, X2[, - Limitación en las variedades de maíz XtL +X2L + X3L ~ 350 XtM + X2M +X3M ~ 510 XtG +X2G + X3G $480 - Limitación en horas/mes/Ha para cada finca 5XtL + 4xtM + 6xw $ 20 X 22 5X2L +4X2t\.f + 6X2G $ 40 X 22 5X3L +4X3M +6X3G $ 30 X 22 7 = 3080 X 7 =6160 X 7 = 4620 X 46 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS @RA-MA = X3L + XJM + X3G X2L + X2M + X2G 640 445 Solución - No negatividad de las variables La función objetivo representa el beneficio total esperado, en miles de ptas, dado por B = 800{x¡L + X2L + X3L) + 760(XtM +X2M +X3M)+ +735(x1G + X2G + XJG)- (60XtL + 56X2L + 53x3L+ +48X¡M + 51X2M + 50X3M + 52xw + 50X2G + 61X3G) Sean las variables de decisión M¡ = tiempo utilizado por el equipo i en completar la tarea M N¡ = tiempo utilizado por el equipo i en completar la tarea N P¡ = tiempo utilizado por el equipo i en completar la tarea P Q¡ ;::: tiempo utilizado por el equipo i en completar la tarea Q con i = 1, 2, 3, 4. Las restricciones son consecuencia de: - La imposición de terminar las cuatro tareas admitiendo realizaciones parciales para los cuatro equipos 1 1 1 1 M1 + M2+ Ma + M4 = 1 52 57 51 56 1 1 1 1 212N1 + 218N2 + 201 Na+ 223N4 = 1 o que es de la forma de maximización. 25. Distribución de tareas. Un empresario que se dedica al montaje de grandes sistemas, recibe un encargo para la próxima semana. Tiene dividido el proceso en cuatro tareas denominadas M, N, P y Q, que pueden realizarse en cualquier 1 1 1 1 25p1 + 23p2 + 26p3 + 21 p4 = 1 orden, parcial o total e indistintamente por cuatro equipos de trabajo distintos. El tiempo en horas empleado en cada tarea realizada de forma completa por cada equipo son Equipo M 1 2 3 4 1 ' 1 1 52 57 51 56 Q 212 218 201 223 60 57 54 55 Las horas semanales de que dispone cada equipo y el coste de trabajo por hora (en ptas) se recogen en la tabla Tiempo disponible Equipo por semana (hóras) 1 2 3 4 220 300 245 190 1 \ 1 1 1 60Q 1 -f 57Q2 + 54Q3 + 55Q4 = 1 - La limitación en horas del tiempo semanal de cada equipo Tareas N p 25 23 26 21 47 Formular un programa lineal que permita conocer cuántas horas debe emplear cada 1equipo para minimizar el coste total de montaje del sistema. - Igualdad en la proporción de superficie cultivada en cada finca XtL + XtM + X1G 300 CAPITULO l. CONSTRUCCION DE MODELOS Coste de hora de trabajo 6830 6950 7100 7120 M 1 + N1 + P1 + Q1 ~ M2 + N2 + P2 + Q2 ~ M3 + N3 + P3 + Qa ~ M4. + N4 + P4 + Q4 ~ 220 300 245 190 ' - La no negatividad de las variables de decisión M¡,Ni,P¡,Q¡ 2:: O, i = 1,2,3,4 La función objetivo representa el coste de reali.zación del montaje y es de minimización min C = 6830(Mt +N¡+ Pt + Q¡) + 6950(M2 + N2 + P2 + Q2)+ +1lOO(M3 + N3 + P3 + Q3) + 7120(M4 + N4 + P4 + Q4) o 48 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS CAPITULO l. CONSTRUCCION DE MODELOS @RA·MA 26. Planificación y expansión de una plantilla. La empresa municipal de transportes estima que necesita para su horizonte de planificación, que cubre los próximos 6 meses, una media de 315 empleados/mes, con, al menos, 100 empleados que conduzcan autobuses durante el primer mes. La empresa se ha planteado las siguientes condiciones: a; = número de administrativos en el mes j d; = número de empleados nuevos que reciben enseñanza en el mes j Las restricciones son: - Disponibilidad de personal en el primer mes c1 + e1 + a1 = 250 l. En un mes dado, cualquier empleado cualificado puede realizar una y sólo una de las tres tareas siguientes: conducir, enseñar, servicios. - Necesidades de personal para los próximos seis meses 2. Al principio del primer mes, la empresa dispone de 250 empleados cualificados para cualquiera de las tres tareas citadas. 6 6 2:.>; +L j=l i=l j=l - Número mínimo de conductores durante el primer mes 4. La disponibilidad de personal dispuesto a entrar en la plantilla para recibir enseñanzas está limitada en el primer mes a 80 individuos. El resto de meses es ilimitada. - Posibilidades de enseñar todos los meses y limitación de docencia en el primer mes C¡ ~ j-1 = 2, ..., 6 t=l i ~ 35e¡, d¡ ~ 80 =1, ...,6 - El empleado que conduzca un mes debe descansar el siguiente j-1 7. Los empleados contratados lo serán durante el periodo de 6 meses, es decir, no habrá bajas. 8. Los costes mensuales por empleado en miles de ptas para las tres tareas son 100 e; +e; +a; ~ 250 + .E d¡, j d.¡ 6. Como la empresa desea ofrecer mejor servicio y está en plena expansión, quiere que cada mes el número de conductores sea al menos un 10% mayor que el mes anterior. 1 6 e;+ L a1 ~ 315 x 6 =1890 3. Al principio de cada mes un empleado cualificado puede enseñar a 35 nuevos empleados que podrán real·izar cualquiera de las tareas al comienzo del mes siguiente. 5. Debido a la legislación vigente, un empleado que conduzca un mes no puede hacerlo en el siguiente. .l 49 Cj ~ 250 + 35 L d¡- Cj-1, j =2, ... ,6 i=l - Aumento del número de conductores j =1, ... ,5 c;.e;,a; ~O, j = 1, ... ,6 ci+ 1 ~ l.lc;, Empleo Conductor Profesor Administrativo Coste(u 300 450 250 1 Construir un programa lineal que planifique las necesidades de la plantilla con coste mínimo. - No negatividad ·La función objetivo a minimizar es el coste total Solución Para cada mes j = 1, ... , 6 introducimos las variables de decisión e; = número de conductores en el mes j e; = número de profesores en el mes j 6 6 6 e = 300 L Cj +450 L e; +250 La; j=l j=l j=l o r 1 1 1 CAPITULO 2 RESOLUCION DE PROGRAMAS LINEALES Dedicamos este capítulo a la resolución de problemas de programación lineal. Comenzamos con el procedimiento gráfico de resolución para el caso de dos variables de decisión. Aunque su interés es puramente académico, permite adquirir intuición sobre la solución de un programa lineal, sugiriendo los siguientes casos posibles: óptimo único, óptimos alternativos, problema no acotado1 problema infactible y rayo óptimo. Después, plantearemos la conversión de las restricciones de desigualdad en un conjunto de ecuaciones lineales simultáneas que proporcionará. las soluciqnes básicas, bien factibles o infactibles. Las primeras se corresponderán con los puntos extremos de la región factible definida por el conjunto de restricciones y serán las candidatas a solución o soluciones óptimas de un problema lineal. La resolución analítica de un programa lineal requiere su transformación previa al formato estándar añadiendo variables de holgura y/ o variables artificiales. El proGedimiento de solución que describimos es el método del símplex. En este método se parte de una solución básica factible y nos vam¿s desplazando por soluciones básicas factibles adyacentes que mejoren, o al menos no empeoren, el valor del objetivo hasta alcanzar la optimalidad o detectar que el problema es no acotado o infactible. En la resolución manual se suele utilizar el formato de tabla. Mostramos en varios ejercicios el papel de los indicadores o costes reducidos Zj - Cj para cada variable Xj , pues, a partir de ellos y sus vectores iriteriores y i, se sabrá si se ha alcanzado la optimalidad, es posible la mejora de la solución actual o el CAPIT ULO 2. RESOI..UCION DE PROGRAMAS LINEALES ~52:..__P ~R~O!..::G!.!.RA=M!,::;A~C~IO~N:....:I..~h:..:.;NE~A.::::L:....Y~AP:....::L~lC~AC!.!C~IO:::;N~B:;:,S::..,:~EJ~E~R~CI~C~IO~S~R.::::E~ -S~U~EI.;~:I'..::O~S-~(c)RA-MA problema es no acotado. Es interesante seguir la resolución analítica y gráfica simultáneamente, observando la correspondencia uno a uno, salvo degeneración, entre soluciones básicas factibles y puntos extremos de la región factible. En la resolución de un programa lineal con ordenador se utiliza el algoritmo del símplex revisado, que es esencialmente un esquema distinto de ordenación de los cálculos que se llevan a cabo con el método del símplex básico, prescindiendo de los que sean innecesarios para obtener la solución final. Varios ejercicios muestran la aplicación del método del símplex tanto en los casos en que sólo hay variables de holgura como en los que haya sido necesario considerar variables artificiales en el preprocesamiento del programa. En este último caso, se utiliza el método de las penalizaciones, también llamado de la variable artificial o de la M grande, conocido así por que se penalizan las variables artificiales en el objetivo con coeficientes - M, para intentar que abandonen la base lo antes posible y evitar la posible infactibilidad. Para superar las dificultades que conlleva la asignación de un valor concreto al coeficiente M, se ha introducido el método de las dos fases. También se ilustra la aplicación del método del símplex con variables acotadas superiormente, que tiene ventajas computacionales ya que no trata las cotas sobre las variables de decisión como restricciones. Varios ejercicios de aplicación, que también incluyen la modelización, ilustran los algoritmos anteriores y la interpretación de los valores óptimos de las variables de decisión y de holgura. El capítulo se complementa con aplicaciones de la programación lineal como el problema de regresión, lineal múltiple y parabólica, la solución de sistemas de ecuaciones, el estudio de la factibilidad de sistemas de ecuaciones y un modelo estático input-output. e) max z = d) ma.x s. a x1 +x2 s.a z X2 $4 2x2 $ 12 8x¡ +4x2 $32 X¡,X2 ~ 0 e) max 3x¡ 2x¡ z = x¡ tx2 X¡ 1 /) min s. a x1 + 2x2 ~O X¡- X2 ~ 0 X2 ~ 0 gramas lineales maxz = b) max s. a x 1 +x2 s.a X¡ +x2 $4 X¡~ X2 1 $2 X¡ 1 X2~0 z = X¡ + x2 X¡ +x2 ~ 4 x1 + 2x2 $ 2 X¡ 1 X2 ~ 0 , v l i~ - ~ 1,. J. +2x2 $6 +4x2 $8 X2 ~ 0 z =X¡+ 2x2 2x2 ~O 0 X¡~ 0 X¡+ X¡ -X2 ~ Solución Enumeramos las restricciones y condiciones de no negatividad con i situado en un círculo, siendo i el lugar en el que aparecen en el correspondiente programa lineal. Comenzamos por determinar la región factible. Para ello, representamos en un sistema de ejes coordenados bidimensional las restricciones, las de desigualdad como semiplanos y las de igualdad como rectas. El conjunto de puntos que verifican todas las restricciones y condiciones de no negatividad, si existe, constituye la región factible F. A continuación, dibujamos la función objetivo genérica z determinando el sentido de crecimiento (decrecimiento) si es de maximización (minimización). Desplazándola entonces hasta que sea tangente a la región factible, tendremos la solución o soluciones óptimas. Mostramos a continuación las gráficas de los programas anteriores con indicáción del tipo de solución y su región factible F. l. Solución gráfica de programas lineales. Resolver gráficamente los pro- a) +x2 6x 1 + a) EJERCICIOS X¡ X¡+ s.a .l = 53 Optimos alternativos .' f' 54 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS @RA-MA b} CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES 55 e) x, x, (i) No acotado ,. In factible f) e) x, (!) Rayo ópci:no o alcernacivos redundancia Opci~s y 2. Soluciones básicas y su imagen gráfica. Dado el programa lineal d) ma.x z = 3xt +4x2 s.a x 1 + 2x2 ~ 2 4x 1 + 3x2 ~ 12 X¡ 1 X2~Ü Se pide: a) Determinar gráficamente todas las soluciones básicas. b) ¿Cuáles corresponden a puntos extremos de la región factible, es decir, cuáles son soluciones básicas factibles? Opcimo ú."'ico \ 56 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES @RA-MA Solución 57 Solución Comenzamos transformando las variables que pueden tomar valores negativos a variables no negativas. Así, consideramos a) Transformamos las restricciones del programa en igualdades añadiendo una · variable de holgura Si a cada restricción. Tenemos así el sistema de ecuaciones lineales X¡ t 2 X2 t S¡ =2 4x¡ + 3x2 + s2 =12 con x4,x~ , x5 ~ O. Multiplicando la función objetivo por -1 para convertirla a la forma de maxirnización, la segunda restricción por :-1 para transformar la constante (-2) en no negativa, añadiendo variables de holgura (x5, i1) a la primera y segunda restricción y artificiales (xs, xg) a la primera y tercera, se tiene el programa lineal en el formato pedido con 4 variables y 2 restricciones. El número (máximo) de soluciones básicas es @=6. Están representadas en la figura con las letras O, A, ... , E. maxi = -3x¡-2x2+0x3-x~-x5+x5+ +0x6 + Ox1 - Mxs - Mxg s.a X¡ + X2 + Xs - Xs - X6 + Xg =5 - 2x¡ - ia +x4 +x1 =2 Xg =3 X¡ + X2 + X3 + Xt,X2 , xa , x4 , x~,x5 , x6 , X7 1 Xg,xg ~O donde M representa un número grande en comparación con los coeficientes de coste Cj del programa. O 4. Tabla del símplex incompleta. Dada la siguiente tabla correspondiente a cierta iteración del método del símplex b) Las soluciones básicas factibles serán O,B y C, que verifican ambas restricciones y las condiciones de no negatividad. o , 1 1 ' ~ 1 3. Formato estándar. Poner el siguiente programa lineal en formato estándar (de maximización), añadiendo variables artificiales para tenerlo en el formato de aplicación del método del símplex es Cj 14 25 18 VB o o o X¡ X2 X3 S¡ S2 S3 5/2 1/2 ' o o 3/4 1 1/4 o -3/2 1 -1/4 o o o o XB 200 100 1/4 . -1/2 1 40 z;- e; Se pide: min z s.a = 3x¡ + 2x2- X4 + xs X¡ +x2 +xs ~ 5 2X¡ + X3 +X4 ~ -2 X¡+ X2 + X3 =3 X¡ 1 X2,X3 ~ 0 X4 ~o, xs E IR a) Escribir las ecuaciones transformadas correspondientes a esta tabla. b) ¿Cuáles son las variables básicas? ~) \ Completar la tabla. d) Justificar si la tabla obtenida en e) es óptima. En caso negativo, ¿qué variable debe entrar en la base y cuál debe salir? 58 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS @RA-MA CAPlTULO 2. RESOLUCION DE PROGRAMAS LINEALES e) Obtener la tabla final. CB Solución a) Cada punto extremo de la región factible, definida por las restricciones del problema, es una solución básica factible del sistema. de ecuaciones definido por las restricciones transformadas. El método del simple~ se desplaza por puntos extremos moviéndose de una solución básica factible a otra. Para llevar ésto a ~abo, las ecuaciones originales se van transformando en representaciones equivalentes en cada iteración. Entonces, las ecuaciones correspondientes a la tabla actual son 5 3 1 - X¡ + - X3 +S¡ - -S2 =200 2 4 4 1 1 1 2x¡ + x2 + x3 + ¡s2=100 4 3 1 -2x3- 2s2 +s3 =40 S3. e) Los coeficientes en ca son los coeficientes de las variables básicas en la función objetivo. Por tanto, ca = (0, 25, O). Los indicadores de las seis variables se obtienen de la fórmula Zj - Cj =ckyj - Cj- 14 25 18 o o o X¡ X2 X3 S¡ 52 83 o 3/4 1/4 - 3/2 -47/4 5/2 1/2 S¡ 25 X2 o 83 o Zj- Cj -3/2 1 o o Yt = (5/2, l/2, 0), mm 1 Yi3 . 'Y•3 > o}_- . mill Por tanto, la tabla completa es ( =2500. 1 Y3 1 40 2500 o lOO = (3/4, 1/4, -3/2). . { 200 100} _ 200 mm 3/4, 1/4 - 3/4 { XBI XB2 } _ ' YI3 Y23 Y2t Y21 XB3 X _ YttXY23 _! Yt3 - 2 83 - ~ Yt3 ~ Z _ z _ (5/2)x( l/4) __ ! 3/4 = 40 - y13 _ XBt x(z3 -c3) _ YIJ - - 200x( -3/2}. 3/4 YtsX(z3-c3) _ 25 v z =C~XB =(0, 25, O) 200 que corresponde a la primera variable básica, es decir, s1. La primera fila será la pivote. Observemos que el cociente xa3/Y33 no se considera en la regla de mínima razón, ya que y33 =- 3/2 es negativo. El pi'vote será el elemento interior que está en la posición de cruce de la columna pivote y la fila pivote, es decir, Yt3 = 3/4. e) Mediante la operación de transformación de pivote se obtiene la nueva tabla. Si denotamos con ~ los elementos de la nueva tabla, el cálculo de algunos de ellos es zs _ ~e, = zs - es - 200 ) 1~6 XB o o La variable que debe entrar en la base es x3, ya que tiene el indicador más negativo, y la tercera columna será la columna pivote1. La variable que sale de la base se obtendrá por aplicación de la regla de mínima razón2 Por ejemplo, para la variable x1 es y, análogamente, para las restantes variables. Finalmente, el valor de la función objetivo es 1 - 1/4 o 1/4 o . -1/2 o 25/4 d) La tabla anterior no es óptima: existe posibilidad de mejora, ya que hay dos indicadores negativos (z1-c1 =-3/2, z3-c3 =-47 /4) con al menos un elemento positivo en sus respectivos vectores interiores . {XBi con Xj, s¡ ~ O, i,j = 1, 2, 3. En concreto, la solución básica actual es s1 = 200, X2 = 100, S3 =40. b) Las variables básicas pueden ser aquellas que tienen asociadas vectores interiores con un elemento igual a 1 y el resto O. Por tanto, éstas serán s1, x2 y ·1 ·o Cj VB 59 - 2500 4 - _ 3 =440 (- l / 4) x(-47/4) _ 7 3/4 - 3 200x (- 47/ 4) _ 16900 3/4 3 La nueva tabla completa es 1 Aunque existen otros criterios de selección de la variable de entrada, consideramos aquí el del indicador más negativo. 2 También existen otras alternativas de elección que no consideraremos aquí. 60 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS es 18 25 o 25 18 o o o S¡ xa 52 sa XS xa 10/3 o 1 4/3 - 1/3 o 800/3 X2 -1/3 1 o -1/3 1/3 o 100/3 5 o o 2 -1 1 440 sa z;- e; 113/3 o o 47/3 7/3 o 16900/3 Cj 14 VB X¡ CAPITULO 2. RESOLUCION DE PROGRAMAS LfNEALES ©RA-MA TABLA 2 -1 es -1 VB X¡ X¡ 1 -M xs xa X4 1 1 o -2 -4 -1 xM • 800 100 x1 =O, x2 = - -, x3=3 3 o 5. Indicadores en la tabla del símplex. Las tablas que se presentan a continuación corresponden a tablas de alguna iteración del método del símplex en problemas de maximización. Seleccionar de entre las condiciones que siguen aquellas que se adapten a cada problema y responder la cuestión correspondiente. \ X2 X5 o o o o 2 1 es 1 Xs X¡ -M X4 X& o X~ XB 3 1 4 -4 -1 -1 4 1 1 1 1 -1 o o 3 o o 3. o 1 o1 4 o o 1 o o o o xM TABLA 4 e; 6 8 es VB X¡ X2 6 xa 10 X2 19/5 3/5 xa :¡;4 XB o 1 -2/5 4 1 o 1/5 3 o o 2 30 o TABLA 5 es 15 -6 VB X¡ X2 z; - e; e) Existe un rayo óptimo. ¿Por qué? o 15 -6 X¡ X2 1 o o 1 o o o XB xa X4 -2/3 1/3 10/3 - 5/3 1/3 4/3 o 3 42 TABLA 6 f) El problema es infactible. g) Es posible la mejora en el objetivo. ¿Cuál es el pivote? 8 o -M o X3 Cj d) El problema es no acotado. ¿Por qué? TABLA 1 6 8 X¡ 15/4 X2 1/4 Zj- e; -4 xa -1 -2 X2 z; - e; e) La solución es deQenerada. ¿Por qué? o 4 X¡ b) Tiene soluciones óptimas alternativas. ¿Cómo se obtienen? e; VB 1 2 1 -3 z; - e; a) Tiene solución óptima única. CB XS o o o o 1 -1 TABLA 3 e; VB o con z* = 16900/3. -M -1 Zj - Cj • o o Cj X2 que es óptima, pues todos los indicadores Zj - Cj son no negativos. La solución que proporciona es un óptimo único, pues sólo las variables básicas en esta tabla final tienen indicadores nulos. La solución es • 61 X2 o o o xa 1 o o o 1 X4 Cj 3 2 o ().. CB VB X¡ X2 X3 X4 2 3 X2 o 1 X¡ Zj- Cj l. o o o XB 1/2 -1/2 2 -1/4 3/4 3 1/4 5/4 13 XS - 1 10 1/4 10 2 80 1 Solución · Tabla l. g) : es posible la mejora. Existe un indicador negativo z1 - c1 = - 4 con al menos un elemento positivo en su vector interior Yl ;= (15/4, 1/4). La variable 62 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS de entrada en la base es x 1 y la variable de salida, aplicando la regla de minima razón, mio {XBi' y¡¡> o}= mio{XBI' X82} i Yil Y11 Y21 =m~ {~• _!Q_} = _!Q_ !5/4 1/4 CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES @RA-MA 15/4 Solución Comenzamos por poner el programa en formato estándar de maximización, tratando las cotas sobre las variables como restricciones. Para ello, basta con sumar una variable de holgura a cada una de las restricciones quedando el programa max z = x1 +3x2 +Ox3 +Ox4 +Ox5 s.a es la variable X3. Por tanto, la columna pivote se tiene para j = 1 y la fila pivote para i = l. El pivote será Yu = 15/4. X¡ +XJ Tabla 4. b): la tabla es óptima por tener todos los indicadores no negativos y no haber variables artificiales en la base con valor positivo. Como la variable no básica x1 tiene indicador z1 - c1 nulo, hay indicación de óptimos alternativos. Para obtener un punto extremo óptimo alternativo, introducimos en la base la variable no básica X¡ en lugar de x3, por aplicación de la regla de mínima razón. El pivote será y¡¡ = 19/5 y en una transformación de pivote se obtiene la solución X¡ = 20/19, X2 = 45/19. Tabla 5. e): por tener la tabla todos los indicadores no negativos pero para la variable no básica X3 su indicador ZJ -c3 =O con vector interior Y3 = (-2/3, -5/3) no positivo. X¡ con x3 , x4, x5 variables de holgura. Construimos la tabla inicial del símplex. Para ello, observemos que la base inicial es o1 oo ) . o1 El vector de coeficientes de las variables básicas en la función objetivo es CB 1 l 1 6. Método del símplex. Resoluer mediante el método del símplex el programa lineal max z s.a = x 1 +3x2 X¡,X2~0 = B01ai = a;, = c~y¡ -C¡ =(0,0,0) ( z2 - c2 = -3, Z3 - C3 = 0, Z4 - C4 Los valores de las variables básicas iniciales son J • Seguir las iteraciones sobre la representación gráfica de la. región factible en el plano X¡X2, mostrando los puntos extremos que recorre el método. j = 1, ... , 5 y los indica- ~) -1 = -1. y, análogamente, X¡~ 5 x1 +x2 ~ 8 X2 ~ 4 = (c3,C4,C5) = (0,0,0}, con lo que los vectores interiores son Yi dores zt -C¡ Tabla 6. a): todos los indicadores son no negativos y sólo tienen indicador nulo en esta tabla final las variables básicas x2 y x 1. O =5 +x2 +x4 =8 X2 +X5 =4 X¡ 1 X2 1 X3 1 X.¡,X5 ~ 0 Tabla 2. f): al ser todos los indicadores no negativos corresponde a una tabla final pero en la que hay una variable artificial en la base con valor pósitivo. Por tanto, el problema es iofactible. Tabla 3. d): existe un indicador negativo Z3 - c3 = -1 con vector interior Y3 = (-4, - 1) , con todos sus elementos no positivos. 63 con lo que la tabla inicial es = 0, Z5 - C5 = 0. 64 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS 1 CB o o o e; 1 3 VB o o o X¡ X2 X3 X4 1 o X3 1 1 ¡• -3 o xs Zj - e; -1 xs X4 @RA-MA 1 o o 5 o 1 o 8 o o 1 4 o o o o e1 = -1 y z2 - e2 = -3, mjn{XBi ,y¡2 > 0} = min {XB2 XBa} = min {~, ~} = 4. Y22 Yi2 1 1 1 Ya2 Así, la variable básica xs en la fila pivote i = 3, es la variable que deja la base, aparece en negrita en la tabla. El elemento pivote es y32 = 1, marcado con un asterisco en la tabla. Podemos obtener, mediante la transformación basada en el pivote, la nueva tabla del símplex en la que ahora las variables básicas son X3, X4, x2. El cálculo de algunos elementos es ~=1 Y3s = vu = Yu - ~ = 1 - Y32 Y32 OxO = XB2- ~ = 8- XB2 Ya2 1 Cj 1 3 o o o ce VB X¡ X2 X3 o X3 1 X¡ 3 X2 Zj - Cj X4 xs XB o o 1 -1 1 o o 1 o 1 o o o o o 1 1 1 -1 4 1 4 2 16 Esta tabla es óptima, ya que todos los indicadores son no negativos. Además, el óptimo es único pues sólo las variables básicas (x¡, x2, x3) en esta tabla final tienen indicador nulo. La solución óptima es x• = (xi, x2, x3, x4, x5) = (4, 4, 1, O, O), con valor óptimo para el objetivo z• = 16. .-La tabla siguiente recoge la sucesión de soluciones básicas factibles y los valores asociados de la función objetivo que hemos recorrido en las iteraciones del símplex, hasta alcanzar la optimalidad. =1 l x4 1 Iteración =4 Solución básica factible (X¡ 1 Xz 1 X3, X4, Xs) z1 - c1 1 • l 1 = z Z¡ _ C¡ _ Y31 x(z2-c2) Y32 = z_ xaax(z2-c2) = - 1 _ O.x( -3) = _ 1 =O_ 4x(-3) = 1 Y32 . 1 11 IU 12 siendo la nueva tabla Cj 1 3 VB o o o CB X¡ X2 X3 3 X3 X4 Xz o o z;- e; X4 xs o 1 o o o o 1 -1 o 1 o o 1 -1 o o· o · 3 1 1' 65 De nuevo, vemos que es posible la mejora de la solución actual. La variable de entrada en la base es x1, su indicador z1 - c1 = -1, es negativo y su vector interior y 1 = (1, 1, O) tiene elementos positivos. La variable de salida es X4, pues proporciona la mínima razón 4/1 = 4. El pivote es Y2t =l. La nueva tabla es XB Los indicadores negativos son z1 teniendo sus respectivos vectores interiores y 1 = (1, 1, O) e y2 = (0, 1, 1), al menos un elemento positivo. Por tanto, es posible la mejora de la solución actual a otra solución básica factible. La variable de entrada es x2, que tiene el indicador más negativo, siendo j = 2 la columna pivote, aparece en negrita en la tabla. La variable de salida se obtiene mediante la regla de mínima razón 1 CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES 5 4 12 o 12 16 La figura describe la región factible en el plano x1x2. Se presenta la sucesión de puntos extremos de la región factible en las sucesivas iteraciones del símplex, marcados con números romanos. XB 4 (0,0,5,8,4) (0,4,5,4,0) (4,4,1,0,0) Valor del objetivo z 1 66 PROGRAMACJON LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS X2 CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES ©RA-MA Iteración l. La base inicial es (4} o o) 5 4 Bo = (a3,a¡, as) II ( 1 O 1 O . oo 1 El vector de coeficientes de las variables básicas en la función objetivo es 3 Región factible 2 CB (5) I 2 3 4 5 X¡ s,\ = o 7. Método del símplex revisado. Resolver mediante el método del símplex revisado el programa lineal del Ejercicio 2.6. Solución Como en el Ejercicio 2.6, reescribimos el problema en formato estándar de maximización. La matriz de coeficientes tecnológicos es ~ ~ ~ ). oo Z¡ - C¡ 1 C4,C5) para las variables no-básicas ¡ X¡ y xz. El mul- o = (0,0,0) . c~B0 1 =(0,0, O) ( oo1 o) 1 = Sbal - C¡ = -1, Z2 - C2 = Sba2 - C2 = -3 · El más nega~ivo es z2 - c2, por lo que l?- variable x2 o, equivalentemente, el vector columna a2 = (0, 1, 1) entrará en la base. Recordemos que para las variables básicas los indicadores son z; - Cj = O. Determinamos ahora la variable o el vector que sale de la base. Tenemos que x8 El vector de coeficientes en la función objetivo es Cj Así, los indicadores son = ~: 1 = (c¡ ,C2, C3 = (c3,C4,c5) = (0,0,0) . Calculamos los indicadores Zj tiplicador del símplex es 1 C = 67 Y2 = ( ., ) o ( 1 = B0 b = ~ 1 1 ( Y22~~ ) =B()taz = o o e O 1 Oo La regla de mínima razón proporciona el valor Y23 = (1,3, 0,0,0) y el vector de términos de la derecha de las restricciones o constantes es B=minn.n =4 que corresponde a la variable x5 . Esta variable o, equivalentemente, as = (0, O, 1}, abandona la base. La nueva base es Aplicamos el método del símplex revisado para la resolución: 1 B¡=(a3,8.4,a2)= ( o~ o~ ~ ) , 1 'r. l 68 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RES UELTOS su inversa es 1 Bj CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES @RA-MA su inversa es =u : ~1), y la solución básica factible asociada La solución básica factible asociada es Iteración 2. Calculamos el multiplicador del símplex Iteración 3. Calculamos el multiplicador del símplex s\ o) =c~Bj 1 =(0,0, 3) ( ~ o 1 o = (0,0,3). o sl =c~B¡ 1 = (0, 1,3) ( 1 Los indicadores Zj - ci para las variables no básicas x1 y x5 son z¡ - e¡ = si a¡ - e¡ = -1 y z5 - e y 1 = ( :::) =B[ 1 a 1 = =( c5 = si as - c5 = 3. Z4 - C4 n = S~a.t -1 l ) 1 -1 o 1 =(O, 1, 2) . - C4 = 1 y Z5 - Cs = s~as - C5 = 2. Como ambos son no negativos, la base B2 es óptima. La solución óptima es con z' O: ~1 O) D ) ¡ Los valores Zj - e; para las variables no básicas x4 y xs, son Como sólo z¡ - e¡ es negativo, la variable x 1 o, equivalentemente, el vector columna a¡ = (1, 1, O) es el que entra en la base. Para determinar la variable de salida tenemos que xs = (::) 69 = c~x¡, = (0, 1, 3) ( : ) =16 o =( 8. Indicadores en el método del símplex. La siguiente tabla corresponde Por tanto, e=min{~~ n = 4 que corresponde a la variable x 4 . Luego a¡ base es a un problema de programación lineal de maximización en el que no ha sido necesario añadir variables artificiales para su resolución = {0, 1, O) sale de la base. 1 La nueva VB X¡ X2 :l:J :l:J 7 a¡ 1 :1:4 -3 zs a3 -4 -2 Zj- C¡ -C¡ -C2 X4 o o 1 o o o o Xs a2 -2 6 9 X& o o 1 o XB b 3 5 16 70 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES ©RA-MA Determinar las restricciones sobre los valores desconocidos a1, a2 , a3 , b, c1, c2 para que se cumplan las siguientes condiciones: ' l. La solución proporcionada por la tabla actual corresponde a un óptimo 71 6. Como anteriormente b ;::: O. Para que sea una tabla final debe ser c1 ~ O y c 2 = O. Además, a1 :::; Oy así el vector interior de la variable x2 será no positivo, teniendo la indicación de rayo óptimo por esta variable. O único. 2. It. pero con óptimos alternativos. 9. Salida de una variable básica en el método del símplex. Probar que si 3. La solución proporcionada por la tabla actual es solución factible degenera- una variable básica sale en una iteración del método del símplex, no puede entrar en la iteración siguiente, salvo en el caso de óptimos alternativos. da. 4. La solución proporcionada por la tabla actual es solución factible, pero el problema es no acotado. 5. La solución proporcionada por la tabla actual es solución factible, pero puede mejorarse, o al menos no empeora el valor del objetivo sustituyendo x6 por x 1, obteniendo otra solución básica factible. 6. Existe rayo óptimo. Solución Tal situación puede representarse en la forma que aparece en la tabla, en la que se supone que Xj es la nueva variable que entra en la base y x¡ es la variable de salida, para cierta iteración del símplex. En este caso, el indicador z¡ - Ci es nulo, ya que actualmente x¡ es una variable básica, y el de Xj será negativo, es decir, Zj - Cj < O, por ser la variable candidata a entrar en la base y no haber óptimos Ñternatlvos. Sea Yii > Oel pivote. VB Solución 1 1. 1 i. J xs 1 Yii XBi o o z;- Cj z o l. Debe ser b ;::: O, ya que el método del símplex (primal) mantiene la factibilidad en las iteraciones. Si c1 < Oy c2 < O, todos los indicadores son no negativos y, además, como -c1 > O, -c2 > Oy el indicador de x5 , que es la otra variable no básica, también es positivo, se tiene un óptimo único. 1 Xj X¡ X¡ 2. También b ;::: O. Ahora puede ser c1 = O y c2 < O, con lo que la tabla será óptima, pero con indicación de óptimos alternativos por ser nulo el indicador e¡ de x¡. Alternativamente, podría tenerse la misma situación si c1 :::; O y c2 = O. Para no tener un rayo óptimo debe ser a1 >O. En la nueva tabla que se construye para la próxima iteración, el indicador de la variable X¡ que deja la base, es 3. Debe ser b =O. que es positivo, pues Zj - Cj < Oe Yii > O. Como en la nueva tabla z¡ - C¡ > O, la variable x¡ no podrá entrar en .la iteración siguiente. Si se introdujera en la base se produciría una reducción en el valor del objetivo. D 4. También b ;::: O. Si c2 > O, se tendrá que es posible la mejora, pero si añadimos que a¡ :::; O, el vector interior de la variable x2 es no positivo, de ahí la no acotación. 5. También b;::: O. Si c1 ;::: Oserá posible la mejora o, al menos, no empeorará el valor del objetivo. Además, debe ser a3 > O para poder aplicar la regla de mínima razón a la tercera fila de la tabla, con (5fa3 ) ~ (b/7) para que entre en la base la variable X6. También, si c2 > Odeberá ser a 1 > Opara evitar que el problema sea no acotado. ~ ~ Zj - Cj z¡ - e¡=-- - Yii 10. Forma producto de la inversa. Dada una matriz B y su inversa B- 1, con B= 3 ( o 2) 1 1 3 oo4 , B- 1 = ( 1/3 o -1/6 ) -1/3 1 - 7/12 o o 1/4 72 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS y suponiendo que el vector columna vector columna ~ producto. = (1, O, 2) 1 , @RA-MA CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES = (O, 1, W E B se Cllmbia por el determinar la nueva matriz inversa en la forma a2 =( 1/3 2/9 o -1/6) -2/3 7/18 -1/9 1/3 1/18 o Solución El procedimiento de la forma producto de la inversa es muy útil en el método del símplex, ya que permite obtener la inversa de una nueva base (o matriz básica) a partir de la inversa de otra base, siempre que ambas difieran sólo en un vector columna. La nueva matriz inversa B;;- 1 , supuesto que se ha reemplazado en B el vector columna ar por el aj, se obtiene del producto B~ 1 11. Método del símplex. Resolver por el método del símplex los programas lineales a) maxz s.a = b} min z s. a x, +x2 =UB - 1 d} maxz = 3x 1 + 2x2 s.a X¡ +4x2 515 3x 1 + x2 512 2x 1 + 2x2 510 3x,- x2 5 11 X¡ 1 X2 ~ 0 s.a x 1 + 2x2 ~O X¡ -X2 ~ 0 X¡~ 0 Solución a) Convertimos el programá lineal al formato estándar de maximización ma.x z s.a = -0/(-3/2) ) ( o 1/(-3/2) == -2/3 ( (-1/2)/(-3/2) 1/3 ) X¡ + x2 + Ox3 + Ox4 + Oxs X¡ +x2 + X3 = 4 5x 1 + 3x2 + X4 = 15 7x 1 +Sx2 +xs = 35 X¡ 1 X2,X3 1 X4 1 X5 ~ 0 =2 e !/24 =-3/2 f; O, es U = 2x 1 + x2 3x 1 + 2x2 56 2x¡ + 4x2 58 X¡~ 0 e) minz = x1 +x2 donde Yi =B - 1aj. En nuestro caso particular, calculamos = X¡ +x2 54 5x¡ + 3x2 515 1x 1 + 5x2 5 35 X¡,X2 ~ 0 con U matriz identidad salvo el vector columna r-ésimo, que es Como r 73 . La tabla inicial del método del símplex, en que las variables básicas iniciales son las tres variables de holgura (xa,x4,xs}, es Por tanto, -1/6 ) -7/12 1/4 es = o o o 1 'J VB 1 1 o o o X¡ X2 X3 X3 1 1 3 X4 s· xs 7 5 Zj_- Cj -1 -1 X4 xs XB o o 4 o 1 o 15 o o 1 35 o o o o 1 \ \ 74 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS ©RA-MA (en las tablas del símplex indicamos con un asterisco el pivote, y en negrita el · indicador correspondiente a la variable de entrada y .el valor de la variable básica de salida). Observemos que la base inicial es Bo= {a3, a¡, as), que proporciona la solución inicial básica factible, que podemos leer directamente en la tabla =( ~o o~ ~ ) 1~ -l ( 1 =( ) 35 1~ i 35 . {XB- t -XB2 -XB3} =mm. {4- -15 -35} =3 > o} =mm Yit ' Y11 ' Y2t ' Y3t 1' 5' 7 . La mínima razón corresponde a x4 , que es la variable de salida, con k= 2 la fila pivote. El elemento pivote es Y21 =5. Construimos una nueva tabla del símplex. El cálculo detallado de algunos nuevos valores es -1-~5 - .4 Y~12- XBt 1 ~ ~ Z2 - C2 =- 1- 3x(-l) -5- = -. 4' z- 15x( -1) _ - 3. s La nueva tabla, en la que las variables básicas son x3 , Xt y xs, sigue debajo. Reiterando el procedimiento obtenemos que la variable de entrada en la base es x2 , su indicador es z2 - c2 = - .4 con Y2 = (.4, .6, .8), que tiene, al menos, un elemento positivo. La variable de salida es x3, tiene mínima razón igual a 2.5 y, por tanto, el pivote es Ytz = .4. XJ X4 xs XB 1 -.2 .2 -1.4 .2 X¡ X2 o .4. .6 XJ 1 X¡ 1 o xs o o Zj- Cj o o o es .8 -.4 . o 1 1 e; VB o o o Como podemos ver, ahora la base es B 1= (a3,a 1, a5), que proporciona la solución básica factible Cj 1 es VB X¡ 1 1 ·x2 o o xs Xl Zj- Cj o o 1 1 14 o 3 3 o o o X2 X3 X4 xs XB 1 2.5 -1.5 -2 -.5 .5 o o 2.5 -1 1 12 1 o o 4 1 o o o o o 1 1.5 Esta es óptima, pues todos los indicadores son no negativos. La solución óptima es xi = 1.5, x2 = 2.5, xj = x4 = O, x5 = 12 con z* = 4. La base correspondiente a la última tabla, que es B2= (a2, a¡ , as), proporciona la solución básica factible óptima = 4- 15;1 =1 ~_O_ 75 que también leemos directamente en la tabla. La transformación de pivote de la última tabla conduce a· la tabla ) Como hay indicadores negativos, z 1 - c1 = -1 y z2- c2 = -1 , cuyos vectores interiores Yt = (1, 5, 7) e Y2 = (1, 3, 5) tienen al menos un elemento positivo cada uno, es posible la mejora de la solución actual. Como hay empate en los indicadores de ambas variables, tomamos aquella con menor índice, con lo que x1 es la variable de entrada en la base, con r =1 columna pivote. Aplicamos la regla de mínima razón para ver a quién sustituye, teniendo . {XBi mm - Yil CAPITULO 2. RÉSOLUCION DE PROGRAMAS LINEALES XB =( ~:~ ) = ( ~~ ) =B2 1 XB3 =( ~ ~ ~ ) 351~ - 1 ( 5 7 1 b= X5 ) =( ~:~12 ) Observemos en la tabla óptima que la variable no básica x4 tiene indicador nulo. Existen, pues, óptimos alternativos. Introducimos en la base la variable x4 que sustituye, por aplicación de la regla de mínima razón, a la variable X¡. El pivote es y2 4 = .5. La nueva tabla es r 76 PROGRAMACION LTNEAL Y APLICACIONES: EJERCICIOS RESUELTOS 1 o o o e; 1 1 es VB X¡ X2 X3 1 X2 1 1 1 o o X4 xs z; -e; o o o o 2 2 -3 -5 1 X4 CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES @RA-MA Las sucesivas tablas del símplex son xs XS o o 1 o o 1 o o 4 3 es = O, x2 = 4, x3 = O, 15 4 = x: = 3, x5 = 15, -2x 1 - x2 +x~ +Ox3 +Ox4 3x¡ + 2x2 - 2x~ +X3 = 6 2x 1 +4x2 - 4x~ +x4 = 8 X¡ 1 X2,X~ 1 X3 1 X4 ;2: 0 Construimos la tabla inicial del símplex y observamos que es posible la mejora, ya que el indicador de x~ es negativo. Sin embargo, como su vector interior ií = (-2,-4) ~ O, el problema es no acotado. es o o -2 -1 X¡ x2 X~ X3 XJ 3 2 1 x. 2 e; ·2 4 1 -2 -4 -1 X4 o = XJ X4 -1 -1 1 - X¡ - x2 +x~ +Ox3 +Ox4 -x¡ - 2x2 + 2x~ + X3 =O -X¡ + x2 - X~+ X4 = 0 X¡,z2,x'i,x3,X4 ;2: 0 1 o o x2 xs -2 x"2 2' 1 1 -1 -1 Cj -1 -1 VB X¡ x2 1 X~ -.5 -1.5 .5 -1 o X4 Zj- Cj xs X4 o o o 1 o o o o 1 1 X~ 1 o o o o o o X3 .5 .5 .5 xs X4 o o 1 o o o En esta última tabla la variable no básica x2 tiene indicador cero y su vector interior todos los elementos no positivos, el programa transformado tiene un rayo óptimo con valor óptimo O. Obsérvese que el rayo óptimo es (x 1 , x2, x~, X3 1 x4) = (0, >.,>.,O, O) con >. E [0, oo) . Por tanto, en el problema original no existe rayo óptimo, pues x2 = x2 - x~ =>. - >. =Oy la solución óptima es (x 1, x2 ) = O. d) Convertimos el programa lineal al formato estándar max z s.a = 3x¡ + 2x2 +Ox3 +Ox4 +Oxs +Oxs X¡ +4x2 + X3 = 15 3X¡ + X2 + X4 = 12 2x¡ +·2x2 + xs = 10 3x¡ -x2 +xs = 11 XJ,X2,X3,X4,Xs,X6 ;2: 0 6 o 1 8 o o o -1 es XS e) Convertimos el programa lineal al formato estándar de maximización. Para ello, transformamos la variable no restringida x2 con x2 = x2 - x~, siendo x2, x~ 2: O; pasamos la función objetivo a forma de maximización; multiplicamos ambas restricciones por -1 (al ser sus constantes cero sigue veriijcándose su no negatividad); y sumamos variables de holgura x3 , x4 a cada restricción. Queda entonces el programa max z s.a X¡ o o o e; VB Zj - -1 Zj- Cj con igual valor para la función objetivo. . b) Ponemos el programa lineal en formato estándar de maximización. Para ello, como x2 es no restringida, introducimos la transformación lineal x2 = x2 - x~, con x2, x~ 2: O; pasamos la función objetivo a forma de maximización y sumamos variables de holgura x3, x 4 a cada restricción. Queda el programa max z' s.a Cj VB o o que proporciona la solución óptima alternativa xi 77 ' · con x3, X4, xs y x5 variables de holgura. La tabla inicial del símplex es es o o o o Cj 3 2 VB o o o o X¡ X2 X3 1 3 2 3* -3 4 1 1 XJ X4 xs xs z;- e; 2 -1 -2 o o o o X4 xs xo xs o o 1 o o 1 o o o o o o o 1 4 12 10 11 o o Como hay indicadores negativos con vectores interiores con al menos un elemento positivo cada uno, es posible la mejora. La variable de entrada en la base es x¡ {z¡ - C¡ = - 3), la de salida es xs (con mínima razón igual a 11/3) y el pivote Y41 = 3. En tres iteraciones se alcanza la optimalidad, siendo la tabla final 78 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS es o Cj 3 2 VB o X¡ X2 X3 X3 2 X2 o xs 3 X¡ Zj- Cj o o 1 o 1 o o o o 1 o o o o o o o o X4 xs X6 3/2 -11/4 - 1/2 -2 3/4 3/2 -1/4 3/4 1/2 1/2 o o 1 o o @RA-MA CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES Cj 1 1 O · -M o xs ca VB X¡ X2 X3 X4 X; 11/2 -M X4 1 -1 2 z¡- e¡ -1 -1 -1 o o 1 xs ¡• 1 -1 1 o 3/2 2 xlvf 7/2 27/2 •. - 7 2' • x2 = 3 • 11 • • 2, x3 = 2 , x4 = x5 =O, • • x6 = 2 y z = 27 2 o ,. 12. Mét odo de las penalizaciones. Resolver con el método de las penalizaciones, también llamado de la variable artificial o de la M grande, los programas lineales a) max z s.a = X¡ + x2 b) min z s.a = +x2 ~ 4 X¡+ 2x2 ~ 2 2x¡ + 3x2 - X ¡ ,X2~Ü X¡,X2,X3 ~ Ú X¡ X¡ X¡ X¡ - 2X2 + x2 +Ox3 - MX4 + Oxs + X2 - X3 + X4 =4 +2x2 + xs = 2 X¡,X2,X3,X4,X5 ~ '•. 0 Construimos ia tabla inicial del método del símplex 1 ca VB X¡ X2 - J\1[ X4 X¡ + X3 o 1 o o Zj- Cj xM o 1 2 o o o o o -4 o -M o X4 X; 1 -1 2 1 1 1 2 X3 - 1 -1 2 o 1 o 1 1 o o o Xa 2 -2 Esta es la tabla final, pues todos los indicadores son no negativos. Como la base tiene ur1a variable artificial con valor positivo, x 4 = 2, el problema es infactible. b) Transformamos el programa al formato estándar de maximización, multiplicando por -lla función objetivo, añadiendo variables de holgura (x4, xs) y artificiales (x5 , x1 ) a las restricciones y poniendo en la función objetivo las variables de holgura con coeficiente Oy las artificiales con - M. Tenemos el programa lineal X3 ~ 9 ~6 a) Transformamos el programa al formato estándar de maximización añadiendo variables de holgura (x3 ,x5) y ur1a variable artificial (x4). Bajo la forma de maximización, el método de las penalizaciones incorpora las variables artificiales a la función objetivo del problema transformado con coeficiente - M , donde M representa ur1 número grande, en comparación con el resto de los coeficientes del programa. El problema transformado queda = 1 1 Solución max z s.a Cj 2x¡ - x2 +3x3 X¡ Xs 4 Hay indicadores negativos, z 1 - c1 = -1-M y z2 - c2 = - l - M, con sus vectores interiores, y 1 = (1, 1) e Y2 = (1, 2), con al menos ur1 elemento positivo. Es posible la mejora y tomamos como variable de entrada en la base X¡. Aplicando la regla de míninia razón, se tiene como variable de salida xs. El pivote es, entonces, Y2l = l. La nueva tabla del símplex es La lectura de esta tabla nos proporciona la solución óptima única x1 - o 79 ¡, max z' s.a = - 2x¡ + x2 - 3x3 + Ox4 - Mxs + Oxs- Mx; 2x 1 + 3x2 X¡ - 2X2 X3 - + X3 - x4 + xs =9 =6 . X6 +X¡ X¡,X2,X3,X4,X5,X6,X7 ~ 0 Construimos la tabla inicial del método del símplex en la que vemos que hay posibilidad de mejora. La variable x 1 es la de entrada en la base, la x; de salida e Yll = 2 el pivote. Cj -2 1 -3 o -M o -M es VB X¡ X2 X3 X4 X; X6 X7 Xs -M -M X; X7 3 - 1 -1 -2 1 o -1 3 o 1 -1 1 6 Zj - Cj xM 2. 1 2 -3 -1 o 1 o o o o o o o o 1 9 o -15 80 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS En dos iteraciones más, se llega a la tabla final es -2 o Cj -2 1 -3 VB o X¡ Z2 X3 X4 X¡ 1 -2 -7 3 1 3 1 X4 Zj- Cj xM -M zs o o o 1 -1 o o o o o o o 1 o -M X¡ XS -1 -2 2 1 2 -2 1 6 3 -12 xi = 4.25, x2 = 2.5, xj = 5, s3 = 1.25, x4 = s2 =s4 = O. o Existe óptimo único, ya que, en esta tabla final, tienen indicador nulo sólo las variables básicas. Tal solución es xr = 6, x2 = o, xj = o, x: = 3, x6 = o con valor óptimo z• 81 que es óptima, ya que todos los indicadores son no negatjvos. La lectura de la tabla proporciona la solución zs o CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES ©RA-MA = -z'• =12. o Deben producirse, por tanto, 4.25 unidades de A, 2.5 unidades de By 5 unidades de C, que se venden en su totalidad. Además, se consume todo el tiempo disponible para el proceso l. Sin embargo, para el proceso Il hay una holgura de 1.25 horas: de la disponibilidad total de 24 horas se consumen, con el plan de producción anterior, 22.75 horas. El beneficio óptimo es s• =57000 ptas. Obsérvese que existe una solución óptima alternativa que se obtiene introduciendo en la base X4 en lugar de x 1. La nueva solución es x2 = 5.33, xj = 5, x4 = 5.67, sj = 2.67, xj = s2 = s4 =O. 13. Método de variables artificiales y planificación de mezclas en una planta química. Resolver el programa lineal formulado en el Ejercicio 1.8 e interpretar la solución. Solución Reformulamos el problema para poder aplicar el método del símplex. Introducimos una variable artificial (a¡) en la primera restricción y una variable de holgura (s¡) en cada una de las restantes restricciones, tratando x3 55 como una restricción y no como cota superior de una variable. Queda el programa max B = 4x¡ + lOx2 + 3x3- 2x4- M a¡+ Os2 +Osa+ Os4 s.a - 2x2 + x3 + x4 + a1 = O 2x¡ + 3x2 + s2 = 16 3x¡ +4x2 + S3 = 24 X3 +S4 = 5 X¡,X2,X3 1 X4 1 a¡,S2 1 S3 1 S4 ~ 0 Aplicando el método de la variable artificial, en tres iteraciones se obtiene la tabla es e; VB 3 ZJ 4 X¡ 10 Z2 o 83 Zj -Cj xM 4 10 3 -2 -M X¡ X2 Z3 Z4 a¡ o o 1 o 1 o o .75 o o o - .25 -{) 1 o - .5 o o o o o o o o o .75 - .25 - .5 -2 1 o o o 82 S3 84 xs .25 5 4.25 1.25 2.5 57 o o 1 o . -.75 .5 - 1.5 o 2 o 1 o .5 o 5 o o o o 14. Método de las dos fases. Resolver con el método de las dos fases (sin · prescindir de restricciones redundantes) los programas lineales a) maxz b) = 3x¡ + x2 maxz = -X¡ - 2x2 + 2x3 s.a s.a x1 +x2 = 6 3x¡ + x2 = 12 X¡+ X2 + X3 ~ 6 X¡, X2 1 X3 ~ Q X¡ +3x2 55 X¡ +x2 = 7 5x¡ +x2 54 X¡ 1 X2 ~ Ü e) maxz = x¡ +x2 s.a X¡+ X2 X2 ~ 2 X¡~ 1 ~ 4 d) minz = x¡ + 2x2 s.a X¡+ X2 ~ 2 x1 +2x2 ~ 1 2x 1 + x2 ~ 1 X¡ 1 X2 ~ 0 Solución a) Transformamos el programa lineal al formato estándar introduciendo como suma las variables de holgura x3 , x5 y, además, añadimos la variable artificial 82 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS x4• Tenemos así el programa ma.x z s.a 3x¡ + x2 + Ox3- Mx~ + Oxs = X¡ + 3X2 +X3 = 5 x 1 +x2 +x4 = 7 5x¡ + x2 + xs =4 X¡,X2 1 X3,X4,X5 ~ 0 Como tiene variables artificiales (x4), lo resolvemos-con el método de las dos fases. En la fase I consideramos el programa anterior, pero sustituyendo la función objetivo z por la función objetivo artificial z4 , obtenida poniendo, bajo la forma de ma.ximización, coeficientes igual a -1 a las variables artificiales y Oal resto de variables: max .za = Ox¡ + Ox2 +Ox3 - lx4 +Oxs s.a X¡+ 3X2 + X3 = 5 X¡+ X2 + X4 = 7 5x¡ + x2 +xs = 4 Presentamos a continuación la sucesión de tablas correspondientes a las iteraciones del método del símplex, indicando sobre cada una el correspondiente pivote. -1 VB o o o o es X¡ xz X4 xs -1 X3 X4 1 1 5 -1 3" 1 1 o o X5 Z¡ -C.¡ o -1 o o X¡ xz xz 1/3 2/3 14/3' -2/ 3 1 o X4 xs z1 - Cj C¡ es o -1 o o o -1 X3 X4 1/3 -1/ 3 -1/3 1/3 1 o 5 7 4 o 5/3 16/3 1 7/3 5/1-t -2/7 -1/14 2/7 o XS -1/14 -1/7 3/1-t 1/7 3/2 5 7/14 o o o o - 16/3 o o o o y aplicamos el método del símplex. Las tablas que siguen corresponden a las iteraciones del método. -1 :ts l = Ox¡ + Ox2 + Ox3- X4- xs +Oxs o o o VB e; VB X4 X¡ X6 Zj- Cj Cj -5 es o o o VB X2 X¡ xu Zj- Cj -1 -1 o '"\ o 6 3.:_j_j). - 12 1 1 - 4 -2 -18 1_ Z¡- C; :Z:4 1 ma..xz4 o -1 2:0 al que aplicamos el método de las dos fases.. por tener variables artificiales. Entra· mos en la fase I considerando el programa lineal con la función objetivo artificial xs o o =6 X¡ 1 X2,X3,X4,X5,X6 -7 o o 1 o o X¡ + X2 + X3 + X6 -1 X3 xz +x2 +x4 =6 3x¡ +x2 +x5 =12 es xs -x¡- 2x2 + 2x3- Mx4- i'vfxs + Oxs X¡ o o o = C; Xz X¡ zi- c1 o o ma.x z s.a CS -1 XS o o VB X4 X¡ 1 o o o l o o o 1 o o o -1 VB e¡ es X3 83 La tercera tabla corresponde a la finalización de la fase I, ya que todos sus in· dicadores son no negativos. Observemos que el valor del objetivo artificial no se ha hecho nulo, ya que es t = -5. La razón de ello es que hay una variable artificial en la base con valor positivo (x 4 = 5 > O) y el problema es infactible. El algoritmo termina sin entrar en la fase II. b} Transformamos el programa lineal al formato estándar introduciendo la varia· ble de holgura X6 y, además, añadiendo las variables artificiales x4 y x5. Tenemos así el programa 2:0 X¡,X2,X3 1 X4 1 X5 C¡ CAPITULO 2. RESOLUCION DE PROGRAl\IAS L!J'IEALES ©RA·MA 1 o o o 1 o 1 o o 1 o o o o 1 6 o o o -1 -1 o X¡ X2 X3 X4 xs X& Xs -1/3 1/3 -1/3 4/3 o 1 2 -2 o 1 o o -L:.J./3' 1 1/3 o .· 2/3 o - 2/ 3 1 o o o o z o 4 o o o -1 -1 o X¡ X4 xs X& 3/2 -1/2 -1 1 - 1/2 1/2 o X2 X3 o l o o o o 1 o o o 1 o 1 o o XS 3 3 1 o o o f. •, 84 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES @RA-MA La fase I termina después de dos iteraciones, ya que todos los indicadores son no negativos y, además, la función objetivo artificial z4 es nula. Observemos que no hay variables artificiales en la base con valor positivo, así que tenemos una solución básica factible de la que partiremos en la fase II. Obsérvese también que en la segunda tabla podría haberse elegido Y32 = 2/3 como pivote. Sin embargo, como nuestro interés estaba en sacar de la base las variables artificiales, ha sido conveniente elegir como pivote y12 = 2/3. Entramos en la fase II y reconstruirnos la función objetivo z prescindiendo de las variables artificiales que no estaban en la base al final de la fase anterior , así como de sus respectivas columnas en la construcción de la tabla inicial de esta fase. Además, calculamos nuevamente sus valores indicadores y el valor de la función objetivo. Tenemos así la tabla inicial de la fase II CB -2 -1 o e; VE X2 X¡ (Xa z; - e; - 1 -2 2 o X¡ xs xa o X2 siderando el programa con función objetivo artificial + Xz - X3 + X6 = 4 + X7 = 2 X¡ - X5 + Xg = 1 X¡ X¡,X2,X3,X4 1 Xs,X6,X7,X8 ~ - 1 -2 2 o X¡ XJ xa -2 -1 2 X2 X¡ XJ z; -e; o X2 e; CB o o o _XB . con z• X4 X2 X¡ Zj - e; o o o o o X¡ X2 o o -1 1 l 1 - 1 o 1 -1 o 1 1 o 1 o o o -1 o o o o o o o 1 1 e; 1 1 VB o o o CB X¡ X2 xs 1 1 X4 X2 X¡ o 1 ~ = (3,3,0,0,0,0) e) Construirnos el programa de la fase I, introduciendo variables de holgura (xa,x4,xs) y artificiales (xs,X¡,xs) en cada restricción, respectivamente, y con- xa Xs -1 xs XB -1 -=1 1 3 1 X¡ 1 1 -~ XB = -9. X4 X3 - 1 -1 o _) Termina la fase I, ya que todos los indicadores son no negativos y el objetivo artificial z4 es cero. Como no hay variables artificiales en la base con valor positivo, el problema es factible. Pasamos a la fase II, en la que reconstruimos la función objetivo original. La tabla inicial de esta fase es la tabla final de la fase I prescindiendo de las columnas de las variables artificiales y recalculando los indicadores y el valor z de la función objetivo o o 3 1 o o o 3 o o 1 1 o o o o 2 -9 (xi,x2,x3,x4,x5,x6) .VB 1 Esta es óptima, ya que todos los indicadores son no negativos. Concluye así la fase II. La solución óptima, que se obtiene en esta tabla, es 0 Aplicamos el método del símplex. En cuatro iteraciones alcanzamos la tabla final Aplicamos el método del símplex. En una iteración obtenemos la tabla e; .,. X2 - X4 o o 3 1 o o o 3 o o 1. 1 o o o - 2 o -9 VB = Oxr +Ox2 +Oxa +Ox4 +Oxs - xs - X7 - xs max za s.a 1 CB 85 1 Zj - ej X~ o o -1 1 o 1 -1 o 1 o o o o o -1 1 X5 , XB 1 1 -1 o- 1· 3 1 4 Aplicamos a esta tabla el método del símplex. Como hay un indicador negativo (za - ca = -1), existe posibilidad de mej9ra. Co~o su vector interior Ya = (- 1, -1, O) no tiene elementos positivos, el programa es no acotado. d) Transformamos el programa lineal al formato estándar de maximización multiplicando la función objetivo por - 1, introduciendo las variables de holgura (xa,x5 ,x7 ) y añadiendo las variables artificiales (x4,xs,xs). Tenemos así el programa 86 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS max z' = -X¡ - CAPITULO 2. RESOLUC!ON DE PROGIMMAS LINEALES ©RA-MA 2x2 + Ox3 - Mx 4 + Ox5 - Mx5 + Ox1 - Mx 8 CB s.a t X¡ t X2 - X3 X¡ 2X¡ 2X2 - t X2 - t x5 t X7 t X4 ::: o o 2 XG ::: 1 Xg ::: 1 maxza = Ox¡ + Ox2 + Ox3- X4 + Oxs - XG + Ox1- xs Cj o o o -1 o -1 o Xs xa X¡ X¡ X2 X3 X4 X4 1 1 -1 1 -1 -1 xs 1 2* -4 2 1 xs Zj Cj -4 X¡ X3 o o X2 xs -1 1 -1 1 1 1 1 e; o o o -1 o -1 VB X¡ xs xs xs o o X4 1 1 -1 o o o X¡ X¡ Zj 1 e; X2 X3 -1 -1 1 -2 1 -1 o o o 2 1 1 o X7 xs 1 max z s.a ·. 2 -2 o = 2xt- x2 + 3x3 + 6x4 lx¡ + 4x2 - x3l $ 14 lxd +x4 $10 1 -4 -2Xt +5x2- 2x3 +x4 $15 lx1l $7 · X3 $9 X2,X3,X4 ~ 0 XB 1 b) o o 1 -1 3 o o o o 2 o 1 o 1 o mm z = lx¡ + x2 - 7l + l- x¡ + X3 +6l+ + lx¡ - 2x2 + x3l + 1-x2 + X3- lOl s. a Como no hay variables artificiales en la base con valor positivo (z = O), el problema es fadible y entramos en la fase II. Como no hay variables artificiales básicas en la tabla final de la fase I, prescindimos de ellas en la reconstrucción de la función objetivo i, así como de sus columnas en la tabla inicial de esta segunda fase. La nueva función objetivo es \ 1 1 3 15. Programas con valores absolutos. Resolver los siguientes problemas de a) 4 1 o 1 o o o o XB =- z'* = -(-2) = 2. -1 o o 1 o optimización transformándolos previamente en programas lineales -1 xs XB o 2 o o o o o -1 1 o o o o o o -1 1 1 o 1 o 1 o con z• En cuatro iteraciones, finali.za la fase I con la tabla CB o -2 -1 X7 Aplicamos el método del símplex a esta tabla y vemos que es óptima. Por tanto, la solución es (xi, x2, x3, x;, x1) = (2, O, O, 1, 3) La tabla inicial, con indicación de las variables de entrada (x 1), salida (x8) y el pivote (Y31 = 2), es VB VB 0 Entramos en la fase I con función objetivo artificial 1 -2 Zj- Cj X¡ 1 X2,X3 1 X4 1 X5 1 XG 1 X7 1 XB ~ CB -1 X¡ X¡ -1 o o o Cj xs 87 y la tabla inicial, para la que se ha recalculado la fila indicador y el valor del objetivo, es 2x 1 - x3 ~O 4x 1 - 2x2 ~O X2 ~ 0 Solución a) Observemos, en primer lugar, que x1 puede tomar valores negativos, ya que no aparece en las condiciones de no negatividad. De la cuarta restricción se tiene que lxd $ 7, que equivale a -7 $ x 1 $ 7. Introducimos la transformación x1 = x'1 -7, con lo que la nueva variable x'1 verifica la acotación O$ xi $ 14. La primera restricción se puede escribir, teniendo en cuenta la anterior transformación, 88 PROGRAMAC!ON LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS @RA-MA o bien como dos desigualdades x'1 + 4x2 - x3 ;::; -x~ - 4x2 +x3 ;::; 7. 21, +X4 ;::; 17, -X~ 71;::; 10- x4, o descompuesta +X4 ;::; 3. Finalmente, la función objetivo es z = 2(x~ -.7) - x2 +3x3 +6x4 = 2x~ - x2 + 3x3 +6x4 - 14. Poniendo el programa lineal en formato estándar y considerando las cotas como restricciones, queda = max z' 2x~ - x2 + 3x3 + 6x4 Ox¡ +4x2 - XJ + x5 = 21 -x~ - 4x2 +X3 +XG = 7 X~ + X4 + X¡ = 17 -x~ + X4 + xs = 3 - 2x'1 + Sx2 - 2x3 + X4 + Xg X~+ XIO = 14 o o o o o o o xs X7 xa Xg Xto xu Cj 3 6 X3 X4 = 15 o o o o o o o xs o 1 o o 1 o o 1 o - 1 o o ¡• o - 2 5 -2 1 o 1 o o o o o o 1 o o 2 l -3 - 6 o 4 -1 -4 1 X6 Zj 1 X2 1 1 X6 X7 xs o o o 1 o o o 1 o o o 1 o o o o o o o o o o o o 3 6 ca VB X~ X2 X3 X4 o xs o o o X6 2 x'1 6 X4 o o XlQ 3 X3 Xg o o 1 o o o o o o 5 o o o o o o 1 o 1 o 4 -4 o o o o o o o xs xs X6 X7 o 1 o -.5 o o 1 .5 o o o .5 1 o o .5 o o o .5 o o o -.5 o o o o o o o 4 xi = x~· - Xg x¡o xu XB o l 23 o -1 5 o o 7 .5 o o lO 1.5 1 o 2 37 .5 o 1 o 7 o o o 1 9 2 o o 3 101 .5 -.5 - .5 o o o o 7, la lectura en la tabla final da los valores con un valor para el objetivo z• = z'* - 14 = 101- 14 = 87. b) Convertimos cada sumando valor absoluto de la función objetivo en una restricción, imponiendo que sean menores o iguales que ciertas variables atLxiliares (x 4, x5, ~ 6 , x7), que se introducirán como suma en una nueva función objetivo de minimización. Así, podemos considerar el problema equivalente La constante -14 se ha eliminado de la función objetivo, ya que no influye en el cálculo de la solución óptima. En la tabla inicial del símplex, que se muestra a continuación, se observa que es posible la mejora de la solución actual, siendo x4 la variable de entrada y xa la de salida. El pivote es y44 = l. 2 x'1 -1 xi = O, xi = O, x3 = 9, x4 = 10 X3 +XLI = 9 x'1,x1 ~O, i = 2, ... , 11 Cj 2 Teniendo en cuenta que óptimos i=5 X~ VB Cj Zj - Cj 11 +¿ s.a CB 89 En tres iteraciones se obtiene la tabla final Podemos reescribir la segunda restricción como lx~ en dos desigualdades X~ CAPITULO 2. RESOLUC!ON DE PROGRAMAS LINEALES Xg o o o o 1 X!O o o o o o xu o o o o o o XB 21 7 17 3 15 14 9 ·o 1 o o 1 o o o o o min Z1 s.a = X4 + X5 + X6 + X7 2xt- X3 ~O 4x 1 - 2x2 ~O IXt + X2- 71 ;::; X4 . 1-x¡ + X3 +61;: ; X5 lxt - 2x2 + x31 ;::; XG 1-x2 + X3- 101 ;::; X2 ~ 0 X¡ Para convertirlo en un programa lineal, descomponemos cada restricción con valor absoluto en un par de restricciones obteniendo el programa equivalente 90 PROGRA~IACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS min z' s. a = x4 + xs + xs + X7 xi = 26, x2 = O, xj = O, x~ = O, z,. = 78. Por tanto, puesto que z' > O, es X¡+ X2 -X4 ~ 7 X¡ fX2 f X4;::: 7 X¡- X3 f X5;::: 6 X¡ - X3- X5 ~ 6 X¡ - 2X2 + X3 f X3 Xs ~ . max z s. a 0 x2 = 2.33, x3 = O o 16. Un programa no lineal. Resolver el problema de optimización = 1/ (3x¡ +6x3 +4x4) ~ X¡ 1 X2 1 X3,X4;::: l! - 2X¡ -X l Resolvemos, mediante el método del símplex, el programa lineal = 3x¡ +6x3 +4x4 s.a 2x2 + 5x3 + X4 ~ 31 Xt + 3x2 + 4x3 + 2x4 = 26 -4Xt- X¡,X2,X3,X4;::: 0 f X2 - X3 ~ 1 0 es no acotado. A partir de la tabla final, encontrar una solución cuyo valor sea mayor que 2000. Solución Transformamos el programa lineal al formato estándar de maximlzación max z = X¡ + 3x2 + Ox3 +Ox4 + Ox5 s.a -X¡ f + X2 + X3 f X2 - X3 f =2 =1 X4 X5 X¡,X2,X3 , X4,X5;::: 0 La tabla inicial del símplex es 0 Solución f X2 f X3 ~ 2 X¡,X2,X3;::: CB max z' x 1 +3x2 = - 2X¡ 3x¡ +6x3 + 4x4 #O - 4x¡- 2x2 + 5x3 +x4 ~ 31 X¡ + 3x2 + 4x3 + 2x4 = 26 1 o 17. Un programa lineal no acotado. Utilizar el método del símplex para verificar que el programa lineal Para resolverlo por el método del símplex, comenzamos por introducir la transformación Xt =x~ - x~, donde xi, x'{ ;::: O. Lo ponemos en formato estándar y añadimos variables artificiales, obteniendo en cinco iteraciones del símplex la solución óptima mio z s.a = 78' 0 f X3 - X7 ~ 10 -X2 + X3 f X7 ;::: 10 O= 4.66, + 6x3 + 4x4) que es el valor óptimo de z. f Xs ;::: 0 X2,X3,X4,X5,X6 1 X7;::: 1 1 1 mm 3x 1 + 6x3 + 4x 4 = max (3x¡ - X2 xi = xi* - x~· = 4.66 con z'• = 13.66 = z•. 91 Obtenemos la solución óptima 2x 1 - x3;::: O 4x¡ - 2x2;::: O X¡ - 2X2 CAPfTULO 2. RESOLUCION DE PROGRAMAS LINEALES ©R..<\-MA o o o o o Cj 1 3 VB X¡ X2 xa X4 X4 -2 -1 -1 1 -1 1 X;; 1 1 z; -e; -3 xs o XB 2 o 1 1 o o o o Como hay indicadores negativos, es posible la mejora. Sin embargo, para el indicador z1 - c1 = -1, el vector asociado y 1 = (-2, -1) $ O, luego el programa es no acotado y la tabla anterior también será final. Podemos, de todas formas, introducir x2 en la base en lugar de xs, obteniendo la. nueva tabla 92 PROGRAMACION Lli'IEAL Y APLICACIONES: EJERCICIOS RESUELTOS e¡ VB o o o 1 3 Xt X2 -1 -1 o X2 1 2 -1 Zj_- Cj -4 o -3 CB o X4 3 XJ X4 xs 1 -1 1 o o 3 93 La empresa desea construir un modelo de programación lineal para con~er el plan de producción de beneficio máximo, teniendo en cuenta que la buena tmagen de la empresa exige que la fabricación de productos 1 y 4 sea al menos el 60% del total producido. XB 1 1 3 Las afirmaciones que siguen podríamos llevarlas a cabo también con la tabla inicial o con una nueva tabla obtenida de esta última, introduciendo la variable X3 en lugar de X4. Para obtener una solución con valor mayor que 2000, basta con aplicar las fórmulas del símplex para el caso en que la variable x 1 entrase en la base con nivel O. En tal caso, xs=xs-Oy¡, CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES @RA-MA Solución Introducimos una variable de decisión P¡ por cada producto que designa las t de producción del producto i = 1, 2, 3, 4. Las restricciones se deben a: _ Los límites en las disponibilidades de las materias primas dados por P1 + 2P2 + P3 + 3P4 2P¡ + P3 + 2P4 P¡ +3P2+P3 z=z -O (z 1 -c1) Entonces, se tiene ~ ~ 50 38 ~45 - Exigencia de fabricación de los productos 1 y 4, que expresamos P¡ y La función objetivo representa la maximización del beneficio total en miles de ptas de la producción, que es z= 3- o(- 4). Queremos que sea z> 2000. Para ello basta que o>-4 1997 - . B = P¡ + 2P2 + P3 + 2P4. Por tanto, queda Así, las soluciones con valor mayor que .2000 serán con O> 1997/4, siendo su valor 3 +40. s.a 1 1 lJ e P1 + 2P2 + P3 + 3P4 S 50 2P1 + P3 + 2P4 ~ 38 P¡ + 3P2 + P3 S 45 - .4P1 + .6P2 + .6P3 - .4P4 S O P¡,P2,P3,P4 ~O o 18. Método del símplex en planificación de la producción. Una empresa fabrica cuatro productos (1, 2, 3, 4) para los que utiliza tres materias primas (A, B, C). La tabla indica la cantidad de materia prima necesaria pára cada producto, así como la disponibilidad total en t de cada materia prima y el beneficio (en miles de ptas) por t de producto fabricado. Mat. primas 1 2 3 4 Disponibilidad A 1 2 3 50 B 2 o 2 38 1 3 1 o 45 Ben.jt 1 2 1 2 + P4 ~ .6 (P¡ + P2 + P3 + P4) 'fransformándolo al formato estándar y añadiendo variables de holgura S¡,s2,s3, s4, a cada una de las restricciones, se tiene la tabla inicial CB o o o o e; 1 2 1 2 o o o o VB pl p2 p3 p4 S¡ St 1 2 1 -.4 -1 2 1 S2 S3 S4 Zj- C, o 3 .6· -2 1 1 .6 -1 S2 S3 S4 XB o o o 50 2 o 1 o o 38 o o o 1 o 45 - .4 o o o 1 o -2 o o o o o 3 1 94 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS La variable de entrada es P2 {aunque hay otra variable con igual indicador negativo, deshacemos el empate tomando aquella con menor subíndice). La. de salida es s4, con razón mínima igual a O, siendo el pivote y42 = .6. En cuatro iteraciones se alcanza la tabla final Cj 1 2 1 2 o o o o CB VB Pt p2 p3 p4 S¡ 83 s4 2 1 1 2 p4 o o o o 1 o o 1 o o S2 o 1 p3 Pt p2 Zj - Cj o o ,o o o o o 1 .38 - .11 - .33 .14 .62 -.09 -.23 - .09 .45 -.2} 1.45 .34 - .64 .36 -.27 .29 -.27 .09 .23 .09 CAPITULO 2. RESOLUCION 08 PROGRAMAS LINEA LES @RA-MA XB 95 a) Construir un modelo de programación lineal que indique con qué cantidades deben contribuir los ingredientes al pienso animal para que el coste total sea mínimo. b) Hallar la solución óptima y comentarla. Solución a) Consideramos como variables de decisión XA,Xs,xc, que representan, respectivamente, los kg de cada ing_rediente utilizados en la formación del pienso. Las restricciones se deben a: 5 2 13 10 45 - Las limitaciones de disponibilidad de cada ingrediente Como sólo las variables básicas tienen indicador O, el óptimo es único. Este es Pi = 13, P2 = 10, P3 = 2 y P¡ = 5, que corresponden a los niveles de producción de los cuatro productos. Además, puesto que sj = s2 = s3 = s4 = O, todas las restricciones se cumplen como igualdades y, en particular, obsérvese que la producción de los productos 1 y 4 representa exactamente el 60% de la producción total. El beneficio óptimo del plan de producción es B* = 45000 ptas. XA ~ 6000, XB ~ 4000, XC ~ 5000 - La demanda de pienso XA +xa +xc ~ 9000 o 19. Método del símplex en fabricación de alimentos. Una empresa de productos al·imenticios para animales fabrica un pienso para cuya elaboración se pueden mezclar tres ingredientes denominados A, By C, en las cant·idades que se estimen convenientes. Los ingredientes poseen ciertas unidades de calcio, fósforo, magnesio y hierro por kg, tal como se indica en la tabla Elementos Calcio Fósforo Magnesio Hierro t \ 1 \ j ·. Ingredientes A B e 12 18 30 14 27 19 23 25 15 20 32 10 Teniendo en cuenta que la llegada de ingredientes es mensual, la planificación de la producción debe hacerse para ese periodo de tiempo. En el próximo pedido, se pueden soli.citar hasta 6 t del ingrediente A, 4 del B y 5 del C. El pienso, cuya demanda para el próximo mes es de 9 t, debe contener por kg al menos 18 unidades de calcio, 20 de fósforo y 22 de magnesio. Para el hierro se permite un número de unidades por kg comprendido entre 10 y 36. El coste por kg de ingrediente A. es 140 ptas, de B 168 ptas y de C 152 ptas. - Las limitaciones por kg en el contenido de unidades de calcio, fósforo, magnesio y hierro. Para el calcio es 12xA + 18xs + 30xc XA +xs +xc > 18 - que escribimos 12xA + 18xa + 30xc ~ l8(xA +xs +xc) (calcio) Análogamente, para el resto de elementos se tiene 14xA + 27xs + 19xc- ~ 20(xA + xs + xc) 23xA + 25xs + 15xc ~ 22(xA + xs + xc) (fósforo) (magnesio) 20xA + 32xa + 10xc ~ 36(xA + xs + xc) } {hierro) 20xA + 32xs + 10xc ~ 10{xA +xs + xc) - No negatividad de las variables de decisión r· 96· PROGRAMAC!ON LINEAL Y APLICACION~EJERC!C!OS RESUELTOS ©RA-MA La función objetivo representa el coste total de los ingredientes utilizados y es de la forma de minimización. Se tiene CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES obtiene la solución óptima xA minC = 140xA + 168xs + 152xc. b) Pasando al formato estándar de maximización en el que añadimos una variable de holgura (s¡) a cada restricción y una variable artificial (a.) a la primera restricción, eJ programa queda max C' = - 140xA - 168xs - 152xc +Os¡- Mar+ Os2+ +Os3 + Os4 + Oss + Os6 + Os7 + Osa + Osg 97 = 3705.88, x8 = 3441.18, x(; = 1852.94 que proporciona los kg de cada ingrediente que forman el pienso con los requisitos anteriores. Además, C'* = -1378588, con lo que el coste total mínimo es e• = 1378588 ptas. Observemos que XA +xs+xc = 9000, por lo que la demanda queda satisfecha de forma exacta. Además, se comprueba fácilmente que el pienso tendrá por kg 18 unidades de calcio, 28 de fósforo, 22.12 de magnesio y 22.53 de hierro. O s. a XA 20. Regresión lineal y minimización de desviaciones. Se ha encargado a un laboratorio médico que determine si existe una relación significativa en una marca de tabaco entre el porcentaje de nicotina (Y) y los porcentajes de nitrógeno (X1), benzopireno (X2), alcaloides (X3), ácido málico (X4), ácido cítrico (Xs) y alquitrán (X6)· Se han tomado 10 muestras del tabaco y se han medido los niveles porcentuales de las sustancias aludidas. La tabla recoge tales med·idas porcentuales +XB + XC - S¡+ a¡ = 9000 6xA- 12xc + s2 =O 6xA - 7xs +xc + s3 =O -xA- 3xs +7xc +s4 =O - 16xA- 4xs- 26xc + ss =O -10xA - 22xs + S6 =.0 XA + S7 = 6000 xs + sa =4000 XC+ Sg = 5000 XA,xs,xc,s¡,a1 ~O, 't/i = 1, ... ,9 Nicot. Podemos ya construir la tabla inicial del método del símplex con penalizaciones, que es VB XA XB XC S¡ Q¡ Q¡ 1 6' 6 -1 -16 - 10 1 1 -1 1 -7 -3 - 12 1 7 -26 - 22 S7 1 o ss 1 152 o o o o o o o o o -1 1 o o o o o o o o o o S2 S3 S4 ~ 5s S& 1 ·. Sg o o z¡- e¡ 140 xM -1 o -4 1 o 168 -1 o o o 52 53 o o 1 o o 1 o o o o o o o o o o o o o o o o S4 ss ss S7 o o o o o o o o o o o o 1 o o o o 1 o o o o 1 o o o o 1 o o o o o o o o o o o o o o o o sa o o o o o o o 1 so o o o o o o o o o 1 o o o o XB 9000 o o o o o 6000 4000 5000 o -9000 La variable que entra en la base es XA, ya que su valor indicador, 140-M, es el más negativo. Como variable de salida de la base, tomamos la que tiene mínima razón, que en este caso es O, para las variables s2 y s3. Elegimos arbitrariamente s2. El elemento pivote es Y2l = 6. En tres iteraciones del método del símplex se · Muestro 1 2 3 4 5 6 7 8 9 lO y 1.68 2.85 2.10 7.06 1.42 2.66 1.39 2.64 2.82 3.30 Nitr6g. Xt 3.02 2.08 1.89 1.94 2.15 3.53 2.11 1.62 2.20 1.97 Benzop. Alcaloi. A. málico 3.16 3.14 2.82 3.54 2.28 1.74 2.33 2.78 1.16 3.58 1.29 2.60 2.04 3.11 1.06 2.64 3.05 1.72 2.06 3.07 .12 .50 .23 .26 .68 .50 .39 .50 .42 .54 x2 x3 x4 A. cítrico Xs 3.73 2.32 3.56 3.76 2.18 3.48 3.19 1.17 3.79 2.70 Alquit. Xs 2.07 1.80 3.02 3.07 !.31 2.23 1.31 1.25 2.15 1.29 a) Ajustar un modelo de regresión lineal múltiple a los datos anteriores utilizando programación lineal y considerando como función objetivo la minimización de la suma de desviaciones absolutas. b) Realizar lo mismo que en el apartado anterior, pero considerando como objetivo la minimización de la máxima desviación absoluta. e) Comparar los resultados con los que se obtienen con el método de mínimos cuadrados. 98 ©RA-MA PROGRAMACJON LTNEAL Y APLICACfONES: EJERCICIOS RESUELTOS Solución (ver Ejercicio 1-9) a) Deseamos determinar los pesos w¡, i del programa lineal = 1,---,6 proporcionados por la solución 10 min D CAPITULO 2. RESOLUCION QE PROGRAMAS LINEALES Aplicamos el método del símplex para su resolución, teniendo en cuenta que debemos expresar que W¡ = u.¡ -V¡ con u.¡, v¡ ~ O, i = 1, ... , 6. En 23 iteraciones se alcanza la optimalidad siendo los pesos óptimos W¡ = .408, = L: (sjttj) 99 W2 = -.137, W3 = 2.255, W4 = -1.937, Ws = -2.048, W6 = 2.1. j=l Por tanto, la ecuación de regresión es s.a s 1 - t 1 +3.02w 1 +3.l6w2 + 1.29w3 + .12w4 +3.73ws +2.07w6 s2- t2 +2.08w1 +3.14w2 + 2.60w3 + .50w4 +2.32ws + 1.80w6 Sto - t10 + 1.97w¡ + 3.58w2 Sj,tj~O, W¡ E IR, i = 1-68 = 2.85 +3.07w3 + .54w4 +2.70ws + 1.29w6 = 3.30 j=l, ... ,lO .Aplicamos el método del sírnplex para su resoludón, observando previamente que, comu tas variables w¡ son no restringidas, debemos expresarlas como diferencia de dos variables no negativas, es decir, con u.¡,V¡ W¡ ~ = 'l.Li- V¡ 1 i = 1, ... ,6 O. En 13 iteraciones se alcanza la optimalidad siendo los pesos óptimos = - .772, W2 = .191, e) El lector puede comprobar por el método·de'mínimos cuadrados (MC) que la ecuación de regresión es Y= - .485X1 +.192X2 + .907X3 +.015X4 - = 1, ... , 6 W¡ Y= .408X1 - .137X2 + 2.255X3 - 1.937X4 - 2.048X5 + 2.1X6 . W3. = .36'4, W4 = .367, Ws = - .306, W5 = 1.639. Por tanto, la ecuación de regresión es Y= -.772X¡ + .191X2 + .86JX3 + .367X4- .306Xs + l.639X6· b) En este caso, el objetivo es la minimización de la máxima desviación absoluta. Por tanto, formulamos el programa lineal min u. s.a u.+ 3.02w¡ + 3.16w2 + 1.29w3 + .12w4 + 3.73ws + 2.07w6 ~ 1.68 u.- (3.02w¡ +3.16w2 + l.29w3 + .12w4 +3.73ws + 2.07w6) ~ -1.68 u.+ 2.08w¡ + 3.14w2 + 2.60w3 + .50w.¡ +2.32ws + 1.80w6 ~ 2.85 u.- (2.08w¡ +3.14w2 +2.60w3 + .50w.¡ + 2.32ws + 1.80w6) ~ -2.85 u.+ 1.97w¡ +3.58w2 +3.07w3 + .54w4 + 2.70ws + 1.29w6 ~ 3.30 u. - (1.97w1 + 3.58w2 + 3.07w3 + .54w4 + 2.70ws +1.29w6) ~ - 3.30 ·u~ O, w¡ E JR, i =1, ... ,6 .536Xs + 1.508X6 Para apreciar las implicaciones de las distintas ecuaciones obtenidas, es conveniente examinar los residuos que resultan con ambos procedimientos. En el caso de los programas lineales, los valores de los residuos se tienen de los valores óptimos de las variables de desviación Sj y ti para a) (columna PLl de la tabla inferior) y valores óptimos de las variables de holgura para b) (columna PL2). En el caso del procedimiento de mínimos cuadrados, se ha prescindido del signo de los residuos, considerando únicamente su valor absoluto. Estos residuos, y las respectivas sumas, se muestran en la tabla Muestra PL1 1 o 2 3 4 5 6 7 8 9 10 .813 2.686 1.218 E 6.91 o o 1.374 o o o Residuos PL2 1.494 1.494 1.494 1.494 1.494 1.085 1.494 .781 1.494 .072 12.396 MC .243 .583 2.027 1.880 .245' .138 1.073 .064 .579 .274 7.106 A la vista de los resultados obtenidos en a) y b), observemos que podría ser conveniente utilizar programación lineal en problemas de regresión en los que no hay suficiente información para determinar si los datos provienen de una distribución normal u otra distribución específica. También es conveniente utilizar 100 PROGRAMACION LINEAL Y APLICACIONES: EJE:RCICIOS RESUELTOS CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES ©RA-MA este tipo de regresión, o también, por ejemplo, la L 1 o la de Tukey, para obtener modelos más robustos y resistentes frente a observaciones atípicas. o min D == 101 10 ¿: (s; +t;) j=l s.a 21. Regresión parabólica. La realización de una batería de lO tests de esfuerzotensión a un individuo ha proporcionado los siguientes datos s1 - t 1 +a+ .OOlb + .0012 c == 91 s2- t2 +a+ .002b + .0022c = 97 l. Test 1 2 3 fl Esfuerzo Tensión y X 91 97 108 4 111 5 6 7 8 9 10 114 110 112 105 98 91 .001 .002 .003 .005 .006 .006 .009 .011 .016 .017 Se desea ajustar un polinomio a este conjunto de datos. El diagrama de dispersión sugiere que una parábola podría resultar adecuada. Determinar el "mejor" ajuste parabólico tomando como objetivo la minimización de la suma de desviaciones absolutas entre los valores observados y las predicciones. Compararlo con el correspondiente ajuste mínimo cuadrático. \ Solución (ver ejercicio anterior) La ecuación de regresión parabólica toma la forma Y = a+ bX +cX2• Sto- t¡o +a+ .017b + .0172c =91 s;,t;~O, j=l, ... ,lO a, b, e E 1R. Aplicamos el método del símplex para su resolución. Como las variables a, b, e son no restringidas, debemos expresarlas como diferencia de dos variables no negativas a =a¡ - a2, b = b¡ - ~ . e== e¡ - c2 con a¡, b¡, e¡ ~ O, i == 1, 2. En 27 iteraciones se alcanza la optimalidad siendo la solución óptima ai == 86.518, a; =O, b~ = 5904.549 , b2 =O, e; =O, c2 = -331818.437. La ecuación de regresión es Y = 86.518 +5904.549X - Por el método de mínimos cuadrados (MC), la. ecuación de regresión parabólica estimada es Y = 89.58 + 5377.9X - 57.98X2 Si comparamos los residuos que resultan con ambos procedimientos, que en el caso del programa lineal se tienen de los valores óptimos de las variables de ·desviación s; y t; como parte de la solución óptima, podemos construir la tabla Se trata de determinar los valores de los coeficientes a, b, e de manera que la suma de los valores absolutos de las desviaciones entre los valores observados y y las predicciones y sean mínimas. Considerando las variables auxiliares Sj, t; por cada par de datos (x;, Y;) ten.dremos una. restricción Test i 2 --y· s)· - t ]· + a + bxJ· + cx; , 6 Deseamos m.in.im.izar l:1 (s; + t1 ). Aplicado a los datos anteriores construimos el programa lineal 331818.437 x2 . 1 2 3 4 5 7 8 9 10 E Residuos PL MC 1.091 3.65 o 2.09 6.754 5.09 3.254 2.32 4 3.37 o .62 .782 .72 6.318 6.01 1.954 2.19 o .11 2-1.133 26.17 102 PROGRAMACION LINEAL Y APLICACJO~ES: EJERCICIOS RESUELTOS ©RA-MA Aunque lo usual en los problemas estadísticos es utilizar la regresión mínimo cuadrática, hay circunstancias en las que la minimización de desviaciones absolutas podría ser más adecuada, especialmente si se desea un modelo de mayor robustez, tal como apuntamos al final del anterior ejercicio. O (,_ 22. Método del símplex y planificación de la producción de impresoras. Una compañía fabrica impresoras matriciales y láser. La demanda de ambos tipos de impresoras supera la capacidad de producción. La compañía está interesada en desarrollar una política de producción óptima. Cada impresora matricial necesita 1 hora para su fabricación y 2 horas para su control de calidad, mientras que una láser necesita, respectivamente, 1.5 y 1 horas. El número de horas de fabricación disponible por semana es de 200 y de control de calidad 175. Los beneficios netos de venta de las impresoras son de 2000 ptas/unidad para las matriciales y de 3000 ptasjunidad para las láser. a) Supongamos que la compañía desea minimizar el número total de impresoras producidas, con beneficio semanal de, al menos, 400000 ptas. Formular el problema como un programa lineal y resolverlo. ¡· Reformulamos el programa lineal introduciendo variables de holgura (s¡, s2, s3) y una variable artificial (a3) max N' s.a con N= -N'. En una iteración del método de la variable artificial se alcanza la optimalidad. Las tablas que siguen constituyen la inicial (con indicación de la variable de entrada, la de salida y el pivote) y la final. -M - Las limitaciones en la disponibilidad de los tiempos de fabricación y de control de calidad - Beneficio semanal mínimo en miles de ptas 2 MAT + 3 LAS 2: 400. = -MAT- LAS+ Os¡+ Os2 + Os3- Ma3 MAT + 1.5 LAS+ S¡ = 200 2MAT+LAS+s2 = 175 2MAT + 3LAS- s3 + a3 = 400 MAT,LAS,s 1,s2 ,s3,a3 2: O e) Estudiar si la cantidad de tiempo disponible para producción y control de calidad se puede reducir sin afectar al beneficio máximo del apartado anterior. ji;JAT + 1.5 LAS ~ 200, 2 MAT + LAS ~ 175 ~. N= MAT+LAS. b) Sí, por el contrario, se desea obtener máximo beneficio, independientemente del número de unidades producidas, determinar cuál es el programa óptimo. a) Introducimos las variables de decisión MAT = producción de impresoras matriciales LAS = producción de impresoras láser Las restricciones se deben a: 103 La función objetivo es el número total de impresoras a fabricar, que es CB Solución • 1 CAPITULO 2. RESOLUCIOK DE PROGRAMAS LINEALES C¡ -1 -1 VB MAT S¡ 1 LAS 1.5" S2 2 2 1 -2 o o as Zj- Cj xi\f CB -1 o -M 1 3 1 -3 o o o S¡ 1 o o o o S2 -M SJ o o 1 o o -1 o o o 1 a3 200 1 400 o o Cj -1 -1 o o o -M VB LAS MAT LAS S¡ S2 2/3 4/3 1 2/3 -2/3 -2 -1/3 2 S2 a3 o Zj - Cj 1/3 XiV/ o o o o o sa o o o. 1 o -1 o o o 1 XB o o 175 o -400 XB a3 o o 133.3 41.67 o 1 o o -133.3 o Hay una variable artificial en la base pero con valor nulo, luego la solución es óptima. Además, es única, ya que solamente son nulos los indicadores de las variables básicas en esta tabla final. La solución es MAT" = O, LAS* = 133.33, sj = O, s2 = 41.66, s3 = O, aj = O con N' = - N1* = 133.33, que coincide con el valor óptimo de la variable LAS. Es evidente que, al no haberse obtenido una solución entera, habrá que truncarla 104 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS @RA-MA CAPITULO 2. RESOLUClON DE PROGRAMAS LINEALES 105 o bien resolver el problema con programación entera (ver Capítulo 6) siendo el plan óptimo fabricar sólo impresoras láser en número de 133 unidades. Obsérvese que sobran s2 == 41.6 horas de control de calidad. b) En este caso, la tercera restricción se convertiría, presciendiendo de la constante, en la función objetivo a maximizar. Se tiene un programa lineal que, transformado al formato estándar, es e) Todas las soluciones óptimas anteriores proporcionan el mismo beneficio óptimo y consumen todo el tiempo de fabricación. Sin embargo, la asociada a ..\ = 1 consume menor tiempo de control de calidad. o max B == 2 MAT + 3 LAS + Os t + Os2 s.a MAT + 1.5 LAS+ s¡ == 200 2 MAT + LAS + S2 == 175 MAT,LAS,s¡,s2 ~O 2x 1 + 4x2 == 2 3x¡ - X2 == 10 Aplicando el método del símplex se alcanza la optimalidad en una iteración. La tabla final es Cj CB 3 o VB LAS Sz z; - e; 2 MAT 2/3 4/3 o 3 LAS 1 o o o o S¡ S2 XB 1 133.3 41.66 400 2/3 -2/3 2 o o Suponiendo valores de producción no enteros, la solución óptima es MAT* == O, LAS• == ~33.33, si == O, si = 41.66, con beneficio óptimo B• == 400000 ptas. Como ocurría antes, toda la producción se restringirá a fabricar 133 impresoras láser. Observemos que, al ser si = O, se consumen las 200 horas de trabajo; sin embargo, como s2 = 41.6, de la disponibilidad de 175 horas de tiempo de control de calidad no se utilizarán 41.6 horas con el plan óptimo. · No debemos olvidar que en la fila indicador de la tabla final existe una variable no básica con indicador cero: existe un óptimo alternativo al que se llega fácilmente introduciendo en la base la variable MAT y sacando aquella variable básica dada por la regla de rninima razón, en este caso s2. Tal óptimo alternativo es MAT* = 31.245, LAS* == 112.5, si == O, s2 = O que, obviamente, proporciona igual beneficio óptimo. También serán soluciones óptimas las combinaciones lineales convexas de las dos anteriores, esto es, cualquier plan de la forma (MAT, LAS) == ..\(0, 133.33) + (1 - ..\)(31.25, 112.5), ..\ E [0, 1]. Resolución de un sistema de ecu:tciones lineales. Resolver por el rnttl)do del símplex el sistema de ecuaciones lineales 23. Solución Ya que buscamos aplicar el método del símplex comenzamos introduciendo transformaciones lineales sobre las variables no restringidas para convertirlas en no Hacemos x -_ x.t - x11 y x2 -_ x1 - x11 , con x1 , x11 , x1 , x11 > O IT' . negat tvas. 1 1 1 2 2 1 1 2 2 _ • J.enem0S el sistema de ecuaciones lineales con variables no negativas 2x~ - 2xl{ + 4x~ - 4x~ == 2 3x11 - 3x~- x~ + x~ == 10 x~,x~,x2,x~ ~O Como todas las restricciones son igualdades, introducimos una variable artificial (x3, x4) como suma en cada restricción y consideramos la función objetivo en la forma usual, poniendo coeficientes nulos a las variables x~ , x~, x2, x~. Tenemos el programa lineal max z s.a = Ox~ + Ox~ + Ox~ +Ox~ - Mx3 - Mx4 . .Aplicando el método de la variable artificial se llega en dos iteraciones a la tabla final CB o o o o o o - M -M e; VB x'1 x"1 x'1 1 -1 X~ Zj- Cj xM X~ X~ o o o o -1 1 o o o o o o o o X3 X4 XB .071 - .214 .28 .14 3 1 o o 1 1 o o 106 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES @RA-MA Apliquémoslo a la matriz A del enunciado, cuyo determinante Tomamos b = (5, 3) y formamos el programa lineal La lectura de la solución de esta tabla es x'1 3 = ,"x 10 = ., tx2 = 0, x211 = 1 max z0 s. a con z = O, ya que las variables artificiales toman el valor cero al ser no básicas en esta tabla final. Deshaciendo las transformaciones lineales sobre las variables originales, tendremos la solución del sistema de ecuaciones X¡ = 3, X2 = - x3 4X¡ 2X¡ IAI:; ;: 14 :f O. X4 +X2 + X3 = 5 +X2 +X4 :;;;: 3 X¡ 1 X2 1 X3 1 X4 ~ = -l. 107 Ü En tres iteraciones alcanzamos la tabla final Existen otras soluciones, ya que hay óptimos alternativos como se deduce de la tabla anterior. O 24. Inversión de una matriz. Mostrar cómo invertt'r una matriz con el método ¡; .,l. 1' 1' 1\ 1 del símplex. Aplicarlo a la matriz o o A= ( ~ ~ ) Si ai = ej, con ei j-ésimo vector de la matriz identidad, entonces Yi = bj con bj vector j-ésimo de B - 1. Para determinar la inversa de una matriz A con IAI :f O, tomamos un vector b ~ Oy formulamos el programa lineal max - lxa s.a Ax+ Ixa;;;: b X, Xa ~0 Lo resolvemos con el método del símplex y leemos, directamente en la. tabla óptima, la inversa de la matriz considerada bajo las variables básicas originales. o o VB X¡ X¡ X2 1 Zj- Cj Solución Dada una matriz A, su inversa A verifica AA -l = A-lA = I, con I la matriz ident!dad. Por otra parte, dada una base B factible, los vectores interiores y del método del símplex se obtienen de las relaciones 1, Cj CB X2 o o 1 o o -1 -1 X3 X~ XB 1/2 - 1/2 - 1 2 1 1 1 1 o que proporciona una solución óptima. Basta con leer en esta tabla los vectores interiores Y3 e Y4 correspondientes a las variables básicas iniciales que proporcionan la matriz A-t= ( 1/2 - 1/2) -1 2 . o 25. Método del símplex y restricciones redundantes. Un fabricante de jabo~es para ·lavadoras produce dos tipos diferentes denominados OMO y ESE, a partir de cuatro materias primas P l, P2, P3 y P4. Los requisitos porcentuales de estas materias primas para la fabricacion de ambos jabones, así como la disponibilidad semanal de cada materia prima en t, se muestran en la tabla Materia prima Jabón Pl P2 P3 P4 OMO 10 45 20 25 ESE 15 30 35 20 Disp. 50 90 80 60 El fabricante tiene que hacer semanalmente la planificación del proceso de producción. Las necesidades de mano de obra para la fabricación de una tonelada de jabón OMO se evalúa en 87 horas y en 98 horas para ESE. Para la fabricación de los jabones se utilizan varias máquinas. La disponibilidad de tiempo de fabricación por semana es de 20994 horas, que se desea queden cubiertas. Se admite la 108 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES ©RA-MA posibilidad de realizar horas extraordinarias con coste adicional de 2000 ptas por hora. Los costes de producción son de 4000 y 3000 ptas por t producida de OMO y ESE, respectivamente, que no incluyen los costes de las horas extraordinarias. El fabricante pretende maximizar la producción de ambos jabones teniendo en cuenta que el presupuesto total por semana es de 9 millones de ptás. max P = OMO +ESE s.a .45 OMO + .30ESE::; 90 .20 OMO+ .35ESE::; 80 4 OMO +3 ESE+ 2 TEX::; 9000 87 OMO+ 98ESE -TEX = 20994 OMO,ESE,TEX 2: O a) Establecer un modelo de programación lineal que responda a los deseos del fabricante. b) Obtener la solución analíticamente y explicarla. Añadiendo variables de holgura (s 1, s2, s3) a las tres primeras restricciones y una variable artificial a la cuarta (a4), en tres iteraciones del método del símplex se llega a la tabla final Solución Introducimos las variables de decisión 11 1 1 r~ ~ 1 CB OMO = t de producción del jabón OMO ESE= t de producción del jabón ESE TEX =Tiempo de producción en horas extraordinarias Las restricciones se deben a: 1 o o 1 e; VB OMO TEX SJ ESE Zj - Cj xM 1' - Limitaciones de disponibilidad de materia prima ·¡: .10 OMO + .15ESE::; 50 .45 OMO + .30ESE::; 90 .20 OMO + .35 ESE::; 80 .25 OMO + .20 ESE ::; 60 l. -\'timitaciolles presupuestarias 4000 OMO +3000 ESE + 2000TEX::; 9000000 - 'Mano <Ie obra 87 OMO +98ESE- TEX = 20994. . La función objetivo representa la producción total P que el fabricante desea maximizar. Esta es maxP = OMO +ESE Si prescindimos de las restricciones primera y cuarta, por ser redundantes, y dividimos por 1000 la restricción presupuestaria, 'tenemos el modelo de programación lineal 109 1 1 o OMO ESE TEX 1 o o o o o o o o 1 o o o 1 o o o o o o o -M S¡ $2 SJ - 3.08 3.59 111.3 184.6 -230.8 -370.8 -2.05 4.61 1.54 1.53 o o a4 XB 1 2 76.92 3790.61 557.23 184.61 261.53 o 1 o o o -1 o o o o o La solución óptima es, por tanto, OMO* = 76.92 t de producción de jabón OMO . ESE* = 184.61 t de producción de jabón ESE . TEX* = 3790.61 horas de mano de obra en horas extraordinarias. Además, no se gasta el presupuesto total de 9 millones, pues s3 =557230 ptas. En la solución óptima se consume toda la disponibilidad de P2 ya que si = Ot. Lo mismo ocurre para P3 al ser s2 = Ot. La producción total es de 261.53 t. Como se prescindió de las restricciones correspondientes a las materias primas Pl y P4, por ser redundantes, es necesario sustituir .la solución óptima en ellas para ver el gasto en cada caso. Es inmediato ver que, en la solución óptima, se consumen 35.38 t de Pl siendo la holgura de 14.62 t, y se consumen 56.15 t de P4 siendo ahora la holgura de 3.85 t. O 110 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS CAPITULO 2. RESOI..UCION DE PROGRAMAS l..INEALES @RA-MA 26. Método del símplex con variables acotadas. Resoluer por el método del símplex con variables acotadas superiormente los programas lineales a) ma:< z = 2x¡ + 3x2 s.a +3x2 ~ 16 2x¡ +x2 ~ 12 2 ~X¡~ 6 0 ~ X2 ~ 8 Xt b} max z s.a = max z s.a 2x'1 + 3x2 + Ox3 +Ox4 + 4 = +3X2 +X3 = 14 2x~ +X2 +X4 8 O~x~~-1 3x¡- x2 + 4x3 X¡ +3x2 + 4x3 ~ 18 3x¡ + x2 + 2x3 ~ 10 0 ~X¡~ 3 2 ~ X2 ~ 3 0 ~ X3 ~ 2 Solución a) El método del símplex con variables acotadas superiormente, en lugar de incluir las cotas sobre las variables como restricciones en la tabla del símplex, las trata de manera separada y tiene en cuenta su efecto modificando la condición de factibilidad, aunque la de optimalidad permanece igual que en el símplex primal. La idea que subyace ahora a la condición de factibilidad es que una variable se volverá. iofactible si toma un valor negativo o excede a su cota superior. La condición de no negatividad se trata de la misma manera que en el símpfex primal; sin embargo, la relativa a la cota superior requiere nuevas condiciones como que eviten que una variable no básica que pasa a serlo exceda su cota superior y, también, que se permita que una variable básica llegue a ser no básica en su cota superior3. Además, si aparece alguna constante en la función objetivo, en el símplex primal se prescinde de ella en la resolución y sólo se tiene en cuenta al final. Por el contrario, en el caso de variables acotadas superiormente, aunque podría hacerse de la misma forma, resulta más cómodo que ésta aparezca como. valor del objetivo en la tabla inicial e irla transformando en las ' iteracione~. Resolvamos el primer problema. Para ello, transformemos el programa lineal al formato estándar de maximización introduciendo variables de holgura en las restricciones (x3, x4) y teniendo en cuenta que, como x 1 tiene una cota inferior positiva igual a 2, introducimos el cambio de variable que correspondt a sustituir tal variable en su cota inferior, esto es, x1 = x~ + 2. Queda el programa lineal e11 formato estándar con todas las variables de decisión acotadas superiormente y no negativas aEn el símplex primal, todas las variables no básicas están con valor O. 111 X~ = 0~ X2 ~ 8 La tabla inicial del símplex es es o o e; 2 3 o o VB X~ X2 X3 X3 X4 3' 1 2 -2 -3 1 Zj- 1 ej X~ o o 1 o o XB 14 8 4 Tomamos x2 como variable de entrada, por ser la variable no básica con el indicador más negativo, Z2- c2 = -3. Para determinar la variable de salida, calculamos los valores () = min {() 1, 92, ()3} . Se tiene ya que Y2 ~ O, y (}3 =U2 =8, con u¡ cota superior de la variable i-ésima. Por tanto, Po.r ello, introducimos x2 en la base en lugar de ej ca 3 o VB 2 X~ X4 1/3 5/3' zi- e1 -1 X2 X3. La nueva tabla es 3 o o X2 X3 X4 1 1/3 o o -1/3 1 o 1 o xa 14/3 10/3 18 112 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS ©RA-MA Ahora la variable de entrada es x'l> ya que tiene indicador z1 - c1 = -1, que es negativo. Para determinar la variable de salida, calculamos 91 = 2 9¡ = oo, (y¡ ~ O) 93 = '1.1¡ = 4 ya que Y3 e= min {9¡ , 92, 93} =min {2, oo, 4} = 2.= 9¡ introducimos en la base la variable x~ en lugar de la variable X4. La nueva tabla es o o Cj 2 3 es 3 VB x'1 X2 X3 X4 XB 1 2 x'1 2/5 -1/5 4/5 -1/5 3/5 4 2 20 Zj - Cj o o o o 1 = min { ~ ' 92 Como 3/5 113 Tomamos X3 como variable de entrada, por ser la variable no básica con el indicador z3 - c3 = - 4, más negativo. Los valores 91> 92, 93 son . { 14/ 3 10/ 3} = 2 mm 1/ 3 ' 5/3 92 xz CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES ~ n =3 =00 O, y Por tanto, 9 = min{9¡,92,B3} = min{3,oo,2} = 2. Como 9 = u3, la variable x3 se sustituye en su límite superior, pero permanece no básica. Haciendo x3 = 2 - x3, la nueva tabla es es o o que es óptima. La solución hay que darla en términos de las variables originales x 1 y x2. Como x~· = 2, la solución óptima es Cj 3 -1 VB X¡ x2 X4 1 xs 3 -3 3 1 Zj - Cj -4 x'3 -4 -2 1 4 o o X4 1 xs xs o 4 o 1 o o 4 6 Ahora la variable de entrada es x1, ya que tiene indicador negativo z1 - c1 = - 3 y es el único. Calculamos los valores 9¡. 92, 93, que son con z• = 20. b) Poniendo el programa en formato estándar de maximización y haciendo la transformación lineal x2 = ~ + 2, queda el programa con variables acotadas superiormente max z = 3x¡ - x2 + 4x3 - 2 s.a X¡+ 3~ +4X3 + X4 = 12 3x 1 + x~ + 2x3 + xs = 8 0 :S: X¡ :S: 3 0 :S: X~ :S: 1 0 :S: X3 :S: 2 La tabla inicial es Cj es o o 3 -1 4 o o VB X¡ x2 X3 X4 X4 1 3 4 1 xs Zj -Cj 3 -3 1 2 1 -4 Xs XB o 1 o o 12 8 -2 o 91 = min 92 U• ~} = ~ = 00 ya que y 1 ~ O, y 9a =u¡ = 3. Como 9 = min {9 1, 92, Ba} = min U• oo, 3} = j la variable que sak es xs. La nueva tabla o Cj 3 -1 -4 es VB X¡ x3 X4 X4 o x2 3 X¡ 1 8/3 1/3 -10/3 -2/3 2 o o o z; - e; o 2 1 o xs XB -1/3 8/3 1/3 4/ 3 1 10 114 PROCRAMACIO~ LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS @RA-MA es óptima. Deshaciendo los cambios, se obtiene la solución óptima =3' X2,. = 2, X3• = 2 X¡ con z• = 10. o 27. Método del símplex con variables acotadas y planificación de la producción. Industrias I}raf fabrica tres tipos de discos denominados 1, 2 y 3, a partir de las materias primas A y B. Un disco tipo 1 requiere 4 gramos de A y 3 de B: uno de tipo 2, requiere 7 de A y 2 de B; uno de tipo 3, 3 de A y 8 de B. Debido a problemas de transporte se restringe la disponibilidad de la materia prima A a 1700 kg y la de B. a 1500 kg, en ambos casos por mes. La compañía tiene una serie de contratos que desea cumplir y que obligan a prod·ucir en cada mes entre 200000 y 230000 discos de tipo 1, y entre 70000 y 80000 los de tipo 2 y 3. Se sabe que debido a la fuerte demanda del mercndo se va a vender todo lo que se produzcn. Si el beneficio neto por disco producido de tipo 1, 2 y 3 es de 15, 20 y 21 ptas, respectivamente, ¿cuál es el plan de producción óptimo de Kraf? =X~ + 200000, Definimos las variables de decisión xt =producción de discos tipo i = 1, 2, 3. Las restricciones debidas a las limitaciones de materia prima son 4x¡ +7x2 +3x3 S 1700000 3x1 + 2x2 + 8x3 S 1500000 Además, hay que añadir las restricciones de producción 70000 S x2 S 80000, 70000 S 'x3 S 80000. La función objetivo B representa beneficio total neto y es de la forma de maximización B = 15x1 + 20x2 + 21x3. max B = 15x¡ + 20x2 + 21x3 4x¡ +7x2 + 3x3 S 1700000 3x 1 + 2x2 + 8x3 S 1500000 200000 S X¡ S 230000 70000 S X2 S 80000 70000 S X3 S 80000 = xí +70000, X3 = XJ + 70000. = 15x'1 + 20x~ + 2lx3 +Ox4 + Oxs + 5870000 s. a 4x'1 + 7x2 + 3x3 + X4 = 200000 3x~ + 2x2 + 8x3 + xs = 200000 oS X~ S 30000 OS x2 S 10000 OS x3 S 10000 La tabla inicial es es o o VB X4 xs Zj- Cj 21 o o xs x3 X4 Xs 1 o 200000 4 7 3 2 o 1 200000 3 8 -15 -20 -21 o o 5870000 15 x'1 20 X~ Hay indicadores negativos, por lo que es posible la mejora. El más negativo es z3 - c3 = -21, por lo que x3 es la variable de entrada. Para ver a quién sustituye determinamos 8 = min {81, 82, 83} ~ min {25000, oo, 10000} = 10000. Como 8 =83 =u3 = 10000, la variable x'3 se sustituye.en su límite superior pero permanece no básica. Haciendo x3 = u3 - x3 = 10000 - x3, la nueva tabla es Cf Queda, por tanto, el programa lineal con variables acotadas ma.'< B s.a X2 Ponemos luego el programa en formato estándar, sumando una variable de holgura a cada restricción (x 4 , x5 ) . Se tiene el programa con variables acotadas superiormente Cj Solución 200000 S X¡ S 230000, 115 que resolvemos con el método del símplex con variables acotadas superiormente. Para ello, introducimos las transformaciones 4 • X¡ CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES CB o o VB X4 X5 ZJ- Cj 15 x't 20 -21 x2 xj 4 7 -3 2 -8 3 -15 -20 21 o o X4 1 o xs xs 1 120000 o 170000 o o 6080000 Tomamos x~ como variable de entrada. Para determinar la variable de salida calculamos 8 = min {8 1, 82, 83} =mio {24285.71, oo, 10000} = 10000. 116 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS ©RA-MA Como 8 =83 =u2 =10000, la variable x~ se sustituye en su límite superior pero perm11nece no básica. Haciendo x~ =u2 - x~ =10000- x2, la nueva tabla es es o o Cj 15 VB x'1 'X4 4 3 -15 zs . Cj Zj -20 -21 x"2 ~·3 7 -3 -2 - 8 20 21 xs zs o 1 100000 100000 6280000 o 1 o o Tomamos X11 como variable de entrada, z1 - c1 =-15 < O, y calculamos 8 =min{8¡,82,83} =min{25000,oo,30000} =25000. Es 8 =81 y X4 la variable de salida. La nueva tabla es e; 15 -20 es VB x'1 X~ 15 x'1 xs 1 o o o Cj Zj - 21 o o X~ 'X4 xs Xs 1 25000 25000 6655000 - 1.75 -.75 .25 3.25 -5.75 -.75 -6.25 9.75 3.75 o o Tomamos ahora x2 como variable de entrada, z2 - c2 =-6.25 < O, y calculamos 8 = min {8¡ 182 8 } =min { 25000 30000 - 25000 1 3.25 1 -(-1.75) 3 }110000 - = min {7692.3, 2857.2, 10000} = 2857.2. Como 8 = 82, introducimos x'2 en la base en lugar de x'1 y después sustituimos xi en su cota superior. Se tiene la tabla es Cj 15 -20 VB x'1 x"2 X~ .57 1.86 3.57 1 20 o xs C¡ Zj -21 o o x"3 X4 xs xs 1 -14285.7 71428.6 6565714.2 o o Cj 20 o VB X~ xs Zj- Cj 15 -20 -21 o o XII x"1 x"3 'X4 xs Xs 2 .57 1 .43 .14 o 2857.2 -1.86 o -7.14 -.28 1 15714.3 3.57 o 12.42 2.85 o 6672857 - = xi + 200000 =230000 x'2 =2857.14 =? x2 = 10000- 2857.14 =7142.86 =? =? x2 = 70000 + x2 =77142.86 x~ = O=? x3 = 10000 =? X3 = x3 + 70000 = 80000 En resumen, la solución óptima es producir xj =230000 discos de tipo 1 x2 =77142 discos de tipo 2 x3 = 80000 discos de tipo 3 con beneficio óptimo B* = 6672857 ptas. o 28. Modelo estático de análisis input-output. Las autoridades económicas de una región que posee cuatro industrias denominadas 1, 2, 3 y 4, quieren llevar a cabo una planificación de la producción para el año próximo. Es importante una coordinación a nivel global debido a la gran interdependencia entre las indu$trias, como se refleja en la tabla de transacciones (en millones de ptas) Destino Origen 1 2 3 4 Total Sustituyendo ahora x~ = 30000 - x'1, se llega a la tabla óptima es de las variables originales Resto .43 -.14 - 7.14 - .28 12.42 2.85 o o Deshaciendo los cambios de variable tendremos la solución óptima en términos x1: =O=? xi = 30000 =? x¡ o o 'X4 CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES 117 ---------------~~~~~~~~~~~~~~~==~~ 4 3 2 1 2-10 150 380 400 160 290 500 310 270 570 200 140 280 120 370 290 1630 1800 1100 960 2740 3150 2320 19-!0 Const.~mo Total 1230 1440 1820 1000 2400 2700 2990 2060 o ~90 5499 La primera fila se refiere a las actividades de la industria l. Así, la industria 1 produce 2400 unidades (en millones de ptas) de bienes, de las cuales utiliza ella misma 400, 380 se venden a la industria 2, 150 a la 3, 240 a la 4 y 1230 a los consumidores. Análoga interpretación tienen las filas segunda a cuarta. La fila "resto" recoge salarios, préstamos de capitales,. .. por ejemplo, para la industria 1 son 1630 unidades. Por las implicaciones que tienen las industrias 3 y 4 en la creación de puestos de trabajo indirectos, se desea que sus producciones para el próximo año sean las mayores posibles. La tabla siguiente recoge las demandas estimadas y los límites máximo y mínimo de producción que posibilitan la estabilidad económica regional 118 PROGRAMAGION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS Industria 1 2 3 4 CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES Demanda Límites prod. estimada mínimo máximo 1600 2500 3170 1450 2820 3200 2000 1900 2600 1300 1930 2420 en que m¡ y M¡ representan, respectivamente, los límites mínimo y máximo de producción de la industria i. La función objetivo es la salida total de las industrias 3 y 4, es decir, S = sAL3 + SAL4 , que habrá que ma.ximizar. Resumiendo, queda el programa lineal con variables acotadas ¡ a) Formular un modelo de programación lineal que ayude a planificar la producción de cada industria. b) Si ahora el interés es monetario y se conocen los beneficios unitarios de cada industria para el año próximo que son, respectivamente, 30, 28, 42 y 36 ptas, determinar la producción de cada industria. Solución a) Comenzamos calculando la matriz de coeficientes técnicos, que se obtiene dividiendo cada elemento interior de la tabla de transacciones por el total que aparece en su columna e.n la.fila infe~ior. Tales elementos, que denotamos por a¡j, representan las contnbucwnes urutarias de cada industria. Por ejemplo1 el elemento en la posición (1, 3), que es .065, indica que para una salida de una. unidad de la industria 3 se requiere una entrada de .065 unidades de la. industria 1. Tenemos así la matriz Industria 2 3 4 .146 .121 .065 .124 .058 .093 .215 .160 .098 .178 .086 .072 .102 .039 .160 .149 1 2 3 4 Definimos las variables de decisión SALí= salida total de la industria i = 1 2 3 4 ' ' ' Las restricciones de producción y limite de demanda deben cumplir (in~~~~: 0 i ) - ( ::~:~: ¡ ) $ ( 119 ¡~~:~:i~ai ) o bien, si denotamos con d¡ la demanda. de la industria ·i1 SAL¡- a¡¡ SAL¡- a¡2SAL2- a¡3SAL3 - a¡ 4 SAL4 $ d;. Además, tendremos restricciones sobre las variables SAL¡ debidas a los limites de producción dados por max S = SAL3 +SAL4 s.a SAL¡ - .146 SAL¡ - .121 SAL2 SAL2 - .058 SAL1 - .093 SAL2 SAL 3 - .098SAL1 - .178SAL2 SAL4 - .102SAL1 - .039SAL2 2500 $ SAL 1 $ 3170 2820 $ SAL2 $ 3200 1900 $ SAL3 $ 2600 1930 $ SAL4 $ 2420 .065 SAL3 - .124 .S:4.L4 $ 1600 .215 S.4.LJ - .160 SAL4 $ 1450 .086SAL3 - .072SAL4 $2000 .l60SAL3- .149SAL4 $1300 Aplicando el método del símplex con variables acotadas superiormente, en tres iteraciones se alcanza la optimalidad. La solución óptima es SALj = 2785.2, SAL2 = 2820, SALj = 2600, SAL~ = 2420. b) En este caso, cambia únicamente la función objetivo que representa el beneficio total B max B = 30 SAL1 + 28 SAL2 + 42 SAL3 + 36 SAL4 Aplicando de nuevo el método del símplex, se obtiene en cinco iteraciones la solución óptima SALj = 2822.7, con beneficio B* SAL2 = 2822.4, = 360028.4 ptas. SALj = 2600, SAL:= 2420, o 29. Gestión de un almacén. SOX es un almacenista que se dedica a la compraventa de arroz. Dispone de un almacén con capacidad para 7000 t y pretende llevar a cabo la planificación del último trimestre del presente año. Debido a la sit·uación actual del mercado, estima que el primero de o~tubre tendrá un inventario de 1500 t de arroz y una disponibilidad de 280 millones de ptas. Los precios estimados de compra y venta (en miles de ptas) de la t de arroz para el citado trimestre son 120 PROGRAMACION UNEAL Y APLICACIONES: EJERCICIOS RESUELTOS Mes Octubre Noviembre Diciembre Precio por t Compra Venta 75 93 81 99 79 95 Como se debe empaquetar el arroz adquirido, sí el comprado en un mes no se puede vender hasta el siguiente. Tanto la compra como la venta se hacen al contado. SOX desea tener al final del período un inventario de 2000 t. Encontrar el plan de gestión de máximo beneficio. 121 - Límite presupuestario (en miles de pta.s) 75 C¡ $ 28QQQQ 81C2 $ 28QQQQ - 75 C¡ + 93 VI 79 c3 :::; 280000- 75 e¡ + 93v¡ - 81 c2 + 99v2 - No negatividad de todas las variables de decisión Ci,V¡ , a¡ ~O , i = 1,2,3. La función objetivo B representa el beneficio neto en miles de ptas que hay que Solución roaximiza.r Introducimos las variables de decisión = t de arroz que se compran en el mes i Vi = t de arroz que se venden en el mes i Ci a¡ = t de arroz que se almacenan en el mes i con i CAPITULO 2. RESOLUCJON DE PROGRAMAS LINEALES ©RA-M~ = 1 (octubre), i = 2 (noviembre) e i = 3 (diciembre). B = 93v1 + 99vz +95v3 -75c¡ - 81cz - 79cJ. Aplicando el método del símplex con variables acotadas superiormente, se tiene en ocho iteraciones la solución óptima. Las compras de arroz, en t, en los tres meses deben ser e~ = Las restricciones se deben a: 3733.33, c2 = 1722.22, c3 = 2000. Las ventas - Capacidad del almacén 1500 + C¡ $ 7000 c2 + a¡:::; 7000 c3 + a2 $ 7000 Los inventarios aj = 3733.33, - Disponibilidad de arroz para venta $ 1500 vz $ a1 v3 $ a2 V¡ - Inventarios al final de cada mes a1 = 1500 + C¡ -V¡ az = a1 + c2 - v2 a3 = a2 +c3 - v3 Además, para a3 deben verificarse las condiciones 2000 :::; a3 v; = 1500, v2 = 3733.33, vj = 1722.22. :::; 7000 a2 = 1722.22, El beneficio resultante es de 95211110 ptas. aj = 2000. o CAPITULO 3 DUALIDAD Y ANALISIS DE SENSIBILIDAD 1 En este capítulo planteamos, e~ primer lugar, la construcción del problema dual de un problema de programación lineal dado, denominado primal. La importancia de la dualidad es tanto teórica como práctica: permite el desarrollo y demostración de algunos teoremas notables en programación lineal¡ se puede utilizar para aplicar el símplex a problemas con una base inicial primal infactible¡ puede resultar en algunas ocasiones más sencilla la resolución del problema dual que la del primal (en términos de menor número de iteraciones)¡ los valores óptimos de las variables duales proporcionan una interpretación económica del problema interesante¡ facilita el estudio del impacto sobre la optimalidad por cambios en los coeficientes del problema (análisis de sensibilidad)¡ ... La formulación del problema dual se lleva a cabo aplicando ciertas relaciones estructurales que exigen que el problema primal tenga un formato determina:do, por ejemplo, simét1ico, general... Comenzamos el capítulo con varios ejercicios en los que se construye el problema dual eligiendo el formato inicial más adecuado, en términos de menor número de transformaciones para ·lograrlo. Se muestran en distintos ejercicios las relaciones algebraicas entre el problema primal y su dual. Entre ellas, están las condiciones de holgura complementaria o la posibilidad de una lectura casi directa de la solución del problema dual en la tabla óptima del símplex del problema primal. También será importante la información económica que sobre el problema primal proporciona la solución óptima del problema dual: los valores óptimos de la variables de decisión duales son los precios sombra o marginales o de elf'Uilibrio, y su conocimiento permitirá determinar si resulta 124 • l ·1· •• PROGRAMACJON LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS ©RA-~ ventajoso considerar recursos adicionales sin necesidad de resolver nuevamente el problema. Pueden surgir problemas cuya base inicial sea dual factible, ZJ - CJ ~ O, 'tJj, . y primal infactible, xBi < O, para algún i. El algoritmo del símplex dual permite resolver tal tipo de problemas alcanzando la optimalidad, si existe, cuando se llegue a una solución primal factible, xs¡ ~O, Vi . Este algoritmo no permite, en general, resolver un programa lineal por las exigencias iniciales para su aplicación. Sin embargo, se ha desarrollado una extensión denominada símplex dual extendido o método de la restricción artificial, que supera el inconveniente indicado. Existen otras extensiones o variantes del algoritmo del sírnplex y una de las más interesantes es la conocida como algoritmo del símplex primal-dual, en la que compiten los pivote~ primal y dual para determinar aquel de mayor impacto,· logrando así una convergencia más rápida. El otro aspecto que se ilustra en este capítulo es el análisis de sensibilidad. En todo modelo cuantitativo los distintos coeficientes pueden estar sujetos a fluctuaciones o errores. Por ello, su conocimiento no siempre es preciso y pueden cambiar con el tiempo al depender, en muchas ocasiones, de parámetros no controlables. Un uso típico será en aquellos casos en los que hemos obtenido la solución óptima y deseemos encontrar uña nueva solución óptima cuando hayan cambiado, por ejemplo, las disponibilidades de los recursos. La dualidad sirve de ayuda para llevar a cabo análisis de sensibilidad, como se ilustra con diversos ejercicios tanto en el caso discreto como continuo. En el primero se consideran: cambios en un coeficiente de coste (c1), cambios en uno o más recursos (b¡), cambios en un coeficiente tecnológico (G.ij), incorporación de una nueva variable e incorporación de una restricción. En el segundo, denominado programación lineal paramétrica, se estudia: parametrización de la función objetivo, del vector de recursos y de un coeficiente tecnológico. Se ilustran estos casos con varios ejercicios teóricos y también con una serie de ejercicios en los que se parte desde el principio, es decir, hay un enunciado que exige la modelización y posteriormente se plantean posibles cuestiones de análisis de sensibilidad en los casos discreto y paramétrico. CAPITULO 3. DUALIDAD Y ANALJS!S DE SENSIB!LLDAD 125 EJERCI CIOS 1. Problema dual en formas simétrica y general. Dado el problema lineal mm z == 20x¡ - 8x2 + 12x3 s. a 4x¡ - x2 +2x3 ~ 6 - x1 + 3x2 - X3 S 8 X¡+ 5x3 == 5 3X ¡ - X2 + X3 ~ 4 X¡,X3 ~ 0 x2 no restringida a) Determinar el problema dual en la forma simétrica. b) Determinar el problema dual en la forma general. Solución a) Expresamos el problema primal en formato simétrico de minimización: la función objetivo debe minimizarse, todas las variables son no negativas y las restricciones desiguadades ~. Como x2 es no restringida, hacemos la transformación lineal 1 - x 11 1 11 >o x2 = x 2 2 con x 2 , x 2 _ , Multiplicamos la. segunda restricción por -1 y la tercera la descomponemos en dos desigualdadeS ~. Tenemos entonces el programa lineal min z == 20x 1 - 8x~ + 8x~ + 12x3 s. a 4x1 - x~ + x~ + 2x3 ~ 6 + 3x~ + X3 ~ -8 5x3 ~ 5 -x¡ - Sx3 -~ -5 3x 1 -X~+ X~+ X3 ~ 4 x 1 ,x~,x~,x3 ~O XI - 3x~ X¡ + en formato simétrico de minimización. Para pasar de las relaciones estructurales al problema dual en forma simétrica, se deduce que éste tendrá cinco variables de decisión (y¡, y2, y3, y4, ys) y cuatro restricciones, por tener el problema primal .. 126 PROGRAMACION LIN BAL Y APLICACIONES: EJERCICIOS RESUELTOS cinco restricciones y cuatro variables de decisión (x¡, x2, x~, X3), respectivamente. El problema dual, en formato simétrico de ma.ximización, es max w = 6y¡ - 8y2 + 5y3 - 5y4 + 4ys s. a 4y¡ + 1/2 + Y3 - Y4 + ~Ys ~ 20 :y¡ - ]Y2 - Ys ~ - 8 Yt + 3y2 + Ys ~ 8 . ~Yl + Y2 + QY3 - 5y4 + Ys ~ 12 Yt,Y2,Y3.Y4,Ys ~O b) En formato general elegimos para el problema primal la forma de minimización: la función objetivo debe minimizarse, las variables de decisión pueden estar o no restringidas y las restricciones pueden ser desigualdades ~ o = . Para ello, basta con multiplicar la segunda restricción por - 1. Queda el problema primal min z s.a = X¡ - 3X2 X¡+ Sx3 ~ 6 + X3 ~ - 8 =5 + X3 ~ 4 0 x2 no restringida 3X¡- X2 X¡,X3 ~ . ~- Aplicando las relaciones estructurales que permiten pasar al problema dual en formato general, éste tendrá cuatro variables de decisión (y1, y2 , y3, y4) y tres restricciones, por tener el problema primal cuatro restricciones y tres variables de decisión (x¡, x2, X3), réspectivamente. El problema dual, que está en formato gen~ral de maximización, es ma.x w s.a = 127 2. Formulación del problema dual. Formular el dual de los siguientes problemas lineales y resolverlos dando, en los casos en que sea posible, la solución de ambos problemas ma.x z = s.a a) b} X ¡ - X2 = min z s.a 3x¡ + x2 ~ 6 2x¡ + 3x2 ~ 12 X1,X2 ~ 0 e) X¡ +x2 X2 ~ 2 x1 + 2x2 d) minz= 2x 1 - 3x2 s. a X¡+ X2 ~ 1 X2 ~ .1 X¡ ,x2 ~O min z = s.a ~ 3 -X¡ - X2 X¡- X2 ~ X¡- 2x2 5 7 ~ X ¡ ,X2~ 0 20x 1 - 8x2 + 12x3 4x¡ - x2 + 2x3 • 1 CAPITULO 3. DUALIDAD Y ANALISIS DE SENSIBILIDAD © RA-MA 6y¡ - 8y2 + Sy3 + 4y4 4y¡ + Y2 + Y3 + 3y4 ~ 20 -y¡ - 3y2 - Y4 = - 8 2y¡ + Y2 + Sy3 + Y4 ~ 12 Yl>Y2,Y4 ~O Y3 no restringida La segunda restricción dual es una igualdad, por ser la segunda variable primal no restringida. La tercera variable dual es no restringida, por ser la tercera restricción primal una igualdad. O Solución a) El problema primal está en forma simétrica de ma.ximización. Aplicamos directamente las relaciones estructurales que nos llevan a su dual: max z = X¡ - X2 s. a 3x¡ +x2 ~ 6 2x 1 + 3x2 ~ 12 dual ---+ minw = 6y¡ + 12y2 s.a 3y¡ + 2y2 ~ 1 Yt + 3y2 ~ - 1 X ¡ 1 X2~0 Yt.Y2~0 Resolvemos el primal aplicando el método del símplex. Poniéndolo en formato estándar de maximización con x3 , x4 variables de holgura, que serán las variables básicas iniciales, en una iteración del símplex llegamos. a la tabla final Cj 1 -1 VB o o CB X¡ X2 X3 X4 1 Xt 1 o X4 Zj - Cj o o 1/3 1/3 7/3 - 2/3 4/3 1/3 XB o 2 1 8 o 2 La solución óptima es única, pues sólo las variables básicas en esta tabla final tienen indicadores nulos. Esta es xi = 2,_x2 = O con z' = 2. 128 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS También se leen de modo sencillo los valores óptimos de las variables duales en la tatla final. Basta con recordar que las variables básicas iniciales, y en este orden, eran X3 y X4. Como X3 se añadía a la primera restricción primal, a partir de su indicador z3 - c3, tendremos el valor óptimo de la primera variable dual de rlecisión poniendo Yi = (z3 1 CJ) + CJI = l~ + ol = j. Análogamente, para la segunda variable dual de decisión Y2 = l(z4 - c.t) + c4j = lO+ Ol =O. El valor óptimo del objetivo dual w es w• = z* = 2. b) Como hay variables no restringidas, elegimos el formato general de maximización para el problema primal. Determinamos el problema dual en formato general de minimización. Al ser en el primal las restricciones de desigualdad, las variables duales serán no negativas. Por otra parte, como ambas variables primales son no restringidas, las restricciones duales serán de igualdad. Se tiene: max i s.a = -x¡ - x2 dual min w s.a = 2y1 + 3y2 Y2 = -1 Yl + 2y2 = -1 YJ,Y2 ~O --7 con z =-t. Elegimos la resolución del problema dual, ya que sus variables son no negativas y evitamos duplicar el número de variables, aunque habrá que añadir variables artificiales. Poniendo el dual en formato estándar de maximización, donde las variables Ya e Y4 son artificiales, tenemos max w' s.a = min z' = - 2x'1 + 3x2 m&'< w s.a -x~ - x2 ~ 1 -x2 ~ 1 = Yl +Y2 s.a dual --+ -y¡~ -2 -y¡- Y2 ~ 3 x'1 ,x2 ~O y:,!/2 ~o Elegimos la resolución del problema dual transformándolo, previamente, al formato estándar de maximización, para lo que introducimos las variables de holgura y3, y5 y la variable artificial Y4· Queda el programa lineal ma.'< z = Yt +.Y2 +Oy3 - My4 +Oys s.a Yl -y3 +Y4 = 2 -y¡ - Y2 +Y5 = 3 y¡,y2,Y3.Y4.Y5 ~O Aplicando el método de las penalizaciones, se tiene eil una iteración la tabla Aplicando el método de las penalizaciones, la tabla inicial es -2 -3 es VB -M -M Yt Y3 o Y2 -1 Y4 -1 Zj- Cj 2 1 -2 3 3 xM 129 Esta tabla es también la final, ya que todos sus indicadores son no negativos. Como hay variables artificiales en la base con valor positivo (y3 = 1, Y4 = 1), el problema dual es infactible. Por las relaciones algebraicas de dualidad, el problema primal es no acotado o infactible. Para ver que el primal es no acotado, · bastaría con comprobar que es factible. Para ello, encontramos una solución, por ejemplo, x 1 = O, x2 = l. Observemos que, en este caso, no habría sido necesario realizar el estudio mediante el método del símplex, puesto que la restricción Y2 = -1 conjuntamente con Y2 ~ O, nos indica que el dual es infactible. e) Ponemos el proólema primal en formato simétrico de minimización, introduciendo los cambios de variable x 1 = -x~ y x2 = -x2. Determinamos su dual, que estará en forma simétrica de maximización. Tenernos así -2y¡- 3y2- My3- My4 -y2 +Ya = 1 -y¡ - 2y2 + Y4 = 1 y¡,y2,y3,y4 ~O Cj CAPITULO 3. DUALIDAD Y ANAL!SIS DE SENSIBILIDAD @RA-MA -M -M Y3 1 o o o YB 1 1 o o 1 1 VB Yt Y2 1 Yt 1 o Ys Zj- Cj y~ o Cj es 1 o -2 xM o o -M o Y3 Y4 -1 -1 -1 1 1 1 1 o -1 o -1 o o o Ys YB 1 5 o 2 o 2 o o Al existir indicadores negativos (z2-c2 = -1, z3-c3 = -1) con vectores interiores asociados con todos sus elementos no positivos (Y2 = {0, -1), Y3 = (-1, - 1)), el 1 dual es no acotado y, por tanto, el primal es infactible. 130 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS · d) Ponemos el problema en formato simétrico de ma.:dmización y determinamos su dual max z' s.a = x1 +x2 minw s.a dual $5 -x¡ +2x2 -7 X¡ 1 X2 ~ 0 X¡- X2 = s 5y¡- 7y2 Yt- Y2 ~ 1 ~ -y¡+ 2y2 Yt,Y2 ~ 0 CAPITULO 3. DUALIDAD Y ANALISIS DE SE:-ISIBTLLDAD @RA-MA ~ L Solución Formulamos los programas duales en forma simétrica de ambos problemas. Para Pl, se tiene el siguiente proceso de conversión mio ctx s.a --t Ax ~ b 1 o o -M X¡ X2 X3 1 -1 1 o -1 - 1 -1 1 -2 1 o 1 1 o o 1 CB VB 1 X¡ -M xs Zj- Cj xM o o o X4 . 1 Xs o XB 5 2 5 -2 3. Algunas relaciones algebraicas en dualidad. Consideramos los programas lineales Pl : min z = ctx s.a. Ax ~ b --t Dl: ma.x btu s.a Atu = e --t u ~ O Como hay una variable artificial en la base con valor positivo (x5 = 2), el problema primal es infactible. Como consecuencia. el problema dual será no acotado o infactible. Compruebe el lector que el problema dual es no acotado. O " min - btu ma.x -ctx ~ s.a s.a - A1u = -e -Ax $- b u~O con z' = -z. Elegimos para su resolución el problema primal. Poniéndolo en formato estándar, añadiendo variables de holgura (x3, x 4 ) y una variable artificial (xs) a la segunda restricción, en una iteración del método de las penalizaciones se llega a la tabla final e; 131 P2 : ma.x w = cty s.a Ay$ b con A matriz de orden m x n. Probar· que: a) Si ambos problemas son factibles y uno de ellos tiene sol·u.ción óptima, el otro también la tiene. b) Si ambos problemas son factibles y Pl es no acotado, entonces P2 es no acotado. e) Suponiendo que ambos problemas tienen soluciones óptimas, comprobar qut si x e y son factibles, entonces ctx ~ cty. Para P2 ma.x s.a cty dual ~ Ay $ b D2: min btu s.a Atu =e u~ O Probamos ahora las afirmaciones del enunciado, que son aplicación directa de las relaciones algebraicas básicas entre un problema primal y su dual. a) Supongamos que Pl y P2 son factibles y Pl acotado. Si P2 fuese no acotado, entonces D2 sería infactible, con lo que Dl también sería infactible. Luego Pl sería no acotado o infactible, lo que lleva a una contradicción. De forma análoga se demuestra que si Pl y P2 son factibles y P2 es acotado, entonces Pt es acotado. b) Si Pl es no acotado entonces Dl es infactible, con lo que D2 es infadible YP2 debe ser no acotad~ o infactible. Como es factible, entonces P2 es no acotado. e) Si Pl y P2 son acotados, entonces Dl y D2 son. acotados. Construimos la siguiente cadena de desigualdades cty $ ' mio btu $ ma.x btu Atu =e A1u = e u ~ O u ~ O válida para todo y y x tales que Ay$ b y Ax~ b . o 132 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS 4. Método del .símplex dual. Resolver con el algoritmo del símplex dual, si es posible, los problemas a) max s. a. z = b) -2x 1 - x 2 minz s.a. 3x¡ + x2 + 2x3 ~ 6 X¡+ 3x2 - 4x3 ~ 10 Xt,X2,X3 ~ 0 X¡ 1 X2~0 e) 1 1 ) max z S. a • 1 = -5x¡ - Cj -2 -1 o o CB VB Xt X2 X3 X4 -1 X2 X4 1/2 -4 3/2 1 - 1/2 2 1/2 o Zj- Cj que es primal factible, pues La solución óptima es 3x2 3x¡ + 2x2 ::; 6 X¡+ 5x2 ~ 18 X¡ 1 X2 ~ 0 Obtener en los casos en que proceda los valores óptimos de las variables de decisión del problema dual. x~ =O, max z s.a = -2x¡-X2 + Ox3 +Ox4 . X¡,X2 1 X3 1 X4 ~ o o Cj -2 -1 VB Xt X2 max z' s.a X3 X4 Zj- Cj -1 -2· -2 4 ,_2. ) 1" ' X4 XB 1 o . .:-6 o 1 14 o o o Es dual factible (z1 - e; ~O, j = 1, 2, 3, 4) y primal infactible (3 x 8 ¡ <O}. La variable de salida es X3. ya que X3 = xs 1 = -6 <O. Para determinar la variable de entrada calculamos las razones 2 p¡ = - - = - = - 2, Yll -1 Z¡ - C¡ ' 1 1" 1 1 P2= - - = - = - Yt2 -2 2 Z2 - C2 Y2 = Z4 - C4 =0 = X¡+ 2x2- X3 + Ox4 + Oxs - 3x¡ - x2 - 2x3 + X4 = -6 - x¡ - 3x2 + 4x3 + xs = -10 X¡ 1 X2 1 X3 1 X4 1 X5 ~ 0 0 o o X3 -3 xi =3, x3 =O, x4 = 2 con z• = -3. La tabla inicial, que es la misma que en el método del símplex primal, es CB 2 o con valor para el objetivo· dual w• = - 3. b} Expresando la función objetivo en formato de maximización, multiplicando por -1 ambas restricciones y añadiendo variables de holgura (x4 ,x5), tenemos -X¡ - 2x 2 <" 1 = 1, 2 y termina el algoritmo. O para todo i Yt = Z3 - C3 =~~ + X3 = -6 -2x¡ + 4x2 +x4 = 14 ,. XBi ~ o o XB o 3 Los valores óptimos de las variables de decisión del dual se leen directamente en la fila indicador de la tabla final, bajo las variables básicas iniciales (observemos que en el método del símplex dual sólo se consideran variables de holgura, que ti~nen coeficiente cero en la función objetivo). Se tiene, entonces, que Solución a.) Transformamos el problema al formato de aplicación del método del símplex duª'l. Para ello, multiplicamos por -1 la primera restricción y añadimos variables de holgura (x3, x4) a ambas restricciones. Tenemos el problema 133 Puesto que la mayor corresponde a P2 1 elegimos x2 como variabl.e de entrada. El pivote es Yt2 = -2. Una transformación de pivote conduce a la tabla = -X¡- 2X2 + X3 x¡ + 2x2 ~ 6 -2x¡ + 4x2 ::; 14 1¡ CAPITULO 3. DUALIDAD Y ANALISIS DE SENSIBILIDAD ©RA-MA con i = -z. Construimos la tabla inicial CB o o Cj 1 2 -1 o o VB X! X2 X3 X4 X4 -3 -1 -2 1 xs - 1 -3 -1 -2 4 1 Zj- Cj xs o XB -6 o 1 - 10 o o o Como es dual infactible (z 1 - c1 = -1 <O, z2 - c2 = - 2 <·O), no es posible su resolución con este algoritmo. Una posibilidad es utilizar el método del símplex dual extendido, que aplicaremos en el Ejercicio 3.5. 134 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS e) Multiplicando la seg1mda restricción por - 1 y añadiendo variables de holgura (x 3 , x4), tenemos el problema transformado max z = -5x¡- 3x2 +Oxa + Ox4 s. a 3x¡ CAPITULO 3. DUALIDAD Y ANALISIS DE SENSIBILIDAD ©RA-MA +2x2 + X3 = 6 + X4 = -18 .Solución a) Intentamos aplicar el método del símplex dual. Para ello, ponemos el objetivo en forma de rna.'<imización, multiplicamos por -1 la primera restricción, descomponemos la segunda restricción en dos restricciones de desigualdad de la forma S y añadimos variables de holgura a las tres restricciones resultantes, obteniendo -X¡ - 5X2 = max z' 2::0 X1,X2,X3,X4 o o Cj -5 -3 VB XJ X2 - 3x¡ - 6x2 + 2xa + X4 == - 8 X¡ + 2x2 + XJ +x 5 = 4 - X¡ - 2x 2 - x3 + X6 = - 4 o o X3 X4 1 o 3 2 -1 -5* 5 3 xa X4 z; - e; 5 - -1 _ Z¡ - C¡ _ Pt - - Y2t = -5, P2 XB X¡ 1 X2,X3,X4,Xs 1 X6 6 o 1 - 18 o o o La variable de salida es x4, ya que x4 = xs2 variable de entrada calculamos las razones = -18 < O. con z' Para. determinar la 3 CB o VE xa -5 -3 o o o 3 = - Y22- =-- 5 = - -5· XJ X2 13/5 1/5 22/5 o o XJ 1 o X4 XB 2/5 -6/5 - 1/5 18/5 3/5 - 54/5 1 o o o La variable de salida es x3, ya que xa = x 81 = - 6/5 <O. Sin embargo, todos los -3 X2 Zj - Cj elementos de esta fila son no negativos. No es posible un pivote y, por tanto, el problema dual es no acotado y el primal infactible. o 5. Método del símplex dual extendido o de la restricción artificial. minz s.a = 2xt+4x2-X3 3x 1 + 6x2 - 2x3 2:: 8 X¡ + 2x2 + x3 ::::: 4 X¡ 1 X2 1 X3 2::0 b) maxz s.a = X! X2 X3 X4 X4 -3 -6 l 2 - 1 -2 2 4 2 1 xs X6 Zj- Cj 4x¡ + 3x2 ;::: 16 X¡+ 3x2 2:: 6 X¡+ X2 S 4 X¡, X2 ·2:: 0 Xs XB X6 o o -8 o 1 o 4 o o 1 -4 o o o o 1 -1 -1 Observemos que la solución actual es primal infactible (por ejemplo, xs 1 = x4 = - 8 < O) y dual infactible (za -ca = -1 < O). Para aplicar el método del símplex dual debemos transformar el problema en dual factible: añadimos la restricción artificial de igualdad que se obtiene de sumar, con coeficiente unidad, las variables de decisión (xa) con indicador negativo, y esta suma debemos hacerla menor o igual que una cantidad M, algo mayor (lO) que el resto de las constantes (8,4). Además, le añadimos una variable de holgura (x 7). La restricción artificial es ' X3 + X7 = 10. Añadi-!llos esta restricción a la tabla anterior y tenemos Cj - x 1 +2x2 o o o 1 VB Resolver con el método del símplex dual extendido los programas lineales a) -2 -4 Cj CB Z2 - C2 2::0 = -z. La tabla inicial del método del símplex dual es La mayor corresponde a P2, luego x2 es la variable de entrada. El pivote es Y22 = -5. Pasamos, entonces, a la tabla Cj -2x¡ - 4x2 + xa + Ox4 + Oxs + Ox6 s. a La tabla inicial es CB 135 CB o o o o VB X4 X5 xs X¡ z·] . e· 1 -2 - 4 XJ X2 1 X3 -6 2 1 2 1 - 1 -2 - 1 o o 1' 2 4 - 1 -3 o o o o X4 1 o o o o X5 xs o o 1 o o 1 o o o o X¡ o o o 1 xa -8 4 -4 10 o o 136 PROGRAMACION LINEAL Y APL1CACION8S_; 8JERCICIOS RESUELTOS ©RA-MA Para obtener una tabla dual factible, introducimos en la base la variable no básica con indicador más negativo (x3). La variable de salida será la de holgura añadida a la restricción artificial, en este caso, X7. Con la misma transformación de pivote que en el método del símplex se obtiene Cj -2 -4 1 es VB X¡ X2 X3 o X4 xs 1 :z:s X3 -3 -6 1 2 -1 -2 o o o xs X¡ Xs 2 4 -6 2 3 1 1 -2 -4 1 o es VB X¡ X2 XJ X4 o o o X7 Xs xs XJ 3/2 5/2 -5/2 -3/2 1/2 3 5 1 Zj - Cj -s· -3 1 1 o o o xs Xs X7 XB o o o 1/2 1/2 o o -4 Cj -2 -4 1 o o o o VE X¡ X2 X3 X4 Xs XG X7 XS o 3/5 1 -1/5 -3/5 1/5 1 46/5 X7 xs -4 X2 X3 1 Zj -e; o o o o o o 1/2 1 o o o 1 o o o -1/5 o -1/10 2/10 3/5 1 o o o o o o o 8 5 • 4 5 • x2 = o) x3* = 4s· b) Si multiplicamos por -lla primera y segunda restricciones, y añadimos variables de holgura (x3 , x4 , x5 ), se tiene una tabla inicial que es primal infactible (por ejemplo, XBt = X3 = -16 <O) y dual infactible (z2- c2 = -2 < 0). No podemos aplicar el método del simplex dual, así que añadimos la restricción artificial X2 ~ 20, o 8/5 4/5 - 28/5 + X5 = 20. La tabla inicial, ampliada ya con la restricción artificial, es Cj -1 2 o o o o es VB X¡ X2 X3 o o o X3 X.¡ xs xs -4 -3 -1 -3 1 1 o 1. 1 -2 o Zj- Cj o o o -4 En una nueva transformación de pivote, se llega a la tabla final, que es primal factible. es 16 = S' X2 = - 2 el o -1/2 o o 1 14 o - 1/2 1 o o 8 o 1/2 o 1 o -8 o • que, con la suma de la vauable de holgura x6 , se transforma en La mayor corresponde a p7 , por lo que x 7 es la variable de entrada e Yl7 pivote. La nueva tabla es Cj • x 1 =O, x2 = -, x 3 =- * P7 = - = --. -2 2 P2 = - = -- , Como la variable de holgura de la restricción artificial está en la base con valor positivo (x7 = 46/5), la solución es óptima. Esta es X¡ Esta tabla es primal infa~tible (por ejemplo, x 81 = x4 = -28 < O) pero dual factible (zj- e; 2:: Opara todo j = 1, ..., 7), por lo que se puede aplicar el método del símplex dual. La variable básica más negativa es x4 , que será la variable de salida. Las razones p admisibles para las columnas no básicas son 2 2 P1 = - = --, -3 3 137 con z* = -z'* = -(-28/5) = 28/5. Observemos que existen óptimos alternativos, pues en la tabla final la variable no básica x1 tiene indicador nulo. Compruebe el lector que, aplicando el método del símplex primal con x 1 variable de entrada, x2 de salida e Y31 = 1/2 pivote, la nueva solución es Xs - 28 -6 6 10 10 o 1 o o -2· o o 1 o -1 o o o 1 1 o 1 o o o 1 4 o o o o 1 o Zj- C.j o o o X4 CAPITULO 3. DUALIDAD Y ANALJSLS DE SENSIBILIDAD X4 xs xs XS o o o - 16 o 1 o o -6 1 o o 1 o 4 o o o 1 20 o o o .O o En la primera iteración entra en la base la variable no básica con indicador más negativo (x2) y sale de la base la variable de holgura de la restricción artificial (x 6). Haciendo la transformación de pivotP. se tiene la. tabla. es Cj -1 2 o o o o VB X¡ xz X3 o o o xs 2 X2 XJ X4 Zj- Cj X4 o 1 o - 1 o o 1 1 o o o o 1 o o 1 o o o -4 xs o o 1 o o xs 3 3 -1" 1 2 XB -l4 54 - 16 20 40 138 PROC.RA!vlACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS @RA-MA CAPITULO 3. DUALIDAD Y ANALISIS DE SENSIBILIDAD En dos iteraciones más se llega a la tabla o o o o Cj -1 2 ce VB X¡ X2 X3 -1 X¡ 1 o -1 2 -1 1 o o X4 2 X2 o o o o o 1 X6 Zj - Cj o o CB 3 X4 Xs o -3 1 9 o o o X6 XB 1 4 -2 20 o o -4 4 o o o o o o -4 11 Ahora, la variable de salida es x4 , que está en la segunda fila. Sin embargo, no existe pivote, ya que todos los elementos interiores de esa fila son no negativos. Por tanto, el problema dual es no acotado y el primal es infactible. D 6. Método del símplex primal-dual. Resolver con el algoritmo del símplex primal-dual los problemas a) max z s.a = b) 2x¡ + 4x2 min z s. a = -2x¡ + x2- 3x3 2x¡ - x2 + 4x3 4 Xt,X2 X3 ~ 0 X¡ + X2 ~ 6 2x¡ +x2 ~ 8 4x¡ + 5x2 ~ 35 ~ 16 -X¡+ X2 ~ Íp X3 -1 1 X4 -2 -1 -1 xs 4 -2 a) Transformamos todas las restricciones a desigualdades de la forma ~ y añadimos variables de holgura. Observemos que no es necesario considerar variables artificialP.l' al permitirse constantes negativas, quedando el problema . + 4x2 +Ox3 +Ox4 + Oxs s.a -X¡ - X2 + X3 = - 6 -2X¡- X2 +X4 = -8 4x 1 + 5x2 + xs = 35 X ¡ 1 X2 1 X3 1 X4 1 X5 ~ 0 Construirnos la tabla inicial del mismo modo que en el método del símplex primal X4 xs XB o o -6 o 1 o -8 s· o o 1 35 -4 o o o o = 1(z2- ~:! (XB3) 1 = 1( -4~ (35) 1 = 28 . 1 Solución 2x¡ X3 2) Pivote dual. No es posible ningún pivote dual, pues, aunque la base es primal infactible (por ejemplo, XB! = x3 = - 6 < 0), no es dual factible (ya que z 1 - c 1 = -2 <O, z2- c2 = -4 <O). Como el único pivote corresponde a uno primal, lo elegimos para llevar a cabo la operación de pivote. La nueva tabla es o o 4 = 4 X2 1) Pivote primal. Es posible un pivote primal para la columna 2 (z2 - c2 = -4 < O es el indicador más negativo) y fila 3 (35/5 = 7 es la mínima y única razón posible) con Y32 = 5. Su impacto es CB ma.'< z 2 X¡ Evaluamos ahora el valor del impacto Íj, cambio numérico en el objetivo z, debido a los posibles pivotes primal (j = p)y dual (j = d), para elegir posteriormente aquel con mayor valor. Tenemos: X¡ 1 X2~0 Leer, si es posible, los valores ópt·imos de las variables de decisión del problema dual a partir de la correspondiente tabla ópt·ima. o o o Cj VB Zj- Cj 139 Cj 2 4 VB X¡ X2 X3 - 1/5 X4 xz -5/5" 4/5 Zj- Cj 6/ 5 o o o X3 X4 o 1 o o o 1 1 o o o o o xs XB 1/5 1 1/5 -1 1/5 7 4/ 5 28 En esta tabla no es posible pivote primal (zj - Cj ~ O, j = 1, .. . ,5), pues es dual factible. Sin embargo, sí existe pivote dual. Este corresponde a la segunda fila (XB2 = -1 <O) y a la primera columna (z¡ - e¡ = 6/ 5 ~ 0) , con pivote Y21 = -6/5 <O, siendo su impacto id = 1(z¡ -e¡) (XB2) 1 = 1(6/5) (- 1) 1 = l. Y21 - 6/5 Observemos que al haberse convertido en dual factible no serí~ ya necesario el cálculo anterior y aplicaríamos el símplex dual. En una transformación de pivote llegamos a la tabla ill._ r ROr.RAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS Cj 2 4 o o o CB VB X¡ X2 XJ X4 Xs XB 2 4 XJ X¡ X2 - 1/6 -5/6 2/3 1 1/6 - 1/6 1/3 1 7/6 5/6 19/3 27 o o o 1 1 o o o l o o o o Zj - Cj ©RA-MA Como no es posible pivote primal (zj- Cj ~O, j =1, ... , 5) ni pivote dual (xai ~ O, i =1, 2, 3), termina el algoritmo con la solución óptima 5 * 19 con z * = 27. x.1 =-, x? = 6 - 3 Observemos que han sido necesarias dos iteraciones para alcanzar la optimalidad. Compruebe el lector que con el método de penalizaciones (ver, por ejemplo Ejercicio 2.12) habrían sido necesarias tres iteraciones. La solución óptima del problema dual, que tiene tres variables de decisión y1, y2, Y3, se lee directamente en la tabla final bajo las variables bá.sicas iniciales: Yi = Z3 - C3 ip = (z3- ~:; (xa¡) 1 2x¡ - x2 + 3x3 + Ox4 + Oxs 2x 1 - x2 + 4x3 + X4 = 16 X¡ - X2 + X5 =- 4 X¡,X2,X3 X4,X5 ~ 0 con z' =- z. La tabla inicial es o o e; VB X4 xs Zj - Cj 2 -1 3 o o X¡ X2 XJ X4 2 1 -2 -1 -1 1 1 = 12. 2 -1 3 o o X¡ X2 XJ X4 3 XJ 1/4 Zj - Cj - 1/2 -1/4 -1 1/4 1 xs 1/2* 1 o xs XB o o 1 o 3/4 o 4 -4 12 o =1(z¡ - xs = e¡) (xs 1) 1 =1 ( -1/2)(4) 1 = 4. 1/2 . TamLién existe pivote dual correspondiente al elemento interior Y22 = -1 , con impacto id = 1(zz - c2) (xa2) 1 = 1 (1/4) (- 4) 1 = l. Y22 -1 Como el pivote con m<:¡or impacto es el primal, realizamos sobre él la transformación de pivote. La nueva tabla es Cj 2 CB VB 2 X¡ Xs o z; - e; -1 3 X¡ X2 X3 1 -1/2 - 1/2' o o o o X4 2 1/2 - 2 - 1/2 1 1 o Xs f XB o 8 l - 12 o 16 XB 1 o 16 o o 1 -4 -3 o o o 4. -3~(16) Cj 1 CB 1( VB Y11 = = CB =27. ma.'< z' s.a 1 También existe pivote dual correspondiente al elemento interior y22 = -1, con impacto id= 1 (z2 - c2) (x82) 1 = 1(1) (-4) 1 =4. V22 -1 El pivote con mayor impacto es el primal, por lo que realizamos sobre él la transformación de pivote. La nueva tabla es ip b) Multiplicando la función objetivo y la segunda restricción por - 1, y añadiendo variables de holgura (x4, xs), tenemos el problema 141 Er.iste pivote primal correspondiente al elemento interior y 13 = 4, siendo el impacto Para esta tabla existe pivote primal correspondiente al element.o interior Yn 1/2, siendo el impacto =o Y2=z4-ct=1 yj = zs- es= 1 con w• CAPITULO 3. DUALIDAD Y ANALISIS DE SENSIBILIDAD Obsérvese que si hubiéramos considerado en la primera tabla todos los pivotes posibles, Yu habría sido el pivote (primal) con mayor impacto y nos habría ahorrado una iteración. En esta última tabla no hay pivote primal, pero sí pivote dual. En efecto, xs es la variable de salida, ya que es la variable bá.sica con el 142 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS valor más negativo (es la única) x 82 ;::; Xs = -12 < O. La variable de entrada es aquella no básica con máxima razón de entre o P?.;::; -1/2 =O, 1 P3 = -2 1 CAPITULO 3. DUALIDAD Y ANALISIS DE SENS!BILlDAD ©RA-MA la restricción de igualdad en dos restricciones de desigualdad (:S:). Queda, por tanto, el programa primal equivalente 1 = - 2, 14.3 max z s. a P4 = - 1/2 = -2 = 2x 1 + 4x2 - 4x~ que corresponde a x2. El el pivote es y21 ;::; -1/2. No es necesario que calculemos su impacto, ya que no hay pivote primal. Se obtiene la tabla Cj 2 -1 3 o o es VB Xt X2 X3 X4. XB Xt 1 o xs 2 4 4 1 1 1 -1 20 24 16 -1 X2 Zj- Cj o 1 o o l -2 o Termina el proceso con esta tabla, ya que es dual factible (z; - e; 2:: O, j ;::; 1, ... , 5) y primal factible (xs¡ 2:: O, i = 1, 2). Observemos, sin embargo, que el indicador zs - es = O corresponde a una variable no básica con vector interior Ys = (-1, - 2) ~ O. Por tanto, el problema primal tiene un rayo óptimo. La solución dual es YÍ = 1, YÍ = O. o 7. Dualidad y holgura complementaria. Dado el problema lineal max z s.a 1 = 2x 1 + 4x2 -2x¡ - 3x2 2:: - 12 Xt +x2 = 4 5x¡ + 6x2 ~ 18 X¡ +x2 ~ 8 X¡ 2:: O, x2 no restringida .. a) Determinar su dual en forma simétrica. b) Resolver el problema dual. Obtener la solución óptima del problema primal mediante las condiciones de holgura complementaria. Solución a) Expresamos el problema primal en formato simétrico de maximización: introducimos para la variable no restringida x2 la transformación x 2 = x2 - x~ con x2, x~ 2:: O¡ multiplicamos por - 1 la primera restricción y descomponemos · En formato estándar de maximización, toma la forma max z s.a = 2x 1 + 4x2- 4x~ + Ou¡ + Ou2 + Ou3 + Ou4 + Ous 2x 1+ 3x2 - 3x~ +u¡ = 12 X¡ + x2 - X~ + U2 = 4 X¡+ x2- X~- U3 = 4 5x¡ + 6x2 - 6x~ + u4 = 18 X l + x2 - X~ + 'U5 = 8 X¡,x2,x~,u¡,'U2,u3,u4,u5 2:: O con u¡, u2, ua, u4, u5 variables de holgura. El dual en formato simétrico de minimización tiene 5 variables de decisión (y¡,y2,Y3,y4,y5) y 3 restricciones min w s.a = 12y 1 + 4y2 - 4y3 + l8y4 + 8ys 2y¡ + Y2 - Y3 + 5y4 + Y5 .2:: 2 3y¡ + Y2 - Y3 + 6y4 + Ys 2:: 4 -3y¡ - Y2 + Y3 - 6y4 - Ys 2:: -4 Yt,Y2,Y3,Y4,Y5 2:: O b)'Para resolverlo, ponemos este programa lineal en formato estándar de ma.xi- 144 PROGRAMACJON LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS ©RA-~ CAPITULO 3 . DUALIDAD Y ANALISIS DE SENSrBlLIDAD 145 .mización. Añadiendo variables de holgura (v~, v2 , v3 ), queda el programa max w' s. a = e) -12yl - 4y2 + 4y3 - 18y4 - 8y5 + +Ovt + Ov2 + Ov3 2y¡ + Y2 - Y3 + 5y4 + Y5 -V¡ 3y¡ + Y2 - Y3 + 6y4 +Ys - v2 3y¡ + Y2 - Y3 + 6y4 + Ys + V3 max z s.a = 3x 1 + 2x2 2x¡ + >.x2 S 4 x1 - 2x2 S 6 =2 =4 =4 X¡ 1 X2~0 para>. E ( - oo, oo). YtoY2,Y3,Y4oY5 1 Vt,V2 1 V3 ~O Aplicando el ~é.todo del símplex, añadiendo variables artificiales a la primera y segunda restnccwnes, en cuatro iteraciones se alcanza la solución óptima, que es . Yi = ,_ü, Y2 = O, yj = 8, Y4 = 2, Ys = O Solución a) Resolvemos el programa lineal para >. = O. En formato estándar de maximización queda max z = 3x¡ + 2x2 + Ox3 + Ox4 s. a con w• = - w'* = - (- 4) = 4. Aplicamos las condiciones de holgura complementaria: .,• •\ 1 ~ • 2x 1 + X2 + X3 = 4 X¡ + 2X2 + X4 = 6 X¡,X2,X3,X4 ~ 0 y¡u¡ =O para i = 1,2,3,4,5 . Se obtiene yj = 8 ==> U3 = 0 ==> X¡ + X~ - X~ = 4 Y.!= 2 ==> u4 =O==> 5x¡ + 6x2- 6x~ = 18 w* = 4 ==> z• = 4 ==> 2x 1 + 4x2 - 4x~ = 4 (los valores Yi = O, Y2 = O, Ys = Ono proporcionan información sobre el problema Aplicando el método del símplex, en dos iteraciones alcanzamos la optimalidad siendo la tabla final · primal) . Resolviendo el sistema de ecuaciones lineales en x 1, x'2 y x"2> se tiene la .' Cj 3 2 o VB o ca X¡ X2 X3 X4 3 2 X¡ 1 o SOl UC!On X¡ = 6, X~ = 0, X~ = 2. Por tanto, la solución óptima primal es o 8. Programación lineal paramétrica. Resolver los programas paramétricos max z s.a = 3x¡ + (2 + >.) x2 2xl + x2 S 4 x1 + 2x2 S 6 X¡,X2 ~ 0 b) max z s.a o 1 o o · Para haéer el análisis paramétrico, ·ponemos el problema parametrizad~ en formato estándar (con x3 ,x4 variables de holgura) teniendo así el programa' con z* = 4. a) X2 Zj - Cj XB 2/3 -1/3 2/3 - 1/3 2/3 8/3 4/3 1/3 22/3 = 3x¡ + 2x2 2x¡ + x2 S 4 + >. X¡+ 2x2 6 X¡,X2 ~ 0 s max z s.a = (3 +O>.) x 1 + (2 + >.) x 2 + (O+ O>.) X3 +{O+ O>.) X4 + X2 + X3 = 4 X¡ + 2X2 + X4 = 6 X¡,X2,X3,X4 ~ 0 2X¡ El vector de variaciones en la función objetivo, coeficientes del parámetro >., es c0 = (0,1, O, O} , y las partes de los indicadores dependientes de>. en la tabla final \ • son 146 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS O O Ot z4-c4=csY4 - cO 4 =(0,1) -1/3 ) -0= 2 213 3 ( CAPITULO 3. DUALIDAD Y ANALISIS DE SENSrBrLIDAD Imponemos las condiciones de optimalidad, que conducen a las inecuaciones -2 + l). >o 2 - con zr- e~ = cg = o, por ser X¡ y X2 variables básicas. El sumando del valor del objetivo dependiente de >. es zg- 0 z = C~XB = (0, 1) ( ~~~ ) = ~· Situamos estos valores en la parte inferior de la tabla óptima del símplex teniend 0 la tabla ampliada ' e~ es 3 cj o Cj 3 VB X¡ 1 2 o o o o 1- k>. ~o {:: : : :} X3 >. ~ 4 {::::::::} >. >_ 4 con lo que obtenemos el recorrido de optimalidad >. E [4, oo) . Volvemos a la penúltima tabla. y sustituimos el extremo inferior >. = - 1/2. En este caso, la variable cuyo indicador se hace nulo es la. X4. Por aplicación de la regla de mí!)ima razón, la variable de salida será x2 con pivote Y24 = 2/3. La transformación de pivote nos lleva a la tabla. x4 xs o X¡ 1 o 2/3 -1/3 2/3 1 2 X2 o 1 - 1/3 2/3 8/3 Zj- Cj o o 4/3 1/3 22/3 ). o o - 1/3 2/3 8/3 Le imponemos las condiciones de optimalidad, que conducen a las inecuaciones X2 147 e'JJ es o 3 o o e~ o 1 Cj 3 2 VB o o o o X¡ X2 X3 X4 XB X¡ 1 1 4 X4 Zj - Cj ). o o o 1/2 1/2 3/2 - 1/2 - 1/2 3/2 -1 o o 2 o 6 o o Imponiendo la. condición de optimalidad tenemos la. inecuación !+~>.~o {::::::::} >.~-~ ~e ~as q~e obtenemos el recorrido de optimalidad >.E [-1/2,4] : tal solución es opt1ma Siempre que ). E [-1/2, 4J. .Ahora, ~ebemos sustituir >. por los valores extremos finitos del recorrido obterudo Y aphcar el método del símplex primal, tomando como variable de entrada aquellas que. pasen a tener un indicador nulo. Comenzamos sustituyendo el extremo supenor del recorrido obtenido haciendo >. = 4. El indicador de la última tabl~ Y vemos que el indicador de la variable x 3 se hace igual a cero. Aplicamos el metodo del símplex primal a esa tabla tomando x3 como variable de entrada en la base, X¡ es la variable que sale e y13 = 2/3 es el pivote. Realizando la transformación de pivote se obtiene e'JJ es o o 1 2 cj o 3 1 2 VB o o X¡ X2 X4 3/2 1/2 -2 1/2 o X3 xs x3 1 - 1/2 1/2 3 1 1/2 3 Zj- Cj ). 1 o o o o o Recorrido de Solución óptima. Valor óptimo ). x•().) (2,0,0,4) z* ().) -oo < >. ~ -1/2 - 1 /2~).~4 (~,~,o , o) 4<).<oo (0,3, 1,0) Se tiene a continuación la gráfica de la función z* (>.),que sirve de ayuda para la evolución del valor óptimo de la función objetivo como función de >.. Observemos que z* (>.) es lineal a trozos, continua y convexa. Observemos, además, que tiene tres recorridos no triviales 1. ~emprender Cj X2 que proporciona el recorrido de optimalidad >. E (-oo, -1/2]. Queda así analizado todo el recorrido de >. E lR. Los resultados se resumen en la tabla o o 1 6 1 El número mh-imo de recorridos no triviales es 2n, siendo n el número de variables de decisión ,, 148 CAP!TULO 3. DUALIDAD Y ANAL!SIS DE SENSffilLIDAD PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RES UELTOS z• (.X) Cj 3 2 CB VB X¡ X2 3 2 X¡ 1 o 1 o o X2 Z j - Cj -1/2 e; 3 2 VB · Xz Zj- 3 2 o o X¡ X2 X3 X4 1 X¡ Cj o o 1 o o XB 2/3 -1/3 2/3 - 1/3 2/3 8/3 4/3 1/3 22/3 Para hacer el análisis paramétrico, ponemos el problema parametrizado en formato estándar max z = 3x 1 + 2x2 + Ox3 + Ox4 s.a + X2 + X3 = 4 + A x1 + 2x2 + X4 = 6 + O>. X¡, X2, X3, X4 2: 0 - 1/3 ) ( 1 ) -1/3 2/3 o =( 2/3 ) -1/3 con B - 1 matriz inversa de la base óptima, que podemos leer directamente en la tabla final bajo las variables básicas iniciales x3 , x4 . El valor del objetivo dependiente de >. es zo =ct8 x o8 = (3,2) ( _2/3 ) = 4 . 113 3 Situamos estos valores en la parte derecha de la tabla óptima del símplex, teniendo la tabla ampliada 1. ~+l~;:::o <=::::? >.;:::-1 ~ - !.>.;:::o <=::::? .>.~8 e; 3 2 o o CB VB X¡ X2 X3 3 X¡ 1 2 o -3 1 o El vector de variaciones, coeficientes del parámetro en los términos de la derecha, es b 0 = (1, O) , y los valores de las variables básicas dependientes de >. en la tabla final se obtienen haciendo o _ B -l bO-_ ( 2/3 >. XB 2/3 -1/3 2/3 2/3 - 1/3 2/3 8/3 -1/3 4/3 1/3 22/3 4/3 X4 que proporcionan el recorrido de optimalidad >. E [ -1 , 8] . A continuación, sustituimos >. por los valores extremos finitos del recorrido obtenido y aplicamos el método del símplex dual tomando como variable de salida aquellas que pasen a tener valor nulo. Comenzamos sustituyendo el extremo superior del recorrido obtenido. Haciendo >. = 8 en la columna de valores de las variables básicas, vemos que la variable X2 pasa a ser degenerada. Aplicamos el método del símplex dual a esa tabla tomando x2 como variable de salida de la base, x3 es la variable de entrada (por aplicación de la regla de mayor razón p) con pivote Y23 = - 1/3. Llevando a cabo la transformación de pivote se obtiene la tabla 2X¡ X B- o X3 hnponemos a esta tabla las condiciones de factibilidad obteniendo las inecuaciones 4 b) Resolvemos el programa lineal para.>.= O. Poniéndolo en formato estándar de maximización y aplicando el método del sírnplex, en dos iteraciones alcanzamos la optimalidad siendo la tabla final CB o o 149 X3 Zj - Cj o o 4 o x4 XB 1 6 >. o - 2 -8 1 3 18 o De nuevo, imponemos las condiciones de factibilidad, teniendo ahora una única inecuacion · -8 + >. 2: o <=::::? .>. 2: 8 que define el recorrido de optimalidad >. E [8, oo) . Volvemos a la tabla anterior y sustituimos el valor extremo pendiente, >. = -1, que convierte en degenerada la variable básica x 1, siendo ésta la variable de salida en el método del símplex dual. La variable de entrada es X4 , por aplicación de la - regla de máxima razón p, y el pivote Y1 4 = -1/3. Una transformación de pivote nos da la tabla 3 2 o o Cj VB X¡ >. CB X2 X3 X4 XB o X4 -3 o - 2 1 -2 -2 2 2 1 1 o 4 1 X2 1 o 2 o 8 2 Zj- Cj 150 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS ©RA-MA CAPITULO 3. DUALIDAD Y Al'IALISIS DE SENSrB!LlDAD Cj 3 2 o CB VB X¡ :¡;2 X3 3 X¡ 1 A/2 - 2 - ..\/2 -2 + 3..\/2 1/2 -1/2 3/2 Imponiendo las condiciones de factibilidad, se tienen las inecuaciones -2- 2), ~o 4 + ), ~ o {::::::::::> - 1 ~ -4 ), :::; {::::::::::> ), o que proporcionan el recorrido de optimalidad ), E [- 4, -1]. Si ahora hacemos en esta tabla .A= -4, la variable que pasa a degenerada es x2 , siendo ésta la variable de salida en el método del símplex dual. Sin embargo, si intentamos determinar la variable de entrada, vemos que no es posible ningún pivote y, por tanto, el problema dual es no acotado y el primal infactible. Los resultados se resumen en la tabla Recorrido de Solución óptima A x*(A) -oo <A< -4 Infactible (0,4 +A, o, - 2 - 2,\) (~+¡A,~ - ~A, O, O} (6,0,-8+A,0) - 4 ~A:::; -1 - 1 ~A~ 8 8<A<oo Valor óptimo z"(),) 8+2A ~ 3 + :!), 3 18 X,¡ Zj- Cj o o 151 o xs X~ o ~. L ! -! o 6 imponemos las condiciones de optimalidad y obtenemos la inecuación -2+~),>1) 2 - ~ >.>:!. - 3 que proporciona el recorrido de optimalidad .A E (4/3, oo ).. Si ahora realizamos en la última tabla 1\ = 4/3, el indicador de la variable :~; 2 pasa a degenerado, y aplicamos el método del símplex primal para obtener una nueva tabla. Como consideramos valores de ). :::; 4/3, la única razón posible es 2/ (A/2} y el pivote es y 12 = >.j2. Realizando la transformación de pivote, se obtiene 3 2 o o Cj La gráfica de z* (>.) se muestra en la figura CB VB X¡ 2 X2 2/A o z• (..\) X4 Zj- Cj X2 X3 1 1/A 1 +4/).. -3 + 4/A o o 2/..\ ?./).. X~ XB o 4/).. 6 + 8j,\ 8f,\ 1 o Imponiendo las condiciones ele optimalidad, tenemos la inecuación - 3+ ~ ~ o ,,, . •'· •· - 4 -1 o o 3 2 VB X¡ X2 X3 X3 2 ..\ 1 X4 1 -2 -2 Zj - e; -3 Recorrido de ' A A~O o<;,~ 4/3 4/3 <A< oo o o Cj X4 o o< ,\ :::; ~ que proporciona el recorrido...\ E (0,4/3] para el que la tabla. anterior es óptima. Resumimos las soluciones de este problema en la tabla ), Observemos que la función z* (>.) es lineal a trozos, continua y cóncava. e) La tabla inicial del símplex incluyendo el parámetro ), es (con x3 , x4 variables de holgura) es ,. 8 {:=:::} XB 4 6 o 1 o o o Observemos, en primer 1ugar, que para el indicador z2 - c2 = -2 < Oel vector interior asociado es Y2 = (\ - 2). Por tanto, siempre que),:::; Oel problema será no acotado. Estudiemos el recorrido ), E (0, oo) . Para ello, aplicamos el método del símplex primal tomando x 1 como variable de entrada (z¡ - C¡ = - 3 < O) y X3 como variable de salida (por aplicación de la regla de mínima razón). La nueva tabla es Valor óptimo Soiución óptima x• (,\) No acotado (0,4/;., 0,6 + 8/ -\) (2,0,0,4) z•(..\) 8/A 6 o 9. Parametrización simultánea de un coste y un recurso. Dado el proble- ma paramétt'ico ma.x z = s.a 3xt + (2 + >.) x2 2x 1 +x2 :::; 4 + >. x 1 - 2x2 :::; 6 X¡ 1 X2 ~ 0 '1 152 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS a) Calcular los valores óptimos de las variables z• (>.) para>. E IR. b) Representar gráficamente xi (>.) ,x2 (>.) CAPITULO 3. DUALIDAD Y ANALISIS DE SENSIBILIDAD ©RA·MA y del objetivo en los recursos, coeficientes del parámetro >. en los recursos, es b0 = (1, O), y los valores de los recursos dependientes del parámetro en la tabla final son xi (>.) y x2 (>.). Solución ·a) Resolvemos el problema con >. = O. Ponemos el problema en formato estándar de maximización obteniendo El valor del objetivo dependiente de >. para el objetivo parametrizado es 0 max z s.a = z 3x¡ + 2x2 + Ox3 + Ox4 X¡,X2,X3,X4 2:0 con X3, X.¡ variables de holgura. En dos iteraciones del método del símplex, se obtiene la tabla. final o o Cj 3 2 CB VB X¡ X2 X3 2 X2 X4 2 5 1 1 1 2 2 Zj- Cj o o 1 XB 4 14 o 8 X4 o Consideramos ahora el problema parametrizado en formato estándar ,...1 ma..x z = = C~XB = (1, 0) ( 1~ ) = 4 y para. los recursos parametrizados + X2 + X3 = 4 X¡ - 2X2 + X4 = 6 2x¡ o 153 (3 +O>.) X¡ + (2 + >.) X2 + (O+ o>.) X3 + (O+ o>.) X4 c~x~ = (2, O) ( ~ ) =2 c~x~ = (1, O) ( ~ ) = l. La tabla final ampliada queda cj o Cj 3 1 2 c'1 CB VB X¡ X2 X3 X4 1 2 X2 X4 2 5 1 2 1 1 2 2 1 o o o Zj - Cj S.a. >. + X2 + X3 = 4 + A x¡ - 2x2 + x4 = 6 + O>. o o o o o o o 1 o o XB 4 14 8 4 >. 1 2 2' 1 2X¡ X¡,X2,X3,X4 Las condiciones de factibilidad dual para esta tabla son r 2:0 El vector de variaciones de la función objetivo (coeficientes del parámetro>. en el objetivo) es c0 = (0, 1, O, O), y los indicadores dependientes de>. en la tabla. final son 1 + 2>. ~ o <===> " 2: 2 + >. 2: o <===> >. 2: - 2 Las de factibilidad primal 2: o <===> >. 2: -4 14+2>.2:0 <===> >.2:-7 4 + >. l· con zg - e~ = z2- e~ = Opor ser x2 y X3 variables básicas. Situamos estos valores en la parte inferior de la tabla del símplex. Análogamente, el vector de variaciones o Conjuntamente, determinan el recorrido de optimalida.d >.E [-1/2, oo). La solución óptima, proporcionada por la tabla, es x~ (>.) =O, x2(>.) = 4 + >.. 151 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESU8LTOS ©RA·M,A CAPITULO 3. DUALIDAD Y ANALIS IS DE SENSIBILIDAD El valor óptimo del objetivo es El valor óptimo del objetivo es -:• (,\) = (e~+ Ac7;) (XB +Á-'<~) = z' (.A) ~) +-\(2,0) ( ~) + .,(1,0) ( 1~) +-\2 (l.Oj ( ~) = = (2,0) ( Si hacemos ,\ = -1/2, el indicador de la variable x 1 se hace nulo. Por tanto, aplicamos el método delsímplex primal con x 1 variable de entrada. Para determiuar la variable de salida aplicamos la regla de mínima razón, para >.= -1/2 . { XB1 + >.4 1' XB2 + AX~2 } = Ytt = 6 + ~>.. Si ahora hacemos >. = -4 en la última tabla, se hace nulo el valor de la variahlt> básica x¡. Por tanto, aplicamos el método del símplex dual con x 1 variable df' :;;U ida. Para determinar la. variable de entrada, calculamos la mayor de las razonPS fl; == (z3 - Cj) !Yti para los valores Yt; <O, con j no básica. Sin embargo, Yti 2:: O para todo j, por lo que no existe pivote dual.' Por tanto, el problema dual es no acotado y el primal es infactible. b) Las gráficas son = >.2 + 6>. + 8. ffilU 155 x¡ (.-\) Y21 i ;¡ . {4+(-1/2) 14+2(-1/2)}- . {~ 13} -~ 2 ' 5 - mm 4' 5 - .f - - rum Así, x2 es la variable de salida e y 11 de pivote, obtenemos éj =2 el pivote. o o o eJ 3 e~ CB VB X¡ X2 X3 X~ 1 2 X¡ 1 1/?. -5/ 2 1/2 - l/2 -1/2 3/2 X4 zi- e1 >. o o o o -1 - z-1 -4 XB o >. 2 1 4 1/'2 -1/2 o 6 o o IDa.'< Z 3/2 QXt xi (>.) = 2 + ~>., x2(>.) =O. Solución Comenzamos expresando el problema en forma simétrica de maximiza.ción y determinamos su dual. ..\ ~8. Este conjunto de desigualdades determinan el recorrido de optimalidad [-4, -l/2J. La solución óptima es +X2 ~ 10 Determinar para qué valores de (p, q) existe solttci6n, 'el problema es infactible o no es acotado. ;\ 2:: - 4 {:::::} 2:: p X¡,X22::0 - 4-l>. >O 2 - X¡ - X2 X¡+ X2 o de las de factibilidad primal 2+~>.2::0 = s. a -l->.>0 *=* .A~ - ~ 2 - {::::::::} 2 10. Soluciones en un problema paramétrico. Sea el problema lineal De nuevo, imponiendo a esta tabla las condiciones de factibilidad dual se tiene y _l o o o 1 2 o o -4 Realizando la transformaciÓn >. E ma.x z = s. a Xt - X2 dual - X¡ -X2 ~ qx¡ -p + x2 ~ 10 X¡, X2 2:: Ü ---+ minw s.a = -py¡ + l0y2 -y¡ + QY2 2:: 1 -y¡ +y2 2:: - 1 Yt.Y2 2:: O 156 PROGRAMACION LINEAL Y APLICAC IONES: EJERCICIOS RESUELTOS - Resolvemos el problema dual mediante el método de las dos fases. El problema transformado al formato estándar, al que se han añadido variables de holgura (y3,y4) y una variable artificial (y5 ), después de multiplicar por - 1 la segunda restricción, toma la forma max w' == py1 - 10y2 + Oy3 + Oy4 - Mys s.a - y¡+ QY2- Y3 + Ys == 1 Y!- Yt,Y2,Y3,Y<t,Ys •, o ~O Entramos en la fase 1, maximizando la función objetivo artificial wa = - y5 . La tabla inicial es · ,. o o o o e; ¡ es -1 1 ¡ ' o VB Yt Ys Y4 - 1 q -1 1 -1 o 1 -q 1 Zj- Cj Yz Y3 Y4 o 1 Ys YB 1 1 1 = x 1 - 10 X¡~ max z s.a o o o = p-10 p -10 Yt Yz Yz Y4 - 1/q (q- 1)/q (10/q)- p 1 Zj - Cj o o o o Y3 -1/q -1/q 10/q Y4 o 1 o YB 1/q (q + 1)/q - 10/q Observemos que como q >O es 10/q >O. Ahora distinguimos: 2.1 Si (10/q) - p > O ( <=> pq < 10), el dual tiene óptimo único, así que existe solución para el primal. -1 x1 X¡ = O ( <=> pq = 10) hay posibilidad de óptimos alte~nativos. Para comprobarlo, tenemos en cuenta el vector interior asociado a la variable y1. Como --1/q < O, pero (q- 1)/q puede tomar cualquier valor, consideramos los casos: 2.2 Si (10Jq) - p l . Si q ~ O, termina la fase 1 con la tabla anterior. Como existe una variable artificial en la base con valor positivo (y5 = 1), el problema dual es infactible y el primal podrá ser no acotado o infactible. Para determinar cómo es el problema primal, lo estudiamos con un caso particular. Sea x2 == 10, el problema toma la forma max z s.a Cj VB -1 A partir de esta tabla deducimos cómo será el problema primal (original) en función de los valores de p y q. Distinguimos los siguientes casos: ·t 157 Termina la fase I con esta tabla, ya que los indicadores son no negativos. Como el objetivo artificial es nulo, el problema es factible. Reconstruyendo la función objetivo, teniendo en cuenta que la variable artificial Ys es no básica en la tabla final, prescindiendo de su columna en la citadéJ: tabla y recalculando con el nuevo objetivo la fila indicador y su valor, se tiene lá tabla inicial de la fase II es -10 + Y4 = 1 Y2 CAPITULO 3. DUALIDAD Y ANA LISIS DE SENSIBfLIDAD @RA-MA 2: max (O,p -10) qx 1 ~O X¡ 2: 0 2.2.1 Si (q- 1)/q > O (<=> q > 1), entonces existen óptimos alternativos para el dual y el primal tendrá solución. 2.2.2 Si (q - 1)/q ~O (<=> q ~ 1), consideramos un caso particular para ver cómo es el primal. Sea q = 1, en este caso es p = 10, y se comprueba que el primal tiene un óptimo único. Análogamente, si q < l. Por tanto, para valores de q tales que O < q ~ 1, el primal tiene solución. 2.3 Si (10/q) - p <O (<=> pq > 10), de nuevo distinguimos dos casos: Evidentemente, este problema es no acotado para cualquier p. 2. Si q > O, entonces puede continuar la fase l. Entra yendo a Ys , siendo Y12 = q pivote. La nueva tabla es o o VB Yt Y2 Y4 -1/q (q - 1)/q Cj es o o Zj - Cj o Y2 en la base sustitu- o o -1 Y2 Y3 Y4 1 - 1/q - 1/q Ys YB lfq 1/q 1/q (q + 1)/q 1 o o o o o 1 o 2.3.1 Si (q - 1)/q ~ O (<=> q primal es infactible ~ 1), entonces el dual es no acotado y el 2.3. 2 Si (q - 1) / q > O (<==> q > 1), entonces es posible la mejora de la solución actual. Entra la variable y1 en la base y sale y4, si la nueva tabla !.58 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RES UELTOS Cj p CB VB Yt - lO Y2 o p Y1 1 Zj - Cj -10 Yz 1 o o o o Y3 - 1/(q- 1) -1/(q - 1) 12.=E 0.1 CAPITULO 3. DUALIDAD Y ANALISIS DE SENSIBILIDAD o Y4 1/(q- 1) 1 ~ 1/-1 b) Obtener el recorrido del coste de la variable permanezca óptima. YB 2/(q- 1) (q + l)f(q - 1) p(q+l)-20 Q-1 Como q > 1 y pq > 10, el indicador de Y4 es siempre positivo, luego sólo habrá que estudiar el indicador de ya y, en particular, su numerador 10- p, ya que su denominador q - 1 es positivo. Distinguimos: 2.3.2.1 Sí 10 - p > O, existe óptimo único para el dual, así que el primal tiene solución. 2.3.2.2 Si 10 - p = O, hay posibilidad de óptimos alternativos. Se comprueba que el dual para p = 10 (y q > 1) tiene óptimo único. Por tanto, el primal tiene solución. 2.3.2.3 Si 10 - p < O, el dual es no acotado y el primal es infactible. En resumen, x2 159 para que la base rmterto1· e) ¿Cuánto puede disminuir el coste de la va1·iable x1 anteii de que la base deje de ser óptima? d) ¿Ouál es la solución ópt1:ma wando C3 = 3? e) Determinar el mínimo val01· de t E lR pam el que la base obtenida en a) permanece óptima, si e se sustituye por e +tc0 , con c0 = (0,1, -1 , O, 0) . f) ¿Cuál es la solución cuando b2 = 10? g) ¿Cuánto p·uede variar el valor original de los recursos b1 y b2 pam que la base de a) permanezca óptima? h) Obtener los p·recios marginales de ambos 1·ec•ursos. Nos ofrecen 1 unidad de b1 con coste 3 y 1 de b2 con coste 1, ¿merece la pena aceptarlo? i) Determinar las soluciones óptimas para los valores t E lR, cuando el vector b original se sustit·uye por b + t b 0 , con b 0 = ( 1, 1). q ~ O, no acotado pq ~ 10, existe solució~ q ~ 1, infactible q >o { { pq > 10 { > 1 p ~ 10, existe solución q p > 10, infactible j) Determinar la solución óptima si se incorpora al problema original la restricción o 11. Distintos supuestos de sensibilidad. Dado el problema lineal en formato k) Si se incorpora una n·ueva variable no negativa con coeficiente 2 en la función objetivo, 1 en la primera restricción y 2 en la segunda, ¿afecta a la optimalidad? estándar de maximización max z = 2::t¡ + 2x2 +x3 + Ox4 + Oxs s.a 2xl + 2x2 + X3 + X4 = 6 X ¡ + X2 + X3 + X5 = 4 X¡,X2,X3,X4 1 Xs ~ 0 con x4, xs variables de holgura. Se pide: a) Resolverlo. Determinar, si es posible, una solución que no tenga variables de holgura en la base. Solución a) Aplicamos el método del símplex. En una iteración tenemos la tabla fina.! Cj 2 2 1 o o CB VB X¡ X2 XJ X4 xs X¡ 1 1 1/2 1/2. 1/2 o XB 2 -1/2 1 1 o xs Zj - Cj o o o o o 1 o 3 6 Esta tabla es óptima, pero con una variable de holgura en la base. Hay indicación de óptimos alternativos, así que podemos introducir la variable X3 en la base y sacar xs, con Y23 ::::; 1/2 como pivote. Con tal transformación se llega a 160 PROGRAMACION LINEAL Y APLICACLONES: EJERCLCIOS RESUELTOS Cj 2 2 VB 1 es X¡ X2 X3 2 1 X¡ 1 1 o o o 1 o o o X3 Zj - Cj ©RA-~ o o X4 xs XS 1 -1 1 -1 2 2 6 2 o CAPITULO 3. DUALIDAD Y ANALISIS DE SENSLBILIDAD Como hay un indicador negativo, la tabla ha dejado de ser óptima. Hay que aplicar el método del símplex primal para alcanzar de nuevo la optimalidad. En este caso, x 4 es la variable de entrada, x1 es la de salida e y14 = 1 el pivote. Con tal transformación de pivote, se tiene la tabla que proporciona una solución óptima sin variables de holgura en la base, dada por xr = 2, x2 = o, xj = 2 y 161 Cj 2 2 3 o o es VB X¡ X2 X3 X4 xs xs 1 1 1 1 1 1 1 -1 3 X4 X3 2 4 12 o z· = 6. b) Como x2 es no básica, un cambio en su coste c2 afecta, únicamente, a su indicador. Este es Zj - Cj o o o o 1 1 3 que es óptima, siendo la solución xi = O, x2 :::; O, x3 = 4 Le imponemos la condición de no negatividad. La optimalidad se mantiene siempre que c2 S 2. e) En este caso, el análisis de sensibilidad se refiere al coeficiente de coste básico e¡, que afecta a toda la fila indicador. Calculamos para un c1 genérico los nuevos valores indicadores de las variables no básicas (los de las básicas permanecen iguales a 0), siendo ahora el vector c8 = (c1, 1). Estos son Z2- .'• 1 C2 = cky2 - Z4 - C4 = ekY4 Z5- C5 = ckYs - C2 - C¡ C5 = (e¡, 1) ( 1 0 ) t- 2 = C¡ r- = (C¡ 1 1) ( 1 - 1 ) t - 0 = = (e¡, 1) ( - 1 2 - 2 es VB 3 X¡ X2 X3 2 X¡ 1 1 3 x3 Zj- Cj o o o 1 o o o o o xs xs 1" -1 -1 -1 2 2 2 4 10 2 -1 1 o o o o X3 X4 xs XB 1 -1 -1 2 2 2 es 2 VB X¡ o X2 X¡ 1 1 - 1 1 X3 COa o o o 1 o o o o -1 o 1 1 o 6 -2 -2 Imponemos a esta tabla la condición de optimalidad, que conduce al conjunto de inecuaciones en t -t~O, 1+t~O, -2t~O c:uya solución estE [-1, O], con valor mínimo t = -l. f) Determinamos los nuevos valores de las variables básicas, sustituyendo el vector de recursos original por el vector b = (6, 10). Así, XB X4 1 2 1 d) Para obtener la. solución con c3 = 3, como es un coste básico habrá que recalcular los indicadores en la tabla final, así como el valor del objetivo. La nueva tabla es 2 o t Imponiendo la condición de no negatividad y resolviendo el conjunto de inecuaciones en e, , se obtiene que c1 = 2. Por tanto, el coeficiente c1 no puede disminuir ni aumentar nada sin que se pierda la. optimálidad. Cj e~ e; Zj - Cj 0 = -e¡+ 2 z* = 12. e) Formamos la tabla del método del símplex con el parámetro, añadiendo bajo la tabla óptima (t =O) la fi la indicador y valor del objetivo debido al parámetro 2 C¡ - y = B -1 b = ( 1 -1 6 ) -- ( -4 -1 2 ) ( 10 14 ) Al tener x 8 un elemento negativo, se pierde la factibilidad primal. Aplicamos el método del sírnplex dual hasta alcanzarla nuevamente. Sustituyendo los valores obtenidos en la tabla óptima de a), así como el valor del objetivo, se obtiene la tabla 16::! PROCRA~IACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS Cj 2 2 l es \'B X¡ X~ X3 1) l. X¡ 1 XJ 1 l o o e i o o o ::,- Cj G o X4 X¡; XB 1 -1· 2 ú -4 -1 1 Vt = l(z.¡ - e~)+ ~~-~1 = 11 + 01 = 1 14 ?JÍ = j(zs -cs)+csl = 10+01 =0 6 Coll1o (b 1 + 6b1,b-1 + 6b-.?) = (7.5) ~ S. portemos calcular ia gananóa de la cJferta utilizando ios precios marginales ro11 .a expresión o l o o C; 2 2 VB X¡ X2 X3 X& -1 2 -1 o 2 i X3 ] o o o zi- e; X4 xs -1 l 1 1 • 6 6 y. 1 Z• .. \ ( ~()¡ 2x¡ + 2x2 +X;,¡ X¡ • o x 3* = 6 ' \ (,b.b·2 )=(1,U)~ 11 .J=l. Por otra parte, el coste de la oíert;;¡, es 1 x 3 + 1 '< 1 = 4. (}¡mn l < 4, no merBce la pena la aceptación de los recursos tldicionales. i} Corresponde a una para.metrización del vP.ctor de recW"sos <tue convierte a las restricciones en la forma XS 4 o o /\, * l ~ ._,z =(Yt·Yz) que es óptima por ser primal factible y dual factible. La solución óptima es X¡= Xz = 16;1 i..os precios marginales de ambo:l recurso¡; son, respectivamente, Aplicando el método del símplex dual. con x 1 variable de salida, x5 variable d1' entrada e Yts = -1 pivote, se llega a la tabla es CAPITULO 3. DUALIDAD Y ANALISIS DE SENSIBILIDAD @RA-MA = 6. g) Hacemos análisis de sensibilidad discreto sobre el primer recurso. Consideremos el vector de recursos genérico b = (b 1• -1) y calculamos ::; ti+ t + X2 + :1:3 ::; 4 + t Añadimos una columna a la dt:recha de la tabla óptima (t ==O) que corresponde a la parametrizadón del vector de constantes del problema. Está formada por el vector o = B-ibO = ( 1 -1 ) 1 ') = (' 0 ., XB - Í 2 1 l j l' \ x s = B -tb = ( ,• 1 -1 - 1 ) ( b¡ ) = ( bt- 4 ) . 2 -b¡ + 8 4 t o -Zo - CBXB Imponiendo la condición de factibilidad primal, es decir, - b¡ +8 ;::: o obtenemos el recorrido de optimalidad b1 E [4, 8] . Análogamente, se obtiene el recorrido bz E [3, 6] . h) Comenzamos realizando el análisis de sensibilidad discreto simultáneo sobre los recursos. Tenemos que -1 ) ( b¡ ) 2 bz - ( b¡ - - b¡ t'2 ' 1) ( o 1 ) -- 1. Tenemos, entonces, la tabla ampliada 1 b¡ - 4 ;::: o, y b-.2 + 2bz ') De la condición de factibilidad primal, tenemos la región de optimalidad o o Cj 2 2 1 ca VB Xt l2 X3 X4 :es XS 2 1 X¡ 1 ! 1) 1 -1 1 -1· 2 X3 Zj- Cj o o 1 o o o ., n o 6 '· L. t o 1 1 Imponiendo las condiciones de factibilidad primal a. la tabla anterior, t.enem0s el conjunto de inecuaciones en t 2 + Ot 2:: O, 2 + t ;::: O que dan el intervalo de optimalidad tE [-2,oo). Sustituyendo el extremo t = -2 en la tabla, la variable X3 pasa a degenerada. Aplicando el símple.x dual con X3 variable de salida, X4 variable de entrada e y24 = -1 elemento pivote. La transformación de pivote da la tabla 154 PROGRAMACION LlNEAL Y APLICACIONES: EJERCICIOS RESUELTOS es 2 o Cj 2 2 1 VB X¡ X2 XJ X¡ 1 1 1 -1 1 o o o o X4 Z j - Cj CAPITULO 3. DUALIDAD Y ANALIS!S DE SENSiBILIDAD @RA-MA Cj 2 2 1 o o VB o es X¡ X2 X3 X4 xs xa 2 1 X¡ 1 1 1 -1 -1 o o xs XB 1 4 1 -2 o 2 -2 8 X4 o t 1 -1 2 o X3 X6 Zj- Imponiendo a esta tabla las condiciones de factibilidad primal, tenemos 4 +t ~o, -2- t ~o que dan el intervalo de optimalidad tE (-4, - 2]. Sustituimos en esta última tabla el valor extremo t = -4, y la variable que pasa a degenerada es x 1. Al intentar aplicar el método del símplex dual vemos que no existe pivote, por lo que el problema primal es infactible. ·En resumen, la solución óptima es Recorrido de Solución óptima Valor óptimo · z•(t) x•(t) -oo < t < -4 Infactible - 4 ~ t ~ -2 {4+t,0,0,0, - 2-t) -2<t<oo {2, O, 2 + t , O, O) t 8 + 2t 6+t j) Comprobarnos que la solución óptima no verifica la nueva restricción. Añadimos una variable de holgura (xs) teniendo la restricción X¡ ·.~ Cj 2 2 1 es VB X¡ X2 XJ 2 1 X¡ 1 1 o 1 1 1 o Zj- Cj 1¡ J o o 1 o o o o o o o l 2 -1" o o 1 o o XB 2 2 -1 6 Aplicando el método del símplex dual se alcanza la factibilidad y, por tanto, la optimalidad en una iteración. La solución óptima es xi =3, x2 = x3 =O z* = 6. con k) Añadiendo la nueva variable, que denominamos x4 , el programa se convierte en ma.x z = 2xr + 2x2 + X3 + 2x4 s.a 2xr + 2x2 + X3 +X4 ~ 6 X¡ + X2 + X3 + 2X4 ~ 4 X¡ , X2,X3 1 X4 ~ 0 Construimos la cuarta restricción dual y comprobamos que la solución dual óptima y* = (1 , O) (leída en la tabla final de a) no la verifica. Ampliarnos la tabla final con la columna de elementos + X2 + X3 + X6 = 3. La introducimos como una nueva fila en la tabla óptima de a), teniendo X3 X6 Cj o 165 o o 1 o o o y 4 = B -1 a¡= o o o X4 Xs 1 -1 -1 2 X6 o o o o 1 o o 1 2 3 6 Mediante operaciones de fila tenemos que hacer cero los elementos de los vectores columna de las variables básicas correspondientes a esta nueva fila excepto el uno de la columna de la variable xs. Multiplicando por -1 la primera y segunda filas y sumándoselas a la tercera, se llega a la tabla -11 -21 ) ( 12 ) = ( -1 3 ) Z4-C4=(2, 1)( XB 2 ( ~1 ) -2=-:-1 teniendo la tabla, ahora, con xs, xs variables de holgura, Cj 2 2 1 2 o o es VB X¡ X2 X3 X4 2 X¡ 1 1 xs 1 1 X3 Zj - Cj o o o 1 o o o -1 3" -1 -1 1 xs XB -1 2 2 6 2 o Como el indicador de x 4 es negativo, aplicamos el método del símplex primal con x4 variable de entrada, X3 variable de salida e Y24 = 3 pivote. Realizando la transformación de pivote, se obtiene la tabla 1 !ll6 ©RA-M_A PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS CB Cj 2 2 1 2 o o VB ;z:¡ X2 X3 X.1 Xs X5 'XB l l l/3 1/3 l 2/3 -1/3 - l/3 2/3 2/3 8/3 2/3 20/3 2 ~:¡ 2 :¡;4 Zj - Cj o o o o 1/3 o o 2/3 CAPITULO 3. DUALrDAD Y ANALISIS DE SENSIBrLlDAD Solución a) Las variables de decisión son x 1 = número de turborreactores a comprar x 2 = número de aviones a hélice a comprar x3 = número de helicópteros a comprar que es óptima. La solución es Las restricciones se deben a: con z• = 20 - Número de pilotos disponibles 3 o 12. Planificación y gestión de una flotilla. Se ha concedido permiso a 'Jn nuevo tour operador para r-ealiza1· v11elos entre lVIadn.d y las islas Baleares e interinsulares. Para ello, debe compra·r twrbon·eactores con Los que cubrir Los uuelos entre Madrid y ias islas, así como aviones de hélice yjo helicópteros con los que .1Prtrú· los vuelos interinsulares. El p·resupu.esto de compra es de 2800 millones de ptas. Las caracte1'ísticas de los aparatos que puede comprar el operador se 1·es·umen en la tabla Tipo de Aparato Turborrea. A. hélice Helicóp. Coste/u (xl06 ptas) 300 lOO ~u Mant.ju (ptas/día) Pilo t. 120000 60000 30000 2 1 1 Tripulación Copii. Azaf. 2 1 l Capacidad (pasjmes) - Número de copilotos que hay que contratar - Número de azafatas disponibles - Límite presupuestario de compra 4000 300 lOO Se pueden contratar ha.sta 10 pilotos y 16 rtzafatas. Se desea emplear al menos a 3 copilotos. El tráfico entre Baleare.s y Madr-id se estima en8000 pasjmes (pasajeros por mes) y el interinsular en 500 pasjmes. El pe1'mi.so concedido requiere q-u.e el n:ú.mero mínimo de aparatos sea 15. La compa·ñ'Ía desea operar con coste de mantenimiento mínimo. a) Formular un modelo de progmmación lineal que propor·cione el plan óptimo de compra. - Pasajeros de larga distancia que se deben transportar 4000x 1 ~ 8000 - Pasajeros de corta distancia que se deben transportar 300x2 + lOOx3 2:: 500 Aparatos de los que debe disponer el operador h) Resol'Uerlo e interpretar la solución. e) S·i existe la posibilidad de contratar 10 pilotos más, ¿cuál será la n·ueva solución? d) Un cambio en el contrato r·educe el número m·ínimo de aparatos a 14, ¿cuál es el efecto económico de esta modificación? - Restricciones de no negatividad 167 168 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS Las variables de decisión son enteras, pero por el momento lo ignoramos, ya. que los métodos de solución correspondientes se describen en el Capítulo 6. El objetivo representa. el coste de mantenimiento que es de minimización. Resumiendo, simplificando las restricciones, el problema se puede escribir en la forma equivalente = s.a + X2 + X3 ~ lO X2 ~ 3 2x¡ + x2 6x1 X¡ ~ 16 + 2X2 + X3 ~ 56 X¡~ 2 3x2 + X3 ~ b) Resolvemos el problema dual, ya que tiene un número menor de restricciones. Expresando el programa anterior en forma simétrica de minimización, el programa dual, que está en forma simétrica de maximización, es = - lOy¡ + 3y2 - l6y3 - 56y4 + 2ys + 5y6 + 15y¡ s. a - 2y¡- 2y3- 6y4 + y5 + Y1 ~ 12 -y¡ + Y2 - Y3 - 2y4 + 3ys + Y1 ~ 6 -y¡ - Y4 + Ys +Y7 ~ 3 YL.Y2.Y3.Y4.Y5 ,Y6 .Y7 ~o CB o o o - 10 VB Y1 Ya -2 -1 -1 10 Y9 Y10 Zj - Cj 3 -16 -56 Y2 Y3 Y4 1 -2 -1 -3 16 -6 -2 -1 56 o o o 2 Ys 1 o o -2 3 Y1 Y2 Y3 Y4 Ys Y9 -1 1 -2 -1 Y1 -1 -5 -3 16 -5 -1 -1 41 Zj - Cj o o o -16 - 56 o 2 Ys 1 o o 5 15 o o o Ys Y1 Ya 1 -1 2 1 - 2 10 Y9 o o o o 1 1 o o o o o YlO YB -1 9 -1 1 15 3 3 45 5 15 Ya Y9 YlO YB 1 3 1' -5 - 15 o o 12 o 1 o 6 o o 1 3 o o o o Cj -20 VB Y1 Ys Y9 - 1 o 1. Y1 -1 5 -3 zi- e; = 5. 3 Y2 o o - 16 -56 Y3 Y4 -2 -1 -5 -1 -1 41 o 16 2 5 15 o o o Ys Y1 Ys yg YlO YB - 1 o 1 o -1 9 o 2 u o 1 -1 3 o 1 1 o o 1 3 - 2 JO o o o 15 45 Y5 1 En dos iteraciones se llega a la tabla final Cj -20 3 CB VB y¡ Y2 Y3 2 Ys -1 3 Y2 Y1 1 -2 -1 o o o 1 1 C¡ = (0,0, 15){- 1, 0 - l )t - (- 20) El resto de indicadores no queda afectado, ya que se ha cambiado el valor de un coeficiente de coste no básico. La nueva tabla es 15 Y1 1 Z[ - o o Y6 o Los problemas primal y dual se reformulan convenientemente, y el proceso de solución se puede comenzar en la última. tabla poniendo coeficient~ igual a -20 a la variable y1 , que tendrá un nuevo indicador CB Ponemos este programa lineal en formato estándar de maximización añadiendc una variable de holgura a cada restricción (y8 , y9 , y10 ). La tabla inicial del métodc del símplex es Cj 15 - 10 5 + X2 + X3 ~ 15 X¡ 1 X2,X3 ~ Ü max C' o o Cj VB Observemos que existe un indicador negativo, z 1 - c1 = -5, con vector interior y 1 = (-1 , O, -1) no positivo. El problema dual es no acotado y el primal es infactible. Por tanto, no existe ningún programa de compra de aparatos que verifique las restricciones. e) Si se dispone de 10 pilotos más, el número total de pilotos aumentará a 20. La primera restricción pasa a ser 12x¡ + 6x2 + 3x3 2Xt 169 Realizando la transformación de pivote se tiene la tabla CB e= 120000x¡ + 60000x2 + 30000x3 mine CAPITULO 3. DUALIDAD Y ANALISIS DE SENSIBILIDAD 15 Zj- Cj o -1 3 o - 16 -56 o o o 9 Y4 -5 -1 -1 28 2 Ys 5 Y6 1 - 1 o o o 2 1 14 15 o o o Y1 Ys Y9 o 1 o o o 1 1 o o o 2 3 YIO YB -1 -1 1 10 9 3 3 72 170 CAPITULO 3. DUALIDAD Y ANALISIS DE SENSIBILIDAD PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS La solución óptima del problema. primal se obtiene de esta tabla final a partir de los indicadores de las variables duales ys, yg, y¡ o, que eran las variables básicas iuiciales. Se tiene así x[ = l(zs -es) + csl = 12 + 01 = 2 x2 = l(zg - eg) + egl = 13 + Ol = 3 x3 = l(zlO - c10) + Ctol = 110 + 01 = 10 con e. = e'• = 72. Así pues, deberán comprarse 2 turborreactores, 3 aviones a hélice y 10 helicópteros, siendo el coste de mantenimiento diario 720000 ptas. d) Si el número mínimo de aparatos se reduce a 14 unidades (coeficiente de la variable Y1 igual a 14), se mantiene la optimalidad de la solución dual, ya que la nueva fi la indicador permanece no negativa, pues será 4, O, 9, 29, O, 13, O, 2, 3, 9. Sin embargo, el indicador de la variable y 1o pasa a valer 9, así que la compra de helicópteros se reduce en una unidad. El coste de mantenimiento será de e = 690000 ptas, que supone una reducción de 30000 ptas respecto de la solución obtenida para un mínimo de 15 aparatos. Alternativamente, la variable dual asociada a la restricción correspondiente es 'Y7, cuyo valor óptimo es y7 3. Para una reducción del número de helicópteros en una unidad, el valor óptimo del objetivo e• = 720000 se reducirá en b;e• = 1· 30000 = 30000 ptas, que queda en 690000 ptas. O x2 X3 = unidades fabricadas del producto B = unidades fabricadas del producto C De la tabla tecnológica, que muestra limitaciones de tiempo de fabricación y de disponibilidad de algodón. y teniendo en cuenta los beneficios por unidad fabricada, modelizamos el programa liueal max z s.a ,,r e Disponib. Tiempo 1 2 2 12 Algodón Beneficio/u 2 4 3 J 2 3 3 máximo Se desea encontrar el precio marginal del algodón y el valor del objetivo beneficio z como función de f. Representar gráficamente ambas funciones. Solución Introducimos una variable de decisión por cada producto definiendo x¡ = unidades fabricadas del producto A + 3x2 + 3x3 2x¡ Añadimos variables de holgura (x 4 , x5 ) y aplicamos el método del símplex. La tabla inicial es es o o o o Cj 2 3 3 VB X¡ X2 X3 X4 X4 1 2" 2 1 - Cj xs o XB 12 1 f o 2 4 3 -2 - 3 -3 X5 z1 o o o Hay posibilidad de mejora y tomamos x2 como variable de entrada (z2 - c2 = -3). Como variable de salida tomamos arbitrariamente x4 • siendo y 12 = 2 el pivote. La transformación de pivote da la tabla 13. Un precio marginal variable. Una compañía textil produce en uno de sus telares tres productos denominados A, B y e, siendo los recursos el tiempo de máquina y la cantidad de algodón t~tilizado en su fabricación. La siguiente tabla resume el proceso de producción (por lote producido), no conociéndose la disponibilidad (denotada por f) de algodón Producto A B = x¡ + 2x2 + 2x3 ::;: 12 2x¡ + 4x2 + 3x3::;: f X1 1 X2 1 X3 ~ 0 = 1 171 o o CJ 2 3 3 es VB X¡ X2 X3 X4 3 X2 1/2" 1 1 -1 1/ 2 -2 3/2 o xs o z1 - c1 - 1/ 2 o o o Xs Xs 1 J -2-4 o o 6 18 nueva transformación de pivote en el que x 1 es la· variable de entrada y x2 la de s.alida, conduce a la tabla final Una o o Cj 2 3 3 es VB X¡ X2 X3 X<! xs X¡ 1 2 2 -1 · 1 1 o Xs 2 -2 2 1 J -2-l o Xs Z;- Cj o o o 1 o 12 24. Considerando esta tabla como una del símplex dual, será óptima cuando sea primal factible, es decir, si 1 - 24 ~ o<==? 1 ~ 2-t. 172 PROGRAMAClON LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS Si ¡ = 24 en la última tabla 1 la solución se convierte en degenerada (xs =O). Aplicamos el método del s(mplex dual1 tomando como variable de salida de la base x5 y como variable de entrada x3 la de mayor razón con empates resueltos con la regla de menor índice (p3 = -1 1 p.¡ = -1). La nueva tabla es Cj 2 3 3 es VB X¡ X2 X3 2 3 X¡ 1 2 o o o o 1 o 1 o xa z;- e; X4 X¡; XB 2 -1 1 2/ - 36 24-1 1 2j - 36 ;?: 01 o 24- f;?: 01 3 Cj 2 3 3 o o VB X¡ X2 X3 X4 X¡; XB X4 - 1/3 2/3 - 2/3 4/3 1 1 - 2/3 1/3 1 12- (2/3)! (1/3)! X3 Zj - Cj o o 1 o o o f Es óptima si f ;?: Oy si JI Además, el precio sombra del algodón, que es el valor óptimo variable dual de decisión, se obtiene de la expresión Y2 = l(zs- es)+ csl = zs ya que zs -es ;?: Oen todas las tablas y c5 = O. Y2 de la segunda Resumiendo, el precio sombra Y2 y valor óptimo z* del objetivo como función de f se muestran en la tabla Recorrido o~ 1 ~ 18 18 ~ 1 ~ 24 1 > 24 Y2U) z•(J) 1 f 1 1 o 24 24 f 18 24 f Observemos que el aumento en una unidad del recurso algodón produce un aumento de una unidad en el beneficio, pero sólo hasta que la disponibilidad f es igual a 24. · O es decir1 si f E [18 1 24j. Haciendo f = 18, pasa a degenerada la variable x 1 que será la variable de salida. La variable x4 es de entrada. Una iteración más conduce a la tabla es z* 18 24 Esta tabla es óptima si 173 La representación gráfica de ambas funciones es o -3· 2 o CAPITULO 3. DUAUDAD Y ANALIS!S DE SENSIBILIDAD 14. Programación de la pr oducción y precios sombra. Un empresario pretende fabricar dos tipos diferentes de congeladores denominados A y B. Cada uno de ellos debe pasar por tres operaciones antes de su comercialización: ensamblaje, pintado y control de calidad. Los congeladores requieren, respectivamente, 2.5 y 3 horas de ensamblaje, 3 y .6 )<g de esmalte para su pintado y 14 y 10 horas de control de calidad. Los costes totales de fabricación por unidad son, respectivamente, 30 y 28, y los precios de venta 52 y 48, todos ellos en miles de pesetas. El empresario dispone semanalmente de 4500 horas para ensamblaje, de 3400 kg de esmalte y de 20000 horas para control de calidad. Los estudios de mercado muestran que la demanda semanal de congel11dores no supera las 1700 unidades y que, en particular, la de tipo A es de, al menos, 600 unidades. Se desea: a) Formular un modelo de programación lineal que indique cuántos congeladores deben fabricarse de cada tipo para que el benefiéio sea máximo, teniendo en cuenta el estudio de demanda. b) Resolverlo mediante el método del símplex. Interpretar la solución óptima incluyendo las variables de holg·ura (redondear la solución al valor entero por defecto) . e) Determinar los precios sombra de las horas de ensamblaje y control de calidad. Al fabricante le ofrecen disponer de 200 horas más para ensamblaje con un coste adicional total de 750000 pesetas. ¿Debería aceptar la oferta? 174 PROGRAMAC!Ot\ LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS Solución a) Definimos las variables de decisión ca x¡ = número de congeladores tipo A, x2 = número de congeladores tipo B. Las restricciones se deben a: - Tiempo disponible para ensamblaje 2.5x¡ + 3x2 ~ 4500 - Disponibilidad de esmalte 3x¡ + .6x2 ~ 3400 - Tiempo disponible para control de calidad 14x 1 + 10x2 ~ 20000 - Demanda de congeladores X2 ~ 1700 X¡ 2: 600 X¡+ - No negatividad X¡ 1 X2 2: 0 La función objetivo representa beneficio total (en miles de ptas) ..J .1 ·n.... •f ' CAPITULO 3. DUALIDAD Y ANALISIS DE SENSIBILIDAD ©RA-~ B = (52 - 30) X¡ + (48- 28) X2· Queda el programa lineal max B = 22x 1 + 20x2 s. a 2.5x¡ + 3x2 ~ 4500 3x¡ + .6x2 ~ 3400 14x¡ + 10x2 ~ 20000 X¡ + x2 ~ 1700 X ¡ 2: 600 X¡, X2 2: 0 b) Poniendo el problema en formato estándar de maximización añadiendo una variable de holgura a cada restricción (x3 , x 4, xs, x5, -x 7) y una variable artificial a la quinta restricción (xs), en cuatro iteraciones del método del símplex con penalizaciones se llega a la tabla final o o Cj 22 20 o o o VB o o -M Xt X2 X3 X4 x5 X6 1.271 - .588 .824 - .235 - .588 3.53 1 - .441 o X4 X¡ X2 Xo 22 X¡ 20 Zj- Cj xM o o o o o 1 o o 1 o o o o o o o o o o o o .176 -. 147 - .029 .176 .941 o X¡ o o o 1 o o 1 o o o o o o o xa XB -1 294.1 282.4 o o o o o 1 175 764.7 52.94 882.4 34705.88 o La solución óptima es, redondeando al valor entero por defecto xj = 882 congeladores tipo A x2 = 764 congeladores tipo B con beneficio óptimo z• = 34684000 ptas. Los valores de las variables de holgura en la solución óptima anterior son x3 = 3 horas de tiempo de ensamblaje que sobran x4 = 295.6 kg de esmalte que no se consumen, del total de 3400 kg x5 = 12 horas de control de calidad que sobran x6 = 54 cong. que se dejan de fabricar respecto del límite 1700 x~ = 282 cong. tipo A que se fabrican por encima del límite 600 e) El precio sombra del tiempo de ensamblaje es el valor óptimo de la primera variable dual de decisión, cuyo valor obtenemos de la tabla final: YÍ = l(z3- c3) + c3 l = 13.53 + Ol = 3.53 Así, por cada hora que aumente el recurso tiempo de ensamblaje, dentro del intervalo (4268.5, 4725) obtenido con análisis de sensibilidad, el valor óptimo actual del objetivo aumentará en 3530 ptas. Por tanto, si hay un incremento en la disponibilidad de 200 horas para ensamblaje, que están dentro del tiempo de variación para el que se mantiene la optimalidad de la base actual, se tiene un incremento en el beneficio en ptas de t:.z* = 200 x 3530 = 706000. Como esta cantidad es inferior al coste adicional de 750000 ptas, el empresario no debería aceptar la oferta. O 15. P recios sombra y análisis de sensibilidad en planificación de la producción. En un laboratorio se fabrican cuatro productos P¡, i = 1, 2,3, 4. !.!17~6___!:P~R~O~G~R~A~!!!.1~AC~Ic!:::O!!N~L:!!.IN:..::E:!.!A~L..:.Y....!A!.!P~L~IC~A~C~IO!.!.N:'ES~:...! ..:: ·- E:!!!J:.!::E~RC~I~C~IO~S:..!RES~U!!._!E~U!frl'~O~S_-...\!:@~RA~-MA que consumen un día por unidad en su proceso completo de producción, au~que se pueden producir varias unidades simultáneamente. El espacio (m2) en el almacén y la mano de obra (número de trabajadores) disponibles limitan la producción. La tabla contiene los datos relevantes del proceso de producción así como los cost de fabricación y precios de venta (en miles de ptas) ' es CAPITULO 3. DUALIDAD Y ANALISIS DE SENSlBlLIDAD 171 La función objetivo B representa beneficio neto. Teniendo en cuenta la diferencia entre los precios de venta y los costes de fabricación, toma la forma B = (30- 20}x 1 +(50 - 30}x2 + (85 - 45)x3 + (90- S8)x4. Queda, por tanto, el programa lineal Area (m2 /u) 10 30 80 Trabajadores/u 2 1 1 Coste/u 20 30 45 Precio venta/u 30 50 85 40 3 58 90 Disponibilidad 900 80 max B s.a = lOx 1 + 30x2 + 80x3 + 40x4 2xt + x2 + X3 + 3x4 5 80 X¡ 1 X2 1 X3,X4 ~ 0 Se pide: a) Encontrm· el plan de prod·ucción de beneficio máximo. b) Cierta materia prima empleada en los productos P1 y p3 es inestable en su !recio. En la actualidad cuesta 100000 ptas por t, utilizándose .1 t por umdad de producto P1 fabricado y .2 t por unidad de producto P3 . Si el coste de la mate~a prima se incluye en los costes de la función objetivo, ¿cuál es el recpmdo del precio de la materia para que la solución obtenida en a) se mantenga óptima? 10x 1 + 20x2 + 40x3 + 32x4 ~ 900 Poniéndolo en formato estándar (con x5 , X6 variables de holgura) Y aplicando el método del símplex, en tres iteraciones se obtiene la tabla final Cj 10 20 40 32 o o es VB X¡ X2 X3 X4 X¡; X6 XB 32 X4 3 1 .04 - .06 .68 -.2 20 10 i40 10 o X¡ 1 1 -1 Z¡- Cj o 2 -4 16 o o .8 1.6 que proporciona la solución óptima e) Interpretar los valo1·es de los precios sombra obtenidos en a). d) ¿ Cuá~ es el ran~o d~ los recursos del progmma construido para el que se mant'lene la opttmaltdad de tales valores? e) La firma podría alquilar 150 m2 más de superficie de almacén con coste de 70000 ptas (por día). ¿Debería alquilar ese espacio? Si es así, ¿cuál es el nuevo plan de producción? b) En este caso, habrá que introducir un parámetro ten la función objetivo, que representa la variación en el precio unitario de esta materia prima. Determinamos los coeficientes en el objetivo. Observemos que actualmente el coste es de 100000 ptas por t. El coste de P1 es 20000 ptas y está incluido en el coste de la materia prima. Debemos descontado, y tendremos que para Pt ; en miles de ptas, 30- 20 = 30- 10- (J) Solución a) Introducimos las variables de decisión X¡ xt = 10, x2 = O, xj = O, x4 = 20 con B* = 740000. = producción de P¡, i == 1, 2, 3, 4 Las restricciones son lOx¡ + 30x2 + 80x3 + 40x4 5 900 (espacio disponible) 2x¡ + X2 + X3 + 3x4 5 80 (n° de trabajadores) X 100 = 20- (.1) X 100 Así, el coeficiente de P1 parametrizado será 20 - .lt. Análogamente para P2 se tendrá 60- .2t. El objetivo parametrizado es ma.x B = (20- .lt)x1 + 20x2 + (60- .2t)x3 + 32x4· La tabla inicial del programa lineal parametrizado, obtenida de la tabla óptima con t =O, es 'f ¡ 7..:::.8__:.P~R:!::Oc.:::G_,_,_R!..!; AM=AC:::..:Ic::cO.:..:.N-=Lc:..:IN-'-=E:.:..:AL=-..:Y....:.A..::.P-=L:.:..: IC::..:.A:..::Cc:..:IO::..:N.:..:E::::S~:E::::Jc:E.:..:RC.=.:I=-=O.:..:IO:..::S....:.R.=E:.=.S.=.cUE=.:r;=-=~-=0-=-S_ .!..!¡ ____,.©"'-'RA=..!,!; -.MA cj -.1 o Cj 20 20 -.2 60 X¡ X2 X3 X4 Xs X6 XB .333 .333 6.67 -.099 1 .333 1.333 14.67 -.199 .013 -.006 .667 -.002 -.067 .533 6.667 - .039 6.667 36.667 1113.33 5.0001 e~ es VB -.2 -.1 60 20 X3 o 1 X¡ o o Zj - Cj t o o o 32 o o o o o Imponemos a esta tabla las condiciones de optimalidad, teni.endo así el conjunto de inecuaciones 6.67- .099t ~ o, 14.67- .199t ~o, .667 - .002t ~o, Y2 = l(zs - c5) B- tb = ( .04 -.06 • 1 {bE JR.2 xa= ( = ( .04 .8 b2 =( .04b¡ - .2b? ) - .06b¡ + .802 ~O : .04b, - .2b2 ~ O, -.06b1 +. 8~ ~ O, b,, ~ ~O} . ~~) =B- 1 ( b,+~6ht) = -.06 -.2 ) ( 1050 ) = ( 26 ) .8 80 1 es decir, xt = 1, x2 = O, x3 = O, x4 = 26 y el beneficio 103 :::: 680 ptas + csl x 10 = j1.6 + Ol x 103 = 1600 ptas -.2 ) ( b1 ) = 680 x 150 = 102000 ptas. Como el coste del alquiler es 70000 ptas, inferior al beneficio económico asociado, resulta rentable el alquiler de ese nuevo espacio. La nueva solución será X tenemos un sistema de inecuaciones lineales en b1 y b2 que determina el recorrido buscado S= 6z = YÍ x l:!.bt B* 3 Así, Yi = 680 ptas es el precio sombra o marginal del recurso espacio disponible que corresponde a la primera restricción. Por cada m2 que varíe la disponibilidad actual (900 m2) , el valor óptimo del objetivo (740000 ptas) cambia en 680 ptas. Análoga interpretación se tiene para el precio sombra del número de trabajadores. Estos precios son válidos dentro de Jos recorridos de optimalidad de los recursos para la base asociada con la tabla final en a). El lector puede comprobar que son b1 E [400, 1066.6] y ~ E [67.5, 180]. d) Para determinar el recorrido conjunto de las constantes para las que se mantienen los precios sombra, basta considerar la base óptima B , cuya inversa podemos leer directamente en la tabla óptima bajo las variables básicas iniciales. Imponiendo la condición de no negatividad a 179 e) Si aumentamos el espacio disponible en l:!.b 1 = 150 m2 , la disponibilidad total del recw·so espacio pasa a ser b1 +l:!.b1 = 900+ 150 = 1050 m2. Como el valor 1050 está dentro del recorrido [400, 1066.6] para el que se mantiene la optimalidad de Ja base actual, podemos ver el impacto económico sobre el objetivo en la forma 6.667- .039t ~o La solución de este conjunto de inecuaciones en t proporciona el recorrido del precio unitario de la materia prima para el que se mantiene la optimalidad. Tal recorrido, en miles de ptas, es t E [0, 67370] . Por tanto, siempre que t fluctúe entre Oy 67370 ptas, se mantiene la optiroalidad de la solución anterior, siendo el valor óptimo del objetivo B•(t) =1113.33 - 5.0001t, en miles de ptas. e) La solución óptima del dual se tiene de la tabla óptima del apartado a), teniendo en cuenta que el objetivo B está en miles de ptas. De aquí que Yi = j(zs - Cs) + Csj X 103 = j.68 + Oj CAP ITULO 3. DUALIDAD Y ANALISIS DE SENS1BlLrDAD 26 = (32, 10) ( 1 ) = 842. Finalmente, debemos restar el coste, obteniendo como beneficio neto final la cantidad resultante de 842000 - 70000 = 772000 ptas. O 16. Impresión de libros de una editorial. Una editorial dispone para impresión de 4500 horas y para encuadernación de 4000 horas. La tabla que sigue da los tiempos, en horas, empleados en ambas tareas para cuatro libros Li, i = 1, 2, 3, 4, así como sus beneficios, en miles de ptas. Libro Impresi6n Encuademaci6n Beneficio/u L¡ L'! L3 L4 .1 .3 .8 .4 .2 .1 .1 .3 1 1 4 3 Se pide: a) Formular un modelo de programación lineal que proporcione el máximo beneficio y resolverlo. 180 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS CAPITULO 3. DUALIDAD Y ANA LISIS DE SENSIBILIDAD ©RA-~ b) Supongamos que en el departamento comercial de la editorial no encuentran la solución razonable y creen que, a lo sumo, se podrán vender 5000 copias de/libro L4 a ese pr·ecio. Para vender 10000, su p1·ecio deberá bajar en 2000 ptas por copia. ¿Qué consecuencias tiene esta hipótesis? Obtener la mejor solución. e) Al director de la editorial le gustaría imprimir el libro L 2. Desearía saber las consecuencias sobre el beneficio, así como la producción de los libros LI y L4 si se pmducen 2000 copias de L2. d} Si, además, en e) se propone que el libro L2 lo encuaderne otra editorial que carga 500 ptas más por copia, ¿merece la pena esta pmpuesta? En caso afirmativo, ¿cuál es el nuevo plan de producción? e) Otra posibilidad es cambiar el precio. Llevar a cabo un análisis de sensibili- . dad paramétrico respecto al beneficio unitario del libro L2 para el apa1·tado a). La solución óptima consiste en producir, únicamente, los libros L1 y L 4 en cantidades de 5000 y 10000 unidades, respectivamente. El beneficio asociado es = 35000000 ptas. b) Supongamos que el beneficio del libro L 4 baja 2000 ptas, es decir, pasa a ser 1000 ptas. Recalculamos con este nuevo beneficio é4 = 1 ( x 103) la fila indicador y el objetivo en la tabla final. Tenemos la nueva tabla s· es 1 a) Definiendo las variables de decisión es 3 0 1 Cj 1 1 4 VB 3 X¡ X2 X3 X4 1 -1 3 -4 1 1 X4 X¡ Zj- Cj o 1 o 1 o o o Cj 1 1 VB X¡ X2 1/3 1/3 2/3 4 X3 o 1 X¡ 1 o xi = 18333.3, donde el objetivo B representa el beneficio en miles de ptas de la producción de libros. Se supone que se vende toda la producción. Aplicando el método del símplex, se obtiene en tres iteraciones la tabla final ¡ 1 X¡ o o xs 4 -6 6 1 o o X4 xs xs 4 -2 -6 8 -2 6 4 xa 3• 1 - 1 -4 - 1 -5 1 o o xs 10000 5000 15000 4 xa 1 o o 1 o o xs 1/3 4/3 4/3 - 2/3 5/3 14/3 X~ xs XB -2/3 3333.3 16/3 18333.3 8/3 31666.6 siendo la solución óptima (admitiendo una solución no entera} .1xr + .3x2 + .8xa + .4x4 ~ 4500 .2x¡ + .lx2 + .lx3 + .3x4 ~ 4000 • o 1 X2 Como hay varios indicadores negativos, se ha perdido la optimalidad. Aplicamos el método del símplex primal hasta alcanzarla de nuevo. En una iteración, se llega a la tabla x¡ + x2 + 4x3 + 3x4 X¡,X2,X3 1 X4 ~ X4 zi- e; producción deL¡, i = 1, 2, 3, 4 modelizamos el programa lineal de beneficio má.x.imo = 1 X¡ Zj - Cj X¡ = max B s.a Cj VB 1 es Solución 181 xs xs - 2 10000 8 5000 2 35000 x2 = O, x3 = 3333.3, x: = O con B* = 31666600 ptas. Observemos que con esta solución no se vende ningún libro L4 . e) En este caso podría hacerse en el problema x 2 = 2000 y resolverlo con tres variables de decisión. Otra posibilidad, que seria obligada si la restricción hubiera sido x2 ~ 2000, consiste en añadirla a la tabla. Llevarémos a cabo este segundo procedimiento con la restricción x2 = 2000 para ver el proceso de solución. La incorporamos a la tabla óptima, añadiendo previamente una variable artificial x7 y considerando la función objetivo artificial, y obtendremos la tabla inicial del método de las dos fases Cj es o o o o o o o -1 Xs xs -2 -6 8 X7 4 o o o o VB X¡ X2 X3 X4 X4 o 1 -1 3 -4 1 1• o o o X¡ -1 X¡ Zj - Cj 1 o o -1 o o o o o o 1 XB 10000 5000 2000 - 2000 182 PROGRAMACIO N LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS CAPITULO 3. DUALIDAD Y ANALISIS DE SENSIBILIDAD @RA:MA En una transformación de pivote se llega a la tabla final de la fase I o o o o o o ej VB es o o o X4 X¡ X2 Zj- ej X¡ X2 X4 XJ X¡¡ es 3 -1 X6 o o 3 1 4 -2 1 o -4 o -6 8 o l o o o o o o o o o o e· l 1 4 3 VB o o X¡ X2 X3 X4 Xs 1 X4 X¡ 1 X2 zi- e; ~ 1: 1 .5 4 3 o o X¡ xz X3 X4 Xs X6 3 -.8 -4 1 4 -2 X7 xs 1 X4 X¡ -1 1 1 1 8000 7000 2000 .5 X2 o La tabla inicial de la fase II es es 3 e; VB Zj - es 3 8000 7000 2000 33000 que es óptima. La producciones de L 1 y L 4 son, respectivamente, 7000 y 8000 unidades. El beneficio asociado es de 33000000 ptas, algo inferior a las 35000000 ptas de beneficio inicial. d) En este caso, al cargar la otra editorial 500 ptas por copia encuadernada del libro L2, el beneficio es de 1000 - 500 = 500 ptas. Además, el coeficiente tecnológico en la segunda restricción para el libro L 2 se convierte en nulo al no encargarse nuestra editorial de su encuadernación. En resumen, tenemos un cambio en el coeficiente de coste (básico) de x 2 y en el coeficiente tecnológico a22 . Recalculando entonces el vector interior y los indicadores, como 1 e; o o .2 1 - .2 o -6 8 o o o o 1 o 6 2 Xs 8000 7000 2000 32000 Como x2 es una variable básica, hay que hacer Osu indicador y los elementos interiores excepto Y31 = l. Mediante operaciones de fila, tendremos la tabla con la nueva solución óptima xs X6 o o 3 1 4 -2 1 o -4 o -6 8 o 1 o o o o o o 1 o 6 2 o 183 e; 1 .5 4 3 o o VB X¡ X2 X3 X4 xs 1 .5 XG o o 3 1 4 -2 1 o -4 o -6 8 o 1 o o o o o o 1 o 6 2 X4 X¡ X2 z; - e; Xs 7600 8600 2000 32400 Por tanto, el nuevo plan de producción es de 8600 libros L 1, 2000 ~2 y 7600 L3 , con beneficio de 32400000 ptas. e) Llevamos a cabo un análisis de sensibilidad paramétrico respecto a c2. Consideremos la tabla óptima, pero con el coeficiente de coste genérico para la variable x2. Obtenemos la tabla e; 1 C2 4 3 o o es VB X¡ X2 X3 X4 X¡¡ X6 3 X4 X¡ 1 1 4 -1 3 -4 2- e2 1 -2 10000 8 5000 2 35000 1 o 1 z;- e; o o o -6 6 xs Esta tabla es óptima si 2- c2 ~ O, es decir, si c2 :5 2. -Aplicamos el método del símplex tomando x2 como variable de entrada en la base, que es el caso de c2 ~ 2, X4 de salida e Yt2 = 1 el pivote. La nueva tabla es se obtiene que -2 8 -1 1 ) ( .3 o) o 1 z,- e,~ eh, - e,~ (3, 1, .5) ( =( -.2.8 ) 1 1 .:;s )- ~ .5 es e2 1 -.2 permaneciendo igual el resto de indicadores. La tabla con los nuevos valores es e; VB 1 C2 4 3 o o X¡ X2 X3 x,t X¡¡ X6 XS X2 o 1 3 -1 -5 +3e2 1 4 1 -2 -2 +4e2 -2 6 6 -2e2 10000 15000 15000 +10000e2 X¡ Zj- e; 1 o o o o o -2 +e2 184 ©RA-~ PROGRAMACION LTNEAL Y APLICACIONES: EJERCICfOS RESUELTOS Esta tabla es óptima si se verifica la no negatividad de los indicadores, es decir, si -5 + 3c2 ~O, -2 + c2 ~O, -2 + 4c2 ~O, 6- 2c2 ~O. La resolución de este conjunto de inecuaci?5nes proporciona el recorrido de optimalidad c2 E [2, 3]. Prosiguiendo con el análisis, si hacemos c2 = 3 la transformación de pivote se tiene para el elemento y26 = 6, y reiteramos el procedimiento. La solución del análisis paramétrico se tiene en la tabla Recorrido de Solución óptima Valor óptimo ( x 103) C2 x' z•(c2) 0<cz~2 (5000, o, o, 10000) (15000,10000,0,0) (0, 15000, O, O) 35000 15000 + lOOOOc2 15000c2 2~C2~3 3<c2<oo CAPITULO 3. DUALIDAD Y ANALISIS DE SENSIBfLIDAD que proporciona la solución óptima ma..x z s.a = -3x¡ - x2 - X3 - 3x4 f b) eB VB 3 -1 -1 Xt t X~ es 1 -1 -3 -1 -1 -3 -M VB X¡ X2 X3 X2 X3 X4 3/2 -1/2 1 o o o o o o 1 o o o o a¡ a2 3/2 -1 - 1/2 2/3 -1 1/3 2 -2/3 1 1 z;- e; xM 2 o o 1 X4 o -M X¡ X2 X3 1 o o o o 1 o 1 o o o o o o o -3 -M X4 a¡ -M -M a2 a3 XB 1/2 1/2 -1/2 1/2 1/2 -1/4 1/4 1/4 -1/4 1/2 3/4 - 3/4 1/4 3/4 o 1 -1 1 -2 -2 1 1 1 o o 1 ) con z* = -2. x* = (12' o, 2'0 Cj -3 -1 -1 -3 -M - 1\tf -M es -3 -1 VB X¡ X2 X3 X4 a¡ a2 03 XB X¡ 1 o 1 1 1/4 -1 o 1/2 1/2 al -1/3 1/3 -1/3 2/3 4/3 1 -M 2/3 1/3 -4/3 - 4/3 4/3 -1 -3 -2 X3 3/4 1/4 1 -3 1 -1 o o o o o -1/3 1/3 -1/3 XB o o o o o o o 1 o o 1 o o o o 2 que continúa siendo óptima, pero con la variable x2 no básica. Consideramos ahora a12 = 4/3- €. Obsérvese que es un cambio en un coeficiente tecnológico de una variable no básica en la tabla final. Calculamos los nuevos valores básicos y el indicador de x2 . Como -M a3 -3 -1 -1 cuya solución es xM · -1 -3 o xM Zj - Cj Solución a) Supongamos que € = O. Resolvemos el programa lineal con el método de las penalizaciones. En cuatro iteraciones se tiene la tabla final Cj X3 X2 Zj- Cj = €X min z(€) s.a con z* =-l. Aplicamos el método del símplex dual, introduciendo en la base la variable a 1 en Jugar de la variable x2, que es degenerada. La nueva tabla es X¡+ (4/3- €) X2 + 2X3 = 3/2 x2 + 3x3 = 3/2 X¡ + X2 + X3 + X4 = 1 X¡,X2,X3,X4 ~ 0, € ~ 0 ' ~ = (0, ~~¡,O) Como x2 es variable básica, realizar un análisis de sensibilidad en un coeficiente tecnológico puede ser demasiado costoso. Por tanto, supongamos que € = 4/3. Resolvemos de nuevo el programa lineal. Tras tres iteraciones se obtiene la tabla final o a) 4 X Cj 17. Dos problemas lineales paramétricos inestables. Resolver los programas lineales paramétricos 185 es y a2 = (4/3)- € 1 ( 1 ) 186 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS ~ ~ t Z2-c2= c8 y2 - c2=Me - 4 3 ?0, ©RA-~ 'iff.>0. En resumen, la solución es f.> z• Solución {O} {0,3/4,1/4,0) -1 (0, oo) Definimos las variables de decisión (1/2, O, 1/2, O) -2 O es X*(e) = {-1} y z* (e)= -f. 3. Si X¡ =producción de artículos de tipo A, x2 =producción de artículos de tipo B. Las restricciones se deben a: - Demanda del mercado X¡ (óptimo único) . 2. Si e= O es X*(e) = [- 1,oo) y z* (E)= O (óptimos alternativos). e< Oes X*(e) = {oo} y z* (E)= -oo (no acotado). 187 d) Como consecuencia de compromisos previos nos anuncian que la máquina estará disponible entre O y 310 horas. ¿Cómo cambia la solución c·uando el tiempo disponible es b3 = 170(1 +a), para -.25 <a< .50? x* Así, para e= Otenemos una solución¡ si f. cambia a cualquier valor positivo por pequeño que sea, se tiene una solución distinta. b) Sea X*(e) la región factible óptima del problema para un valor específico de c. Es fácil comprobar que las soluciones para este problema son l. Si CAPITULO 3. DUALIDAD Y ANALISIS DE SENSIBILIDAD ~ 7000, X2 ~ 10000 - Limitación de tiempo de máquina. Observemos que x¡/50 será el número de horas utilizadas para fabricar x 1 unidades del artículo A. Análogamente, para B. Por tanto, la restricción es Por tanto, si f. varía en un entorno de O, los cambios son drásticos en la solución del problema. O o, de fo;ma equivalente 18. Planificación de la producción con parametrización del beneficio o de un recurso. Un fabricante de tejidos posee una máquina que utiliza para la fabricación de diversos artículos. Para dos de ellos, denominados A y B, la máq~ina está disponible durante 170 horas al mes. La cadencia de fabricación del artículo A es de 50 po1· hora, y la del B de 80 por hora. Cada unidad de A proporciona un beneficio por venta de 3000 ptas y cada ~nidad de B 2000 ptas. Además, la capacidad de absorción del mercado es limitada: a lo sumo debemos fabricar 7000 artíC'ulos de A y 10000 de B. El fabricante muestm el deseo de maximizar el beneficio z. a) Formular un pograma lineal que dé Tespuesta a los deseos del fabricante. Resolverlo e interpretar su solución. b) Formular y resolver su problema dual. e) Supongamos que no se estuviera seguro del beneficio unitario de A. Se de· seará investigar la solución óptima para un beneficio igual a 3000(1 + >.), para - 1 < A < oo. Representar la función z*(>.). 80x1 +50x2 ~ 680000. El objetivo es de la forma de maximización y representa el beneficio z = 3000x¡ + 2000x2. Simplificando y pasando al formato estándar, queda el programa lineal con la función objetivo en miles de ptas max z = 3x¡ s.a + 2x2 + Ox3 + Ox4 + Ox5 X¡+ X3 = 7 X2 + X4 = 10 8x¡ +Sx2 + xs = 68 X ¡ 1 X2,X3 1 X4 1 X5? 0 con x3, X4, xs variables de holgura. Aplicando el método del símplex, se alcanza la tabla final en tres iteraciones t88 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS Cj 3 2 o o o CB VB X¡ xz X3 X4 Xs 3 X¡ 1 o X3 2 xz o o o o 1 o 1 o o o o Zj - Cj @RA-M_A XB 9/4 -5/8 1/8 5/8 -1/8 19/4 10 o 1 3/8 107/4 1/8 CAPITULO 3. DUALIDAD Y ANALISIS DE SENSIBILIDAD 189 por 400 y, como en los anteriores, al tratarse de un objetivo en miles de ptas, multiplicar por 1000. Así, · Ya = J(zs- es)+ CsJ X1000 X400 = ~~ +oi'X 400000 = 150000. e) La función objetivo parametrizada, en miles de ptas, es La solución óptima consiste en fabricar x1 = (9/4) x 1000 =2250 unidades del artículo A x 2 = 10 x 1000 = 10000 unidades del artículo B. Además, tenemos que x3 = (19/4) x 1000 = 4750 unidades de A respecto de las 7000, que no se fabrican. Observemos que se fabrica el máximo posible del artículo B (x: = O) y se consume en el P.roceso de fabricación todo el tiempo disponible (x5 = 0). El beneficio óptimo es z* = {107 /4) x 1000 x 1000 = 26750000 ptas. Podemos obtener también el beneficio por hora para ambos artículos - para A, 50 x 3000 = 150000 ptas/hora - para B es 80 x 2000 = 160000 ptas/hora es pues más interesante fabricar artículos del tipo B. Damos prioridad a la fabricación de B (10000 unidades) que consume 125 horas de máquina y sobran todavía 170 - 125 = 45 horas que se dedican a producir el artículo A. b) El dual en forma simétrica de minimización es min w s.a = 7000y1 + 10000y2 + 68000y3 Yt + 8y3 ~ 3000 Y2 + Sy3 ~ 2000 y¡,y2, Y3 ~O De la tabla óptima del primal obtenemos los valores óptimos de las variables duales de decisión o precios sombra de las tres restricciones primates: Yi = J(z3 - c3) + c3l x 1000 = JO+ Ol x 1000 =O Y2 = J(z4- C4) + c4J X 1000 = lk + 01X 1000 = 125. Para la tercera variable dual y3 , observemos primero que el recurso original era 170, qq.e posteriormente multiplicamos por 4000 obteniendo 680000, para luego dividir toda la restricción por 10. Por tanto, debemos multiplicar l(zs- es)+ csl max z = 3{1 + >.)x 1 + 2x2 = (3 + 3>.)x¡ + 2x2 La tabla inicial del problema parametrizado se obtiene de la tabla óptima final, >.=O, añadiendo la función objetivo parametrizada. Observemos que el vector de variaciones del parámetro >. en el objetivo del problema en el formato estándar, es c0 = (3, O, O, O, O). Tenemos así la tabla Cj 3 3 o o 2 o VB X¡ xz xa X¡ 1 e~ el CB 3 3 o o o 2 X3 xz Zj - Cj >. o o o o X4 xs XB -5/8 1/8 9/4 5/8 -1/8 19/4 1 o 10 1/8 3/8 107/4 -15/8 3/8 27/4 o o o o 1 o 1 o o o -o o o o Imponemos a esta tabla las condiciones de optimalidad, que nos lleva a las inecuaciones en >. 1 15 3 3 --->.>0 -+->.>o 8 8 - , 8 8 proporcionando el intervalo de optimalidad >.E [-1, 1/15]. Puesto que tenemos que estudiar el intervalo -1 < >. < oo, sustituimos >.= 1/15 en la fila indicador de la tabla anterior y aplicamos el método del simplex primal tomando como variable de entrada en la base aquella cuyo indicador pasa a degenerado, x 4 • La de salida es X3 y el pivote y24 = 5/8. Una transformación de pivote lleva a la tabla 3 3 o Cj 2 o o o o o o xz X3 X4 Xs cj e~ CB VB X¡ 3 3 X¡ 1 o o o 2 X4 X2 Zj - Cj >. o o o o 1 o o o o 1 o 8/5 -8/5 -1/5 3 1 o o o o XB 7 -1/5 38/5 1/5 12/5 2/5 129/5 o 21 190 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS @RA-M~ Imponemos a esta nueva tabla las condiciones de optimalidad obteniendo la inecuación en A 1 -- +3A 5 CAPITULO 3. DUALIDAD Y ANALISIS DE SENSIBILIDAD la tabla es ->o que proporciona el intervalo de optimalidad A E [1/15, oo). Por tanto, la solución óptima para el recorrido deseado se resume en la tabla Recorrido de A Solución óptima x• Valor óptimo z•(A) - 1 ~A~ 1/15 1/15 < >. < oo (9/4,10, 19/4,0,0) (7,12/5,0,38/5,0) 107/4 + (27/4}A 129/5 + 21A 191 e; VB 3 2 o o o CB X¡ X2 X3 X4 xs 3 X¡ 1 X3 X2 1/8 - 1/8 2 - 5/8 5/8 1 1/8 o z;- e; o o o o 1 o 1 o o o o o 3/80 XB a 17/2 9/4 19/4 - 17/2 10 o 107/4 51/2 Imponiendo la condición de factibilidad primal a la tabla, tenemos el conjunto de inecuaciones lineales en a 9 17 19 17 -+-a> o -4 --a>O 2 - La representación gráfica de z• ().) es 4 2 - ' proporcionando el recorrido de optimalidad a E [-18/68, 38/68] ~ [- .26, .55] , que contiene el propuesto en el enunciado. Así, la base óptima para ci = O, lo seguirá. siendo para -.25 <a< .50, siendo la solución óptima z• 10 - 1 1 15 con d) Corresponde a una parametrización de la tercera restricción, que toma la forma • ' 107 4 51 2 z =-+-a. o y es equivalente a 8x¡ + Sx2 :S 68 + 68a. La tabla inicial del programa parametrizado se obtiene de la tabla óptima final (a = 0), añadiendo el vector de constantes parametrizado y teniendo en cuenta que el vector de variaciones es b0 = (0, O, 68). Como y zo = (3, o, 2) ( 17/2 ) -1;/2 = 51 2 CAPITULO 4 TRANSPORTE Y ASIGNACION Este capítulo trata dos aplicaciones especiales de la programación lineal: los problemas de transporte y de asignación. En su formulación inicial, el problema de transporte estudia la distribución de un producto homogéneo desde un conjunto de fábricas a un conjunto de almacenes o puntos de venta, de modo que se satisfagan las demandas de los almacenes y no se superen las disponibilidades de las fábricas, con coste mínimo. El modelo de transporte tiene notable interés por sus importantes aplicaciones que, como se verá en varios ejercicios, no se restringe únicamente a la distribución de mercancías. Su procedimiento específico de solución, llamado algoritmo de transporte, consta. de dos fases y es rápido y eficiente. El capítulb comienza con el estudio de algunos de los procedimientos para llevar a cabo la primera fase, que consiste en obtener una solución factible inicial. En concreto, se estudian los métodos de la esquina noroeste (MEN), de Vogel y ·de coste mínimo. Pard entrar en la segunda fase, esta solución inicial debe ser no degenerada¡ si lo fbera, se puede utilizar el procedimiento de f.-posiciones para convertirla en no degenerada. Se pasa después a la segunda fase, en la que se comprueba si la solución obtenida en la fase primera es óptima, y si no lo es, cómo mejorarla. Los dos métodos más utilizados son los de stepping-stone y MODI (distribución modificada, también denominado u-v). Aunque el primero es más intuitivo, el segundo es computacionalmente más eficiente. Por ello, se ilustrará el método de stepping-stoue con un ejercicio y, en el resto de ellos, utilizaremos el MODI. Se considerará la modelización con varios problemas de distribución, planificación de la producción, planificación de recursos, ... y la generalización denominada modelo de transbordo. Este problema se puede resolver 194 ..1, '¡ \ .. ~ t 1 ..J"1 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS reconvirtiéndolo en un problema de transporte, tabla de transporte extendida o de transbordo, o bien calculando previamente los caminos extremos y aplicando después el modelo de transporte. Como el algoritmo de transporte es de la forma de minimización, se muestra la resolución de problemas de transporte de la forma de maximización. Además, se ilustra el análisis de sensibilidad discreto para un problema de transporte. Finalmente, se aplica el algoritmo de transporte con tiempo mínimo, un algoritmo que resuelve el problema enunciado, con tiempos en lugar de costes. La segunda parte del capítulo se dedica al problema de asignación. Este modelo permite determinar la asignación óptima de individuos o máquinas a tareas con coste mínimo y es un caso particular del de transporte; pero, aunque puede resolverse con el algoritmo correspondiente, resulta más eficiente su resolución mediante un algoritmo específico conocido como método húngaro. Los primeros ejercicios ilustran la resolución del problema de asignación. Se comienza con un ejercicio que se resolverá mediante enumeración, mediante un programa entero, con el algoritmo de transporte y con el método húngaro, permitiendo una comparación entre los distintos métodos. Se consideran, además, el problema de asignación generalizada y el de emparejamiento. En el primero, se podrá asignar un individuo a más de una tarea y, en el segundo, se trata de asignarle a una única tarea que le sea factible, sin tener en cuenta costes. Además, se considerarán problemas no equilibrados, es decir, con número desigual de individuos que de tareas, y también, ya que el método húngaro es un algoritmo de minimización, el caso de problemas de asignación de la forma de ma.ximización. r: EJERCI CI OS r ~ 1,• " CAPITULO 4. TRANSPORTE Y ASIGNACION 195 donde los elementos interiores representan costes, se desea determinar una solución inicial básica factible y su coste asociado con: a) El MEN. b) El método de Vogel. e) El método del coste mínimo. d) Comentar la calidad relativa de las soluciones obtenidas en los apartados anteriores. Solución Como la disponibilidad total es de 150 y la demanda total de 130, el problema no es equilibrado. Para equilibrarlo, introducimos un destino ficticio (columna F) con demanda 150 - 130 = 20 y costes nulos en las posiciones de su columna. Tenemos, entonces, la tabla 1 2 3 F Disp. A 45 B 25 e 50 D Dem. 30 l. Solución inicial en una tabla de transporte. Dada la tabla de transporte 1 2 3 Disp. A í8 19 í6 45 B í5 17 f4 25 e í3 15 í7 50 [8 30 D Dem. í7 40 60 í5 30 a) El l'viEN comienza tomando la posición de la tablá situada más al noroeste, (A, 1) y situando en ella el máximo número posible de unidades, que será el mínimo entre la disponibilidad del origen A y la demanda del destino l. En este caso, XA t = min{45,40) = 40. A continuación, se reducen, en ese valor asignado, la disponibilidad de A y la demanda de l. Se obtiene así la tabla 196 CAPITULO 4. TRANSPOIITE Y ASIGNACION PROGRAMACION' LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS 2 l 3 2 Disp. F 5 B B J5 í7 í4 ro ro 25 e e í3 15 [7 [Jl 50 ro 30 A 40 18 19 [6 í7 í8 í5 o 60 30 D Dem. 20 D Dem. ~ 1' F A J9 [6 B í7 í4 e [5 í7 ro ro ro ro 20 • 1 D J• ¡: • [ Dem. f8 15 60 30 Disp. 5 30 Repetimos el procedimiento con esta tabla. Ahora, la esquina noroeste corresponde a la (A, 2). El número de unidades que asignamos a esta posición es XA2 = min (5, 60) = 5. Una vez reducidas la disponibilidad de A y la demanda de 2, se obtiene 2 3 F í6 25 Disp. B í7 í4 ro ro e 15 ro 50 ro 30 A D Dem. 5f9 17 f8 J5 55 30 o 20 Prescindiendo de la fila A, que ha quedado satisfecha al convertirse en nula su disponibilidad, tenemos la nueva tabla reducida con la asignación xa2 ~ 25 ro o í5 17 ro 50 ro 30 f8 15 30 20 30 2 40 f8 [5 25 í7 e 13 D Dem. [7 40 3 30 F ro ro ro í6 519 B 25 50 í4 1 A 3 F Prescindiendo de la fila B, ya que queda satisfecha, y reiterando el procedimiento, tenemos la solución básica factible que mostramos en la tabla de la que se elimina la fila y/o columna que quede satisfecha. En este caso, la · columna 1 pasa a tener demanda O, así que la eliminamos, teniendo ahora la tabla reducida y con bordes (disponibilidades y demandas) revisados, 2 Disp. 3 2517 197 45 •' f4 1-5 20 rs 10¡5 20 60 Disp. f7 30 ro 25 50 30 20 Esta solución es no degenerada, ya que el número de posiciones básicas es 7 igual al número máximo posible que es m+ n -1 = 4 + 4- 1 = 7, donde m= número de filas y n = número de columnas de la tabla de transporté equilibrada, de posiciones básicas que puede tener una solución básica factible. El coste asociado a esta solución es e = 40 . 8 + 5 . g + 25 . 1 + 30 . 5 + 20 . 1 + 10 . 5 + 20 . o= 880. b) El méto~o de Vogel comienza. determinando las penalizaciones de fila (P F¡) y columna (PCj), obtenidas como el valor absoluto de la diferencia entre los dos costes menores de cada fila y cada columna, respectivamente. Situamos estos valores a la derecha y en la parte inferior de la tabla, obteniendo la tabla ampliada 198 PROGRAMACCON IANEAL Y APLCCACCONES: EJERCICIOS RESUELTOS Disp. PF¡ ro 45 6• f4 rr 25 4 [7 ro 50 3 f8 f5 IT 30 5 1 2 A rs f9 f6 B rs [7 e í3 rs D [7 40 2 Dem. Pei 3 F 30 60 2 20 o 1 1 2 3 rs f9 f6 F 20 ro [4" ro 25 e í3 rs f7 ro 50 D í1 í8 rs oro 30 30 40 60 Eliminamos la fila yJo columna que haya quedado satisfecha, que en este caso es la columna F, y repetimos el proceso con la tabla reducida y sus bordes revisados. Las penalizaciones son ahora 2 Disp. PF¡ 25 2 B f8 f9 í6 rs í7 [4" 25 1 e [3 15 f7 50 2 D [7 rs rs 60 30 30 2 1 A Dem. Pei 40 2 2' 3 1 B e í3 50 í1 D De m. 40 3 Disp. f9 f6 25 f7 f4 25 f5 f7 í8 rs o 10 30 30 Eliminamos la fila C. La nueva tabla reducida, con las penalizaciones, es 2 3 í9 í7 1 rs rs A 25 í1 2 rs rs Disp. rs 199 y la mayor es 2. Como hay empate, lo rompemos arbitrariamente y tomamos, por ejemplo, la columna 2. En esta columna, el menor coste es 5, que corresponde a la posición (e, 2) . Hacemos XC2 = min {50, 60) =50 y reducimos la disponibilidad de e y la demanda de 2 en tal número de unidades A B Dem. CAPITULO 4. TRANSPORTE Y ASIGNACION 1 A continuac.ión, consideramos la mayor penalización entre filas y columnas, que es 6 (marcada con un asterisco) y corresponde a la fila A. Elegimos la posición de menor coste en esa fila, que es la (A, F), y situamos en ella el mayor número posible de unidad~s dado por XAF =min (45, 20) = 20. Reduciendo la disponibilidad de la fila A y la demanda de la columna F en ese valor, tenemos la tabla A 1 ©RA-MA B 17 D Dem. Pe; Disp. RF¡ 16 25 2 f4 25 1 rs 3o30rs 30 2' 40 10 2 1 , 1 Tomamos como mayor penalización la correspondiente a la fila D, pues hay empates. En ella, la posición de menor coste es {D, 3). Hacemos XDJ = min {30,30) = 30 y reducimos la disponibilidad de D y la demanda de 3 en ese valor. Esto nos lleva a eliminar simultáneamente la fila D y la columna 3, indicación de degeneración en la solución iniciaL Continuando con el pro·cedimiento, llegamos a la 1 solución básica factible · 2 1 3 Fict. Disp. A 15 í8 B 2s rs e D Dem. 10 í9 16 20 ro 45 f7 [4" ro 25 rs í7 ro rs 3030rs 20ro 60 13 so 50 17 30 40 200 PROGRAMACION LLNEAL Y APLICACIONES: EJERCICIOS RESUELTOS ©RA-~ CAPITULO 4. TRANSPORTE Y ASIGNACION e = 1s .8+ 10 . 9+ 20 . o+ 2s . s+ so . s+ 30 . s = 735. e) El método del coste mínimo asigna el mayor número posible de unidades a la posición de menor coste, eliminando la fila y/o columna•que quede satisfecha, y repite el proceso hasta elimipar todas las filas y columnas. En nuestra tabla, el menor coste es O, que corresponde a todas las posiciones de la columna F. Elegimos una arbitrariamente, por ejemplo, la posición (A, F) , y el mayor número de unidades que podemos asignarle es XAF = min (45, 20) = 20. Reducimos la disponibilidad de la fila A y la demanda de la columna F en ese número de unidades y tenemos la tabla 2 1 3 í8 19 í6 B í5 rT 14 25 ,e 4013 rs í7 10 D Dem. o í7 f8 í5 3~ 2 B í7 14 25 15 í7 10 rs 30 f5 í7 í4 ro 25 e e 13 rs ro 50 ro D Dem. 30 í7 f8 40 60 rs o 30 .. 2 3 Disp. 18 60 30 , 2 1 3 í9 f4 ro 25 í7 ro ro B 15 í7 í3 wrs í7 25 f8 515 60 30 í6 f8 19 f6 25 B f5 í7 í4 ¡.1 J rs e f3 í7 50 D í7 í8 í5 30 Dem. 40 . 60 e 25 D . 30 La posición de menor coste es (e, 1). Le asignamos xc 1 = min (50, 40) = 40. La tabla con la disponibilidad de la fila e y la demanda de la columna 1 reducidas en ese número de unidades es Dem. 40 40 25 20 = 25. Disp. 45 f8 25 F ro A 4 A . La posición de menor coste es (B, 3) . Le asignamos xs3 = min (25, 30) Continuando con el procedimiento, se llega a la solución dada en ~a tabla Eliminamos la columna F, que ha qqedado satisfecha. La nueva tabla reducida con bordes revisados es 1 Disp. 3 '¡ g í6 25 B D 30 A f8 19 í6 20 ro 25 Dem. 60 25 y eliminando la columna 1, ya satisfecha, se obtiene la tabla reducida A í7 Disp. 3 A Disp. F 2 1 que es degenerada, ya que tiene 6 posiciones básicas, una menos que. el número máximo que es 7. El coste asociado es 201 50 30 20 que es no degenerada, ya que tiene 7 posiciones básicas. El coste asociado es e =2s . 9+ 20 . o+ 2s .4 + 40 . 3 + 10 . 5 + 2s . 8 + s.5 = 120. d) L~s métodos de Vogel y de coste mínimo han proporcionado una solución inicial básica factible bastante mejor que el MEN. En general, esto era de esperar, ya ~í' l ¡, CAPITULO 4. TRANSPORTE Y ASIGNACION ~20!:.2__....!:P~R~O~G~RAc.!!M::!.!A~C~IO~N~Ll!.!.:N~E~A~L....!.Y~AP~L~IC~A~ C~IO!.!:N~E~S::....!E~J~ER~C~l~C~IO~ S..!R~ES~U !:!.!E~L:!.!T~0:2.S-~©:L!RA~-~ que el MEN distribuye las utúdades en la tabla de transporte sin tener en cuenta los costes, mientras que los otros dos métodos tienen una lógica basada en ellos.. o Consideramos inicialmente la posición no básica (1, 2). La tabla muestra el ciclo construido para ella, con el efecto sobre el objetivo debido aJ incremento de una unidad para las posiciones con designación o+ y la disminución de una unidad para las posiciones con designación y el coste relativo a12· o-, 2. Mejora de la solución inicial: método de stepping-stone. Dada la 2 rs fu 1 19 rsí12 íT 2 3 De m. 500 400 4 3 Disp. f5 17 í6 fll 700 rs lOO 100 400 110 Solución 1 4oo rs 2 100 19 3 Dem. [12 500 rs fll 400 rsíT 400 4 3 100 f7 D"lsp. 400 í6 100 í8 100 110 100 200 100 -8 +9 -5 7 Posición (i,j) (1, 2) (1, 3) Coste relativo (1,4) -3 (3, 1) (3, 2) (3, 3) o La disponibilidad total (1200) coincide con la demanda total, por lo que el problema es equilibrado. Determinamos la solución inicial básica factible con el MEN. Esta es 2 +11 Procediendo de modo análogo con el resto de las posiciones no básicas,yodemos determinar los demás costes relativos 200 obtener la solución óptima con el método st~pping-stone a partir de la solución inicial obtenida con el MEN. 1 Efecto sobre el obj~tivo Posición Designación o (i, j) o+ (1, 2) o(1, 1) o+ (2, 1) o(2, 2) o+. (1, 2) Coste relativo tabla de transporte 1 203 7 o -1 3 Situamos éstos sobre los costes de transporte por unidad dentro de la tabla. Se obtiene así 2 1 fll 700 con coste C = 8800. Esta solución inicial es no degenerada, pues tiene 6 posi· ciones básicas. Podemos, entonces, comenzar el procedimiento de stepping-ston~ calculando primero el coste relativo Oij de cada posición no básica a partir de la construcción de un ciclo para cada una (un ciclo para una posición no básica es un camino que comienza y termina en la posición no básica elegida, formado por segmentos alternativamente verticales y horizontales, o viceversa, con extremos en posiciones básicas. Se designarán alternativamente las posiciones del ciclo con o+ y o- 1 comenzando con o+ en la posición no básica de partida). O:ij 1 4oo rs 2 100 ·¡g- 400 rso 4 3 De m. [12 500 o rs fll 1 ~ í4 400 4 3 7 100 í6 3 rs 100 Disp. -3 " r-7 400 íi"l 700 100 100. [10 lOO 200 Si todos los costes relativos fueran no negativos, la solución actual sería óptima. No éste el caso. Tomamos la posición con coste relativo más negativo, la única en este caso es (1, 4), con a: 14 = -3. Generamos a continuación una nueva solución determinando previamente, a partir del ciclo construido para la posición (1, 4), que es es 204 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS Posición (í, j) Valor de Designación 1 o o+ oo+ o- Xij (1,4) (1, 1) (2, 1) (2,4) CAPITULO 4. TRANSPOR'l'E Y ASIGNACION 400 lOO lOO 200.1"'8 1 2 4 = min{400, 100} = 100. Esta cantidad es el mayor valor que se puede asignar a la posición (1,4) . Se modifica la solución actual, sumándola a las posiciones del ciclo con designación e+1 restándola a aquellas con designación e- y permaneciendo igual los valores del resto de las variables. Así, la nueva solución, con los nuevos costes relativos, es 2 1 3 Disp. 4 o 7 1 3oo rs fll rs 100¡7 400 2 200 f9""" 40015 100 16 liT 1 3 Dem. 112 500 -3 14 400 rs 700 100 .f10 100 200 Sigue siendo no degenerada, ya que tiene de nuevo 6 posiciones básicas. El coste asociado será de = 8800+ (-3) x 100 = 8500, como puede también comprobarse de forma directa a partir de la tabla. Ahora, el coste relativo más negativo (y único) corresponde a la posición (3, 2), con a32 = -3. El ciclo para esa posición es e Posición (i, j) (3,2) (3,4) (1,4) (1,1) (2,1) (2,2) Valor de x;z lOO 100 300 200 4QO lil li2 500 100 ¡;¡400 200 17 f8 400 3 fll 3 100 Disp. 700 3 í10 lOO 200 Esta tabla contiene, además, los nuevos costes relativos. Como todos son no negativos, el procedimiento termina al haberse alcanzado la solución óptima, Esta es xi 1 = 200, xi4 = 200, x2 1 = 300, x22 = 300, x26 = 100, x3 2 = 100 con coste e· = 8200. Finalmente, observemos que en esta tabla final la posición no básica (1 , 3) tiene coste relativo a 13 = O, lo que significa que existen óptimos alternativos. El lector puede calcularlo a partir del ciclo para esa posición. O 3 o 100 o fT 300 1"9 300 15 100 f6 3 Dem. o- 4 3 7 la cantidad p = min{xi;} 2 205 Designación 8 o+ ee+ ee+ e- La cantidad p = min {100,300,400} = 100, y la nueva solución, que permanece no degenerada, es 3. Una solución inicial degenerada y la ~ignación de e-posiciones. Dada la tabla de transporte 1 2 3 1 16 rs 17 12 2 í3 18 16 18 3 í9 í2 16 16 rs 15 4 Dem. í4 12 34 17 Disp. 15 o.btener una solución básica factible con el MEN. Si es degenerada, tmnsformarla en no degenerada añadiendo un número conveniente de e-posiciones. Solución La disponibilidad y la demanda totales valen 61. Por tanto, el problema es equilibrado. La solución básica factible inicial con el MEN es (no considerar los valores e) \ fi 1 206 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS eí5 17 12 rs 16 18 16 í2 !16 16 1 1216 2 13 18 3 19 ]4 4 Dem. rs 34 12 Disp. 3 2 1 @RA-MA 15 1517 15 Tal solución tiene 4 posiciones básicas distintas de cero. El número máximo posible de posiciones básicas (no nulas)1 que puede tener esta tabla es m+ n1 = 4 + 3 - l = 6, así que para completar hasta este valor, hay que añadir 2 €- posiciones: asignaremos la cantidad infinitesimal positiva E a dos posiciones independientes (una posición es independiente si es no básica y no es posible construir un ciclo con ella) . Se comprueba que no es posible construir ciclo alguno para ninguna de las posiciones vacías. Elegimos de forma arbitraria las posiciones (1, 2) y (3, 3) como €-posiciones, situando E en ellas. Evidentemente, ahora, al existir 6 posiciones básicas la solución ya no es degenerada. o 4. Mejora de la solución inicial: método MODL Dada la tabla de transporte 1 2 3 Disp. 1 ]4 13 rs 8 2 í2 13 16 5 13 íl 12 6 3 De m. 8 3 9 determinar la solución óptima con el método MODI a partir de la solución inicial obtenida por el procedimiento: a) MEN b) de Vogel CAPITULO 4. TRANSPORTE Y ASIGNACION. 207 Solución a) La disponibilidad total es 19, menor que 20, la demanda total. El problema no es equilibrado. Añadimos un origen ficticio (F) con disponibilidad 20- 19 = 1, que proporciona el exceso de demanda, con costes O en las posiciones de esta nueva fila. La solución básica factible inicial con el MEN es 1 2 3 F Dem. 3 Disp. 1 2 8f4 e l3 rs 8 12 313 f3 11 2 16 5 6 fT 6 l íO 1 ro 3ro 8 9 Tal solución tiene 5 posiciones básicas, si prescindimos por el momento del E que aparece en la posición (1, 2), siendo el máximo posible m+ n - 1 = 4 + 3 - 1 = 6. Hay que añadir una ~:- posición. Las posiciones independientes son (1,2), (1,3), (2,1), (3,1) y (F,1) . Elegimos de forma arbitraria la posición (1, 2) como ~:- posición, como aparece en la tabla anterior. Al haber convertido la solución inicial en no degenerada, podemos aplicar el método MODI, para saber si tal solución es óptima o, si no lo es, mejorarla. Comenzamos calculando los números MODI de fila (Si, i = 1, 2, 3, F) y columna (Tj, j = 1, 2, 3) con la condición donde los O:ij son los indicadores, o costes relativos, de )as variables Xij, con un significado análogo al de los indicadores en el método del simplex; observemos que S¡ = - ui y Tj = -vj, donde u¡ y Vj son los valores de las variables duales del problema de transporte en formato estándar. De la condición anterior, tenemos el si~tema de 6 ecuaciones lineales con 7 incógnitas, compatible indeterminado, 81 +Tt + 4 = O, S2+T3 +6 =O, St + T2 + 3=0, S3 + T3 + 2 =O, S2 +T2 + 3 =O Sp+T3+0=0 Tomando arbitrariamente la variable 5 1 y haciéndola, por ejemplo, igual a O, se tiene la solución que aparece en la columna de la derecha, bajo Si, y en la fila inferior, a la derecha de Tj , de la tabla 208 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS Disp. S¡ ef"3 IT 8 o 2_([ 5 o 6¡2 6 4 1_!I 1 6 2 1 3 -1 1 8_[4 -2 *_[2 2 3¡3 2 F Dem. Ti 209 Para esta tabla, calculamos los números MODI de fi la y columna a partir del sistema St +T2 + 3 =O, + T3 + 2 =o, S¡ +Tt +4 =O, S2 +T1 +2 =O Sp+T3+0=0 s3 s2 +T3 + 6 =o, 2 3 13 íT 3 CAPITULO 4. TRANSPORTE Y ASIGNACION y los indicadores aij de las posiciones no básicas, que podemos ver en la tabla 3 rr 8 3 9 -4 -3 -6 IT 2 1 Disp. S; 3 - 3¡ 1 *r5 8 o 2[6 5 2 í1 6fT 6 6 1 8 5[4 3+e ¡:3 2 Calculamos los indicadores de las variables o posiciones no básicas a partir de la relación aij = S¡ +Tj + C¡j V(i, j) no básica que también aparecen en la tabla (números sobre los costes) . Puesto que existen indicadores negativos, es posible la mejora de la solución actual. Elegimos el más negativo, que corresponde a la posición (2,1), marcada con *, con a21 = - 2 y construimos un ciclo para ella (ver Ejercicio 4.2). Este es Posición (i,j) (2,1) (1, 1) (1, 2) (2, 2) Valor de Designación e e+ Xjj 2 5 € 3 4 o- = min{8, 3} = 3. La nueva solución (ver Ejercicio 4.2, para redistribución de unidades a partir del ciclo), que se mantiene no degenerada, es ro F Dem. Ti 8 -4 2 3 Posición (i, j) (1, 3) (1, 1) (2, 1) (2,3) í3 15 8 2 3["2 [3 2¡6 5 3 j3 fT 6[2 6 F ro 8 2 Dem. ¡'1 9 1[0 9 -8 Valor de Designación e e+ e- X¡j 5 3 2 e+ e- con valor p = min {5,2} = 2. La nueva solución, que es no degenerada, junto con los números MODI e indicadores, se muestra en la t~bla 1 5[4 3+e ro 3 ro 2 3 Disp. S¡ 8 o Disp. 1 líO 3 -3 Existe un indicador negativo, así que aún es posible la mejora. Este corresponde = -3. El ciclo para esta posición es 1 1 5 a la posición (1, 3), con a 13 con valor p = min {Xij} 4 fT 3 ee+ e- 8 í3 3j2 5¡2 í3 F ro 8 -4 2 3 [3 16 5 2 11 6fT 6 3 1 5 2 1 Dem. Ti í3 215 1 2 3 1 3[4 3+e 3 -3 ro 1f0 9 -5 210 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS @RA-~!A CAPITULO 4. TRANSPORTE Y ASIGNAClON Puesto que todos los indicadores son no negativos, se ha alcanzado la optimalidad. Hacemos entonces € =Oy la solución óptima es X *11 -- 3' X¡2.• - 3> X¡3• - 2' • X21 • =5' X33• =61 Xp3 a) Modelizarlo como un programa lineal. b) Considerar la solución consistente en enviar: 25 t de Badajoz a Madrid, l O t de Badajoz a Bilbao, 25 t de Cáceres a Barcelona, 5 t de Jaén a Madrid y 15 t de Jaén a Barcelona con coste z* = 1010000 ptas. ¿Se puede mejorar? =1 con coste e• =53. Observemos que el óptimo es único, pues todos los indicadores de las posiciones no básicas son positivos. e) Justificar la existencia de soluciones óptimas alternativas. Calcular una de ellas. b) La solución básica factible inicial obtenida con el método de Vogel se tiene en la tabla. 1 1 2 2 3 S; 8 o 3r;l 3í3 2f5 5[2'" 2 3 fT í6 5 2 6fT 6 3 1['0 9 -5 1 5 2 1 3 fT íT F ro ro 8 3 1 Dem. Ti Disp. -4 d) ¿Es degenerada la solución óptima obtenida? Solución a) Sean las variables de decisión Xij = t de aceite enviadas del origen i al destino j con i = 1 (Badajoz), 2 (Cáceres), 3 (Jaén) { j = 1 (Madrid), 2 {Barcelona), 3 {Valencia), 4 (Bilbao) 2 -3 Una vez equilibrado, el programa lineal con la función objetivo en miles de pta.s se formula mio e= 10xu + 15Xt2 + 20Xt3 + 9X¡.¡ + 6x21 + 7X22 + 10x23 + 15X24+ +15X31 + 20X32 + 25X33 + 30X34 Es no degenerada y se puede aplicar el método MODI. La tabla contiene tales números y los indicadores de las variables no básicas. Todos son no negativos y, por tanto, esta solución inicial es óptima y, obviamente, coincide con la anterior. s.a + Xt2 + X¡3 + X¡4 ~ 35, ' X3t + X32 + X33 + X34 ~ 20, "> XL1 o 5. Distribución de una mercancía. Una empresa dedicada a la distribución de aceite de oliva debe enviar 30 t a Madrid, 40 a Barcelona, 20 a Valencia y 10 a Bilbao. Esta empresa se suministra en Badajoz, Cáceres y Jaén, cuyas disponibilidades son de 35, 25 y 20 t, respectivamente. Los costes (en miles de ptas) de envío de una t de los lugares de producción a los destinos son Badajoz Cáceres Jaén Barcelona 10 6 15 15 Valencia 20 7 10 20 25 Bilbao 9 15 30 Por cada t no recibida en los puntos de destino, la empresa tiene unas pérdidas de 5.000, 8.000, 6.000 y 4.000 ptas, respectivamente. La empresa desea minimizar el coste total de la distribución de la mercancía. X21 + X22 + X23 + X24 ~ 25 X12 + xn + X32 ~ 40 X¡4 +X2.t +x34 ~ 10 X¡¡+ X21 + X31 ~ 30, 'r X¡3 + X23 + X33 ~ 20, ¡; Xij ~ 0, i,j = 1,2,3,4 b) La tabla de transporte equilibrada, a la que hemoa añadido un origen ficticio = 4 con disponibilidad 10, con la solución propuesta. es i 1 Madrid 211 1 2 3 25 Disp. 35 25 2 3 4 20 5 20 4 Dem. & ! 212 PROGRAMACTO!'\ LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS Observemos que es una solución básica factible degenerada, ya que m+ n - 1 :::: 4 + 4- 1 = 7, pero sólo tiene 6 posiciones básicas. Añadimos una €-posición a la localización independiente (2, 3) para convertir la solución actual en ~o degenerada y poder determinar si es óptima o no. Calculamos los números MODI de fila y columna a partir de la condición que proporciona el sistema St +T4 +9 =O, S2+T2 +7 =O s3 +T2 +20 =o s3 + T¡ + 15 = o, Tomando arbitrariamente la variable S1 y haciéndola, por ejemplo, igual a O, se tienen los valores que aparecen en la tabla 1 2 3 o íW fl5 íW 4 2 í6 25 4 2 1"9 10 fl5 2 3 5fl5 15 f20 7 4 Dem. Ti o 25 8 f25 í30 20 -5 20 12 7 f8 40 - 15 35 16 5 ls 30 - 10 S; 14 €no í7 Disp. 2016 20 -18 14 10 -9 = min {25, 15} = 15. Sun1ando la cantidad a las l y dejando con sus valores actuales las que no están en el ciclo, se tiene la solución 1 10 2 S¡ +T1 + 10 = O, s2 + T3 + 10 = o, s4 + T3 + 6 =o. 25 el valor p = mino- {Xij} 213 ~riables del ciclo con designación o+ restándosela a aquellas con designación o- 1 o:ii =O= Si+ Ti+ Cij V(i,j) básica 1 CAPITULO 4. TRANSPOIITE Y ASIGNACION @RA-~ 3 4 Dem. 20 4 2 3 l2o 10¡9" Disp. liO 15 íT5 í6 25 í7 t:ílO 115 25 f25 f30 20 14 20 íT5 15 30 [20 rs 40 2016 20 35 10 comprobándose fácilmente que es óptima. Tal solución consiste en enviar 10 t de Badajoz a Madrid 15 t de Badajoz a Barcelona 10 t de Badajoz a Bilbao 25 t de Cáceres a Barcelona 20 t de Jaén a Madrid Observemos que las 20 t del origen ficticio (4) a Valencia representan una demanda no satisfecha. d) Sí es degenera.d.a, pues hay 6 posiciones básicas, número inferior al valor m+ n - 1 = 4 + 4 - 1 = 7 que debería haber para que no lo fuera. o Calculamos los indicadores de las variables no básicas a partir de la relación O:ij = S¡+ Tj +Cij V (i, j) no básica que también se recogen en la tabla. Como todos los val9res O:ij son no negativos, la solución propuesta es óptima y no es posible la. mejora. e) Existe un óptimo alternativo, ya que en la tabla final hay una variable no básica, Xt2, con indicador o:12 =O. Para obtenerlo, construimos un ciclo a partir de la posición (1, 2). Este es Posición (i,j) {1, 2) (1, 1) {3, 1) {3, 2) Valor de Xij 25 5 15 Designación e e+ eo+ o- 6. Planificación de la producción. Un fabricante de chips tiene que planificar la producción para los próximos tres meses. Los coste~ de producción por chip son de 10 ptas en los dos primeros meses y de 15 ptas en el tercero, ya que se ha previsto una subida de la materia prima para este último mes. El departamento de márketing ha llevado a cabo un estudio estimando que la demanda en los tres meses será de 300, 400 y 500 unidades, respectivamente. La fábrica puede producir a lo sumo 500 chips por mes. Además, puede hacer horas extra durante el primer mes, incrementando la producción mensual en 100 unidades, aunque el coste de producción se incrementa en 5 ptas por unidad. El exceso de producción se puede almacenar con coste de 3 ptasjmes. Se desea: a) Formular el problema de planificación de la producción como un modelo de transporte. 214 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS CAPITULO 4. TRANSPORTE Y AS!GNACION ©RA-MA b) Determinm· la solución inicial mediante el método de Vogel y resolver el problema. 1 e) Formular el problema como un programa lineal. 300 n.o 115 2 200 4 donde = 1 (mes 1), 2 (mes 1 en horas extra), 3 (mes 2), 4 (mes 3) = 1 (mes 1), 2 (mes 2), 3 (mes 3). Para construir el modelo de transporte consideramos una tabla de transporte con cuatro orígenes, correspondientes a los tres meses de producción en tiempo regular (1, 3,4) y a la producción en horas extra del primer mes (2). Los destinos serán los mismos tres meses considerándolos como periodos de venta. La tabla, con los correspondientes costes, es 2 3 (mes 1) (mes 2) (mes 3) Dem. Ti 100 o 1'"21 *lO 100 -5 rw 400 fl3 ro 500 3 ro 500 1 116 o Posición Valor de (i,j) Xij (2, 4) (2, 2) (3, 2) (3, 3) (4,3) (4,4) 100 (mes 1 extra) 500 500 Obsérvese que se recogen, además de los costes de producción, los de inventario. También hay posiciones "prohibidas", cuyo coste denotamos con M, que representa un valor muy grande en comparación con el resto de costes dados en el problema. Con esta asignación se penaliza la variable de esa posición para evitar que tome valor positivo. Por ejemplo, no tendría sentido un valor positivo de la variable x311 pues no es posible fabricar en el mes 2 y vender en el mes l. b) Equilibramos el problema con un ~estino ficticio j = 4 al que asignamos demanda 400. Obtenemos la solución inicial básica factible con ei método de Vogel, que aparece en la tabla siguiente y es no degenerada. Veamos si es óptima. Calculamos primero los números MODI de fila (Si) y columna (T;) y, a continuación, los valores indicadores (Cl.ij) de las posiciones no básicas obteniendo la tabla 100115 4oo 500 400 -16 -1 Como existen indicadores negativos no se ha alcanzado la optimalidad. La nueva solución se obtiene a partir de un ciclo construido desde la posición con valor indicador más negativo, que es la (2, 4), indicado con *, con C1.24 = -6. Un ciclo a part ir de esta posición, con las correspondientes designaciones 8, es 500 3 fJ\1 400 -13 -lO Disp. (mes 2) 4 (mes 3) Dem. -6 M fM 300 (mes 1) 2 500 ii"3 -1 2 M x¡; = producción en el mes i que se vende en el mes j 1 íM" 3 1 ro 4 o 100 [18 M a) Introducimos las variables de decisión j S¡ 3 o Solución i Disp. 2 1 215 Designación o o+ o(J+ oo+ o- 100 100 400 100 400 El valor p = min {100, 400, 400} = 100. La nueva solución se muestra en la tabla siguiente, que incluye también los números MODI y valores indicadores 1 300 liD 200 3 1M 200 liD M 4 Dem. Ti fM 300 -10 6 [21 100 [l8 M M 1M 400 -13 S¡ 500 o 100 1 ro 500 3 ro 500 1 -1 í16 *lo 6 115 Disp. 4 o [13 6 2 3 2 1 300 í13 ro 2 200 íi5 3oo 500 400 -16 -1 Existe aun un valor indicador negativo en la posición (1, 4) , con partir del ciclo de esta posición se tiene la nueva solución C1.14 = -l. A 216 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS CAPITULO 4. TRANSPORTE Y ASIGNACION 217 7. Maximización de beneficios y transbordo. Una firma que posee tres fábricas de discos situadas en París, Roma y Zurich, tiene que suministrarlos a tres puntos de venta-distribución situados en Madrid, Barcelona y Sevilla. Los cupos de producción de las fábricas para los centros de España y los costes de fabricación por unidad son Fábricas París Roma Zurich Cupos (en miles) 40 40 30 12 15 Coste/u (ptas) 10 Como tiene todos los indicadores no negativos hemos akaniado la optimalidad. La solución es xh = 300 (se fabrican 300 chips en el mes 1 y se venden ese mes) xi4 = 200 {capacidad de producción del mes 1 que no se utiliza) x24 = 100 (capacidad de producción extra del mes 1 que no se utiliza) x32 = 400 (se fabrican 400 chips en el mes 2 y se venden ese mes) x33 = 100 {se fabrican 100 chips en el mes 2 y se venden en el mes 3) x43 = 400 (se fabrican 400 chips en el mes 3 y se venden en ese mes) x44 = 100 (capacidad de producción del mes 3, que no se utiliza) con el resto de variables igual a cero. El coste mínimo es C* = 300 · 10 + 400 · 10 + 100 · 13 + 400 · 15 = 14300 ptas. e) El programa lineal (para el problema no equilibrado) que proporciona el coste mínimo (en miles de ptas) satisfaciendo las disponibilidades (restricciones 1 a 4) y demandas (restricciones 5 a 7) es min C = 10xu + 13Xt2 + 16Xt3 + 15X2t + 18xn+ +21X23 + 10X32 + 13X33 + 15X43 s.a + X ¡2 + X¡3 X2 1 + X22 + X23 Xu X32 ~ 500 ~ 100 + X33 ~ 500 500 + X21 ~ 300 X43 ~ X11 X¡2 + X22 + X32 ~ 400 X¡3 + X23 + X33 + X43 ~ 500 Xij ~ o, Vi, j Los costes de envío (en ptas) por unidad son Desde\A París Roma Z1.1.rich Madrid lO 14 12 Barcelona Sevilla 15 7 6 8 5 16 Si las demandas estimadas y precios de venta (en ptas) en los tres centros de distribución vienen dadas en la tabla Centros de v.-d. Demanda (en miles) Precio venta/u (ptas) Madrid Barcelona Sevilla 20 40 40 75 70 80 a) Formular un modelo de transporte para conocer cómo deben distribuirse los cupos de producción para que el beneficio sea máximo. b) Encontrar la solución óptima tomando como solución inicial la obtenida con el método de la esquina noroeste. ¿Hay soluciones óptimas alternativas? e) Se admite la posibilidad de que haya transbordo pudiendo, además, existir flujo de unidades París-Zurich y Madrid-Sevilla con costes 5 y 4 ptas, respectivamente. Dibujar la red asociada a este nuevo p1·oblema, así como la correspondiente tabla de transbordo, considerando únicamente costes de envío entre ciudades, suponiendo que, ahora, la demanda de Madrid es de 50000 unidades. Obtener la solución. Solución a) Consideramos las variables de decisión Xij = número de discos transportados desde el origen i al destino j 218 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS ©RA-M_A con i = P (París), R (Roma), Z (Zurich) y j = M (Madrid), B (Barcelona), S (Sevilla). Los beneficios netos b¡j (en ptas) por unida~ se calculan mediante ( Beneficio ) neto =( CAPITULO 4. TRANSPORTE Y ASIGNACION pasamos a la siguiente fase, en la que determinamos una solución inicial utilizando el MEN Precio ) _ ( Co~te ~~ ) _ ( Coste, de ) de venta fabncac10n envio M p 40 con valores Beneficio/u Madrid París 60 Roma 54 Zurich 53 . Barcelona Sevilla 53 50 52 58 44 47 Como conocemos las disponibilidades y las demandas, podemos construir la tabla de transporte ~..... M p i~· f60 ~~. [53 rso z [53 [47 ¡44 30 í58 40 es p R z Dem. B S ro 17 í10 f6 J8 í2 í7 í13 ITf 40 40 20 17 f6 40 J8 í7 fl3 40 40 ro í2 ro 20 fl6 wro 20 10 í10 S B M z que hay que maximizar, ya que se dispone en cada posición de beneficio por unidad. b) El algoritmo de transporte es típicamente de minimización, así que debemos transformar los elementos b¡i de la tabla anterior. Para ello, consideramos el mayor elemento, que es bn.r = 60, y hacemos la transformación Cij = 60 - b¡;, teniendo así un problema de minimización. Otra posibilidad es considerar la tabla con elementos -b¡i. Equilibramos la tabla, introduciendo un destino ficticio (F) con demanda 110- 100 = 10 y costes Oen todas las posiciones de su columna. La nueva tabla M ro Disp. F S 40 40 30 La tabla con la solución inicial básica factible no degenerada, los números MODI y los indicadores es R 20 40 B ro -1 F 17 no Ero - 14 40 la 16 *12 Ero 7 5 J7 fl3 20 fl6 10 ro 40 40 20 10 o -8 -16 o 40 Disp. S¡ -6 40 o 40 o 30 o 6 [54 [52 40 z Dem. p 40 R Dem. R Disp. S B 219 F ro ro [[ 10 Disp. 40 40 30 Dem. Ti Como existen valores indicadores negativos, es posible la mejora. Tomamos la posición no básica con el valor indicador más negativo, que corresponde a (R, S) con etRs = -14, y construimos un ciclo a partir de esa posición para la nueva distribución de las unidades. El ciclo es Posición Valor de (i, j ) (R,S) (R, F) (Z,F) (Z,S) Xij E 10 20 Designación o o+ oo+ e- con valor p = min {E, 20} = €. Redistribuimos las unidades a partir del ciclo sumando la cantidad p = E a las posiciones del ciclo con designación o+, restándosela a aquellas con designación y permaneciendo igual las variables de las posiciones de la tabla por las que no pasa el ciclo. La nueva solución, que es no degenerada, se muestra en la tabla que sigue, que contiene también los números MODI y los valores indicadores de las posiciones no básicas o- 220 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS M p 40 B [6 40 7 z 40 o ro 40 14 20 -€ [16 10 +e [O 20 10 -16 o 30 o no rs 12 t -9 í7 40 o Dem. Ti S; 113 40 -22 f lo 14 p p Observemos que existen indicadores negativos. Reiterando el procedimiento, en dos iteraciones se llega a la tabla final M p 40 B ro z Dem. Ti í7 t flO e í""8 20+2€ 12 [6 20 1 í7 40 o F 9 5 R S 9 fl3 20 40 -7 20 -1 í16 ro z flO loo 15 R roo no ro roo z í5 loo no ro 10!12 zo 40 [14 20 M 110 [14 112 no ro 40 o B 17 16 18 40 -1 30 -6 10 6 El beneficio máximo es 5540000 ptas. El óptimo es único, ya que todos los indicadores de posiciones no básicas son positivos. e) La figura muestra la red de transbordo del problema enunciado. B M S; Hacemos e =Oy la solución consiste en - enviar 40000 unidades de París a Madrid - enviar 20000 unidades de Roma a Barcelona - enviar 20000 unidades de Roma a Sevilla - enviar 20000 unidades de Zurich a Barcelona - no enviar un cupo de 10000 unidades disponible en Zurich Disp. no R Disp. 6 ro5 ro 10+2t ro 221 Al tratarse de todos los nodos de transbordo, la correspondiente tabla de transbordo tiene como orígenes los cinco nodos P, R, Z, M, B y S, que también son destinos. El problema está equilibrado, y la cantidad M =E Ooi = E bi = 110 representa el número máximo de unidades que puede transbordar por cada nodo. -6 *17 20 R Disp. -15 ro F S CAPITULO 4. TRANSPOFITE Y ASIGNACION S Dem. [15 110 í5 110 í16 110 17 16 rs roo loo 11010 14 160 loo 150 S Disp. fl5 150 20 í5 150 116 140 14 llO loo llO llOIQ llO 130 Observemos que en los bordes de la tabla de transbordo aparece la cantidad 110 que, además, esta sumada en las filas a las correspondientes disponibilidades en el caso de orígenes y en las columnas a las correspondientes demandas en el caso de destinos. Los costes en la diagonal principal son nulos, pues corresponden a envíos de unidades de un nodo a sí mismo. Los costes oo se han puesto en las posiciones para las que no existe una arista que una el correspondiente par de nodos. La tabla de transbordo muestra la solución básica factible inicial obtenida con el método de Vogel, que es no degenerada. En una iteración del algoritmo MODI se alcanza la optimalidad siendo la solución óptima · 222 PROGRAMACION LfNEAL Y APLICACIONES: EJERCICIOS RESUELTOS p p z R "no ro 00 roo fl4 rs M [10 fl4 14 12 16 17 16 18 ri 23 B S Dem. íl5 110 nora 23 21 10 í6 [12 30 18 23 00 150 fl6 8 110 loo llOIQ r* llO roo 100130íO 150 llO 10 116 1014 160 Solución Tenemos un problema de transbordo con Pi , i = 1, 2, orígenes puros, Vk , k = 1, 2, 3, 4, destinos puros y Cj, j = 1, 2, puntos de transbordo, como se represente¡. en la figura. 140 í4 00 llO 150 roo fl2 llOIQ 110 30 fl5 í5 9 l z 20 1· roo loo nora 4 5 00 30 80 20 con coste óptimo e• =890. Hay óptimos alternativos, ya que el indicador apB = O. La interpretación de la solución es que se envían 40000 10000 30000 30000 unidades de unidades de unidades de unidades de 223 La empresa desea distribuir toda la producción para la semana entrante sin mostrar preferencia por la utilización de un determinado centro de control o punto de venta, pues su interés reside en minimizar el coste global de transporte. ¿Cuál debe ser la distribución de las plantas a los puntos de venta? 9 17 40 [10 00 Disp. S o rs- loo 00 R B M 6 00 CAPITULO 4. TRANSPORTE Y ASlGNACION © RA·MA París a Madrid Roma a Barcelona Roma a Sevilla de las cuales 10000 se llevan a Madrid Zurich a Barcelona M 60 40 o . ,1 1 .... 1 8. Problema de transbordo: cálculo de los caminos extremos. Una empresa fabrica monitores de alta resolución en dos plantas de producción P¡ y P2. Las capacidades de producción por semana son de 80 y 60 unidades, respectivamente. Los monitores se llevan a cuatro centros de venta V¡, i = 1, 2, 3, 4, que solicitan para la próxima semana 30 unidades para V¡, 20 para V2 y 40 para V4. V3 no ha cuantificado su demanda indicando que va a ser muy alta y aceptaría toda la producción. La legislación vigente obliga a la empresa a transportar los monitores de las plantas a los puntos de venta a través de alguno de los dos centros de control de calidad existentes C1 y C2 , en los que se controlan los monitores y cuya capacidad es muy grande. El coste de control por unidad en C¡ es 4000 ptas y en C2 6000 ptas. Los costes en miles de ptas de transporte unitarios de las plantas a los centros de control y de éstos a los puntos de venta, aparecen en la tabla c1 c2 12 11 10 9 22 20 20 24 19 23 Lo resolveremos con una tabla de transporte tomando como orígenes los Pi y como destinos los lf;. Para determinar los costes de transporte por unidad, obtenemos previamente los caminos extremos (rutas de coste mínimo, ver Capítulo 5) desde cada origen Pi a cada destino V;. Estas se obtienen fácilmente y se muestran en la tabla siguiente, en miles de ptas, indicando junto a cada coste el CP.ntro de control, nodo de transbordo, que se utilizará en la ruta Pt P2 37(C2) 35(C2) 36(C¡) 34(C¡) 36{C2) 40(C2) 34(C2) 38(C2) Formulamos ahora una tabla de transporte en la que a V3 se le asigna una demanda. igual a la producción conjunta. máxima semanal que es de 140 unidades. Una vez equilibrado el problema, la tabla de transporte con la solución inicial por el método de Vogel es 224 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS v2 V¡ v4 V3 mes. Se desea m 20136 60 f36 f40 80 p2 135 í34 f34 f38 60 ro 20140ro 4040ro 90 FieL. ro 3o De m. 30 a) Formular como un programa lineal el plan de producción que satisfaga la demanda con coste mínimo. 20 Observemos que la solución es no degenerada,. por lo que podemos aplicar el algoritmo MODI. La tabla siguiente muestra los números MODI de fila y de columna, así como los indicadores a¡i de las posiciones no básicas. V¡ v2 1 f37 1 f35 P¡ p2 20 f36 Disp. S¡ 80 o [38 60 2 v4 V3 60 136 f40 4 ro 20ro 20140ro 4040ro Fict. 30 Dem. 30 T; -36 b) Formularlo como un problema de transporte. Obtener la solución ó~t~ma tomando como solución inicial la proporcionada por el MEN. Descnbtr el plan óptimo de producción. ¿Es único? e) La compañía sabe que el coste de inventario es sólo una estimación. Det~;­ minar el recorrido del coste de inventario por unidad para que la solucton obtenida en b) permanezca óptima. 4 o [34 60 [34 o -36 -36 90 36 Solución a) Definimos las variables de decisión . x ·R· = producción en trabajo Regular del mes i suministrada en e~ J l] . . 'tad 1 XiEi = producción en trabajo Extra del mes 1 sunurus r a en e J con i = 1 Uunio), 2 Uulio), j =1 Uunio), 2 Uulio), 3 (agosto). El programa lineal se formula -36 Como todos los indicadores son no negativos, la solución anterior es óptima con coste = 4920 ptas. Si interpretamos la solución, vemos que se utiliza toda la producción de las plantas Pt, P2 y la demanda de V2 queda cubierta. A V3 se envían 120 unidades y a V1 y V4 no les llega ninguna. Además, hay soluciones óptimas alternativas, ya que existen posiciones no básicas en la tabla final con valor indicador cero, a22 = ap2 = O. O o· _ FUnción objetivo que representa el coste total a minimizar minO= 2XtRl + 3X¡R2 + 4XtR3 + 3XtEl + 4x1E2 + 5XtE3+ +6X2R2 + 7X2R3 + 9X2E2 + lÜX2E3 - Restricciones de producción máxima 9. Planificación de suministros con cost e de inventario variable. Una compañía tiene que suministrar un producto manufacturado durante los próximos 3 meses (junio, julio y agosto). La tabla que sigue proporciona los detalles de producción Mes Producción máxima en trabajo regular Producción máxima en trabajo extra Coste/u en trabajo reg. Coste/u en trabajo ext. Demanda Junio 6 Julio 6 4 4 2 3 6 6 9 4 225 Hay un coste de inventario de 1 unidad monetaria por unidad de producto po1 Oisp. P¡ 60 - CAPITULO 4. TRANSPORTE Y .ASIGNACION X!Rl + X¡R2 + XtR3 $ 6 X2R2 + X!E2 + XtE3 $ 4 + X2R3 $ 6 X2E2 + X2E3 $ 4 XtE! Agosto - Restricciones de demanda XtRl + X!El ~ 6 XtR2 + XtE2 + X2R2 + X2E2 ~ XtR3 + X¡E3 + X2R3 + X2E3 ~ 9 4 9 226 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS 2:: 0, i = 1,2, = 1,2,3 j b) La tabla de transporte equillbrada (F destino ficticio) con la solución básica factible inicial obtenida con el MEN es F 14 ro ro 2 IR 612 ei"T lE 13 2R loo í6 6fT ro 6 2E loo í9 3fl0 I fQ 4 Dem. 4f4 e [S 4 6 C¡R3 = 2 + 28, C!E2 = 3+8 C2R3 = 6 + 8, C2E3 =9+ O Tenemos la tabla de transporte con números MODI y valores indicadores recalculados en función de 8, ahora se ha tomado como valor de penalización de las posiciones prohibidas 500 6 4 ' 13 Observemos que se han añadido 2 E-posiciones para convertir esta solución en no degenerada. La tabla con los núm~ros MODI e indicadores para posiciones no básicas es 2 F 3 o lR lE S; 6 o 4 -1 e[3 *í4 5 413+8 6 -3 4 -6 00 2E Dem. Ti 40 -2 60 -3 30 -4 +ó [500 2E Dem. Ti 40 -9+8 ! 1 nr 4 6-8 ro 6 3 110 4 o 3 + 28 o 1 6 3' 6 1 6+6 o 491 1 9 60 -9 3 9+8 30 -9-8 1 20 o Imponiendo la condición de que todos los valores indicadores sean no negativos, tenemos el conjunto de inecuaciones en 8 7- ó ;::: 3 2R 1500 7-8 ro 6 ro *13 4f4 els ro o Foo *16 61'7 ro o loo *f9 3110 1ro 6[2"" o Disp. 2R 6 7- ó 6-ó 494 +ó I r 2 + 2o 6~ el2 +6 o lE S; F o IR Disp. 3 2 1 I 9 = 2 + 8, CtE3 = 3 + 28, C¡R2 Disp. 3 1 227 Además, el plan de producción no es único, ya que hay óptimos alternativos. Las posiciones marcadas con * en la tabla tienen indicador nulo. e) Si consideramos el coste de inventario por unidad 6, en la tabla anterior debemos escribir los coeficientes de coste haciéndolos depender de o - Condiciones de no negatividad XiRj 1 XiEj CAPITULO 4. TRANSPORTE Y ASIGNAC ION @RA-~ o, 6 - 8 ;::: o, 494 - 8 ;::: o, 491 - 8 ;::: o. Tomando sólo valores no negativos, proporciona el intervalo ó E [0, 6] , para el que se mantiene la optimalidad de la solución obtenida·en b). O 20 6 Como todos los indicadores son no negativos, la solución es óptima, con coste e• = 100 unidades monetarias. Haciendo € = O, interpretamos la solución xrRl = 6 u a fabricar en trabajo R. en junio para suministrar en junio. :tis2 = 4 u a fabricar en trabajo E. en junio para suministrar en julio. x2R3 = 6 u a fabricar en trabajo R. en julio para suministrar en agosto. x2;;3 = 3 u a fabricar en trabajo E. en julio para suministrar en agosto. x2EF = 1 u es la capacidad de producción E. en julio que no se utiliza. 10. Planificación de niveles de producción. Una empresa produce cuatro detergentes denominados Di, i = 1, 2, 3, 4, a partir de cuatro materias primas denominadas iV!j ,j = 1,2,3,4. La composición porcentual de los detergentes es la siguiente 50 20 70 60 10 30 50 20 10 20 228 CAPITULO 4. TRANSPORTE Y ASIGNACION' @RA-~ PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS Las materias primas llegan de cuatro proveedores (P1 , P2, P3 , P4 ), que pueden proporcionar las siguientes cantidades máximas El detergente D 1 utiliza las materias primas M1, M2 y M4 , y la disponibilidad es de 90, 170 y 210 t, respectivamente. Así, se pueden fabricar de Dt como má.:<iroo . { 90 170 210} mm .3 , .5 , .2 Prouwlor Cantidad en t Materias primas 100 M¡,Mz llO Mt,AhM3 M2,M3,M4 M3,M4 70 320 que consume La capacidad de almacenamiento en t de que dispone la empresa es Materia prima Capacidad alm. M1 M2' M3 M4 90 170 110 210 Los costes de transporte por t desde cada proveedor y de cada mate1·ia prima son 20 10 30 10 30 40 30 40 Solución Planteamos la tabla de transporte tomando como orígenes los proveedores y como destinos las materias primas. Una vez equilibrada, determinamos la solución inicial con el método de la esquina noroeste, que comprobamos es óptima. P¡ M2 9o no 10 120 25 p2 125 nono F M4 M3 00 00 loo o flO loo 00 roo o 00 p3 loo 00 p4 Dem. Tj roo 90 -10 50 f30 roo170 -20 20 f30 140 90 110 -20 = 300 t Toda la materia prima M1 .5 x 300 = 150 t de M2 .2 x 300 = 60 t de M4 Puesto que se consume toda la materia prima .M1, el único detergente que se puede fabricar ya es el D3. Este utiliza las materias primas M2, M3 y M4, siendo las disponibilidades respectivas de 20, 110 y 150 t. Se pueden fabricar de D3 como máximo . {20 110 150} mm Ji'~~ j = 33.33 t. o Si la empresa tiene establecido un orden de prioridad en la fabricación de los detergentes que se corresponde con su numeración, detenninar la cantidad que se fabricará de cada detergente, teniendo en cuenta que se desea minimizar el coste de transporte. Mt 229 f30 140 210 210 -20 Disp. S; 100 o llO 10 70 -10 320 -20 20 ro ro ro ro 30 10 20 20 20 11. Problema de transporte en tiempo mínimo. Un almacenista de fruta dispone de tres depósitos D¡, D2, Da, a los que acaban de llegar 8, 7 y 5 t de fruta, respectivamente, que debe transportar en el menor tiempo posible a cuatro ciudades C1, C2, Ca, C4. Las demandas de las ciudades son 3, 7, 6 y 4 t. Los tiempos de transporte (li;) en horas de los depósitos a las ciudades, se muestran en la tabla 15 23 12 19 16 13 20 18 15 Resolver con un modelo de transporte la distribución de la fruta de los depósitos a las ciudades de modo que el tiempo empleado sea mínimo. Solución Este problema consiste en completar todos los envíos de los orígenes a los destinos en el menor tiempo posible. Matemáticamente, si Xij indica el tiempo de transporte desde el origen i al destino j y T es el tiempo necesario para completar todos los envíos, entonces T = max {Xij} V (i, j) con x¡; > O. El objetivo consiste en determinar el tiempo x¡; > Oque satisfaga las restricciones de disponibilidad y demanda y minimice T. Lo resolvemos con el algoritmo de transporte en tiempo mínimo, que utiliza la misma tabla de transporte que en los problemas con costes. 230 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS Comenzamos por construir la tabla de transporte, que es equilibrada y ob. tenemos la solución básica factible inicial con el método de coste mínimo, que es c2 114 2fl5 D2 D3 Dem. 31iQ fl7 3 p = min{x¡;} 9- f23 4íl6 [18 7 D¡ c2 c3 c4 Eíi4 2fl5 6f19 113 ns 4 5 D2 3110 5fl2 6 7 Disp. La nueva solución, que se obtiene a partir del ciclo, es 8 C¡ D3 Dem. El tiempo de envío para esta solución es Existe una posición en la tabla con t¡i ~ 20, que corresponde a la posición (D2, C2), cuyo tiempo es t22 = 23, que eliminamos. La nueva tabla, prescindiendo de tal posición es C¡ D1 íi4 D2 3Jl0 D3 De m. li7 3 = min{4,4} = 4. 2[19 Cs Cz c3 c4 Disp. 2115 2119 4[20 8 4íi6 fl8 fl3 115 7 5(12 7 5 4 6 Construimos un ciclo que parte de la posición básica con tiempo igual a T y asignación Este ciclo debe pasar por una posición no básica que no haya sido eliminada, que tendrá asignación e+. La variable básica x 14 es la que tiene tiempo de transporte máximo igual a 20, y un ciclo con la condición indicada es [17 5li2 3 7 113 115 5 4 6 7 8 4n:B Posición Valor de (i, j) Xij (1, 3) 6 (3, 3) (3, 2) 5 (1, 2) 2 con p = min {6,5} Designación o+ o o+ oo+ = 5. La nueva solución, en la que la variable X32 deja la base, es c1 c2 c3 c4 . Disp. D¡ t:íi4 7115 D2 3110 fl6 4118 7 fl7 fl2 5fl3 7 115 4 5 3 Designación o+ oo+ oo+ · íl6 Disp. Como la solución ha pasado a degenerada, añadimos una €-posición, por ejemplo, en (D 1, C1), por ser posición independiente. Ahora, T = 19 y eliminamos la posición no básica (D1 , C4 ) , ya que t 14 = 20 ~ 19. Construimos, para la variable básica x13 con t13 = 19, el ciclo e-. Posición Valor de (i, j ) Xij (1, 4) 4 (2,4) (2,3) 4 (1,3) 2 231 El valor máximo que hace a todas las variables no negativas es c4 4120 C¡ D¡ CAPITULO 4. TRANSPORTE Y ASIGNACION @ RA-~ Ds Dem. 1[19 6 8 De nuevo T = 19, que corresponde a la posición básica (D¡, C3}. Ahora no podemos eliminar ninguna-posición no básica, pues todas tienen tiempo menor que 19. Un ciclo para la posición (D1, C3) es 232 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS - ©RA-MA Posición Valor de Designación (i, j) (1,3) (2,3) (2, 1) (1,1) con p = min {3,1} 1 3 ( x23 Dt 1+ f D2 2 [17 3 c4 c3 Disp. 8 1116 4fl8 í12 5ílf" 115 7 7 5 4 6 Ahora T = 18 para la posición (D2, C4 ) . Eliminamos la posición (D 1 , C3 ), pues = 19 2: 18. Un ciclo para la posición básica (D2 , C4 ) es t13 Posición Valor de Designación con p = min {4, 5} (i,j) X¡j (2,4) (3,4) (3, 3) (2,3) 4 o+ o o+ oo+ 5 1 Dt D2 c3 c4 l +ffl4 7¡i5 2 fl0 D3 Dem. c2 3 [12 7 Disp. 8 5í16 7 1fl3 4¡i5 5 6 12. Movimient o de tierras en la construcción de una carretera. Se va a construir· una carretera entr·e dos ciudades que distan 38 km. En esta obra existen, por una parte, zonas de desmonte en las que hay que excavar y quitar la tierra sobrante¡ por otra, zonas de relleno a las que hay que traer tierra para su n·ivelación. Se desea utilizar la tierra de los desmontes para rellenar las zonas profundas. Si sobra, se llevaría a un vertedero que dista 7 km del km 3 de la carretera. Si fuera necesario, se podría traer tierra para relleno de un depósito de gran capacidad situado a 6 km del km 23. Los datos relativos a los lugares donde hay que desmontar y rellenar a lo largo de la carretera y m3 que hay que mover son Carretera m3 de km desmonte relleno 460 975 750 420 370 140 665 3 4 12 18 23 25 35 = 4. La nueva solución es Ct o con un tiempo mínimo de 16 horas. fl4 7 ¡i5 flO D3 Dem. c2 = 5¡ enviar 5 t de Dz a C3. x33 = 1¡ enviar 1 t de D3 a C3. x34 = 4¡ enviar 4 t de D3 a C4. = l. La nueva solución es c1 233 xh = 7¡ enviar 7 t de D1 a C2. xh = 2¡ enviar 2 t de D2 a C1 . o+ oo+ oo+ Xij CAPITULO 4. TRANSPORTE Y ASIGNACION 4 Ahora T = 16, que corresponde a la posición básica (D2, C3) . Eliminamos la posición (D3, Ct) y no es posible ciclo alguno para la posición (D2 , C3 ). Por tanto, la solución es óptima y consiste en xi 1 = 1; enviar 1 t de D 1 a C1. Los costes de transporte se suponen proporcionales a [(J. distancia. Si se utiliza el depósito obligan a extraer un mínimo de 60 m3. Determinar el movimiento de tierras con coste mínimo. Solución La figura muestra un esquema .de la carretera con los puntes kilométricos donde hay que hacer desmontes, rellenos y la situación del vertedero y el depósito. r¡. 234 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS 7 23 25 4 o 12 3 35 18 38 Lo modelizamos como un problema de transporte en el que: t¡ :"'r ~, r.f·.. 1' \ ".. ...~· - los orígenes i son los puntos de desmonte - los destinos j son los puntos de relleno - Cij es el coste de transporte, proporcional a la distancia de i a j - las disponibilidades son los volúmenes de desmonte de los orígenes i - las demandas son los volúmenes de relleno de los destinos j - Vert. es la cantidad de tierra que debe aceptar el vertedero - Dep. es la cantidad de tierra necesaria del depósito Esta última cantidad coincidirá. con la diferencia entre el volumen total de desmonte y el de relleno. Puesto que esta diferencia es de 30 m3, necesitamos tierra del depósito. Ahora bien, nos imponen la condición de que debemos extraer un mínimo de 60 m3 . Por tanto, consideraremos Dep. como un origell con una disporubilidad de 60 m3 . Construimos la tabla de transporte imponiendo al vertedero una demanda de 30 m3 . Tenemos así un problema equilibrado. La solución inicial básica factible proporcionada por el método de Vogel es óptima. La tabla contiene la solución óptima, que es no degenerada. Además, existen óptimos alternativos (a14 = 0). km4 km 18 430 11 km 12 545 í8'" km 35 [31 155 km3 205 12 Dep. Dem. TJ r* 975 5 -1 6o km 23 km 25 Vert. 16 26 30 [15 [20 122 lO 14 í6 í1l 113 117 370 fl2 140 no ru 420 1 o í6 370 6 4 18 140 8 Disp. 3017 460 CAPITULO 4. TRANSPORTE Y ASIGNACION ©RA-tv!A S¡ o Interpretamos la. solución: - Llevar 430 m3 del km 3 al km 4. - Llevar 30 m3 del km 3 al vertedero. -Llevar 545m3 del km 12 al km 4. - Llevar 205 m3 del km 12 al km 18. - Llevar 155 m3 del km 35 al km 18. - Llevar 370 m3 del km 35 al km 23. -Llevar 140m3 del km 35 al km 25. - Llevar 60 m3 del depósito al km 18. 235 o 13. Análisis de sensibilidad en una t abla de t ransport e. Dada la tabla de transporte 2 3 5 4 Disp. 1 24 2 18 3 20 4 Dem. 23 a) Obtener la solución óptima. b) Si el coeficiente de coste c1.¡ = 4 pasa a C14 = 2, ¿afecta a la solución óptima? 750 -7 e) Si el coeficiente de coste c35 = 7 pasa a c35 = 1, ¿afecta a la solución óptima? f39 665 - 18 d) Determinar el recorrido de optimalidad del coeficiente de coste C45· ~3 - 12 e) Determinar: l_a nueva solución óptima si c45 = 9. 2 fl6 14 30 -7 60 C45 = 5 pasa a tomar el valor f) Si todos los costes de la columna cinco se disminuyen en 4 unidades, ¿cómo afecta a la solución óptima? 236 CAPITULO 4. TRANSPORTE Y ASIGNACION PROGRAMACION LINEAL Y APLICACIONES: EJERClCIOS RESUELTOS g) Si la disponibilidad del origen 4 y la demanda del destino 1 aumentan en ó unidades, determinar el recorrido de ó para que se mantenga la solución óptima actual. Determinar la solución óptima para ó = 3. Como se convierte en negativo, se pierde la optimalidad y debemos aplicar, por ejemplo, el algoritmo MODI para alcanzarla de nuevo. Un ciclo para la posición (3,5) es h) Determinar el coste óptimo si en el apartado anterior se hace ó = 15. Posición Valor de Designación (i,j) 1 2 4 3 1 1114 2 3fT 2 3 fT 13 í5 16 2 í8 116 3 í6 20 í3 3 14 f2 í7 4 19 3 5 f2 í7 2 2 í8 14 1 4 Dem. T; 16 416 14 -4 17 -5 14 5 3 1 1 21 -5 14 -1 19 í5 19 -4 Disp. S¡ 24 o 18 -1 20 2 23 -1 El coste asociado es e• = 337. b) Si c14 = 4 pasa a tomar el valor c14 = 2, como es un coeficiente de coste no básico, por corresponder a una posición o variable no básica en la tabla óptima, sólo afecta a su indicador, que calculamos nuevamente. Así, Como 6 14 = 1 ~O, se mantiene la optimalidad. Para determinar el recorrido para el que se mantiene la optimalidad, basta con hacer a14 = s, + T4 + Ct4 =o+ (-1) + C(4 ~o por lo que el intervalo de optimalidad para este coeficiente es C¡4 E [1, +oo). e) Si C35 = 7 pasa a tomar el valor c35 = 1, sólo afecta al indicador de la posición no básica (3, 5), que recalculamos con 8 Xiz (3,5} (4,5} (4,2) (1, 2) (1, 1) (2,1) (2,3) (3,3) Solución a) El problema es equilibrado. Partiendo de la solución básica factible inicial proporcionada por el método de Vogel, en una iteración del método MODI se alcanza la optimalidad. La tabla que sigue contiene la solución óptima, que es no degenerada, además de los números MODI e indicadores de las posiciones no básicas. ..ll .. 237 o+ oo+ oo+ oo+ o- 19 4 13 11 3 1 20 = min {x¡;} = min {19,13,3,20} = 3. o- p Redistribuyendo las unidades a partir del ciclo, se obtiene la solución óptima 1 1 2 14fT 1 rs 3 4 3 fT 16 Dem. T; 14 -4 7[6 17 -5 24 o [9 18 o 311 20 3 rs 23 -1 3 16 fT í1 4[6 14 f2 f"3" f2 1 1 17 1 16 S¡ 2 3 rs Disp. 5 o 10fT 2 4 4 3 [8 21 -6 5 3 í4 14 -2 16 19 -4 con coste e· = 334. d} El coeficiente de coste c45 es básico, corresponde a una posición básica. en la tabla final, por lo que un cambio en él puede afectar a la solución dual y, por tanto, a los indicadores de las posiciones no básicas. Sustituyendo el valor actual por el valor genérico C4s, recalculamos los números MODI (hacemos, por ejemplo, T5 = O) y los indicadores, obteniendo la tabla 238 1 1 2 13~ T; -5 + C4s ¡-9 rT- ¡-& 416 17 21 14 -6 + C45 -6 + C45 - 2 + c4s 24 1- C45 ;:::: 18 -c4s 0, 9- C45 ;:::: 0, 2 20 3- C4s 10 - 1 1114 2 3js 13 19~ C45 ;:::: 5 3 -1 16 14 [7 116 14 ~ 19 23 -c4s 3 2 3 14 16 20 3 1 í3 12 17 2 2 18 14 1 4 Dem. T; 16 416 14 17 4 3 21 3 14 7 0 Disp. S¡ 24 -8 18 -9 19 ~ 19 23 -6 -9 o e· (4,5) (4, 2) (1, 2) 19 4 13 Designación O o+ ooo+ 1 3 15 í6 í4 4 Dem. Ti í4 o í6 14 -4 lj6 14¡2 S; 24 o 18 -1 13 fT [6 20 19 3 2 í3 í2 fT 20 2 1 1 í4 6f9 23 -2 4 17 f6 17 -4 Disp. 1 í8 21 14 -1 -5 19 -7 que es óptima, con coste e• = 400. Además, hay óptimos alternativos, ya que cr41 = O en esta tabla final. f) Con simples operaciones algebraicas es fácil comprobar que Jos indicadores permanecen y, por tanto, permanece también la optimalidad de la solución. Sin embargo, el valor óptimo de la función objetivo cambia en la cantidad que se obtiene multiplicando el valor -4 por la demanda de la columna que sufre la variación sobre los costes que en este caso es b5 = 19. De manera precisa., la nueva función objetivo sería ~ 4 4 4 e• = 2:: 2:: CijXij + 2:: (Cis- 4)Xi5 = i= 1 i=l j=l 20 con coste = 413. El indicador de la posición (1, 5) pasa a negativo, y hay que volver a buscar la optimalidad. Aplicando el método MODI, comenzamos construyendo un ciclo para esa posición, que es Posición Valor de (i,j) X¡ · (1, 5) 3 o 2 la 5 4 l rs 315 19 1 f5 2 2 o 4 3 11¡4 1 3 2 3 17 que proporcionan el recorrido de optimalidad c45 E (- oo, 8]. e) Si C45 = 5 pasa a tomar el valor c,¡5 = 9 ~ (-oo, 8], se pierde la optimalidad, siendo ahora la tabla de transporte con los valores modificados 1 1 C4s Imponiendo a esta tabla la condición de optimalidad, tenemos el conjunto de inecuaciones en c4.5 , 8- 239 = 13. La nueva solución es 10- C45 3 12 2013 2 16 17 14~ 3 16 1 14 con p = min {19, 13} Y AS IGNACION 8- C45 9- C45 í8 116 14 4 ¡;¡-- 16 2 2 Dem. 3 S¡ Disp. 5 4 1 11fT 3 ¡--s- 3 3 2 TRAI~SPORTE CAPITULO 4. @RA-~ PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS 4 5 =¿ ¿ i= l j=l 4 CijXij + (-4) ¿ i= l X¡s = e· + (-4) 19 = e· - 76 = 26{. g) Ajustamos los valores de las variables básicas de la t(!bla. óptima de modo que se cumplan las restricciones de disponibilidad y demanda, y con la idea de tratar de enviar por las posiciones con menor coste. Una forma de hacerlo consiste en construir un ciclo para la posición (4, 1) y repartir 6 unidades. De esta forma, se tiene la solución 240 PROGRAMACION UNEAL Y APLICAClONES: EJERCICIOS RESUELTOS 1 1 2 f4 11 +ó 3 3 13- ó 15 Dem. f6 2 rs ra 2 3 f4 16 f6 f6 4+ó 14+ó 17 1f6 20 3 f4 14 f2 f3 f7 4 19 18 5 12 [7 20 [4" 19 rs 23+ó 2 2 ra 21 24 3 14 que proporcionan el recorrido de optimalidad ó E [ -4, 13] . Para ó = 3, es inmediato de la sustitución de ese valor en la tabla que la solución sigue siendo óptima y que e· =352. h) Para ó =15 tenemos la tabla 4 3 1 26 [4" -215 2 3["5 3 3 f4 f6 T; *16 29 -4 19 f6 17 -5 24 o 18 -1 20 2 19 15 38 19 -4 -1 3 í6 [4" í7 26 -2 19 8 8 ee+ e- = - x12 = 2. La nueva solución que se tiene a 2 1 24 [4" 4 3 1 3 4 í5 f6 [4" í7 3 2 3["5 2 3 4 Dem. T; [4" 18 1f6 14 Disp. S; 24 o 18 -1 3 f2 í7 3 6 f3 f2 í7 20 2 1 1 19 15 19 -3 38 -2 4 f6 20 2f6 17 f6 29 17 -4 -4 que es óptima, con e· 5 1 ra 21 -5 =414. í4 14 -1 o 4 f2 í7 f3 3 5 20 f2 í7 2 2 l 4 De m. S; 3 [8 1f6 14 2 Disp. 5 1 2 X¡; con p = rni.no+ {-Xij, Xij <O} partir del ciclo es 1 2 (i,j) (4, 1) (1,1) (1,2) (4,2) 19 Si exigimos que las variables básicas sean no negativas, tenemos el conjunto de inecuaciones en ó 11 + ó ~ o, 13 - ó ~ o, 4 +ó ~ o 1 241 Posición Valor de Designación Disp. 5 3 1 l 4 4 3 2 CAPITULO 4. TRANSPORTE Y ASIGNACION @RA~ *ls *14 21 -5 14 -1 en la que vemos que la variable x12 se hace negativa y debe salir de la base. Si hubiera varias variables negativas, tomaríamos la más negativa. Para ello, aplicamos el algoritmo del simplex dual para el problema de transporte equilibrado. Determinamos el conjunto N de posiciones no básicas para las que la posición (1, 2) está en un ciclo construido a partir de ellas y con designación e+. Se ve fácilmente que tal conjunto es N= {(4, 1), (4,3), (4,4)} (marcados con * en la tabla). De él tomamos la posición con menor indicador, que es la (4, 1). Construimos un ciclo para esta posición 14. Una red de transbordo. La red de la figura representa un problema de transbordo. El número sobre cada arista indica coste de envío por unidad entre dos vértices; el de cada vértice, demanda si es negativo y disponibilidad si es positivo. Formular el problema de transbordo correspondiente, resolverlo e interpretar la solución. 15 10 242 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS - Solución · Los orígenes serán B, D y E. Los destinos A y e siendo, además, todos ellos puntos o nodos de transbordo. Construimos la tabla de transbordo de dimensión 5 x 5 donde los costes de la diagonal son nulos, representan flujo de unidades de un nodo a sí mismo, y hay posiciones prohibidas que corresponden a una arista que no existe en la red. El problema está equilibrado con valor M= 50 y la tabla de transbordo es B B 50 ro 8 r-s í7 f3 [5 20 í3 í7 E rs 15 5 6 f3 í3 8 10 14 15 50 '10 6 e Dem. 50 15¡4 65 5 15 75 roo 60 í9 50 ro 50 6 D A Disp. 1 10 6 e A E D 4 50 5o 10 1014 8 14 5o 7 ro 11 loo 50 f9 80 50 CAPITULO 4. TRANSPORTE Y ASIGNACION ©RA-MA 70 Esta tabla contiene la solución inicial básica factible del método de Vogel que, además, es óptima. Esta solución consiste en: - enviar 15 unidades de B a C - enviar 20 unidades de D a A - enviar 5 unidades de D a e - enviar 10 unidades de E a A con coste C* = 185. Es interesante observar que no se llega a utilizar ninguna de las aristas origen-origen ni destino-destino. Así, esta solución coincide con la que se obtendría resolviendo el correspondiente problema de transporte sumergido. Esto puede observarse en la tabla, puesto que la cantidad M = 50 aparece en todos los elementos de la diagonal o 15. Solución de un problema de asignación. Una empresa de alimentación tiene en plantilla cuatro ejecutivos E¡, i = 1, 2, 3, 4, que debe asignar a cuatro grandes clientes ej, j = 1, 2, 3, 4. Los costes estimados (en millones de ptas) de la asignación de cada ejecutivo a cada cliente son E1 15 19 20 ~ 14 15 17 E3 11 15 21 24 15 26 E4 243 18 14 14 24 a) Resolver el problema de asignación mediante enumeración. b) Formularlo como un programa matemático. e) Modeli~arlo como un problema de transporte y resolverlo tomando como solución inicial la de Vogel. d) Resolverlo con el método húngaro. Solución a) Observemos que el problema está equilibrado por. ser iguales el número de ejecutivos y el de clientes. Para resolverlo por enumeración complet(!. o exhaustiva, podemos aplicar los siguientes pasos: l. E 1 se puede asignar a cualquiera de los cuatro clientes. 2. Una vez asignado E1, Eh se podrá asignar a cualquiera de los otros clientes. 3. Análogamente, E3 se podrá asignar a cualquiera de los dos clientes restantes. 4. E4 debe asignarse al único cliente que queda libre. D~ acuerdo con este procedirnien_to enumerativo, habrá 4 x 3 x 2 x 1 = 24 posibilidades y elegiremos aquella que tenga menor ooste. La tabla muestra algunas de tales posibilidades Asignación Clientes Coste k e1 e2 e3 e4 1 E2 E,¡ 2 E¡ E¡ ~ E4 E,¡ 69 70 24 1r E4 E3 ~ 71 E4 Et Ck 244 tl El lector puede completar los cálculos y comprobar que la asignación de coste mínimo es E¡ E2 E3 E4 t Ct f1 1 CAPITULO 4. TRANSPORTE Y ASIGNACION PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS ¡ c4 t Ca t c2 con coste C* = 68. Obsérvese que, si en general hubiera n ejecutivos y clientes, habría n x (n - 1) ·x · · · x 2 x 1 = n! posibles soluciones. Si fuera, por ejemplo, n = 10, que es un número pequeño, se tendrían 3628800 posibilidades, que hace pensar que esta ·aproximación es impracticable en problemas reales. c2 C¡ c3 c4 Disp. E¡ í15 e¡i9 1f20 í18 1 E2 114 eíl5 117 1114 1 E3 l fll í15 ~:fl5 [14 1 E4 121 1í24 1 126 í24 1 l Dem. 1 1 245 En una iteración del algoritmo MODI se alcanza la tabla óptima b) Para construir un programa matemático, introducimos las variables 0-1 C4 Disp. o si el ejecutivo Ei se asigna al cliente Cj en otro caso consideramos la función objetivo que representa el coste total de la asignación y las restricciones que implican que cada ejecutivo se asigne a un cliente (cuatro primeras restricciones) y que a cada cliente se asigne un único ejecutivo (cuatrr últimas restricciones). Así, tenemos el programa 0-1 min C = 15xu + 19Xt2 + ··· + 24X44 s.a 4 L j=l 4 Xij = 1, i = 1,2,3,4 L Xij = 1, j = 1,2,3,4 Xij = 0,1 \:/i,j = 1,2,3,4 í=l Lo resolvemos con el algoritmo de ramificación y a~otación (ver Capítulo 6). La solución óptima es con el resto de las variables cero y C* = 68. e) La modelización como un problema de transporte conduce a una tabla que tiene la particularidad de que sus bordes, disponibilidades y demandas, son la unidad. La tabla de transporte con la solución básica factible inicial con el método de Vogel, con 3 ~:-posiciones, es y corresponde a la misma solución óptima que hemos obtenido anteriormente. Además, la posición no básica (1, 4) tiene valor indicador a 14 =O, así que podría existir un óptimo alternativo. Si realizamos un paso del algoritmo MODI, observamos.que la nueva solución es la misma, ya que sólo han cambiado la colocación de los ~: . La mayor objeción a la resolución del problema de asignación con el algoritmo de transporte proviene de la alta degeneración de la solución inicial. La conversión en una solución no degenerada y su mantenimiento ·a lo largo del proceso de solución, suponen un esfuerzo computacional suplementario importante que hace poco eficiente su uso. d) Resolvemos el problema con el método húngaro, un algoritmo específico para el problema de asignación, computacionalmente más eficiente que los procedimientos anteriores. La tabla de asignación inicial, que es de minimización, es C¡ E¡ 15 E2 14 EJ 11 E4 21 c2 c3 c4 19 15 15 24 18 14 14 24 20 17 15 26 246 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS - @RA-MA CAPITULO 4. TRANSPORTE Y ASIGNACION .· Como la tabla tiene todos los costes no negativos, podemos comenzar la aplicación del algoritmo cuyo primer paso consiste en generar ceros restando el menor elemento de cada fila de todos los elementos de su fila y haciendo lo mismo para las columnas con la tabla obtenida. La nueva tabla es C¡ c2 ~ Para ver si es posible una asignación independiente de ceros, es decir, que exista al menos un cero por fila y columna, aplicamos la heurística que consiste en buscar la fila con menor número de ceros en la tabla obtenida, marcar uno de los ceros de la fila (aparece en negrita en la siguiente .tabla) y tachar el resto de ceros (lo indicamos poniendo x) que se encuentran en la misma fila y columna que el cero marcado. La fila con menor número de ceros es la primera, rompemos empates tomando la fila superior), así que marcamos el cero de la posición (1, 1) y tachamos los ceros de las posiciones (2, 1) , (3, 1) y (4, 1) . Ahora, la fila con menor número de ceros (no tachados) es la segunda. Marcamos, por ejemplo, el cero de la posición (2, 2) y tachamos los de las posiciones (2, 3) y (2, 4). La tabla es C¡ E¡ o ~ X E3 E4 X X c2 3 o 3 2 o ~ X X E3 E4 c3 c4 o 3 2 3 o o o o EJ o 3 1 3 E4 o 2 2 3 E¡ c3 c4 1 2 3 X X 1 2 3 3 Como no hemos conseguido un cero marcado por fila, no tenemos una asignación independiente, y el algoritmo debe continuar generando ceros ~dicionales sobre la tabla obtenida. Para ello, aplicamos el siguiente procedimiento: 1) Marcar todas las filas (con -1 a la derecha de la fila) que no contienen un cero marcado, que serán la tercera y cuarta. 2) Marcar columnas (con l.) que tienen un cero tachado en filas marcadas, que sólo será la primera columna. 3) Marcar toda fila que tenga un cero marcado en una columna marcada, que será la primera fila. 4) Repetir 2) y 3) hasta que no haya más filas y columnas que marcar. La tabla con filas y columnas marcadas es c2 C¡ E¡ c3 c4 2 o 3 X X 3 2 1 2 3 3 3 X 247 -l -l -l .L A continuación, debemos pasar lineas a través de las filas no marcadas y las columnas marcadas, que indicaremos con flechas como se puede observar en la tabla y que es el menor número de lineas verticales yfu horizontales (L. C.) que cubren todos los ceros de la matriz (hemos quitado la marca de los ceros y restituido los ceros tachados). c2 C¡ c3 c4 L.C. o 3 2 3 o o o o o 3 1 3 o 2 2 3 t E¡ & E3 E1 L.C. f- Ahora, seleccionamos el menor de los costes no cubiertos por las líneas anteriores., siempre será un valor positivo al estar todos los ceros cubiertos, que es cm = 1 que corresponde a la posición (3, 3) . Esta cantidad la restamos a todos los elementos no cubiertos, la sumamos a los elementos cubiertos que estén en la intersección de una línea vertical y horizontal, y permanece igual el resto. La nueva tabla es C¡ c2 c3 c4 E¡ o 2 1 2 o o o EJ o 2 o 2 1 2 E4 o l ~ l De nuevo, comprobamos si es posible marcar un C¡ c2 c3 2 1 2 X X o 2 2 E¡ o ~ 1 o E3 E4 X 2 1 X c~ro 1 por fila. Tenemos c4 Como no hay un cero marcado por fila, no hemos alcanzado una asignación óptima y debemos generar nuevamente ceros adicionales. Aplicando el procedimiento de antes, el menor número de lineas que cubren todos los ceros está indicado en la tabla 248 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS Ct E2 E3 E4 o o L. C. t c3 c4 L.C. Cz 2 o Et 1 2 o o o 2 o 2 1 1 1 ff- 2 CAPITULO 4. TRANSPORTE Y ASIGNACION b) Resolverlo con el algoritmo de asignación generalizada. Solución a) Introducimos las variables de decisión 0-1 (ver Capítulo 6), El menor elemento no cubierto es cm = 1, y la nueva tabla de asignación que también contiene los ceros marcados y tachados, es Ct E1 o Cz 1 ~ X ~ 2 1 E4 X 2 o c3 c4 X X o X 1 o 2 1 Esta tabla tiene un cero marcado por fila. Por tanto, se ha alcanzado la optimalidad. La solución es la misma de los apartados anteriores. O 16. Asignación generalizada. Un sistema de procesamiento compartido tiene tres ordenadores diferentes Oi, i = 1, 2, 3 y debe procesar seis tareas Ti, j = 1, ... , 6, que pueden realizdrse en cualquiera de los tres ordenadores, pero con la condición de que tendrán que completarse en el ordenador en el que se iniciaron. Los tiempos de procesamiento tij, en minutos, de las tareas variarán según el ordenador, tal como se muestra en la tabla, que además contiene en su fila inferior el tiempo total disponible para cada ordenador. Tarea T. disponible Ordenador Ot Oz 03 18 16 12 14 21 19 23 27 33 16 24 23 17 24 24 25 28 30 47 41 46 Se desea conocer qué tareas se asignarán a cada ordenador de forma que el tiempo total de procesamiento sea mínimo. a) Formularlo como un programa matemático y resolverlo. 249 ,.. .. - { 1 "''3- o con i sí la tarea Ti se asigna al ordenador O; en otro caso = 1, ... , 6 y j = 1, 2, 3. Consideramos como función objetivo el tiempo total T de la asignación, que·habrá que minimizar, y toma la forma T = 18x11 +16x12 + 12x13 + 14x21 + 21x22 + 19X23+ +23X31 + 27X32 + 33X33 + 16X41 + 24X42 + 23X43+ + 17x51 + 24xs2 + 24xs3 + 25x61 + 28x62 + 30X63 Las restriciones se deben a: - Cada tarea se procesa en un sólo ordenador 3 L Xij = 1, i = 1, ... , 6 j=I - Limitación del tiempo disponible en cada ordenador 18x 11 + 14x21 + 23x31 + 16xu + 17xsl + 25xol ~ 47 16x12 + 21x22 + 27x32 + 24X42 + 24Xs2 + 28X62 ~ 41 12x 13 + 19X23 + 33x33 + 23X43 + 24Xs3 + 3ÜX63 ~ 46 Resolviéndolo con el algoritmo de ramificación y acotación (Capítulo 6) se obtiene la solución óptima • X¡3 • = 1, X32 • == 1, = 1, X21 • -- 1, Xs¡ • -- 1• x•63 -- 1 x41 con el resto de las variables cero y T* == 116 minutos. La asignación óptima es Ordenador Tareas 250 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS b) Resolvemos el problema con el algoritmo de asignación generalizada, similar al método de Vogel para el problema de transporte. Adviértase que con este algoritmo no hay garantía de alcanzar la solución óptima. El algoritmo emplea tablas cuyas filas corresponden a tareas y las column~ a ordenadores. Comienza comprobando que todos los ordenadores pueden realizar al menos una tarea, es decir, existe al menos una tarea i, tal que til $ 47, ti2 $ 41, tiJ $ 46. En otro caso se habría prescindido de la columna que no hubiera cumplido la condición, pdes el correspondiente ordenador no dispondría de tiempo suficiente para realizar ninguna tarea. La tabla inicial es Ordenador O¡ 02 03 Tarea T¡ 18 16 12 14 21 19 T2 23 27 33 T3 16 24 23 T4 17 24 24 Ts 25 28 30 T& T. disponible 47 41 46 Penalización 4 5 4 7' 7 3 que contiene las penalizaciones de fila, obtenidas como diferencia en valor a?sol.uto entre los dos tiempos menores de cada fila. Se toma la fila con mayor penaliZación, que es 7, rompiéndqse arbitrariamente en caso de empate. Dentro de ella,. la posición con menor tiempo corresponde a t 41 = 16, que lo denot~os .en negr1ta. A continuación como la tarea T6 ha quedado asignada a O¡, prescmd1mos de esa fila y reducimo~ la disponibilidad de la primera columna en el tiempo asignado, teniendo ahora 0 1 una disponibilidad de 31 minutos. La nueva tabla reducida, para la que se han recalculado las penalizaciones, es Ordenador O¡ 02 03 Penalización Tarea 4 18 16 12 Tt 14 21 19 5 T2 23 27 33 4 T3 7. 17 24 24 Ts 25 28 30 3 Ta T. disponible 31 41 46 CAPITULO 4. TRANSPORTE Y ASIGNACION ©RA-~ 251 La mayor penalización es 7 y corresponde a la quinta fila. El menor tiempo en esa fila es ts1 = 17 (marcado en negrita), así que asignamos Ts a 0¡, prescindimos de esa fila y, de nuevo, reducimos la disponibilidad de tiempo de 0 1 en 17 minutos. La nueva tabla es Ordenador Tarea T¡ T2 T3 T6 T. disponible O¡ 02 03 Penalización 18 14 23 25 14 16 21 27 28 41 12 19 33 30 46 4 5' 4 3 En ella vemos que la mayor penalización es 5, para la tarea T2, siendo el menor tiempo en la fila para t2 1 = 14. Se asigna T2 a O¡ y se reduce a cero la disponibilidad de tal ordenador. Prescindimos de esa columna. La nueva tabla es Ordenador Tarea Tt T3 T6 T. disponible 02 03 16 27 28 41 12 33 30 46 Penalización 4 6' 2 La mayor penalización es 6, que corresponde·--a T3, siendo t32 = 2J el menor tiempo de esa fila. Asignamos T3 a 0 2• La nueva tabla, en la que prescindimos de la fila correspondiente a la tarea T3 y reducimos el tiempo de 0 2 en 27 minutos, es Tarea T¡ T6 T. disponible Ordenador 02 03 Penalización 16 12 4 28 30 2 14 46 Observemos que los tiempos de procesamiento de ambas tareas con el ordenador 02 superan la disponibilidad actual de tiempo en ese ordenador, así que debemos prescindir de él. Por tanto, se asignan ambas tareas al ordenador 0 3 . La solución óptima., con tiempo total T• = 116 minutos queda reflejada en la tabla 252 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS © RA-~ CAPITULO 4. TRANSPORTE Y AS!GNACION 253 Ordenador Tarea Ot 02 03 18 16 12 Tt 14 21 19 T2 23 27 33 T3 16 24 23 T4 17 24 24 Ts 25 28 30 T6 T. disponible o 14 4 en que aparecen en la fila inferior las disponibilidades de tiempo de los ordenadores una vez procesadas todas las tareas. o ~r .... ~~ ~~¡ 17. Emparejamiento. Un gabinete de estudios tiene seis analistas de sistemas Ai, i = 1, ... , 6 y ha de cubrir cinco nuevos proyectos P;, j = 1, ... , 5, asignando para ello un único analista a ca.da proyecto. Los analistas tienen distinta especialización y los proyectos son diferentes y ca.da uno tiene sus peculiaridades. La tabla de emparejamiento nos indica los proyectos que puede cubrir cada analista ~ P¡ At A2 A3 A4 As As !1 ~~ ). ~ ~ ,t ·v ·,, •:J'' ' '; )• ~~ ~~~ ~1 ...... 1 p2 p3 p4 Ps o o 1 o 1 o o 1 o 1 1 1 o o o 1 o 1 1 o 1 o o o 1 o 1 o 1 1 donde 1 indica. que se puede realizar el proyecto y O que no puede realizarlo. Se desea saber si es posible cubrir todos los proyectos y cómo quedarían asignados los analistas. a) Dibujar el grafo de emparejamiento para el problema equilibrado. b) Formularlo como un programa matemático y resolverlo con el método del simplex. b) Definimos las variables de decisión 0-1 si el analista A¡ se asigna al proyecto P; en otro caso con i = 1, ... , 6 y j -= 1, ... , 6. El programa matemático para este problema de emparejamiento es igual al del problema de asignación, salvo que ahora, la función objetivo es de la forma de maximización, siendo éstá e e= Xn + Xt4 + Xt6 + X21 + X22 + X25 + X26 + X32 +x33 + X34 +X36 e) Resolverlo con el método húngaro. Solución a) Equilibrarnos el problema añadiendo un proyecto ficticio que denominamos F6 que puede realizar cualquiera de los analistas. Esto equivale a añadir una nueva columna a la tabla de emparejamiento con todos sus elementos iguales a l. El grafo de emparejamiento es + X43 + X45 + X46 + XSt + X53 + X56 + X62 + X54 + X66 Las restricciones son 6 Í: Xij = 1, i = 1, ... , 6 j=l 6 Í:Xij=1, j= l , ...,6 i=l Xij = 0,1 '</i,j = 1, ... , 6 254 PROGRAMACION LrNEAL Y APLICACIONES: EJERCICIOS RESUELTOS ©RA- ~ en las que sus sumatorios se extienden a las variables que tienen asociado 1 en la tabla de emparejamiento equilibrada. Aplicando el algoritmo de ramificación y acotación se obtiene la solución óptima con el resto de las variables cero. Además, hay óptimos alternativos. La solución anterior corresponde al emparejamiento CAPITULO 4. TRANSPORTE Y ASIGNACION cubriéndose todos los proyectos y quedando ahora el analista A2 ocioso. t t ¡ t Tt T2 Ta T4 t Fs Ps P4 P3 P¡ P2 quedando el analista A1 ocioso. e) Para resolverlo con el método húngaro, comenzamos por pasar la matriz de emparejamiento a la forma de minimización, restando del mayor elemento que es 1 todos los elementos de la matriz. A continuación, equilibramos el problema de minimización añadiendo una nueva columna que corresponde a. un proyecto ficticio (F6), con costes cero en todas sus posiciones. La nueva tabla es pi Pz p4 Pa Ps Fs o 1 1 o 1 o o o 1 1 o o 1 o o o 1 o 1 1 o 1 o o o 1 o 1 1 o 1 o 1 o 1 o At A2 Aa A¡ As As Esta tabla admite una asignación independiente de ceros Pt P?. p4 Pa Ps Fs o 1 1 o 1 o o o 1 1 o o 1 o o o 1 o 1 1 o 1 o o o 1 o 1 1 o 1 o 1 o 1 o At A2 A3 A4 As As Por tanto, una asignación será At A2 A3 A4 As As t P¡ + + t + + Fs P2 Ps P3 P4 o 18. Maximización en una tabla de asignación no equilibrada. Dada ''la siguiente tabla de asignación, donde sus elementos bij representan beneficios de asignación de la tarea i a la máquina j, determinar la asignación óptima con el método húngaro At A2 A3 A4 As As ¡ 255 Mt M2 M3 1 2 3 8 3 3 6 7 7 9 1 3 lv/4 6 6 6 5 Ms 5 4 8 4 M6 3 8 5 2 Solución Tenemos un problema de asignación de ma.ximización no equilibrado, ya que hay dos máquinas más que tareas. Lo pasamos a la forma de minimización considerando una nueva matriz de asignación con elementos Cij = bM - bij donde bM = max¡; {bi;} = 9. Además, equilibramos añadiendo dos tareas ficticias F1 y F2 , con ceros en sus filas, para hacer posible que tales tareas ficticias puedan asignarse a cualquier máquina. Tenemos la tabla Tt T2 Ta T4 Ft F2 Mt 8 7 6 1 o o M2 6 6 3 2 o o Ma M4 2 o 8 6 ·O o 3 3 3 4 o o Ms 4 5 1 5 o o Me 6 1 4 7 o o Estamos ya en condiciones de aplicar el algoritlllo húngaro. Restamos el menor elemento de cada fila de todos los elementos de su fila, y análogamente hacemos para columnas con la tabla resultante, e intentamos determinar una asignación independiente de ceros (en negrita), obteniendo la matriz Tt Tz Ta T4 Ft F2 Mt 6 7 M2 4 6 5 2 1 o X o X X Ma M4 Ms 2 5 7 5 1 3 2 3 X X X X X o X X o X o 4 M6 4 1 3 6 256 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS CAPITULO 4. TRANSPORTE Y ASIGNACION @R~ Mt M2 M3 M4 Ms Ms Coste de T¡ T2 8 4 6 6 2 4 10 8 5 7 8 2 cada trabajo T3 T4 Ts Ts 10 2 1 6 12 4 3 5 8 1 1 4 15 6 2 3 20 4 4 1 10 4 2 4 Mt M2 M3 M4 Ms Ms Coste de Tt T2 1 .5 1 .8 o 1 1.5 1.5 2 1 .5 .8 preparación T3 T4 Ts Ts 1.5 .8 o .1 1 .5 .1 .2 2.5 1.5 1 .5 o 2 1 1 1 1 .5 .5 o .4 .5 1 Como no es posible tal asignación, generamos ceros adicionales obteniendo el menor número de lineas (L.C.) que cubren todos los ceros de la matriz, como se indica en la. tabla TI T2 T3 T. F¡ F2 L. C. M¡ M2 6 7 5 4 o o 6 2 1 o o o M4 1 3 2 3 M3 7 5 o o o o Ms 2 5 o 4 o o L. C. Ms 4 1 3 6 o o ._ ._ ._ ._ o o t El menor elemento no cubierto es c2s =l. La nueva matriz de asignación es T¡ T2 T3 T4 Ft F2 Mt 5 6 5 o M2 3 5 2 1 X o X X M3 o X 8 6 1 1 M4 Ms 1 4 Ms 3 o 4 3 6 X X X o X X X 2 2 3 Determinar que máquina se asignará a cada trabajo de modo que el coste total sea mínimo. o para la que se ha. determinado una asignación independiente de ceros. Por tanto, la asignación óptima es Solución Para construir la tabla inicial de asignación, sumamos los costes de ambas tablas y multiplicamos por 10 para evitar la consideración de decimales. Esta es la tabla Mt M2 M3 M4 Ms Ms M3 Ms Ms Mt M2 M4 con beneficio B* = 7 + 8 + 8 + 8 = 31. 257 o 19. Asignación de máquinas a trabajos. Un consultor tiene el problema de asignar los trabajos de cierto día a varias máquinas. Todas las máquinas pueden hacer todos los trabajos, pero con distinta eficacia. Se consider·a, además, el coste de preparación de cada máquina para cada trabajo, que varía en función de aquello para lo que la máquina estuviera preparaaa y el trabajo que se le asigne. Los costes se dan en las tablas cuyas filas corresponden a las máquinas y las columnas a los trabajos Tt 90 70 20 115 70 85 T2 45 68 50 95 80 28 T3 115 130 105 150 210 100 T4 28 45 25 80 50 Ts 10 31 20 30 45 44 25 Ts 61 52 45 40 15 50 Presentamos a continuación la sucesión de tablas correspondientes a las iteraciones del método húngaro M¡ M2 M3 M4 Ms Ms L. C. Tt T2 80 32 39 34 o 27 85 62 55 62 60 o Iteración 1 T3 T4 Ts 30 13 o 24 9 o 10 o o 45 45 o 120 30 30 o 14 o t Ts L.C. 51 21 25 ._ 10 o ._ 25 ._ 258 PROGRAMACION LINEAL Y APLICACIO.'JES: EJERCICIOS RESUELTOS Iteración 2 T2 T3 T4 71 23 21 4 30 25 15 o o 27 10 o 76 53 36 36 55 62 120 30 60 o o 14 Tt Mt M2 M3 M4 Ms Ms L.C. Ts Ts 42 12 25 1 o o 9 o 39 o 9 25 Mt M2 M3 M4 Ms. M6 L.C. Mt M2 M3 M4 Ms M6 ++- CAPITULO 4. TRANSPORTE Y ASIGNACION 259 Máquina Trabajo Coste Máquina Trabajo Coste 3.0 2.8 Mt M4 Ts T4 1.5 13.0 M2 Ms Ta T3 2.8 2.0 M3 T2 Tt Ma Valor mínimo del objetivo=25.1 ++- o t Iteración 3 T2 T3 T4 Ts Mt M2 M3 M4 Ms M& L.C. L.C. (é)RA-~ T¡ Ts 70 22 20 3 o 41 30 25 15 o 1 12 o 27 10 o 10 25 75 52 35 35 o o 55 62 120 30 40 o 60 o o 14 10 25 t Iteración 4 Tt T2 Ts T4 67 19 17 o 30 25 15 o o 27 10 o 72 49 32 32 52 59 117 27 60 o o 14 ++- +- t T& L. C. o 41 4 15 13 28 +- Ts o o 40 o 13 28 t Iteración 5 Tt T2 T3 T4 52 -1 2 o 15 10 o o o 27 10 15 57 34 17 32 37 44 102 27 60 o o 29 En resumen, la asignación óptima es L. C. t t +- 20. Asignación de pilotos a vuelos. La rompañía aérea Canary se dedica al transporte de pasajeros. La compañía divide este transporte en interinsular o peninsular, con aviones o helic6pteros y de día o de noche. En un determinado día, la compañía quiere cubrir 6 vuelos Vj, j = 1, ... , 6, con las características que se indican en la tabla Caracteristia~s V¡ Interinsular Peninsular Avi6n Helic6ptero De día De noche X Ts o 41 4 15 28 43 o o o 40 28 43 Vuelos V3 v4 Vs X X X X X X X ·x X X X X X X v6 X X Las características de cada vuelo restringen los posibles p'ilotos que pueden cubrirlos. En ese día, los 6 pilotos 'disponibles P¡, i = 1, ... , 6, tienen los siguientes condicionantes Piloto P¡ Ts X ~ p2 p3 p4 Ps Ps Condicionante No puede pilotar auiones S61o puede realizar elwelo V3 Sólo puede realizar los welos V¡ o Ve No puede realizar vuelo interinsular S61o puede volar de día No puede realizar los vuelos V2, V4 o V5 Determinar si la compañía puede realizar los seis vuelos. Solución Podemos identificar el problema como uno de emparejamiento. Determinamos la correspondiente matriz teniendo en cuenta los condicionantes de los pilotos y dando el valor 1 a los vuelos que puede realizar un determinado piloto y Oa aquellos que no. Se obtiene así la tabla 260 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS v2 Va v4 o o 1 o o o 1 o 1 o o o o 1 o 1 1 o o 1 1 o 1 o V¡ P¡ p2 Pa p4 Ps Ps Vs Vs o 1 1 1 v4 Vs Vs 1 1 1 1 1 1 1 @RA:MA o 1 o o o 1 o 1 Pasando a la forma de minimización se obtiene V¡ v2 1 1 1 1 1 P¡ p2 Pa' p4 Ps Ps Va o o 1 1 1 1 a la que aplicamos el método húngaro. En dos iteraciones, se obtiene la tabla final v2 Vs v4 Vs Vs o o o o o o o o o 1 o o 1 o o o 2 o 2 o 1 1 1 1 2 o o 1 o o o o o o V¡ P¡ p2 Pa p4 Ps Ps 1 1 El emparejamiento es .. P¡ P2 P3 P4 Ps Ps t t t t \!,¡ V3 V¡ V2 Vs Vs t ·¡ Sin embargo, si volvemos a la. tabla inicial observamos que el valor máximo del objetivo es 5, menor que el valor 6, necesario para. que hubieran podido cubrirse todos los vuelos. En efecto, comprobamos que el piloto P1 no puede realizar el vuelo V4 • Por tanto, tal piloto quedaría disponible y el citado vuelo sin cubrir. El lector puede comprobar que existe una solución alternativa. O 1 OPTIMIZACION EN REDES o o o 1 o o o 1 o o o o 1 o 1 1 o. o CAPITULO 5 Este capítulo se dedica a problemas de optimización en redes. Aunque veremos que muchos de los problemas que aqui estudiamos pueden formularse como programas lineales o enteros (Capítulo 6) y resolverse con los algoritmos correspondientes, existen métodos específicos que aprovechan la estructura especial de cada problema y su representación en una red, permitiendo procedimientos de solución más eficientes. Comenzamos con el problema. del camino mínimo, que permite determinar en una red la ruta.o camino de longitud mínima entre un nodo origen y otro destino. ilustramos este problema con varios ejercicios con redes dirigidas y no dirigidas. Formulamos en algún caso el correspondiente programa 0-1 (ver Capítulo 6), después lo resolvemos transformándolo en un problema de asignación y, finalmente, llevamos a. cabo su resolución con el algoritmo de Dij.kstra, que es un procec;limiento específico bastante eficiente y válido tanto para redes dirigidas como para no dirigidas. En el caso de una red dirigida acíclica, tambi~n aplicamos un algoritmo de etiquetación. . El algoritmo de Dijkstra puede proporcionar los caminos de longitud mínima de un nodo origen a todos los nodos de una red. Una generalización es el algoritmo de Floyd, que permite obtener los caminos mínimos entre cualquier par de vértices de la red, aunque a costa de mayor esfuerzo computacional. Se obtiene una variante del algoritmo de Dijkstra asociando a los arcos de la red alturas en vez de distancias. En este caso, se obtendrán los caminos de mínima altura. El problema opuesto al del camino mínimo, es el del camino más largo en una red. L<>s procedimientos que se pueden utilizar son, como antes, la formulación de un programa 0-1, la transformación en un problema de asignación y el algoritmo 262 1 •' PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS - ©RA-MA de etiquetación. Este último, que sólo es válido para redes acíclicas dirigidas, será la base del procedimiento de obtención del tiempo de compleción, camino más largo, en una red de proyectos. Otro problema importante es el del árbol mínimo de máximo alcance, en el que se trata de determinar en una red no dirigida un árbol de longitud mínima. El algoritmo de Kruskal sobre la red, o en formato' tabular, es un procedimiento sencillo y muy eficiente para su resolución. El siguiente problema que se aborda es el de flujo máximo en una red, dirigida o no dirigiqa. En este problema se suponen capacidades máximas de fiujo de unidades entre cada par de nodos de la red, y se desea determinar el flujo máximo entre un nodo fuente y un sumidero. Aunque se puede resolver mediante programación lineal, resulta más eficiente la aplicación del algoritmo de flujo máximo, también denominado de Ford-Fulkerson. Se considera, además, el caso de costes de flujo de unidades entre arcos, formulándolo como un problema lineal. Finalmente, se plantea el problema inverso, es decir, el de flujo mínimo. También se relaciona el problema de flujo máximo con el de transporte. El capítulo termina con varios ejercicios de toma de decisiones en redes de proyectos. Con ellos, se ilustra la representación mediante una red dirigida del conjunto de actividades o tareas correspondientes a problemas o proyectos de planificación y su secuenciación. El objetivo básico de este problema es el control del desarrollo de un proyecto. Para ello, se determina su tiempo de compleción, las activides críticas y los tiempos de holgura de las actividades no críticas. Se utilizan redes CPM (Critica! Path Method) cuando todas las actividades tienen duración determinística, y redes PERT (Program Evaluation and Review Technique) cuando existen duraciones aleatorias. Estas representaciones asocian actividades a arcos. Se ilustrarán ambos tipos de redes con varios ejercicios y con rutinas de etiquetación, tanto de arcos como de nodos, así como el problema de reducción de tiempo de compleción de un proyecto cuando se dispone de recursos adicionales. En el caso de representación de las actividades por nodos en una red, se tiene el método de Roy o de los potenciales, que presenta alguna ventaja sobre los anteriores. Para finalizar el capítulo, se verá un ejemplo sencillo de una red PERT-Montecarlo, que utiliza simulación para la estimación de la duración de las actividades. CAPITULO 5. OPTIMIZACION EN REDES Se desea determinar el camino más corto de la ciudad 1 a la 11: a) Mediante la construcción de un programa O-l. b) Transformándolo en un problema de asignación. e) Mediante el algoritmo de Dijkstra. Solución a) Para construir un programa 0-1 comenzamos por considerar cada arista como un par de arcos paralelos de sentido opuesto e igual distancia, excepto para las aristas 1- 2,1 - 4,8- 11,9- 11 y 10- 11, que sustituimos por los arcos (1, 2) , (1,4), (8, 11), (9, 11) y (10, 11) , respectivamente. Obsérvese que corresponden a los arcos con extremo inicial en el nodo origen 1 o con extremo final en el nodo destino 11. Definimos una variable de decisión 0-1 para cada arco (i,j) , de modo que x¡ · = { 1 si se toma el arco (i,j) 3 O en otro caso Tenemos así 33 variables de decisión: x 12 , x 14 , x23, X32, ... , x 9, 11 , x 10,11 . El programa para determinar el camino mínimo tiene función objetivo mind = 6Xt2 + 5Xt4 + l8X23 + 18X32 + 12X25 + · · · + 14X10 ll 1 y una restricción por cada nodo X¡2 X¡2 EJERCICIOS l. Camino de longitud mínima. La red no dirigida de la figura representa un sistema de carreteras entre ciudades de una región. 263 + X¡4 = 1 + X32 + X52- X25- X23 = 0 ~+~+~+~-~-~-~-~=0 XB ,l! + X9,11 + XtO,ll = 1 X¡; =O, l V(i,j) (nodo 1) .(nodo 2) (nodo 3) (nodo 11) 264 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS ©RA-~ Las restricciones correspondientes a los nodos origen y destino implican tomar un solo arco con extremo inicial en el origen 1 y un solo arco con extremo final en el destino 11, respectivamente. Las restantes restricciones, nodos 2 a 10, imponen que el número de arcos por los que se llegue a un nodo coincida con el número de los que parten de él. Aplicando el método del simplex, suponiendo X¡; ;::: O, en once iteraciones se alcanza la solución óptima dada por xi2 = 1, xis = 1, x58 = 1, x8, 11 = 1 1 o 2 6 3 M 5 M M 2 6 o 3 M 18 18 o M 12 13 M M 11 8 9 10 M M M M M M 11 -M M M M 12 M M M M 4 5 6 7 4 5 5 M 6 M M 12 M 13 'M 11 o M M M o 9 M 9 o 15 M M M 8 M M 9 5 M lvl M M 7 M 7 M M 12 15 M M o M .8 M M M M 8 M M o M 12 4 M M 7 9 M M M M 9 5 10 M M M M M 7 265 nodo 2. Tenemos ya el arco (1, 2}. Vamos ahora a la fila del nodo 2 y, de nuevo, buscamos el valor de la correspondiente asignación óptima, que es el 12, bajo el nodo 5. Añadimos al camino buscado el arco (2, 5). Reiterando el procedimiento, éste terminaría al alcanzar el nodo destino (ll}. Por tanto, el camino mínimo es l -t 2 -t 5 -t 8 -t 11. e) Aplicamos el algoritmo de Dijkstra. Comenzamos asignando etiqueta permanente igual a O al nodo origen {1) y etiquetas temporales e (j) iguales a la respectiva distancia directa d1; para los restantes nodos j = 2, ... , 11. Estas se recogen en la tabla con d* = 33 siendo el resto de las variables nulas. Como la solución obtenida es 0-1 , resulta válida para el programa planteado. Las variables que toman valor 1 representan arcos que forman el camino de longitud mínima, que es por tanto 1 -t 2 -t 5 -t 8 -111. b) Construimos la matriz de asignación con filas y columnas representando los nodos de la red, con elementos iguales a las distancias entre los pares de nodos: si existe arco (i, j) , pondremos la distancia lÍi; correspondiente, por ejemplo, d12 = 6; si no exis!_e arco (i,j) pondremos di;= M, siendo M un número grande comparado con las distancias lÍi;; finalmente, haremos nulas las distancias lÍii· Además, pondremos d!i,I = -M para asegurar que se obtenga un camino con destino en el nodo 11. La tabla de asignación es pues 1 CAPITULO 5. OPTIMIZACION EN REDES 11 M M M M M M M 4 M 12 M 7 o 8 6 8 o 14 6 14 o Aplicando el método húngaro (ver Capítulo 4) se alcanza en siete iteraciones la asignación óptima, marcada en negrita en la tabla anterior. Si sumamos los valores correspondientes a la asignación óptima, excepto el valor - M, tendremos la longitud del camino mínimo d* = 6t12t8t7 = 33. Para determinar el camino mínimo, vamos en la tabla óptima de asignación al nodo origen (1) y buscamos en su fila el valor correspondiente a la asignación óptima, que es el 6, bajo el Itera.ción i o 2 3 6 00 4 5 5 00 Nodos 6 7 00 00 j 8 9 00 00 10 11 mínimo 4 00 00 La menor etiqueta temporal, e (4) = 5, pasa a permanente y no vuelve a considerarse, ya que ésa es la distancia mínima del nodo origen al nodo 4. A continuación actualizamos las etiquetas temporales de los nodos j que no hayan recibido aún etiqueta permanente mediante la fórmula e(j) = min Anterior ) ( Ultima ) ( Distancia del nodo ) } etiqueta , etiqueta t que pasó a etique.ta {( temporal permanente permanente al J Así, e(2} = e (3} = e(5} = e (6) = e(7) = min{6,5 too}= 6, min {oo, 5 t 13} = 18, min{oo, 5 too}= oo, mio {oo, 5 too} = oo, min {oo,5 t 15} = 20, e(8) = min{oo,5 too} = oo e ,9) = min{oo,5 too} = oo e(10) = min{oo,5 +oo} = oo e(ll) = rnin {oo,5 + oo} = oo lo que lleva a la tabla Iteración o 2 6 1 6 i 3 5 Nodos 6 7 00 4 5 00 00 00 18 - 00 00 20 j 8 mínimo 9 10 11 00 00 00 00 4 00 00 00 00 2 La menor etiqueta temporal corresponde al valor 6 del nodo 2, que pasa a permanente, marcada en negrita, y no vuelve a considerarse. Actualizamos las etiquetas tempo~ales de los restantes nodos, iteración 2, y reiteramos el procedimiento hasta que asignamos etiqueta permanente al nodo destino. Después de nueve iteraciones tenemos la tabla final . 266 Iteración i 2 3 6 6 00 5 00 00 1 18 18 - 00 00 - 18 18 00 o 2 3 4 5 6 7 8 1' '~1.. ~· ~¡ l ~ - PROGRAMAC!ON LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS - - 4 5 - - - - - - - - - - - - - - - - 9 - - E(j) 6 18 5 18 Nodos 6 7 29 27 27 27 27 j 8 9 10 11 00 00 00 00 00 20 20 20 20 00 00 00 00 00 00 00 00 mínimo 4 2 3 00 00 00 00 5 26 26 26 27 00 27 24 27 27 27 - 00 38 33 33 7 10 8 6 9 11 - - - 00 - - - - - 33 27 20 26 27 24 33 que contiene la fila E (j) de etiquetas permanentes de cada nodo y constituyen las distancias mínimas del nodo origen a cada nodo j de la red. En particular, como E (11) = 33, ésta es la distancia mínima buscada. Faltaría determinar el camino asociado a esta longitud mínima. Para ello, partimos del nodo destino y vamos formando hacia atrás el camino con los arcos que cumplen la condición de que la diferencia entre sus etiquetas permanentes sea igual a la longitud del arco (arista) que los une. Así, se tienen E (11} -E (8) = 33- 26 = 7 = ds,u E (8) - E (5) = 26 - 18 = 8 = dss E (5) - E (2) = 18-6 = 12 = d2s E (2) - E (1) = 6- O= 6 = d12 !1 :¡1 :.1 CAPITULO 5. OPTIMIZACION EN REDES ©RA-MA La figura muestra el camino mínimo y los etiquetados temporales al iado de cada nodo permitiendo comprobar fácilmente la rutina anterior. "' 267 2. Camino más corto de una localidad a otras. La figura representa el sistema de ca1Teteras entre las diferentes localidades de una isla, con distancias medidas en km. Se desea: a) Determinar los caminos mínimos de la localidad 1 a las restantes localidades. Resolverlo utilizando el algoritmo de Dijkstra. b) Jdem, pero suponiendo que los arcos de la red son aristas. e) Determinar en b) el camino mínimo de la localidad 1 a un punto x situado a 2.5 km de 3 en la carretera de 3 a 6. Jdem, si x estuviera a 3.5 km de 3. Solución a) Aplicamos el algoritmo de Dijkstra. Designamos con e (j) la etiqueta. temporal del nodo_j. Comenzamos asignando al nodo origen (1) etiqueta. permanente igual a O, y al resto de nodos j, etiquetas temporales iguales a la distancia directa. del nodo 1 a j. Estas vienen dadas por e(2) = 6, e(~) = 11, e(4) = 3, e(5) = oo, e(6) = 14, e(7) = 18. La menor, que corresponde al nodo 4, pasa a permanente y no se volverá a considerar, ya que representa su distancia mínima desde el origen. Actualizamos las etiquetas temporales que no hayan pasado a permanentes e {2) = min {6, 3 + 2} = 5 Compruebe el lector que un camino mínimo alternativo queda determinado por 1--t2--t5--t9 --t 11. o e(3) = min{l1,3 +oo} = 11 e(5) = min{oo,3 + 3} = 6 e{6) = min{14, 3 +oo} = 14 e(7) = min{18, 3 +oo} = 18 268 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS - La menor vale 5 y corresponde al nodo 2. Esta pasa a permanente y no se volverá a considerar. De nuevo, actualizamos las etiquetas temporales, teniendo e (3) =9, e(5) = 6, e(6) = 14, e(7) CAPITULO 5. OPTIMIZACION EN REDES @RA·MA 269 Se muestran en la figura mediante el árbol de caminos mínimos, en negrita, y al lado de cada nodo aparece su etiqueta permanente = 18 siendo la menor 6, que corresponde al nodo 5. Reiterando el procedimiento, resumimos en la tabla las etiquetas temporales y permanentes, en negrita, de los nodos de la red Iteración i o 1 2 3 2 3 6 11 5 11 - 9 8 - Nodos 4 5 6 6 14 14 14 - - 14 12 6 12 3 - - 00 6 15 j 4 5 - - - - - E(j) 5 8 3 7 18 18 18 16 16 0 mínimo 4 15 15 2 5 3 6 b) Para la misma red, pero suponiéndola con aristas en vez de arcos, la aplicación del algoritmo de Dijkstra conduce a la tabla 7 Iteración i La fila E (j) contiene las etiquetas permanentes de cada nodo y, por tanto, las distancias minimas del nodo origen a cada nodo j de la red. Para determinar el camino mioimo del nodo origen a los restantes nodos, partimos de cada uno de los nodos destino y formamos los respectivos caminos con arcos que cumplen la condición de que la diferencia entre sus etiquetas permanentes sea igual a la longitud del arco que los une. Así, para el nodo 7 se tiene E (7) -E (6) = 15- 12 = 3 = d61 E (6) -E (3) = 12 - 8 = 4 = d3s E {3) - E (5) = 8 - 6 = 2 = d53 E (5)- E (4) = 6-3 = 3 = d45 E (4)- E (1) = 3- O= 3 = d41 ! !1 1 Hemos obtenido el camino minimo 1 -t 4 -+ 5 -t 3 -t 6 -t 7, que proporciona, además, los caminos mínimos a todas las localidades excepto a la 2. Para determinar éste, repetimos el procedimiento anterior partiendo de 2 E (2)- E (4) =5 - 3 = 2 = d42 E (4) - E (1) = 3- O= 3 = d14 o 1 2 3 4 5 E(j) Nodos 5 j 2 3 6 11 4 3 00 5 11 - - 6 9 8 - - - 6 14 14 14 13 12 5 8 3 6 11 11 - - 6 - - 7 mínimo 18 8 8 8 4 2 5 8 7 - 3 6 8 Los caminos mínimos desde el origen a cada nodo de la red son 1 ~ 4--7 2, 1 -7 4, 1 --7 4 --7 7 --7 6, l-t4-t5-t3 1-74-75 1-t4-t7 El correspondiente árbol de caminos mínimos es 8 que proporciona el camino 1 -+ 4 -t 2. En resumen, los caminos minimos desde 1 a cada nodo son 1 --7 4 --7 2, 1 --7 4, 1 -7 4 -7 5 -+ 3 --7 6, u 1-74-75-+3 1-74--75 1-+4-t5-t3-t6-t7 8 270 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS ©RA~ = e) Para la red ~o dirigida, hemos obtenido las etiquetas permanentes E (3) 8 y E (6) = 11. Ev1dentemente un punto x situado a 2.5 km de la localidad 3 estará a 1.5 km de la 6. Entonces, como E (3) +2.5 = 10.5 < 12.5 = E (6) + 1.5 E (3) +3.5 = 11.5 = E (6) + .5 siendo los caminos 1 ~ 4 ~ 5-+ 3 -t x y 1 -t 4 -t 7 -t 6 -t x de igual longitud ~ 11.5 km. 3. Caminos de mínima altura. Si en la red dirigida del Ejercicio 5.~ los números representan máximas alturas de montañas que se deben atravesar entre pares de localidades, encontrar los caminos de mínima altura de la localidad 1 a las restantes localidades. \. Solución ' ~ ., .r 1 ol Deseamos determinar el camino desde el nodo 1 a cada uno de Jos restantes nodos, de modo que la máxima altura sea la menor posible. Formalmente, la altura de cualquier ruta será el máximo de los números de esa ruta. El problema es simila~ al ~~nsiderado en el problema del camino mínjmo, salvo que aqui, para la a.ctualizac10n de las etiquetas temporales, reemplazaremos la suma de pares de n.úmeros por el máximo. El algoritmo comienza asignando etiqueta permanente igual a Oal nodo origen (1) Yal resto de nodos j, etiquetas temporales iguales a la altura máxima entre el nodo 1 y el j, que vienen dadas por e(2) =6, e(3) = 11, e(4) = 3, e{5) =oo, e (6) =14, e(7) =4, e(5) =3, e{6) = 14, e(7) =18 siendo la menor 3, que corresponde al nodo 5. Reiterando el procedimiento resumimos en la tabla las etiquetas temporales y permanentes, en negrita, de los nodos Iteración i o 1 2 3 4 5 E(j) 2 6 3 3 11 Nodos 4 5 3 00 4 3 - 3 3 3 3 11 j 6 7 14 14 14 14 18 18 18 10 10 - - - - 4 - - - - 3 3 4 4 mínimo 4 2 5 3 6 7 4 La fila E (j) contiene las etiquetas permanentes de cada nodo y, por tanto, las minimas alturas máximas del nodo origen a cada nodo j de la red. Para determinar él camino de mínima altura del nodo origen a los restantes nodos, partimos de cada uno de los nodos destino y formamos hacia atrás los respectivos caminos con los arcos que cumplen la conrución de que la etiqueta permanente del nodo del extremo inicial del arco y su meruda sean menores o iguales que la etiqueta permanente del extremo final. Aplicando este procedimiento obtenemos el árbol de alturas mínimas que se muestra en la figura y que también contiene la etiqueta permanente de cada nodo {en negrita). = 18. La menor, que corresponde al nodo 4, pasa a permanente y no se volverá a considerar, ya que representa la altura mínima desde el origen. Actualizamos las etiquetas temporales que no hayan pasado a permanentes teniendo e (2) =mio {6, max {3, 2}} =3 e(3) = mio{ll,max{3,oo}} = 11 e (5) = mio {oo, ma.x {3, 3}} =3 e (6) = mio {14, max {3, oo}} = 14 e (7) =mio {18, max {3, oo}} = 18 27l siendo la menor 3, que corresponde a los nodos 2 y 5. . Rompemos el empate arbitrariamente y tomamos el nodo 2, que pasa a tener etiqueta permanente y no se volverá a considerar. De nuevo, actualizamos las etiquetas temporales teniendo e(3) la distancia mínima del nodo origen a x será 10.5 km, siendo el camino mínimo 1 -+ 4 -+ 5 ~ 3 ~ x. Si ahora x estuviera a 3.5 km de la localidad 3, x estará a .5 km de la 6 y, por tanto, ..•• CAPITULO 5. OPTIMIZACION EN REDES 4 0 3 o 272 CAPITULO 5. OPTlMIZACION EN REDES PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS 4. Algoritmo de Floyd. La comarca de "La Serena" está formada, entre otras, por cinco loco.lidades: El Valle (1) , Quintana (2), Zalamea (3), Higuera (4} y Castuera (5). La red de carreteras que une estas loco.lidades se representa en la figura Los valores junto a las aristas representan distancias en km. Se desea: a) El camino de longitud mínima de El Valle a Castuera. El árbol de caminos más cortos desde El Valle es Así: a) el camino de longitud mínima entre El Valle y Castuera es 1- 2 - 5 con longitud 23 km, y b) el camino de longitud mínima entre el Valle y Zalamea es 1 - 2 - 3 con longitud 17 km. Para los dos apartados siguientes aplicamos el algoritmo de Floyd. Para ello, formamos la tabla inicial de distancias d (i, j) de cada nodo i a cada nodo j, donde b} Jdem entre El Valle y Zalamea. distancia de i a j d(i ,j) = e) Idem entre Quintana e Higuera. 273 { o 00 si existe arco (i ,j) si i = j si no existe arco (i, j) d} Idem entre Higuera y Castuera. Esta tabla es Solución Resolveremos los apartados a) y b) utilizando el árbol de caminos más cortos obtenido a partir del algoritmo de Dijkstra. Los apartados e) y d) se pueden obtener volviendo a aplicar el algoritmo de Dijkstra tomando como orígenes Quintana e Higuera, respectivamente. Sin embargo, puede resultar más fácil utilizar el algoritmo de Floyd, ya que tan sólo tendremos que aplicarlo una vez para que queden resueltos ambos apartados. La aplicación del algoritmo de Dijkstra conduce a la tabla Iteración i o 1 2 3 E(j) 2 13 13 13 Nodos 3 4 5 mínimo 00 8 00 4 20 17 - 00 - - 2 3 5 17 8 - j 23 23 23 1 2 3 4 5 1 o 13 00 8 00 2 13 o 4 00 10 3 00 4 o 12 6 4 8 00 12 o 00 5 00 10 6 00 o Determinamos, a continuación, la actualización de cada tabla para cada nodo k recorriendo todos los nodos de la red. La actualización para el k-ésimo nodo (o iteración) se obtiene de la fórmula d(i,j) == min{d(i,j) ,d(i,k) +d(k,j)} con c4 · igual a la longitud del camino más corto de i a j y nodos intermedios k. La su~esión de tablas, en las que se han marcado con un asterisco las entradas que tienen una reducción, son '1 1 274 PROGRAMACION UNEAL Y APLICACIONES: EJERCICIOS RESUELTOS ©RA-~ k=1 2 13 1 1 o 2 13 3 00 4 5 o 21. 10 8 4 5 00 00 o 8 21" 12 12 6 00 4 4 00 3 o 1 o 2 13 3 17. 00 Por el contrario, si k (i, j) = O, entonces O(i, j) = d (i, j) para la tabla inicial de distancias. Aplicando esto a las cuestiones planteadas, se tiene: e) k(2,4) = 3, luego 0(2,4) = 8(2,3) +0{3,4) . Como k{2,3) =O, 0(2,3) = d (2, 3) y análogamente para 0(3, 4) , por lo que el camino mínimo es 2 - 3 - 4 con longitud 16 km. d) k (4, 5) = 3, luego B(4,5) = B(4,3) + B(3, 5) y el camino mínimo es 4 - 3 - 5 con longitud 18 km. O o 4 5 23* 10 6 31. 4 o 4 8 5 23. 21 10 12 6 31" o 1 2 13 3 17 4 8 4 16* 12 5 23 10 6 18* 4 o donde la segunda desigualdad se sigue del hecho de que B(i, a) +O (a, j) es la longitud de algún camino desde i hasta j. Por tanto, O(i,j) =B(i,a)+B(a,j). 8 21 12 o 275 10 6 k=2 2 3 13 17* 1 CAPITULO 5. OPTIMIZACION EN REDES k=3 ' 1 : 1 1 o 2 13 o 3 17 4 4 8 16* 5 23 10 o 12 o 6 18* o No hemos obtenido las tablas para k = 4 y 5, ya que no se produce cambio alguno en las entradas correspondientes a la tabla obtenida para. k = 3. Ahora, obtendremos una nueva tabla de valores k {i, j) , donde k (i, j) es el mayor valor de k para el que hay un asterisco en la posición (i,j) . Si no hubiera asterisco en tal posición se colocaría un O. La tabla es 5. Camino más largo. Para la red del Ejercicio 5.2, determinar el camino de longitud máxima del nodo 1 al 7: a) Mediante la construcción de un programa 0-1. b) Transformándolo en un problema de asignación. e) Mediante el algoritmo de etiquetación del camino de longitud máxima, prescindiendo de los arcos (5, 3) y (7, 4). Solución a) Definimos las variables de decisión k (i,j) 1 2 3 2 4 5 1 - o o 2 2 o - o 3 o 3 2 o - o o 4 o 3 o 3 5 2 o o 3 - Entonces, si k (i,j) k = a se verifica y definimos B(i, j) = a ~ 1, se sigue que en la tabla de distancias d (i, j) para · d(i,j) = d(i,a)+d(a,j) = d (i, j) . Así, B(i,a) +B(a,j)::; d(i,a) +d(a,j) =·d(i,j) = B(i,j)::; B(i,a) +O(a,j) Xij ={ 1 si se toma el arco (i, j) O en otro caso La función objetivo es maxD = 6X12 + llX¡3 + 3X¡4 + 14X¡6 + 18Xt7 + 4X23 + 4Xa6+ +2X42 + 3X45 + 2Xs3 + lOX57 + 7X65 + 3X67 + 5X74 276 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS Las restricciones, una para cado nodo l son + Xt6 + X17 == 1 X¡2 +X¡?+ X14 Xt2 + X42 - Xta + X23 + xsa - xa6 = O X¡4 + X74 - == 0 X23 X42 - X45 + X55 - X53 Xt6 + xas - xss X45 X17 +xs1 +x67 Xij =0 =0 xs1 = O X57 =1 {nodo 1) (nodo 2) {nodo 3) {nodo 4) (nodo 5) (nodo 6) (nodo 7) == 0,1 V(i,j) CAPITULO 5. OPTlMIZACION EN REDES 277 tabla anterior. Partiendo de la fila correspondiente al nodo origen, determinamos el camino más largo (ver Ejercicio 5.1b) y su longitud que coincide, obviamente, con el resultado obtenido en el apartado anterior. e) Aplicamos el algoritmo de etiquetación para obtener el camino de longitud máxima. Recordemos que sólo es válido para redes acíclicas dirigidas, de ahí que se haya prescindido del par de arcos indicados en el enunciado para tener una red con la propiedad anterior. Renumeramos los nodos de la red para tener ]a condición de que estén numerados en orden creciente según la precedencia. Tenemos la red Aplicando . , , el . algoritmo de ramificación y acotación {ver Capítulo 6) se obt"1ene 1a SO1UClOn optuna *-1 *-1 • ·== 1, Xs7 • X¡a - ' xas - , x55 =1 con el resto de las variables nulas y D* = 32. Por tanto el camino más 1 f lene 1ong1·tud 32 Y es 1 -t 3 -t 6 -t 5 -t 7, como se muestra ' en la figura argo Comenzarnos determinando la etiqueta Ej de cada nodo, en orden creciente de numeración, utilizando la fórmula Ej=max{E¡+d¡j, i=1, ... ,j -1} con etiqueta Opara el nodo origen, es decir, E 1 =O. Por ejemplo, la etiqueta del nodo 2 se obtiene b), ~onstruimos la matriz de asignación de la red para el problema del camino max1mo, que es 1 1 2 3 4 5 6 7 o M M M M M -M 2 3 6 - 11 o -4 M -2 M M M o 4 -3 M M M o -2 M M M M -5 5 M M M -3 o -7 M 6 7 -14 -18 M M -4 M M M M - 10 o M -3 o siendo M u~ núm:ro muy grande. Aplicando el método húngaro (ver Capítulo 4) en cuatro IteraciOnes se obtiene la asignación óptima, indicada en negrita en la · ~ = max{E¡ + d12} == max{O+ 3} == 3 Las de restantes nodos son E3 =max {E¡ + d13 , E2 + d2a,} =max {O+ 6, 3 + 2} =6 E4 = max{E1 +d14, Ea +da4} = ma..x{O+ 11,6+4} = 11 Es= max{E¡ +dts, E4 +d4s} = ma..x{O+ 14,11 +4} = 15 E6 = max {E2 + d25, Es+ ds6} = ma..x {3 + 3,15 + 7} = 22 E,= max{E¡ + d11,E5 ds1,E6 + d57} = max{O + 18,15 + 3,22 + 10} + = 32 Por tanto, el camino más largo del nodo 1 al 7 tiene longitud E, = 32. Para determinar el camino se partiría del nodo 7, trazando el camino hacia atrás con 278 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS - ©RA-MA CAPITULO 5. OPTIMlZACION EN REDES los arcos que verifiquen la fórmula de etiquetación, que son para E7 = 32, para E6 = 22, para E5 = 15, para E 4 = 11, el arco el arco el arco el arco Iteración i (6, 7) o 2 lOO (5, 6) 1 - (4, 5) (1,4) 2 3 - 4 E(j) Aquellos que forman un camino de 1 a 7 son 1 -7 4 -7 5-7 6 -7 7. 6. Política óptima de reemplazamiento. Se desea determinar la política óptima de sustitución de equipos para cierto horizonte de planificación. El esquema representa las estrategias de reemplazamiento donde un arco del nodo (año) i al j representa una actuación de compra de material en el año i y su sustitución el año j, con Cij el coste de sustitución. - 100 Nodos 4 3 5 200 340 00 200 340 500 340 500 - 420 - - - 200 340 420 j 6 700 600 600 490 490 490 mínimo 2 3 4 5 6 El camino mínimo hasta 6 tiene longitud 490, siendo éste 1 -7 4 -7 6. Por tanto, el plan óptimo de sustitución es comprar en el año 1 y sustituir en el 4, comprar en el 4 y sustituir en el 6, con coste total 490. b) Podemos aplicar el algoritmo de etiquetación, ya que la red es acíclica dirigida. Las etiquetas Ej de los nodos se tienen de la fórmula Ej = min {Ei + dij 1 i = 1, ... ,j - 1} 700 con E 1 =O para el nodo origen. Así, las 500 279 et~quetas de los nodos son E2 = min {Et + d12} = min {O + 100} '= 100 ~ = min {E1 + d13, E2 + d23} = min {O+ 200, 100 + 150} = 200 E4 = min {E¡+ dt<t, ~ + d24., E3 + d34} = = m in {O+ 340, 100 + 300, 200 + 200} = 340 E5 = min {E2 + d2s, E4 + d45} = min {100 + 400,340 + 80} = 420 E6 = min {E1 + dt6, E2 + d25,E4 + d45, Es+ dss} = Se desea conocer la política de sustitución más económica. a) Determinarla mediante el algo1itmo de Dijkstra. = min {O + 700, 100 + 500,340 + 150,420 + 120} = 490. El camino mínimo de 1 a 6 tiene longitud E6 = 490. Determinamos el camino partiendo del nodo final 6 y trazando hacia atrás el camino con los arcos que verifiquen la fórmula de etiquetación. Se comprueba que los predecesores son b) Determinarla con el algoritmo de etiquetación del camino mínimo. Nodo Predecesor 2 3 4 5 6 Solución a) Planteamos el problema como uno de camino mínimo. Tomando el año 1 como nodo origen y el 6 como destino, la política más económica vendrá dada por el camino de longitud mínima de 1 a 6. Aplicando el algoritmo de Dijkstra, se tienen las iteraciones enJa tabla 1 1 1 4 4 El camino de longitud mínima es 1 -7 4 -7 6. o 7. Arbol de máximo alcance. Determinar· el árbol de máximo alcance para la siguiente red de distribución en la que los números sobre las a1·istas representan d~stancias. 280 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS @RA-MA CAPITULO 5. OPT!MIZACION EN REDES 281 ® S 1 4 7 ® a) Resolverlo con el método gráfico, utilizando el algoritmo de Kruskal. a) Idem pero con el método tabular. Solución a) Aplicamos. el algoritmo de Kruskal sobre la red. Para ello, consideramos inicialmente el conjunto de nodos de la red que suponemos no conectados o aislados y que denotamos U = {1, 2, 3, 4, 5, 6, 7}. Denotamos con C el conjunto de nodos conectados, que inicialmente es vacío. Comenzamos tomando arbitrariamente cualquier nodo de U, por ejemplo, el nodo 1, y lo incluimos dentro del conjunto C excluyéndolo de U, es decir, C = {1} y U= {2, 3,4, 5, 6, 7} . El nodo no conectado más próximo al 1 es el 2, con distancia 9. Por tanto, actualizamos el conjunto de nodos conectados a C = {1, 2} y el de no conectados a U = {3, 4, 5, 6, 7} . La figura muestra estas dos primeras iteraciones Reiterando el procedimiento llegamos, en siete iteraciones, a determinar el árbol de máximo alcance cuya longitud U = 31. La tabla que sigue recoge las iteraciones del algoritmo Iteración o 1 2 3 4 5 6 7 Conjunto de nodos conectados 0 {1} {1,2} {1,2, 4} {1,2,4,5} {1,2,4,5,6} {1,2,4,5,6,7} {1,2, 3,4,5,6,7} Longitud L Par de de la arista nodos elegida conectados - - 9 1-2 2- 4 4-5 5-6 6-7 6-3 o 5 5 3 4 5 E= 31 El árbol de máximo alcance es ® S 1 ® 3'-----=----1 Repetimos el procedimiento determinando el nodo no conectado más próximo a cualquiera de los conectados, es decir, el nodo de U más próximo a cualquiera de los nodos de C. Este es el 4, que conectamos a 2, a distancia 5. Tenemos ahora q = {1, 2, 4} y U = {3, 5,6, 7}, cuya nueva conexión muestra la figura b) Para implementar el algoritmo en formato tabular, construimos la tabla de distancias entre nodos, dejando vacías las posiciones de pares de nodos no conectados mediante una arista. 282 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RES UELTOS - CAPITULO 5. OPTIMIZACION EN REDES Desde el Hasta el nodo el nodo 1 2 3 4 5 6 7 1 9 18 11 2 5 7 9 18 5 3 4 11 5 5 7 5 6 7 5 3 5 8 4 3 8 4 Elegimos arbitrariamente un nodo, por ejemplo 1, que incluimos dentro del conjunto de nodos conectados, y lo indicamos marcando su fila (1-) . Tachamos su columna y determinamos el menor valor de la fila del nodo 1, que corresponde al valor 9 bajo la columna del nodo 2. Marcamos el valor 9, negrita, y aparecen así conectados los nodos 1 y 2. 2 3 1- 1 9 18 2 3 4 5 5 7 6 5 5 6 7 4 El coste total es C* = 9 + 5 + 5 + 3 + 5 + 4 = 31 y de la lectura a lo largo de las filas de la tabla deducimos que conectamos (1, 2} , (2, 4), (4, 5) , (5, 6}, (6, 3} y 8. Interconexión de nodos. Se desea comunicar mediante fibra óptica ocho centros de investigación. El coste del sistema es función lineal de la longitud de la línea tendida. La tabla recoge las distancias entre los centros 7 5 Desde 1 1 2 28 3 26 4 41 5 30 6 17 7 19 8 52 5 5 5 8 4 3 3 Tachamos a continuación la columna del nodo 2 y marcamos su fila. De nuevo, para la tabla reducida en las columnas de los nodos 1 y 2, determinamos el menor valor en alguna de las filas marcadas. Corresponde al 5, negrita, de la columna del nodo 4. 4 1 18 11 2 3 5 7 5 6 7 5 Hasta 5 41 30 17 26 27 21 - 15 15 52 70 36 81 61 77 4 6 17 31 25 52 70 - 7 19 18 26 36 81 66 66 69 12 8 52 40 18 61 77 69 12 - Se desea tender la línea de manera que haya una conexión con cada centro, pero sin ciclos. ¿Cuál es el tendido de línea entre los centrqs más económico? Aplicamos el algoritmo de Kruskal, partiendo deJ nodo l. La tabla muestra las iteraciones del método 5 5 2 3 28 26 21 21 17 27 26 21 31 25 18 26 40 18 Solución 7 5 4 5 6 o (6, 7}. 8 4 3 1 2 3 4 5 6 7 1 9 18 11 2 9 5 7 3 18 5 4 11 5 5 5 7 5 3 8 4 6 5 3 7 8 4 11 7 11- 1111111- 283 3 3 8 4 8 4 Marcamos la fila del nodo 4 y prescindimos de su columna, quedando ahora conectados los nodos 2 y 4. Reiteramos el procedimiento y en siete iteraciones Uegamos a la tabla final 284 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS Iter. o 1 2 3 4 5 6 7 8 Conjunto Longitud L de nodos del arco conectados elegido 0 {1} o 17 {1, 6} 19 {1,6,7} 12 {1,6,7,8} 18 {1,2,6,7,8} 17 {1,2,4,6, 7,8} 15 {1,2,4,5,6,7,8} 18 {1,2,3,4,5,6, 7,8} r; = 116 ©RA-~~ Par de nodos conectados Al centro Distancia 2 18 3 18 4 17 5 15 e) Determinar un corte sobre la red con capacidad igual al ftv.jo máximo. - Solución a) Introducimos las variables de decisión Xij que representan el flujo a través del arco (i,j) con capacidad máxima kij· Si F representa el flujo máximo de la fuente (1) al sumidero (6), el modelo de programación lineal que proporciona. el flujo máximo en la red, es 1-6 1- 7 7- 8 7- 2 2- 4 4- 5 8- 3 ma.x z = F s.a Del centro Al centro Distancia 1 6 17 1 7 19 7 8 12 o 9. Flujo máximo en una r ed de comunicaciones. La siguiente red de comunicaciones transfiere información entre los distintos nodos. Los números sobre los arcos de la red indican las capacidades máximas de transferencia de cada línea. 12 1 l 285 b) Resolverlo mediante el algoritmo de flujo máximo (Ford-Fulkerson). El árbol de máximo alcance tiene longitud 116 y las conexiones entre pares de centros son Del centro 7 8 2 4 CAPITULO 5. OPTIMIZACION EN REDES + X¡a + X52 X¡3 + X23 . X34 + X54 x12 F =O X12 X23 - X25 =0 X34 - X35 - X35 X45 - X45 =0 = 0 X25 + X35 + X45 X35 + X45 + xs6 - F = O 0~ X12 ~ 15, 0 ~ X¡3 0~ X23 ~ 10, 0 ~ X25 ~ 12 - X52 - X54 - X56 ~ O~ X34 ~ 0 ~ X35 ~ O~ xas ~ 0 ~ X45 ~ 0~ 0 ~ X52 X46 11, 15, ~ 12, 0 ~ X54 ~ 14, F "2:,0 =0 18 6 26 ~7 0 ~ X55 ~ 9 El grupo de restricciones de igualdad representa. la conservación de flujo en cada nodo (flujo que entra = flujo que sale); las restantes restricciones son cotas al flujo en cada arco. Aplicando el método del simplex con variables acotadas, en diez iteraciones se obtiene la solución óptima. xh = 15, xia = 18, xiJ = 8, x25 = 7, xj4 = 11, xj6 = 15, x46 = 12, x54 = 1, 'xs6 = 6 con el resto de variables nulas y flujo máximo F* = 33. Se desea determinar el flujo máximo de información del nodo 1 al 6. a) Formularlo y resolverlo como un programa lineal. b) Aplicamos el algoritmo de flujo máximo. Para ello, determinamos caminos de flujo creciente de la fuente al sumidero, viendo el incremento de flujo neto 6.F que aporta. cada camino. El algoritmo terminará cuando no sea posible construir ningún camino de flujo creciente, en cuyo caso, se habrá determinado el flujo_ 286 PROGRAMACION LINEAL Y APLICACIONES: EJERCIC IOS RESUELTOS CAPITULO 5. OPTIM!ZAC!ON EN REDES max1mo. Comenzamos con flujo neto Xij = O sobre cada arco de la red y, por tanto, flujo total F =O. DetaUamos las iteraciones del algoritmo. l JI 1 1 Iteración 1. Un camino de flujo creciente de la fuente (1) al sumidero (6), que elegimos para la primera iteración, es 1 - 2 - 3 - 4 - 5 - 6. Observemos que, al principio, habrá muchas posibilidades de elección de caminos, que se irán restringiendo al irse saturando arcos en la red. El camino antes elegido tiene todos los arcos hacia delante, arcos en el sentido de la fuente al sumidero, y las etiquetas (x¡j, kij) verifican la condición Xij < kij· Este camino se indica en el diagrama. siguiente, que muestra sobre cada arco su etiquetado actual (Xij, k¡j) y debajo si es hada delante (D) o hacia atrás (A). determinado por el arco (2, 3) . El flujo total a través de la red es F = O+ 9 + 1 = 10. Actualizamos, además, el flujo a través de cada arco, sumando la cantidad 1 al flujo de cada arco, ya que son hacia adelante, del camino construido, teniendo (10, 15) 1~ (0,15) (0,10) 2 ~ D ~ (0,11) 3 D ~ (0,26) 4 D ~ (0,9) 5 ~ D 6 D (0, 12) (10, 15) 1 !::.F = min{k¡j- X¡;, (i,j) E D} min {15- O, 10- O, 11- O, 26 - O, 9- O} = min {15, 10, 11, 26, 9} = 9 determinado por el arco (5, 6) . Actualizamos el flujo total a través de la red, dado por F = O+ 9 = 9 y el flujo a través de cada arco sumando la cantidad 9 al flujo actual de cada arco, ya que son hacia delante, del camino construido, teniendo (9, 15) 1 •1 (9, 10) (9, 11) 1~2~3 (9, 26) ~ 2 con el arco (5, 6) saturado. Iteración 2. Un nuevo camino de flujo creciente de la fuente al sumidero es (9, 15) 1 ~ D (9, 10) 2 ~ D (O, 12) (9,11) 3 ~ D 4 ~ D siendo todos los arcos hacia delante. El incremento de flujo es 1 1 ¡ !::.F min {kij- X¡;, (i,j) E D} mio {15- 9, 10- 9, 11 - 9,12- O} = min{6, l,2,12l=1 6 ~ (O, 14) 5 D ~ (10,11) 4 f-- (0, 15) 3 A D ~ 6 D = mio {min {kij- Xij, (i,j) E D}, min {xii• (i,j) E A}} = min {min {15 - 10,12- O, 14-0,15- 0}, min {lO}} = min {min{5,12,14,15} ,min {10}} = 5 determinado por el arco (1, 2). El flujo total a través de la red pasa a ser F = 0+9+ 1+5 = 15. Actualizamos el flujo a través de cada arco sumando la cantidad 5 al flujo actual de cada arco hacia delante y restándosela al flujo actual de los arcos hacia atrás del camino construido, obteniendo (5, 12) (15, 15) (9, 9) ~4~5~6 (1,12) que tiene todos los arcos hacia delante excepto el (3,4), que es hacia atrás y puede pertenecer al camino, pues verifica la condición de tener flujo positivo es decir, X34 = 10 > O. El incremento de flujo es El incremento de flujo por este camino es !::.F (10, 11) (10, 10) 2~3~4~6 Iteración 9. Un nuevo camino de flujo creciente de la fuente al sumidero es D 1 287 1 ~ 2 ~ (5, 11) (5,14) 5 ~ 4 f-- (5, 15) 3 ~ 6 Repitiendo el procedimiento, en tres iteraciones más, hasta que ya no es posible construir un camino de flujo creciente de la fuente al sumidero, se alcanza la solución óptima que proporciona un flujo máximo F* = 33. La tabla contiene las iteraciones del algoritmo con indicación de los caminos de flujo creciente, el incremento de flujo sobre la red que proporciona cada camino y el arco que determina ese flujo. 288 PROGRAMAC!ON LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS Iteración 1 2 3 4 5 6 Camino de flujo creciente Incremento Arco que de flujo determina 6.F el flujo 1-2-3-4-5-6 9 (5, 6) 1-2-3-4-6 1-2-5-4-3-6 1-3-2-5-4-6 1-3-4 -6 1 -3-6 1 5 7 4 7 I: = 33 CAPITULO S. OPTIMIZAC!ON EN REDES ©RA-~ 10. Flujo máximo con coste mínimo. Si en la red del Ejercicio 5.9 se dispone también de los costes de envío por unidad " Arco Coste/u {1,2) 73 {2,3) 95 87 {3,4) {3,6) 73 {4,6) 51 {5,4) 137 (2,3) (1, 2) (2,5) (4, 6) (1, 3) Los flujos netos no nulos a través de los arcos de la red son Arco Capacidad (1,2) (1,3) (2,3) (2,5) (3,4) 15 18 10 12 Flujo neto 15 18 11 3 12 Arco (3,6) (4,6) (5,4) (5,6) 12 12 3 9 9 Arco Coste/u {1,3) 60 110 {2,5) 126 {3,5) (4,5) 91 85 (5,2) 97 {5,6) determinar mediante un programa lineal el flujo máximo con coste mínimo. Capacidad Flujo neto 15 12 14 289 Solución Obtuvimos que el flujo máximo F * es 33. Teniendo en cuenta. los costes de flujo por unidad a. través de cada arco queda el programa Lineal con función objetivo coste total e a minimizar, es decir, 9 En negrita se indican los flujos de los arcos saturados, es decir, aquellos en los que el flujo iguala la capacidad. e) La red con los arcos saturados {indicados en trazo grueso) es mio e = 73Xl2 + 60Xt3 + 95X23 + llOX25 + 87X34 + 126x35+ +73XJ6 + 9lx4s + 51X46 + 85xs2 + 137xs4 + 97xs6 con las mismas restricciones que en el programa lineal de flujo máximo, salvo las asociadas a la fuente (1) y al sumidero {6), que toman la forma 12 Xt2 + X13 = 33 XJ6 + X45 + XS6 = 33, y desaparece la variable F. Aplicando el método del simplex con variables acota- das, en dieciocho iteraciones se alcanza la solución ópt!rna xt2 = 15, xiJ = 18, x2J = 6, x25 = 9, x34 = 9, Xl6 = 15, x46 = 9, Xss = 9 Si sobre esta red intentamos construir caminos de flujo creciente, sólo etiquetaría~os el nodo l. Por tanto, el corte mínimo, determinado por la línea punteada de la figura, es M= {1}, Me= {2, 3,4,5,6}. Su capacidad e(M,Mc) = k12 + k13 = 15 + 18 = 33 coincide con el flujo máximo obtenido antes. o con coste mínimo e• = 6945. Observemos que esta s6lución difiere de la obtenida en el ejercicio anterior, cuyo coste era 7335. O 11. Flujo mí.nimo· en una red. Si los números sobre los arcos de la red del Ejercicio 5. 9 representan capacidades mínimas, determinar el flujo mínimo desde el nodo 1 al 6, utilizando la formulación de un programa lineal, 290 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS \ CAPITULO 5. OPTIMIZACION EN REDES ©RA-~ Solución Denominamos f al flujo mínimo a través de la red. El programa lineal se formula 291 a) Formular un modelo de programación lineal que proporcione el plan de distribución de cemento de los depósitos a los puntos de venta. minz= f b) Representar en una red tal plan de distribución. s.a e) Determinar el flujo máximo de transporte mediante el algoritmo de FordFulkerson. Interpretar la solución. + X¡J - j = 0 Xt2 + X52- X23- X25 = 0 Xt2 X¡3 X34 X25 + X23 +X54 - X34 - X35 - X36 X45 - X46 = + X35 + X45 - =Q Solución a) Introducimos las variables de decisión Xij = t de cemento transportadas del depósito D¡ al punto de venta Vj 0 X52 - X54 - X56 +X46 + X56 - f = 0 15 ~ X¡2, 18 ~ X¡3 10 ~ X23 12 ~ X25 1 11 ~ X34 1 6 ~ X35 15 ~ X36 26 ~ X45 1 12 ~ X46 7 ~ xs2, 14 ~ xs4, 9 ~ Xs6 =0 X35 Las restricciones deben tener en cuenta: 1 - Capacidades máximas C¡ de almacenamiento de los depósitos 1 1?.0 4 L Xij ~ C¡, El primer grupo de restricciones se refiere a la conservación de flujo en cada nodo. El segundo, a restricciones de flujo mínimo. Aplicando el método del simplex con variables acotadas, en cinco iteraciones se alcanza la solución óptima r = 36. = 1, 2, 3 - Demandas má.ximas Ej de los puntos de venta 3 L Xij?. E;, x¡2 = 18, xiJ = 18, xiJ = 27, x25= 12, xj4 = 24, x~ = 6 x36 = 15, x¡5 = 26, x46 = 12, x52 = 21, xS,¡ = 14, x56 = 9 con flujo mínimo sobre la red i j=l j = 1, 2,3,4 i=l o - Capacidades máximas de transporte T¡i entre pares (i,j) factibles 'V (i, j) factible 12. Transporte como flujo sobre una red. Una empresa tiene tres depósitos D;, i = 1, 2, 3, donde guarda cemento y desde los que abastece a cuatro puntos de venta V;, j = 1, 2, 3, 4. La tabla contiene la capacidad máxima de almacenamiento de cada depósito, la demanda máxima de cada punto de venta y las capacidades máximas de transporte en las posibles rutas entre depósitos y p·untos de venta (todo ello en t) V¡ v2 v3 70 90 v4 D, 80 - 60 D2 85 40 60 50 D3 Demanda 130 200 150 250 Capacidad 150 300 250 La función objetivo representa el total de cemento transportado que es 3 4 max2:2:x¡; i=lj=l Observemos que, como la función objetivo es de maximización, las restricciones de demanda podemos reformularlas como desigualdades ~. pues, además, la demanda es superior a la disponibilidad. Por tanto, el modelo lineal para este 292 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS problema de distribución queda max T = xu +X¡a + x22 + X23 + +x24 + X31 + X32 + X34 s. a + X¡3 ;S 150 + X23 +X24 ;S 300 X31 + X32 + X34 ;S 250 Xu + X3¡ + X32 ;S 200 X ¡3 + X23 ;S 150 X24 +X34 ;S 250 ;S 80, ;S 60, ;S 85, ;S 60, Se tiene así la red 0 ;S X¡3 ;S 70 0 ;S X23 ;S 90 0 ;S X31 ;S 40 0 ;S X34 ;S 50 Aplicando el método del simplex con variables acotadas, en ocho iteraciones se alcanza la solución óptima, en t, dada por xh =80, xia = 70, x22 = 60, x23 = 80, x24 = 85 Xa¡ • Se añade un destino ficticio (9) con cuatro arcos que inciden en él y tienen como orígenes los cuatro puntos de venta. (que renombramos 5, 6, 7 y 8) con capacidades máximas de flujo igual a las demandas máximas de los puntos de venta., respectivamente. ;S 130 X22 0 ;S X¡2 0 ;S X22 0 ;S X24 0 ;S X32 293 • A los arcos entre depósitos y puntos de venta. se les asigna capacidad máxima de flujo igual a las capacidades máximas de transporte. X22 Xn CAPITULO 5. OPTIMIZACION EN REDES ©RA-~ = 40, Xa2 = 60, Xa4 = 50 con T* =525 t. b) La red de distribución asociada es e) Para determinar el flujo máximo, se modifica la red anterior como sigue: • Se añade un origen ficticio (1) del que parten tres arcos a los tres depósitos, que renombramos 2, 3 y 4, con capacidades máximas de flujo iguales a las capacidades máximas de los depósitos, respectivamente. Aplicamos a esta red el algoritmo de flujo máximo. La. tabla contiene las iteraciones del algoritmo con indicación de los caminos de flujo creciente, el incremento de fl ujo sobre la red que proporciona cada camino y el arco que determina tal incremento. Camino de flujo Iteración creciente 1 1 - 2-5 2 1 - 2- 7 3 1- 3- 64 1 -3 - 7 1- 3- 8 5 1- 4 - 5 6 7 1 -4 - 6 1- 4 - 8 8 Incremento de flujo t::.F 9 9 9 9 9 9 9 9 80 70 60 80 85 40 60 50 E= 525 Arco que determina el flujo (2, 5) {1, 2) {3, 6) {7,9) {3,8} {4,5) (4,6) {4,8} Como consecuencia, obtenemos también los flujos netos a través de cada arco de la red, indicándose en negrita los arcos saturados 294 Arco Capacidad Flujo neto (1,2) 150 150 {1,3) 300 225 {1,4) 250 150 {2,5) 80 80 70 70 (2,7) (3,6) 60 60 (3,7) 90 80 (3,8) 85 85 295 Actividad Descripción Predecesor Duración a Diseño del producto 6 b Investigación del mercado 2 Análisis de producción e a,b 3 Modelo del producto d a,b 4 Prospecto de ventas e a,b 3 f Análisis de coste e 4 g Prueba del producto d 5 h Formación de personal e 3 i Predicción de ventas y precio h 2 j Informe final 1 g, i Arco Capacidad Flujo neto 40 40 (4,5) 60 60 (4,6) 50 50 (4,8) 130 120 (5,9) 200 120 (6,9) 150 150 (7,9) 250 135 (8,9) 1 Teniendo en cuenta la solución, tendremos las siguientes reservas para los depósitos, obtenidas como diferencia entre las capacidades y flujos netos de los arcos (1,2), (1,3) y (1,4), Depósito Dt D2 D3 CAPITULO 5. OPTIMIZACION EN REDES @RA-~ PROGRAMAC!ON LINEAL Y APLICACIONES: EJE:RCICIOS RE:SUELTOS a) Construir la matriz de encadenamientos. b) Dibujar la red CPM con el criterio de actividad-arco. Reserva o e) Determinar el camino crítico y el tiempo de compleción con la rutina de etiquetación de arcos. 75 100 d) Representar la duración de las actividades en un diagrama de Gantt. y demandas sin cubrir para los puntos de venta (obtenidos como diferencia entre las capacidades y flujos netos de los arcos (5, 9), (6, 9), (7, 9) y (8, 9) , respectiva- Punto de Demanda venta sin cubrir 10 Vt 80 v2 1¡ 1 11 e) Si en la duración de la actividad e se produce un retraso de 3 meses, ¿cómo afecta esta incidencia al proyecto? mente) v3 v4 Solución a) De la tabla de precedencias, construimos la matriz de encadenamientos con tantas filas y columnas como actividades tenga el proyecto. Se marca x en una casilla si la actividad de la fila de esa casilla requiere que esté terminada la actividad de la columna. Así, se obtiene o 115 o 13. Red CPM con etiquetación de arcos. En la planificación del lanzamiento de un nuevo prodt-!cto se han considerado las actividades, prelaciones y duraciones en meses que se muestran en la tabla 11 1i 1 b 1 e 1 d 1 e 1f 1 g 1 h 1 e X X X X e X X g .J 1 d f 't a a b h 1 X X X i j X X X 296 PROGRAMACJON LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS - ©RA-MA CAPITULO S. OPTTMIZACION EN REDES 297 b) A partir de la tabla de encadenamientos es fácil dibujar la red del proyecto. Utilizando el criterio actividad-arco, con el que asocia a cada actividad un arco y teniendo en cuenta que a y b son actividades iniciales del proyecto, no tiene~ ninguna marca x en sus filas de la matriz de encadenamiento, y j y f son actividades finales del proyecto, no tienen ninguna marca x en sus columnas, la red es Observemos que ha sido necesario introducir una actividad ficticia (F), cuya duración es O, para evitar que los arcos asociados a las actividades a y b sean paralelos, es decir, comiencen y concluyan en los mismos nodos. Además, los nodos se han numerado en orden creciente de modo que 1 es el inicial y 9 el final. La duración del proyecto es la mayor de las etiquetas PT de las actividades finales (! y j), que es T* = 16 meses. A continuación, para determinar las holguras y el camino crítico, asignamos los valores de las etiquetas TC y TT. El valor de TT para las actividades finales es T* . Su valor TC es el valor TT menos su duración. Continúa la asignación de etiquetas en orden decreciente¡ para cualquier actividad, su valor TT es igual al menor de los valores TC de las actividades que la siguen; su valor TC es igual al valor TT asignado menos la duración de la actividad. Los resultados de esta segunda etiquetación se tienen en la figura e) Llevamos a cabo un análisis CPM, que proporciona el camino más largo entre los nodos inicial y final. Determinamos para cada actividad el etiquetado 1 PC PT 1 TC TT 1 que representa PC = Instante de tiempo más Pronto que puede Comenzar la actividad PT = Instante de tiempo más Pronto que puede Terminar la actividad TC = Instante de tiempo más Tarde que puede Comenzar la actividad TT = Instante de tiempo más Tarde que puede Terminar la actividad Empezamos asignando las etiquetas PC y PT, comenzando con la primera actividad y continuando en orden creciente hasta la última actividad. La etiqueta PC de la primera actividad, en este caso a y b, es O, y la PT su duración. Continuamos con las restantes actividades. Su etiqueta PC se obtiene como el mayor de los valores PT de las actividades que la preceden. Su valor PT es su valor PC más la duración de la actividad. Los resultados de la etiquetación se muestran en la figura Finalmente, el cálculo de las holguras se tiene de las diferencias TT - PT, = TC- PC. La siguiente figura muestra la holgura de cada actividad indicando en negrita el camino crítico formado por las actividades con holgura O. 298· PROGRAMACION LINEAL Y APL ICACIONES: EJERCICIOS RESUELTOS ©RA-~ CAPITULO 5. OPTIMIZAC!ON EN REDES 299 e) Como la holgura de la actividad e es 3 meses, la duración del proyecto no varía. Sin embargo, se tiene otro camino crítico dado por a -t e -7 f. O 14. P lanificación de un proyecto informático. Cierto programa se compone de 12 subrutinas A,B, ...,L. La concepción del proyecto hace que su ejecución implique el siguiente cuadro de precedencias, costes en miles de ptas y tiempos de compleción de las subrutinas en días. Actividad Predecesor Los cálculos se pueden poner también en formato tabular Etiquetas PC PT TC TT Actividad Nombre Duración a 6 b 2 F o e 3 4 3 4 5 3 d e f g h i J o o 2 6 6 6 9 12 15 1 9 9 10 6 7 12 10 10 13 15 13 15 12 14 16 9 6 6 6 12 10 10 16 15 13 15 16 4 6 9 10 2 o 6 2 2 A B - E,I 8 10 9 - 4 4 3 A A G H I J K L Crítica 1 3 Crítica. 1 1 Crítica d) La figura muestra el diagrama de Gantt. Para construirlo, se ha dibujado para cada actividad en un nivel distinto un segmento de longitud igual a su duración y con origen en su tiempo PC. 5 4 8 3 7 5 4 3 G,J e D F Tiempo reducido 3 4 7 2 5 5 3 3 6 7 6 - Holgura TT-TC Críticá E Tiempo normal e e B ,D F,H F,H 9 11 Coste Coste normal 1·educido 200 300 400 120 200 300 300 800 70 150 60 100 250 300 500 150 300 300 370 800 160 200 150 105 a) Dibujar la red CPM. b) Determinar el camino crítico y su duración. e) Reducir la duración del proyecto en 2 días en la forma más económica. Idem en 5 días. Utilizar el método de reducción enumerativa. j,l h, 3 1 e, 3 1 l ~ H 1 g, 5 f, 4 1 d) Reducir de la forma más económica la duración lizando un programa lineal. ~el proyecto en 5 días uti- e) Si además se dispusiera en d} de un presupuesto adicional de 135000 ptas, ¿cuál sería la máxima reducción posible en la duración del proyecto? d,4 c,3 ~ Solución 1 a, 6 1 1 1 1 1 1 1 1 o 5 1 • meses l l 10 1 a) La red é PM de ejecución de este proyecto con el criterio actividad-arco es 1 15 300 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS CAPITULO 5. OPTIMIZACION EN REDES 1 Actividad Nombre (i,j) A B t e i D E F '1 1 b) Utilizando el algoritmo CPM, determinamos para cada actividad los valores PC, PI', TC y TT, que se muestran en la tabla Actividad Nombre Duración PC A 5 o B 4 o e 8 D E F 3 G H J J o 7 5 4 3 9 11 K 8 10 L Etiquetas Holgura PT TC TT TT-Te 5 2 7 2 4 10 6 6 8 o 8 Crítica 5 5 8 8 8 8 7 lO 2 12 13 12 19 14 Crítica 12 2 13 13 22 24 22 24 30 34 26 13 24 13 26 24 34 34 11 8 20 10 17 13 26 24 4 Crítica 4 Crítica El tiempo de compleción es T = 34 días, el camino crítico e ~ F ~ J ~ L, y el coste C es la suma de los costes normales de todas las actividades, 3000000 ptas. e) Determinamos inicialmente el incremento de costes Ci1· por día reducido para cada actividad (i, j) , a partir de la expresión · Coste reducido - Coste normal Cii = ;:;:T::-ie_m_p_o_n_o_r_m_al-:----=T=-i-em_p_o_r-ed_u_c_id-o Para la. actividad A asociada al arco (1, 2), este coste es, en mUes de ptas, C¡ 2 = 250 - 200 5-3 = 25 y, análogamente; para las restantes actividades. La tabla siguiente recoge tales costes Coste reducción e¡i ( x 103 ptas) (1,2) 25 (1,3) (1,4) (2,3) (2,6) 100 30 o 50 o (4,5) Actividad Nombre (i,j) G (4,7) H (3,5) 1 (5,6) J (5,7) K (6,8) L (7,8) 301 Coste reducción e¡i ( x103 ptas) 70 o 30 12.5 45 5 Realizamos una representación del proyecto en un diagrama horizontal dibujando cada actividad con una barra de longitud igual a. su duración y con origen en el valor de su etiqueta PC. Dibujamos el camino crítico como una línea continua sobre el eje de tiempos y el resto de actividades en diferentes nivele&, utilizando líneas punteadas para indicar los enlaces entre activida~es de la red CPM. El esquema es 1 A,5 ! E, 7 ¡..... ... ' D,3 H,3 1 ¡ B,4 ~···· e, a i 1 F,5 ¡ 5 K,8 I ·OO••O G,4 o I, 9 .1 1···· ! 10 L,lO J,ll l 15 20 25 30 35 El procedimiento de reducción se lleva a cabo unidad a unidad. Las actividades que consideramos inicialmente para su reducción serán las actividades críticas con coste Cii > O. Estas son e, J y L. La que conlleva menor incremento de coste es L, así que reducimos esta actividad en 1 día, teniendo el proyecto una nueva duración T = 33 y un coste e = 3005000. El camino crítico sigue siendo el mismo, aunque la duración de L es de 9 días. Ahora, intentamos reducir en otro día la duración del proyecto. Observemos que L no admite una nueva reducción, pero la actividad crítica que permite reducir un día con menor incremento en el coste es J. La nueva duración de la actividad J es 10 días y el incremento de coste 12500. De nuevo, permanece el mismo camino crítico. 302 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS ! A, S E:,7 D, 3 H,3 ¡ 1 1 B, 4 l 1 K, S 1 ,9 1 t¡ i G, 4 La función objetivo representa el incremento de coste debido a la reducción, que habrá que minimizar. Esta toma la forma L, 9 J , 10 F, S = duración de la actividad asociada al arco (i,j) = instante asociado al nodo i = 1, ..., 8 Xij 1 ...: e, a 303 . d) Introducimos las variables de decisión 1· 1 CAPITULO 5. OPTIMIZACION EN REDES @RA-MA 1 e= 25 (5- Xt2) + 100 (8- X¡4) + 30 (3 - o 10 S 15 20 25 30 35 X23) +50 (7- X26) +70 (4 - X4¡) + 30 (9 - Xs6) + 12.5 (11- X57) + 45 (8 - X6s) + 5 (10- X¡g) Consideramos la función objetivo equivalente max e' = 25Xt2 + lOOx14 + 30x23 + 50x26 + 70x47 Si ahora queremos reducir el proyecto 3 dias más, el lector puede comprobar que la reducción total de 5 dias es la que se resume en la tabla Actividades que Días Nueva Incremento se reducen reducidos duración coste I 1 8 30000 J 4 7 50000 L 1 9 5000 ~ =85000 ¡1 A, S ! ~ e, a 1 e = -e' + 2462.5. Las restricciones son para todo arco (i, j) y el deseo de completar el proyecto en 29 dias, dado por ts- t1 ~ 29. T,-,,· -< x·· ·· '1 < - t tJ l ... E, 7 :D, 3 1 H,3 1 con Además, hay que considerar las cotas sobre las variables dadas por que se muestra en el diagrama l +30xs6 + 12.5xs7 + 45x6s + 5x¡s 1 I,S K,8 J, 7 L,9 con t¡i tiempo normal y 1ii tiempo reducido de la actividad asociada al arco (i,j). También, consideramos la no negatividad de todas las variables de decisión ·1 1---+------! . F,S para todo arco (i, j) para todo arco (i,j) = 1, ...,8 i o 5 10 15 20 25 30 35 El tiempo de compleción es T = 29 dias, el coste e = 3085000. Ahora, hay dos caminos críticos alternativos que son e --+ F -+ J -+ L y e --+ F --+ 1 -+ K. Obsérvese que para la reducción del quinto día ha sido necesario, al haber caminos críticos paralelos, reducir un día en lc..s actividades J e 1 simultáneamente. En definitiva, tenemos 20 variables de decisión y 13 restricciones, además de las cotas sobre las variables. Aplicando el método del símplex con variables acotadas, en diecinueve iteraciones se obtiene la solución optima xi2 = 5, xi3 = 4, xi4 = 8, x23 = 3, x26 = 7, x45 = 5, = 3, xh = 4, Xs6 = 8, Xs¡ = 7, Xss = 8, x7s = 9, ti =o, t2 = 7, t3 = 10, t4 = 8, t5 = 13, t6 = 21, t7 = 20, t8 = 29 con e'* = 2377.5. De aquí que e• = -2377.5 + 2462.5 = 85, en miles de ptas, x3s sea el incremento en el coste de reducción del proyecto a 29 días. Compruebe el 304 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS ©RA-~ lector a partir de la lectura de los valores óptimos de las variables de decisión que las actividades reducidas son las mismas y en la misma magnitud que la obtenida en er apartado anterior. Puede comprobarse, además, que para T ~ 27 el problema es infactible, siendo imposible reducir la duración del proyecto a menos de 28 dias. e) En caso de disponer de un presupuesto adicional de 135 (en miles de ptas), la reducción máxima de la duración del proyecto se puede obtener como solución del programa lineal con función objetivo minT=ts-t 1 y todas las restricciones del apartado anterior, más la que se tiene de la limitación debida al presupuesto adicional L Cij (t¡j- X¡j) ~ 135 (i,j) que explícitamente es CAPITULO 5. OPTlMIZACION EN REDES 305 a) Dibujar la red PERT con el criterio actividad-arco. b) Determinar el camino crítico y el tiempo esperado de compleción. e) ¿Cuál es la probabilidad de que el proyecto se termine en menos de 18 semanas?, ¿y en 22 o más semanas? d) Se desea firmar un contrato que especifique el tiempo de compleción del proyecto de modo que haya una probabilidad del 95% de cumplir la fecha deseada, ¿qué duración debería especificarse en el contrato? e) Si el proyecto se retrasa más allá de su tiempo esperado de compleción se incurrirá en una penalización de un millón de ptas. Podemos mantener ese tiempo o extenderlo una semana y media más, lo que requeriría una renegociación cuyo coste es de 200000 ptas. ¿Debería renegociarse el contrato? Solución a) La red PERT para este proyecto es -25Xt2- 100X¡.¡- 30X23- 50X26- 70X47- 30X56- 12.5X57- 45X68- 5X78 ~ ~ 135-2462.5 = - 2327.5. Aplicando el método del símplex se comprueba que la única variable que cambia respecto a. la solución de d) es xi 4 = 7.5 y, por tanto, la duración del proyecto es 28.5 días. o 15. Una red PERT para la secuenciación de un proyecto de investigación. Consideremos un proyecto de desarrollo de un transistor alimentado con energía solar. Contiene nueve actividades (a, ... ,t} siendo las prelaciones y las estimaciones de tiempo (en semanas) Tiempo Tiempo Tiempo Actividad Predecesor optimista más probable pesimista a 3 6 9 b 1 3 5 e a 5 5 5 d a 4 6 7 e b 8 10 12 b 4 15 9 f g e 5 5 5 h d,e,g 2 3 6 i 2 8 16 f b) Para determinar el camino crítico, comenzamos por determinar para cada actividad la media y varianza de su duración, que vienen dadas, respectivamente, por las fórmulas aproximadas 11.· _ r-t - tm+4to+tM 6 , 2 _ (tM-tm) 2 36 a¡ - en las que tm es el tiempo minimo u optimista, tM es el tiempo máximo o pesimista y t0 es eÚiempo más probable o modal. Por ejemplo, para la. actividad a se tiene J.La = 3±466+9 = 6, a~ = (9;:)2 = l. Los valores para. el resto de actividades, aparecen en la segunda y tercera columnas de la tabla. 306 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS @RA-MA CAPITULO 5. OPTIMIZACION EN REDES 307 1' :1 f 1¡: rl· 1 1 Actividad Nombre J.Lí a 6 b 3 e 5 d 5.83 e 10 9.16 1 g 5 h 3.33 i 8.34 (J~ t 1 .44 o PC o o 6 .25 6 .44 3 3.36 3 o 11 .44 16 5.45 '12.16 Etiquetas TC PT 6 3 11 11.83 13 12.16 16 19.33 20.5 1.16 o 7.16 11.33 7.16 3 12.16 17.16 12.16 Holgura TT TT-TC 7.16 3 12.16 17.16 17.16 12.16 17.16 20.5 20.5 1.16 Crítica 1.16 5.33 4.16 Crítica 1.16 1.16 Crítica Utilizando los tiempos medios ¡;.¡ como tiempos normales o fijos, hacemos un análisis CPM determinando para. cada actividad las etiquetas PG, PT, TG y TT, mostradas también en la tabla. El tiempo esperado de compleción es la etiqueta PT de la última actividad; por tanto, la duración esperada del camino crítico T es E ( == 20.5 semanas. Calculadas las holguras de las diferencias TT - PT, vemos que el camino crítico es b --+ f --7 i. Es evidente que su longitud es la indicada anteriormente, ya que f) E d) Para determinar la duración T del proyecto con una probabilidad del 95%, basta con plantear la probabilidad P (f::; r) = P ( z::; T 3~0!~· 5 ) = .95. De la distribución normal estándar, se obtiene la ecuación T - 20.5 3.041 = 1. 645 con lo que T = 25.5 semanas. e) El coste adicional esperado si mantenemos el contrato es G1 = 1000000 x P (T ~ 20.5) = 1000000 x .5 = 500000 ptas. El coste adicional esperado para el contrato ampliado = 1200000 X p (f ~ 22) + 200000 X p (f :S 22) = = 1200000 X .3109 + 200000 X .6891 = 510900 ptas. C2 Como C1 < C2, no se debería renegociar el contrato. o (r) == J.L-r == J.Lb +¡;.1 + J.l.i = 3 + 9.16 +8.34 = 20.5 . La varianza, suponiendo la condición de independencia, es Var ( f) =a~= a~+ a]+ a[ = .44 + 3.36 + 5.45 = 9.25 f) = /9.25 ~ 3.041. con desviación típica u ( e) Si suponemos que se dan las condiciones del Teorema Central del Límite para el camino crítico (lo cual no es cierto aquí, aunque lo suponemos a efectos ilustrativos) , se puede suponer que la duración T del proyecto sigue una distribución normal N (20.5, 3.041). Podemos calcular las probabilidades de compleción del proyecto. La probabilidad de terminar en 18 semanas es p 20 5 (i' <- 18) = p (z <- 183.041 - · ) ~ .2055 16. D ecisión en una red con incertidumbre. Un proyecto de construcción está formado por las actividades cuya duración y relaciones de precedencia se detallan en la tabla Actividad Duración Precede a A 15 D,N B 10 H,G,P e 10 M,J D 20 E ,I E 25 F F 30 25 S G H 20 I,E Actividad [ J K L M N p S Duración Precede a ·S 15 L,K 30 25 20 S 15 H,G,P 10 H,G,P 15 L,K 40 a) Repr·esentar med·iante una red CPM la ejecución del proyecto. b) Calcular las holguras de cada actividad y el camino crítico. con Z variable normal estándar. Análogamente, la probabilidad de que la duración sea de 22 semanas o superior es P(T- ~ 22) = 1 - P (-T < 22) == 1- P (-Z :S 22-20.5) ~ .3109. _ 3 041 e) Si se supone que las duraciones de las actividades son variables aleatorias de características conocidas, por ejemplo, la duración es el tiempo más probable y el máximo (mínimo) es 5 días más (menos) que su duración, determinar la probabilidad de que el proyecto finalice en 95 días, ¿y en 105 días? 308 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS CAPITULO 5. OPTIMIZACION EN REDES ©RA-~ d) Por razones técnicas la actividad S debe comenzar el día 70. ¿En qué afecta esto a los tiempos calculados en el apartado b)? 309 Existen caminos críticos alternativos tal como se muestran en la figura Solución a) La red CPM del proyecto con el criterio actividad-arco es que enumeramos de modo explicito l. b) Siguiendo el proceso de etiquetación de las actividades (o arcos) del algoritmo CPM, determinamos para cada actividad los valores PC, PT, TC y TT, que se muestran en la tabla Actividad Nombre Duración A B e D E F G H I J K L M N p S 15 10 10 20 25 30 25 20 15 30 25 20 15 10 15 40 PC o o o 15 45 70 25 25 45 10 40 40 10 15 25 60 Etiquetas TC PT 15 10 10 35 70 100 50 45 60 40 65 60 25 25 40 100 Holgura TT TT-TC o 15 Crítica 15 25 15 o 10 Crítica 25 45 10 45 70 Crítica 70 100 Crítica 35 60 10 25 45 Crítica 45 60 Crítica 10 40 Crítica 75 100 35 40. 60 Crítica 10 25 Crítica 15 25 Crítica 25 40 Crítica 60 100 Crítica Las "últimas" actividades son F, S y K , por lo que la duración del proyecto será el máximo de los valores PT de estas actividades, que es 100 días. También se tienen en la columna de la derecha de la tabla las holguras de las actividades, obtenidas de las diferencias TT- TC (o bien PT- PC). 2. 3. 4. e --+ J --+ L 4 S, e --+ M --+ H --+ I 4 S, e --+ M --+ P 4 L --+ S, e --+ M --+ H --+ E --+ F 5. A --+ N --+ H --+ I --+ S 6. A --+ N --+ H --+ E --+ F 7. A --+ N --+ P --+ L --+ S e) Suponemos que todas las duraciones son ·inciertas con tiempo más probable igual al tiempo normaÍ considerado anteriormente y tiempos optimista y pesimista 5 días menos y más que cada respectivo tiempo modal. Tenemos, por tanto, una red PERT, y calcularemos el tiempo medio JJi y la varianza ul de la duración de cada actividad. Para la actividad A, éstos son, respectivamente, 11 - ,.-A- 10+4·15±20 6 - 15 , Análogamente, para el resto de las actividades. Los resultados se resumen en la tabla 310 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS Actividad Nombre JJ¡ A 15 B 10 10 e D 20 25 E F 30 25 G H 20 I 15 J 30 K 25 L 20 M 15 N 10 p 15 40 S q~ 1 2.77 2.77 2.77 2.77 2.77 2.77 2.77 2.77 2.77 2.77 2.77 2.77 2.77 2.77 2.77 2.77 Pe o o o 15 45 70 25 25 45 10 40 40 10 15 25 60 ®RA-MA Holgura Etiquetas PT Te TT TT-Te 15 o 15 Crítica 15 10 15 25 Crítica 10 o 10 10 35 ?-<>- 45 Crítica 70 45 70 100 70 100 Crítica 10 50 35 60 Crítica 45 25 45 Crítica 60 45 60 Crítica 40 10 40 35 65 75 100 Crítica 60 40 60 Crítica 25 10 25 Crítica 25 15 25 Crítica 40 25 40 100 60 100 Crítica con '1 1 u 11 311 Z variable normal estándar, y - ) (- P (T~105 =P Z~ 105-100) J.n :::.9101 d) En este caso, basta con sustituir la etiqueta PC de la actividad S por el valor 70 en la tabla del apartado b). Rehaciendo los cálculos se obtiene la nueva tabla Observemos que la varianza es la misma para todas las actividades. Utilizando los tiempos medios como tiempos normales, hacemos un análisis CPM determinando para cada actividad las etiquetas PC, PT, TC y TT, que también se pueden ver en la anterior tabla y que observamos que coinciden con los del apartado anterior. El tiempo esperado de compleción es, entonces, E ( = 100 días. Teniendo en cuenta que las actividades críticas son las mismas que en b}, tendremos los mismos caminos críticos con la misma duración esperada. Sin embargo, la varianza puede ser distinta. En efecto, el camino crítico 1 tiene varianza 11.11 y los restantes caminos críticos tienen varianza 13.88. Si suponemos que se dan las condiciones del Teorema Central del Límite para los caminos críticos, la duración T del proyecto se puede suponer que sigue una distribución normal. Podemos calcular ya las probabilidades de compleción del proyecto, considerando el camino crítico que, en cada caso, nos proporciona la probabilidad más pequeña. Debemos considerar dos casos: cuando el tiempo de compleción es menor que la media (la probabilidad viene dada por la cola de la izquierda) y cuando es mayor que la media (la probabilidad viene dada por la cola de la derecha). En el primero de los casos debemos considerar, por tanto, la varianza más pequeña, y en el segundo la más grande. Así, obtenemos f) l CAPITULO 5. OPTIMIZACION EN REDES Actividad Etiquetas Holgura Nombre Duración Pe PT Te TT TT-Te A 15 10 o 15 10 15 B 10 25 o 10 25 35 e 10 10 o 10 10 20 D 20 15 35 35 55 20 E 25 45 70 55 80 10 F 70 100 80 llO 30 10 G 25 25 50 .45 70 20 H 20 25 45 35 55 10 I 15 45 60 55 70 10 J 30 10 40 20 50 10 K 25 40 65 85 110 45 . 10 L 20 40 60 50 70 M 15 10 25 20 35 10 N 10 15 25 ?" 10 35 -<> p 15 25 40 35 .so lO S 40 70 llO 70 110 o Observamos que la duración del proyecto es de 110 días y que todas las actividades que eran críticas han dejado de serlo pasando a tener holgura de 10 días. Sólo permanece con holgura O la actividad S. o 17. Red CPM con etiquetación de nodos. Utilizando el análisis CPM con el criterio de etiquetado de nodos, determinar para la red del Ejercicio 5.13: a) El camino crítico y el tiempo de compleci6n del proyecto. b) Las holguras libres y las independientes. e) Si la actividad f se retrasa en 2 meses, indicar qué ocurre sin rehacer el análisis CPM. ,~ 1 •1 d) Si la actividad b se retrasa en 2 meses, indicar qué ocurre sin rehacer el análisis CPM. 312 CAPITULO 5. OPTIMIZACION EN REDES PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS Solución a) Consideramos para la red del Ejercicio 5.13 el análisis CPM con etiquetado de nodos. Si t¡; representa la duración de la actividad asociada al arco (i,j), la etiqueta de Citda nodo será el tiempo más temprano, denotado E;, que se calcula. E;= max {E¡+ t¡;, i de los tiempos más tempranos. Esta etiqueta aparecerá sobre cada nodo de la red dentro de un cuadrado. Se tiene Lg = Eg = 16 La= min{Lg- tsg} = 15 L1 = min{Ls- t7s} = 13 = 1, ... ,j - 1} con E 1 = O. E; representa el primer tiempo en que puede ocurrir el nodo j, esto es, en que se hayan completado todas las actividades correspondientes a los arcos 313 Sobre la red que incidan en el nodo j . El tiempo más temprano del último nodo de la. red será el tiempo de compleción del proyecto. Observemos que el etiquetado comienza. con el primer nodo. La fórmula anterior corresponde al algoritmo de etiquetado del camino más largo. Las etiquetas aparecen sobre los nodos de la red dentro de un triángulo. Se tiene E 1 =0 Eh= max{E¡ +t12} = 2 E3 = max {E¡+ t13, Eh+ t23} = 6 La duración del proyecto es de 16 meses. Los cálculos sobre la red son Podemos expresar estas etiquetas en forma tabular. Para ello, recordamos que la holgura de un nodo i será H (i) = L¡- E¡. Dada la actividad asociada al arco (i,j), si H (i) =O, no se puede retrasar el comienzo de la actividad¡ si H (j) =O, no se puede retrasar la finalización de tal actividad. Por otra. parte, la holgura (total) de la actividad será H (i,j) = L;- E¡- t¡;. La tabla que sigue resume los cálculos de las etiquetas y de las holguras de los nodos y las actividades Acti,idad Nombre (i,j) a A continuación, determinamos los valores de las etiquetas de los tiempos más tardíos empezando por el último nodo. Denotamos con L¡ el tiempo más tardío del nodo i, que viene dado por la fórmula L¡ = min{L;- t¡;,j = i + 1, ... ,n} con Ln = E11 (n es el último nodo de la red). Representa el instante último en que puede ocurrir el nodo i sin que se retrase la compleción del proyecto más allá b F e d e 1 g h i j (1,3) {1, 2) (2,3) {3,4) (3,5) (3,6) (4,9) {5,8) {6, 7) (7,8) {8, 9) t¡; 6 2 o 3 4 3 4 5 3 2 1 T. más temp. E¡ El T. más tard. L; Li o o 6 2 o o 2 6 9 10 9 16 15 12 15 16 6 6 6 6 12 10 10 13 15 6 6 6 9 10 9 12 15 6 6 6 12 10 10 16 15 13 15 16 Holguras H(i) o o 4 o o o o o 1 1 o H(j) o 4 o 3 H(i,j) o 4 4 3 o o 1 1 3 o o 1 o o o 1 1 o 314 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS @RA-~ Las actividades críticas (H (i,j) = O) son a, d,g y j. El camino crítico es a ; d -t g -t j. b) Además, podemos calcular para cada actividad la holgura libre, que se define CAPITULO 5. OPTIMIZACION EN REDES 315 Como el retraso de 2 meses es mayor que la holgura libre pero menor que la h?l~a t~tal, no ~ufrirán modificaciones las actividades posteriores, pero cambtara su ttempo mas temprano final que será~= 4 (también podría cambiar su tiemp? más tardío inicial). o HL (i,j) =Ej-E¡- ~3 y representa la parte de la holgura total que se puede gastar sin afectar a las actividades posteriores y, también, la holgura independiente que se define 18. Red PERT-Montecarlo. Dada la red 2 6 y representa la holgura cuando la actividad anterior ha terminado en su tiempo más temprano y la posterior a ella comienza en su tiempo más tardío. La tabla que sigue muestra las tres holguras de cada actividad Actividad Nombre (i, j) a (1, 3) (1, 2) b F (2, 3) e (3,4) d (3,5) e (3, 6) (4,9) 1 g (5, 8) h. (6, 7) i (7,8) j (8, 9) Holguras t¡¡ H(i,j) HL (i,j) H 1 (i, j) 6 2 o o o o 3 4 o 4 4 3 4 o 3 1 3 4 5 3 2 1 o 1 1 o o o o 3 o o 1 o o o o o o o o -1 o o Observemos que para toda actividad se cumple la desigualdad que corresponde a un proyecto con actividades a, b, ... , h y F1 , F2 fictícias 1 hemos identificado las distribuciones de probabilidad de las duraciones en meses de las actiuidades que son 1 a"' N (5, 2) b.-v-y(6,1) e rv eh d rv U (71 10) e"' N (4, .5) j rv ~ g"' &xp(.2) h "'N {1, .2) donde 62 indica la distribución degenerada en 2. Se desea: a) Determinar la distribución de frecuencias de la duración del proyecto. b) Calcular el grado de criticidad de cada actividad. Solución a) Consideramos 10 replicaciones de la simulación, aunque este número es muy rtlducido para una situación real, será suficiente para nuestra ilustración. Los resultados de las 10 replicaciones correspondientes a las actividades del proyecto, se tienen en la tabla e) Las tres holguras de la actividad f son Como el retraso de 2 meses es menor que la holgura libre, se puede observar que únicamente cambia su tiempo más tardío inicial que será 10. d) Las tres holguras de la actividad b son H {1, 2) = 4, HL (1,2) =O, Hl (1, 2) =O. 316 C~ITULO 5. OPTIMJZACION EN REDES PROGRAMACION LfNEAL Y APLICACIONES: EJERCICIOS RESUELTOS Simulación 1 2 3 4 5 6 7 8 9 10 Media a 1.42 6.44 . 2.35 . 4.96 4.56 1.41 2.63 5.10 4.43 .65 3.39 b 3.82 1.06 5.86 6.11 4.47 3.55 4.51 6.68 8.84 6.88 5.17 e 2 2 2 2 2 2 2 2 2 2 2 d 7.43 9.72 8.93 8.49 7.23 9.23 9.05 8.99 8.18 9.40 8.66 e 2.95 3.54 3.47 3.70 3.40 3.70 4.32 3.11 4.93 3.91 3.70 f g 1.64 1.95 3.79 2.20 4.53 2.09 9.59 .67 3.93 5.95 4.12 .61 6.25 5.63 4.21 18.97 5.30 .27 3.75 2.13 4.71 4.04 h .84 .96 1.02 1.01 1.11 1.03 .90 .80 1.36 .81 .98 A los tiempos de las actividades generados en cada replicación se les hace un análisis CPM, que proporcionará en cada caso los caminos críticos y las duraciones esperadas, tal como se indica en la tabla fr 1 o1 Duración del proyecto 14.04 20.91 20.34 25.20 18.85 17.93 20.71 35.44 23.68 20.84 Camino crítico b-d-g-h a-F¡-d-f-F2-h b-d-j-F2-h b-d-j-F2-h a- F1 - d- g- h b-d-j-F2-h b-d-j-F2-h b-d-g-h b-d- j -F2-h b-d-j-F2-h A partir de la columna duración del proyecto, podemos obtener su distribución de frecuencias Intervalo [10, 15] (15, 20] (20, 25] (25,30] (30, 35] (35,40] Frecuencia Frecuencia Free. rel. absoluta relativa acumulada .1 1 .1 .3 2 .2 .8 .5 5 .9 1 .1 .9 o o 1 .1 1 que permitirá calcula:r, por ejemplo, probabilidades de la duración del proyecto. El histograma de frecuencias relativas acumuladas es ,.....- - so 60 40 rf 20 10 15 20 25 30 35 40 meses b) Es inmediato el cálculo del grado de criticidad de las actividades del prorecto, frecuencia relativa de las actividades que son críticas en el conjunto de simulaciones, que son Actividad Simulación 1 2 3 4 5 6 7 8 9 10 317 a b e d Grado de criticidad .2 .8 o 1 Actividad e Grado de criticidad o f .7 g h .3 1 o 19. Red Roy y método de los potenciales. Dada la tabla de precedencias del Ejercicio 5.13, se desea: a) Construir la red Roy {criterio de repr~s.entáción de actividad-nodo}. · b) Determinar el camino crítiC(} utilizando el método de los potenciales sobre la red C(}nstruida. e) Supongamos que se admite un solapamiento de 2 meses entre las actividades d y g, y se obliga a un desplazamiento de 5 meses entre las actividades b y e. Determinar si esto afecta al camino crítico y al tiempo de compleción del proyecto. Utilizar la red Roy para ver las incidencias. Solución a) A partir de la tabla de precedencias o de la matriz de encadenamientos (ver Ejercicio 5.13a) es sencillo construir la red Roy, que contiene, además de un nodo por actividad, un nodo inicial (J) y otro fi.nal (F) del proyecto que permite cerrar la red. Los nodos están representados por cajas que contienen el nombre y la duración de cada actividad, en las partes superior e inferior, respectivamente. .' 3L8 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS ©RA·MA CAPITULO 5. OPTI~IIZACION EN REDES 319 A continuación, calculamos los tiempos máximos de cada nodo empezando por el último y continuando en orden decreciente. El cálculo del tiempo máximo de un nodo k, se hace con la fórmula Observamos que, a diferencia de la representaciones anteriores, aquí no resulta necesario introducir actividades ficticias, aunque sí los nodos ficticios I y F. b) Para aplicar el método de los potenciales sobre la red, asignamos las etiquetas correspondientes a los tiempos mínimos de cada nodo. Si con tk representamos la duración de la actividad asociada al nodo k, su tiempo mínimo, denotado TJ:, se calcula con la fórmula Tf: =max {Tr + t¡} para toda actividad l que preceda a la k, empezando con tiempo mínimo Tf =O para la actividad inicio. Así, para toda actividad l que siga a la k, comenzando con T;1 = T? obtiene Tftl =16 Tfl =rnin{16 -1} =15 Tfl = min{l6- 4} = 12 = 16. Así, se Ta.M = min {9 - 6, 6 - 6} = O Tr =o y sobre la red se tienen los tiempos máximos situados a la derecha de cada caja. Para el cálculo de las holguras basta con diferenciar el tiempo máximo y mínimo de cada actividad, es decir, para la actividad k, su holgura será H(k) = Tfl - T~;m Tf=O T;: = max {O+ O} = O T{' = max {O+ O} =O ~ = max{0+6,0+2} =6 T? = max{9+4,15 + 1} = 1, l. que aparecen en la red de la figura sobre cada caja. Las actividades críticas son a, d, g y j, que determinan el camíno crítico de longitud 16 semanas. 16 y el tiempo mínimo de la actividad final TJ!!' = 16 será la duración del proyecto. La figura muestra los cálculos de los tiempos mínimos sobre la red que se han situado en la parte izquierda de la caja que representa cada nodo. '1 " 1 Podemos resumir estos valores en una tabla 320 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS Actividad Nodo Duración a 6 b 2 1 ij 1 e 3 d e 3 f 4 g 5 3 2 1 h i j T. mínimo T. máximo Tf:' Tf Holgura H(k) o o o o 4 9 6 7 6 6 6 9 10 9 4 12 10 10 13 15 12 15 - ©RA-MA 4 3 o 1 3 CAPITULO 6 1 1 PROGRAMACION ENTERA o o La obtención de las etiquetas del análisis CPM es inmediata sólo con tener en cuenta que para una actividad k es PC = TJ:", TC = Tt , PT = TJ:" + tk y TT=Tt +tk. e) Indicamos el solapamiento de 2 meses entre las actividades d y g (esto significa lj 1· ¡ 1 ¡t ¡j 't ' que la actividad g puede empezar 2 meses antes de que hubiera. terminado la actividad d) con la notación [2] sobre el arco que las une. El.desplazamiento de 5 meses entre las actividades by e (esto significa que la actividad e debe comenzar 5 meses después de haberse completado b) se denota con un (5) también sobre el arco que las une. Se comprueba que 1 1 1, !: T_!1l 9 -- 8 y ~=7 Recalculando los tiempos mínimos y máximos de la red, ésta queda El camino crítico es b -+ e'-+ h -+ i -+ j, también con duración 16 meses. l l' 1 O Este capítulo se dedica a la modelización y resolución de problemas de Programación Entera, o problemas de optimización en los que algunas o todas las variables de decisión se restringen a valores enteros. Se estudian únicamente problemas lineales. Se motiva con un ejercicio inicial la necesidad de métodos o algoritmos específicos de programación entera. Para ello, se comienza con la aplicación de algunos procedimientos sencillos de programación entera como son el de enumeración exhaustiva o explícita y el de aproximación por redondeo. Tales procedimientos son fácilmente criticables y objetables, lo que llevó a desarrollar a partir de la década de los años cincuenta otros métodos como los de ramificación y acotación y de planos de corte. El método de ramificación y acotación sigue la idea general de particionar el conjunto de soluciones factibles en subconjuntos menores no solapantes, para, posteriormente, de manera ingeniosa, eliminar algunos subconjuntos que no pueden contener la solución óptima. Por ello, se dice que enumera de forma parcial o implícita las soluciones factibles. Consideramos una versión sencilla de éste, con la regla de la mejor cota, que se aplica a programas enteros puros, mixtos y 0-1. Se construye en todos los casos el árbol que muestra las iteraciones de la aplicación del método, permitiendo así una fácil comprensión de su desarrollo. El método de planos de corte resuelve una sucesión de problemas de programación lineal relajados con una región factible cada vez más restringida al ir añadiendo nuevas restricciones (cortes) hasta alcanzar una solución óptima con valores enteros. De sus diferentes variantes, consideramos aquí el algoritmo fracciona/ de Gomory. La objeción más fuerte a estos métodos es la lentitud de la 322 ¡~ J :¡ ol 1 1 1 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS ©RA-MA CAPITULO 6. PROGRAMACION ENTERA 323 convergencia. Como consecuencia, se está desarrollando en estos últimos años un método mixto con resultados prometedores. El proceso de modelización de programas lineales enteros se ilustra con variados ejercicios considerando, además, una serie de problemas clásicos como los de la mochila, del viajante, de localización, de secuenciación de tareas, de emplazamiento y cubrimiento, de coste fijo, ... Es conocida la complejidad computacional de algunos de estos problemas, lo que ha llevado a desarrollar heurísticas bastante más eficientes que la solución basada en programación entera, pero que nosotros no consideraremos aquí (ver Ríos Insua, Ríos Insua y Martín, 1997) . ! EJERCICIOS l. Soluciones de un programa entero. Dado el problema lineal entero max z s.a = Xl + X2 S 10 - x1 +x2 S 7 x1,x2 ~O y enteras Resolverlo: a) Por redondeo de la solución del problema relajado asociado. b) Por enumeración exhaustiva. e) Con el algoritmo de ramificación y acotación. Solución a) El problema relajado asociado{PR) es el problema entero (PE) enunciado prescindiendo de la condición de que las variables sean enteras. Aplicando el método del símplex, en dos iteraciones se alcanza la ~olución óptima xj:,R = (xi, x2) = (1.5, 8.5) con zj, R = 38.5. Como esta solución no es entera, la redondeamos a los valores enteros más próximos. La solución óptima del problema entero será aquella aproximación factible (si existe) que dé mayor valor a la función objetivo, ya que el problema es de maximización. Al ser ambas coordenadas no enteras y estar en dos dimensiones, habrá cuatro aproximaciones x 1 -- (1 ,8) , o 5 3xt + 4x2 x 3 = (1 , 9), La figura muestra las cuatro aproximaciones. x4 = (2,9) . Las soluciones factibles son x 1 y x 2 . Los valores respectivos de la función objetivo son z1 = 35 y z2 = 38. Por tanto, se sugiere x 2 como la solución óptima xj,E del problema entero. Este procedimiento de solución tiene fuertes objeciones: podría ocurrir que ninguna de las aproximaciones por redondeo fuera factible; además, si el número de variables enteras es grande, el número de aproximaciones enteras a la solución óptima del problema relajado puede ser muy grande. Por ejemplo, para 25 variables enteras, podría ser necesario analizar más de tres millones de posibles sol~ciones enteras y sin garantía de alcanzar una solución óptima para el problema entero. b) La aplicación del método de enumeración exhaustiva comienza determinando los recorridos individuales de las variables de decisión. Para ello, podrían resolverse los problemas maxxeF Xi y minxeF Xi , para cada variable Xi· El recorrido de la variable de decisión X1 es X1 = {0, 1, ... , 10} ¡-el de X2 es X2 = {0, 1, ... , 8}. El producto cartesiano de ambos es S= Xt x X2 = {(O, O), {0, 1), (O, 2) , ... , (10, 8)} cuyo cardinal es 99. Debemos determinar qué puntos de S son factibles. Mediante comprobación de las restricciones, se obtiene que los puntos factibles Fps para el problema entero son 62, que se representan en la figura. 324 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS @RA-M_A x2 PLl XPL! = (1 ,8) ZPLl = 35 @ ~ x* PE S ~:. o 1: 1 ¡, ¡1 ¡l 1 S xl Se comprueba que el punto de FPE que da mayor valor a la función objetivo es XpE = (2,8) COn ZpE = 38. Este método tampoco está exento de objeciones. No se considera razonable el proceso de enumeración para resolver programas enteros, al menos, en un tiempo razonable. Para un problema de tamaño pequeño, con 15 variables de decisión y cada variable con 20 valores, habría que analizar más de 10 trillones de puntos. Por otra parte, hay problemas con regiones no acotadas y, en tal caso, el problema sería intratable con tal procedimiento. Así, la utilización de estos dos métodos resulta poco recomendable. e) Aplicamos el método de ramificadón y acotación con la regla de la mejor cota, que denominamos zs· Comenzamos observando que la solución óptima del problema relajado x?n = {1.5, 8.5) no es entera, por lo que debemos ramificar sobre una variable con valor no entero. Tomamos como cota inferior z¡ = - oo. Elegirnos para ramificar la variable x 1 = 1.5 y formamos dos subproblemas añadiendo al problema relajado, respectivamente, las restricciones x 1 ~ 1 y x 1 ~ 2. Los nuevos subproblemas serán max z s. a PL1: = 3x¡ + 4x2 maxz = PR X¡~ X¡,X2~Ü PL2: X¡+ X2 ~ 10 ~ 7 - X¡ + X2 2 PL2 PLl PR X¡:::; PR X¡~ 1 (1,8) z = 35 X= Terminal ZS 2 (2,8) z = 38 X= = 35 ~ 38 = Z¡ Terminal Z¡ = 38 o maxz = 0 ·r •' 2x¡ + x2 s. a X2 ~ 5 4x¡ + 3x2 ~ 10 X ¡ ,xz ~O y enteras X¡- 2 X¡,X2 ~ X¡ ~ 1 = - oo 2. Solución de un programa entero (cortes de Gomory y ramificación y acotación). Resolver el programa lineal entero , c 3x 1 + 4 x2 X¡~ z¡ = (1.5, 8.5) z = 38.5 X s.a X¡+ X2 ~ 10 -X¡+ X2 ~ 7 X1 ~ 1 PL2 XPL2 = {2, 8) ZPL2 = 38 Sondeamos primero el problema PL2, ya que su valor óptimo es mayor que el de PLL Su solución óptima es entera. Por tanto, es terminal. Actualizamos la cota inferior haciéndola igual al valor óptimo del objetivo de ese problema, es decir, z¡ = 38. Pasamos a sondear el problema PLl, que será terminal, por ser su cota z?L 1 = 35 < 38 = z¡. El algoritmo concluye, ya que no quedan subproblemas por sondear. La solución óptima del PE es la del subproblema PL2 . El árbol que sigue representa el procedimiento de ramificación y acotación del problema entero considerado. . 1 325 Aplicando el método del símplex a cada subproblema, se obtienen las soluciones CD 1 CAPITULO 6. PROGRAMACION ENTERA ::"' .. 1 '¿ ) :.J ...' .; 1 /..1 ~ -' ·o ~· 326 PROGRAMACION LINE:AL Y APLICACIONES: EJERCICIOS RESUELTOS CAPITULO 6. PROGRAMACION ENTERA ©RA-M_& a) Mediante el algoritmo de planos de corte fracciona[ de Gomory. Solución a) Expresando el programa en formato estándar, con variables de holgura x3,x 4, y resolviéndolo con el método del símplex, se obtiene la tabla óptima es o Cj 2 1 o o VB xs X¡ X2 xs X4 Xs - 7/4 3/4 1/2 1 -1/4 5/2 5/2 5 2 o X¡ 1 z; - e; o o o 1/4 1/2 2 1 VB X¡ X2 2 XJ X¡ o b) Mediante el algoritmo de ramificación y acotación. La solución óptima es x 0 = (xY, x~) = (5/2, 0), que no es entera para la primera variable. Formamos el corte de Gomory tomando como fila p fuente aquella correspondiente a una variable de decisión básica en la tabla anterior que cumpla ¡g = min{JP >O: ¡p = x~- [x~]} L: !pj'Xj + sp = - ¡g, donde fpj = YPi - (Ypj], con Sp variable de holgura con añadida a esta nueva restricción, siendo [A] parte entera de A. Se tiene que p = 2 con ¡g = 5/2- [5/2] = 1/2. Entonces, el corte fracciona! de Gomory, es 1 X2 3 1 -¡x2- ¡x4 + xs 1 = - 2. La solución es x0 = (xY, x~) = (2, 2/3) . Como x2 no es entera pero x 1 sí, la fila fuente se tiene para p = 3, así que ¡g = 2/3- [2/3]. El corte es con X6 variable de holgura, es decir, 1 e, 2 1 o o es VB o X¡ X2 X3 X4 1 -7/4 3/4 -3/4 1/2 1 2 X3 X¡ o xs o o o -1/4 1/4 - 1/4 1/2 X5 o o 2 2 -3x4- 3xs+x6 = -3. Añadimos esta restricción a la tabla anterior, teniendo la nueva tabla ampliada es o Cj 2 1 VB o o o o X¡ X2 xa X4 X6 1 1/3 xs - 7/3 - 1/3 -1/3 1/3 -4/3 -2/3 2/3 o o xs 2 1 1 o o o 1 o o o o o o o X¡ X2 X6 o Cj Cj 2 1 es VB X¡ X2 2 XJ X¡ o Añadimos esta restricción a la tabla anterior, teniendo la nueva tabla Zj- Cj X4 o o o o l l o XS 11/3 2 2/3 -2/3 14/3 que es primal infactible. Aplicando el método del símplex dual, en una iteración se tiene la tabla con x5 variable de holgura, es decir, o o Xs xs l/3 -7/3 11/3 o 1 2 -4/3 1/3 2/3 1/3 2/3 14/3 X3 o o 1 1 o o o 1 o o o o Zj- Cj Zj - o o o Cj es 327 o o 1 o 1 o XS 5/2 5/2 -1/2 5 que es primal infactible, x 5 = -1/2 <O. Aplicamos el método del símplex dual. En una iteración se tiene la tabla primal factible X2 X4 Zj - Cj o o o o XJ o o 1 1 o o o 1 o o o o o o o X4 X~ X6 o o o Xs -3 1 -2 2 1 3 2 l o o o 1 -3 l o 2 4 La solución es x 0 = (2, O) . Como es entera, constituye la solucinp óptima del problema entero. Por tanto, x j,E = (xi , x2) = (2, O) con zj,E = 4. Compruebe el lector que existe un óptimo alternativo dado por x?E = (1, 2). 328 ©RA-~ PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS CAPITULO 6. PROGRAMACION ENTERA b) Lo resolvemos ahora con el método de ramificación y acotación. Consideramos el problema relajado asociado {PR) cuya solución óptima es xf>R = (2.5, O) con z?n = 5. Como no es solución entera, continuamos. Tomamos z¡ = -oo como cota inferior y ramificamos sobre la variable x 1. Consideramos los subproblemas lineales PL1 y PL2, que con sus respectivas soluciones (aplicando el método del ·símplex) son PL1 PL2 PR, X¡::; 2 (2, 2/3} z, = 4.67 PR, X¡~ 3 PL2: PL3: { X¡ ~ 2, X2 X :::;: z3 (2, O) =4 :::;: o PR, PL4: { X¡ ~ 2, 3 ~ IN FACTIBLE Terminal { Infactible PL3 El valor óptimo de la función objetivo del problema PLl , zs =4.67, será la cota superior asociada a este subproblema. Como PL2 es infactible y PLl no proporciona una solución entera, debemos seguir con el procedimiento. Ramificamos en PL1 sobre la variable x2 cuyo valor es .67. Obtenemos los subproblemas PL3 y PL4 PR, X¡~ PR, X= PR, X¡~ 2 PLl: X:::;: (2, .67) { Zs =4.67 329 X2 ~1 (1.75, 1) Zs = 4.5 X= El problema PL3 es terminal, ya que la solución óptima se alcanza para valores enteros. Como consecuencia, se actualiza la cota inferior al valor de la cota superior asociada a este problema, es decir, z1 = 4. Por otra parte, PL4 no es terminal ya que es factible, su cota superior z5 = 4.5 > 4 = z¡ y la solución tiene valores no enteros. Por tanto, debemos continuar la ramificación a partir de este subproblema. Obsérvese, sin embargo, que en este caso la función objetivo sólo tomará valores enteros, así que podríamos haber considerado PL4 terminal. Ramificando sobre la variable x 1 cuyo valor es 1.75, se tienen dos nuevos subproblemas PL5 y PL6 PR, X¡~ 2 PR, X¡~ 2 PL5: X2 = O,x¡ ~ 1 PL6: x2 ~ l,x¡ ~ 2 { x=(l,2) { Infactible Zs = 4 El subproblema PL6 es terminal por ser infactible; el subproblema PL5 también, por razón doble: su cota superior zs = 4 ~ 4 = z1 y, además, la solución óptima se alcanza en valores enteros. Por tanto, tenemos la solución óptima del problema entero. Además, hemos encontrado un óptimo alternativo PL3 que es el punto X= (2, O). El árbol con los correspondientes nodos (subproblemas) correspondiente al desarrollo del método se tiene en la figura PL4 PR X¡ ::; 2,X2::; X= PR 0 X¡ ::; (2,0} X= =4 Terminal Z¡ =4 z. Zs X¡::; 2, X2 2: 1 (1.75,1} 4.5 = 1 X¡ 2:2 PL5 PL6 PR, X ¡::; 2 X2 2: 1, X¡ ::; (1, 2) z, = 4 Terminal PR, 1 X2 X¡::; 2 2: 1, X¡ 2: 2 X= z, = 4::; 4 = Z¡ INFACTIBLE Terminal o 3. Ramificación y acotación para un programa entero mixto. Dado el programa entero mixto (PEM) max z s.a = -3x¡ + 1x2 + 12x3 -3x¡ + 6x2 + 8x3 ~ 12 6x 1 - 3x2 + 7x3 ~ 8 2x¡ + 3x2 + 3x3 ~ 25 X¡,X2,x3 ~O y X¡ 1 X3 enteras Resolverlo mediante el algoritmo de ramificación y acotación. 330 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS @RA-MA Solución Consideremos el problema relajado (PR) max z s.a = CAPITULO 6. PROGRAMACION ENTERA del problema entero mixto es la proporcionada por el subproblema PL3. Así, xi = O,x2 = .67 y xj = 1, con zf.Eu = 16.67. El árbol con los correspondientes nodos (subproblemas) correspondiente al desarrollo del método se tiene en la figura - 3x 1 + 7x2 + 12x3 -3x¡ + 6x2 + 8x3 ::; 12 6x¡ - 3x2 + 1x3 ::; 8 2x 1 + 3x2 + 3x3 ::; 25 PR z, = 17.39 PL1 Su solución óptima es x?R = (0, .303, 1.27) , con z?R = 17.39. Como x?R no es entera en xa debemos continuar. Tomamos como cota inferior inicial z¡ = -oo y ramificamos sobre la variable con valor no entero, que deba serlo, de menor índice, en este caso X3 = 1.27. Consideramos los subproblemas lineales PL1 y PL2, que con sus respectivas soluciones son PR, X3::; 1 (.67, 1, 1) { Zs = 17 X = PR, X3 ~ 2 PL2: { Infactible 1, X¡ ~ 1 X= (1 , 1.35, .86) Zs = 16.80 PR, PL4: { X3 ::; El problema PL3 es terminal, ya que la solución óptima se alcanza para valores enteros de las variables x 1 y x3. Como consecuencia, se actualiza la cota inferior al valor de la cota superior asociada a este problema, es decir, z¡ = 16.67. Por otra parte, PL4 no es terminal, ya que es factible, su cota superior zs = 16.80 > 16.67 = z1 y la solución tiene valor no entero para x3 . Por tanto, debemos continuar la ramificación a partir de este subproblema. Ramificando sobre la variable x 3 , cuyo valor es .86, se tienen dos nuevos subproblemas PL5 y PL6 PL5: PR, X¡ ~ 1, X3 = o X = (3.1, 3.5, O) { Zs = 15.5 PR, X¡~ PL6: { 1,X3 =1 ~2 X3y PR, X3 ~ 1 PL3 PR l ,X¡ = 0 PR, X¡ ~ El subproblema PL6 es terminal por ser infactible. El subproblema PL5 también, ya qu~ su cota superior zs = 15.5 ::; 16.67 = z¡. Por tanto, la solución óptima · 2 X3 ~ Terminal PL4 PR l,x¡ ~ l X= {1, 1.35, .86) z, = 16.80 X3~~~1 1, X3 = o X = (3.1, 3.5, O) z. = 15.5 Terminal PR, x, ~ PL6 1, X3 = 1 INFACTIBLE '• = 15.5 ~ 16.67 = zr Terminal o 4. Ramificación y acotación en un problema 0-1. Resolver el problema 0-1 max w s.a = -X¡- x2- 2x3- x4 2x 1 - 3x2 + xa ::; 2 2 X¡ - X2 - X4 ::; Infactible X3 ~ INFACTIBLE X¡ :;/~~ 1 X= {0,.67,1) z. = 16.67 Terminal zr = 16.67 PL5 PL2 PR, X= (.67, 11 1) z, = 17 X3 ~ PL2 es infactible y PL1 no es terminal, por lo que continuamos con el algoritmo. Ramificamos sobre la variable x 1 cuyo valor es .67. Consideramos los nuevos subproblemas PL3 y PL4 PR, X3::; 1,X¡ =o PL3: X= (0, .67, 1) { Zs = 16.67 zr = -oo x = (0, .303, 1.27) X¡,X2 1 X3 ~0 PL1: 331 -1 X2 + X3 + 2x4 ::; 3 Xj =0,1, j = 1,2, 3,4 mediante el algoritmo de ramificación y acotación. 332 PROGRAMACJON LINEAL Y APLICAClONES:-EJERClCIOS RESUELTOS @RA-~ Solución Comenzamos transformándolo en otro problema G-1 equivalente con los coeficientes de la función objetivo positivos y en orden creciente de magnitud. Para ello, hacemos la transformación teniendo el nuevo programa G-1 (salvo la constante -5 en el objetivo), w = z-5, max z s.a. = Yt + Y2 + Y3 + 2y4 - 2y¡ + 3y2 - Y4 ~ 2 - 2y¡ + Y2 + Y3 ~ -1 -Y2 - 2y3 - Y4 $ -1 Yi = O, 1, j = 1, 2, 3, 4 Estamos ya en condiciones de apUca.r algoritmo de ramificación y acotación para problemas 0-1. Sea F la región factible del problema anterior prescindiendo de las condiciones G-1. Consideremos, además, el problema relajado max z s.a = Yt + Y2 + Y3 + 2y4 CAPITULO 6. PROGRAMACION ENTERA La solución parcial de PRl es y = (0, -, -,-); la solución donde alcanza su cota superior se ha obtenido haciendo O la componente k + 1 = 2 y el resto 1's, t.: decir, en Ys =(O, O, 1,1). Análogamente, la S!>lución parcial de PR2 es Y= (1, -,-, - )y la cota superior se tiene para Ys = (1,0, 1, 1). Basándonos en la regla de la mejor cota (mayor z3 ), analizaremos primero el subproblema PR2. Observemos que las compleciones de la solución parcial de PR2 son 1,0,0,0 1,1,0,0 1,0,1,0 ,.1,0,0,1 1,1,1,0 1,0,1,1 1, 1, 0,1 1, 1, 1,1 Se comprueba que: i) Hay alguna compleción que verifica las restricciones de F, luego no es infactible y, ii) No es z5 = 4 menor que la actual cota inferior z¡ = O. Por tanto, no se puede declarar terminal PR2 por alguna de estas condiciones. Sin embargo, iii) como Ys = (1, O, 1, 1) E F, es terminal. Además, actualizamos la cota inferior z¡ = 4. A continuación, sondeamos el subproblema PRl. Vemos que su cota superior Zs = 3 < 4 = z¡, y por tanto, PR1 es terminal por la condición ii). Así, la solución es Yi = 1, Y2 = O, yj = 1, y: = 1 con z* = 4. Deshaciendo el cambio de variable, se tiene la solución óptima del problema original xi =O, y EH 333 YÍ = 1, yj =O, Y.i =O con valor para el objetivo w• = z• - 5 = 4- 5 = -l. El árbol correspondiente al desarrollo del método se tiene en la figura cuya región factible es 1 = (1, 1, 1, 1} ~F al haber prescindido de las restricciones lineales. Observemos primero que 1 = (1, 1, 1, 1) (/. F. Por tanto, no podrá ser la solución del problema entero. Consideramos la cota inferior z¡ = z (O) =O. Como cota superior, el valor del objetivo en Ys = (0,1,1, 1) , es decir, Zs = z (Ys) = 4. Observemos que, como l f/. F, la solución anterior, que puede o no ser factible, es la que proporciona el mayor valor al objetivo. Como Ysfi.F, debemos ramificar. Hacemos k = l. La ramificación se lleva a cabo sobre y 1, teniendo los subproblemas PR1 y PR2 PR y= (O,-,-,-) PRl: { Ys=(0,0, 1,1) Zs = 3 PR2: PR y= (1,-,-,-) { Ys = (1,0,1,1) Zs = 4 PR y, =(O, 1, 1, 1} z, = 4 PR1 Yty PR Z/ =0 ~=1 PR2 y= (O,..,..,-) PR y= (1,-,..,-) y,= (0,0,1,1} z. = 3 y,= (1,0, 1, 1) z, = 4 Terminal z, = 3 < 4 = Z¡ Terminal y,= (1,0, 1,l}E F Z¡ =4 o 334 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS @RA-MA 5. Modelización de restricciones disyuntivas. En diversos problemas, se estudia la existencia de una solución que esté en al menos k conjuntos de m dados. Modelizar las correspondientes restricciones como si fuesen las de un PE para el caso en que los m conjuntos tengan la estructura pi= {y : A¡y ~ b¡, y ~ O} i = 1, ...,m. CAPITULO 6. PROGRAMACION ENTERA 335 con w¡ E {O, 1} , k el menor entero tal que 2k - 1 ~ U¡ y repitiendo el proceso para X2, X3, ... , Xn, utilizando u2, ... ,Un, cotas superiores sobre las respectivas variables x2, ... , Xn y las nuevas variables w¡ necesarias. Qon este esquema, las variables w¡ pueden considerarse como los bits de una representación binaria de Xj. Apliquémoslo al ejemplo del enunciado. Observemos en primer lugar que de las restricciones se sigue que X¡ ~ 12, x2 ~ 12, x3 ~ 12. Representamos las variables Xj en formato binario, tomando k = 4. Así Solución = 8w1 + 4w2 + 2w3 +W4 xz = 8ws + 4w6 + 2w7 + ws X¡ Sabemos que para cualquier y ~ O, existe w suficientemente grande tal que A; y ~ b¡ + w. Por tanto, tomando las variables x¡ = O, 1 y las restricciones A;y ~ b¡ + (1 - x¡) w, i = 1, ...,m m ¿ X¡~ k i=l X¡= 0, 1, y ~ max z 6. Formulación de un problema ent ero puro como uno 0-1. Dado un problema entero puro, reformularlo como un problema O-l. Aplicarlo al problema = = + 4w2 + 2w3 + w4) + 4 (8ws + 4w6 + 2w1 +ws) + +{8w9 + 4WIO + 2W¡ ¡ + W¡2) 2 (8w1 s. a (8w 1 + 4w2·+ 2w3 + w.¡) + {8ws + 4w6 + 2w7 + ws) + + {8wg + 4wiO + 2wu +Wt2) ~ 8.3 (8w¡ + 4wz + 2w3 + w4) + {8ws + 4w6 + 2w7 + ws) - {8wg + 4wl0 + 2wu +Wt2) ~ 12.5 w¡=O, l , i =1 ,2,3,4 2x 1 + 4x2 + X3 Aplicando el algoritmo de ramificación y acotación se obtiene la solución óptima X¡+ X2 + X3 ~ w5 = 1 X¡ +X2 - X¡, xz, X3 8.3 12.5 ~ Oy enteras X3 ~ Solución El interés por reformular un problema entero como uno 0-1 reside en que el esfuerzo computacional de resolución de un problema 0-1 puede ser bastante menor que la resolución de un problema entero de tamaño comparable. El método funciona correctamente si las variables del problema entero original están acotadas, es decir, se puede deducir de las restricciones que Xj ~ Uj , j = 1, ..., n. Tales cotas pueden obtener~e resolviendo los problemas maxxeF X¡ para cada x;. Dado un problema entero puro con n variables de decisión, consideramos para la variable x 1 la representación binaria dada por X¡ = 8wg + 4w¡o + 2w¡¡ + w12 con w¡ = O, l. Entonces, el programa 0-1 equivalente es 0 con w suficientemente grande, se garantiza que una solución y está en al menos k conjuntos de m dados. o max z s. a x3 = 2k- lW¡ + 2k-2w2 + ··· + 21Wk - 1 + 2°Wk el resto de variables nulas y z* = 32. El lector puede comprobar que la solución óptima del problema entero original es xi = O, x2 = 8, x3 = O con el mismo valor para el objetivo. o 7. Localización de fábricas. El servicio de estudios de una compañía pretende construir nuevas fábricas en las ciudades A y B. Desea, además, construir a lo sumo un nuevo almacén, pero éste debe hacerse en una de las ciudades donde se construya una fábrica. La tabla proporciona el valor actual neto, el coste de la inversión, ambos en cientos de millones de ptas, y el impacto ambiental, en una escala subjetiva de O a 9, de cada una de las construcciones. 336 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS Construcción Fábrica en A Fábrica en B Almacén en A Almacén en B Valor actual Coste de inversión neto 9 6 5 3 6 5 4 2 Impacto ambiental 3 7 2 1 El presupuesto de la inversión es de mil millones de ptas. Se pide: CAPITULO 6. PROGRAMACION ENTERA La función objetivo representa la maximización del valor actual neto dado por Tenemos entonces, el problema 0-1 max z s.a = X3 actual neto. Resolver tal problema por el método de acotacíón y ramificación. Solución a) Definimos las variables 0-1 X¡= { ~ si se construye la fábrica en A en otro caso = id. fábrica B = id. almacén A X4 = id. almacén B x2 xa +5x2 + 6xa + 4x4 + X4 ~ 1 -x¡ +xa ~O - x2 +x4 ~O Xi = 0, 1, i = 1, 2, 3, 4 b) ldem pero con el mínimo impacto ambiental. que se desvíen lo menos posible de los valores óptimos obtenidos en a) y b). Como medida de desviación total, utilizar la suma de las desviaciones absolutas, considerando el valor neto en' cientos de millones de ptas. 9x¡ 6x 1 + 3x2 + 5xa + 2x4 ~ 10 a) Formula1· un programa 0-1 que proporcione la inversión de máximo valor e) Formula·r un modelo de programación entera que proporcione las inver·siones 337 Lo resolvemos con el método de ramificación y acotación para variables O-l. Para ello, hacemos el cambio de variable que nos conduce a resolver el problema max z' s. a = 4y¡ + Sy2 + 6ya + 9y4 2y 1 + 3y2 + 5ya + 6x4 ~ 10 Yt +Ya:::; 1 Ya - Y4 ~O Yt- Y2:::; O Yi =O, 1, i = 1,2,3,4 Las restricciones se deben a: - Construcción de, a lo sumo, un almacén - Límite presupuestario de inversión, en cieg_tos..de·milloues, - Sólo se puede construir un almacén en A (B) si se construye una fábrica en A (B) Aplicando el método de ramificación y acotación con la regla de la mejor cota, se tiene el árbol · 338 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS CAPITULO 6. PROGRAMACION ENTERA ©RA-MA 339 b) En este caso, el problema es PR1 PR Z¡ y, = (0, 1, 1,1) z. min z = 0 = s. a =20 + 3x2 + 5x3 + 2x4 ~ 1Ó X3 + X4 ~ 1 6x¡ y¡= 1 PR2 PR3 PR y = (0, -· -· _) y J = (0, o, 1, 1) z, = 15 PR8 / y= (1, ... -.-) y,= (1,0,1,1} z, = 19 PR y = (0, o, -· -) Ys = (0,0,0,1} z, = 9 PR9 PR y= (0,1, _,_) Ys =(0,1,0,1} p:Y~~ l PR y = (1, o, ... -) Zs PRS = 13 Z/ = 14 Terminal ;-\, PR y = (1,1,0, _) y,=(l , l ,O,O) z. = 9 Zs . ..... PR y = (1, 1, 1, -) =O, Y2 =1, Ya =O, y~ =1 con z• =14. Deshaciendo la transformación, se obtiene la solución del problema original xi =1, x2 = 1, xj = O, X3 +X.¡~ = 1,2,3,4 l - X¡+ X3 ~ 0 - x2 +x<t ~O X¡= 0,1, Í = 1,2,3,4 lnfactible La solución óptima la proporciona el subproblema PR9, que es Y~ 0,1, i Introduciendo variables de desviación s¡, s2 ;::: O, formulamos el problema entero mí..·<to min d = S ¡ + s2 s. a 9x¡ + Sx2 + 6x3 + 4x4 +S¡ = 14 3x¡ + 1x2 + 2x3 + x4 - s2 =O 6x¡ + 3x2 + 5x3 + 2x.¡ ~ 10 z. = 15 < Z¡ X¡= 0 ~ 0 Es evidente que la solución más ecológica se tiene para z• = O, que corresponde a no construir nada. e) Para cualquier plan (x 1, x2, x3, x 4 ) de construcción se tiene y , = (1,1,1,0) Terminal + X4 + Sx2 + 6x3 + 4x4 ~ 14 3x¡ + 1x2 + 2x3 + x.¡ 2': O Factible < Z/ -X2 9x¡ PR y = (1, 1, -· -) yJ = (1, 1, o, 1) z, =18 y,= (1, 0,0,1) z, = 14 Terminal Z1 ~ .. - X¡+ X3 ~ PR Y2 = O/ " " ' Ya = 1 3x¡ + 1x2 + 2x3 + ~4 S¡ 1 S2 2': 0 cuya solución óptima es xi = 1, x2 = xj = x4 = o, sr = 5, s2 = 3. Por tanto, sé recomienda construir una fábrica en A, obteniendo un valor actual neto de 900 roBlones y un impacto ambiental de 3 unidades. O x: =O que corresponde a construir fábricas en A y B, pero ningún almacén, obteniendo un valor adual neto de 1400 míllones. Obsérvese que PR7 es infactible, pues no e..xiste ninguna compleción que cumpla y 1 + Y3 ~ l. 8. Secuenciación de conductores. Una empresa local de autobuses realiza trayectos etttre cuatro ciudades A, B, C y D, de acuerdo con el esquema de la figura. Los trayectos están representados por arcos etiquetados con un par de números: el primero representa el número del trayecto; el segundo su duración en horas, incluyendo los tiempos de tránsito en las estaciones de las ciudades por donde pase. 340 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS ©RA-~_!A CAPITULO 6. PROGRAMACION ENTERA Ruta j 1 2 3 4 5 6 La empresa tiene contratados a cuatro conductores P, J, L y M. Los dos primeros viven en la ciudad A; los dos segundos, en D. La politica que sigue la empresa en sus operaciones viene determinada por las dos condiciones siguientes: Conductores Trayectos en la ruta factibles 3-2 P,J P,J 3 - 7 -8 P,J,L ,M 4-1 - 2 P,J,L,M 4- 6- 8 1-7-5 L,M L,M 6-5 N° de horas 4 7 N° de tránsitos 1 2 '7 2 2 2 8 8 6 341 Coste ci x10 3 ptas 22 39 39 44 1 44 32 De esta forma, el problema de asignar conductores a trayectos se reduce al de asig· nar conductores a rutas factibles. Definimos, entonces, las variables de decisión 0-1, x . = { 1 si se elige la ruta j J O en otro caso Para construir las restricciones, observemos que, por ejemplo, el trayecto 1 queda cubierto si se hacen las rutas 3 ó 5. Ello se conseguirá imponiendo que l. Cada día un conductor realiza con su. autobús sólo una operación, es de- cir, una sucesión de trayectos qu.e comienzan y terminan en su ciudad de residencia y no incluye un mismo tr·ayecto más de u.na vez. 2. Ningún conductor puede estar al volante más de 8 horas. La empresa está en condiciones de afirmar que cubrirá cada trayecto al menos una vez por día, pero sin garantizar una adecuada conexión entre horarios para los diferentes trayectos. Además, la empresa paga a los conductores 5000 ptasjhora al volante y 2000 ptasjtránsito (ciudades intermedias por las que pasa la ruta). Formular un programa entero que sugiera cómo deben asignarse los conductores a los trayectos para que el coste total sea mínimo. Procediendo de forma análoga con el resto de los trayectos, se tienen las restricciones X¡+ X3 ~ 1, X4 + X6 ~ 1 X ¡+ X2 ~ + X4 X5 + X6 X3 5000 X (2 + 3 + 2) + 20QQ X 2 = 39000 ya que son 2+ 3 + 2 = 7 horas y 2 tránsitos, con ciudades intermedias By C. La tabla resume todas las posibilidades X2 X2 + X5 ~ 1 + X4 ~ 1 Observemos también que no podemos utilizar más rutas que conductores para cubrirlas. Así, a lo sumo se pueden cubrir cuatro de las seis rutas, que expresamos · con la restricción X ¡ + X2 Solución \ Teniendo en cuenta las restricciones de que cada conductor sale y regresa a la ciudad donde reside, debemos considerar las posibles rutas que puede hacer cada conductor considerando, además, el limite máximo de 8 horas y que cada trayecto sólo puede cubrirse una vez. Por ejemplo, los conductores P y J pueden hacer la ruta 3 -t 7 -t 8, pues comienza y termina en la ciudad A, cumpliéndose las anteriores condiciones. El coste asociado es 1, ~ 1. , ~ 1, + X3 + X4 + X5 + X6:::; 4 Finalmente, la función objetivo será el coste total G,· en miles de ptas, de las rutas utilizadas dado por e = 22xl + 39x2 + 39x3 + 44x4 +44xs + 32x6, que habrá que minimizar. Mediante el algoritmo de ramificación y acotación, se obtiene la solución óptima x2 = 1, xj = 1, x6 = 1 , con el resto de variables nulas y G* = 110000 ptas. La solución indica que sólo sería necesario realizar 3 rutas para cubrir todos los trayectos, quedando ocioso un conductor de entre los cuatro. 342 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS Otra forma de solucionar el problema sin necesidad de enumerar previamente las rutas posibles es la siguiente. Definimos las variables 0-1 xi. Jk ={ 1 si el conductor i realiza el trayecto desde la ciudad j hasta la k O en otro caso con i = P,J,L,M y j,k Las restricciones son: CAPITULO 6. PROGRAMACION ENTERA ©RA-~ = A,B,C,D. 343 con Cjk igual al número de horas del trayecto que une la ciudad j con la k. El segundo sumando corresponde al número de ciudades intermedias, que es igual al número de trayectos menos l. E~ O ~roviene de que el conductor puede no realizar ningún trayecto (entonces l:;,k xjk - 1 será -1). Para pasar a forma lineal la función objetivo, transformamos el má..'(imo ' quedando · min z(x) = 5 (l;:l;:l:c;kx;k) l 1 k +2l;:ui l s.a · Realizar una ruta (1) x~ 8 + x~D ~ 1, i = P, J (2) xbc + x}:¡ 8 ~ 1, i = L, M {3) LjX~k- Ehxih =o, i = P, J; k= B,C,D (4) Ljxjk - L:hxih=O, i=L,M; k=A,B, C (5) x~k ~ x~8 + x~, i = P, J Vj, k (6) x}k ~ xbc + x}:¡ 8 , i = L,M Vj, k (7) xBA + xb ~ x~ 8 + x~0 , i = P, J (8) x~D + xhv ~ xbc + xbs• i = L, M en la que: (1) y (2) representan que cada conductor sale a lo sumo una vez de su ciudad; (3) y {4), que a toda ciudad intermedia que llegue un conductor debe salir de ella; (5) y (6), que si el conductor no sale de su ciudad, no realiza ningún trayecto y cada trayecto se realiza a lo sumo una vez; (7) y (8), si el conductor sale de su ciudad vuelve a ella. · Ningún conductor puede estar al volante más de 8 horas L x~kdp, ~ 8, Vi j,k con d;k duración del trayecto entre j y k. - Se cubren todos los trayectos L x}k ~ 1, Vj, Vk. La función objetivo, en miles de ptas, es (1)-(8) E x;kdik ~ 8, Vi j,k 2;:: x~k ~ 1, Vj, Vk l E x;k - 1 ~ UiJ Vi j ,k Ui ~o, Vi x;k = O, 1 Vi, Vj, Vk o 9. Problema del viajante. La red de la figura muestra cuatro ciudades, 1, 2, 3 y 4, y las conexiones entre éstas con sus resp~ctivos tiempos de transporte (supondremos que al ser las formas de transporte distintas entre ciudades, los pares de arcos paralelos tienen medidas diferentes). Un individuo sale de la ciudad 1 y desea determinar el itinerario de mínima distancia que pase por cada ciudad una sola vez y regrese a la ciudad de partida. 344 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS ©RA-~ Solución 345 . En resumen, se tiene el problema entero Formulamos un modelo de programación entera para resolver este problema clásico, de gran complejidad computacional. Introducimos las variables de decisión 0-1 sí en el itinerario está el arco (i,j) ={ en otro caso x,, CAPITULO 6. PROGRAMACION ENTERA ~ para i, j = 1, 2, 3, 4, con i :¡. j. La función objetivo representa la duración del itinerario, que es 4 L 4 =L L d¡jXij con i =F j i=lj=l que habrá que minimizar, siendo d¡j el tiempo asociado al arco (i,j). Las restricciones se deben a la imposición de que el individuo visite cada ciudad una sola vez. En términos de las variables de decisión, esto significa que: mín C = 2Xt2 + 3X21 + 6Xt3 + 4XJ¡ + 4Xt4 + 2x41 + +4X23 + SX32 + 2X24 + 3X42 + SX34 +3x43 s. a X¡2 + X¡3 + X¡4 = 1, X21 + X31 + Xu = 1 X21 + X23 + X24 = 1, X12 + X32 + Xt2 = 1 X31 + X32 + X3.¡ = 1, X¡3 + X23 + X~3 = 1 X41 + X42 + X43 = 1, X¡4 + X24 + X:U = 1 'U2 - 'U3 + 4X23 ~ 3, U3- 'U4 + 4X:¡.¡ ~ 3 'U2 - U4 + 4X24 ~ 3, 'U4 - 'U2 + 4X42 ~ 3 U3 - u2 + 4x32 ~ 3, 'U4 - u3 + 4x43 ~ 3 Xij = O, 1, i, j = 1, 2, 3, 4¡ u¡ enteras Vi Resolviéndolo mediante el algoritmo de ramificación y acotación, se obtiene la solución óptima - Abandone cada ciudad una sola vez 4 L Xii = 1, i = 1,2,3,4, con i =F j. (6.1) con j :/: i (6.2) i=l - Entre en cada ciudad una sola vez 4 L Xij = 1, j = 1,2, 3,4, i=l - Además, para evitar subitineraríos desconectados (por ejemplo, x12 = 1, x21 = 1, X34 = 1, X43 = 1) introducimos 3 variables auxiliares '!Ji, i = 2,3,4 y las restricciones u¡ - Uj + 4X¡j ~ 3, i, j = 2, 3, 4, con i :/: j (6.3) y u¡ enteras, ya que toda solución que cumpla (6.1), (6.2) y que sea un circuito hamiltoniano (un camino en que el nodo origen y el final coinciden y que pasa una sola vez por cada nodo) , cumple (6.3) y recíprocamente. con el resto de las variables iguales a cero y L• = 11. Por tanto, el itinerario de tiempo mínimo es 1 - 2 - 4 - 3 - l. Observemos que hay algoritmos específicos para este problema basados en heurísticas computacionalmente bastante más eficientes O 10. Problema de emplazamiento y cubrimiento. Una cadena de alimentación pretende abrir varios supermercados en una gran ciudad. Tras un estudio de la disponibilidad de locales en los 7 distritos en que está dividida la ciudad, se considera que son 5 los emplazamientos donde se podrían situar supermercados. La tabla que sigue muestra los distritos que se cubren por cada emplazamiento, as( como las rentas anuales esperadas para cada uno 'de los supermercados emplazados con la condición de que a cada distrito se cubra a lo sumo por un único supermercado de la cadena. ¡f 346 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS ©RA-MA Emplazamiento Distrito 1 1 2 X 3 2 4 X 3 X 4 X 5 X = 36x 1 + 39x2 + 44x3 + 4lx4 + 38xs X¡+ X4 ~ 1 X¡+ x3 +xs X X X X X ~ 1 + X5 ~ 1 X2 + X4 ~ 1 X2 + X3 ~ 1 X3 + X5 ~ 1 X2 X X 347 s.a X 6 Beneficio (x 106 ptas) max B 5 X X 7 CAPITULO 6. PROGRAMACION ENTERA X 36 39 44 41 38 X¡+ X3 + X4 ~ 1 j=1, ... ,5 x;= 0,1, Se desea: La solución óptima es a) Determinar el plan de emplazamientos de mayor beneficio. b) Disponemos de los costes de alquiler de los locales correspondientes a los 5 emplazamientos en la tabla 1 2 3 4 5 14 17 21 15 18 Se desea determinar el plan que minimice los costes de alquiler de modo que queden cubiertos todos los distritos, suponiendo que cada distrito pueda cubrirse por más de un emplazamiento. xi = x2 = x3 =O, x: = 1, x5 = 1 que corresponde a abrir supermercados en los emplazamientos 4 y 5, siendo el beneficio de 79 millones de ptas. Todos los distritos excepto el 5 quedarían cubiertos. b) En este caso, para las mismas variables de decisión que antes, consideramos como objetivo la. minimización de costes e, y las restricciones toman la. forma. 5 ¿a¡;x; ~ 1, i = 1, ... ,7 j=l Solución a.) Definimos las variables de decisión 0-1 1 x; = { 9 si se selecciona el emplazamiento j en otro caso El problema. de optimización es ahora. min e s.a = X¡+ X4 ~ 1 Las restricciones serán de la forma X¡+ X3 + X2 5 L 14x¡ + 17x2 + 21x3 + 15x4 + 18xs ll¡jXj ~ 1, i ;:::: 1, ... , 7 X2 X5 ~ 1 ~ 1 + X4 ~ 1 + X3 ~ 1 X3 + X5 ~ 1 X2 j=l donde los coeficientes o¡; valen 1 si el distrito i está cubierto por el emplazamiento j, y O en otro caso. La función objetivo B representa el beneficio total de los emplazamientos elegidos. Por tanto, el problema de optimización es el problema 0-1 + X5 X¡+ X3 + Xj = 0, 1, X4 ~ 1 j = 1, ... , 5 La solución óptima. es xi = 1, x2 = 1, xj = O, x; =O, x5 =1 348 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS ©RA·MA que corresponde a los emplazamientos 1, 2 y 5, siendo el coste total 49 millones df- ptas. o CAPITULO 6. PROGRAMACION ENTERA 349 significa que no es posible enviar el producto desde el almacén A¡ a cualquier centro de producción, será 4 11. Localización y transporte de mercancías. Consideremos una empresa con cuatro centros de producción de alimentos, denominados Pj, j = 1, 2, 3, 4, que busca situar uno o más almacenes de gran capacidad para guardar la materia prima (harina) desde los que satisfacer la demanda semanal de los centros de producción. Después de un estudio detallado de la zona, se llega a la conclusión de que hay tres lugares posibles de ubicación de almacenes, que denotamos Ai, i = 1, 2, 3. Los costes Cij (en miles de ptas) de envío por t de harina de las ubicaciones A¡ a los centros de producción Pi, el alquiler semanal de cada ubicación, en miles de ptas, y la demanda de los centros de producción en t, viene dados en la tabla e;; At A2 A3 Dem. Pt p2 p3 p4 Alquiler 27 13 9 12 600 25 9 8 15 490 16 21 12 11 570 230 250 210 300 Se desea también que, por limitaciones en la contratación de personal, a lo sumo se ocupen dos almacenes de los tres posibles y, además, por razones de operatividad, se ut·ilice la ubicación 1 siempre que se utiliza la 3. Formular un modelo de programación entera que proporcione la ubicación de los almacenes y las cantidades a enviar desde cada almacén a las fábricas para satisfacer las demandas con coste mínimo. L Xij = O . _ { 1 si se utiliza el almacén i Y1 O en otro caso = 1, 2, 3 = t de materia pri.ma enviada desde A¡ hasta Pj. Sean, además, Dj la demanda del centro de producción Pi y ei el coste de utilización del almacén A¡. La dificultad inicial está en modelizar la condición de que sólo es posible enviar materia prima desde aquellos almacenes que se ubiquen. Así, como y¡ = O 4 4 j=l j=l L X¡j ~ L Dj para los i tales que y¡= l. Estas dos condiciones se resumen escribiendo 4 4 j=l j=l L Xij ~y¡ L Di para i = 1, 2, 3. También habrá que añadir la restricción de que se satisfaga la demanda de cada fábrica 3 L Xij ~ Dj paraj = 1,2,3,4. i=l Además, como a lo sumo sólo se ubican dos almacenes y se utilizará el almacén A1 siempre que se utilice el A3, hay que añadir las restricciones 3 ¿:y¡~ 2 y i= l Finalmente, la función objetivo a minimizar será 3 4 3 e= L L CiiXij + ¿e¡y¡ y las variables continuas Xij = O. Sin embargo, si y¡ = 1, lo máximo que se puede enviar desde la ubicación A¡ es la demanda de todas las fábricas. Por ello, cualquier programa de envío debe satisfacer que Solución Para modelizar la selección de almacenes introducimos las variables de decisión 0-1 para los i tales que y¡ j=l i=l j = l i=l donde el primer sumatorio refleja los costes de envío y, el segundo, los costes de ubicación (utilización) de los almacenes. Ttaducido este modelo de programación entera mixta a los datos, queda el objetivo en miles de ptas mine = 27xu + 13Xl2 + 9Xr3 + 12Xt4 +25X21 + 9X22 +8X23 + 15X24 +16X3l + 21X32 + 12X33 + l lX34 +600y¡ +49Qy2 + 570y3 350 PROGRAMACION LfNEAL Y APLICACIONES: EJERCICIOS RESUELTOS ©RA-MA y las restricciones CAPITULO 6. PROGRAMACION ENTERA Formular un modelo de programación lineal entera mixta que ayude a decidir qué turbinas deben conectarse durante el periodo de 24 horas. · + X21 + X3¡ ;?: 230 Xt2 + X22 + X32 ;?: 250 XJ3 + X23 + X33 ;?: 210 X¡4 + X24 + X34 ;?: 300 XH + Xt2 + X¡3 + X¡4 - 990y¡ ~ 0 X21 + X22 + X23 + X24 - 990y2 ~ 0 X31 + X32 + X33 + X34 - 990y3 ~ 0 Yt + Y2 +Y3 ~ 2 -y¡ +y3 ~O Xij;?: 0, i = 1,2,3; j = 1, 2,3,4 y¡= o, 1, í =1, 2, 3 Xu Solución Definimos para cada turbi n~ i =A, B, C, D y cada periodo j bles de decisión ¡- xi3 = 210, xj 1 = 230, xj 4 = 300, y; si se pone en marcha la turbina i en el periodo j O en caso contrario y Xij = número de MW producidos por la turbina i en el periodo j. Las restricciones provendrán de la necesidad de satisfacer la demanda de energía = 1, yj = 1 con el resto de las variablés nulas y coste total e• = 13290000 ptas. Vemos que lo más económico sería ubicar los almacenes A 1 y A3. Desde el primero se serviría a los centros de producción P2 y Pa; desde el segundo a P 1 y P4 . O 12. Planificación en una central hidroeléctrica. En una central hidroeléctrica deben decidirse cada 24 horas las turbinas que se pondrán en marcha durante los tres períodos de 8 horas en que se divide la planificación diaria para satisfacer la demanda de la población a la que se sirve. La central dispone de cuatro turbinas, que pueden funcionar parcialmente, cuyas características por periodo de 8 horas se describen en la tabla Turbina A B e D = 1, 2, 3, las varia- ={ 1 y1 La solución óptima es xi2 = 250, 351 Coste de puesta en marcha por periodo (ptas) Coste unitario de MW producido (ptas) Capacidad máxima por periodo (MW) 2000000 1500000 2700000 2500000 550 600 650 710 3400 2300 4000 3800 XAi + XA2 + XB2 + XC2 + X02 ;?: 10500 ·XA3 + XBt +XC I + X Di ;?: XB3 XD3;?: 7000 y de las capacidades máximas de producción por turbina y periodo XAi ~ 3400YAi } ~ 2300y Bi xc¡ ~ 4000yc¡ X Bi XDi ~ i =1 2 3 ' ' 3800ym con Yii =o-, 1, i =A, B, e, D; j = 1, 2, 3. La función objetivo representa el coste total (MW producidos más puesta en marcha) x¡1 ~o , mine = 550 (X Al+ X.42 + XA3) + 600 (XBl + XB2 + Xaa) + +650 (xc¡ + xc2 + xc3) + 710 (xot + x02 + xos) + +2000000 (Y Al+ YA2 + YA3) + 1500000 (YBl + YB2 + YB3) + +2700000 (YC ! + YC2 + YC3) + 2500000 (yo¡+ YD2 + YD3) Mediante el algoritmo de ramificación y acotación con la regla de la mejor cota, se obtiene en 81 iteraciones la solución óptima, que se refleja en la tabla Turbina La demanda estimada en MW en un cierto día para el primer período es 5100, para el segundo 10500 y para el tercero 7000. Se observa que una turbina utilizada en el primer período puede serlo también en el segundo y/o tercero añadiendo los correspondientes costes de puesta en marcha (al final de las 24 horas hay una desconexió~ breve antes de comenzar la aplicación de la siguiente planificación). · + XC3 + 5100 A B e D siendo el coste total Periodo 2 3 3400 3400 3400 1700 - 4000 3600 - 3100 1 e·= 29171000 ptas. o ©RA-~ CAPITULO 6. PROGRAMACION ENTERA 13. Localización de centros de distribución. Una compañía dispone de 4 fábricas F¡, i = 1, 2, 3, 4, con capacidades de producción de 240, 190, 250, 175 unidades, respectivamente, y debe suministrar 185, llO, 125, 180, 170 unidades a sus 5 clientes C;, j = 1, 2, 3, 4, 5. Estudia la apertura de, a lo sumo, 3 centros de distribución, con 5 posibles localizaciones Dk, k = 1, 2, 3, 4, 5. Se dispone de 18 millones de ptas, siendo los costes de construcción en cada localización 10, 7, 12, lO y 8 millones de ptas, respectivamente. Los costes por unidad de producto envasado por el centro de distribución k son 2, 3, 2, 2, 3 decenas de miles de ptas. Los costes de transportes Cikj por unidad, en miles de ptas, de la fábrica F¡ al cliente C; a través del centro Dk. son - Límite de presupuesto para la apertura de centros de distribución Dk 352 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS Cikj k=3 k- 4,5 j j j 1 2 3 3 5 2 3 2 4 5 1 6 4 3 2 i 1 2 3 4 't k= 1,2 4 4 2. 3 6 5 3 3 1 2 2 6 4 4 6 6 5 3 4 1 3 7 2 1 2 4 8 7 8 5 3 3 2 1 2 1 4 2 5 6 3 2 8 7 3 3 8 4 1 - Se sirve a cada. cliente C; mediante un único centro de distribución Dk 5 [ zk1 =1, j=1,2, 3,4,5 k=l - No es posible enviar desde la fábrica F¡ más unidades que las ~ disponibles 5 5 LL Xikj~a¡, 5 6 9 3 4 4 2 1 1 3 2 i=1,2,3,4 j=lk=L - Debe satisfacerse la demanda b; de cada cliente C; desde un único centro Dk de distribución 4 Si se supone que se sirve a cada cliente desde un solo cent·ro, formular un modelo de programación entera que determine e.l plan de localización y distribución más económico. Solución Definimos las variables de decisión Xikj = cantidad enviada desde F¡ a C; a través de [ xiki = b;zk;, k,j = 1,2,3,4,5 i=l - Sólo se servirá desde los centros de distribución Yk ~ ZkjJ Dk _ { 1 si se selecciona Dk O en otro caso kJ - si se sirve al cliente C; desde O en otro caso Xikj~O, Dk Las restricciones se deben a: - El fabricante quiere la apertura de, a lo sumo, 3 centros de distribución Dk ·¡ Dk seleccionados k,j = 1,2,3,4,5 - Finalmente Yk - z ._ { 1 353 Yk=O,l, Zk;=O,l, i=1,2,3,4¡ k,j=1,2,3,4,5 La función objetivo representa el coste total C. De modo preciso, sean: Cikj = coste de transporte por unidad de F¡ a C; a través de Dk Uk = coste.de ubicación del centro Dk ek = coste de envasado en el centro Dk todas en ptas. La funrión objetivo es utilizado, 354 PROCRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS ©RA-~ Tenemos un problema entero mixto con 130 variables de decisión y 61 restricciones. Aplicando el método de ramificación y acotación se obtiene la solución óptima xi41 =55, xj44 = 180, x242 = 110, xj 41 = 130, xj 45 = 120, x443 = 125 x.j45 = 50, y¡ = 1, z.j1 = 1, z¡2 = l, z,iJ = 1, z¡4 = 1, z.j5 = 1 el resto de las variables nulas y e• = 26735000 ptas. Observemos que lo más económico es ubicar un único centro de distribución, D 4 , a través del cual se sirve a todos los clientes y quedan satisfechas sus demandas. o 14. Problema de la mochila. Se debe realizar un envío de 7 objetos distintos. El valor, peso y volumen de cada objeto se tiene en la tabla Objeto j 1 2 3 ¡~ ,,,1¡1 11 ¡, 1 4 5 6 7 lt Valor ( x 103 ptas) 56 71 69 91 70 85 65 Peso (kg) 7 11 4 14 9 2 12 Volumen (cm3 ) 21 16 17 28 12 31 19 CAPITULO 6. PROGRAMACION ENTERA El objetivo V representa el valor del envío, que deseamos maximizar. Este es max V = 56x¡ + 1lx2 +69x3 +9lx4 + 70xs + 85xs + 65x1 . Por tanto, el problema de optimización se formula como un problema 0-1 max V = 56x 1 + 1lx2 + 69x3 + 91x4 + 70xs + 85xs + 6Sx1 s.a 7x 1 + llx2 + 4x3 + 14x4 + 9x5 + 2xs + 12x7 ~ 41 Xj = 0,1, j = 1, ... , 7 La·solución óptima es xt = O, x2 = 1, xj = 1, x4 = 1, x5 = 1, x6 = 1, x; = O, que corresponde a enviar los objetos 2, 3, 4, 5 y 6, con un valor de 386000 ptas y un peso de 40 kg. b) Si también tenemos en cuenta el volumen má.ximo del envjo (problema de la mochila bidimensional), debemos añadir a la formulación anterior la restricción 2lx 1 + 16x2 + 17x3 + 28x4 + 12xs + 31xs + 19x7 ~ 100. La solución óptima es xi =O, x2 = 1, x3 = 1, x4 =O, x; = 1, x6 = 1, Se pide: a) Formular y resolver un programa 0-1 cuya solucíón proporcione el envío de máximo valor para un peso total que no exceda de 41 kg. b) Formular y resolver el problema si, además, hay una limitación en el volumen del envío de 100 cm3 . Solución 355 x7 = 1 que corresponde a enviar los objetos 2, 3, 5, 6 y 7 con un valor de 360000 ptas, siendo el peso 38 kg y el volumen 95 cm3. o 15. Planificación de la producción y expansión. Una 'empresa fabriro tres productos, 1,2 y 3, que deben procesarse en dos tipos de maquinaria denominadas A y B. La siguiente tabla proporciona los tiempos de 'procesamiento por t procesada con cada máquina, así como los beneficios por t en miles de ptas y la disponibilidad de cada tipo de maquinaria en horas po1· semana. a) Definimos las variables de decisión 0-1 x. _ { 1 3 - 1 ~ O si se selecciona el item j en otro caso para j = 1, ... , 7. Hay una única restricción debida a la limitación en el peso del envío, que toma la forma Tipo de maquinaria A B Benef.jt ( x lOa ptas) Productos 2 3 5 4 3 4 6 80 70 95 1 2 Disponibilidad (lloras) 70 86 La empresa considera aumentar la disponibilidad de tiempo de procesamiento de la maquinaria, de acuerdo con alguna de las posibilidades indicadas en La tabla 356 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS Tipo de maquinaria Incremento de disp. (horas) Coste inversión ( x 1~ ptas) A 10 160 1 1 B 8 1 12 15 170 170 1 175 A lo sumo se puede realizar un tipo de incremento para cada máquina. Los límites de demanda de los productos son Producto 1 2 3 CAPITULO 6. PROGRAMAC!ON ENTERA @RA-M~ - Límites de disponibiüdad de horas en ambas maquinarias 2x¡ + 5x2 + 4xa ~ 70 + 10YAt + 15YA2 3x¡ + 4x2 + 6x3 ~ 86 +Bya¡+ 12ya2 17 7 20 8 6 ~X¡~ 17 3 ~ X2 ~ 8 7 ~ X3 ~ 20 - Límite de inversión (en miles de ptas) 160yAI + 170YA2 + 170yBl + 175YB2 ~ 340 Se supone que la inversión total no puede exceder de 340000 ptas. Se desea: a) Formular un modelo de programación entera que proporcione el programa de procesamiento e inversión de mayor beneficio. (maquinaria A) (maquinaria B) - Límites de demanda Demanda (t) mínima máxima 6 3 357 - Elección del tipo de ampliación para cada maquinaria YA1 +YA2 ~ 1, YBI +YB2 ~ 1 (6.4) b) Si la empresa desease aumentar la disponibilidad de un solo tipo de maqui- naria, ¿cómo se modifica el modelo anterior reflejando tal situación? - Las variables verifican e) Si no se quiere añadir disponibilidad de B a menos que se añada de A, ¿cómo se representa esta nueva condición? d) La empresa desea ampliar la disponibilidad con la maquinaria B si y sólo si se incrementa también la A. ¿Cómo debe modificarse la condición considerada en e)? Solución a) Consideremos las variables de decisión continuas X¡ = t de producción del producto i = 1, 2, 3 ={ 1 0 YA2 ={ 1 0 o, i = 1,2,3, YAj,YBj = 0,1, j = 1,2. Finalmente, la función objetivo es el beneficio neto que se obtiene de la diferencia entre beneficio y coste de inversión. Esta es, en miles de ptas, B = 80x¡ + 10x2 + 95xa- (160yA1 + 170yA2 + 170yBI + 175ys2), que habrá que maximizar. Tenemos un programa entero mixto cuya solución óptima es = 13.5, x2 = 3, xj = 7, . xr que representa las toneladas procesadas de cada producto, con y las variables 0-1 YAt X¡ ~ si se añaden 10 h de disponibilidad de A en otro caso si se añaden 15 h de disponibilidad de A en otro caso Análogamente, para la maquinaria B consideraríamos las variables 0-1, denotadas YBI e YB2, para aumentos de 8 y 12 horas, respectivamente. Las restricciones se deben a: Y~\1 =o, YÁ2 =o, YB1 = o, Yi12 = 1, que indica que se incrementa la disponibilidad de la maquinaria B en 12 horas. El beneficio óptimo es B• = 1780000 ptas. b} Si sólo se admite el aumento de la disponibilidad de un tipo de maquinaria, debemos sustituir (6.4) por Y.41 + YA2 + YBI + YB2 ~ l. 11 11 358 CAPl'l'ULO 6. PROGRAMACION EN'l'ERA PROGRAMACION LINEAL Y APLICACIO~ES: EJERCICIOS RESUELTOS La solución en este caso es la misma que en a), como cabía esperar a la vista de la solución anterior. e) Si ahora no se incrementa la disponibilidad de B, a menos que se incremente la de A, entonces debemos añadir en la formulación de a) la restricción YA! x3 = 7, Y:4 1 =O, Y:42 = O, YÍH =O, Yt12 =O con B* = 1728333 ptas. Por tanto, no resultaría rentable ninguna ampliación. d) Si la empresa quiere ampliar la disponibilidad de la maquinaria B si y sólo si amplía también la A, bastaría con escribir la restricción de e) como una igualdad, es decir, YAI +YA2 = YBI + YB2 obteniéndose la misma solución que en e) . Penalización Demanda Día. 300 5000 Lunes 450 5000 Martes 720 3000 Miércoles Los operarios reciben un salario de 3500 ptas a la hora. Construir un prog,ra_ma lineal entero que planifique la producción y mano de obra semanal con ma:nmo beneficio. +YA2 ~ YBI +YB2 · En este caso, la solución es xj = 10.67, x2 = 3, 359 o 16. Planificación de la producción y la mano de obra. Compsa es un fabricante de ordenadores que vende en su propia cadena de tiendas. Como consecuencia de contratos externos, sólo puede dedicarse al montaje de sus ordenadores de lunes a miércoles, dejando el resto de la semana para trabajar para otras empresas. Compsa tiene 45 operarios. El tiempo medio de montaje de un ordenador es de .7 horas por operario. No es necesario que la totalidad de los 45 operarios estén montando ordenadores, pero el que esté en ello, debe hacerlo durante sólo 2 días (seguidos o alternos) de los 3 indicados y trabajando, a lo sumo, 8 horas diarias. De esta manera, un operario que trabaje estará asignado a 2 d·ías cualesquiera y cobrará por 16 horas de trabajo, independientemente del número r·eal de horas que efectivamente esté dedicado a la tarea de montaje. El beneficio de venta por ordenador· es de 95000 ptas. La producción de un día se puede utilizar para satisfacer la demanda de ese mismo día o de otro día posterior, pero de esa misma semana, observando que, por motivos operativos, toda la producción de una semana debe venderse en esa semana y, por tanto, el inventario es nulo al principio de cada semana. El coste de almacenaje por ordenador cada día es de 1000 ptas. La tabla que sigue muestra los costes en ptas de penalización en que incurre Compsa por unidad demandada no servida, así como la demanda diaria estimada Solución Para x =L (Lunes), M (Martes), X (Miércoles), consideramos las variables de decisión V x = ordenadores vendidos en el día x Px = ordenadores no vendidos en x por ser mayor la demanda que la producción Fx = ordenadores fabricados en el día x Sx = inventario de ordenadores en el día x LM = operarios que trabajan lunes y martes LX = operarios que trabajan lunes y miércoles M X =operarios que trabajan martes y miércoles Las restricciones se deben a: - Límites en la capacidad de producción .7FL ~ 8LM +8LX .7FM ~ 8LM +8MX .7FX ~ 8LX +8MX - Equilibrio de inventario, reflejado en la relación · Fx=Vx+Sx-S(x-1) que traducido al problema es FL =VL+SL FM=Vi\II+SM-SL F X = V X+ SX - SM SX=O 360 PROGRAMACION LfNEAL Y APLICACIONES: EJERCICIOS RESUELTOS CAPITULO 6. PROGRAMACION ENTERA - Relación entre venta y demanda (Dx demanda de ordenadores en el día x), dada por la relación Dx = Vx+ Px de aquí que 300 = VL+PL 450 = VM +PM 720= VX +PX ~ 45 1 t 1 V5 V5 V7 Vg V9 1.97 2.04 1.89 1.94 2.11 V¡o 1.86 l. Invertir en, al menos, 5 valores y, a lo sumo, en 8. - Las variables son 1 V¡ V2 V3 V4 1.73 2.14 1.90 1.82 El analista quiere formar una cartera equilibrada. Para ello, propone las siguientes condiciones: .f. ~ 17. Formación de una cart era. Un analista de inversiones debe decidir para el próximo mes la inversión de 100 millones de ptas entre 10 valores del mercado bursátil, denominados v¡, · i = 1, ... , 10. La tasa de interés esperada para el mes entrante viene dada en la tabla t Valor Vi Interés r¡ - Mano de obra LM + LX+ M X 361 2. No invertir más de 25 m·illones de ptas en cada valor. LM,LX,MX, Vx,Px,Fx,Sx 2:. O y enteras, con x = L,M,X. 3. Invertir en los valores selec.cionados al menos 10 millones de ptas. Tal como se han definido las variables correspondientes a los operarios que trabajan, éstos sólo lo hacen dos días ¡:le los tres posibles. La función objetivo a maximizar es el beneficio neto, que vien~ dado por la diferencia entre el beneficio de venta y los costes de mano de obra y de inventario, así como penalizaciones por ventas que no se han podido hacer por falta de disponibilidad. Tenemos así el objetivo de maximización en miles de ptas B = 95(VL+ VM + VX) -56(LM +LX +MX)-1SL - 18M - 5PL- 5PM- 3PX Lo resolvemos con el algoritmo de ramificación y acotación con la regla de la mejor cota y en 979 iteraciones se tiene la solución óptima 4. Invertir en v2 sólo si se invierte en v1• 5. No invertir en v5 si se invierte en v2. Formular un programa entero que proporcione la cartera de máximo beneficio. Solución Consideramos las variables de decisión continuas x¡ = inversión en millones de ptas en el valor v¡ y las variables 0-1 Yi LM* = 21, LX* = 5, MX* = 19, VL* = 297, PL* == 3, FL* = 297, VM* = 450 FM* = 457, SM* = 7, VX* = 281, PX* = 439, FX* = 274 con B* = 93801000 ptas y el resto de variables nulas. La interpretación de solución se tiene en la tabla Día Lunes Martes Miércoles 720 Demanda 300 450 Fabricación 274 297 457 Ventas 281 297 450 Pérdida ventas 439 3 o Inventario 7 o o N. de Trabajadores 21 5 19 l~ ={ 1 O si se invierte en el valor v¡ en otro caso para i = 1, ...,10. Las restricciones se deben a: - Limitación del capital disponible para invertir 10 LX¡~ 100 i=l - Números mínimo y máximo de valores en los que invertir 10 o . 5 ~ L Yi ~ 8 i=l 362 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS ©RA-MA CAPITULO 6. PROGRAMACION ENTERA Materia prima - Inversiones máxima y mínima en cada valor Gasto de Pi por u. produc. en M2 M3 M4 Ms Ms .7 p2 .3 p3 .5 p4 .2 Capacidad máxima 150 P¡ i = 1, ... , 10 - Condicionantes entre los valores Disponibilidad M¡ pi .2 .4 .5 .4 .6 .3 y.3 .5 175 210 .5 .6 .4 .2 260 .6 .2 .5 .3 335 363 .7 .3 .4 .6 290 de Pi 400 380 435 370 Se desean fabricar 800 unidades del producto. Se pide: y, además, X¡~O, a) Construí?' un programa entero que proporcione el plan de producción con y¡=0-1 Vi=1, ... , 10. coste mínimo. El objetivo representa la renta total generada b) Si ahora las variables de decisión deben satisfacer, las restricciones de las materias primas M1 y M2, o bien M3 y M4 , ¿cómo afecta a la solución obtenida en a)? lO R = ¿ r¡x¡ i=l que hay que ma..ximizar. Se tiene, por tanto, un problema entero mixto cuya solución óptima, obtenida mediante el método de ramificación y acotación, es xi = 10, x2 = 25, x; = 25, xfi = 25, Xg = 15, xg = 25 YÍ = 1, Y2 = 1, Ys = 1, Ys = 1, Yg = 1 el resto de variables nulas y R* = 201.9 millones de ptas. o Solución a) Introducimos inicialmente las variables de decisión X¡ = producción en kg en la máquina M¡ para i = 1, ... , 6. Las restricciones se deben a las limitaciones en la disponibilidad de las materias primas, que vendrán dadas por 6 18. Problema del coste fijo con restricciones disyunt ivas. Una empresa fabrica un producto en 6 máquinas distintas M¡, i = 1, ... , 6. El coste de producción en cada máquina M¡ comprende un coste fijo C¡ independiente de la cantidad producida y un coste variable e; por kg producido. La tabla contiene los costes de producción. en miles de ptas L: a¡jXi i=l j = 1,2,3,4 con a¡i gasto de la materia prima Pj por unidad producida en M¡ y b; disponibilidad de la materia prima Pi . Para que únicamente se utilicen 2 de las 4 materias primas, se deben introducir las -¡ariables 0-1 Máquina 650 720 580 640 725 630 Coste fijo C¡ Coste variable C¡ 3.8 4 4.5 3.7 5 4.1 Para la fabricación del producto deben utilizarse 2 de entre 4 materias primas posibles, Pi, j = 1, 2, 3, 4. La tabla contiene los gastos' de las materias primas por kg producido, las disponibilidades de las materias primas, ambas en kg, y las capacidades máximas de producción en cada máquina. Los costes de las materias primas se suponen nulos, ya que la empresa dispone de ellas. :S bj, si la restricción j-ésima es activa en otro caso y, para U > Osuficientemente grande, considerar las restricciones 6 .l: a¡jXi $ 1= 1 bjYj +U (1 - Yj), j = 1, 2, 3,4 ,,,,~ 1' 364 PROGRAl'.-L\ClON LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS ©RA-MA 6 L: X¡ = 800. La función objetivo es Además, hay que considerar la restricción i=l 6 minC = L C¡ (x¡) i=l con C¡(x¡) = { ~x¡ + C¡ si x¡ >O si x¡ = O CAPITULO 6. PROGRAMACION ENTERA 365 b) Bastaría con considerar una variable y, 0-1 y escribir las restricciones sobre disponibilidad de materia prima .7x¡ + .2x2 + Ax3 + .5x4 + .6xs + .7x6 ~ 400 + 5000y .3x¡ + .Sx2 + Ax3 + .6x4 + .2xs + .3x6 ~ 380 + 50500y .Sx¡ + .6x2 + .3x3 + .4x.¡ + .Sxs + .4x6 ~ 435 + 5000 (1- y) .2x¡ + .3x2 + .5x3 + .2x.¡ + .3x5 + .6x6 ~ 350 + 5000 (1 -y) (Mt) (M2) (1\13) (1\14) La solución óptima viene dada en la tabla Valor óptimo Esta función objetivo no es lineal, debido a la discontinuidad en O. Para transformarla en lineal, se introducen las variables 0-1, Ó¡ ={ ~ con y• 6 minC = L (qx¡ + C¡ó¡) i=l o~ X¡~ UÓ¡, i = 1, ... ,6. Tomando U = 5000 y aplicando el algoritmo de ramificación y acotación, se obtiene como solución óptima la dada en la tabla ;lt Valor óptimo j i x!1 8~ 1 1 150 1 2 3 1 4 o o 360 o 5 6 290 con y¡ = Y2 y 2, siendo 1 1 1 = 1, lo que significa que se utilizan las materias primas 1 y 2, siendo o 19. Secuenciación tecnológica. Hay que procesar unidades de tres tipos de productos P¡, i = 1, 2, 3, mediante cuatro máquinas j\lf;, j = 1, 2, 3, 4. La tabla incluye la sucesión tecnológica de procesamiento de los tres productos en las máquinas Producto con las restricciones 1' o 260 5 250 6 290 o o 1 o 1 = 1, y3 = y4 =O, lo que significa que se utilizan las restricciones 1 . e· = 61Ó6538 ptas. 1 o o 4 e· = 5396000 ptas. con U > Osuficientemente grande, de modo que x¡ ~ U sea redundante respecto a cualquier restricción activa del problema. Por tanto, la función objetivo se escribe ií o o 2 X¡~ Uó¡ :~ 8~ o 3 si x¡ > O en otro caso Estas condiciones se pueden expresar mediante las restricciones 11 X~1 i 1 P¡ Pz p3 Sucesión tecnológica M1 --+ .M3 --+ M4 M1 --+ .M2 --+ M3 M2--+ M4 Los tiempos de procesamiento en minutos por unidaa de producto en cada máquina vienen dados en la tabla Producto P¡ p2 p3 .M¡ 4 2 - Máquina .M2 M3 .M4 - 3 5 6 7 1 - - 4 Cada máquina puede procesar un solo producto a la vez. Una vez que comienza a procesar un producto, debe hacerlo hasta el final. Además, debido a la naturaleza de los productos, hay un tiempo máximo para el procesamiento de estos por unidad, como se indica en la tabla J66 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS Producto Tiempo máximo (minutos) 16 14 CAPITULO 6. PROGRAMACION ENTERA @RA-MA 14 Formular un modelo de programación entera que proporcione las secuencias de procesamiento de los productos en las máquinas que permitan completar el procesamiento total en el menor tiempo posible. 367 Una versión lineal de la función objetivo se tiene introd~ciendo la variable y, de manera que el objetivo z se sustituye por el objetivo escalar z, con restricciones añadidas, es decir, min z = t s.a X¡4 + 5 ~ t +1 ~ t X34 + 4 ~ t X23 Solución Definimos las variables de decisión Xij = instante de inicio de procesamiento de una unidad de P¡ en M; para i, j convenientemente definidos. Las restricciones se deben a: con y ?: O, además de las restricciones anteriores. Las restricciones disyuntivas podemos linealizarlas como sigue: Sea, por ejemplo, la restricción Xu - La secuencia para cada unidad de producto 2: X u + 4, X22 2: X21 + 2, X34 2: X32 + 7 X¡3 X¡4 X23 2: X¡3 + 3 2: X22 + 6 Ó Ó Ó Ó 2: X u+ 4 X23 2: X¡3 + 3 X34 2: X¡.¡+ 5 X32 2: X22 + 6 X21 - No negatividad Así, si Ó¡ = 1, la primera restricción es inactiva, teniendo sólo x 11 + 4- x21 ~O si Ót =O, la segunda restricción es inactiva, teniendo sólo x21 + 2 - xu ~O y análogamente para las restantes restricciones. Resolvemos el programa con el algoritmo de ramificación y acotación y obtenemos la solución óptima x¡ 1 =O, xiJ = 4, x¡4 =11, x21 =4, xñ = 7, xh = 13, xh =O, x3 4 = 7, ój = 1, ó2 = 1, ój :=O, ó¡ =O con tiempo mínimo t• = 16. La figura muestra las secuencias de procesamiento de los productos en las máquinas obtenidas de la solución anterior M, M, Ml ~ M, o + 1, X34 +4} M, M, p2 p) min z = ma.x {x 14 + 5, X23 E {0,1} M suficientemente grande P¡ El objetivo es 2: Xll + 4 + 2- xu ~ Mó 1 xu + 4- x21 ~M (1 - ó1) Ó¡ 2: X21 + 2 X¡3 2: X23 + 1 X¡4 2: X34 + 4 X22 2: X32 + 7 X21 x21 _ No interferencia entre máquinas (que conduce a las restricciones disyuntivas} Xu Ó La podemos reescribir _ Disponibilidad má.xima de tiempo de procesamiento de cada unidad de producto X¡4 + 5 ~ 16 X23 + 1 ~ 14 X34 + 4 ~ 14 P 1 y P2 en !vh: P1 y P2 en M3: P¡ y P3 en M4: P2 y P3 en M2: 2: X21 + 2 1 1 1 1 M, M, 1 1 1 1 . 1 1 1 1 10 S 1 1 1 15 tiempo o 368 PROGRAiVlACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS 20. Elección de inversión. Una empresa de construcción propone a su gabinete de análisis financiero un estudio sobre posibles inversiones cuyos costes y rentabilidades en millones de ptas, así como sus condicionantes, se describen en !a tabla Inversión Coste Renta 1 6 5 2 3 9 10 8 12 4 5 6 7 Condicionante 18 - 13 25 22 sólo si 1 sólo si 2 obligada si 2 nosíló3 nosi2y4 sólo si 2 y no 3 26 31 10 7 CAPITULO 6. PROGRAMACION ENTERA @RA-MA La empresa pretende maximizar la renta total de sus inversiones, con un límite en el coste total de 40 millones. Formular un modelo de programación entera que dé respuesta a este problema. Sustituyendo los correspondientes valores y resolviendo el programa entero, se obtiene la solución óptima x: = 1, x5 = 1, x6 =1 con el resto de las variables nulas y R* = 79 millones de ptas. 21. Modelización de funciones lineales a trozos. Proponer un método de modelización de funciones lineales a trozos definidas por {(a¡,J(a¡))}, i = 1, ... , 5, de manera que tal función se reformule como lineal, con ayuda de variables 0-1. Solución Se supone que a1 ~ · · · ~as. Tenemos la siguiente cadena de implicaciones y E [a 1, as] =>y E (a¡, ai+L] para algún i E {1, 2, 3, 4} => =>y= A¡a¡ + \+tai+l 5 Definimos una variable de decisión 0-1 por cada inversión teniendo para i o con A¡+ Ai+I = 1 y A¡, Ai+t ~ O . Luego Solución X¡= { 369 ~ si se hace la inversión i en otro caso i=l = 1, ... , 7. Las restricciones se deben a: - Los condicionantes X2 ~X¡, X5 ~ X3 ~ Xz, Xs X4 ~X2 1 X6 ~ 2X7 ~ X2 +1 - ~ 1- X¡ 12- X3 X2 -; X4 X3 - Límite de i:n,versión: Si llamamos i-és.ima, se tiene Ci al coste (en millones) de la inversión CiXi ~ 40. i=l Finalmente, si r¡ es la rentabilidad (en millones) de la inversión i-ésima, el objetivo es 7 max R = con ¿;~=! A¡ = 1, A¡ ~ OVi, y a lo sumo dos A¡ son mayores que Oy si Aj, Ak son positivos, entonces k = j - 1 ó k = j +l. La última condición se puede reescribir en la siguiente forma: Hacemos X¡ = { 1 si a¡ ~ y ~ a¡+ 1 en otro caso 0 para i = 1, 2, 3, 4 y A¡ 7 L f (y)= LA¡/ (a¡) L r¡x¡. i=L ~ X¡, A¡~ Xi-1 + x¡, i = 2,3, As~ X4 4 ¿;X¡= i=l 1 o 22. Recuperación de información. Formular un modelo para el problema de recuperación de m peticiones de información de un conjunto de n ficheros de manera que se minimice la longitud de búsqueda, siendo Cj la longitud del fichero j-ésimo. 370 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS ©RA-MA Solución Definimos las variables de decisión 0-1 e·. _ { 1 11 O x; ={ 1 O si la información i-ésima está en el fichero j en otro caso CAPITULO 7 si buscamos en el fichero J··ésimo en otro caso PROGRAMACION LINEAL MULTIOBJETIVO Es evidente que l: ei;x; =1, i =l, ... ,m j La longitud de la búsqueda es L min L = = ¿ c;xj. Por tanto, el problema se formula L:c • J·x]· J s.a n L j=l eijXj = 1, Xj =O, 1, i = l, ... ,m j = 1, ... , n o En este último capítulo estudiamos la modelización y solución de problemas de programación lineal multiobjetivo, una aproximación más reciente y muchas veces más realista al análisis de problemas de gestión. Se considera la optimización simultánea de varias funciones objetivo, en muchos casos conflictivas, en situaciones en las que no es deseable o posible reducirlas a una única función objetivo y, por tanto, hay que considerarlas conjuntamente. En el tratamiento de estos problemas, el concepto de óptimo clásico suele carecer de sentido, ya que una solución que ma:cimice un objetivo, en general no maximizará los restantes objetivos. Esta observación conduce al conjunto eficiente (no dominado u óptimo de Pareto), de manera que en vez de buscar una solución óptima, se debe buscar un conjunto de soluciones eficientes. Una solución es eficiente si no existe otra solución factible que mejore el valor de un objetivo sin causar una disminución en el valor de alguno de los restantes objetivos. El capítulo comienza con varios ejemplos de programas lineales ruultiobjetivo en los que se aplican los métodos de las ponderaciones, f.-restricciones eMbrido, ilustrándo~os con representaciones gráficas de las regiones factibles en los espacios de decisiones y de objetivos, y con sus correspondientes conjuntos eficientes. Aunque aquí se aplican estos procedimientos a prob~emas lineales, también son válidos en problemas no lineales. Se hace ver que, bajo ciertas hipótesis, conducen a soluciones eficientes y, además, mediante una adecuada variación paramétrica permiten la generación de todo el conjunto eficiente. Se estudia también la aplicación del símplex multiobjetivo, que sólo es válido para modelos lineales y es una extensión directa del símplex uniobjetivo estudiado en el Capítulo 2. 372 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS ©RA-MA Un grupo importante de ejercicios de este capítulo se dedica a la programación por metas, concebida inicialmente por Charnes y Cooper a principios de los sesenta como una aplicación de la programación lineal con objetivos múltiples. Consiste en solicitar primero al decisor metas o niveles de aspiración para los distintos objetivos que desea alcanzar; entonces, una solución óptima se define como aquella que minimiza la desviación a las metas propuestas. El procedimiento de solución gráfico, que se utiliza en varios ejercicios, ayuda a comprender el procedimiento de solución, que se compara con el símplex en un ejemplo. Algunos métodos de solución analíticos son el algoritmo lineal secuencial y el símplex modificado. Ambos se ilustran de forma detallada, con aplicación del primero de ellos a distintos ejemplos. Varios de estos ejercicios conllevan una modelización previa que los hace representativos de todo el proceso de modelización y solución de un problema. Algunas aplicaciones concretas son: el problema de la cartera, problemas de localización, de selección de proyectos... Finalmente, como extensión de la programación multiobjetivo, se ilustran a nivel elemental otros conceptos importantes como el de punto ideal y de conjunto de compromiso. EJERCICIOS l. Método de ponderaciones. Dado el problema lineal biobjetivo max z s. a = (-X¡ + x2, X¡ + Zx2) - X¡+ 2x2 ~ X¡+ X2 ~ X¡~ 8 8 Se desea: a) Resolverlo con el método de las ponderaciones tomando el vector de pesos >-= (1,1). ¡. 373 Solución a) En este caso se sustituye el objetivo vectorial por una función objetivo escalar z, con pesos A=(1, 1), que toma la forma Tenemos el programa lineal max z s.a = 3x2 - x1 + 2x2 ~ 8 P(l,l): X¡ +x2 6 ~ 8 X¡~ X¡, X2;:::: 0 Mediante el método del símplex, se obtiene la solución x[ = 8/3 ~ 2.67, x2 = 16/3 ~ 5.34, que es eficiente, ya que el vector de pesos es ). > O. b) Consideramos el problema genérico de ponderaciones, cuya función objetivo es z = A¡ (- x1 + x2) + A2 (x¡ + Zx2). Si vamos variando los pesos A1 y A2 de modo sistemático, al resolver los correspondientes programas lineales obtendremos el conjunto eficiente o, al menos, una aproximación de él. La tabla contiene, para valores escogidos de los pesos, las soluciones de los programas lineales asociados. 6 x¡,x2;::::o 1 CAPITULO 7. PROGRAMACION LINEAL MULTIOBJETNO b) Generar (o aproximar) el conjunto eficiente en el espacio de decisiones por variación paramétrica. e) Representar gráficamente la región factible en el espacio de decisiones y el conjunto eficiente. Pesos (.A¡, >.2) (1,2) (1, 3) (1,5) (2,1) (4, 1) (5,2) (6, 1) Solución (xi' x2) (2.67, 5.34) (2.67, 5.34) (2.67, 5.34) (2.67, 5.34) (0,4) (2.67, 5.34) (0,4) Obsérvese que hemos ido tomando pesos estrictamente positivos para garantizar la eficiencia de las soluciones. A la vista de los resultados, podríamos afirmar 374 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS CAPITULO 7. PROGRAMACION LINEAL MULTIOBJETIVO ©RA-MA B' que el conjunto eficiente [ (F) es el segmento que une los puntos extremos (0,4) y (2.67, 5.34), que se comprueba que son puntos extremos eficientes de F. e) Las figuras que siguen corresponden: la de la izquierda, a la región factible F en el espacio de decisiones rn.2, y la de la derecha, a la región factible Z = z ( F) en el espacio de objetivos o consecuencias m.2. En ambas, se han marcado en negrita los correspondientes conjuntos eficientes, donde A= (0,4), B = (2.67, 5.34) , A' == (4, 8) y B' = (2.67, 13.35) . Zt A 375 Z: l:.lO D' -1--1--+--t--'~t-+--+--• · 8 -6 - 4 -2 o 2 4 6 z. 8' o 3. Método híbrido de ponderaciones y E-restricciones. Dado el problema lineal multiobjetivo max z s.a = (z1, z2, Z3, z4) - X¡+ 2. Método de €-restricciones. Resolver el programa del Ejercicio 7.1 me- diante el método de las E- restricciones, tomando como objetivo más importante el z 11 y como meta para el objetivo z2, el valor €2 = 10. Solución Formulamos el programa lineal uniobjetivo max s. a P¡ (10) : Z¡ = - X¡ + X2 -x 1 + 2x2 ~ 8 X¡ +x2:::; 8 X¡~ 6 X¡ 1 X2 ;::: 0 1 Z2 = X¡ + 2X2 ;::: 10 Su solución, obtenida con el método del símplex, es xi = 1, x2 = 4.5 con zi = 3.5 y zi =10. El óptimo es único y, por tanto, es un punto eficiente. Las figuras que siguen muestran las regiones factibles en los espacios de decisiones y objetivos, respectivamente, que constituyen subregiones del problema original.· El punto A es la solución óptima de P¡ (10) y A' su imagen en el espacio de objetivos. 2x2, - Xt + 3x2) 2x2:::; 8 X¡+ X2 ~ o = (-x¡ + x2, X¡+ 2x2, 3xt - 8 6 Xt 1 X2;::: 0 X¡ :::; Se desea: a) Resolverlo con el método de ponderaciones y E-restricciones tomando como objetivos más importantes Z3 y Z4 1 con vector de pesos >. = (2,1) y metas €¡ = 2 y f2 = 10 para los objetivos Z¡ y z2. b) Representar gráficamente la región factible en el e.spacio de decisiones y la solución obtenida en a). Solución a) Formulamos el problema uniobjetivo P (€1 = 2, f2 = 10, A3 por ma..x z = 2z3 + z4 = 5x 1 - x2 s.a -X¡+ 2x2:::; 8 X¡+ X2:::; X¡:::; 8 6 = -X¡ + X2 ~ 2 Z2 = Xt + 2X2 ~ 10 Zt X¡ 1 X2~0 = 2, A4 = 1) dado 376 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS CAPITULO 7. PROGRAMACION LINEAL MULTIOBJETIVO ©RA-MA Aplicando el método del símplex, se obtiene la solución óptima xi = 3, x2 = 5, con zi = 2, z2 = 13, z3 = -1 y z¡ = 12. El punto anterior es eficiente, ya que el vector de ponderaciones es estrictamente positivo y la solución única. b) La región factible en el espacio de decisiones del problema P (E¡, E2, ).3 , .X 4 ) se muestra como la parte rayada de la figura, indicándose la solución óptima del programa anterior (punto A). C; -4 -2 2 3 o o o o o o VB X¡ X2 X3 X3 X4 Xs 1 3 1 2 1 1 e{ 1 z!- d; z~ _¿ -2 -3 4 2 o o o o X4 xs 377 XB o o 24 1 o 18 o 1 10 o o o o o o que tiene dos filas de indicadores (k= 1, 2), pues son dos las funciones objetivo. Las variables de holgura forman una base factible inicial Bh. Hacemos h = 1 y f = O (contador de soluciones eficientes); la base B 1 proporciona la solución x 1 = (O, O). Como existe una fila indicador, k = 2, con to~os sus valores no negativos, entonces x 1 maximiza el objetivo z2. Además, como para las variables no básicas éstos son positivos, es decir, se tiene un má..ximo único y, por tanto, x 1 es eficiente. Hacemos f =l. · Vemos a continuación si existe una columna no básica no dominada, es decir, si existen valores 81 y 82 para las variables no básicas x 1 y x2, respectivamente, tales que o 4. Algoritmo del símplex multiobjetivo. Resolver con el método del símplex multiobjetivo el programa lineal max z s.a = (z 1 (x), z2 {x)) 81 = 2x2) ~ 24 2x 1 + x2 ~ 18 X¡+ X2 ~ 10 X¡ + 3X2 = (2x 1 + 3x2, -4x¡ - para k = 1, 2, con al menos una desigualdad estricta. Determinamos el mayor valor posible con el que puede entrar x 1 en la base, que es 18 10 } = 9 1'2 ' 1 Análogamente, para x2 82 x1,x2;:::o Solución Pasando al formato estándar (x3, X4 y x5 variables de holgura) , la tabla inicial del símplex multiobjetivo es . {24 mm Como = min { 24 18 1 10} 3' 1 1 =8 . 9 X (-2) = -18 > -24 = 8 X (-3) 9 X 4 = 36 > 16 = 8 X 2, la introducción de x2 en la base proporciona una solución que domina la solución asociada a la introducción de x 1 . Introducimos x2 en la base, el elemento pivote es Yl2 = 3 y la nueva tabla 378 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS se} -4 2 -2 3 VB X¡ X2 X4 xs l /3 5/3 2/3 -1 10/3 z! -e1 ~ ~ Z; - e; o o o o o o X2 X3 X4 1 1/3 - l/3 - 1/3 1 -2/3 o o o o Xs o o 1 o o 1 o o o o XB 8 10 2 24 -16 contiene una base B 2 no explorada anteriormente, con las variables x2, X4 y x 5 , - que proporciona la solución x2 = (0, 8). Como no es zj - <1 2:: Opara k = 1, 2, Vj y no es zj - c1 $O para alguna variable no básica, para.. k = 1, 2, resolvemos el subproblema de eficiencia para x 2 , dado por max E= s.a d1 CAPITULO 7. PROGRAMACION LINEAL MULTIOBJET!VO @RA-MA + d2 379 La solución x3 = (3, 7) que proporciona esta tabla es eficiente, ya que existe una fila indicador (k= 1) con todos sus elementos no básicos positivos. Hacemos f = 3. Las dos variables que podrían entrar en la base son xa y xs. Como zj -e§ = 1/2 > Oy z§ - = 1 > O, la introducción de X3 en la base conducirá a una solución domina{ia. Por otra parte, si se introduce xs tendremos una base ya explorada. Por tanto, los puntos extremos eficientes son x 1,x 2 y x3 , y también serán eficientes las combinaciones lineales convexas entre pares de puntos adyacentes, es decir, los puntos q x = px1 + (1-p)x2 x = qx2 + (1 - q) x3 para para pE [0, 1J q E [0, 1J Finalmente, observemos que la sucesión de iteraciones nos da el camino a lo largo de la frontera eficiente de la región factible F, que está indicada en trazo grueso en la figura. xEF 2x 1 + 3x2 - d1 = 24 - 4Xt- 2x2 - d2 = - 16 X ¡ 1 X2,d1 ,~ 10 2::0 El valor óptimo del objetivo es E* = O, así que x2 es eficiente y hacemos f = 2. En la última tabla, vemos que 01 = 3 y 03 = 24, así que 3 X ( -1) = -3 3X 5 < 24 = 24 X 1 Jj = 10 > - 16 = 24 X ( - ~) por lo que no hay dominación por parte de ninguno de los vectores columna. Como x 2 es eficiente, observamos que hay variables no básicas con algún indicador positivo y negativo, para x 1 se tiene el vector de indicadores (- 1, 10/3) y para x2 el vector (1, -2/3). La introducción de X3 en la base conduce a una base ya explorada, lo que no ocurre para la variable Xt· Sustituimos x 1 por x5, siendo la nueva tabla o o o o e~ 2 3 o o VB X¡ X2 X3 X4 xs 1/2 1/2 -1/2 1/2 o xa - 1/2 - 5/2 3/2 3/2 7 5 3 27 - 26 Cj -4 - 2 X2 X4 X¡ zr- e~ ~ ~ Z" -e:; o l o o 1 o o o o o 1 l o o o -5 o 5. Solución gráfica de un programa por metas. En el proceso de fabricación de dos tipos de transistores denominados T1 (alta calidad) y T2 (baja calidad), se utilizan entre otras como materias primas, aluminio, arsénico y selenio, en las cantidades que se indican en la tabla. En ella aparecen, además, las disponibilidades de las materias primas, los costes de mano de obra y del proceso de fabricación (en miles de ptas), los consumos de energía (k W) y contaminación 380 PROGRAMAC!ON LfNEAL Y APLICACIONES: EJERCICIOS RESUELTOS emitida (mg) en el proceso de fabricación. Todas las cantidades son por unidad producida. 'Iransistores T¡ Aluminio 60 Arsénico 55 Selenio 120 Coste mano de obra 5 Coste del proceso 7 Consumo de energía 30 Contaminación 8 T2 40 50 60 6 . @RA-MA Disponibilidad en kg 12000 11000 18000 5 24 20 El fabricante desea racionalizar el proceso de producción y, para ello, establece un conjunto de metas con el siguiente orden de importancia: l. No superar las disponibilidades de materias primas. 2. Respetar las demandas de transistores. A partir de estudios de mercado, se estima que para el tipo T¡ se encuentra entre 50 y 90 unidades y para el tipo T2 es superior a 110. CAPIT ULO 7. PROGRAMACION LINEAL MULT!OBJETIVO Solución a) Definimos las variables de decisión Xi = número de transistores a fabricar del tipo T¡ con i = 1, 2. Construimos un modelo de programación por metas con prioridades, considerando metas de mayor a menor importancia, según lo establecido por el fabricante. Para la primera prioridad, introducimos las restricciones de meta correspondientes a las restricciones rígidas, que se obtienen considerando para cada materia prima variables de desviación de la disponibilidad por exceso y defecto dt y di, respectivamente, teniendo P¡ : 60x¡ + 40x2 - d[ +d} = 12000 55x¡ + SOx2 - 4 + d2 = 11000 { 120x¡ +60x2 - dt + d3 = 18000 (di a) Construir un modelo de programación por metas con prioridades que responda a los deseos del fabricante. b) Resolverlo gráficamente. Comentar la solución. e) El fabricante implementa la solución obtenida en b). Al poco tiempo, aparece legislado un límite superior de contaminación emitida de 1500 mg, bajo pena de cierre de la fábrica. Comentar cómo habrá que modificar el modelo construido en a) para que la fábrica continúe funcionando. Obtener la nueva solución y compararla con la obtenida en b}. dj) . (demanda inferior de T¡) (demanda superior de T¡) (demanda inferior de T2) 4. El consumo de energía debe ser inferior a 3600 k W. Se desea: (aluminio) (arsénico) (selenio) Se desea no superar los recursos disponibles para todas ellas, por lo que en la función objetivo global P, para esta primera prioridad se considerará la minimización de la suma de las variables de desviación de la disponibilidad por exceso, que indicamos escribiendo P¡ +4 + Para la segunda prioridad, tenemos análogamente 3. Los costes de mano de obra y del proceso no deben superar los fondos disponibles, que se sitúan en 600000 y 1175000 ptas, respectivamente. 5. La contaminación emitida debe situarse lo más próxima posible a 1600 mg. 381 Como se desea que la demanda de T1 se encuentre entre 50 y 90, debemos minimizar la desviación por defecto d4 para la primera restricción de meta y la deSviación por exceso dt para la segunda. Respecto de la tercera, se establece únicamente un límite inferior de demanda, por lo que habrá que minimizar la desviación por defecto d6. La parte de la función objetivo para la segunda prioridad es P2 (.d;¡ +dt +d6). La tercera prioridad es de tipo monetario y se refleja mediante las restricciones de meta (coste mano de obra) (coste del proceso) Con esta meta se desea no superar los límites monetarios para ambos tipos de coste, lo que se traduce en la minimización de la suma de las variables de desviación por exceso, es decir, P3 + (di tJt) . 382 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS @RA-MA CAPITULO 7. PROGRAMACION LINEAL MULTIOBJETIVO 383 En la cuarta prioridad se plantea no superar un consumo máximo de energía. La restricción de meta asociada es P4: 30x¡ + 24x2- dt +dg = 3600 (consumo de energía). En este caso, la minimización corresponde a la de la variable de desviación por exceso, con lo que la contribución al objetivo es P 4 ( dt) . Finalmente, la restricción de meta asociada a la última prioridad es Ps: 8x¡ + 20x2- d{0 + diQ = 1600 (emisión de contaminación). En ésta, el deseo del fabricante es desviarse lo menos posible de la meta 1600, así que habrá que minimizar simultáneamente dfo y d10 , que se expresará poniendo en el objetivo global Ps (dio + d¡0 ) . Además, hay que añadlr las condiciones de no negatividad de las variables de decisión y de desviación X¡ 1 X2,dJ,dj ~ Ü, j = 1, ... , 10. Por tanto, el objetivo del modelo de programación por metas con prioridades queda min P = P¡ ( df + 4 +P4 + dt) +P2 (d;¡ + dt +d¡;) + Pa (df + dt) + (dt) +Ps (dio+dio) · Pasando a la segunda prioridad, pero sin degradar la primera, tendremos el conjunto de compromiso denominado P2. (!) b) En las figuras que siguen, se recoge el proceso de solución gráfico del programa anterior. Las restricciones de meta correspondientes a la primera prioridad, con las variables de desviación nulas, definen el conjunto de compromiso denominado P1. Las flechas sobre cada restricción indican el sentido de crecimiento de las variables de desviación. En círculos apareéen las variables de desviación a minimizar. 2SO 300 X¡ Observemos que las metas correspondientes a las prioridades P1 y P2 han quedado satisfechas. Pasamos entonces a la tercera prioridad. Aunque la restricción 384 PROGRAMACION LTNEAL Y APLICACIONES: EJERCICIOS RESUELTOS ©RA-MA de .meta correspondiente a la variable de desviación dt determina un nuevo conjunto de compromiso, como hay que considerarla conjuntamente con la anterior restricción de meta, pues hay que minimizar la suma dj +dt, comprobamos que no es posible hacerla O. En efecto, habría que ceder en el valor de dj lo menos posible, lo que conduce en esta prioridad a una región de compromiso P3, que es el punto (50, 110) , para el que dj = 310. CD 1' A continuación, consideramos las prioridades cuarta y quinta. Habrá que ceder tanto en una como en otra. En efecto, se tiene dt = 540, dio =O y dio = 1000. Por tanto, la solución de compromiso final es única x = (50,110). Así, el plan de producción es fabricar 50 transistores de tipoT1 y 110 de tipo T2 • Es fácil calcular los valores de las variables de desviación para la solución obtenida. La tabla siguiente proporciona tales valores, con indicación de las prioridades de las variables. Prioridad Res t. i P; 1 1 1 2 1 3 2 4 2 ¡' 1 5 V. desviación di d-;" o o o o o Prioridad Res t. V. desviación d-;" i cit P; 1 4600 2750 5400 2 6 o 3 3 7 310 8 o 4 5 9 40 10 540 1000 o o o 275 o o CAPITULO 7. PROGRAMACION LINEAL MULT!OBJETlVO 385 Obsérvese que dt + dt + cJt = O, por lo que se ha alcanzado la prioridad P¡ , recordemos que todas las variables de desviación son no negativas. También es útil el conocimiento de los valores de las otras variables de desviación en cada prioridad. Por ejemplo, di = 4600 kg, n<>ll indica que para llevar a cabo el plan de producción no se utilizan 4600 kg de aluminio. Como d4 +dt +df: = O, también se ha logrado la segunda prioridad: se han alcanzado los límites inferiores de demanda para ambos tipos de transistores. En la tercera prioridad,· no ha sido posible la minimización de la variable de desviación por exceso, obteniéndose dj = 310 > O. Por ello, ha habido una desviación en exceso en 310000 ptas para el coste de mano de obra. Por otra parte, al ser dt = O, no se ha superado el límite superior de coste del proceso y, además, como d8 = 275, el coste del proceso en la solución es inferior al límite propuesto en 275000 ptas. /. En la cuarta prioridad se tiene dt = 540, que indica una desviación p~r exceso de 540 kW respecto de la meta establecida. Por último, en la quinta prioridaa se ha obtenido dt0 = 1000, que corresponde, como en la anterior prioridad, a una desviación por exceso de 1000 mg respecto de la meta establecida para emisión de contaminación. e) En tal caso sería necesario situar la restricción de meta de la prioridad Ps, que desaparece, en la prioridad P1 pero sólo con dt0 , cambiando el término independiente 1600 por 1500, quedando P1 ( dt + 4 +cJt +dt0 ) y el resto como antes. El lector puede comprobar que la nueva solución de compromiso es x = (50, 55), para la que se satisfacen las prioridades P1, P3 y P4, pero no P2 , pues la demanda mínima de unidades de tipo T2 no quedaría satisfecha por la diferencia 110-55=55 unidades. o 6. Método del símplex y programación par metas. Resolver el programa lineal max z (x) = 4x¡ +3x2 s.a X¡+ X2 ~ 10 3x 1 +4x2 ~ 12 X¡ 1 X2 ~ 0 con el método del símplex. Formularlo, después, como un programa por metas y resolverlo gráficamente, introduciendo una meta razonable para la función objetivo. Si existen, indicar las diferencias entre la solución obtenida mediante programación por metas y mediante el símplex. 386 PROGRAMACION LrNEAL Y APL!CACfONES: EJERCICIOS RESUELTOS ©RA-~ CAPITULO 7. PROGRAMACION LINEAL MULTIOBJETIVO 387 Solución Pasando el problema a la forma estándar añadiendo ar· bl d h . 'fi . v Ia es e o1gura XJ Yx 4 y una vanable art1 CJal xs a la segunda restriccio'n t ·t . . . , en res 1 erac10nes del métod 0 de las penahzacwnes se obtiene la tabla óptima Cj 4 ca 3 VB X¡ X2 1 X¡ o o X4 Zj xM X3 X4 3 M xs xa 1 -1 o o o 4 o o o o o o 1 1 Cj 1 o o 1 1 l que proporciona la solución xi = 10, x2 = 0 con z* ·• ó · * 1a so1uc10n pt1ma x , con F región fact ible. Lo resolvemos gráficamente. Las figuras que siguen muestran la región de compromiso para la primera prioridad Pr, que es precisamente la región factible F obtenida anteriormente, y para la segunda prioridad P2 sin degradar la primera. La solución es ahora el conjunto P2 que constituye la región de compromiso. x, 18 10 40 o = 40 E 1 fi · n a gura se muestra x, x, Estas son las diferencias más notables entre ambos procedimientos. En programación por metas: l. Se conceptualiza la función objetivo como una meta, haciendo necesaria la consideración de un valor específico como meta o nivel de aspiración o satisfacción. 2. Se consideran variables de desviación por exceso y defecto, con prioridades y, eventualmente, ponderaciones. 3. La función objetivo es la minimización de desviaciones, Jo que conduce, típicamente, a una región de compromiso que podrá tener infiriitos puntos. Para formularlo como un programa por metas d b · . ., d ' e emos convertu· el objetivo en una restnceton e meta. En vista de la figura t .· ~ an euor, supongamos que f uera razonable tornar z = 24 como meta para la fu · • b · · nc1on o Jet1vo E·1programa correspondiente es · s.a dt +di= 10 3x¡ + 4x2 - dt + di =12 4x¡ + 3x2 - dj + d3 =24 P¡ : { X¡+ X2- X¡ 1 X2,dj ,dj ~ 0, j 7. Método del símplex modificado. Resolver con el método del símplex modificado o mv.ltifase el programa por metas con prioridades mio s.a minP= Pr(d[+di)+P2(d3) p2: Observemos que, de introducir como meta el valor 100, la minimización de la desviación d3 produciría la misma solución que la proporcionada por el método del símplex. Por tanto, debemos considerar como meta un valor muy grande. O =1,2, 3 P = P¡ (df + 4) + P2 (d3) + P3 (d4) Pr . { X¡+ x2- dt + d! = 8 · xr - 4+d2 =6 P2: 2x¡ + 4x2 - dt + d3 = 16 P3: x¡ - 2x2- dt + d4 = 10 X¡,dj,dj ~ 0, Í = 1,2; j = 1,2,3,4 388 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS CAPITULO 7. PROGRAMACION LINEAL MULTIOBJETIVO © RA-MA 389 Solución Apliquemos el algoritmo del símplex modificado. Paso O. Construimos la tabla inicial del símplex modificado con la fila indicador de la prioridad P1 (Tabla 1) Tabla 1 o o o o o o o o o l p2 o o o o o o o 1 o o Pt o o 1 o 1 o o o o o p3 p2 P¡ VB X¡ X2 ar d¡ el; dj do o o d-l 1 1 - 1 1 o d:io o o3 dto d4o XB8 o o o. di 1 o o o - 1 1 o o o o 6 o l o d-3 2 4 o o o o -1 l o o 16 1 o o d-4 1 -2 o o o o o o 1 l 10 P¡ o o -1 o - 1 o o o o o o Paso 1. Hacemos k = l. Ps Paso 2. No hay elementos positivos en la fila indicador, luego vamos al paso 5. Paso 5. Como al menos un vector columna de la fila indicador de una variable no básica está formada por ceros, por ejemplo, x1 , x2 , tJt, ..., es posible la mejora. Paso 6. Hacemos k = k + 1 = 2. Como k = 2 :::; 3 = K, número de prioridades, determinamos la fila indicador para la prioridad P2 (Tabla 2) y vamos al paso 2. Tabla 3 o o o o o o o o o o l o Ps p2 Pt VB X¡ X2 di d-1 o o o d-1 1/2 o - 1 1 o o o d2 1 o o o o o o X2 1/2 1 o o 2 1 o o d-4 o o o o o -1 o Pt p2 o o o o Ps p2 Pt Paso 2. El mayor elemento positivo de la fila indicador P2, sin elementos indicadores negativos encima de él, es U22 = 4. Designamos a esta columna como pivote, siendo x2 la variable de entrada. Vamos al paso 3. Paso 3. Para determinar la variable de salida aplicamos la regla de mínima razón, que corresponde a la variable d3. Paso 4. La nueva tabla donde la variable x2 sustituye a d3, es la Tabla 3. Volvemos al paso 2. el; d2 o o -1 l o o o o -1 o o o o o o a; di 1/4 -1/4 o - l/4 -1/2 o o o l o o l/4 ·1/2 o -1 o l o o o o dJ d-4 o o o o o o -1 1 XB 4 6 4 18 ~ o o o o o Paso 2. Como no hay elementos positivos en la fila indicador correspondiente a P2 sin elementos indicadores encima iguales a O, vamos al paso 5. Paso 5. Hay variables no básicas con vectores columna indicadores (P¡, P2) nulos, por lo que es posible la mejora. Paso 6. Hacemos k =3. Como es menor o igual que K =3, determinamos la fila indicador para la prioridad P3 (Tabla 4). Volvemos al paso 2. Tabla4 Pa p2 Tabla 2 o o o o o o o o o 1 o o o o o o o 1 o o o o l o l o o o o o p3 p2 P¡ X¡ X2 dj d-1 d[ d2 d- XB d3 o o o d-1 1 l -1 1 o o dto o dto o4 8 O. o o di 1 o o o -1 1 o o o o o 1 o d-3 2 4• o o o o - 1 1 o o 166 1 o o d-4 l - 2 o o o o o o - 1 1 lO Pt o o 1 o -1 o o o o o o p2 2 4 o o o o -1 o o o 16 p3 p2 Pt VB o o o o 1 o Ps p2 Pt o o o o o o o o o o o o o o l o 1 o Pt VB X¡ d-1 1/2 o o o o o o d2 o o o X2 1 o o d-4 Pt p2 p3 X2 dt o -1 1. o o l/2 1 o 2 o o o o -1 o o o 2 o o d¡ 1 o o o o o o el; d2 o o -1 1 o o o o -1 o o o o o o o o o o o 1 o o o o dJ 1 dt d3 1/4 - 1/4 o o -1/4 - l/2 1/4 1/2 o o -1/2 o -1 1/2 d4 XB 1 4 6 4 18 o o o o o o -1 o o o o o o - 1 o 18 Paso 2. El mayor (y único) elemento positivo de la fila indicador de la prioridad P3, sin elementos negativos encima (Pt, P2), es U3 1 = 2. Designamos a esta columna como pivote, con x 1 como variable de entrada. Paso 3. Determinamos la variable de salida d2 con la regla de mínima razón. Paso 4. Obtenemos la nueva tabla (Tabla 5) y vamos al paso 2. ·390 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS @RA-MA Tabla 5 p3 p2 Pt p3 p2 PI o o o o o o o o o 1 o o VB d-1 X¡ X2 d¡ Pt p2 Ps o o o o o o o o o o o o 1 o 1 X¡ X2 o o 1 o o 1 o o o o o o o o di el) -1 1 o o o o o o o 1 o o 1 o o o o d2 ct; dj d3 1/2 -1 1/2 2 -1/2 1 -1/2 -2 1/4 -1/-! -1/4 -1/2 l/4 o o o o o o 1/2 -1 o o o o -2 -1/2 1/2 o o o o o o -1 o -1 o o o o o 2 o o o -1 e([ di xs 1 1 6 1 6 o o o o o o -1 o 6 Paso 2. Como no hay elementos indicadores positivos en la prioridad P3 sin elementos Oencima (Pt,P2), vamos al paso 5. Paso 5. No hay vectores columna nulos para variables no básicas, así que se ha alcanzado la optimalidad y paramos. La lectura de la tabla final proporciona la solución xj = 6, x2 = 1, di = 1, d;j = 6 CAPITULO 7. PROGRAMACION LINEAL MULTIOBJETIVO e) Suponiendo que el fabricante estima dos veces más importante el objetivo económiw que el de nivel de producción, determinar mediante el método de las ponderaciones cuál debe ser la política de producción. Comentar la solución. Idem si establece que sólo el objetivo niuel de producción de B y e es importante. e) Si el fab-ricante dice que el objetivo nivel de producción de las pulidoras By C es mucho más importante que el económico, pero para este último establece un nivel mínimo de 1450000 ptas, ¿cuál es la política de producción más adecuada? Solución a) Definimos las variables de decisión x 1 =número de unida{}es producidas de A x2 = número de unidades producidas de B XJ = número de unidades producidas de C Las restricciones son + 2x2 + X3 s; 1000 + X2 + X3 :::; 6QQ 4x¡ siendo nulas el resto de las variables. Por tanto, se ha alcanzado la prioridad P1, (df+4=0)yla P2 {dj'=O}, peronola PJ O (d4 =6). 8. Un problema multiobjetivo con reducción de dimensión. Un fabricante de herramientas produce tres calidades (A,B, C) de pulidoras. El proceso de fabricación de una pulidora de tipo B ocupa doble tiempo que una de tipo C, y una del tipo A doble que el de B. Si toda la producción fuera del tipo C, se podrían hacer a lo sumo 1000 unidades diarias. Los tres tipos de pulidoras utilizan la misma cantidad de materia prima y la cantidad disponible limita diariamente a 600 el número total de unidades que se pueden producir. Los beneficios unitarios de las he1Tamientas A1 By C son 4000, 3000 y 1000 ptas, respectivamente. El fabricante desea maximizar la ganancia total. Para determinar la política de producción, se sabe que la demanda de los tres tipos es importante, pero, por razones de imagen, quiere que la producción de los tipos B y C sea lo mayor posible. Se pide: a) Formular un modelo de programación lineal multiobjetivo que tenga en cuenta los deseos del fabricante. b) Dibujar las regiones factibles en los espacios de decisiones y de objetivos. Determinar las soluciones eficientes. 391 X¡ X¡ 1 X2 1 X3~Q {límite de tiempo) {limite de producción) {no negatividad} Las funciones objetivo son = 4X¡ + 3X2 + X3 ma."XZ2 = X2 + X3 ma."XZt {beneficio en miles de ptas) (producción de B y C) El problema lineal multiobjetivo se formula max. z = s.a (4x¡ + 3x2 + X3, x2 + x3) + 2X2 + X3 $ 1000 + X2 + X3 $ 600 4Xt X1 Xt,X2 1 X3~0 b) La región factible F en el espacio de decisiones JR3 es el poliedro convexo de puntos extremos O, A, B, C, M y N de la figura 392 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS @RA-MA x, 6oo CAPITULO 7. PROGRAMACION LINEAL MULTIOBJETIVO 393 Es inmediato observar que el conjunto eficiente en el espacio de objetivos es é (Z) ={B' M'} ¡ así, el conjunto eficiente en el espacio de decisiones es é (F) = e {sM}. e) Si admitimos que esto equivale a considerar el problema de ponderaciones z¡ y z2 con los pesos 2 y P (2, 1), donde se combinan aditivamente los objetivos 1, la nueva función objetivo escalar es Z =2 X Z¡ + 1 X Z2 =8x 1 + 7X2 + 3X3 y el problema ponderado queda 400 ~ x, La tabla que sigue contiene los puntos extremos de F y sus transformados mediante z. Puntos extremos X z Puntos de de F z (x 1 , X7 1 X3) (zt,Z2 ) o A B e M N (0,0,0) (250,0, O) (0, 500, O) (0, 0,600) (O, 400, 200) (133.3, o, 466.7) O' A' B' C' M' (O, O) (1000, O) (1500, 500) (600, 600) (1400, 600) (1000, 466.7) { max s. a xE F Aplicando el método del símplex, en dos iteraciones se alcanza la solución óptima xi = O, x2 = 500, xj =O, con z* = 3500, que será la solución de compromiso del problema multiobjetivo original. La solución es eficiente al ser los pesos estrictamente positivos. Obsérvese que corresponde al punto B de la región facti~le F. Además, zi = 1500000 ptas y z2 = 500 unidades. Si ahora sólo es importante el objetivo correspondiente a nivel de producción; consideraremos el problema ponderado N' La región factible Z = z (F) en el espacio de objetivos o consecuencias 1R?, se muestra en la figura siguiente. 600 P(2, 1): C',--------... M' B' N' 400 P(0,1): x2 + x3 x EF = 4x 1 + 3x2 + X3 xEF X2 500 = cuya solución es xi = O, x2 = 400, xj = 200, con z* = 600, que no podemos garantizar que sea eficiente, pues uno de los pesos es ·nulo. Para comprobar si es eficiente, podemos resolver el problema max z s.a z { max z s.a 1000 1500 Z¡ + X3 = 600 Aplicando el método del símplex, obtenemos la solución anterior. Por tanto, la solución de compromiso obtenida es eficiente. Obsérvese que se corresponde con el punto M, que sabíamos era eficiente, por la representación gráfica anterior. 394 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RES UELTOS ©RA-MA d) Ahora consideramos el problema de E-restricciones max P2 (1450): s.a { z = x2 + X3 xEF 4X¡ + 3X2 + X3 2::: 1450 cuya solución, obtenida con el método del símplex, es xi = O, x2 = 450, xj = 100. Se puede ver que este óptimo es único, por lo que la solución de compromiso es eficiente y corresponde gráficamente a un punto intermedio del segmento BM. Además, zi = 1450000 ptas y z2 = 550 unidades a fabricar. D - -- -- - ---"' C!..!AP:....:I:..:.T..:::.U::.;L0::....:...:.7._P:...:R:::.:O=.G!lJ\MACION LINEAL MULTIOBJETTVO Solución a) Sean las va~ables de decisión J = núm'ero de módulos a realizar del proyecto J. e = núm~ro de módulos a realizar del proyecto c. Si vi y ui son las variables de desviación por exceso y defecto respecto de las metas z¡, la formulación del modelo con dos prioridades P1 y P2, suponiendo continuas las variables J y e, es s.a Pt. { 600J + 900C - V¡+ U¡= 5400 . 4J + 3C - V2 + tL2 = 36 p2 : 20J + 9C - V3 +'U3 = 180 9. Selección de proyectos y algoritmo lineal secuencial. El Patronato de la CAM tiene la posibilidad de llevar a cabo los proyectos J y C durante el año próximo. El proyecto J consiste en adecentar parques y jardines, y el C en arreglar calles. Ambos proyectos se dividen en módulos o unidades iguales que se pueden realizar total o parcialmente. Cada módulo de J cuesta 600 millones de ptas, emplea a 4 funcionarios y genera 20 nuevos puestos de trabajo1 estimándose su rentabilidad indirecta en 300 millones. Cada módulo de C cuesta 900 millones de ptas, emplea a 3 funcionarios y genera 9 nuevos puestos de trabajo, estimándose su rentabil·idad indirecta en 600 millones. El Patronato se propone las siguientes metas en orden decreciente de prioridad: J,C,vi,Ui2=::0, min v¡ +u2 s.a 600J + 900C -V} b) Si el nivel de utilización del funcionariado se establece, al menos1 en 24 personas, el nivel mínimo de nuevos puestos de trabajo en 120 y, además, se añade una tercera prioridad que es "maximizar" la rentabilidad indirecta al final del año, formular el nuevo modelo de programación por metas y resolverlo gráficamente. 'U( Poniéndolo bajo la forma dé maximización y utilizando u¡ y u2 como variables básicas iniciales, en una itera.ción, se obtiene la tabla óptima Cj a) Formular un modelo de programación por metas y resolverlo con el algoritmo lineal secuencial. + = 5400 4J + 3C - V2 + tL2 = 36 J,C,vi,Ui 2:::0, i = 1,2 2. Generar al menos 180 nuevos puestos de trabajo. Se desea: i=l,2,3 Para resolverlo con el algoritmo lineal secuencial, consideramos primero el problema lineal con función objetivo dada por la primera prioridad y las correspondientes restricciones. Se tiene el programa lineal l. Mantener la inversión por debajo del presupuesto disponible, que es de 5400 millones de ptas y, también, emplear al menos a 36 funcionarios (la plantilla del Patronato es bastante grande). 395 es o -1 VB J 'U2 Zj- Cj o o e J -1 o o -1 V¡ V2 U¡ U2 1 3/2 -1/600 o 1/600 o - 3 1/150 -1 -1/150 o 3 596/600 1 4/600 o xs 9 l o o o P.asamos a la minimización de la siguiente prioridad añadiendo, además de ~a restricción de la segunda prioridad, la restricción v1 + tL2 = O, para que nó se 396 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS min P u3 +U2 = 0 1,C,v¡,u¡ ~O, i = 1,2,3 Pasando a la forma de maximización y añadiendo variables artificiales a la segunda y cuarta restricción es (a 2, a4) , la tabla inicial del símplex es o Cj o o o o o -M 11¡ Ut a2 -1 1 J e -M -1 Ut a2 UJ 600 4 20 900 3 9 -M a4 o Zj- Cj xM P1 (11 1 + u2) + P2 (u3) + P3 {-3001- 6000) p . { 6001 + 9000 -V¡ +U¡ = 5400 l . 41 + 30 -112 +U2 = 24 P2 : 201 + 90 - 113 +U3 = 120 1,C,v¡,Ui ~O, i = 1,2,3 111 VB = s.a 6001 +9000 - 11¡ +U¡ = 5400 41 + 30 - 112 + U2 = 36 201 +90 - 113 + U3 = 180 es 397 tal como se indica en el enunciado, tenemos el programa degrade P1• Ahora, el programa lineal es min s.a CAPITULO 7. PROGRAMACION LINEAL MULTIOBJETIVO ©RA-MA 112 U2 o o o o -1 1 o o o o o o 1 o o 1 -20 -9 o o o o -4 -3 -1 o 1 -2 o 1 o o o -1 o -1 -M 113 U3 a4 o o o o -1 xs o o o 1 o o 1 o o o 5400 36 180 1 o -1 -180 -36 o en el que hemos reflejado esta última prioridad directamente en el objetivo. La figura representa la solución gráfica del programa con indicación de la solución de compromiso. Se alcanza La tabla óptima en cinco transformaciones de pivote, en la que prescindimos de las columnas de las variables básicas, Cj es o o o o o o -M a2 VJ U3 a.¡ o o -.0714 .0714 -.0007 -1 -.1428 .1428 .0476 -.0476 1 o VB Ut uz 1 -.0007 -.0007 Vt V2 e Zj- Cj xM o .0019 .0016 o o 1 -1 .0016 o o o o -1 o o o -1 o o -M 1 .0019 .0016 o -1 xs 9 o o o o o La solución óptima es r = 9, con el resto de las variables nulas: se deben contratar 9 módulos del proyecto 1, alcanzándose todas las metas de forma exacta. b) En este caso, el programa lineal por metas se formula incl~yendo en una tercera prioridad el objetivo rentabilidad indirecta. Modificando los valores de las metas Solución de compromiso 11' 4 2 PI í\P2 o 2 4 10 J La zona rayada corresponde al conjunto de compromiso hasta la prioridad P2. Una vez determinado éste, obtenemos el máximo del objetivo incluido en la tercera prioridad, que proporciona la solución dada por el óptimo único r = 4.714, e· =2.ss1 con rentabilidad indirecta óptima igual a 3128.572 millones de ptas. Es inmediato observar que todas las variables de desviación son nulas en el óptimo, excepto 398 CAPITULO 7. PROGRAMACION LINEAL MULTIOBJETIVO PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS v2 = 3.42. Por tanto, se cumplen de manera exacta las metas presupuestaria y de generación de nuevos puestos de trabajo, pero hay una utilización de más de tres funcionarios por encima del valor mínimo establecido. O 10. Planificación de la producción con programación por metas. Una planta química fabrica dos productos A1 y A2, con tres materias primas M1 , M2 y M3. La siguiente tabla tecnológica muestra los gastos de kg de materia prima por kg de producto fabricado, así como sus disponibilidades en t para el próximo periodo de tiempo M1 M2 M3 4 12 6 10 4 7 3 2 16 23 Solución a) Definimos las variables de decisión x 1 =producción en kg de At x2 = producción en kg de A2 Las restricciones de meta se tienen de las cinco prioridades: - Para las disponibilidades Pt : 18 20 22 En el proceso de producción, se consume también energía eléctrica, agua y tiempo en máquinas, siendo los gastos por kg fabricado de cada producto Energía Agua kW/kg m3 /kg Se desea construir un modelo de programación lineal por metas. con la minimización de di Los costes de las materias primas por kg son de 56 ptas para M¡, 43 ptas para lv/2 y 79 ptas para M3¡ 17 ptas el kW de energía; 56 ptas el m3 de agua; el 'del tiempo de máquina es de 3000 ptasjh en tiempo regular y de 4500 ptasjh en tiempo de trabajo extraordinario. La dirección de la planta desea construir un modelo de control de la producción, teniendo en cuenta' el siguiente orden de prioridades: + d¿ + 4 · - Para los consumos de energía y agua dt 3x, + 2x2 +á¡ = 6000 p2 : { 16x 1 + 23x2+ d5 = 73000 Tiempo hjkg 1.5 1.8 4xt + 10X2 - dt + dl =18000 12Xt + 4X2- 4 + d;¡ = 20000 { 6Xt + 7X2 - df +d3' = 22000 cq con la minimización de 2dt + d5. - Para el tiempo de máquina y limite de horas extraordinarias l.5Xt + l.8x2 p3 : { d+6 < 12000 - con la minimización de dt + ds = 32000 d6. l. No superar las disponibilidades de materias primas. - Para el presupuesto 2. Mantener el consumo de energía por debajo de 6 MW y el consumo de agua por encima de 73 dam3 , siendo doblemente importante cumplir el primero. 3. La disponibilidad de tiempo regular es de 32000 h que se desea se utilicen en su totalidad. Se admite la posibilidad, si fuera necesario, de hacer horas extraordinarias hasta un máximo de 12000 h. 4. El presupuesto disponible es de 3 millones de ptas. 5. La demanda de A 1 está entre 900 y 1300 kg, y la de A2 próxima a los 1400 kg. P4 : 56 (4x 1 + 10x2) + 43 (12x 1 + 4x2) + 79 (6x1 + 1x2) + +17 (3x 1 + 2x2) +56 (16xt + 23x2) + 3000 {1.5xt + l.8x2) +4500dt - dj + d7 = 3000000 con la minimización de dj. Simplificando queda 6661x 1 + 8007x2 + 4500dt- dj + d7 = 3000000. 399 400 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS - Para la demanda CAPITULO 7. PROGRAMACION LINEAL MULTIOBJE'l'IVO @RA-MA Fase Sustancia B A i 1 2 1 2 -1 2 4 2 3 1 o 4 dt +da = 900 X¡- 4 + ~ = 1300 X¡ - Ps: con la minimización de á¡ { x2- á[0 +d10 = 1400 + 4 + á[0 +dio. (dt + dt + 4)+ P2 (2dt + d5) + P3 (d6) + +P4 (dj) + Ps (d¡ + 4 + dt0 + d10 ) minP = P¡ teniéndose, además, la no negatividad de todas las variables, es decir, = 1, ... ,10. Aplicando el algoritmo linea.! secuencial se obtiene la solución óptima Variable Solución X¡ 1230.76 1307.69 X2 at d1 4 di 4 d3 o o o o o 5461.53 Variable dt d-4 at d- Solución 307.69 o o S 23230.77 6 27800.01 15668846 4ddf d7 Disponibilidad 24 16 48 10 Debido a las roracteristicas especiales del proceso, las funciones objetivo se modelizan como funciones cuadráticas En definitiva, la función objetivo queda X¡,X2,dJ',dj;::: Ü, j 401 o Variable Solución 330.76 ~ dt o o d9 69.24 ello 92.31 cito o o Por tanto, el programa de producción de mejor compromiso consiste en producir 1230.76 unidades de At y 1307.69 unidades de A2 . El lector puede comprobar a partir de la tabla, que se cumple la primera prioridad, ya que P 1 =O, pero no las restantes, pues P2 =23846.15, P3 =27800.01, P4 =15668846 y P5 =92.31. o 11. Un problema multiobjetivo no lineal. Una planta química produce dos sustancias denominadas A y B, siendo la segunda de ellas muy inestable y liberando gran cantidad de energ(a en su producción. Con la idea de controlar el proceso lo más adecuadamente posible, el departamento de investigación desarrolla un modelo de programación matemática con los objetivos z 1, beneficio económico en miles de ptas y, z2, energía liberada en el proceso. Para producir las sustancias hay que pasar por cuatro fases. La siguiente tabla proporciona restricciones técnicas sobre gastos de energía por unidad de cada sustancia producida, correspondiendo en los cuatro rosos a Umites superiores de disponibilidad. maxz1 (x) = 3x 1 + 2x~ y IDÍDZ2 (x) =-X¡+ X~ con x 1 y x 2 variables de decisión correspondientes a la cantidad de las sustancias A y B, respectivamente. Observemos que la sustancia A, por sus características especiales, conlleva un consumo de energía en el proceso de producción, siendo por ello negativo su coeficiente en z2. Se desea: a) Determinar gráficamente las regiones factibles en los espacios de decisiones y de objetivos, así como sus conjuntos eficientes. b) El departamento de investigación conoce del apartado anterior que el conjunto eficiente es demasiado amplio para una elección directa Y desea que se le ayude a determinar una decisión. Para ello, indica que considera el objetivo energía líberada más importante que el beneficio económico. Formular el correspondiente programa y obtener analíticamente la solución que cumpla la citada condición. Justificar si es o no eficiente. e) Si el departamento de investigación estima que, por razones de seguridad, es mucho más importante el objetivo liberación de energía que el económico, considerando que para este último un valor de al menos 152000 ptas sería aceptable, ¿cuál debe ser entonces la decisión? ¿Es eficiente?. Solución a) Multiplicando la función objetivo z2 por -1, se tiene el problema biobjetivo no lineal max z = (zt, z~) = (3xt + 2x2,2 Xt- x22) s.a 2x¡ -Xl + x2 $ 24 + 2X2 $ 16 2Xt +4X2 Xt $10 Xt 1 X2 ~ 0 $48 402 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS @RA-MA CAPITULO 7. PROGRAMACION LINEAL MULTIOBJETIVO La figura muestra la región factible F en el espacio de decisiones lR2 403 z 2'~ Q) 150 200 Z¡ - 25 - 50 -75 -100 2 4 6 8 10 12 De~er~inamos los transformados mediante z de los puntos extremos de p ue se wdtca.n en la tabla. 'q Puntos extremos de F o A B e D E X (Xt, X2, X3) (0, O) (0,8) (4,10) (8,8) (10, 4) (lO, O) z (zt, z~) (0,0) (128, -64) (212, -96) (152, -56) (62, -6) (30, 10) B' X1 Es inmediato observar que el conjunto eficiente E (Z) en el espacio de objetivos está formado por los segmentos de curva Puntos de z O' A' B' C' D' E' La región factible Z = z (F) en el espacio de objetivos JR2, se muestra en la figura por lo que el conjunto eficiente E (F ) en el espacio de decisiones es, entonces, E(F) = {ED} u { DC} u { CB} . b) Si la mayor importancia de la energía liberada sobre el beneficio económico la reflejamos a través del problema de ponderaciones P (1, 2), queda el programa lineal max z = 5x¡ s.a. x EF Aplicando el método del símplex, con variables de holgura s 1, s2 , s3 y s4 , en una iteración se tiene la tabla final CB o o o 5 o o o Cj 5 VB Xt X2 o o o St 1 1 St S2 S3 X¡ Zj- Cj o 4 o 1 o o o o o 2 S2 Q o 83 S4 o o -2 1 o ~ o 1 -+2 o o j ¡O o 5 XB 4 26 28 10 50 CAPITULO 7. PROGRAMACION LINEAL MULTIOBJETIVO 404 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS Solución a) Sea la variable de decisión . ._ x¡ proporción del capital invertido en el valor t con t - 1, 2, que proporciona la solución óptima xj = 10, x2 = O, solución de compromiso para el problema original. Obsérvese que hay óptimos alternativos, uno de ellos dado por xj = 10, x2 = 4. Además, son eficientes, ya que el vector de pesos considerado es positivo. = se tendrá e) Formulamos el problema de t-restricciones P2 {152000) dado por max ~ s.a = 405 ©RA-MA X¡ + X2 ~ 1, X¡, X2 ~ 0. z x¡Rt + X2R2· Su esperanza es E (Z) = X¡E (.Rt) + X2E (.R2). La rentabilidad total aleatoria será = x 1 -x~ xEF 3x 1 + 2x~ ~ 152 Su varianza, al ser independientes Rt Y R2, es que es un problema no lineal. Es fácil comprobar de modo gráfico sobre el espacio de objetivos que la solución óptima del problema anterior es C' = (8, 8) que corresponde a un punto eficiente. o Var (Z) = xjVar (R1) + x~Var (R2) · Si redefinimos los objetivos como 12. El problema de la cartera con objetivos múltiples. La teoría de selección de carteras intenta determinar las proporciones óptimas de un capital que deben invertirse en diversos valores, bonos, obligaciones,... En los modelos más sencillos, se considera como única variable la rentabilidad aleatoria resumida por su media y su varianza. Para cada valor elegido, la renta esperada es la medida de la riqueza de la inversión y la varianza su medida de riesgo. Un individuo buscará aquella inversión que maximice la renta esperada y minimice el riesgo. Supongamos un individuo que tiene un capital que desea invertir total o parcialmente en dos valores, denominados 1 y 2, que se suponen estocásticamente independientes. Sea ÍÍ¡ la rentabilidad aleatoria del valor i = 1, 2. Supongamos que estimamos E = 10%, E = 15%, Var = .0009 y Var = 0064. El individuo tiene que decidir qué proporción de su capital invierte en cada ualor. No existen otras restricciones que deba tener en cuenta el inversor. Se pide: (.R1) (.ñ2) (.R1) Z¡ =lOE (Z) y podemos formular el problema biobjetivo max z = (z¡, ~) = (x 1 + 1.5x2, -9x~ s.a X¡+ X2 ~ X¡ 1 X2 ~ 1 0 b) La región factible F en el espacio de decisiones se muestra en la figura de la izquierda. (.R2) z'J x, z, l. O .S ·10 ·40 .4 a) Modelizar el proble.ma . ' de inversión en el formato multiobjetivo determinístico. D' -e o .2 b) Determinar el conjunto eficiente en el espacio de decisiones. o e) Proporcionar soluciones de compromiso con el método de las ponderaciones, introduciendo para ello los necesarios valores subjetivos. d) Idem con el de t-restricciones. 64x~) .2 .4 A .6 .a Determinamos el conjunto transformado de F mediante z, transformando algunos puntos frontera de F, que están calculados en la tabla. . l 406 PROGRAMACION LINEAL y APLICACIONES· EJERC!C . lOS RESUELTOS Puntos X z de F (xt ,X2) (z¡, z2) o (O, O) (0, O) A (.5, O) (.5, -2.25) B (1, O) (1, -9) e (.5, .5) (1.25, - 18.25) D (0,1) (1.5, - 64) E (O, .5) (.75, -16) @RA-MA Puntos de z 0' A' B' C' D' E' CAPITULO 7. PROGRAMACION LINEAL MULTIOBJETIVO que es un problema de programación cuadrática1. Su solución es xj == .1111, x2 = .0243 con zi == .1475 y z2* == - .1488. d) Si ahora consideramos más importante el objetivo z1 y tomamos como meta para el segundo objetivo el valor f2 == 30, el problema de E-restricciones queda como el problema no lineal max z 1 = s.a La figura de la derecha muestra la región factible Z objetivos IR2. Podemos determinar el co . t fi . - z (F) en el espacio de z¡ ~O y z2 $O, tenemos: nJun e ctente de Z como sigue. Para ° - Si x2 ==O, z1 == x1 y z' == -9x2 _ O' A'B', con O$ z¡ $21. I - P2 (1450) : - Si X¡ = 1- x 2 es z: == 1 + .5x2 == -9 (1 Sustituyendo x2, se tiene Z2 z2 ~ X2 == x2) - 64x~ = -9 (2z¡ - 2 (z¡ - 1) 1)2 - 256 (z 1 _ 1)2 que es el arco de parábola B'C'D'. Por tanto, el conjunto eficiente en el espacio de ob. . , segmentos de curva Jettvos esta formado por los e(Z) ={Ó'A'} U { A'B'} u {B'C'} u {clfy} . y el conjunto eficiente en el espacio de decisiones es t (F) = { OB} U { BD}. e) Supongamos que el objetivo Z¡ es doblemente . ramos así el problema de ponderaciones Importante que el z2. Conside- P(2,!) r:z 2z¡ + z2 = X1 = 2x¡- 9x21 + 3x2- 64 x22 + X2 $ XI,X2 ~ 0 1 + X2 $ X¡ 1 X2 ~ cuya solución es 1 1.5x2 1 0 z2 ~ .:...~o 2 z¡, correspondiente al arco de parábola - Si X¡ == O, z¡ == 1.5x2 y z2 == -64x22 == - (64/ 2 2 2 arco de parábola O'E'D' , con 0 < - 5) z¡, correspondiente al _ z $ 1.5. X¡+ X¡ 9 - 407 xr = .00082, x2 = .0012, con zi == .00263 y z2* = -.0842. o 13. Un problema de localización. La empresa encargada del control de calidad del agua que se suministra a Madrid desde el embalse de Santillana tiene situadas tres estaciones de control de calidad del agua en el embalse. Tomando como origen de coordenadas de un sistema cartesiano bidimensional el colector de salida del embalse y la unidad de medida el hm, las tres estaciones de control están en los puntos qu._e se indican en la tabla Estación X i (x¡, x2) (2, 10) (9, 20) (12, 1) 1 2 3 Por razones técnicas, la empresa está obligada a situar una cuarta estación en el embalse. Se pretende que la distancia total desde su localización a las otras tres estaciones ya existentes y al colector de salida sea mínima. Por la forma en que se hacen las conexiones entre las estaciones y el colector, éstas deben hace1·se entre los pares de puntos rectangularmente2 , esto significa que si, por ejemplo, la nueva estación se sitúa en x 1 = 8 y x2 = 5, estará a distancia (8 - 2) + (10- 5) = 11 hm de la estación !, etc. Formular un modelo de pmgramación por metas que resuelva el problema de localización de la nueva estación. Resolve1· el problema formulado. 1 Un problema de programación cuadrática es aquel cuya función objetivo es cuadrática y las restricciones son lineales. Un procedimiento de solución es el método del pivote complementario que tiene gran analogía con el método del símplex. 2 Distanc.ia de Manhattan o L¡. 408 PROGRAMACION LfNEAL Y APLICACIONES: EJERCICIOS RESUELTOS CAPITULO 7. PROGRAMACION LINEAL MULTJOBJETIVO @RA-MA Solución Consideramos como variables de decisión las coordenadas x 1 y x2 , correspondientes a la localización en el embalse de esta nueva estación de control. Introducimos dos restricciones de meta para cada una de las localizaciones ya existentes. Para la estación 1, tendremos X¡ - di + dl ::: 2 X2 + d:¡ ::: 10 1 4 Evidentemente al tomar la distancia rectangular, la minimización de la distancia de la nueva estación a la estación 1 se obtendrá haciendo rníojma la suma de las cuatro variables de desviación. Razonando de forma análoga para las otras dos estaciones y para el colector de salida, queda el modelo de programación por metas con una sola prioridad rojo D = 409 nueva • estación S 20 o .E(dt +di) t=l s.a X¡ - X2 X¡ - X2 X¡ - X2 X¡ - X2 - d[ + dl ::: 2 4 + d:¡ ::: 1Q dt + da ::: 9 dt +d;j ::: 20 dt + ds ::: 12 dt + d6 ::: 1 4 + d:¡ ::: Q dt + dg ::: Q X¡,X2 , dt,d¡~ 0, i:::l, ... ,8 Resolviéndolo, por ejemplo, con el método del símplex modificado, se obtiene la solución de compromiso xj = 9 y xi = 10, que proporciona la localización de la nueva estación. La distancia mínima es de 48 hm. La figura muestra la forma del embalse y las localizaciones de todas las estaciones y el colector. 14. Regalos de compromiso. Al llegar las Navidades, el departamento de relaciones externas de una empresa tiene que hacer 1·egalos a sus clientes. Estos pueden ser caros o baratos, siendo sus costes de 4000 y 1000 ptas, respectivamente. Hay doce clientes a los que hay que comprar regalos. Se admi~e que se pueda comprar más de un regalo a cada uno. Los clientes buenos son tres, y hay que comprarles al menos un regalo caro. Los regalos baratos tienden a pesar alrededor de 5 kg y los caros 1 kg. Para que al transport·ista le resulte rentable el reparto, debe llevar al menos 20 kg. El departamento de relaciones externas emplea 1 hora en buscar cada regalo caTo y 2 horas pam cada Tegalo barato. Todos los regalos deben ser distintos. Se desea: a} Formular un programa lineal con objetivos mínimo coste y mínimo tiempo de búsqueda. b) Determinar las soluciones eficientes. e) Determinar las soluciones eficientes con coste menor de 24000 ptas y tiempo menor de 30 horas. d) Obtener las soluciones de menor distancia L¡, L2 y Loo al punto ideal tomando pesos iguales. e) Representar gráficamente el conjunto de compromiso. 41 o PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS ©RA-MA Solución a) Definimos las variables de decisión x¡ = número de regalos caros (i = 1) y baratos (i = 2). Las restricciones son CAPITULO 7. PROGRAMACION LINEAL MULTIOBJETTVO Puntos de F A B e X¡~ 3, X¡ +x2 ~ 12, x 1 + Sx2 ~ 20, al menos 3 regalos caros al menos un regalo por cliente al menos 20 kg en regalos no negatividad Los objetivos, ambos de minimización, son z¡ = 4000x¡ + 1000x2 (coste) {tiempo) z2 =X¡+ 2X2 El programa lineal biobjetivo se formula, con z1 en miles de ptas, min z s.a = (z¡,z2) = (4x¡ +x2,X¡ + 2x2) X¡~ 3 X¡+ X2 ~ H I X z (X¡ 1 X2,X3) (3, 9) (10, 2) (20, O) (3, 60) (40, O) (z¡, z2) (21, 21) (42, 14) (80, 20) (72, 123) (160, 40) Puntos de z A' 81 e~ Ht 1' La región factible Z se tiene en la figura anterior de la derecha. El conjunto eficiente en Z es t:(Z) = A1B 1, pues recordemos que ambos objetivos son de minimización. Por ello, el conjunto eficiente en F será [ (F) = AB, ambos indicados en trazo grueso sobre las respectivas figuras. Analiticamente, si el conjunto eficiente es el segmento entre los puntos A (3, 9) y B (10, 2), se podrá expresar [ (F) = {x E JR2 : x = (!Ot + 3 (1- t), 2t + 9 (l- t)), tE [0, 1]}. e) Si se desea coste menor de 24000 ptas y tiempo menor de 30 horas, tendremos que añadir las condiciones Z¡ ~ 12 X¡+ Sx2 ~ 20 X¡,X2 ~ 0 •111 24 Z2 ~ y 30. La figura siguiente muestra el conjunto eficiente, en trazo más grueso, con estas nuevas restricciones. Obsérvese que habría que considerar las variables x1 y x 2 enteras. Sin embargo, supondremos que son continuas. b) La región factible F en el espacio de decisiones IR2 se muestra en la .figura de la izquierda. Podemos observar que es no acotada. z, ISO !OC se L+~~~~~+4~+4~+4~~~· lO 20 30 40 50 60 70 80 90 Z1 Analíticamente, buscamos los puntos de [ (F) que cumplen las condicionesPara determinar su transformada Z = z (F) en el espacio de objetivos IR2, transformamos Jos puntos A, B, C, H, I de la región F. En la tabla se tienen las coordenadas de estos puntos y sus transformados 4. (10t + 3 (1- t)) + 1 · (2t + 9 (1- t)) ~ 24 1· (10i+3 (1-t))+2·(2t+9{1-t))~22 que definen el recorrido t E [0, 1/7]. <::=? <::=} t ~ t t~-t 412 PROGRAMACIO N LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS d) El punto ideal z• se obtiene minimizando cada función objetivo: z* = (~nz1 , ~inz2) CAPITULO 7. PROGRAMACION LINEAL MULTIOBJET!VO ©RA-MA Este problema se puede reescribiJ min s.a = (21, 14). La solución L¡ de mínima distancia al punto ideal, es el punto x solución del problema min d1((z 1(x), z2 (x)), z•) F l4x 1 + x2 - 211 ::; t lx1 + 2x2 - 141 ::=; t x EF Transformándolo en un problema lineal min s.a que toma la forma 4xl + x2 - t ::=; 21 4x 1 +x2 +t ? 21 x 1 +2x2 - t::=;14 x1 +2x2+t?14 Transformándolo en un problema lineal con ayuda de variables de desviación, se escribe min z = dt +di + + d2 s.a 4 X¡? 3 X¡+ X2? 12 X¡+ 5x2? 20 4x¡ + x2 - dt +di X¡ + 2x2 +di = 21 = 14 X¡ X2,dj,dj? Ü, j = 1, 2 Su solución, obtenida con el método del símplex, es xr= (3, 9) . -di xEF t?O Su solución, obtenida con el método del símplex, es x~ = (4.75, 7.25). e) La tabla muestra las soluciones obtenidas en el apartado anterior. Estas corresponden a los puntos zi, z2, z~ en el espacio de objetivos. 1 F que toma la forma Sol. en Z Distancia Lq Sol. en F x· ' Q z; L¡ (3, 9) (3.7,8.3) (4.75, 7.25) (21, 21) (23.1, 20.3) (26.25, 19.25) L2 Loo La solución L2 de mínima distancia al punto ideal, resuelve el problema mind2 {(z¡ (x), z2 (x)), z* ), 413 El conjunto de compromiso está formado por el segmento comprendido entre los puntos z! y z~. z, " 30 25 Este es un problema de programación cuadrática, cuya solución es x2= (3.7, 8.3). Finalmente, la solución Loo de minima distancia al punto ideal, resuelve el problema mind00 ((z¡ (x), z2 (x)) , z*) , F z z~ z,* Conjunt~ 20 C' ;::, compromiso 15 z•• \ Punto ideal lO B' que toma la forma mjn max [l4x¡ +x2 - L+~~~~~~~~~+>~~~ 211 , jx¡ + 2~2 - 141] . O lO 20 30 40 so 60 70 80 90 Z, o BIBLIOGRAFIA Los conceptos teóricos y algoritmos utilizados en la resolución de los ejercicios se pueden ver en el libro: Ríos Insua, S. (1996) Investigación Operativa: Programación Lineal y Aplicaciones, CEUM. La mayoría de los modelos desarrollados se pueden resolver con el software: QSB+ V 3.0 (Quantitative Systems for Business Plus), Chang, Y.L., PrenticeHall,1994, o QS V. 3.0 Quantitative Systems, Chang, Y.-L., Prentice-Hall, 1995. Investigación Operativa y Optimización Cohen, S.S. (1985) Operational Research, Arnold. Eiselt, H.A. y Von Frajer, H.V. (1977) Operations Research Handbook. Standard Algorithms and Methods, Walter de Gruyter. Ec:ker, J. y Kupferschmid, M. (1988) lntroduction to Operations Research, Wiley. Eppen, G.D., Gould, F.J. y Schmidt, C.P. {1993) Introd·uctory Management Science, Prentice Hall. . Gass, S.L y Harris, C.M. (1996) Encyclopedia of Operations Research and Management Science, Kluwer. Hillier, F.S. y Lieberrnan, G.J. (1995) lntroduction to Operations Research, McGrawHill. Kaufmann, A. (1976) Métodos y Modelos de la Investigación de Operaciones, Tomos I, II y III, CECSA. Martín, M.J.C. y Denison, R.A. (1971) Cases Exercises in Operations Research, Wiley. BlBLIOGRAFIA 416 PROGRAMACION LlNEAL Y APLICACIONES: EJERCICIOS RESUELTOS 417 @RA-MA Nemhauser, G.L., Rinnooy Kan, A.H.G. {eds.) {1989) Óptímization, Handbooks in Operations Researcb and Management Science, North-Holland. Ravindran, A., Phillips, D.T. y Solberg, J.J. (1982) Operations Research: Principies and Practice, Wiley. Taha, H.A. {1991) Investigación de Operaciones, RA-MA Taha, H.A. (1975) lnteger Programming. Theory, Applications, and Computations, Academic Press. Wagner, H.M. (1975) Principies of Operations Research, Prentice Hall. Whitehouse, G.E. y Wechsler, B.L. (1976) Applied Operations Research: A Sttrvey, Wiley. Wioston, W.L. (1991) Operations Research: Applications and Algorithms, PWS Kent. Programación Lineal y Entera Arbel, A. {1993) Exploring Interior-Point Linear Programming. Algorithms and Software, The MIT Press. Calvert, J. y Voxmao, W. (1989) Linear Programming, Harcourt Brace.Jovanovich. Daellenbach, S.P. y Bell, E.J. (1970) User's Guide to Linear Programming, Prentice Hall. Dantzig, G.B. y Thapa, M.N. (1996) Linear Programming, Springer. Gal, T. {1994) Postoptimal Analyses, Parametric Programming, and Relatec Tapies, Walter de Gruyter. Gass, S. (1969) Programación Lineal, CECSA. Goldstein, E.G. y Yudin, D.B. (1977) Programación Lineal, Paraninfo. Hadley, G. (1962) Linear Programming, Reading Mass. Hartley, R. (1985) Linear and Nonlinear Programming, Horwood. llillier, F.S. y Lieberman, G.J. {1995) Introduction to Mathematical Programming, McGraw-Hill. Luenberger, D.E. (1989) Programación Lineal y no L'ineal, Addison-Wesley. Murty, K.G. (1983) Linear Programming, Wiley. Nemhauser, G.L. y Wosley, L.A. (1988) lnteger and Combinatoria/ Optimization, Wiley. Ozan, T. (1986) Applied Mathematical Programming for Engineering and Production Management, Prentice Hall. Schrijver, A. (1986) Theory of Linear and lnteger Pr;ogramming, Wiley. Sirnonnard, M. (1972) Programación Lineal, Paraninfo. . g· Foundations and Extensions, KluVanderbei, R.J. (1997) Linear Programmm . wer. ·¡d· . Mathematical Programming, Wiley. Williams, H.P. (1990) Model But tng m Optimización y Decision en Redes . ( 990) Linear. Programming and Network Flows, Bazaraa, M.S. Y Jarv1s, J.J. 1 Wiley. . ·n Networks and Graphs, Springer. . t Up . U (1988) Programmmg t Dengs, . 1962) Flows in Networks, Pnnce on . . . Ford, L.R. y Fulkerson, D.R. ( ) G h d Algorithms Wiley-Intersctence. M" oux M (1984 rap s an ' . . A·{ Gondran, M · Y m ' ·S h d 1. 1'< chníques for Constructton Pro]ect ¡v. aHajdu, M. (1997) Network e e u mg e nagement, Kluwer 80) Network Flow Programming, Wiley. Jensen, P.A. y Barnes, ~.W. (19 t· A System Approo.ch to Pla.nníng, Sche992) ProJect Managemen · . Kreezner, H. (1 . Nostrand. duling and Controllsn~, Van . Networks and Gra.phs, Dekker. Minieka, E. (1978) .Optimtzatton A)lgpon~~~s ~:nagement with CPM and PERT, Philbps C.R. (1970 roJee ' Moder, J .J · Y Van Nostrand. . E W (1983) Project Management with CPM Moder, J.J., Phillips, C.R. YDavts,. · . van Nostrand. and PERT, and _Pre~eden~e(~~~r)a;:~damentals of ¡.,-etwork Analysis, PrenPhillips, D.T. y Garcta Dtaz, . tice Hall. . , y Control de Proyectos, Pirámide. Romero, C. (1993) Técnicas de Programaclon · · Multiobjetivo Decisión Multicriterio y Programacwn . . D · · Making: Theory . y y (1983) Multiob;echve ectston Chankong, V. y Hatmes, · · and Methodology, North-~olland. . d Planning Academic Press. Cohon, J. (1978) Multiobjectwe Programm~ng ~n (1982) M~ltiobjective Decision . A Hansen, D.R. y Duckstem, . . . . G01coechea, .. , . . nd Business Appltcattons, Wüey. AnalyS'is w·ith Engmeenng a · · 1 Xlll.gton · g and Extenswns, e · . . Ignizio, J.P. (1976) Goal progr~mmm S (1989) Procesos de Decisión Mu!hcn. S Ríos Insua1 M.J. y RIOS Insua, . R!OS, ., terio, EUDEMA. . . . A l . . Multiobjective Decision Making, Ríos Insua, D. (1990) Senstltvtty na ysts m LNEMS, Springer. . .' . . . . Conceptos, Técnicas y C (1993) Teoría de la Dectswn Multtcnteno. Romero, · . ·¿ d Aplicaciones, Alianza Uruverst a . 418 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS @RA-MA Sawaragi, Y., Nakayama, H. y Tanino, T. (1985) Theory of lvfultiobjective Optimization, Academic Press. Schniederjan, M. (1984) Linear Goal Programming, Petrolly Books. Zeleny, M. (1982) Multiple Gritería Decision Making, McGraw-Hill. Simulación INDICE ANALITICO Law, A.M. y Kelton, W.D. (1991) Simulation Modeling and Analysis, McGrawHill. Ríos lnsua, D., Ríos Insua, S. y Martín, J. (1997) Simulación: Métodos y Aplicaciones, RA-MA. Software A continuación damos una lista de programas informáticos con la direcdones Web, en las que el lector podrá obtener información reciente y detallada del software, incluyendo en muchos casos una versión de evaluación. AIMMS, Paragon Decision Technology, Haarlem, Holanda, http:/ /www.paragon.nl CPLEX for AMPL, MINOS for AMPL, Compass Modeling Solutions, Reno, Nevada, http:/ /www.modeling.com FORT MP, Numerical Algorithms Group., http:/ /www.nag.com GAMS, Gams Development Corporation, Washington, http:/ /www.gams.com LINDO, LINGO, WHAT'S BEST, Lindo Systems, Chicago, http://www.lindo.com LP /MIPSolvers DLLs, PREMIUM SOLVER for EXCEL, Frontline Systems, http:/fwww.frontsys.com LPS-867, Applied Automated Engineering Corporation, Pennington, N.J., http:/¡ www.aae.com MPL Modeling System, Maximal Software, Arlington, Va., http:/ /www.maximalusa.com SAS Software, SAS lnstitute, Cary N.C. , http:/ /www.sas.com/ SDPims, Aspen Technology, http://www.aspentech.com VISUAL MATH PROGRAMM1NG, Sundown Software Systems, Silver Springs, Md., http:/ /www.sundown-vmp.com XPRESS-MP, Dash Associates Ltd. , Blisworth, UK, http:/ /www.dash.co.uk Algoritmo CPM, 296 del símplex revisado, 52, 66 de Dijkstra, 261 , 263, 267 de etiquetación, 262, 267, 275 de Floyd, 261, 272 de Oujo má.'<imo, 262, 28-! de Ford-Fulkerson, 2~2, 284 de Kruskal, 262, 280, 283 de planos de corte, 325 de ramificación y acotación, 321, 322, 326 problema entero, 324, 326 problema entero mbdo, 329 problema 0-1, 231 de transporte, 193, 195, 202, 205, 206 lineal secuencial, 372, 39-! Arbol de máximo alcance, 262, 279, 283 Cantino de mínima altura, 261, 270 más largo, 261, 275 mínimo, 261, 262, 267 Conjunto de compromiso, 372, 409 eficiente, 371, 373 CPM, 262 Desviación absoluta, 19, 97 má.xima,19, 97 Diagrama de Gantt, 298 Enumeración exhaustiva, 321, 322 explícita, 321 E-posiciones, 193, 208 Formato estándar, 51, 56 general, 123, 125 simétrico, 123, 125 Flujo niáxllno, 262, 284, 289 mínimo, 262, 289 Función objetivo, 1, 4, 5 Grado de criticidad, 315 Holgura complementaria, 123, 142 indicadores del símplex, 51, 60, 69 Matriz de encadenamientos, 295 420 PROGRAMACIO)l LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS inversión de una matriz con el método del simplex, 106 forma producto, 71 Modelo construcción de un, 1 de análisis input-output, 117 Método del símplex, 51, 62, 73 dual, 124, 130 dual extendido, 124, 134 en formato tabular, 57 en planificación, 92, 94 102 en gestión, 119 modificado, 372, 387 multiobjetivo, 371 con variables acotadas, 52, llO, 114 primal-dual, 124, 138 revisado, 66 solución gráfica, 62 tabla del, 57, 60 variable de salida en el, 59, 70, 74 variable de entrada en el, 59, 61 , 70 de coste mínimo, 195 e-restricciones, 371, 374, 375 de la esquina noroeste (MEN), 193, 195, 206 de la restricción artificial, 124, 134 de la M grande, 52, 78 de las penalizaciones, 51, 78 de las dos fases. 52, 81 de las ponderaciones, 371, 372 de la variable artificial, 52, 78, 80 de los potenciales, 262, 316 de Roy, 262 de stepping-stone, 193, 202 de Vogel, 193, 195, 206 húngaro, 194, 243, 252, 255, 256 ~1001, 193, 206, 212, 214 Optimo único, 51, 54, 60, 69, 78, 80 Optimos alternativos, 51, 53, 60, 69, 75 IN DICE ANALITICO @RA-MA PERT, 262, 304, 309 PERT-Montecarlo, 262, 315 Pivote, 59, 60 Precio sombra, 123, 170, 173 marginal (ver precio sombra) Problema de asignación, 193, 242, 255, 256, 259 generalizada, 194, 248 de control de producción, 23 de corte óptimo, 34 de cubrimiento, 345 de destilación, 2 de distribución de productos, 43, 210 de tareas, 46 de emparejamiento, 194, 252 de emplazamiento, 345 de inventario, 32 de la cartera, 360, 367, 403 de la dieta, 4 de la mochila, 322, 354 de localización, 335, 348, 352, 406 de optimización de mezclas, 12 de planificación de alimentos, 20 de compra, 25 de la producción, 10, 40, 213, 224, 227,355,358,397 de mezclas, 17 de personal, 35 de una central, 350 de una planta quimica, 15 de una plantilla, 48 de un cultivo, 44 financiera, 39 de producción, 6, 8 de reemplazamiento, 278 de secuenciación, 339, 365 de transbordo, 193, 217, 222, 241 de transporte, 193, 194, 202, 206 en tiempo mínimo, 194, 229 análisis de sensibilidad, 235 del almacén, 37 del coste fijo, 362 del viajante, 322, 343 dual, 123, 125, 127 infactible, 51, 54, 79, 83 no acotado, 51, 55, 69, 76, 85, 91 primal, 123 Programa con valores absolutos, 87 dual, 125, 127 relaciones algebraicas, 130 no lineal, 90 Programa lineal analisis de sensibilidad, 124, 158, 186 en un coste, 159, 166 en un recurso, 159, 166 en planificación, 166, 175, 179 incorporación de una variable, 159 incorporación de un recurso, 159 paramétrico, 124, 14-1, 151 inestable, 184 soluciones en un, 155 redundancia en un, 54 solución gráfica, 52, 62 Programación entera, 321 lineal, 1 multiobjetivo, 371 paramétrica, 144, 151 por metas, 372, 379, 381 solución gráfica, 379 relación con el símplex, 385 con etiquetado de arcos, 294 con etiquetado de nodos, 310 a coste mínimo, 300 Hujo en una, 284 PERT, 304, 309 análisis de probabilidad, 307 PERT-Montecarlo, 314 Roy, 316 Regla de mínima razón, 74 Región factible, 52 punto extremo de la, 55, 62 Regresión lineal, 97 parabólica, lOO Restricción, 1, 3, 5 Restricciones disyuntivas, 334 Rayo óptimo, 60, 69 Red corte en una, 285 CPM, 262, 294, 299, 307 Variables artificiales, 51 básicas, 57 de holgura, 51 Sistema de ecuaciones factibilidad de un, 29 homogéneo, 28 inconsistente, 27 resolución de un, 105 Solución básica, 55 factible, 55, 69 degenerada, 60, 69, 205 eficiente, 371 mejora de la, 69, 202 Tabla de asignación, no equilibrada, 255 de. transporte, 194 no equilibrada, 195 solución inicial, 194 421