Preview only show first 10 pages with watermark. For full document please download

Investigación De Operaciones - Rodolfo Valentín Muñoz Castorena

Descripción: ingenieria industral

   EMBED


Share

Transcript

Investigación de operaciones 00 Munoz UNIDAD PRELIMINARES.indd I 02/03/11 01:53 PM 00 Munoz UNIDAD PRELIMINARES.indd II 02/03/11 01:53 PM Investigación de operaciones Rodolfo Valentín Muñoz Castorena Centro Universitario de Ciencias Económico y Administrativas Universidad de Guadalajara María Bernardett Ochoa Hernández Centro Universitario de Ciencias Económico y Administrativas Universidad de Guadalajara Manuel Morales García Centro Universitario de Ciencias Económico y Administrativas Universidad de Guadalajara MÉXICO • BOGOTÁ • BUENOS AIRES • CARACAS • GUATEMALA • MADRID • NUEVA YORK SAN JUAN • SANTIAGO • SÃO PAULO • AUCKLAND • LONDRES • MILÁN • MONTREAL NUEVA DELHI • SAN FRANCISCO • SINGAPUR • ST. LOUIS • SIDNEY • TORONTO 00 Munoz UNIDAD PRELIMINARES.indd III 02/03/11 01:53 PM Director Higher Education: Miguel Ángel Toledo Castellanos Editor sponsor: Jesús Mares Chacón Coordinadora editorial: Marcela Rocha Martínez Editora de desarrollo: Karen Estrada Arriaga Supervisor de producción: Zeferino García García INVESTIGACIÓN DE OPERACIONES Primera edición Prohibida la reproducción total o parcial de esta obra, por cualquier medio, sin la autorización escrita del editor. DERECHOS RESERVADOS © 2011, respecto de la primera edición por: McGRAW-HILL/INTERAMERICANA EDITORES, S.A. DE C.V. A Subsidiary of The McGraw-Hill Companies, Inc. Prolongación Paseo de la Reforma 1015, Torre A, Pisos 16 y 17, Colonia Desarrollo Santa Fe, Delegación Álvaro Obregón C.P. 01376, México, D.F. Miembro de la Cámara Nacional de la Industria Editorial Mexicana, Reg. Núm. 736 ISBN: 978-607-15-0598-9 All rights reserved 1098765432 1098765432101 Impreso en México Printed in Mexico 00 Munoz UNIDAD PRELIMINARES.indd IV 02/03/11 01:53 PM COntEnidO Acerca de los autores........................................................................................ VII Introducción ............................................................................................... VIII UNIDAD 1 ¿Qué es la investigación de operaciones? ......................... 1 1.1 Origen de la investigación de operaciones ................................................... 1.2 Modelo ............................................................................................................ Clasificación de los modelos ........................................................................ Ventajas y desventajas del empleo de modelos matemáticos ................... 1.3 Optimización.................................................................................................. Problemas de optimización .......................................................................... 2 2 3 4 4 5 Unidad II 2.1 2.2 2.3 2.4 2.5 2.6 Programación lineal ..................................................................... 7 Concepto de programación lineal ................................................................ 7 Planteamiento de problemas en términos de programación lineal ........... 7 Estructura general de un modelo de programación lineal .......................... 9 Método gráfico............................................................................................... 13 Teoría del método símplex ............................................................................ 19 Dualidad ......................................................................................................... 32 Unidad III Transporte y asignación ............................................................ 35 3.1 Modelos de transporte .................................................................................. 3.1.1 Método de la esquina noroeste ......................................................... 3.1.2 Método del costo menor..................................................................... 3.1.3 Método Vogel ...................................................................................... 3.2 Método de cruce de arroyo o de piedra rodante .......................................... Pasos para resolver el método de arroyo .................................................... 3.3 Modelo de asignación ................................................................................... Pasos para aplicar el método húngaro......................................................... 35 38 42 46 53 54 61 62 V 00 Munoz UNIDAD PRELIMINARES.indd V 02/03/11 01:54 PM VI Contenido Unidad IV Modelos de optimización de redes .......................................... 67 4.1 Modelos de redes ........................................................................................... Ruta ................................................................................................................ Lazo dirigido .................................................................................................. 4.2 Algoritmo de la ruta más corta ..................................................................... Algoritmo de Dijkstra..................................................................................... Algoritmo de Floyd......................................................................................... 4.3 Modelo de flujo máximo ................................................................................ 4.3.1 Características del modelo de flujo máximo ..................................... Algoritmo de la trayectoria de aumento en el caso del problema de flujo máximo ............................................................................................. 4.4 CPM y PERT .................................................................................................... Representación de las redes PERT y CPM .................................................... Cálculo de la ruta crítica (CPM) .................................................................... Ejercicios ............................................................................................................... Problema 1............................................................................................................. Problema 2............................................................................................................. Problema 3............................................................................................................. Problema 4............................................................................................................. Problema 5............................................................................................................. Problema 6............................................................................................................. 67 68 68 70 70 70 71 71 71 71 72 74 77 77 77 78 79 79 80 Glosario ...................................................................................................... 81 Bibliografía ................................................................................................ 82 Índice ......................................................................................................... 83 00 Munoz UNIDAD PRELIMINARES.indd VI 02/03/11 01:54 PM AcErcA dE lOs AutOrEs Mtro. Rodolfo Valentín Muñoz Castorena Es maestro en Tecnologías de Información por la Universidad de Guadalajara; actualmente cursa el Doctorado en Educación en la misma institución. Es profesor de asignatura A en el Centro Universitario de Ciencias Económico Administrativas (CUCEA), así como del Departamento de Métodos Cuantitativos y asistente del Programa de Formación Docente en el CUCEA. Además, desde el 2005 se desempeña como Secretario y Presidente de la Academia de Optimización. Mtra. María Bernardett Ochoa Hernández Es licenciada en Economía por la Universidad de Guadalajara, maestra en Investigación Educativa por el Centro de Estudios Pedagógicos y Sociales de la Secretaría de Educación Jalisco y actualmente cursa estudios de Doctorado en Educación en dicha universidad. Se desempeña como profesor investigador titular B de tiempo completo en el Centro Universitario de Ciencias Económico Administrativas (CUCEA). Ha sido Presidente de la Academia de Investigación y Desarrollo del Departamento de Administración por ocho años consecutivos (desde el 2003 hasta el 2010). Actualmente es profesora de los Departamentos de Administración y Métodos Cuantitativos y Responsable del Programa de Formación Docente en el CUCEA. En tres ocasiones ha contado con el perfil PROMEP y es autora de diversos libros y artículos en revistas internacionales, además ha dirigido tesis a nivel licenciatura y maestría. Mtro. Manuel Morales García Es licenciado en Economía por la Universidad de Guadalajara y maestro en Economía y Administración de Empresas por el ESADE en Barcelona, España. Hasta mayo del 2010 se desempeñó como Jefe del Departamento de Métodos Cuantitativos de la División de Economía y Sociedad del CUCEA. Actualmente es profesor Titular B del Centro Universitario de Ciencias Económico Administrativas. De 2001 a 2007 se desempeñó como Secretario de la Dirección de Finanzas de la Universidad de Guadalajara. Además participó como miembro del Gabinete Económico Universitario, del Consejo Técnico de Planeación Universitario y del Comité de Calidad de la Dirección de Finanzas. Actualmente funge como titular del Órgano Técnico de Hacienda Pública de la Comisión de Hacienda y Presupuestos en la LIX Legislatura del Congreso de Jalisco. VII 00 Munoz UNIDAD PRELIMINARES.indd VII 02/03/11 01:54 PM INtrOducciÓN El objetivo principal de este trabajo es servir como libro de consulta para el curso de Investigación de operaciones, el cual se orienta a estudiantes de licenciatura y, fundamentalmente, a las áreas de estudio como Negocios internacionales, Administración y Marketing. Los prerrequisitos son álgebra lineal, matemáticas y estadística. El texto proporciona suficiente material para el curso, tratando de desarrollar en cada unidad numerosos ejemplos basados en la realidad para una mejor comprensión de los contenidos de esta disciplina. Si se analizan los ejemplos, el lector adquirirá capacidad para resolver problemas matemáticos y conocerá las principales áreas que componen la Investigación de operaciones (desde el análisis del problema, la recopilación de la información, la formulación del modelo y el análisis de resultados). Esta última etapa se destaca por su importancia, por lo que se expondrán en forma amplia temas como el de análisis de sensibilidad. VIII 00 Munoz UNIDAD PRELIMINARES.indd VIII 02/03/11 01:54 PM Unidad I ¿Qué es la investigación de operaciones? Al finalizar el estudio de esta unidad, se espera que el lector sea capaz de: explicar qué se entiende por investigación de operaciones. describir qué es un modelo. mencionar algunas aplicaciones de la investigación de operaciones. explicar los diferentes tipos de modelos. diseñar modelos para casos específicos. La investigación de operaciones (IO) es la disciplina que enfrenta un problema concreto, lo divide en pequeñas partes, lo cual facilita el análisis de cada una de ellas, para obtener un problema abstracto o, mejor aún, un modelo, todo ello mediante una investigación del sistema donde ocurre el problema, con el fin de ofrecer acciones o alternativas de solución. […]La investigación de operaciones es la aplicación, por grupos interdisciplinarios, del método científico a problemas relacionados con el control de las organizaciones o sistemas (hombre-máquina), a fin de producir soluciones que sirvan mejor a los objetivos de la organización…1 Investigación de operaciones (IO). Disciplina que divide un problema concreto en pequeñas partes que analiza para obtener un problema abstracto o un modelo y así ofrecer acciones o alternativas de solución. Algunos autores utilizan el término ciencias de la administración como sinónimo de investigación de operaciones.2 La IO se define como un conjunto de modelos matemáticos aplicables a la solución de ciertos problemas orientados a la toma de decisiones, en los que se involucran variables de decisión en los cuales se desea optimizar: 1. El uso de los recursos para lograr un determinado fin cuantificable. 2. Los problemas más o menos complejos que se presentan en una organización social cuya solución empírica resulta demasiado costosa e inadecuada. 1 2 Francisco J., González Hernández, Breve introducción a la investigación de operaciones, pp. 7 y 8. Hillier y Lieberman, Investigación de operaciones, pp. 2 y 3. 1 01 Munoz UNIDAD 1.indd 1 02/03/11 01:55 PM 2 UNIDAD I ¿Qué es la investigación de operaciones? 1.1 Origen de la investigación de operaciones Los primeros esfuerzos por estructurar esta disciplina se realizaron durante la Segunda Guerra Mundial en Gran Bretaña, donde la administración militar convocó a un grupo de científicos de distintas áreas del conocimiento para que estudiaran y ofrecieran soluciones viables a problemas tácticos y estratégicos asociados con la defensa del país. Aparentemente, la investigación de operaciones (IO) fue bautizada así debido a que el equipo realizaba una investigación de operaciones militares. Un grupo importante de administradores militares de Estados Unidos inició algunas investigaciones similares, motivados por los resultados alentadores que obtuvieron los equipos británicos. Para llevarlas a cabo, reunieron a varios especialistas, quienes lograron resultados tan sorprendentes que obligaron a concentrar la atención en este nuevo enfoque científico. En sus estudios se incluyeron problemas logísticos complejos, tales como la planeación de minas en el mar y la eficaz utilización de equipo electrónico. Al término de la guerra y atraídos por los éxitos que consiguieron los estrategas militares, algunos administradores industriales comenzaron a aplicar esta herramienta para resolver los problemas que originaban el tamaño y la complejidad de las industrias. En un principio se acreditó a Gran Bretaña el mérito de haber utilizado la IO como una nueva disciplina, pero Estados Unidos tomó pronto el liderazgo en este campo creciente. La primera técnica matemática ampliamente aceptada en el medio fue el método símplex de programación lineal, desarrollado en 1947 por el matemático estaMétodo símplex de programación dounidense George B. Dantzig. Desde entonces, se han incorporado nuevas téclineal. Primer procedimiento matemátinicas y otras se han perfeccionado gracias al esfuerzo y cooperación de expertos co ampliamente aceptado en la invesinteresados tanto en el área académica como en la industrial. tigación de operaciones, basado en la En el progreso impresionante de la investigación de operaciones fue deteriteración para ir mejorando la solución a cada paso. minante el desarrollo de la computadora digital, que con sus enormes capacidades de velocidad de cómputo, almacenamiento y recuperación de información, permitió a los tomadores de decisiones actuar con rapidez y precisión. De no haber sido por la computadora digital, esta disciplina que plantea grandes problemas de computación no hubiera crecido hasta el nivel en el que se encuentra hoy en día. En la actualidad, la IO se aplica a distintas actividades, que trascienden los ámbitos militares e industriales, para incluir actividades tales como la salud pública, instituciones financieras, bibliotecas, planeación urbana, sistemas de transporte y sistemas de comercialización.3 Cabe mencionar que la IO ha sido un factor de primera importancia en el mejoramiento de la eficiencia de numerosas organizaciones alrededor del mundo, y su aplicación ha contribuido en gran medida al incremento de la productividad de la economía de algunos países. 1.2 Modelo Modelo. Representación simplificada o idealizada de una parte de la realidad. Un modelo se define como una representación simplificada o idealizada de una parte de la realidad; o, según el Diccionario de la lengua española es: […]un esquema teórico, generalmente en forma matemática, de un sistema o de una realidad compleja, como la evolución económica de un país, que se elabora para facilitar su comprensión y el estudio de su comportamiento[…].4 Los modelos, que se definen como una función objetivo y restricciones que se expresan en términos de las variables alternativas de decisión del problema (véase figura 1.1), deben contener los siguientes tres elementos: 3 4 01 Munoz UNIDAD 1.indd 2 Op. cit., p. 3. Real Academia Española, Diccionario de la lengua española, vigésima segunda edición, http://buscon.rae.es/draeI/SrvltConsulta?TIPO_ BUS=3&LEMA=modelo, consultado el 4 de octubre de 2010. 02/03/11 01:55 PM 1.2 Modelo 3 1. Alternativas de decisión, de las cuales se hace una selección. 2. Restricciones, para excluir alternativas no factibles. 3. Criterios para evaluar y clasificar las alternativas factibles.5 Abstracto Problema concreto Figura 1.1 Analiza Problema simplificado Llega Modelo Proceso de construcción del modelo. Al resolver el problema simplificado o modelo, se obtiene una solución, la cual puede tomarse del problema original o modificar nuestro modelo hasta que nos arroje los resultados deseados. Clasificación de los modelos Los modelos pueden clasificarse según el siguiente criterio: • Modelos mentales. • Modelos a escala. • Modelos matemáticos. Los modelos matemáticos son aquellos que se construyen mediante símbolos matemáticos que sirven para representar los diferentes comportamientos del problema. No todos son complejos; por ejemplo, podemos elaborar un modelo matemático simple para determinar el ingreso por comisión que reciben Z promotores de ventas que obtienen $200 por cada operación que efectúen. Para crear este modelo, debe establecerse una relación función entre el número de ventas y el ingreso total del promotor. Sea x = número de ventas que realiza cada promotor y = ingreso total del promotor Modelo matemático. Se construyen mediante símbolos matemáticos que representan diferentes comportamientos del problema; no todos son complejos. Ello genera una función relación ventas-ingreso: y = 200x donde, si el promotor llevara a cabo 3 ventas (x = 3), su ingreso total (y) sería de Ingreso total del promotor = 200 (3) = $600 Ahora bien, los modelos matemáticos se clasifican en tres tipos generales: 1. Modelo descriptivo: Es el que representa la realidad mediante una relación funcional; sin embargo, este tipo no indica ninguna evolución durante el transcurso del tiempo ni los cursos de acción que se deben seguir. Por ejemplo, un organigrama es un modelo descriptivo. 2. Modelo predictivo: Tiene mayor alcance que el modelo anterior, pues, además de describir la realidad, señala cuál será la situación futura; por ejemplo, una función exponencial nos puede indicar cuál será la población en México en el año 2015. 3. Modelo normativo (decisión, prescriptivo): Además de ser descriptivo y predictivo nos induce a elegir un curso de acción para obtener un objetivo establecido, es decir, señala el curso de acción que debe seguirse para lograr un objetivo definido (este tipo de modelos también se denomina de optimización). 5 Juan Pilar Tormos, Investigación operativa para ingenieros, España, Ed. Universidad Politécnica de Valencia, p. 33. 01 Munoz UNIDAD 1.indd 3 02/03/11 01:55 PM 4 UNIDAD I ¿Qué es la investigación de operaciones? Además de la clasificación anterior, existen otras que son independientes de los modelos matemáticos que se mencionaron y que pueden agruparse bajo la perspectiva de uno o varios de los términos que aparecen en la tabla 1.1. Tabla 1.1 Términos de los modelos matemáticos Término Definición Modelos físicos Se representan a escala y se construyen con base en problemas concretos. Modelos abstractos Se les denomina así debido a que es impredecible usar expresiones simbólicas para representar el comportamiento del sistema; es decir, se construyen mediante el empleo de gran cantidad de símbolos. Modelos estáticos Representan la realidad en una determinada unidad de tiempo. Modelos dinámicos Interpretan la evolución de una parte de la realidad en un tiempo determinado. Modelos determinísticos Representan un fenómeno que se comporta regularmente a intervalos iguales y, por consiguiente, es factible predecir su comportamiento con un cierto margen de error aceptable o tolerable. Modelos aleatorios Describen un fenómeno que se comporta regularmente en intervalos diferentes; por lo tanto, predecir su comportamiento es muy difícil. Es necesario destacar que, a pesar de la existencia de otras importantes clases de modelos, el objetivo principal de esta sección es el estudio de los modelos matemáticos. Ventajas y desventajas del empleo de modelos matemáticos Cuando se utilizan modelos matemáticos para representar el comportamiento de una situación en particular, se presentan las ventajas y desventajas de la tabla 1.2. Tabla 1.2 Ventajas y desventajas de los modelos matemáticos Ventajas Desventajas Permiten apreciar cuáles son las variables importantes del problema y cómo se relacionan entre sí. Pueden llevar a simplificaciones exageradas o excesivas si se pretende que el modelo se aplique a situaciones muy diversas, lo que puede provocar la omisión de variables que puedan ser importantes. Ayudan a operacionalizar las variables con base en ciertos patrones o indicaciones. Su implementación puede ser demasiado costosa o compleja. Suministran una base cuantitativa para la toma de decisiones. 1.3 Optimización Optimizar. Logro de mayores beneficios con una mínima inversión de recursos. Se considera que optimizar es la función de lograr mayores beneficios con la mínima cantidad de recursos invertidos; es decir, buscar la mejor manera de realizar una actividad. Arsham Hosseim, experto en el tema, explica que la …también denominada programación matemática, sirve para encontrar la respuesta que proporciona el mejor resultado, la que obtiene mayores ganancias, mayor producción o felicidad o la que logra el menor costo, desperdicio o malestar. Con frecuencia, estos problemas implican utilizar de la manera más eficiente los recursos, tales como dinero, tiempo, maquinaria, personal, existencias, etc. Los 01 Munoz UNIDAD 1.indd 4 02/03/11 01:55 PM Actividades de la unidad I 5 problemas de optimización generalmente se clasifican en lineales y no lineales, según las relaciones del problema sean lineales con respecto a las variables…6 Problemas de optimización En un problema se trata de maximizar o minimizar una cantidad específica llamada objetivo, la cual depende de un número finito de variables de entrada. Éstas pueden ser independientes entre sí o relacionarse a través de una o más restricciones. 1 El problema: Minimizar: Z = x1 + x2 Sujeto a: x1 – x2 = 3 x2 ≥ 2 Éste es un problema de optimización del objetivo z, en el que las variables de entrada son x1 y x2. Se desean obtener valores de las variables de entrada que minimicen el objetivo principal, sujetos a las limitaciones impuestas por las restricciones. Un programa matemático como el del ejemplo anterior es lineal si f(x1, x2, …, xn) y cada gi(x1, x2, …, xn) donde (i = 1, 2, …, m) se dan como funciones matemáticas y como ilaciones funcionales (como sucede en el primer ejemplo). 2 Maximizar Z = 4x1 + 5x2 Sujeto a: 3x1 + 2x2 ≤ 15 2x1 + 3x2 ≤ 4 x1, x2 ≥ 0 Cabe señalar que la última restricción, de no negatividad, indica que las variables que se utilizaron en el modelo deben ser positivas o ceros puesto que, si se deseara producir, por ejemplo, dulces, no se podrían producir –4 dulces. 1. Construya su propia definición de investigación de operaciones. 2. Relacione la investigación de operaciones con las materias del contenido curricular de su carrera o nivel educativo. Conteste: a) ¿Cómo se relaciona? b) ¿Para qué sirve? 6 Arsham Hosseim. Modelos deterministas: optimización lineal, http://home.ubalt.edu/ntsbarsh/opre640S/spanishD.htm#rop, consultado el 4 de octubre de 2010. 01 Munoz UNIDAD 1.indd 5 02/03/11 01:55 PM 01 Munoz UNIDAD 1.indd 6 02/03/11 01:55 PM Unidad II Programación lineal Al finalizar el estudio de esta unidad, se espera que el lector sea capaz de: explicar qué entiende por programación lineal. exponer los pasos para plantear un problema dado. explicar cómo se forman las restricciones y la función objetivo. mencionar la estructura general de un modelo de programación lineal. resolver e interpretar problemas mediante el empleo del concepto de método gráfico. resolver e interpretar problemas mediante el empleo del concepto de método símplex. 2.1 Concepto de programación lineal La programación lineal, que es un procedimiento matemático que ayuda a asignar de manera óptima los recursos escasos, consta de una o más funciones objetivo, un conjunto de restricciones y una restricción de no negatividad. Esta herramienta es una técnica de modelado matemático diseñada para optimizar el empleo de los recursos limitados. Se aplica con éxito en el ejército, la agricultura, la industria, el transporte, la economía, los sistemas de salud e, incluso, en las ciencias conductuales y sociales.1 Programación lineal. Procedimiento matemático con una o más funciones objetivo, un conjunto de restricciones y una restricción de no negatividad para determinar la asignación óptima de recursos escasos. 2.2 Planteamiento de problemas en términos de programación lineal Los modelos de programación lineal son normativos y poseen tres conjuntos básicos de elementos, a saber: • Variables de decisión y parámetros • Conjunto de restricciones • Una o más funciones objetivos 1 Hamdy A. Taha, Investigación de operaciones, 7a. ed., p. 11. 7 02 Munoz UNIDAD 2.indd 7 02/03/11 01:56 PM 8 UNIDAD II Programación lineal Variables de decisión. Cantidades que se desconocen y que deben determinarse en la solución de un problema cuyo modelo se plantea. Las variables de decisión son las cantidades desconocidas que deben determinarse en la solución de un problema cuyo modelo se plantea. Un ejemplo para definir una variable de decisión podría ser la cantidad de un determinado producto que debe fabricarse en una operación de producción que involucra diversos productos a partir de un mismo recurso básico (véase figura 2.1). Escritorios Recurso básico Mano de obra Mesas Figura 2.1 Distribución de mano de obra. En la figura 2.1 se indica que, a partir de un recurso básico, que en este ejemplo es la mano de obra, pueden fabricarse diversos productos (escritorios y mesas). Los parámetros son los valores que describen la relación entre las variables de decisión y que permanecen constantes en cada problema, pero varían en Parámetros. Valores que especifican problemas distintos. Por ejemplo, las horas de mano de obra que se requieren la relación entre las variables de para elaborar cada uno de estos productos. Supongamos que en la producción decisión. de cada mesa se emplean 6 horas y en la de cada escritorio, 8 horas; en consecuencia, la relación función de mano de obra es la siguiente: Mano de obra para fabricar los productos 6x1 + 8x2 lo cual nos da el tiempo total que se consume en el proceso de fabricación. Conjunto de restricciones. Son las limitaciones que restringen las variables de decisión que consumirán valores permisibles en el modelo. Conjunto de restricciones. Para incluir las limitaciones que se presentan en el problema cuyo modelo se plantea, éste debe contener cualquiera de las restricciones que limiten las variables de decisión que consumirán valores permisibles. Por ejemplo, supongamos que el departamento de fabricación de mesas y escritorios trabaja 80 horas por semana; entonces, la restricción correspondiente a esta limitante sería: 6x1 + 8x2 ≤ 80 horas Si reunimos toda la información descrita en una tabla, ésta tendría la forma y los contenidos siguientes: Tabla 2.1 Reunión de datos importantes de una restricción Función objetivo. Define la eficacia del modelo en función de las variables de decisión. 02 Munoz UNIDAD 2.indd 8 Producto Horas laboradas Operación Total de horas a la semana Mesa 6 6x1 + 8x2 ≤ 80 Escritorio 8 La función objetivo define la eficacia del modelo en función de las variables de decisión. Por ejemplo, si el objetivo debe definir éstas en términos de las variables de decisión en forma matemática indica que se obtiene una utilidad de 210 unidades monetarias por cada mesa y una utilidad de 360 por cada escritorio que se fabrique y se venda. 02/03/11 01:56 PM 2.3 Entonces se genera la función objetivo Estructura general de un modelo de programación lineal 9 210x1 + 360x2 = Z, cuyo propósito principal es maximizar las utilidades que genera la fabricación de mesas y escritorios. 2.3 Estructura general de un modelo de programación lineal A continuación se muestra la estructura que debe presentar un modelo de programación lineal para su mejor comprensión y aplicación: Función objetivo Optimizar z = c1x1 + c2x2 +…+ cnxn Sujeta a las siguientes restricciones: a11x1 + a12x2 +…+ a1nxn a x + a x +…+ a x 21 1 22 2 2n n . . . . . . am1x1 + am2x2 +…+ amnxn x1, x2,…, xn > 0 <, =, > b1 <, =, > b2 >, =, > bm (restricción de no negatividad) Los pasos básicos que se deben dar para plantear un problema en términos de un modelo de programación lineal (MPL) son los siguientes: 1. Identificar las variables importantes del problema (variables de decisión) y seleccionar una notación adecuada para ellas. 2. Plantear la función objetivo en términos de las variables de decisión. 3. Identificar los recursos limitantes para, de esta manera, plantear cada una de las restricciones. 4. Formular el modelo de acuerdo con la estructura general. 1 Una fábrica de muebles se especializa en la producción de dos tipos de comedores; cada uno requiere de un tiempo de construcción y otro diferente de pintura. Un comedor tipo 1 demanda 6 horas de producción y 8 horas de pintura; en la construcción de un comedor tipo 2 se emplean 12 horas y 4 horas para la pintura. El departamento de construcción cuenta con 120 horas diarias disponibles mientras que el de pintura sólo dispone de 64 horas. La compañía desea determinar el número de unidades de cada tipo de comedor que debe producir por día, de tal manera que las utilidades totales sean máximas. La compañía logra una utilidad de $2 000 por cada comedor tipo 1 y $2 400 por cada comedor tipo 2. Plantee el modelo de programación lineal (MPL) correspondiente. Solución: Primero deben definirse las variables de decisión que se emplearán. Sea x1 = número de comedores tipo 1 que se deben producir Sea x2 = número de comedores tipo 2 que se deben producir Cuando se definen las variables debe tomarse en cuenta que, en la mayoría de los casos, son numéricas, por lo que es importante especificar cuáles son las cantidades que se deben producir. En el momento en que nos indican costos o utilidades, es indispensable precisar cuántas variables se van a utilizar en el problema. 02 Munoz UNIDAD 2.indd 9 02/03/11 01:56 PM 10 UNIDAD II Programación lineal La frase “La compañía obtiene una utilidad de $2 000 por cada comedor tipo 1 y $2 400 por cada comedor tipo 2” refleja con claridad cuántas variables de decisión se usarán y, a su vez, cuál será la función objetivo. Otro aspecto que debe definirse con claridad es el objetivo del problema que se va a resolver; en este caso, se tiene: Objetivo = maximizar utilidades Por lo tanto, las utilidades totales se obtienen mediante la siguiente ecuación: 2 000x1 + 2 400x2 sujeta a las restricciones de tiempo disponible para construcción y pintura. En el caso de la construcción de comedores existe la siguiente restricción: 6x1 + 12x2 ≤ 120 Para la pintura, la restricción es: 8x1 + 4x2 ≤ 64 Luego de reunir todos los datos y de acuerdo con la estructura general de un MPL, se obtiene lo siguiente: Maximizar z = 2 000x1 + 2 400x2 Sujeto a: 6x1 + 12x2 ≤ 120 8x1+ 4x2 ≤ 64 x1, x2 ≥ 0 2 Una compañía de zapatos, especialista en la fabricación de botas, no vende en forma directa al público, sino que lo hace a través de tiendas al menudeo. Según las fluctuaciones de los costos de la materia prima la empresa ha observado que el costo de producción varía de un mes a otro. Debido a esas variaciones y a que el costo unitario del manejo y almacenamiento es de $11.00 por mes, la compañía considera que resulta conveniente fabricar pares de botas demás en algunos meses para venderlos en meses posteriores. Los administradores han pronosticado la demanda y los costos de producción de los siguientes 8 meses. Además, desean programar la producción de este periodo para minimizar los costos totales de producción y almacenamiento, como se muestra en la tabla 2.2. Tabla 2.2 Costos proyectados por mes 02 Munoz UNIDAD 2.indd 10 Mes Costo proyectado por par Demanda pronosticada 1 360 150 000 2 420 110 000 3 380 180 000 4 400 100 000 5 350 200 000 6 390 180 000 7 370 110 000 8 410 170 000 02/03/11 01:56 PM 2.3 Estructura general de un modelo de programación lineal 11 Plantee el modelo de programación lineal correspondiente. Solución: En primer término , deben definirse las variables de decisión. Sea: xij = pares de botas que se fabrican en el mes i y se venden en el mes j. Después, debe tenerse bien delimitado el objetivo del problema. Objetivo: Minimizar costos de fabricación y almacenamiento. Min z = 360x1, 1+371x1,2+382x1,3+393x1,4+404x1,5+415x1,6+426x1,7 +437x1,8+420x2,2+431x2,3+442x2,4+453x2,5+464x2,6+475x2,7 +486x2,8+380x3,3+391x3,4+402x3,5+413x3,6+424x3,7+435x3,8 +400x4,4+411x4,5+422x4,6+433x4,7+444x4,8+350x5,5+361x5,6 +372x5,7+383x5,8+390x6,6+401x6,7+412x6,8+370x7,7+381x7,8 +410x8,8 En este caso, tomemos, por ejemplo, el 360x1,1 donde i = 1 y j = 1, es decir, el costo de las botas fabricadas en el mes 1 y vendidas en el mes 1 es de $360.00 Bajo el supuesto de que en ese mes no se vendan todas las botas, las tendrán que vender en el mes 2 con un costo adicional de $11.00 por almacenamiento, lo cual significa que las botas fabricadas en el mes 1 y vendidas en el mes 2 tendrán un costo total de $371, esto es, $360 + $11, lo que da como resultado la variable “371x1, 2”. Una vez que hayamos determinado la función objetivo, tendremos que definir las restricciones a las cuales se encuentra sujeta. Sujeta a: x1,1 ≥ 150 000 x1,2 + x2,2 ≥ 110 000 x1,3 + x2,3 + x3,3 ≥ 180 000 x1,4 + x2,4 + x3,4 + x4,4 ≥ 100 000 x1,5 + x2,5 + x3,5 + x4,5 + x5,5 ≥200 000 x1,6 + x2,6 + x3,6 + x4,6 + x5,6 + x6,6 ≥ 180 000 x1,7 + x2,7 + x3,7 + x4,7 + x5,7 + x6,7 + x7,7 ≥ 110 000 x1,8 + x2,8 + x3,8 + x4,8 + x5,8 + x6,8 + x7,8+ x8,8 ≥ 170 000 xi, j ≥ 0 Para obtener dichas restricciones se tomaron en cuenta las siguientes consideraciones: Por ejemplo, en el mes 2, la restricción es: x1,2 + x2,2 ≥ 110 000 Esta restricción indica que las botas que no se vendieron en el mes 1 y se guardaron para venderse en el mes 2 (x1,2) se suman a las que se fabricaron en el mes 2 (x2,2), con lo cual tenemos: x1,2 + x2,2 Ahora, si en el mes 2 la demanda pronosticada es de 110 000 pares, se obtiene la restricción de ese mes: x1,2 + x2,2 ≥ 110 000 Es así como se obtuvieron las restricciones de este problema. 02 Munoz UNIDAD 2.indd 11 02/03/11 01:56 PM 12 UNIDAD II Programación lineal 3 En su proceso de producción, una pequeña empresa que elabora diversos productos químicos utiliza 3 materiales para elaborar 2 productos, un aditivo y un disolvente. El aditivo se vende a empresas petroleras y se emplea en la producción de diesel y otros combustibles similares. El disolvente se vende a empresas químicas para elaborar productos de limpieza industrial y para el hogar. Para formar el aditivo y el disolvente se mezclan las tres materias primas en forma específica. La tabla 2.3 muestra que una tonelada de aditivo se obtiene mezclando 37 de 1 000 kg de la materia prima 1; y 47 de 1 000 kg de la materia prima 3; una tonelada de disolvente se logra con la mezcla de 14 de 7 1 000 kg de la materia prima 1, 25 de 1 000 kg de la materia prima 2 y 20 de 1 000 kg de la materia prima 3. Debido al deterioro y a la naturaleza del proceso de producción, cualquier materia prima que no se use para la producción actual debe desecharse. La utilidad asciende a $4 000.00 por cada tonelada de aditivo y a $3 000.00 por cada tonelada de disolvente. Después de un análisis de la demanda potencial, la administración de la empresa ha concluido que cuenta con las siguientes cantidades de materia prima: Tabla 2.3 Cantidad de kilogramos disponibles de cada materia prima Materia prima Cantidades disponibles para la producción Materia prima 1 20 000.00 kg Materia prima 2 5 000.00 kg Materia prima 3 21 000.00 kg Plantee el modelo de programación lineal correspondiente. Solución: Antes que nada, se extraen los datos del problema para tener la información de una forma clara y concisa, con la cual se puede generar la tabla 2.4. Tabla 2.4 Extracción de información importante del problema Producto Materia prima 1 Materia prima 2 Materia prima 3 Aditivo 3 7 0 4 7 Disolvente 1 4 2 5 7 20 Una vez elaborada la tabla 2.4 se deben definir las variables de decisión que se utilizarán: Sea: x1 = 1 000 kg de aditivo que se producirán x2 = 1 000 kg de disolvente que se producirán Proceso de restricciones: En el caso de la materia prima 1, la restricción es: 3 x + 1 x ≤ 20 000 kilogramos 7 1 4 2 En el de la materia prima 2 existe la siguiente restricción: 2 x ≤ 5 000 kilogramos 5 2 02 Munoz UNIDAD 2.indd 12 02/03/11 01:56 PM 2.4 Método gráfico 13 La materia prima 3, padece la siguiente restricción: 4 x + 7 x ≤ 21 000 kilogramos 7 1 20 2 El propósito de la empresa es maximizar las utilidades. Por ello, obtiene la función objetivo siguiente: Max Z = 4 000x1 + 3 000x2 La expresión anterior significa que va a ganar $4 000 por cada tonelada de aditivo y $3 000 por cada tonelada de disolvente. Por último, agregamos la restricción de no negatividad: x1, x2 ≥ 0 2.4 Método gráfico El método gráfico se utiliza para solucionar problemas de programación lineal Método gráfico. Se emplea para resolmediante la representación geométrica de las restricciones, condiciones técniver problemas de programación lineal cas y objetivos. mediante la representación geométrica El modelo puede resolverse en forma gráfica si sólo posee dos variables; en el de restricciones, condiciones técnicas caso de modelos con tres o más variables, resulta impráctico o imposible de aplicar. y objetivos. Cuando los ejes se relacionan con las variables del problema, el método se Método gráfico en actividad. Se aplica conoce como método gráfico en actividad. Cuando lo hacen con las restricciocuando los ejes se relacionan con las nes tecnológicas se denomina método gráfico en recursos. variables del problema. Se recomienda el empleo del método gráfico sólo en el caso de modelos Método gráfico en recursos. Se utiliza que incluyan dos variables de decisión; sin embargo, este método muestra los cuando los ejes se vinculan con las restricciones tecnológicas. conceptos fundamentales que se emplean para desarrollar las técnicas algebraicas necesarias para resolver modelos de programación lineal. El propósito del método gráfico no es proporcionar un método práctico para resolver problemas lineales, pues la mayoría de éstos incluyen un gran número de variables. Para entender la forma de operar de los modelos de programación lineal en su forma general, es necesario conocer los siguientes conceptos: Solución factible. Es aquella con más de m componentes positivos donde Solución factible degenerada. Es la que m es el rango o número de restricciones. Si una solución básica factible tiecuenta con más de m componentes ne exactamente m componentes positivos, se dice que es no degenerada; por el positivos donde m es el rango o númecontrario, si tiene menos de m componentes positivos, es una solución factible ro de restricciones. degenerada. Puede decirse que una solución factible con más de m componentes positivos es no básica. Al conjunto de todas las soluciones factibles se le denomina espacio de soluEspacio de soluciones factibles o ciones factibles, pero también es conocido como región factible. región factible. Conjunto de todas las Cabe señalar que existe la posibilidad de que un problema no tenga solusoluciones factibles. ciones factibles. Los pasos básicos que se deben seguir para resolver un problema lineal por medio del método gráfico son los siguientes: 1. Después de elaborar el modelo correspondiente, el siguiente paso consiste en determinar el conjunto de soluciones de cada una de las restricciones, propósito que se logra mediante la graficación de cada una en el plano cartesiano R2. 2. Identificar la región factible, esto es, la intersección del conjunto solución de cada una de las restricciones. 3. Marcar los puntos que intersecan en la frontera de la región factible. 02 Munoz UNIDAD 2.indd 13 02/03/11 01:56 PM 14 UNIDAD II Programación lineal 4. Ubicar el o los puntos factibles que den el mejor valor de la función objetivo. A este punto se le conoce como punto óptimo. Punto óptimo. Punto factible que brinda el mejor valor de la función objetivo. Suponga que x1 es el número de sillas tipo 1 que se van a producir y que x2 es el número de sillas tipo 2 que se elaborarán. Sea el modelo lineal: Max Z = 4x1 + 3x2 Sujeto a: – – 2x1 + 3x2 ≤ 6 –3x1 + 2x2 ≤ 3 2x1 + x2 ≤ 4 2x1, x2 ≥ 0 Como primer paso, es necesario determinar el conjunto de soluciones de cada una de las restricciones. Para obtener el conjunto de soluciones de una desigualdad en el plano cartesiano (R2), primero debemos considerarlo como una ecuación con objeto de graficar la recta que limitará al semiplano correspondiente a la solución de la desigualdad. Para la primera restricción 2x1 + 3x2 ≤ 6 2x1 + 3x2 = 6 Al quitar la desigualdad Despejamos a x1 sin tomar en cuenta el valor de x2: 2x1 = 6 x1 = 6 2 expresión de la cual se obtiene que x1 = 3 Ahora, despejamos x2 sin tomar en cuenta el valor de x1: 6 , que significa que x2 = 2 3 3x2 = 6 Se puede observar que x1 = 3 y x2 = 2. La gráfica de la restricción quedaría como se muestra en la figura 2.2. x2 5 4 Va hacia la izquierda 3 Región factible 2 1 1 Figura 2.2 02 Munoz UNIDAD 2.indd 14 2 3 4 5 x1 Primera restricción. 02/03/11 01:56 PM 2.4 Método gráfico 15 Para saber dónde se ubica la región factible debe tomarse un valor antes y uno después del de x1, si es que existe; de no ser así, podemos tomar x2; es decir, si en este caso el valor de x1 es de 3, se toma el valor de 2 y 4, respectivamente, y se sustituyen en la restricción 1. Restricción 1 2x1 + 3x2 ≤ 6 Si x1 toma el valor de 2, al sustituirlo debemos cuestionarnos lo siguiente: ¿2 por el valor de x1, que es 2, es menor que 6? Si la respuesta es afirmativa, la región factible de esa restricción se encuentra hacia la izquierda y se desecha la siguiente suposición de que x1 tome el valor de 4; pero, si es negativa, la región factible se localiza hacia la derecha. Nota: Si se utiliza el valor de x1, olvide el valor de x2 o supóngalo cero al sustituir los valores anteriormente descritos. En este punto terminamos la restricción 1. En el caso de la restricción 2 se tiene lo siguiente: Restricción 2 –3x1 + 2x2 ≤ 3 –3x1 + 2x2 = 3 Al quitar la desigualdad Luego, despejamos x1 sin tomar en cuenta el valor de x2: –3x1 = 3 x1 = 3 y se obtiene x1 = –1 –3 A continuación, despejamos x2 sin tomar en cuenta el valor de x1: 3 2 2x2 = 3 de lo que obtenemos x2 = 1.5 Observe que x1 = –1 y x2 = 1.5. La gráfica de la restricción quedaría como se muestra en la figura 2.3. x2 3 2.5 2 1.5 1 –5 –4 –3 –2 –1 Figura 2.3 1 2 3 4 5 x1 Segunda restricción. Para saber hacia dónde se encuentra la región factible debe tomarse un valor antes y uno después del valor de x1, si es que existe x1; si no se tiene x1 podemos tomar x2, es decir, si en este caso el valor de x1 es de –1, se toma el valor de –2 y 0, respectivamente, y se sustituyen en la restricción 2. Restricción 2 02 Munoz UNIDAD 2.indd 15 –3x1 + 2x2 ≤ 3 02/03/11 01:56 PM 16 UNIDAD II Programación lineal Si x1 toma el valor de –2, al sustituirlo surge la siguiente pregunta: ¿–3 por el valor de x1, que es –2, es menor que 3? Si la respuesta es positiva, la región factible de esa restricción se encuentra hacia la izquierda y se desecha la siguiente suposición de que x1 tome el valor de 0; pero, si es negativa, entonces la región factible se localiza hacia la derecha. Nota: Si se utiliza el valor de x1, olvide el valor de x2 o supóngalo cero al sustituir los valores descritos. En este punto terminamos con la restricción 2. En el caso de la restricción 3 se tiene lo siguiente: Restricción 3 2x1 + x2 ≤ 4 2x1 + x2 = 4 Eliminamos la desigualdad Luego despejamos x1 sin tomar en cuenta el valor de x2: 2x1 = 4 x1= 4 y obtenemos que x1 = 2 2 Ahora, despejamos x2 sin tomar en cuenta el valor de x1: x2 = 4 de lo cual resulta que x2 = 4 Observe que x1 = 2 y x2 = 4. Por lo tanto, la gráfica de la restricción quedaría como muestra la figura 2.4. x2 5 4 3 2 1 1 Figura 2.4 2 3 4 5 x1 Tercera restricción. Para saber hacia dónde se localiza la región factible, debe tomarse un valor antes y uno después del valor de x1, si es que existe x1; si no es así podemos tomar x2, es decir, si en este caso el valor de x1 es 2, se toma el valor de 1 y 3, respectivamente, y se sustituyen en la restricción 3. Restricción 3 2x1 + x2 ≤ 4 Si x1 adopta el valor de 1, al sustituirlo surge la pregunta siguiente: ¿2 por el valor de x1, que es 1, es menor que 4? Si la respuesta es afirmativa, la región factible de esa restricción se encuentra hacia la izquierda y se desecha la siguiente suposición de que x1 tome el valor de 3; pero, si es negativa, la región factible se localiza hacia la derecha. Nota: Si se emplea el valor de x1, olvide el valor de x2 o supóngalo cero al sustituir los valores descritos. En este punto terminamos con la restricción 3. El siguiente paso es unir las tres gráficas en una sola e identificar la región factible que es la intersección entre las tres áreas. Para determinar en qué punto factible se alcanza el mejor valor de la función objetivo, nos apoyaremos en las curvas de nivel o frontera de la región factible óptima, para lo cual será necesario evaluar los puntos de intersección existentes dentro del cuadrante uno, como se observa en la figura 2.5. 02 Munoz UNIDAD 2.indd 16 02/03/11 01:56 PM 2.4 Método gráfico 17 x2 3 5 2 4 1 3 2 1.5 Región factible B A C 1 D 1 1.5 2 3 –1 Figura 2.5 4 5 x1 Unión de las 3 restricciones. En la gráfica pueden observarse cuatro puntos óptimos posibles: A, B, C y D, de los cuales sólo se deducen A y D, ya que intersecan el eje x1 y el x2; por otra parte, los valores de los puntos B y C los tenemos que obtener por medio de un método de resolución de ecuaciones. En nuestro ejemplo utilizaremos el método de suma y resta para obtener los valores de los puntos B y C. El primero de ellos interseca con las restricciones 1 y 2, mientras que el segundo interseca las restricciones 1 y 3. El punto B tiene el siguiente sistema de ecuaciones, el cual resolveremos por el método de suma y resta: 2x1 + 3x2 = 6 restricción 1 –3x1 + 2x2 = 3 restricción 2 Como se puede observar sólo se tiene que multiplicar por 3 la restricción 1 y por 2 la restricción 2 para poder eliminar una variable, a partir de lo cual se obtiene: 6x1 + 9x2 = 18 (se multiplica por 3) –6x1 + 4x2 = 6 (se multiplica por 2) Note que no es necesario multiplicar por un valor negativo puesto que ya lo tiene Después de multiplicar la restricción 1 por 3 y la restricción 2 por 2, se tiene lo siguiente: 6x1 + 9x2 = 18 –6x1 + 4x2 = 6 13x2 = 24 De este resultado, si despejamos el valor de x2: x2 = 24 13 Para encontrar el valor de x1 se sustituye x2 en cualquiera de las dos ecuaciones iniciales. En este caso sustituiremos el valor en la restricción 1, despejaremos la variable x1 y, por último, determinaremos el valor del punto B. 2x1 + 3x2 = 6 2x1 + 3 ( 2413 ) = 6 2x1 = 6 – Luego, el punto queda así: 02 Munoz UNIDAD 2.indd 17 B 2x1 = 6 13 x1 = 3 13 72 13 ( 133 , 2413 ) 02/03/11 01:56 PM 18 UNIDAD II Programación lineal El punto C tiene el siguiente sistema de ecuaciones, el cual resolveremos por el método de suma y resta: 2x1 + 3x2 = 6 restricción 1 2x1 + x2 = 4 restricción 3 Como se puede observar, cualquier restricción debe multiplicarse por –1, puesto que los dos valores de x1 son iguales. 2x1 + 3x2 = 6 2x1 + x2 = 4 (–1) Luego de multiplicar la restricción 3 por –1, se logra lo siguiente: 2x1 + 3x2 = 6 –2x1 – x2 = 4 2x2 = 2 De este resultado, despejamos el valor de x2 para obtener: x2 = 2 2 x2 = 1 Ahora, para encontrar el valor de x1 se sustituye x2 en cualquiera de las dos ecuaciones iniciales. En este caso, sustituiremos el valor en la ecuación 1, despejaremos la variable x1 y, finalmente, obtendremos el valor del punto C. 2x1 + 3x2 = 6 2x1 + 3 (1) = 6 2x1 = 6 – 3 2x1 = 3 x1 = Luego, el punto queda así: C ( 32 ) ( 32 , 1) Como ya determinamos los valores de los cuatro posibles puntos óptimos, procederemos a obtener la Z final que satisfaga nuestras expectativas de maximizar utilidades. Sustituyendo en la función objetivo los valores de los puntos A, B, C y D obtenemos: Z = 4x1 + 3x2 Entonces, ( 32 ) = 92 ) = 4.5 84 3 24 = 6.4615 Z = 4( ) + 3( ) = 13 ) 13 13 3 Z = 4( ) + 3(1) = 9 2 ZA = 4(0) + 3 B C ZD = 4(2) + 3(0) = 8 ⬖ Z Max = 9 Punto óptimo lo cual indica que se va a lograr una utilidad máxima de 9 si la fábrica produce tipo 2. 02 Munoz UNIDAD 2.indd 18 3 2 de sillas del tipo 1 y 1 del 02/03/11 01:56 PM 2.5 Teoría del método símplex 19 2.5 Teoría del método símplex En los ejemplos anteriores puede apreciarse que, para encontrar la solución óptima de un modelo lineal con la herramienta que se tiene hasta el momento, deben analizarse todos los puntos posibles extremos, lo cual puede resultar una tarea bastante laboriosa. Por fortuna, George Dantzig, el “padre de la programación lineal”, elaboró un método a finales de la década de 1940 que permite resolver un problema lineal sin necesidad de analizar de manera explícita el valor de la función objetivo en cada punto extremo. Esta herramienta se conoce como método símplex, cuya teoría veremos en seguida: Considerando el modelo lineal en la forma conocida, el cual después de añadir variables de holgura puede llevarse a la forma estándar, deben ponerse tantas variables de holgura como restricciones existan en cada problema, y se asigna una variable de holgura denominada Sn en cada restricción: Método símplex. Método que permite resolver un problema lineal sin necesidad de analizar, a profundidad, el valor de la función objetivo en cada punto extremo. Max Z = Cxi + Cxj Sujeto a: xi + xj ≥ b1 xi + xj ≤ b2 xi, xj ≥ 0 Max Z = – Cxi – Cxj Variable de holgura Sujeto a: xi + xj – s1 = b1 xi + xj + s2 = b2 xi, xj, s1, s2 ≥ 0 Suponga que usted produce galletas y que gana $6.00 por cada galleta cuadrada y $5.00 por cada galleta redonda. El modelo del problema se resume a continuación: Observe que x1 es el número de galletas cuadradas y x2 de galletas redondas unido a la ganancia de cada galleta. Max Z = 6x1 = + 5x2 Sujeto a: x1 + x2 ≤ 9 x1 – x2 ≥ 1 x1, x2 ≥ 0 Para resolver este problema, en primer lugar debemos convertir la función objetivo a la forma estándar. ¿Cómo se lleva a cabo esta tarea? La función objetivo Max Z = 6x1 + 5x2 deberá cambiar de signo; es decir, si son valores negativos, la función tomará valores positivos; y si son valores positivos, la función asumirá valores negativos, según sea el caso. Así, tenemos: Max Z = –6x1 – 5x2 Note el cambio de signo de positivo a negativo Continuemos ahora con las restricciones. La primera restricción x1 + x2 ≤ 9 debe convertirse a la forma estándar, el valor de x1 y x2 no cambia. Por lo tanto, queda x1 + x2 = 9, pero tenemos que quitar la desigualdad agregando una variable de holgura, la cual llamaremos s1, tarea que se debe repetir con cada restricción; si la desigualdad de la restricción es ≤, la variable de holgura tomará un signo positivo, es decir, se suma a la restricción y queda de la siguiente forma: x1 + x2 + s1 = 9 02 Munoz UNIDAD 2.indd 19 02/03/11 01:56 PM 20 UNIDAD II Programación lineal Ahora, en el caso de la segunda restricción, la variable de holgura asumirá un valor negativo ya que la desigualdad es ≥ y queda de la siguiente forma: x1 – x2 – s2 = 1 En la figura 2.6 se muestra la conversión final del modelo a la forma estándar. Forma original Forma estándar Max Z = 6x1 + 5x2 Genera Max Z = –6x1 – 5x2 Sujeto a: x1 + x2 ≤ 9 x1 – x2 ≥ 1 x1, x2 ≥ 0 Figura 2.6 Sujeto a: x1 + x2 + s1 = 9 x1 – x2 – s2 = 1 x1, x2, s1, s2 ≥ 0 Conversión del modelo a la forma estándar. El siguiente paso es introducir los valores del modelo de la forma estándar a la tabla símplex. Nombre que se les da: Restricción 1 Restricción 2 x1 x2 s1 s2 Solución s1 1 1 1 0 9 s2 1 –1 0 –1 1 Z –6 –5 0 0 0 Ya con los valores en la tabla se debe resolver este problema de acuerdo con los siguientes pasos: Paso 1. Elegir el valor de Z más negativo. El valor de Z que se elija indicará la columna que se debe y se llamará columna pivote o columna de entrada. En la siguiente tabla símplex se muestra cómo se llevó a cabo este paso. Columna de entrada o pivote x1 x2 s1 s2 Solución s1 1 1 1 0 9 s2 1 –1 0 –1 1 Z –6 –5 0 0 0 Más negativo En la tabla anterior puede observarse que x1 es la variable de entrada. Paso 2. Se determina la variable de salida mediante la división de la columna solución de las restricciones entre la columna pivote o de entrada. Recuerde que este procedimiento sólo se aplica a las restricciones, no a la función objetivo Z. 02 Munoz UNIDAD 2.indd 20 02/03/11 01:56 PM 2.5 Teoría del método símplex 21 A continuación se muestra cómo se realiza este paso. ÷ s1 x1 x2 s1 s2 Solución 1 1 1 0 9 9 entre 1 = 9 ÷ s2 x1 x2 s1 s2 Solución 1 –1 0 –1 1 1 entre 1 = 1 Observe que los resultados son 9 y 1, por lo que se elige el valor positivo más pequeño sin tomar en cuenta valores negativos o ceros. x1 x2 s1 s2 Solución s1 1 1 1 0 9 9/1 = 9 s2 1 –1 0 –1 1 1/1 = 1 Z –6 –5 0 0 0 Aquí se observa que s2 es la variable que debe salir y la que entra es x1. Paso 3. A la intersección entre la columna de entrada y el renglón de salida se le llama pivote. x1 s2 1 Pivote 1 –1 0 –1 1 –6 Paso 4. Es muy importante que el pivote tome el valor 1; si éste no tiene dicho valor, conviértalo a 1 dividiendo todo el renglón entre el valor del pivote. En este caso, el pivote ya es 1; por lo tanto, el renglón queda igual. Paso 5. Hacer ceros los demás valores de la columna de entrada o pivote cambiado sólo el nombre de la restricción de s2 a x1. Columna de entrada o pivote Note el cambio del nombre de la variable 02 Munoz UNIDAD 2.indd 21 x1 x2 s1 s2 Solución s1 1 s1 1 1 1 0 9 x1 Pivote x1 1 –1 0 –1 1 Z –6 Z –6 –5 0 0 0 Pivote Convertirlos en ceros 02/03/11 01:56 PM 22 UNIDAD II Programación lineal En primer término, se tiene que multiplicar el renglón x1 por el inverso del valor que se hará cero y sumárselo al renglón que desea convertirse; es decir, si queremos hacer cero al 1, multiplicamos al renglón x1 por –1, que es el inverso de 1 y el resultado se lo sumamos a s1. x1 x2 s1 s2 Solución s1 1 1 1 0 9 x1 1 –1 0 –1 1 (–1)(pivote) (–1)(1) = –1 + 1 = 0 Valor buscado Ingreso del valor a hacer cero Ahora, en el caso de los demás valores: x1 x2 s1 s2 Solución s1 0 2 1 1 8 x1 1 –1 0 –1 1 Ya es cero (–1)(–1) = 1 + 1 = 2 (–1)(0) = 0 + 1 = 1 (–1)(–1) = 1 + 0 = 1 (–1)(1) = –1 + 9 = 8 Una vez terminado el renglón s1, continuamos con el renglón Z multiplicando al renglón x1 por 6 ya que es el inverso de –6. Además, el renglón x1 es el que tiene el pivote. x1 x2 s1 s2 Solución x1 1 –1 0 –1 1 Z –6 –5 0 0 0 Inverso de –6 6* 1 6* –1 6* 0 6*–1 6* 1 Multiplicar por 6 y sumar a Z = 6 + (–6) = 0 = –6 + (–5) = –11 =0+0=0 = –6 + 0 = –6 =6+0=6 lo cual genera: x1 x2 s1 s2 Solución x1 1 –1 0 –1 1 Z 0 –11 0 –6 6 Si se resume la información se obtiene lo siguiente: Note que ya son ceros 02 Munoz UNIDAD 2.indd 22 x1 x2 s1 s2 Solución s1 0 2 1 1 0 x1 1 –1 0 –1 1 Z 0 –11 0 –6 6 02/03/11 01:56 PM 2.5 Teoría del método símplex 23 Paso 6. Si en el renglón de Z aún existen valores negativos, regrese al paso 1, hasta que el renglón Z no tenga valores negativos. Como el renglón Z todavía tiene valores negativos, regresamos al paso 1, el cual indica que se tiene que elegir el mayor valor negativo. En este caso, se tienen 2 valores, –11 y –6, y el valor que elegimos es –11. La nueva columna entrante es: Nueva columna de entrada o pivote x1 x2 s1 s2 Solución s1 0 2 1 1 8 x2 1 –1 0 –1 1 Z 0 –11 0 –6 6 8 =4 2 1 = –1 –1 Renglón elegido No se toma en cuenta ya que es negativo Pivote En este punto ya se han definido todas las variables; la variable que entra es x2 y la que sale es s1. Ahora, debemos realizar nuevamente las operaciones correspondientes y hacer que el renglón pivote tenga un valor de 1 y los demás valores de la columna de entrada o pivote tengan valores de 0. En primer lugar, debe convertirse el renglón pivote en 1. Se divide todo el renglón entre 2. Cambió de s1 a x2 x2 x1 x2 s1 s2 Solución 0 2 1 1 8 0/2 = 0 2/2 = 1 1 2 1 2 8 2 = = 1 2 1 2 0 =0 2 2 =1 2 1 1 = 2 2 1 1 = 2 2 8 =4 2 =4 A continuación se introducen los valores que obtuvimos para ubicarlos en el renglón pivote, lo que genera: x2 x1 x2 s1 s2 Solución 0 1 1 2 1 2 4 Note que ya cambió a 1 Para convertir en ceros los valores de la columna de entrada o pivote, se debe emplear el pivote: x2 Pivote x1 –1 Z –11 Valores a convertir en ceros En seguida, se debe multiplicar al renglón x2 por el inverso de cada valor que se convertirá en cero y sumárselo al renglón que se desea convertir; es decir, si queremos hacer cero al –1, debemos multiplicar el renglón x1 por 1 y sumárselo al renglón x1. 02 Munoz UNIDAD 2.indd 23 02/03/11 01:56 PM 24 UNIDAD II Programación lineal x1 x2 s1 s2 Solución x2 0 1 1 2 1 2 4 x1 1 –1 0 –1 1 1* 0 1* 1 1* 1* =0+1=1 = 1 + (–1) = 0 1 2 1 2 1 2 = 1 2 +0= 1 1 = – 2 + (–1) = – 2 1* 4 =4+1=5 lo que queda como sigue: x1 x2 s1 s2 Solución x2 0 1 1 2 1 2 4 x1 1 0 1 2 – 1 2 5 Una vez terminado el renglón x1, continuamos con el renglón Z multiplicando al renglón x2 por 11 ya que es el inverso de –11. x1 x2 s1 s2 Solución x2 0 1 1 2 1 2 4 Z 0 –11 0 –6 6 11* 0 11* 1 11* 11* Multiplicar por 11 y sumárselo a Z =0+0=0 = 11+ (–11) = 0 1 2 1 2 = = 11* 4 11 2 11 2 +0= 11 2 1 + –6 = – 2 = 44 + 6 = 50 operación que genera: x1 x2 s1 s2 Solución x2 0 1 1 2 1 2 4 Z 0 0 11 2 – 1 2 50 Resumiendo la información se obtiene la tabla siguiente: Note que ya son ceros 02 Munoz UNIDAD 2.indd 24 x1 x2 s1 s2 Solución x2 0 1 1 2 1 2 4 x1 1 0 1 2 – 1 2 5 Z 0 0 11 2 – 1 2 50 02/03/11 01:56 PM 2.5 Teoría del método símplex 25 Como podemos observar, aún tenemos valores negativos en el renglón Z; por lo tanto, tenemos que realizar de nueva cuenta las operaciones correspondientes hasta lograr que el renglón Z no tenga ningún valor negativo. Columna de entrada o pivote x1 x2 s1 s2 Solución x2 0 1 1 2 1 2 4 4/ x1 1 0 1 2 – 1 2 5 5/– Z 0 0 11 2 – 1 2 50 Renglón elegido 1 =8 2 1 = –10 2 No se toma en cuenta puesto que es negativo Pivote 1 En principio, debemos ubicar las variables de entrada que, en este caso, es s2, que tiene el valor de – 2 ; éste es el único valor negativo que queda en el renglón Z. 1 El renglón de salida es x2 y el pivote es 2 . Con base en el reglón pivote, debemos hacer que el pivote tenga el valor 1 y los demás valores que componen la columna de entrada o pivote obtengan valores de 0. 1 Para convertir el renglón pivote en 1 es necesario dividir el renglón pivote entre 2 . Queda como sigue: x2 0/ 1 2 =0 1/ 1 2 =2 1 2 / 1 2 1 2 / 1 2 4/ 1 2 x1 x2 s1 s2 Solución 0 1 1 2 1 2 4 =1 0 1 2 =1 1 =0 1 2 1 2 1 2 =2 1 2 1 2 =1 =1 4 1 2 =8 =8 Después introducimos los valores que obtuvimos en el renglón pivote. x2 x1 x2 s1 s2 Solución 0 2 1 1 8 Pivote Note que ya cambió a 1 El siguiente paso implica convertir a ceros los valores de la columna de entrada o pivote utilizando el pivote para hacerlo: x2 x1 Z 02 Munoz UNIDAD 2.indd 25 Pivote 1 2 1 – 2 – Valores a convertir en ceros 02/03/11 01:56 PM 26 UNIDAD II Programación lineal En seguida, debe multiplicarse al renglón x2 por el inverso de los valores que se harán cero y sumárselos 1 al renglón que se convertirá; es decir, si queremos hacer cero al 2 , entonces debemos multiplicar el renglón 1 x2 por 2 y sumarlo a x1. 1 2 1 2 1 2 1 2 1 2 x1 x2 s1 s2 Solución s2 0 2 1 1 8 x1 1 0 1 2 – 1 2 Multiplicar por y sumar a x1 1 2 5 *0=0+1=1 *2=1+0=1 *1= *1= 1 2 1 2 + 1 2 + (– =1 1 2 )= 0 *8=4+5=9 Luego del paso anterior queda como sigue: x1 x2 s1 s2 Solución s2 0 2 1 1 8 x1 1 1 1 0 9 Ya terminado el renglón x1, continuamos con el renglón Z multiplicando el renglón x2 por 1 inverso de – 2 . 1 2 1 2 1 2 1 2 1 2 x1 x2 s1 s2 Solución s2 0 2 1 1 8 Z 0 0 11 2 – 1 2 Multiplicar por y sumar a Z 1 2 ya que es el 1 2 50 *0=0+0=0 *2=1+0=1 *1 = *1 = 1 2 1 2 + 11 2 + (– =6 1 2 )=0 *8 = 4 + 50 = 54 Aquí se genera: 02 Munoz UNIDAD 2.indd 26 x1 x2 s1 s2 Solución s2 0 2 1 1 8 Z 0 1 6 0 54 02/03/11 01:56 PM 2.5 Teoría del método símplex 27 Luego de reunir toda la información se obtiene la siguiente tabla símplex: x1 x2 s1 s2 Solución s2 0 2 1 1 8 x1 1 1 1 0 9 Z 0 1 6 0 54 Como se puede observar esta tabla símplex no incluye valores negativos en Z, lo cual indica que el problema ha sido resuelto. Cuando no aparece una de las variables básicas (x1 y x2) en la tabla símplex final, se supone que es igual a cero. Ahora, sólo nos queda resumir los resultados que obtuvimos y dar una conclusión: x1 = 9 x2 = 0 Z = 54 Como conclusión, puede decirse que deben fabricarse 9 galletas de tipo cuadrada y 0 de tipo redonda, pues esas cantidades generan una utilidad máxima de $54.00. Para asegurarnos de que realizamos las operaciones adecuadas, puede hacerse una comprobación en cualquiera de las ecuaciones del problema. Vamos a llevarla a cabo en la función objetivo original para verificar. Max Z = 6x1 + 5x2 54 = 6 * 9 + 5 * 0 54 = 54 Hemos finalizado todo el procedimiento por el método símplex. 2 Max Z = 5x1 + 2x2 Forma estándar Max Z = –5x1 – 2x2 Sujeto a: 6x1+10x2 ≤ 30 10x1 + 4x2 ≤ 20 x1, x2 ≥0 Sujeto a: 6x1 + 10x2 + s1 = 30 10x1 + 4x2 + s2 = 20 x1, x2, s1, s2 ≥ 0 Los valores debemos ubicarlos en una tabla símplex, de esta manera: x1 x2 s1 s2 Solución s1 6 10 1 0 30 s2 10 4 0 1 20 Z –5 –2 0 0 El valor más negativo del renglón Z es –5, por lo cual ésa será la columna entrante. Columna de entrada o pivote Pivote 02 Munoz UNIDAD 2.indd 27 x1 x2 s1 s2 Solución s1 6 10 1 0 30 s2 10 4 0 1 20 Z –5 –2 0 0 0 30 = 5 6 20 =2 10 Renglón elegido 02/03/11 01:56 PM 28 UNIDAD II Programación lineal Hasta este momento hemos definido todas las variables; la que entra es x1 y la que sale es s2. Ahora tenemos que realizar de nueva cuenta las operaciones correspondientes y hacer que el renglón pivote tenga un valor de 1 y los demás valores de la columna de entrada o pivote posean valores de 0. Para empezar, debemos convertir el renglón pivote en 1 mediante la división de todo el renglón entre 10, que es el mismo valor del pivote. x1 10 10 4 10 0 10 1 10 20 10 x1 x2 s1 s2 Solución 10 4 0 1 20 =1 Cambió de s2 a x1 = 2 5 =0 = 1 10 =2 A continuación, introducimos los valores que obtuvimos para ubicarlos en el renglón pivote, con lo cual la tabla queda así: Note que ya cambió a 1 x1 x1 x2 s1 s2 Solución 1 2 5 0 1 10 2 Luego convertimos a ceros los valores de la columna de entrada o pivote usando el pivote para hacerlo: s1 6 x1 Pivote Z –5 Valores a convertir en ceros A continuación debe multiplicarse el renglón x1 por el inverso de cada valor que se transformará en cero y sumarlo al renglón que se convertirá. x1 x2 s1 s2 Solución s1 6 10 1 0 30 x1 1 2 5 0 1 10 2 Multiplicar por –6 y sumar a s1 –6 * 1 = –6 + 6 = 0 –6 * 2 = – 12 + 10 = 38 5 5 5 –6 * 0 = 0 + 1 =1 –6 * 1 3 3 =– +0=– 10 5 5 –6 * 2 = –12 + 30 = 18 02 Munoz UNIDAD 2.indd 28 02/03/11 01:56 PM 2.5 Teoría del método símplex 29 El resultado es el siguiente: x1 s1 0 x1 1 x2 38 5 2 5 s1 1 0 Solución s2 3 – 5 1 10 18 2 Una vez que hemos resuelto el renglón x1, continuamos con el renglón Z. Ahora debemos multiplicar el renglón x2 por 11 ya que es la inversa de –11. x1 x2 s1 s2 Solución x1 1 2 5 0 1 10 2 Z –5 –2 0 0 0 s2 Solución Multiplicar por 5 y sumarlo a Z 5 * 1 = 5 + (–5) = 0 5* 2 = 2+ (–2) = 0 5 5*0=0+0=0 5* 1 1 1 = +0= 10 2 2 5 * 2 = 10 + 0 = 10 Esta operación genera: x1 x2 s1 s1 1 2 5 0 Z 0 0 0 1 10 1 2 2 10 Resumiendo la información se obtiene lo siguiente: x1 Note que ya son ceros x2 0 x1 1 Z 0 x2 38 5 2 5 0 s1 1 0 0 s2 3 – 5 1 10 1 2 Solución 18 2 10 Como se puede ver, esta tabla símplex no tiene valores negativos en el renglón Z, lo cual nos indica que hemos terminado. Ahora sólo nos queda resumir los resultados que obtuvimos: s1 = 18; x1 = 2; s2 = 0; x2 = 0 y Z = 10. A continuación, podemos hacer una comprobación en cualquiera de las ecuaciones del problema para asegurarnos de que efectuamos las operaciones adecuadas. Para llevarla a cabo vamos a verificar la función objetivo original. Max Z = 5x1 + 2x2 10 = 5(2) + 2(0) 10 = 10 Hemos finalizado todo el procedimiento por el método símplex. 02 Munoz UNIDAD 2.indd 29 02/03/11 01:56 PM 30 UNIDAD II Programación lineal 3 Max Z = 3x1 + x2 Forma estándar Max Z = –3x1 – x2 Sujeto a: 2x1+ x2 ≤ 8 2x1 + 3x2 ≤ 12 x1, x2 ≥ 0 Sujeto a: 2x1 + x2 + s1 = 8 2x1 + 3x2 + s2 = 12 x1, x2, s1, s2 ≥ 0 Debemos ubicar los valores en una tabla símplex, de esta manera: x1 x2 s1 s2 Solución s1 2 1 1 0 8 s2 2 3 0 1 12 Z –3 –1 0 0 0 El valor más negativo del renglón Z es –3, por lo cual ésa será la columna entrante. Columna de entrada o pivote Pivote x1 x2 s1 s2 Solución s1 2 1 1 0 8 s2 2 3 0 1 12 Z –3 –1 0 0 0 8 =4 2 12 =6 2 Renglón elegido Hasta este punto hemos definido todas las variables: la que entra es x1 y la que sale es s1; ahora debemos efectuar de nuevo las operaciones correspondientes y hacer que el renglón pivote tenga un valor de 1 y los demás valores de la columna de entrada o pivote tengan valores de 0. Para empezar debemos convertir el renglón pivote en 1 mediante la división de todo el renglón entre 2, que es el mismo valor del pivote. Cambió de s1 a x1 2 2 1 2 1 2 0 2 8 2 x1 x1 x2 s1 s2 Solución 2 1 1 0 8 =1 1 2 1 = 2 = =0 =4 Luego de la división, introducimos los valores que obtuvimos para ubicarlos en el renglón pivote, actividad que genera la siguiente tabla: x1 x1 x2 s1 s2 Solución 1 1 2 1 2 0 4 Note que ya cambió a 1 02 Munoz UNIDAD 2.indd 30 02/03/11 01:56 PM 2.5 Teoría del método símplex 31 Para convertir a ceros los valores de la columna de entrada o pivote, utilizamos el pivote: x1 Pivote s2 2 Z –3 Valores a convertir en ceros A continuación debe multiplicarse el renglón x1 por el inverso de cada valor que se transformará en cero y sumarlo al renglón que se convertirá. x1 x2 s1 s2 Solución x1 1 1 2 1 2 0 4 s2 2 3 0 1 12 Multiplicar por –2 y sumar a s2 –2 * 1 = –2 + 2 = 0 1 = –1 + 3 = 2 2 1 –2 * = –1 + 0 = –1 2 –2 * –2 * 0 = 0 + 1 = 1 –2 * 4 = –8 + 12 = 4 La tabla que se obtiene será: x1 x2 s1 s2 Solución x1 1 1 2 1 2 0 4 s2 0 2 –1 1 4 Una vez resuelto el renglón x1 continuamos con el renglón Z multiplicando al renglón x1 por 3, ya que es el inverso de –3. x1 x2 s1 s2 Solución x1 1 1 2 1 2 0 4 Z –3 –1 0 0 0 Multiplicar por 3 y sumar a Z 3 * 1 = 3 + (–3) = 0 1 3 1 = + (–1) = 2 2 2 1 3 3 3* = +0= 2 2 2 3* 3*0=0+0=0 3 * 4 = 12 + 0 = 12 02 Munoz UNIDAD 2.indd 31 02/03/11 01:56 PM 32 UNIDAD II Programación lineal Esta operación genera: x1 x2 s1 s2 Solución x1 1 1 2 1 2 0 4 Z 0 1 2 3 2 0 12 Si resumimos la información podemos ordenarla en la siguiente tabla: x1 x2 s1 s2 Solución x1 1 1 2 1 2 0 4 s2 0 2 –1 1 4 Z 0 1 2 3 2 0 12 Como podemos observar, en esta tabla símplex no hay ningún valor negativo en el renglón Z, lo cual nos indica que hemos concluido. Ahora, sólo nos queda resumir los resultados que obtuvimos, a saber: s1 = 0; x1 = 4; s2 = 4; x2 = 0 y Z = 12. Ahora podemos hacer una comprobación en cualquiera de las ecuaciones del problema para asegurarnos de que efectuamos las operaciones adecuadas; para verificar, nos enfocaremos en la función objetivo original. Max Z = 3x1 + x2 12 = 3(4) + 0 12 = 12 Hemos finalizado todo el procedimiento que señala el método símplex. 2.6 Dualidad El término dualidad señala la existencia de dos fenómenos o caracteres diferentes en un mismo estado. En este sentido, las nociones del bien y el mal son un ejemplo de dualidad; la filosofía china también cuenta con los conceptos del yin y el yang para resumir la dualidad de todo lo que existe en el universo. Dentro de la investigación de operaciones, el concepto de dualidad desempeña un papel importante tanto en la teoría como en la práctica. Todo modelo de programación lineal está asociado a otro modelo llamado modelo dual; al modelo de programación inicial también se le conoce como modelo primal. Entre otras cosas, las estructuras duales permiten: • Resolver problemas lineales que tienen más restricciones que actividades. Por ejemplo, el grado de dificultad para resolver un programa lineal por medio de una computadora que está en función del número de filas de la matriz A y no en el número de columnas, al aplicar la dualidad a un problema primario donde m > n, se obtiene otro problema lineal donde el número de columnas m < n. Una vez que se resuelve el problema primario, de manera automática se soluciona su correspondiente dual o viceversa. • Hacer interpretaciones económicas de las soluciones óptimas de los problemas de programación lineal. 02 Munoz UNIDAD 2.indd 32 02/03/11 01:56 PM 2.6 Dualidad 33 • Concebir nuevos algoritmos para solucionar problemas de redes de optimización. • Generar métodos como el dual símplex para realizar análisis de sensibilidad de los programas de programación lineal. Para poder entender el concepto de dualidad debemos referirnos al tema de matriz transpuesta. Podemos decir que la matriz A transpuesta, que se conoce con la simbología AT, es aquella en donde las columnas se transforman en filas o viceversa. Ejemplo: Si tenemos la siguiente matriz: A= 1 2 a b c 15 20 25 10 30 40 Genera AT = a b 1 15 10 2 20 30 3 25 40 Cuestiones importantes que se deben tomar en cuenta: Cuestión 1. Si el primal es un problema de maximización, su dual será un problema de minimización o viceversa. Max Min Cuestión 2. Los coeficientes de la función objetivo del problema primal se convierten en los coeficientes del vector de disponibilidad del problema dual. Cuestión 3. Los coeficientes del vector de disponibilidad del problema original se convierten en los coeficientes de la función objetivo (vector de costo o precio) del problema dual. Cuestión 4. Los coeficientes de las restricciones del problema primal serán la matriz de coeficientes del dual. Cuestión 5. Los signos de desigualdad del problema dual son contrarios a los del primal. Cuestión 6. Si el primal tiene m restricciones y n variables, el dual tendrá n restricciones y m variables. Así, las variables xn del primal se convierten en nuevas variables ym del dual. Primal Max Z = Cx Sujeto a: Ax ≤ B x≥0 Dual Min G = BT y Sujeto a : AT y > CT y>0 Donde: C = constante x = variable Cx = función objetivo En la figura 2.7 se ilustra quién es A; B; C para, posteriormente, convertirse en su dual. Primal Max Z = C 5x1 + 12x2 + 4x3 Sujeto a: 1x1 + 2x2 + 1x3 ≤ 10 1x1 – 1x2 + 3x3 ≥ 8 B A x1 ≥ 0 Figura 2.7 02 Munoz UNIDAD 2.indd 33 Estructura de un problema dual. 02/03/11 01:56 PM 34 UNIDAD II Programación lineal Primal Dual Min Z = 15x1 + 12x2 Max G = 3y1 + 5y2 Sujeto a: x1 + 2x2 ≥ 3 2x1 – 4x2 ≤ 5 xi ≥ 0 Sujeto a: y1 + 2y2 ≤ 15 2y1 – 4y2 ≥ 12 yi ≥ 0 Note que xi = x1, x2, …, xn según las variables utilizadas 2 Dual Primal Min Z = x1 + 3x2 + 2x3 Sujeto a: 3x1 – x2 + 2x3 ≤ 7 2x1 – 4x2 ≥ 12 –2x1 + 3/2 x2 + 4x3 ≤ 5 xi ≥ 0 Max J = 7y1 + 12y2 + 5y3 Sujeto a: 3y1 + 2y2 – 2y3 ≥ 1 –y1 – 4y2 + 3/2y3 ≤ 3 2y1 + 4y3 ≥ 2 yi ≥ 0 Cabe destacar que, una vez solucionados el dual como el primal por medio del método símplex, la solución es la misma. 1. Resuelva los siguientes ejercicios con el empleo del método gráfico: a) Max Z = 3x1 + 2x2 b) Max Z = 2x1 + 3x2 c) Max Z = 20x1 + 30x2 Sujeto a: 7x1 + 3x2 ≤ 15 3x1 + x2 ≤ 20 x1 + x2 ≤ 5 x1, x2 ≥ 0 Sujeto a: x1 + 3x2 ≤ 9 3x1 + 2x2 ≤ 12 x1, x2 ≥ 0 Sujeto a: 2x1 + 2x2 ≤ 150 x1 + 2x2 ≤ 120 x1, x2 ≥ 0 2. Resuelva los siguientes ejercicios por medio del método símplex: a) Max Z = 3x1 + 2x2 + 5x3 b) Max Z = 6x1 – 2x2 + 3x3 Sujeto a: 7x1 + 3x2 – x3 ≤ 15 2x1 – 2x2 + 3x3 ≤ 20 x1 + x2 + x3 ≤ 5 x1, x2, x3 ≥ 0 Sujeto a: 2x1 – x2 + 2x3 ≤ 2 x1 + 4x3 ≤ 4 x1, x2, x3 ≥ 0 c) Max Z = 2x1 + x2 + 2x3 Sujeto a: 4x1 + 3x2 + 8x2 ≤ 12 4x1 + x2 + 12x3 ≤ 8 4x1 – x2 + 3x3 ≤ 8 x1, x2, x3 ≥ 0 3. Convierta a su forma dual los siguientes modelos primales: a) Min Z = 3x1 + 2x2 Sujeto a: 3x1 + 2x2 ≤ 30 x1 + 2x2 ≥ 20 x1, x2 ≥ 0 02 Munoz UNIDAD 2.indd 34 b) Min Z = 6x1 + 7x2 Sujeto a: x1 + x2 ≥ 2 5x1 + x2 ≥ 4 x1, x2 ≥ 0 02/03/11 01:56 PM Unidad III Transporte y asignación Al finalizar el estudio de esta unidad, se espera que el lector sea capaz de: explicar qué entiende por modelos de transporte. desarrollar los pasos para resolver problemas de transporte. resolver problemas por el método de la esquina noroeste. solucionar problemas por medio del método de costo menor. resolver problemas por medio del método Vogel. exponer el modelo de asignación. solucionar problemas de asignación por medio del método húngaro. 3.1 Modelos de transporte Figura 3.1 a1 1 a2 2 am m c11 x11 cmn xmn Modelo de transporte. Clase especial de programación por medio del cual se minimizan los costos del transporte de personas o productos desde los puntos de origen hasta los puntos de destino. 1 b1 2 b2 n bn Demanda Oferta El modelo de transporte es una clase especial de programación lineal que aborda la situación en la cual se envía un bien desde los puntos de origen (por ejemplo, fábricas) hasta los puntos de destino (bodegas). El objetivo es determinar las cantidades que se deben enviar desde cada punto de origen hasta cada punto de destino que minimicen el costo total del envío y que, al mismo tiempo, satisfagan tanto los límites de la oferta como los requisitos de la demanda (figura 3.1). Forma de enviar un bien de un origen a un destino. 35 03 Munoz UNIDAD 3.indd 35 02/03/11 01:57 PM 36 UNIDAD III Transporte y asignación El modelo supone que el costo de envío por una ruta específica es directamente proporcional al número de unidades enviadas (por esa ruta). En general, el modelo de transporte puede ampliarse a otras áreas, entre ellas el control de inventarios, horarios de empleo y asignación de personal. A partir de la figura 3.1 se deduce que: xij = Cantidad enviada cij = Constante. La función objetivo se obtiene de la siguiente forma: Min Z = c11 x11 + c12 x12 +…+ cij xij Una fábrica de autos cuenta con 3 plantas fabriles, una en Guanajuato, otra en Michoacán y otra en Nayarit. También posee 2 centros de distribución principales, uno en México y otro en Guadalajara. Las capacidades de producción de las 3 plantas durante el próximo trimestre son de 2 000, 2 400 y 3 000 automóviles, mientras que la demanda durante el mismo periodo de los 2 centros de distribución será de 4 600 y 2 800 automóviles. La tabla 3.1 proporciona la distancia en kilómetros que existe entre las plantas y los centros de distribución. Tabla 3.1 Distancia entre plantas y centros de distribución Origen Destino México (en kilómetros) Guadalajara (en kilómetros) Guanajuato 2 000 5 380 Michoacán 2 500 2 700 Nayarit 2 550 1 700 La compañía encargada del transporte de los automóviles cobra 16 centavos por kilómetro por auto. Para obtener el costo de envío por cada ruta, debe multiplicarse la distancia por el costo de transporte que, en este caso, será de 16 centavos por kilómetro. Origen Destino México Guadalajara Guanajuato 2 000  0.16 5 380  0.16 Michoacán 2 500  0.16 2 700  0.16 Nayarit 2 550  0.16 1 700  0.16 En resumen, de la tabla anterior se obtienen los siguientes costos: Origen Destino México Guadalajara Guanajuato 320 860.8 Michoacán 400 432 Nayarit 408 272 Dado que la tabla de costos puede resolverse por medio del método símplex, elabore el modelo de programación lineal correspondiente al problema (véase figura 3.2). 03 Munoz UNIDAD 3.indd 36 02/03/11 01:57 PM 3.1 Guanajuato 320x11 1 860.8x12 1 México 2 Guadalajara Modelos de transporte 37 400x21 Michoacán 432x22 2 408x31 Figura 3.2 272x32 3 Nayarit Formas de enviar automóviles desde la fábrica hasta los puntos de venta. Sea xij = Número de automóviles enviados del origen (i) al destino (j). Donde: i = Origen (Guanajuato, Michoacán, Nayarit) j = Destino (México, Guadalajara) Origen Destino México Guadalajara Oferta Guanajuato 320 x11 860.8 x12 2 000 2 000 + Michoacán 400 x21 432 x22 3 000 3 000 + Nayarit 408 x31 272 x32 2 400 2 400 = Demanda 4 600 2 800 7 400 7 400 4 600 + 2 800 = 7 400 Nótese que la demanda es igual a la oferta Min Z = 320 x11 + 860.8x12 + 400x21 + 432x22 + 408x31 + 272x32 Sujeto a: x11 + x12 ≤ 2 000 x21 + x22 ≤ 3 000 Oferta x31 + x32 ≤ 2 400 x11 + x21 + x31 = 4 600 x12 + x22 + x32 = 2 800 Demanda xij ≥ 0 El modelo de programación lineal puede resolverse con el método símplex; sin embargo, la estructura especial de las restricciones nos permite solucionarlo de una manera más conveniente con ayuda de la tabla símplex de transporte que se muestra a continuación: Origen Destino Guadalajara Oferta Guanajuato 320 860.8 2 000 Michoacán 400 432 3 000 Nayarit 408 272 2 400 4 600 2 800 7 400 Demanda 03 Munoz UNIDAD 3.indd 37 México 02/03/11 01:57 PM 38 UNIDAD III Transporte y asignación Determinación de la solución inicial Un modelo de transporte general con m puntos de origen y n puntos de destino posee m + n ecuaciones de restricción, una para cada punto de origen y destino; no obstante, debido a que el modelo de transporte siempre está equilibrado, una de estas ecuaciones debe ser redundante. Así, el modelo tiene m + n – 1 variables básicas. La estructura especial del modelo de transporte admite una solución básica inicial no artificial empleando uno de los tres métodos: • Método de la esquina noroeste • Método del costo menor • Método de aproximación de Vogel La diferencia entre los tres métodos es la calidad de la solución básica inicial, pues cuando ésta es más precisa da un valor objetivo más pequeño. Desde este punto de vista general, el método de Vogel aporta la mejor solución básica inicial y el método de la esquina noroeste, la peor. La ventaja es que el método de la esquina noroeste implica menor cálculo. 3.1.1 Método de la esquina noroeste El método de la esquina noroeste empieza en el cuadro (ruta) de la esquina noroeste de la tabla símplex (variable x11) (véase figura 3.3). Esquina noroeste Figura 3.3 Esquina noroeste de la tabla símplex. Pasos para aplicar el método de la esquina noroeste A continuación desglosaremos los pasos para aplicar este método: Paso 1. Asigne tanto como sea posible al cuadro seleccionado y ajuste las cantidades asociadas de oferta y demanda; luego, reste la cantidad asignada. Paso 2. Tache el renglón o la columna con 0 oferta o demanda para indicar que no pueden hacerse asignaciones adicionales en ese renglón o columna. Si tanto el renglón como la columna, de manera simultánea, dan 0, tache sólo uno de ellos y deje una oferta o demanda de 0 en el renglón o columna no tachado. Paso 3. Si queda sin tachar un renglón o una columna, deténgase; de lo contrario, avance al siguiente cuadro a la derecha si acaba de tachar una columna o al inferior si ha tachado un renglón. Regrese al paso 1. 2 Tenemos 3 granjas de pollos (A, B, C) con una oferta de 120, 130 y 250 pollos cada una, que deben cubrir la demanda de 3 rosticerías (1, 2, 3) que es de 150, 130 y 220 pollos. Los costos de envío de la granja A a las rosticerías 1, 2 y 3 son de 10, 15 y 18 pesos por pollo; los de la granja B son de 1, 5 y 3 pesos y los de la granja C son de 7, 11 y 9 pesos, respectivamente, por pollo. Elabore el modelo de programación lineal correspondiente y determine cuántos pollos se deben enviar desde las granjas (A, B, C) a las rosticerías (1, 2, 3). 03 Munoz UNIDAD 3.indd 38 02/03/11 01:57 PM 3.1 Rosticería 1 2 3 A 10 15 18 120 B 1 5 3 130 C 7 11 9 250 150 130 220 500 Granjas Demanda (pollos) Modelos de transporte 39 Oferta (pollos) Nota: La oferta no puede ser mayor que lo que se tiene en la demanda. Por lo tanto, como la oferta es igual a la demanda, se dice que la tabla está en equilibrio. Paso 1. Para resolver este problema, en primer lugar se debe asignar tanto como sea posible al cuadro de la esquina noroeste seleccionado (en este caso sería A, 1) y ajustar las cantidades asociadas de oferta y demanda mediante la resta de la cantidad asignada. Rosticería 1 2 3 A 10 15 18 120 B 1 5 3 130 C 7 11 9 250 150 130 220 500 Granjas Demanda (pollos) Oferta (pollos) Los recuadros representan las siguientes referencias: Cuadro seleccionado (esquina noroeste) Oferta de la granja A: 120 pollos Demanda de la rosticería 1: 150 pollos Enviamos 120 pollos a la rosticería 1 que pide 150, con lo cual sólo quedan por satisfacer 30 pollos. Rosticería Granjas A 1 10 120 2 3 Oferta (pollos) 15 18 120 – 120 = 0 B 1 5 3 130 C 7 11 9 250 Demanda (pollos) 150 – 120 = 30 130 220 380 Observe que, al entregar 120 pollos, la granja A ya no puede vender más, por lo que se cancelan los demás espacios. Paso 2. Tache el renglón o la columna con 0 oferta o demanda para indicar que no pueden hacerse asignaciones adicionales en ese renglón o columna. Si tanto el renglón como la columna, de manera simultánea, dan 0, tache sólo uno de ellos y deje una oferta o demanda de 0 en el renglón o columna no tachados. 03 Munoz UNIDAD 3.indd 39 02/03/11 01:57 PM 40 UNIDAD III Se tacha porque se agota la oferta de la granja A Transporte y asignación Rosticería Granjas 1 A 10 120 2 3 Oferta (pollos) 15 18 120 – 120 = 0 B 1 5 3 130 C 7 11 9 250 Demanda (pollos) 150 – 120 = 30 130 220 380 Paso 3. Si queda sin tachar un renglón o una columna, deténgase; de lo contrario, avance al siguiente cuadro a la derecha si acaba de tachar una columna o al inferior si ha tachado un renglón. Regrese al paso 1. Como se tachó el renglón de la granja A, avanzamos a la siguiente esquina noroeste para satisfacer los 30 pollos que solicita la rosticería 1. Se tacha porque se agota la oferta de la granja A Rosticería Granjas 1 A 10 120 2 3 Oferta (pollos) 15 18 120 – 120 = 0 B 1 5 3 130 C 7 11 9 250 Demanda (pollos) 150 – 120 = 30 130 220 380 Cuadro seleccionado (esquina noroeste) Se le asignan 30 ya que la rosticería 1 sólo pide 30 y la granja B tiene 30 disponibles Se tacha porque satisface la demanda de la rosticería 1 Rosticería Granjas 1 2 3 Oferta (pollos) A 10 120 15 18 0 B 11 30 5 3 130 – 30 = 100 C 7 11 9 250 Demanda (pollos) 30 – 30 = 0 130 220 350 100 pollos disponibles que oferta la granja B Ahora, la granja A no tiene pollos para vender y la rosticería 1 cubrió su demanda. Se avanza a la siguiente rosticería (2) y se le asigna lo más que se pueda a la granja B. Rosticería Granjas 03 Munoz UNIDAD 3.indd 40 1 2 3 Oferta (pollos) 18 0 3 100 – 100 = 0 A 10 120 15 B 11 30 5 100 C 7 11 9 250 Demanda (pollos) 0 130 – 100 = 30 220 250 Se tacha porque se agota la oferta de la granja B 02/03/11 01:57 PM 3.1 Modelos de transporte 41 La rosticería 2 aún necesita 30 pollos, que deben ser proporcionados por la granja C ya que la B agotó su oferta. Rosticería Granjas 1 A 10 120 B 11 30 2 3 Oferta (pollos) 15 18 0 3 0 9 250 – 30 = 220 220 220 5 100 C 7 11 Demanda (pollos) 0 30 – 30 = 0 Siguiente esquina noroeste No tiene demanda Rosticería Granjas 30 Se tacha porque se satisface la demanda de la rosticería 2 1 A 10 120 B 11 30 C 7 Demanda (pollos) 0 No tienen oferta 2 3 Oferta (pollos) 15 18 0 Oferta satisfecha 5 100 3 0 11 30 9 250 – 30 = 220 220 220 0 Siguiente esquina noroeste Demanda satisfecha Debido a que la demanda de la rosticería 2 ya fue satisfecha, se tacha y se avanza a la siguiente rosticería. Rosticería Granjas 1 A 10 120 B 11 30 C 7 Demanda (pollos) 0 2 3 Oferta (pollos) 15 18 0 3 0 5 100 11 30 0 9 220 220 – 220 = 0 220 – 220 = 0 Este punto es donde se satisface por completo la demanda con la oferta En este ejemplo, la solución óptima es: La granja A debe enviar 120 pollos a la rosticería 1; la granja B, 30 pollos a la rosticería 1 y 100 al 2; la granja C, 30 pollos al 2 y 220 al 3 (figura 3.4). Los costos de envío de pollos de las granjas son: Min Z = 10 (120) + 1 (30) + 5 (100) + 11 (30) + 9 (220) = 4 040 pesos ⬖ El costo de envío será de 4 040 pesos. 120 A Granjas de pollos 30 B C Figura 3.4 03 Munoz UNIDAD 3.indd 41 100 30 220 1 2 Rosticerías 3 Diagrama de distribución de pollos. 02/03/11 01:57 PM 42 UNIDAD III Transporte y asignación 3.1.2 Método del costo menor El método del costo menor permite encontrar una mejor solución inicial pues se concentra en las rutas más económicas. En vez de empezar con el cuadro noroeste, comienza por asignarle tanto como sea posible al cuadro con el costo más bajo por unidad de toda la tabla; después, se tacha el renglón o la columna satisfechos y se ajusta la cantidad de la oferta y de la demanda conforme a ello. Si tanto un renglón como una columna se satisfacen de manera simultánea, sólo se tacha uno de ellos; luego, se busca el cuadro no tachado con el menor costo unitario y se repite el proceso hasta que, al final, queda exactamente un renglón o una columna no tachados. Método del costo menor. Se concentra en las rutas económicas. Asigna el costo más bajo a cada unidad y después se ajusta la cantidad de la oferta y la demanda. Pasos para aplicar el método del costo menor A continuación desglosaremos los pasos para aplicar este método: Paso 1. Asígnele tanto como sea posible al cuadro con el costo más bajo por unidad de toda la tabla. Paso 2. Tache el renglón o la columna con 0 oferta o demanda para indicar que no pueden hacerse asignaciones adicionales en ellos. Si tanto el renglón como la columna dan 0 de manera simultánea, tache sólo uno de ellos y deje una oferta o demanda de 0 en el renglón o columna no tachado. Paso 3. Si queda sin tachar un renglón o una columna, deténgase; de lo contrario, avance al siguiente cuadro con el costo más bajo por unidad de la tabla no tachada. Regrese al paso 1. 3 Para este tema, retomaremos el ejercicio que se trabajó en la sección anterior (método de la esquina noroeste). Tenemos 3 granjas (A, B, C), con una oferta de 120, 130 y 250 pollos, respectivamente, que deben cubrir la demanda de 3 rosticerías (1, 2, 3), que es de 150, 130 y 220 pollos. Costos de envío de pollos de las granjas a las rosticerías Ejemplo: de la granja B a la rosticería 2, el costo de envío por pollo es de 5 pesos Rosticería 1 2 3 Oferta (pollos) A 10 15 18 120 B 1 5 3 130 C 7 11 9 250 150 130 220 500 Granjas Demanda (pollos) Nota: La oferta no puede ser mayor que la demanda Paso 1. Asígnele tanto como sea posible al cuadro con el menor costo unitario de toda la tabla y ajuste las cantidades asociadas de oferta y demanda mediante la resta de la cantidad asignada. Rosticería 1 2 3 Oferta (pollos) A 10 15 18 120 B 1 5 3 130 C 7 11 9 250 150 130 220 Granjas Demanda (pollos) 03 Munoz UNIDAD 3.indd 42 500 – 130 = 370 02/03/11 01:57 PM 3.1 Modelos de transporte 43 Paso 2. Tache el renglón o la columna con 0 oferta o demanda para indicar que no pueden hacerse asignaciones adicionales en ellos. Si tanto el renglón como la columna dan 0 de manera simultánea, tache sólo uno de ellos y deje una oferta o demanda de 0 en el renglón o columna no tachados. Rosticería Granjas A B 1 2 3 Oferta (pollos) 10 15 18 120 5 3 130 – 130 = 0 250 1 130 C 7 11 9 Demanda (pollos) 150 – 130 = 20 130 220 500 – 130 = 370 1 2 3 Oferta (pollos) 10 15 18 120 Rosticería Granjas A B 1 130 5 3 0 C 7 20 11 9 250 – 20 = 230 130 220 370 – 20 = 350 Demanda (pollos) 20 – 20 = 0 Siguiente costo más bajo Se tacha porque se satisface la demanda de la rosticería 1 Tomar en cuenta que la rosticería pide aún 20 pollos que va a satisfacer la granja C Rosticería Granjas A 1 2 3 Oferta (pollos) 10 15 18 120 3 0 B 1 130 5 C 7 20 11 Demanda (pollos) 0 9 130 Rosticería A 230 – 220 = 10 350 – 220 = 130 Se tacha porque satisface la demanda de la rosticería 3 1 2 3 Oferta (pollos) 10 15 18 120 5 3 0 B 1 130 C 7 20 Demanda (pollos) 220 220 – 220 = 0 Siguiente costo más bajo, se le asigna lo que pide la rosticería 3 (220) quedando aún 10 pollos por colocar de la granja C Granjas Se tacha porque se agota la oferta de la granja B 0 11 10 130 – 10 = 120 9 220 0 10 – 10 = 0 Se tacha porque se agota la oferta de la granja B 130 – 10 = 120 Siguiente costo más bajo sólo se le asigna 10 pollos ya que la granja C sólo dispone de 10 y la rosticería 2 aún requiere 10 pollos 03 Munoz UNIDAD 3.indd 43 02/03/11 01:57 PM 44 UNIDAD III Transporte y asignación Paso 3. Si queda sin tachar un renglón o una columna, deténgase; de lo contrario, avance al siguiente cuadro con el costo más bajo por unidad de la tabla no tachada. Regrese al paso 1. Rosticería Granjas 1 A 2 10 15 B 11 130 C 7 20 Demanda (pollos) 120 5 11 0 10 9 120 – 120 = 0 Último costo más bajo se le asigna el total de pollos disponibles de la granja A 3 Oferta (pollos) 18 120 – 120 = 0 3 0 0 220 0 120 – 120 = 0 Note que tanto la demanda como la oferta quedaron satisfechas El costo total por el envío de los pollos es: Min Z = 1 (130) + 7 (20) + 9 (220) + 11 (10) + 15 (120) = 4 160 Observe que el costo es mayor que en caso del método de la esquina noroeste, lo cual demuestra que no siempre este método es mejor. 4 Tres fábricas de calzado (1, 2, 3) con una oferta de 15, 25 y 10 mil pares de zapatos, respectivamente, deben cubrir los pedidos de 4 tiendas (A, B, C, D), cuyas demandas ascienden a 5, 15, 15 y 15 mil pares de zapatos cada una. Elabore el modelo de programación lineal correspondiente y determine cuántos pares de zapatos se van a enviar desde las fábricas (1, 2, 3) a cada una de las tiendas (A, B, C, D). Tienda Fábrica A B D Oferta (miles) 20 11 15 – 15 = 0 1 10 2 12 7 9 20 25 3 4 14 16 18 10 Demanda 5 15 15 15 50 – 15 = 35 C D Oferta (miles) 20 11 0 Tienda Fábrica 2 C 15 A B 1 10 2 12 7 9 20 25 5 14 16 18 10 – 5 = 5 0 15 15 35 – 5 = 30 3 Demanda 4 5–5=0 2 15 La oferta de la fila 1 llega al límite Se elimina porque se abastece la demanda de la columna A. 03 Munoz UNIDAD 3.indd 44 02/03/11 01:57 PM 3.1 Tienda Fábrica A B C D Oferta (miles) 1 10 2 15 20 11 15 – 15 = 0 2 12 7 0 9 20 25 14 16 18 10 15 – 15 = 0 15 15 30 3 4 Demanda 5 0 Modelos de transporte 45 Se elimina porque se abastece la demanda de la columna B Cabe que recordar que no se puede eliminar al mismo tiempo una fila y una columna, por eso se otorga 0 a B2 (note que no se eliminó desde la primera tabla) Tienda Fábrica A B 1 10 2 15 2 12 7 0 3 4 Demanda 5 C D Oferta (miles) 20 11 0 20 25 – 15 = 10 9 15 14 16 18 10 – 5 = 5 0 15 – 15 = 0 15 30 – 15 = 15 0 Se elimina porque se abastece la demanda de la fila C Tienda Fábrica A 1 10 2 12 3 4 Demanda B 2 C 5 20 15 7 D 9 16 0 0 0 11 10 20 15 14 Oferta (miles) 18 15 – 15 = 0 25 – 15 = 10 5 15 – 5 = 10 5–5=0 15 – 5 = 10 La oferta de la fila 3 llega al límite Tienda Fábrica A B C 1 10 2 15 2 12 7 0 3 Demanda 4 5 0 D 20 9 15 14 16 0 0 11 Oferta (miles) 10 20 18 0 10 – 10 = 0 5 10 – 10 = 0 Llega al límite La oferta de la fila 3 0 10 – 10 = 0 Se abastece la demanda de la columna D Nota: En este punto se llega al abastecimiento de la demanda y se agota la oferta, lo que da como resultado: 03 Munoz UNIDAD 3.indd 45 02/03/11 01:57 PM 46 UNIDAD III Transporte y asignación Tienda Fábrica A B C 1 10 2 15 2 12 7 0 3 4 Demanda 5 0 D 20 9 11 16 0 0 0 10 20 15 14 Oferta (miles) 18 0 0 5 0 0 En este ejemplo la solución óptima es: En este caso, para optimizar los costos de envío, de la fábrica 1 se deben enviar 15 000 pares de zapatos a la tienda B y 10 000 pares a la tienda D; de la fábrica 2, 15 000 pares a la tienda C y, por último, 5 000 pares de la fábrica 3 a la tienda A y 5 000 a la tienda D. Los costos de envío son: Min Z = 2(15) + 4(5) + 7(0) + 9(15) + 5(18) + 20(10) = $ 475 000 ⬖ El costo de envío será de $ 475 000. 3.1.3 Método Vogel Este método es una versión mejorada del de costo menor que, por lo regular, produce mejores soluciones iniciales. Pasos para aplicar el método de Vogel A continuación detallamos los pasos a seguir para aplicar este método: Paso 1. En el caso de cada renglón o columna con una oferta o una demanda estrictamente positiva, determine una medida de penalidad restando el elemento del costo por unidad más bajo del renglón o columna del siguiente elemento de menor costo. Paso 2. Identifique el renglón o columna con penalidad más grande y asígnele tanto como sea posible a la variable con el costo más bajo, ajuste la oferta y demanda y tache el renglón o columna satisfechos; si se satisfacen de manera simultánea un renglón y una columna, sólo se tacha uno de ellos. Paso 3. Si queda un renglón o una columna sin tachar con 0 oferta y 0 demanda, deténgase. Si queda sin tachar un renglón o una columna con una oferta o demanda positiva, precise las variables básicas del renglón o columna por el método del costo menor; de lo contrario, regrese al paso 1. 5 Para explicar este tema se retomarán los ejercicios que se trabajaron en las dos secciones anteriores (método de la esquina noroeste y método del costo menor) para, al final, poder hacer una comparación entre los métodos que se utilizaron. Tres granjas de pollos (A, B, C), con una oferta de 120, 130 y 250, respectivamente, deben cubrir la demanda de 3 rosticerías (1, 2, 3) que es de 150, 130 y 220 pollos. Rosticería 1 2 3 Oferta pollos A 10 15 18 120 B 1 5 3 130 C 7 11 9 250 150 130 220 500 Granjas Demanda (pollos) 03 Munoz UNIDAD 3.indd 46 Costos de envío de pollos de las granjas a las rosticerías 02/03/11 01:57 PM 3.1 Modelos de transporte 47 Paso 1. En el caso de cada renglón o columna con una oferta o una demanda estrictamente positiva, establezca una medida de penalidad mediante la resta del elemento de menor costo unitario del renglón o columna del siguiente elemento de costo más bajo. Rosticería 1 2 3 Oferta (pollos) Penalidad 1 A 10 15 18 120 15 – 10 = 5 B 1 5 3 130 3–1=2 C 7 11 9 250 9–7=2 Demanda (pollos) 150 130 220 380 Penalidad 1 7–1=6 11 – 5 = 6 9–3=6 Granjas Costos más bajos por renglón y columna Paso 2. Identifique el renglón o columna con penalidad más grande y asígnele tanto como sea posible a la variable con el costo más bajo. Ajuste la oferta y demanda y tache el renglón o columna satisfechos; si se satisfacen de manera simultánea un renglón y una columna, sólo se tacha uno de ellos. En esta tabla se puede observar que la mayor penalidad es 6 en 3 diferentes lugares; por ello, debemos elegir sólo una de las tres posibilidades y buscar el costo menor de estas tres. Se elige esta columna pues el costo menor elegido es 1, mientras que los demás son 5 y 3, aunque las penalidades sean 6 Rosticería 1 2 3 Oferta (pollos) Penalidad 1 A 10 15 18 120 15 – 10 = 5 B 1 5 3 130 3–1=2 C 7 11 9 250 9–7=2 Demanda (pollos) 150 130 220 380 Penalidad 1 7–1=6 11 – 5 = 6 9–3=6 Granjas Después de elegir el costo menor (1), se le asigna lo más que se pueda al renglón elegido (B); en este caso, 130 de los 150 pollos que se piden. Rosticería Granjas A B 03 Munoz UNIDAD 3.indd 47 1 1 2 3 Oferta (pollos) Penalidad 1 10 15 18 120 15 – 10 = 5 5 3 130 3–1=2 9–7=2 130 C 7 11 9 250 Demanda (pollos) 150 130 220 380 Penalidad 1 7–1=6 11 – 5 = 6 9–3=6 02/03/11 01:57 PM 48 UNIDAD III Transporte y asignación Ya asignada la cantidad de 130, se ajustan las cantidades de oferta y demanda como se muestra a continuación. Rosticería Granjas A B 1 1 2 3 Oferta (pollos) Penalidad 1 10 15 18 120 15 – 10 = 5 5 3 130 – 130 = 0 3–1=2 9–7=2 130 C 7 11 9 250 Demanda (pollos) 150 – 130 = 20 130 220 380 Penalidad 1 7–1=6 11 – 5 = 6 9–3=6 Luego, se tachan los renglones o columnas satisfechos con cero oferta o cero demanda. Rosticería Granjas A B 1 1 2 3 Oferta (pollos) Penalidad 1 10 15 18 120 15 – 10 = 5 5 3 130 – 130 = 0 3–1=2 9–7=2 130 C 7 11 9 250 Demanda (pollos) 150 – 130 = 20 130 220 380 Penalidad 1 7–1=6 11 – 5 = 6 9–3=6 La siguiente etapa implica regresar al paso 1 y encontrar otra penalidad (penalidad 2) mediante la resta de los dos valores más pequeños por renglón y por columna. Rosticería Granjas A B 1 1 2 3 Oferta (pollos) Penalidad 2 10 15 18 120 15 – 10 = 5 5 3 130 – 130 = 0 130 C 7 11 9 250 Demanda (pollos) 150 – 130 = 20 130 220 380 Penalidad 2 10 – 7 = 3 15 – 11 = 4 18 – 9 = 9 9–7=2 Ahora se elige esta columna puesto que es la penalidad más grande 03 Munoz UNIDAD 3.indd 48 02/03/11 01:57 PM 3.1 Modelos de transporte 49 Una vez que se eligió la columna, se asigna al valor más pequeño lo más que se pueda. Valor más pequeño de la columna no tachado Rosticería Granjas A B 1 2 3 Oferta (pollos) Penalidad 2 10 15 18 120 15 – 10 = 5 5 3 130 – 130 = 0 1 130 C 7 11 9 250 Demanda (pollos) 150 – 130 = 20 130 220 380 Penalidad 2 10 – 7 = 3 15 – 11 = 4 18 – 9 = 9 9–7=2 Al cuadro elegido se le asignan 220 pues la oferta es de 250. Rosticería Granjas A B 1 2 3 Oferta (pollos) Penalidad 2 10 15 18 120 15 – 10 = 5 5 3 130 – 130 = 0 220 250 1 130 C 7 11 9 Demanda (pollos) 150 – 130 = 20 130 220 Penalidad 2 10 – 7 = 3 15 – 11 = 4 18 – 9 = 9 9–7=2 380 Luego de asignar la cantidad de 220, se ajustan las cantidades de oferta y demanda como se muestra a continuación. Rosticería Granjas A B 03 Munoz UNIDAD 3.indd 49 1 1 2 3 Oferta (pollos) Penalidad 2 10 15 18 120 15 – 10 = 5 5 3 130 – 130 = 0 220 250 – 220 = 30 130 C 7 11 9 Demanda (pollos) 150 – 130 = 20 130 220 – 220 = 0 Penalidad 2 10 – 7 = 3 15 – 11 = 4 18 – 9 = 9 9–7=2 380 02/03/11 01:57 PM 50 UNIDAD III Transporte y asignación Luego, se tachan los renglones o columnas satisfechos con cero oferta o cero demanda. Rosticería Granjas A B 1 1 2 3 Oferta (pollos) Penalidad 2 10 15 18 120 15 – 10 = 5 5 3 130 – 130 = 0 220 250 – 220 = 30 130 C 7 11 9 Demanda (pollos) 150 – 130 = 20 130 220 – 220 = 0 Penalidad 2 10 – 7 = 3 15 – 11 = 4 18 – 9 = 9 9–7=2 380 La siguiente etapa exige regresar al paso 1 y encontrar otra penalidad (penalidad 3) mediante la resta de los dos valores más pequeños por renglón y por columna. Rosticería Granjas A B 1 2 3 Oferta (pollos) Penalidad 3 10 15 18 120 15 – 10 = 5 5 3 130 – 130 = 0 1 13 C 7 11 Demanda (pollos) 150 – 130 = 20 130 Penalidad 3 10 – 7 = 3 15 – 11 = 4 9 220 250 – 220 = 30 220 – 220 = 0 9–7=2 380 Si se eligió la columna, se asigna al valor más pequeño lo más que se pueda. Rosticería Granjas A B 1 1 2 3 Oferta (pollos) Penalidad 3 10 15 18 120 15 – 10 = 5 5 3 130 – 130 = 0 130 C 7 11 Demanda (pollos) 150 – 130 = 20 130 Penalidad 3 10 – 7 = 3 15 – 11 = 4 9 220 220 – 220 = 0 250 – 220 = 30 11 – 7 = 4 380 Ahora se elige este renglón, puesto que es la penalidad más grande 03 Munoz UNIDAD 3.indd 50 02/03/11 01:57 PM 3.1 Modelos de transporte 51 Si se eligió el renglón, se asigna al valor más pequeño lo más que se pueda. Valor más pequeño del renglón no tachado Rosticería Granjas A B 1 1 2 3 Oferta (pollos) Penalidad 3 10 15 18 120 15 – 10 = 5 5 3 130 – 130 = 0 130 C 7 11 Demanda (pollos) 150 – 130 = 20 130 Penalidad 3 10 – 7 = 3 15 – 11 = 4 9 220 220 – 220 = 0 250 – 220 = 30 11 – 7 = 4 380 Al cuadro elegido se le asignan 20 pollos pues es lo último que se pide aunque A ofrezca aún 120 pollos. Rosticería Granjas 1 2 3 Oferta (pollos) Penalidad 3 15 – 10 = 5 A 10 20 15 18 120 B 1 130 5 3 130 – 130 = 0 C 7 11 Demanda (pollos) 150 – 130 = 20 130 Penalidad 3 10 – 7 = 3 15 – 11 = 4 9 220 220 – 220 = 0 250 – 220 = 30 11 – 7 = 4 380 Luego, se tachan los renglones o columnas satisfechos con cero oferta o cero demanda. Rosticería Granjas A B 03 Munoz UNIDAD 3.indd 51 1 1 2 3 Oferta (pollos) Penalidad 3 10 15 18 120 – 20 = 100 15 – 10 = 5 5 3 130 – 130 = 0 130 C 7 11 Demanda (pollos) 150 – 130 = 20 20 – 20 = 0 130 Penalidad 3 10 – 7 = 3 15 – 11 = 4 9 220 220 – 220 = 0 250 – 220 = 30 11 – 7 = 4 380 02/03/11 01:57 PM 52 UNIDAD III Transporte y asignación De inmediato se regresa al paso 1, pero como ya sólo queda una columna no tachada se continúa el proceso por medio del método del costo menor. Rosticería Granjas A B 1 1 2 3 Oferta (pollos) 10 15 18 120 – 20 = 100 5 3 130 – 130 = 0 130 C 7 11 Demanda (pollos) 150 – 130 = 20 20 – 20 = 0 130 9 220 220 – 220 = 0 250 – 220 = 30 380 Columna no tachada que se resuelve por medio del método de costo menor El método de costo menor establece que se debe elegir el costo más pequeño de entre todos los elementos. En este caso se elige el costo menor de la columna no tachada. Rosticería Granjas A B 1 1 2 3 Oferta (pollos) 10 15 18 120 – 20 = 100 5 3 130 – 130 = 0 130 C 7 11 Demanda (pollos) 150 – 130 = 20 20 – 20 = 0 130 9 220 220 – 220 = 0 250 – 220 = 30 380 Se elige este cuadro Se le asigna lo más que se pueda al cuadro elegido, en este caso, 30 pollos, con lo cual el cuadro queda de la siguiente forma. Rosticería Granjas A B 03 Munoz UNIDAD 3.indd 52 1 1 2 3 Oferta (pollos) 10 15 18 120 – 20 = 100 5 3 130 – 130 = 0 130 C 7 11 Demanda (pollos) 150 – 130 = 20 20 – 20 = 0 130 9 220 220 – 220 = 0 250 – 220 = 30 380 02/03/11 01:57 PM 3.2 Método de cruce de arroyo o de piedra rodante 53 En seguida se tachan los renglones o columnas satisfechos con cero oferta o cero demanda. Rosticería Granjas 1 2 3 Oferta (pollos) A 10 20 15 18 120 – 20 = 100 B 1 130 5 3 130 – 130 = 0 C 7 11 Demanda (pollos) 150 – 130 = 20 20 – 20 = 0 30 130 – 30 = 100 9 220 250 – 220 = 30 20 – 20 = 0 220 – 220 = 0 380 Por último, se asignan 100 pollos al cuadro final no tachado y se ajustan las ofertas y demandas correspondientes. Rosticería Granjas 1 2 A 10 20 B 1 130 C 7 Demanda (pollos) 150 – 130 = 20 20 – 20 = 0 15 100 5 11 30 130 – 30 = 100 100 – 100 = 0 9 3 Oferta (pollos) 18 120 – 20 = 100 100 – 100 = 0 3 130 – 130 = 0 220 250 – 220 = 30 30 – 30 = 0 220 – 220 = 0 380 Como ya todo está asignado, la solución lineal a este problema es: Min Z = 10 (20) + 1 (130) + 15 (100) + 11 (30) + 9 (220) = 4 140 En el problema de los modelos anteriores (modelos de la esquina noroeste, del costo menor y modelo de Vogel, respectivamente) se manejó el mismo ejemplo para poder hacer una comparación entre estos tres métodos y, como puede observarse, ninguno de ellos es cien por ciento seguro ya que tendría que hacerse una comprobación previa antes de poder tomar una decisión. 3.2 Método de cruce de arroyo o de piedra rodante El método de cruce de arroyo o de piedra rodante recibe su nombre debido a que los primeros en utilizarlo le denominaban “celda de piedra” a las celdas con asignación a las cuales se desea hacer una asignación; en este método es necesario encontrar un procedimiento de reasignación, pues se debe pisar sólo en las celdas de piedra, no en las de agua, es decir, pisar sólo donde es posible apoyarse. 03 Munoz UNIDAD 3.indd 53 Método de cruce de arroyo. Método a través del cual debe encontrarse un procedimiento de reasignación en el que sólo se pisen las celdas de piedra y ninguna de agua pues, en estas últimas, no es posible apoyarse. 02/03/11 01:57 PM 54 UNIDAD III Transporte y asignación Pasos para resolver el método de arroyo A continuación explicaremos cuáles son los pasos que se deben seguir para aplicar este método: Paso 1. Calcule el índice de mejoramiento (IMij), de cada celda vacía hasta que encuentre una trayectoria cerrada que comience en dicha celda y continúe alternativamente sobre las celdas llenas, es decir, con valor asignado, de forma horizontal y/o vertical. El IMij se calcula mediante la suma y resta de manera alternativa de los costos de las celdas sobre la trayectoria. Paso 2. Si todos los IMij calculados son mayores o iguales a cero, el procedimiento finaliza y se dice que la solución actual es la óptima, en caso contrario, donde exista algún valor negativo, indicará que hay una mejor solución a la que aquí se presenta. Elija la variable de entrada correspondiente al menor (IMij) y la variable de salida que corresponda a la casilla de menor valor asignado en la trayectoria y que se reste y sume de los demás según sea el caso en el cálculo de IMij. Sea k el valor de dicha casilla. Asigne a la casilla de entrada k unidades y recalcule de nueva cuenta los valores de las casillas sobre la trayectoria. Paso 3. Elija la variable de entrada correspondiente a la menor (IMij) y la variable de salida que corresponda a la casilla de menor valor asignado y que se reste en el cálculo del IMij. Sea k el valor de dicha casilla. Paso 4. De acuerdo con el costo más bajo que eligió en el paso anterior, asigne la cantidad que tiene la celda a la variable de entrada y, por lo tanto, reasigne los valores de manera que queden con los totales que la tabla exige. Regrese al paso 1. 1 Con los datos del problema que se incluyen en la tabla siguiente, determine la solución óptima. Origen 1 2 3 Oferta A 5 10 10 55 B 20 30 20 80 C 10 20 30 75 Demanda 70 100 40 En este caso aplicaremos el método del costo mínimo para asignar los valores a la tabla, de lo cual resulta: Origen s1 s2 s3 Demanda D1 5 55 20 10 D2 D3 Oferta 10 10 55 30 20 40 20 15 70 60 100 40 30 80 75 40 Z = (5)(55) + (30)(40) + (20)(40) + (10)(15) + (20)(60) = 3 625 Paso 1. Para hallar la trayectoria que debe seguir la celda vacía S1, D2, debe buscarse la opción que permita pasar por celdas llenas, que puede ser: pasar primero por (S1, D1), después ir hasta la siguiente celda llena que nos dé dirección diferente, es decir (S3, D1). La siguiente celda llena es (S3, D2) y, por último, la celda para cerrar la trayectoria es (S2, D2). Cabe destacar que no importa el orden en que hayamos encontrado la trayectoria, pues bien podríamos haber iniciado en (S2, D2), después continuar en (S3, D1) y terminar en S1, D1. 03 Munoz UNIDAD 3.indd 54 02/03/11 01:57 PM 3.2 Método de cruce de arroyo o de piedra rodante 55 Recuerde que, para conocer los índices de mejoramiento nos debemos enfocar en los costos, no en las cantidades que hemos asignado a cada una de las celdas. Origen s1 D1 5 55 s2 s3 20 10 D2 D3 Oferta 10 Inicio 10 55 30 40 20 15 Demanda 20 70 60 100 40 30 Note la trayectoria de la celda (S1, D2) 80 75 40 Nota: Las flechas indican la trayectoria que debe seguirse para asignar nuevos valores. La flecha roja especifica dónde comienza la trayectoria. El índice de mejoramiento (IM) de las celdas S1 y D2. IM12 = 10 – 5 + 10 – 20 = – 5 La trayectoria que debe seguirse para la celda vacía S1, D3 es (S1, D3); (S2, D3); (S2, D2); (S3, D2); (S3, D1) y (S1, D1). Como podemos observar, en esta ocasión, la trayectoria tuvo que pasar por todas las celdas llenas que, a veces, se encuentran con esta ruta. Origen s1 s2 s3 Demanda D1 5 55 20 10 D2 D3 Oferta 10 10 Inicio 55 30 20 40 20 15 70 60 100 40 30 Note la trayectoria de la celda (S1, D3) 80 75 40 En consecuencia, el IM quedaría como sigue: IM13 = 10 – 20 + 30 – 20 + 10 – 5 = 5 La trayectoria para la próxima celda vacía (S2, D1) sería:(S2, D1); (S2, D2); (S3, D2) y (S3, D1). Origen s1 s2 s3 Demanda 03 Munoz UNIDAD 3.indd 55 D1 5 55 D2 D3 Oferta 10 10 55 20 Inicio 30 10 20 15 70 20 40 60 100 40 30 80 Note la trayectoria de la celda (S2, D1) 75 40 02/03/11 01:57 PM 56 UNIDAD III Transporte y asignación Por lo tanto, el índice de mejoramiento es: IM21 = 20 – 30 + 20 – 10 = 0 La trayectoria para la siguiente celda vacía y última (S3, D3) quedaría así: (S3, D3); (S3, D2); (S2, D2) y (S2, D3). Origen s1 s2 s3 Demanda D1 5 55 20 10 D2 D3 Oferta 10 10 55 30 20 40 40 60 30 Inicio 20 15 70 100 80 75 40 Con ello, el IM sería: IM33 = 30 – 20 + 30 – 20 = 20 Reuniendo todos los IMij se tiene lo siguiente: note que el valor es negativo IM12 = 10 – 5 + 10 – 20 = –5 IM13 = 10 – 20 + 30 – 20 + 10 – 5 = 5 IM21 = 20 – 30 + 20 – 10 = 0 IM33 = 30 – 20 + 30 – 20 = 20 Paso 2. Como en este caso IM12 es negativo, tendremos que reasignar valores a las celdas con el objetivo de conseguir que, en el siguiente cálculo, ningún valor sea negativo. Paso 3. Elija la variable de entrada que es la correspondiente a la menor (IMij) y la variable de salida que corresponda a la casilla de menor valor asignado y que se reste en el cálculo del IMij. Sea k el valor de dicha casilla. En este caso, la variable de entrada es donde está la celda (S1, D2) que elegimos debido a que ahí se encuentra el índice negativo. Recordemos la trayectoria que seguía esta celda vacía. Celda vacía a la cual reasignaremos un nuevo valor por tener un índice de mejoramiento negativo Costo más bajo que sigue la trayectoria Origen s1 D1 55 s2 D2 Oferta D1 5 Inicio 10 20 40 30 10 60 20 40 10 55 20 80 30 75 15 s3 70 100 40 Los costos de la trayectoria de esta celda son: 10, 5, 10 y 20. Como corresponde, tomaremos el costo más bajo de la trayectoria, es decir, 5. 03 Munoz UNIDAD 3.indd 56 02/03/11 01:57 PM 3.2 Método de cruce de arroyo o de piedra rodante 57 Paso 4. En este caso, el costo más bajo es 5, por lo cual debemos asignar la cantidad que tiene esta celda (55) a la variable de entrada y, por lo tanto, reasignar los valores de manera que queden con los totales que la tabla exige. La nueva tabla queda como se presenta a continuación: Origen D1 s1 5 s2 20 s3 D2 10 0 + 55 30 Oferta 10 55 20 40 10 40 20 15 Demanda D3 30 60 70 100 80 75 Observemos cómo el valor que tenía la celda de menor costo cambió a la celda donde teníamos un índice de mejoramiento negativo sumándolo 40 Nota: Recordemos que reasignamos el 55 a la celda vacía porque ésta tenía un valor negativo en su índice de mejoramiento y que reacomodamos los valores de la tabla de tal modo que cada columna y fila quedaran satisfechas con el valor asignado. Para reasignar los valores con los que quedará la tabla para satisfacer los requisitos de la tabla total, sólo debemos mover los valores sobre los cuales se movió la trayectoria y todos los demás por los que no pasaba permanecerán iguales. Es por eso que a la celda (S3, D1), que al inicio tenía un valor de 15, al reasignarle el valor de 55 para satisfacer la columna, debemos sumarle 15 + 55 = 70. La celda (S3, D2) también debe ser reasignada y, por esa razón, debemos restar los 55 que reubicamos, de lo cual resulta: 60 – 55 = 5. Origen s1 s2 s3 D1 D2 5 10 55 – 55 30 20 Oferta 10 55 20 40 10 Demanda 0 + 55 D3 40 20 15 + 55 60 – 55 70 100 30 80 75 40 Observe que los valores de la tabla, tanto de la oferta como de la demanda, quedan satisfechos. Ahora, la nueva tabla quedaría de la siguiente forma: Origen s1 s2 s3 Demanda D1 D2 5 10 0 55 30 20 55 20 20 70 70 10 40 10 Oferta D3 5 100 40 30 80 75 40 Para obtener de nueva cuenta el costo total del problema se debe realizar la siguiente operación: Z = (55)(10) + (40)(30) + (5)(20) + (70)(10) + (40)(20) = 3 350 03 Munoz UNIDAD 3.indd 57 02/03/11 01:57 PM 58 UNIDAD III Transporte y asignación Luego, de regreso al paso 1, calculamos nuevamente los índices de las variables: IM11 = 5 – 10 + 20 – 10 = 5 IM13 = 10 – 10 + 30 – 20 = 10 IM21 = 20 – 30 + 20 – 10 = 0 IM33 = 30 – 20 + 30 – 20 = 20 Cuando existe un 0 en los índices de mejoramiento, eso indica que hay otra solución factible Como en este caso no obtuvimos ningún valor negativo, el resultado final nos indica que el valor de Z es 3 350. 2 Con los datos relativos al problema de transporte elaboramos la siguiente tabla: Origen s1 s2 s3 Demanda Oferta D1 D2 D3 $8.00 $6.00 $10.00 $4.00 $9.00 $8.00 $7.00 $6.00 $5.00 110 85 175 125 150 95 En este caso utilizaremos el método de costo mínimo para asignar valores a la tabla, que quedará así: Origen s1 s2 s3 D1 D2 8 6 10 85 4 9 125 40 8 110 7 Oferta D3 150 40 6 5 95 95 Demanda 110 85 175 Z = (85)(6) + (40)(10) + (110)(4) + (40)(8) + (95)(5) = 2 145 Origen s1 s2 s3 Demanda 03 Munoz UNIDAD 3.indd 58 D1 D2 8 6 10 Inicio 4 85 9 40 8 110 7 Oferta D3 40 6 5 95 110 85 125 150 95 175 02/03/11 01:57 PM 3.2 Método de cruce de arroyo o de piedra rodante 59 El índice de mejoramiento de la celda vacía S1, D1: IM11 = 8 – 10 + 8 – 4 = 2 Origen s1 s2 s3 D1 D2 8 6 10 85 4 9 110 7 Oferta D3 40 8 Inicio 6 40 5 95 Demanda 110 85 175 D2 D3 125 150 95 IM22 = 9 – 8 + 10 – 6 = 4 Origen s1 s2 s3 D1 8 6 10 85 4 9 40 8 110 7 40 6 5 Inicio Demanda Oferta 95 110 85 175 D2 D3 125 150 95 IM31= 7 – 4 + 8 – 5 = 6 Origen s1 s2 s3 Demanda D1 8 6 10 85 4 9 40 8 110 7 40 6 5 Inicio 110 Oferta 85 95 125 150 95 175 IM32 = 6 – 6 + 10 – 5 = 5 En este caso, ninguno de los índices de mejora muestra valores negativos; por lo tanto, la solución óptima indica que Z tiene un valor de 2 145. 03 Munoz UNIDAD 3.indd 59 02/03/11 01:57 PM 60 UNIDAD III Transporte y asignación 3 Una cervecería cuenta con 3 plantas de embotellamiento de marcas genéricas, desde las cuales se distribuye el producto a 5 bodegas. La siguiente tabla sintetiza los costos de distribución, las capacidades mensuales de las plantas y las necesidades de cada bodega expresadas todas ellas en cientos de cajas. Bodega Planta 1 2 3 4 5 Capacidad mensual 1 $20.00 $35.00 $30.00 $40.00 $42.00 400 2 $45.00 $30.00 $42.00 $36.00 $38.00 350 3 $38.00 $40.00 $36.00 $35.00 $50.00 450 Necesidad mensual 150 300 200 250 175 Se puede observar que, en este ejercicio, las cantidades de la demanda y la oferta no son iguales; por lo tanto, debemos igualarlas. Para hacerlo, añadiremos otra columna antes de los valores finales con la cantidad que hace falta, que en este caso es 125. Agregando la bodega ficticia, queda de la siguiente forma: Bodega Ficticia Capacidad mensual Planta 1 2 3 4 5 1 20 35 30 40 42 400 2 45 30 42 36 38 350 3 38 40 36 35 50 450 Necesidad mensual 150 300 200 250 175 125 Después de resolver el problema se tiene la siguiente solución inicial: Bodega Planta 1 2 3 Necesidad mensual 1 20 2 35 3 30 150 45 4 40 5 42 200 30 42 40 36 38 36 35 300 0 50 350 200 250 0 75 175 Capacidad mensual 400 50 250 150 0 50 300 38 Ficticia 125 450 125 Z = (150)(20) + (300)(30) + (200)(30) + (50)(42) + (50)(38) + (75)(50) + (250)(35) = 34 500 03 Munoz UNIDAD 3.indd 60 02/03/11 01:57 PM 3.3 Modelo de asignación 61 Luego de equilibrar los valores, procederemos a asignar valores a la tabla. Al final, insertaremos la columna de la bodega ficticia para equilibrar la tabla. A continuación debemos calcular los índices de mejoramiento de cada una de las celdas vacías que son: IM12 = 35 – 42 + 38 – 30 = 1 IM14 = 40 – 42 + 50 – 35 = 13 IM21 = 45 – 20 + 42 – 38 = 29 IM23 = 42 – 30 + 42 – 38 = 16 IM24 = 36 – 38 + 50 – 35 = 13 IM31 = 38 – 20 + 42 – 50 = 10 IM32 = 40 – 30 + 38 – 50 = –2 IM33 = 36 – 30 + 42 – 50 = –2 Como aparecieron valores negativos, es necesario reasignar valores a la tabla mediante el método de asignación. Bodega Planta 1 2 3 Necesidad mensual 1 20 2 3 35 30 150 45 4 40 5 42 200 30 42 40 0 400 36 38 0 350 125 36 75 150 Capacidad mensual 50 225 38 Ficticia 300 35 50 250 200 250 0 125 175 450 125 Z = (150)(20) + (200)(30) + (50)(42) + (225)(30) + (125)(38) + (75)(40) + (250)(35) = 34 350 A continuación debemos calcular los índices de mejoramiento de cada celda vacía, que son: IM12 = 35 – 42 + 38 – 30 = 1 IM14 = 40 – 35 + 40 – 30 + 38 – 42 = 11 IM21 = 45 – 20 + 42 – 38 = 29 IM23 = 42 – 30 + 42 – 38 = 16 IM24 = 36 – 35 + 40 – 30 = 11 IM31 = 38 – 20 + 42 – 38 + 30 – 40 = 12 IM33 = 36 – 40 + 30 – 38 + 42 – 30 = 0 IM35 = 50 – 38 + 30 – 40 = 2 Observe que existe otra opción óptima para resolver este problema, pero la solución que acabamos de hallar también satisface todos los lineamientos que se requerían. 3.3 Modelo de asignación El modelo de asignación es un caso especial del de transporte en donde cada fuente (origen) tiene una oferta de uno, y cada destino, una demanda unitaria. Son problemas en donde a m elementos (por ejemplo, vendedores) se les debe asignar a n destinos. 03 Munoz UNIDAD 3.indd 61 Modelo de asignación. Modelo en el que cada fuente y cada destino poseen una demanda unitaria. 02/03/11 01:57 PM 62 UNIDAD III Transporte y asignación Aunque este tipo de problemas podría resolverse con el método de transporte, existe uno más eficiente, al que se conoce como método húngaro. Pasos para aplicar el método húngaro A continuación presentamos los pasos para aplicar este método: Paso 1. Con base en la tabla original de costos, desarrolle otra tabla para reducir cada fila restándole el menor valor de ésta. Paso 2. De la tabla que encontró en el paso anterior, reduzca ahora cada columna, restándole el menor elemento. Paso 3. De la tabla que desarrolló en el paso 2, elimine todos los ceros cruzándolos con el menor número de líneas horizontales o verticales. Si el menor número de líneas que trazó es igual a m, el problema queda resuelto y se procede a la asignación, que debe hacerse empleando sólo celdas en cero. Si el número de líneas que trazó en este paso es menor que m, réstele el menor elemento no cubierto por una línea a todos los elementos que no fueron eliminados por una línea; luego, súmeselo a todos los elementos que se encuentran en una intersección de dos líneas. Los demás elementos quedan igual. Con la tabla así formada, se vuelve al inicio de este paso. El proceso concluye cuando el menor número de líneas que trazó, que cubran todos los ceros, sea igual a m. 3 1 Cuatro vendedores (A, B, C, D), deben asignarse a cuatro destinos (1, 2, 3, 4). Los costos de la asignación aparecen en la tabla que a continuación se presenta: Destinos 1 Vendedores 2 3 4 A 16 7 10 9 B 4 14 8 7 C 9 10 5 11 D 4 6 8 12 Paso 1. Haga la resta del menor costo por fila. Destinos 1 Vendedores 2 3 4 A 16 7 10 9 B 4 14 8 7 C 9 10 5 11 D 4 6 8 12 Nota: Los valores menores de cada fila aparecen en gris. 03 Munoz UNIDAD 3.indd 62 02/03/11 01:57 PM 3.3 Destinos 1 Vendedores 2 3 Modelo de asignación 63 4 A 16 – 7 = 9 7–7=0 10 – 7 = 3 9–7=2 B 4–4=0 14 – 4 = 10 8–4=4 7–4=3 C 9–5=4 10 – 5 = 5 5–5=0 11 – 5 = 6 D 4–4=0 6–4=2 8–4=4 12 – 4 = 8 El resultado es el siguiente: Destinos 1 Vendedores 2 3 4 A 9 0 3 2 B 0 10 4 3 C 4 5 0 6 D 0 2 4 8 Paso 2. Reste el menor costo por columna. Destinos 1 Vendedores 2 3 4 A 9 0 3 2 B 0 10 4 3 C 4 5 0 6 D 0 2 4 8 Nota: Como el costo menor en cada columna es 0, sólo se procederá a restar donde no tenga cero dicha columna; en este caso, sería la 4: Destinos 1 Vendedores 03 Munoz UNIDAD 3.indd 63 2 3 4 A 9 0 3 0 B 0 10 4 1 C 4 5 0 4 D 0 2 4 6 02/03/11 01:57 PM 64 UNIDAD III Transporte y asignación Paso 3. Elimine todos los ceros de la tabla que desarrolló cruzándolos con el menor número de líneas horizontales o verticales. Destinos 1 Vendedores 2 3 4 A 9 0 3 0 B 0 10 4 1 C 4 5 0 4 D 0 2 4 6 Como el número de líneas no es igual a m (4 vendedores), debe restarse el menor costo no cubierto por una línea y luego sumarlo a las intersecciones de las líneas, luego de lo cual el cuadro queda como sigue: Destinos 1 Vendedores 2 3 4 A 9 + 1 = 10 0 3+1=4 0 B 0 10 – 1 = 9 4 1–1=0 C 4 5–1=4 0 4–1=3 D 0 2–1=1 4 6–1=5 Nota: En este caso, el costo menor no cubierto por ninguna línea es el número 1 ubicado en B,4; como se mencionó, se suma dicho número en donde hay intersección y a los números que no fueron cubiertos por las líneas se les restará el costo menor. El resultado es el siguiente. Cabe recordar que debe procederse a trazar las líneas en donde hay ceros. Destinos 1 Vendedores 2 3 4 A 10 0 4 0 B 0 9 4 0 C 4 4 0 3 D 0 1 4 5 En este caso, como el número de filas es igual a m (4), debe hacerse la asignación: Destinos 1 Vendedores 03 Munoz UNIDAD 3.indd 64 2 3 4 A 10 0 4 0 B 0 9 4 0 C 4 4 0 3 D 0 1 4 5 02/03/11 01:57 PM Actividades de la unidad III 65 La asignación quedaría así: el vendedor A se dirige al destino 2 con un costo de 7 (que es el valor inicial de la primera tabla), el B al punto de arribo 4 con un costo de 7, el C al 3 con un costo de 5 y el vendedor D va al destino 1 con un costo de 4. Destinos 1 Vendedores 2 3 4 A 16 7 10 9 B 4 14 8 7 C 9 10 5 11 D 4 6 8 12 Luego de sumar los costos de cada vendedor en relación con cada uno de los destinos se obtiene: 7 + 7 + 5 + 4 = 23 1. Una empresa que fabrica automóviles cuenta con 3 plantas de producción, una en Toluca, otra en Coahuila y otra en San Luis Potosí. Sus centros de distribución principales están ubicados en las ciudades de México y Monterrey. Las capacidades de las tres plantas durante el trimestre próximo son de 5 000, 4 500 y 3 200 automóviles. Las demandas trimestrales en los dos centros de distribución son de 7 300 y 5 400 vehículos, respectivamente. El envío de automóviles se realiza por vía férrea con un costo aproximado de 8 centavos por cada 2 000 km. El diagrama de la distancia que existe entre las plantas y los centros de distribución es el siguiente: Ciudad de México a) b) c) d) Monterrey Toluca 75 km 875 km Coahuila 993 km 348 km San Luis Potosí 407 km 501.2 km Elabore la tabla de costos Formule el modelo de acuerdo a la estructura general de la programación lineal. Encuentre la solución mediante los métodos de costo menor y de Vogel. Explique cuál de los dos métodos es mejor. 2. Encuentre la solución inicial mediante cualquiera de los métodos que se expusieron en el capítulo (esquina noroeste, costo menor y Vogel) y utilice el método de cruce del arroyo para encontrar la solución óptima del siguiente problema. W X A 10 1 B 12 C Demanda 03 Munoz UNIDAD 3.indd 65 Y Z Oferta 9 11 600 14 20 20 100 2 7 16 18 140 120 80 100 540 02/03/11 01:57 PM 66 UNIDAD III Transporte y asignación 3. Utilizando el método húngaro encuentre la asignación óptima asociada de cada uno de los trabajos a cada una de las máquinas y calcule el costo final. 03 Munoz UNIDAD 3.indd 66 Máquina A B C 1 5 7 9 2 14 10 12 3 15 13 16 02/03/11 01:57 PM Unidad IV Modelos de optimización de redes Al finalizar el estudio de esta unidad, se espera que el lector sea capaz de: explicar qué entiende por red. explicar qué es una ruta, nodo, arco, árbol, lazo. resolver problemas mediante el algoritmo de Dijkstra. resolver problemas mediante el algoritmo de Floyd. resolver problemas mediante el algoritmo de flujo máximo. resolver problemas mediante los métodos PERT y CPM 4.1 Modelos de redes Una red consta de un conjunto de nodos unidos por arcos o ramas (véase figura 4.1). La notación para describir una red es (N, A) en donde N es el conjunto de nodos y A es el conjunto de arcos. 5 3 1 N = 1, 2, 3, 4, 5 A = (1, 3) (1, 2) (3, 5) (3, 4) (4, 5) (2, 3) (2, 4) 4 2 Nodo Figura 4.1 Arco o rama Representación de una red. 67 04 Munoz UNIDAD 4.indd 67 02/03/11 01:58 PM 68 UNIDAD IV Modelos de optimización de redes ¿Por qué el arco (3, 1) no está en el conjunto A? Porque se repetiría el arco puesto que el (1, 3) sí existe. En general, el flujo de una red está limitado por la capacidad de sus arcos, los cuales pueden ser finitos e infinitos. Se dice que un arco está dirigido u orientado si permite un flujo positivo en una dirección y un flujo 0 en la dirección opuesta; una red dirigida tiene todas las ramas orientadas. Ruta Una ruta es una secuencia de ramas distintas que unen a dos nodos sin que importe la dirección del flujo de cada rama. Una ruta forma un lazo o ciclo si conecta un nodo consigo mismo, como muestra la figura 4.2. Ruta. Secuencia de ramas diferentes que enlazan dos nodos sin que importe la dirección del flujo de cada rama. 4 2 Figura 4.2 5 3 1 Lazo o ciclo. En la figura anterior (2, 3) (3, 4) (4, 2) forman un ciclo. Lazo dirigido Lazo dirigido (circuito). Círculo en el que todas las ramas se orientan en la misma dirección. Red conectada. Es aquella en la cual dos nodos se encuentran unidos, por lo menos, por una ruta. Árbol. Red conectada que puede contener sólo un subconjunto de todos los nodos de la red. Árbol de expansión. El que une todos los nodos sin permitir ningún lazo. Un lazo dirigido o circuito es un círculo en el cual todas las ramas están orientadas en la misma dirección. Red conectada Una red conectada es aquella en la cual dos nodos se encuentran unidos, por lo menos, por una ruta. Árboles Por su parte, un árbol es una red conectada que puede incluir sólo un subconjunto de todos los nodos de la red, mientras que un árbol de expansión une todos los nodos sin permitir ningún lazo entre ellos. Si se observa la figura 4.1, se obtiene lo siguiente (véase figura 4.3): Figura 1 1 2 2 4 3 Árbol Figura 4.3 04 Munoz UNIDAD 4.indd 68 6 3 5 Árbol de expansión Representación de un árbol y de un árbol de expansión. 02/03/11 01:58 PM 4.1 Modelos de redes 69 En el caso de la siguiente figura, determine el conjunto de N, A y determine una ruta, un árbol de expansión, un árbol y un lazo o circuito. 2 N = 1, 2, 3, 4, 5 1 5 A = (1, 2) (1, 3) (3, 4) (3, 5) (2, 5) (4, 5) (5, 1) 3 4 Ciclos: 1, 2, 5, 1 1, 3, 5, 1 1, 3, 4, 5, 1 Rutas: 1, 2, 5 1, 3, 5 2 1 5 1 5 1 3 3 Ejemplo: Representación de una ruta 5 4 Ejemplo: Representación de uno de los ciclos 1 1 Árbol: 1, 2, 5 1, 3, 5, 2 1, 3, 5 3 3 4 5 2 5 Incluye todos los nodos de la red evitando ciclos Red Una red es la representación gráfica de un proyecto; las actividades que se desarrollan en ella se simbolizan mediante círculos (nodos), mientras que las relaciones de secuencia entre actividades con segmentos dirigidos (aristas). Ruta Red. Representación gráfica de un proyecto. Ruta. Secuencia entre actividades que se desarrollan en una red. Una ruta es una secuencia entre actividades en una red. 04 Munoz UNIDAD 4.indd 69 02/03/11 01:58 PM 70 UNIDAD IV Modelos de optimización de redes 4.2 Algoritmo de la ruta más corta El problema de la ruta más corta determina la distancia menor entre un punto de origen y un punto de destino. En una red de transporte, dicho modelo también puede utilizarse para modelar diferentes situaciones. Por ejemplo, existen dos algoritmos que se utilizan para resolver las redes críticas y las acríticas: • Dijkstra • Floyd El algoritmo de Dijkstra es útil para determinar la ruta más corta entre el nodo del punto de origen y cada uno de los otros nodos de la red. Por otra parte, el algoritmo de Floyd es más general porque permite determinar la ruta más corta entre cualquier par de nodos de la red. Algoritmo de Dijkstra Los cálculos del algoritmo de Dijkstra avanzan de un nodo i a un nodo siguiente j, por medio de un procedimiento especial de clasificación. La clasificación de nodos de acuerdo con el algoritmo de Dijkstra se representa en dos formas: • Temporales • Permanentes Una clasificación temporal puede ser remplazada por otra si se puede encontrar una ruta más corta al mismo nodo. Si se llega al punto en el cual es evidente que no existe una ruta mejor, el estado temporal cambia a permanente. Pasos para resolver el algoritmo de Dijkstra Paso 1. Clasifique el nodo del punto de origen (nodo 1) en la clasificación permanente. Paso 2. Calcule las clasificaciones temporales de cada nodo j al que puede llegarse desde el nodo i, siempre y cuando j no esté clasificado como permanente. Si el nodo j es temporal y el nuevo valor es menor que el que tenía, entonces se reemplaza con el nuevo. Paso 3. Si todos tienen clasificaciones permanentes, deténgase. De lo contrario, seleccione la clasificación con la distancia más corta de entre todas las temporales. 1 Permanente = 15 Permanente = 10 i=1 j = 2, 3 dij = 30 15 2 100 Ruta: 1, 3, 4, 2 Costo: 55 1 i j 20 4 10 30 3 j 50 60 j 5 j Permanente = 30 Algoritmo de Floyd El algoritmo de Floyd es más general que el de Dijkstra ya que determina la ruta más corta entre cualesquiera dos nodos de la red. Este algoritmo representa una red de N nodos como una matriz cuadrada con N renglones y N columnas. La entrada (i, j) de la matriz de la distancia 04 Munoz UNIDAD 4.indd 70 02/03/11 01:58 PM 4.4 CPM y PERT 71 dij del nodo i al nodo j, que es finito. Por su parte, i está elaborado directamente con j; de lo contrario, es infinito. 4.3 Modelo de flujo máximo En este caso se trata de enlazar un nodo fuente y un nodo destino a través de una red de arcos dirigidos. Cada arco tiene una capacidad máxima de flujo admisible. El objetivo es obtener la máxima capacidad de flujo entre la fuente y el destino. 4.3.1 Características del modelo de flujo máximo A continuación presentamos las características del modelo de flujo máximo: • Todo flujo a través de una red conexa dirigida se origina en un nodo llamado fuente y termina en otro denominado destino. Los nodos restantes son nodos de trasbordo. • Se permite el flujo a través de un arco sólo en la dirección que indica la flecha, donde la cantidad máxima de flujo está dada por la capacidad del arco. En la fuente, todos los arcos apuntan hacia el exterior. En el destino, todos señalan hacia Fuente. Nodo en el que todos los arcos el nodo. apuntan hacia el exterior. • El objetivo es maximizar la cantidad total de flujo de la fuente al destino. Destino. Nodo en el cual todos los Tal cantidad se mide en cualquiera de dos maneras equivalentes: la cantidad arcos señalan hacia el nodo. que sale de la fuente o la que entra al destino. El problema de flujo máximo puede formularse como uno de programación lineal, resolverse con el método símplex y por medio de cualquier software. Sin embargo, se dispone de un algoritmo de trayectorias aumentadas mucho más eficiente que se basa en dos conceptos intuitivos: el de red residual y el de trayectoria aumentada. Algoritmo de la trayectoria de aumento en el caso del problema de flujo máximo Se identifica una trayectoria de aumento si en la red residual se encuentra alguna trayectoria dirigida del origen al destino, tal que cada arco sobre ella tenga capacidad residual estrictamente positiva. (Si no existe ninguna, los flujos netos asignados constituyen un patrón del flujo óptimo). Se identifica la capacidad residual c* de esta trayectoria de aumento mediante la determinación del mínimo de las capacidades residuales de los arcos sobre esta trayectoria. Se aumenta en c* el flujo de esta trayectoria. Se disminuye en c* la capacidad residual de cada arco en esta trayectoria de aumento. Se aumenta en c* la capacidad residual de cada arco en la dirección opuesta en esta trayectoria. Se regresa al paso 1.1 Trayectoria de aumento. Se da cuando en la red residual hay una trayectoria del origen al destino en la que cada arco sobre ella tiene una capacidad residual positiva. Patrón del flujo óptimo. Ocurre cuando los arcos que hay en una red residual del origen al destino no tienen capacidad residual positiva. 4.4 CPM y PERT El CPM (Critical Path Method) o método de la ruta crítica y el PERT (Program Evaluation and Review Technique) también conocido como técnica de evaluación y revisión de programas, son métodos que se basan en redes diseñadas para ayudar en la planificación, programación y control de proyectos. Un proyecto se define como un conjunto de actividades interrelacionadas en la cual cada una requiere tiempo y recursos. El objetivo del CPM y del PERT es proporcionar medios analíticos para programar las actividades. Primero, definimos las actividades del proyecto, sus 1 CPM y PERT. Métodos basados en redes que ayudan a planificar, programar y controlar proyectos. Proyecto. Conjunto de actividades interrelacionadas en la que cada una implica tiempo y recursos. Hillier y Lieberman, Investigación de operaciones, p. 423. 04 Munoz UNIDAD 4.indd 71 02/03/11 01:58 PM 72 UNIDAD IV Modelos de optimización de redes relaciones de procedencia y sus requerimientos de tiempo; después, el proyecto se traduce a una red que muestra las relaciones de procedencia entre las actividades. Por último, se hacen cálculos específicos de red que faciliten el desarrollo del programa de tiempo del proyecto (figura 4.4). Actividades de proceso Cálculos de la red Programas de tiempos tiempo Figura 4.4 Proceso para elaborar un proyecto. Las técnicas CPM y PERT difieren en que la primera supone duraciones deterministas de la actividad; en cambio, la segunda supone duraciones probabilísticas. Representación de las redes PERT y CPM Cada actividad del proyecto se representa por medio de un arco direccional (flecha que apunta en dirección del proyecto). Los nodos de la red establecen las relaciones de procedencia entre las diferentes actividades del proyecto. Existen tres reglas para construir una red, a saber: 1. Cada actividad se representa con una y sólo una flecha en la red. 2. Cada actividad debe identificarse por medio de dos nodos finales distintos. 1 1 A A 3 2 Figura 4.5 B 2 A 3 2 B 1 3 B Representación de varias actividades concurrentes. 3. Por definición, una actividad simulada normalmente se representa por medio de una flecha de líneas punteadas, la cual no consume tiempo ni recursos. La figura 4.5 muestra cómo debe utilizarse una actividad simulada para representar dos actividades concurrentes (A y B). Al insertar una actividad simulada en una de las tres reglas anteriores, mantenemos la concurrencia de A y B, es decir, proporcionamos los nodos finales únicos para las dos actividades concurrentes. Para mantener las relaciones de precedencia correctas, se deben responder las siguientes preguntas a medida de que se añade cada actividad en la red. ¿Cuál actividad debe preceder inmediatamente a la actual? ¿Cuál actividad debe seguir a la actual? ¿Cuáles actividades deben ocurrir de forma concurrente a la actual? 04 Munoz UNIDAD 4.indd 72 02/03/11 01:58 PM 4.4 CPM y PERT 73 Las respuestas a estas preguntas pueden requerir el empleo de actividades simuladas para asegurar la presencia empleada entre las actividades. Por ejemplo, supongamos que debe satisfacerse la siguiente precedencia. La actividad C puede comenzar inmediatamente después de que se hayan completado las actividades A y B. La actividad D puede empezar inmediatamente después de haberse completado sólo la actividad B (véase figura 4.6). Figura 4.6 A C B D Representación de una red. Las flechas indican la trayectoria de las actividades, las cuales, a su vez, se representan con círculos. 1 Un editor tiene un contrato con un autor para publicar un libro de texto. Las actividades simplificadas que se asocian con la producción del libro de texto se desarrollan y proporcionan a continuación. Desarrolle la red que represente el proyecto. Actividades Predecesoras Duración en semanas A El editor corrige el manuscrito – 3 B El tipógrafo prepara las páginas de muestra – 2 C Diseño de la portada – 4 D Preparación de las ilustraciones – 3 E El autor aprueba el texto editado A, B 2 F Composición tipográfica del libro E 4 G El autor verifica la composición de las páginas F 2 H El autor verifica las ilustraciones D 1 I Producción de las placas para la impresión G, H 2 J Producción y encuadernación del libro C, I 4 Para poder elaborar la red, primero debe asignarse el punto de origen (nodo 1). Después, deben tomarse las actividades que no tengan ninguna actividad precedente; en este caso, serían A, B, C, D. Al finalizar estas actividades, comienzan a ubicarse las siguientes como: E F G H I J 04 Munoz UNIDAD 4.indd 73 empieza al finalizar las actividades A y B. se inicia cuando termina la actividad E. comienza al cumplir con la tarea F. principia al concluir con la actividadd D. se inicia cuando acaban las tareas G y H. empieza al finalizar las actividades C e I. 02/03/11 01:58 PM 74 UNIDAD IV Modelos de optimización de redes Con ello, se concluye la trayectoria de la red de dicho proyecto (véase figura 4.7). E 2 F 4 5 A 3 B 1 9 J C G 8 D I H 6 Figura 4.7 7 Representación de la red del problema 3. Cálculo de la ruta crítica (CPM) Para lograr el resultado final con la construcción del programa de tiempo del proyecto de una manera conveniente, hacemos cálculos especiales que nos proporcionan la siguiente información: • Duración total necesaria para completar el proyecto. • Categorización de las actividades del proyecto como críticas y no críticas. Se dice que cualquier actividad es crítica cuando no hay libertad para determinar los tiempos de inicio y terminación como tales para completar el proyecto sin demora. Cada actividad crítica debe iniciarse y terminarse a tiempo. Una actividad no crítica permite cierta holgura en la programación, de modo que el tiempo de iniciarla puede adelantarse o retrasarse dentro de ciertos límites sin que ello afecte la fecha de terminación del proyecto. Para efectuar los cálculos, definimos un evento como un punto en el tiempo Evento. Punto en el tiempo en el que se en el cual se terminan ciertas actividades y se inician otras; en términos de la concluyen determinadas actividades y red, el evento corresponde a un nodo. se empiezan otras. Los cálculos de la ruta crítica implican dos pasos: el paso hacia adelante y el paso hacia atrás. El que se dirige hacia adelante determina los primeros tiempos de ocurrencia de los eventos, mientras que el paso hacia atrás calcula las últimas fechas de ocurrencia. Actividad crítica. Ocurre cuando no hay libertad para determinar los tiempos de inicio y terminación en un proyecto. 2 Calcule la ruta crítica dada la siguiente red. 3 2 5 3 5 7 1 6 3 6 7 3 2 2 4 Respuesta: Ruta: 1, 3, 4, 5, 6, 7 = 19 04 Munoz UNIDAD 4.indd 74 2 2 02/03/11 01:58 PM Actividades de la unidad IV 75 1. Una compañía de televisión por cable está en proceso de proporcionar servicio a cinco nuevas áreas habitacionales. La figura siguiente representa los enlaces posibles de televisión entre las cinco áreas. La extensión de los cables se muestra en cada uno de los arcos. Determine la red de cable más económica en las conexiones de cable de la compañía: 3 2 1 5 6 4 6 9 1 5 10 3 5 7 6 8 3 4 2. Una compañía que renta automóviles desea desarrollar un plan de reposición de su flotilla para un horizonte de planeación de 4 años, que comienza el 1 de enero de 2006 y termina el 31 de diciembre de 2010. Al iniciar cada año se decide si un auto se debe mantener en operación o se debe sustituir. Cada vehículo debe estar en servicio durante 1 año como mínimo y 3 años como máximo. La figura siguiente muestra el costo de reposición en función del año de compra del vehículo y los años que tiene en funcionamiento. El problema se formula como una red, en la cual se representan por los nodos del 1 al 5 los años de 2006 a 2010. Determine la ruta más corta entre los nodos 1 y 5: 9 800 7 100 5 000 1 4 000 2 4 300 4 800 3 4 900 4 5 6 200 8 700 3. Considere la siguiente figura. Luego, encuentre la ruta más corta del nodo 1 al 15. 6 8 10 4 12 2 14 1 15 3 13 11 5 7 04 Munoz UNIDAD 4.indd 75 9 02/03/11 01:58 PM 76 UNIDAD IV Modelos de optimización de redes 4. Resuelva el problema de recorrido mínimo en la red que se muestra en la figura siguiente. Los números sobre las ramas representan los costos de incluir estas ramas en la red final. E 10 8 7 2 B A 1 5 1 10 D F 3 4 7 4 3 C G 5. En la figura siguiente, identifique una ruta del origen A al destino G que permita un flujo positivo. B 3 5 2 E 1 4 2 1 A 7 C G 1 6 5 F 10 3 D 04 Munoz UNIDAD 4.indd 76 02/03/11 01:58 PM Ejercicios Problema 1 Afianzadora Insurgentes evalúa 3 proyectos de crecimiento; además, elaboró una planificación de 5 años para acrecentar su rentabilidad. A continuación se muestra una tabla de estimación de las utilidades que proporcionará cada proyecto y los egresos que se relacionan con cada uno de ellos y que se consideran anuales. Plantee el modelo de programación lineal. Egresos (miles p) Proyecto 1 2 3 Fondos disponibles 1 25 18 16 120 2 27 22 27 140 3 28 21 21 120 4 30 28 34 150 5 28 31 24 110 Utilidad 215 320 270 x1 = proyecto 1 x2 = proyecto 2 x3 = proyecto 3 Objetivo: maximizar Max Z = 215x1 + 320x2 + 270x3 S.A. 25x1 + 18x2 + 16x3 ≥ 120 27x1 + 22x2 + 27x3 ≥ 140 28x1 + 21x2 + 21x3 ≥ 120 30x1 + 28x2 + 34x3 ≥ 150 28x1 + 31x2 + 24x3 ≥ 110 xi ≥ 0 Problema 2 La compañía Higiene y Limpieza Institucional (HLI) desea evaluar y proyectar las utilidades de cada uno de sus productos Fabuloso, así como su proceso de elaboración durante 5 años; se nos proporcionan las utilidades esperadas de cada producto. Plantee el modelo de programación lineal entero. Tipo de Fabuloso Año 1 Año 2 Año 3 Año 4 Año 5 Utilidades Mar fresco 1 2 3 1 1 10 000 Lavanda 1 1 4 1 1 9 500 Frutas 1 1 1 1 1 7 000 Canela 2 5 3 2 1 14 000 11 500 Naranja 2 2 2 2 2 Fondos disponibles 20 28 26 30 37 77 05 Munoz EJERCICIOS.indd 77 02/03/11 01:59 PM 78 Ejercicios Sea: x1 = Fabuloso mar fresco x2 = Fabuloso lavanda x3 = Fabuloso frutas x4 = Fabuloso canela x5 = Fabuloso naranja Objetivo: maximizar Max Z = 10 000x1 + 9 500x2 + 7 000x3 + 14 000x4 + 11 500x5 1x1 + 1x2 + 1x3 + 2x4 + 2x5 ≤ 20 2x1 + 1x2 + 1x3 + 5x4 + 2x5 ≤ 28 3x1 + 4x2 + 1x3 + 3x4 + 2x5 ≤ 26 1x1 + 1x2 + 1x3 + 2x4 + 2x5 ≤ 30 1x1 + 1x2 + 1x3 + 1x4 + 2x5 ≤ 37 xi ≥ 0 Problema 3 Se analizan cuatro medios electrónicos de comunicación para lanzar la nueva campaña publicitaria de Desechables Jaguar. La campaña tendrá una duración de 3 meses. La siguiente tabla proporciona los alcances totales y los costos mensuales presupuestados de cada medio. Elabore el modelo de programación lineal entero. Número Medio de comunicación Costos 1er. mes 2do. mes 3er. mes Alcance del medio 1 TV 35 000 22 000 16 000 3 425 000 2 Radio 16 000 10 000 5 000 275 000 3 TV por cable 18 000 14 000 9 000 49 000 4 Periódico 15 000 9 000 7 000 781 550 Total costos ⫻ mes presupuestados 84 000 55 000 37 000 Sea: x1 = medio 1 x2 = medio 2 x3 = medio 3 x4 = medio 4 Max Z = 3 425 000x1 + 275 000x2 + 49 000x3 + 781 550x4 S.A. 35 000x1 + 16 000x2 + 18 000x3 + 15 000x4 ≤ 84 000 22 000x1 + 10 000x2 + 14 000x3 + 9 000x4 ≤ 55 000 16 000x1 + 5 000x2 + 9 000x3 + 7 000x4 ≤ 37 000 xi ≥ 0 05 Munoz EJERCICIOS.indd 78 02/03/11 01:59 PM Ejercicios 79 Problema 4 Una compañía aérea debe evaluar tres proyectos promocionales, los cuales se llevarán a cabo en los siguientes 12 meses y, para ello, cuenta con un capital limitado para cada mes, por lo cual debe elegir la opción que más se adapte a sus necesidades. Los datos se muestran en la siguiente tabla: Requerimiento de capital (meses)(en pesos) Mezcla de promoción Valor actual ⫻ 3 meses (en pesos) 3 6 9 12 TV y prensa 8 000 16 000 15 000 18 000 25 000 Radio y prensa 6 000 7 000 12 000 10 000 4 000 Radio y TV 10 000 10 000 13 000 18 000 25 000 30 000 40 000 35 000 50 000 Fondo disponible Sea: x1 = TV y prensa x2 = Radio y prensa x3 = Radio y TV Min Z = 8 000x1 + 6 000x2 + 10 000x3 Sujeto a: 16 000x1 + 7 000x2 + 10 000x3 ≤ 30 000 15 000x1 + 12 000x2 + 13 000x3 ≤ 40 000 18 000x1 + 10 000x2 + 18 000x3 ≤ 35 000 25 000x1 + 4 000x2 + 25 000x3 ≤ 50 000 xi ≥ 0 Problema 5 La empresa Sueño desea importar colchones de Tailandia, para lo cual debe evaluar las posibles agencias aduanales a las que acudirá para ello. A la compañía le interesa cumplir con los pedidos que tiene, así que uno de los factores más importantes para elegir agencia es el tiempo en que llega el pedido al almacén de la tienda, sin olvidar el costo y la utilidad. La empresa está comprometida a entregar sus pedidos en no más de una semana y no puede gastar más de 25 000 pesos por pedido. La tabla ilustra las características de cada agencia aduanal. Agencia aduanal 05 Munoz EJERCICIOS.indd 79 Tiempo de entrega Costo total (en pesos) Ganancia Tipo 1 4 días 24 000 10 000 Tipo 2 5 días 20 000 13 000 Tipo 3 5 días 19 500 12 000 02/03/11 01:59 PM 80 Ejercicios ¿Qué agencia aduanal debe elegir la empresa de acuerdo con la ganancia obtenida? Sea: x1 = contratar agencia aduanal tipo 1 x2 = contratar agencia aduanal tipo 2 x3 = contratar agencia aduanal tipo 3 Max Z = 10 000x1 + 13 000x2 + 12 000x3 S.A. 4x1 + 5x2 + 5x3 ≥ 7 días 24 000x1 + 20 000x2 + 19 500x3 ≤ 25 000 x1 ≥ 0 Problema 6 La empresa de telemarketing Atel trata de reducir sus costos; la estrategia es escoger la compañía telefónica que le ofrezca más llamadas a un costo reducido. Son tres las compañías telefónicas: Telmex, que cobra 360 pesos por mes. AT&T, 450 pesos fijos al mes, y Avantel, cuya tarifa fija es de 280 pesos mensuales. La compañía debe cumplir con sus clientes, pero, debido a que la competencia ha aumentado, tiene que ofrecerles planes muy atractivos. Ello significa un precio considerable para la promoción o ventas de los productos de sus clientes, aunque sin poner en riesgo la buena promoción de los productos. Para que la empresa cumpla con sus clientes, debe hacer un promedio de 400 llamadas al mes por empleado, pero sus costos extras no deben exceder de 2 000 pesos. En la siguiente tabla se presentan los beneficios que se obtienen con cada una de las compañías telefónicas. Compañía Renta mensual Núm. de llamadas al mes Costo por llamada extra Telmex 350 350 2.00 AT&T 400 300 1.50 Avantel 280 300 2.20 ¿Cómo debe repartir las llamadas la empresa para minimizar los costos? Sea: x1= contratar línea telefónica con Telmex x2= contratar línea telefónica con AT&T x3= contratar línea telefónica con Avantel Min Z = 350x1 + 400x2 + 280x3 S.A. 350x1 + 300x2 + 300x3 ≥ 400 2x1 + 1.5x2 + 2.2x3 ≤ 2 000 x1 ≥ 0 05 Munoz EJERCICIOS.indd 80 02/03/11 01:59 PM A Actividad crítica. Ocurre cuando no hay libertad para determinar los tiempos de inicio y terminación en un proyecto. Árbol. Red conectada que puede contener sólo un subconjunto de todos los nodos de la red. Árbol de expansión. El que une todos los nodos sin permitir ningún lazo. C Cola. Línea de espera. CPM y PERT. Métodos basados en redes que ayudan a planificar, programar y controlar proyectos. D Destino. Nodo en el cual todos los arcos señalan hacia el nodo. E Evento. Punto en el tiempo en el que se concluyen determinadas actividades y empiezan otras. F Fuente. Nodo en el que todos los arcos apuntan hacia el exterior. I Investigación. Actividad que tiene por fin ampliar el conocimiento científico sin perseguir, en principio, ninguna aplicación práctica. Investigación de operaciones (IO). Disciplina que divide un problema concreto en pequeñas partes a las que analiza para obtener un problema abstracto o un modelo y así ofrecer acciones o alternativas de solución. L Lazo dirigido (circuito). Círculo en el que todas las ramas se orientan en la misma dirección. M Método de cruce de arroyo. Método a través del cual debe encontrarse un procedi- miento de reasignación en el que sólo se pisen las celdas de piedra y ninguna de agua pues, en estas últimas, no es posible apoyarse. Método del costo menor. Se concentra en las rutas económicas. Asigna el costo más bajo a cada unidad y después se ajusta la cantidad de la oferta y la demanda. Método gráfico. Se emplea para solucionar problemas de programación lineal mediante la representación geométrica de restricciones, condiciones técnicas y objetivos. Método símplex de programación lineal. Primer procedimiento matemático ampliamente aceptado en la investigación de operaciones, basado en la iteración para ir mejorando la solución a cada paso. Modelo. Representación simplificada o idealizada de una parte de la realidad. Modelo de asignación. Modelo en el que cada fuente y cada destino poseen una demanda unitaria. Modelo de transporte. Clase especial de programación por medio del cual se minimizan los costos del transporte de personas o productos desde los puntos de origen hasta los puntos de destino. Modelo descriptivo. Representación de la realidad mediante una relación funcional. Modelo matemático. Se construyen mediante símbolos matemáticos que representan diferentes comportamientos del problema; no todos son complejos. Modelo normativo. Paradigma que señala el curso de acción que debe seguirse para lograr un objetivo. Modelo predictivo. Paradigma que no sólo describe la realidad sino que señala las situaciones futuras. Modelos abstractos. Herramientas de investigación que utilizan expresiones simbólicas para representar el comportamiento de un sistema. Modelos aleatorios. Describen un fenómeno que se comporta regularmente en intervalos diferentes; por lo tanto, predecir su comportamiento es muy difícil. Modelos determinísticos. Representación de un fenómeno que se comporta regularmente a intervalos iguales y, por consiguiente, es factible predecir su compor- tamiento con un cierto margen de error aceptable o tolerable. Modelos dinámicos. Interpretan la evolución de una parte de la realidad en un tiempo determinado. Modelos estáticos. Representan la realidad en una determinada unidad de tiempo. Modelos físicos. Paradigmas que representan la realidad a escala y se construyen con base en problemas concretos. O Operación. Conjunto de reglas que permiten, a partir de una o varias cantidades o expresiones, llamadas datos, obtener otras cantidades o expresiones denominadas resultados. Optimizar. Logro de mayores beneficios con una mínima inversión de recursos. P Parámetros. Valores que especifican la relación entre las variables de decisión. Patrón del flujo óptimo. Ocurre cuando los arcos que hay en una red residual del origen al destino no tienen capacidad residual positiva. Programación lineal. Procedimiento matemático con una o más funciones objetivo, un conjunto de restricciones y una restricción de no negatividad para determinar la asignación óptima de recursos escasos. Proyecto. Conjunto de actividades interrelacionadas en la que cada una implica tiempo y recursos. R Red. Representación gráfica de un proyecto. Red conectada. Es aquella en la cual dos nodos se encuentran unidos, por lo menos, por una ruta. Ruta. Secuencia de ramas diferentes que enlazan dos nodos sin que importe la dirección del flujo de cada rama. Secuencia entre actividades que se desarrollan en una red T Teoría de colas. Conjunto de modelos matemáticos que describen sistemas de 81 06 Munoz GLOSARIO-BIBLIO.indd 81 02/03/11 01:59 PM 82 Bibliografía líneas de espera particulares o de sistemas de colas. Los modelos sirven para encontrar una relación óptima entre los costos del sistema y los tiempos promedio de la línea de espera de un sistema dado. Trayectoria de aumento. Se da cuando en la red residual hay una trayectoria del origen al destino en la que cada arco sobre ella tiene una capacidad residual positiva. HILLIER–LIEBERMAN, Investigación de operaciones, séptima edición, México, McGraw-Hill, 2002. HOSSEIN ARSHAM, Modelos deterministas: optimización lineal, http:// home.ubalt.edu/ntsbarsh/opre640S/SpanishD.htm#rop 06 Munoz GLOSARIO-BIBLIO.indd 82 V Variables de decisión. Cantidades que se desconocen y que deben determinarse en la solución de un problema cuyo modelo se plantea. Introducción a la investigación de operaciones, www.investigacionoperaciones.com/Introduccion_IO.htm TAHA HAMDY, A., Investigación de operaciones una introducción, sexta edición, Prentice Hall, 1998. 02/03/11 01:59 PM Índice A Actividad crítica, 74, 81 Algoritmo de Dijkstra, 67, 70 de Floyd, 67, 70 de flujo máximo, 67 de la ruta más cercana, 70 Árbol, 67, 68, 69, 81 de expansión, 68, 69, 81 Arco, 67, 68, 71 Arista, 69 Arsham Hossein, 4 C Cálculo de la ruta crítica (CPM), 74 Ciclo, 68 Ciencias de la administración, 1 Circuito, 68, 69, 81 Cola, 81 Conjunto de restricciones, 7, 8 D Destino, 71, 81 Dualidad, 32 E Ecuaciones de restricción, 38 Eficacia, 8 Espacio de soluciones factibles, 13 Evento, 74, 81 F Fuente, 71, 81 Función, 2 Función exponencial, 3 Función objetivo, 7-11, 13, 19, 20, 27, 29, 32, 33, 36 G George B. Dantzig, 2, 19 I Índice de mejoramiento (IM), 55, 56, 57, 59, 61 Investigación de operaciones (IO), 1-6, 81 Iteración, 2 L M Método celda de piedra, 53 CPM (Critical Path Method), 67, 71, 72, 81 de asignación, 61 de costo menor, 35, 38, 42, 46, 52, 54, 58, 65, 81 de cruce de arroyo, 53, 54, 65, 81 de la esquina noroeste, 35, 38, 42, 44, 46, 65 de la ruta crítica, 71 de piedra rodante, 53 de suma y resta, 18 de transporte, 61, 62 dual símplex, 33 gráfico, 7, 13, 34, 81 gráfico en actividad, 13 gráfico en recursos, 13 húngaro, 35, 62, 66 PERT (Program Evaluation and Review Technique), 67, 71, 72, 81 símplex, 1, 7, 19, 29, 34, 36, 37, 71, 81 Vogel, 35, 38, 46, 65 Modelos, 1, 2, 3, 4, 81 abstractos, 4, 81 a escala, 2 aleatorios, 4, 81 de asignación, 35, 61, 81 de flujo máximo, 71 de programación lineal (MPL), 9-13, 32, 36-38, 44, 65, 77, 78 descriptivo, 81 desventajas, 4 determinísticos, 4, 81 de transporte, 35, 36, 81 dinámicos, 4, 81 dual, 32 estáticos, 4, 81 físicos, 4, 81 lineal, 14, 19 matemáticos, 2, 81 descriptivos, 3 normativos, 3 predictivos, 3 mentales, 2 normativo, 81 predictivo, 81 primales, 32, 34 ventajas, 4 Lazo, 67, 68, 69 Lazo dirigido, 68, 81 N Nodo, 67-72 permanentes, 70 06 Munoz GLOSARIO-BIBLIO.indd 83 temporales, 70 No negatividad, 5, 9, 13 Número de restricciones, 13 O Objetivo, 5, 11 Operación, 81 Optimización, 3, 5, 33 Optimizar, 4, 9, 81 Organigrama, 3 P Parámetros, 7, 8, 81 Patrón de flujo óptimo, 71, 81 Pivote, 20, 21, 23, 24, 28, 30, 31 Plano cartesiano, 13, 14 Problemas lineales, 5, 13 Problemas no lineales, 5, 7 Programación lineal, 7, 9, 33, 35, 81 Programación matemática, 4 Proyecto, 71, 81 Punto óptimo, 14, 17, 18 R Ramas, 67, 68, 76 Rango, 13 Red, 67-74, 76, 81 conectada, 68, 81 residual, 71 Región factible, 13-16 Restricciones, 5, 7, 9, 10, 12, 13, 14, 15, 20 Ruta, 67, 68, 69, 81 S Sistema, 4 Solución factible, 13 Solución factible degenerada, 13 Solución factible no degenerada, 13 T Tabla símplex, 20, 27, 29, 30, 32, 37, 38 Técnica de evaluación y revisión de programas, 71 Teoría de colas, 81 Trayectoria aumentada, 71, 82 V Variables, 5, 9, 13 de decisión, 7-13, 81 de holgura, 19, 20 numéricas, 9 02/03/11 01:59 PM 06 Munoz GLOSARIO-BIBLIO.indd 84 02/03/11 01:59 PM