Introducción A La Modelación Matemática Y Optimización 14ene2011

  • Uploaded by: Julian Quevedo
  • 0
  • 0
  • March 2021
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Introducción A La Modelación Matemática Y Optimización 14ene2011 as PDF for free.

More details

  • Words: 62,573
  • Pages: 219
Loading documents preview...
INTRODUCCIÓN A LA MODELACIÓN MATEMÁTICA Y OPTIMIZACIÓN

Carlos Julio Vidal Holguín

UNIVERSIDAD DEL VALLE FACULTAD DE INGENIERÍA ESCUELA DE INGENIERÍA INDUSTRIAL Y ESTADÍSTICA

UNIVERSIDAD DEL VALLE FACULTAD DE INGENIERÍA ESCUELA DE INGENIERÍA INDUSTRIAL Y ESTADÍSTICA

INTRODUCCIÓN A LA MODELACIÓN MATEMÁTICA Y OPTIMIZACIÓN Programación Lineal, Programación No Lineal y Teoría de Redes: Formulación y solución de modelos, teoría de dualidad, análisis de sensibilidad, problema del transporte y problemas seleccionados de redes. (Versión 1.6 Enero de 2011)

Escrito y recopilado por Carlos Julio Vidal Holguín

Cali, 14 de enero de 2011

2

Introducción a la Modelación Matemática y Optimización

DEDICATORIA

Contenido 1.

LA INVESTIGACIÓN DE OPERACIONES .................................................................. 7 1.1.

ORÍGENES ................................................................................................................... 7

1.2.

NATURALEZA DE LA INVESTIGACIÓN DE OPERACIONES ............................ 9

1.3.

IMPACTO DE LA INVESTIGACIÓN DE OPERACIONES ................................... 10

2.

EL PROCESO DE DISEÑO EN INGENIERÍA ............................................................ 12 2.1.

MODELOS ................................................................................................................. 13

2.1.1.

Clasificación de Modelos .................................................................................... 13

2.1.2.

Ventajas y Desventajas del Uso de Modelos ....................................................... 15

2.1.3.

Algunas Conclusiones con Respecto del Uso de Modelos .................................. 15

2.2.

EJEMPLO DE FORMULACIÓN DE MODELOS.................................................... 16

2.2.1.

Planeamiento de Cultivos (Programación lineal) ................................................ 16

2.2.2.

El Problema del Transporte (Programación lineal) ............................................. 17

2.2.3.

El Problema del Salvavidas (Programación no-lineal) ........................................ 17

2.2.4.

Localización de una Nueva Bodega (Programación No-Lineal) ......................... 18

2.2.5.

Ofertas Para Ocupación de un Hotel (Modelo de Redes) .................................... 18

2.3.

ALGORITMOS PARA LA SOLUCIÓN DE MODELOS ........................................ 19

2.3.1.

Tiempo de Solución de un Algoritmo ................................................................. 19

2.3.2.

Clasificación de Tipos de Problemas................................................................... 20

2.3.3.

Tipos de Algoritmos ............................................................................................ 20

3.

FORMULACIÓN DE MODELOS DE PROGRAMACIÓN LINEAL ......................... 25 3.1.

ORÍGENES Y ANTECEDENTES HISTÓRICOS .................................................... 25

3.2.

NATURALEZA DE LA PROGRAMACIÓN LINEAL ............................................ 25

3.3.

SUPOSICIONES DE LOS MODELOS DE PROGRAMACIÓN LINEAL .............. 27

3.3.1.

Proporcionalidad .................................................................................................. 27

3.3.2.

Aditividad ............................................................................................................ 27

3.3.3.

Certeza y Divisibilidad ........................................................................................ 28

3.4.

FORMULACIÓN DE MODELOS DE PROGRAMACIÓN LINEAL ..................... 29

3.4.1.

Modelo Nº 1: Programa de Producción ............................................................... 29

3.4.2.

Modelo Nº 2: Un Mini-Problema de Dieta .......................................................... 31

3.4.3.

Modelo Nº 3: Un Problema de Corte de Papel (Cutting Stock) .......................... 33

3.4.4.

Modelo Nº 4: Carga de un Avión ........................................................................ 35

4

Introducción a la Modelación Matemática y Optimización

3.4.5.

Modelo Nº 5: Programa de Producción en el Tiempo ......................................... 37

3.4.6.

Modelo Nº 6: Problema del Trasporte ................................................................. 42

3.4.7.

Modelo Nº 7: Programación de Metas ................................................................ 43

3.4.8.

Modelo Nº 8: Un Problema “Probabilístico” ...................................................... 46

3.5.

SOLUCIÓN DE MODELOS DE PROGRAMACIÓN LINEAL .............................. 82

3.5.1.

Método Gráfico de Solución ............................................................................... 82

3.5.2.

Método de Enumeración de Soluciones Básicas ................................................. 89

4.

EL MÉTODO SIMPLEX ............................................................................................. 101 4.1.

SOLUCIONES BÁSICAS EN FORMA MATRICIAL ........................................... 103

4.2.

EL MÉTODO SIMPLEX EN FORMA MATRICIAL ............................................. 104

4.3.

APLICACIÓN DEL MÉTODO SIMPLEX EN FORMA MATRICIAL ................ 109

4.4.

EL MÉTODO SIMPLEX EN FORMA TABULAR ................................................ 112

4.5.

EL MÉTODO SIMPLEX CON VARIABLES ARTIFICIALES ............................. 113

4.5.1.

El Método de la “Gran M” ................................................................................ 114

4.5.2.

El método de las Dos Fases ............................................................................... 120

5.

TEORÍA DE DUALIDAD ........................................................................................... 122 5.1.

RELACIONES ENTRE LOS PROBLEMAS PRIMAL Y DUAL .......................... 124

5.1.1.

Solución del Problema Dual .............................................................................. 125

5.1.2.

El problema Dual Adaptado a Otros Modelos de Programación Lineal ........... 127

5.1.3.

Otras Propiedades del Problema Dual ............................................................... 128

5.2.

APLICACIONES DE LA TEORÍA DE DUALIDAD ............................................. 128

5.2.1.

Ahorro en Cálculos ............................................................................................ 129

5.2.2.

El Algoritmo SIMPLEX Dual ........................................................................... 129

6.

ANÁLISIS DE SENSIBILIDAD ................................................................................. 132 6.1.

CAMBIOS EN EL VECTOR C (Coeficientes de la función objetivo) .................... 133

6.1.1.

Cambios en los Coeficientes de la Función Objetivo de una Variable No-Básica. 133

6.1.2.

Cambios en los Coeficientes de la Función Objetivo de una Variable Básica. . 133

6.2.

CAMBIOS EN EL VECTOR b (Vector de recursos) .............................................. 133

6.3.

CAMBIOS EN LAS COLUMNAS DE LA MATRIZ A ......................................... 134

6.3.1.

Cambios en una Columna No-Básica de A ....................................................... 134

6.3.2.

Cambios en una Columna Básica de A. ............................................................ 134

6.4.

INTRODUCCIÓN DE UNA NUEVA VARIABLE ................................................ 135

6.5.

INTRODUCCIÓN DE UNA NUEVA RESTRICCIÓN .......................................... 135

6.6.

EJEMPLO DE APLICACIÓN DE ANÁLISIS DE SENSIBILIDAD ..................... 137

6.6.1.

Planteamiento y Solución del Modelo ............................................................... 138

6.6.2.

Análisis de las Alternativas ............................................................................... 140

7.

EL MÉTODO SIMPLEX REVISADO ........................................................................ 146 7.1.

8.

MÉTODO SIMPLEX REVISADO SIN VARIABLES ARTIFICIALES ............... 148 OPTIMIZACIÓN NO LINEAL ................................................................................... 162

8.1.

TEORIA DE OPTIMIZACIÓN CLÁSICA ............................................................. 163

8.1.1.

Problemas No-Restringidos: .............................................................................. 163

8.1.2.

Problemas con Restricciones de Igualdad ......................................................... 165

8.2.

PROBLEMAS CON RESTRICCIONES DE DESIGUALDAD ............................. 170

8.2.1. 9.

Las condiciones de Kuhn-Tucker ...................................................................... 170

INTRODUCCIÓN A LAS TÉCNICAS DE BÚSQUEDA .......................................... 174 9.1.

MÉTODOS DE BÚSQUEDA DIRECTA ................................................................ 174

9.2.

MÉTODO DE BÚSQUEDA ALEATORIA ............................................................ 174

9.3.

MÉTODO DE LA MALLA ..................................................................................... 174

9.4.

BÚSQUEDA DICOTÓMICA .................................................................................. 175

9.5.

EL MÉTODO DEL GRADIENTE ........................................................................... 176

10.

ALGUNAS APLICACIONES DE PROGRAMACION NO-LINEAL ....................... 180

10.1.

PROGRAMACIÓN CUADRÁTICA ................................................................... 180

10.2.

UN PROBLEMA DE INVENTARIOS DETERMINÍSTICOS ........................... 184

10.3.

CANTIDAD ÓPTIMA DE PEDIDO CON LÍMITES DE ALMACENAMIENTO 185

11.

ANEXO 1: EL PROBLEMA DE LA BAUXITA ........................................................ 189

12. ANEXO 2: EL PROBLEMA DEL TRANSPORTE E INTRODUCCIÓN A LA TEORÍA DE REDES .............................................................................................................. 209 13.

BIBLIOGRAFÍA .......................................................................................................... 217

6

Introducción a la Modelación Matemática y Optimización

SINOPSIS La presente publicación trata de familiarizar al estudiante con los principales aspectos de la Investigación de Operaciones (IO), incluyendo su origen histórico, su naturaleza y sus diversas técnicas. El énfasis principal se da a los modelos de programación lineal, incluyendo la programación lineal entera y el problema del transporte. Posteriormente, se presenta una introducción a los modelos de redes. Así, estas notas pueden utilizarse en cursos de Investigación de Operaciones I, Modelación Matemática e Introducción a la Optimización, tanto para pregrado como para postgrado. La metodología utilizada es la exposición de los principales temas con numerosos modelos y ejemplos resueltos. Se proponen también diversos ejercicios en cada una de las secciones para ser desarrollados por los estudiantes. Para una mejor comprensión del texto, se sugiere la lectura secuencial por capítulos antes de cada clase, complementada con referencias adicionales. Se agradece sinceramente a todas las personas que con su esfuerzo como monitores hicieron posible la recopilación de estas notas de clase: A Héctor Toro, Ana María Pérez, Juan Carlos Lozano, Jhonatan Arias y a todas las personas que de una u otra forma han colaborado con la producción de estas notas. Carlos Julio Vidal Holguín Enero de 2011 [email protected]

1. LA INVESTIGACIÓN DE OPERACIONES 1.1. ORÍGENES Algunos autores afirman que las primeras semillas para el surgimiento de la IO se remontan hacia mediados del siglo XVIII cuando en 1759 el economista Quesnay utilizó algunos modelos simples de programación matemática y hacia el año 1874 cuando otro economista, Walras, usó técnicas similares. Sin embargo, el acontecimiento histórico que marcó el verdadero origen de la IO fue la segunda guerra mundial. Generalmente, en tiempos de guerra los recursos se vuelven escasos y su utilización debe hacerse en la forma más racional posible para obtener de ellos el máximo provecho. Fue así como la milicia británica y posteriormente la de los Estados Unidos decidieron apoyarse en un grupo de investigadores con el objeto de diseñar procedimientos científicos para ser utilizados en las estrategias y técnicas militares. Estos grupos se dedicarían, por lo tanto, a investigar las operaciones militares. Al parecer, de aquí surgió el nombre de esta disciplina como sigue utilizándose actualmente. Es de destacar que los estudios realizados por estos grupos de científicos, según se afirma, contribuyeron positivamente a grandes triunfos de los países aliados en la segunda guerra mundial, tales como las batallas de Inglaterra y del Atlántico Norte. Por otra parte, como consecuencia de la primera Revolución Industrial acaecida en el Siglo XIX, las organizaciones en general habían sufrido cambios sustanciales, pasando de pequeños talleres artesanales a medianas y grandes empresas. Además, se pasó de empresas con un solo administrador o dueño absoluto, quien tenía a su cargo las principales decisiones, a empresas que por su naturaleza y tamaño tuvieron la necesidad de crear la división funcional del trabajo y segmentar las responsabilidades administrativas, delegando en varias personas el proceso de toma de decisiones. Aunque lo anterior trajo grandes ventajas, empezaron a surgir problemas debidos a la independencia de los departamentos y secciones de las empresas. Cada ente defendía sus objetivos particulares, sin contribuir como un todo a las metas y objetivos generales de la organización, lo cual inclusive se sigue observando en la actualidad. Es entonces cuando aparecen los primeros problemas de decisión a alto nivel, los cuales eventualmente trataría de abordar algunas técnicas de la investigación de operaciones. Debido al éxito de los grupos de científicos que realizaron la investigación de operaciones militares y como el ambiente de las organizaciones era el propicio, la industria empezó a interesarse en ellos para que diseñaran procedimientos científicos para abordar los problemas de decisión que las empresas estaban enfrentando. Fue así como al terminar la guerra, los británicos comenzaron a utilizar esta metodología en sus industrias y se dieron cuenta que sus problemas eran de naturaleza semejante a la de los problemas militares: recursos limitados y dificultad para lograr su mejor asignación a las diversas actividades de la

8

Introducción a la Modelación Matemática y Optimización

empresa. En los Estados Unidos, el interés de la industria por las técnicas de la IO no fue tan inmediato y surgió con el advenimiento de las Segunda Revolución Industrial, caracterizada por la automatización y el advenimiento de los computadores electrónicos digitales. El notable adelanto logrado en pocos años en las técnicas de la IO se debió al interés de muchos científicos en perfeccionar lo que ya habían desarrollado para las tácticas militares y al surgimiento de los computadores. Fue así como en 1947, el Dr. George Dantzig, con la ayuda de muchos de sus antecesores, logró desarrollar el método simplex para la solución de problemas de programación lineal, método que hasta la actualidad es utilizado mundialmente para la solución de grandes problemas de aplicación de esta técnica. Antes de finalizar la década de los 50s, otras técnicas de la IO fueron ampliamente desarrolladas, tales como la programación dinámica, la teoría de colas y la teoría de inventarios. En 1952 se funda en Estados Unidos la “Operations Research Society of America”, ORSA, la cual hacia 1972 ya contaba con alrededor de 8000 miembros en todo el mundo. Posteriormente, la ORSA se fusionó con el Instituto Americano para las Ciencias de la Administración y se creó el “Institute for Operations Research and the Management Sciences”, INFORMS (ver página web www.informs.org), el cual actualmente cuenta con miles de miembros de todo el mundo y celebra reuniones trimestrales en los Estados Unidos y reuniones anuales en diferentes partes del mundo, donde se exponen las últimas investigaciones en el área. Existen también actualmente diversas organizaciones en todo el mundo para la divulgación y el desarrollo de la investigación de operaciones, tales como EURO en Europa y la recientemente creada SOCIO en Colombia (Sociedad Colombiana de Investigación de Operaciones). Todas estas organizaciones tienen importantes publicaciones periódicas que circulan a nivel mundial. INFORMS, por ejemplo, publica las revistas “Operations Research” y “Management Science”, entre otras, de gran renombre en el área de investigación de operaciones. En las universidades, por otra parte, existen programas de estudios de pregrado y postgrado (a nivel de maestría y doctorado) íntimamente relacionados con el área de la investigación de operaciones. Existen, por ejemplo, escuelas de ingeniería industrial con áreas especializadas en optimización y en producción y distribución que hacen extensiva investigación y aplicación de las técnicas de la investigación de operaciones. Algunas de las técnicas de la IO se han ido especializando de tal forma, que actualmente representan un cuerpo independiente y con desarrollos propios, como por ejemplo, la estadística, la optimización y la simulación. En otros casos, algunas áreas del conocimiento utilizan ampliamente la IO, como es el caso de la Logística, la cual aplican por ejemplo diversas técnicas de optimización. Además, existen diversos proveedores de software dedicados exclusivamente al desarrollo de programas especializados de técnicas de IO, como es el caso de la simulación y la optimización, quienes promueven sus productos con seminarios y cursos alrededor del mundo. Aunque muchas veces se ha dado la discusión sobre la utilidad real de la IO y su posible decadencia, todo parece indicar que sus diversas técnicas han tomado en la actualidad completa independencia y autonomía, y las innumerables aplicaciones que existen siguen en

desarrollo y crecimiento. Un ejemplo típico de esto es la aplicación de la IO para el diseño y optimización de las cadenas de abastecimiento.

1.2. NATURALEZA DE OPERACIONES

LA

INVESTIGACIÓN

DE

De acuerdo con Hillier y Lieberman (1997), se ha tratado de enmarcar a la IO y definirla. Sin embargo, su propio origen hace que esto sea una tarea muy difícil o imposible. En lugar de definirla, entonces, es preferible dar una idea de su naturaleza y sus características para comprender mejor su esencia. La IO aplica el método científico para el estudio de los diversos problemas, observando y definiendo claramente el problema en cuestión. Posteriormente se diseña un modelo (generalmente matemático) que permite representar y abstraer la realidad del sistema bajo estudio. Seguidamente, se obtienen las soluciones del modelo y se trata de validar el modelo, principalmente con el análisis de las respuestas del modelo y la experimentación. De acuerdo con los resultados de la validación, es posible retornar al rediseño del modelo y su refinamiento, convirtiéndose así en un proceso iterativo que puede cambiar de acuerdo con la dinámica del sistema estudiado. Como puede observarse, esta metodología corresponde a la utilización del enfoque de sistemas como herramienta de estudio de los problemas, donde se identifican y analizan los componentes, interrelaciones y factores significativos del sistema bajo análisis. Las conclusiones obtenidas con la aplicación del modelo deben enmarcarse en la realidad del problema analizado y deben ser fáciles de interpretar y de implementar para el ente decisorio. Por lo tanto, la IO debe producir soluciones de problemas reales que puedan ser aplicadas de una manera eficiente y racional por las personas responsables de los procesos decisorios de la organización. Como puede observarse, el punto de vista de la IO es muy amplio, pues apunta hacia cualquier tipo de organización, tratando de resolver los conflictos entre los componentes de la misma, para obtener el máximo provecho de los recursos disponibles y lograr los objetivos globales de la empresa. Ese “máximo aprovechamiento de los recursos” se ve reflejado en la mayoría de los casos que estudia la investigación operacional en la búsqueda de soluciones óptimas de los problemas. La investigación de operaciones se ocupa y hace uso de diversos y muy variados campos del conocimiento humano. Por lo tanto, la IO presenta la característica de ser aplicada por grupos interdisciplinarios, tales como personas expertas en los campos de las matemáticas, la estadística y la probabilidad, economía, administración, ingeniería industrial y de sistemas, ciencias de la computación, sicología, ingeniería en general, e incluso en las áreas de la salud, tales como la medicina y epidemiología. Por otra parte, el grupo que realiza un estudio específico en alguna organización debe contener personas expertas en las áreas antes mencionadas y además poseer un conocimiento

10

Introducción a la Modelación Matemática y Optimización

global y profundo de la organización misma, de tal forma que la definición del problema, el diseño del modelo y la utilización de sus soluciones estén enmarcados dentro del contexto del sistema real y específico bajo estudio. De esto último puede deducirse que los resultados que brinda la IO se obtienen en general de mediano a largo plazo, pues el conocimiento inicial del sistema bajo estudio por parte del grupo puede consumir un tiempo considerable. En resumen, y tal como lo expresan Hillier y Lieberman (1997), la investigación de operaciones se ocupa de la modelación y la toma de decisiones óptimas en sistemas determinísticos y probabilísticos de la vida real. Aquí nos ocuparemos de modelos determinísticos de optimización y sus aplicaciones a sistemas reales.

1.3. IMPACTO DE OPERACIONES

LA

INVESTIGACIÓN

DE

Debido a su amplio punto de vista, la IO se ha aplicado y se continúa aplicando a los más diversos campos del conocimiento humano. Es así como las diversas técnicas de la IO se han utilizado con éxito en campos de los negocios, entes gubernamentales y militares, la banca y otros sectores de servicios y la industria en general, en aspectos como la producción, los mercados, las inversiones y las finanzas, la salud, las ciencias sociales, la biología, etc. Unos pocos ejemplos de estas aplicaciones son los siguientes:                      

Control y predicción del crecimiento económico, Planeación de la expansión de plantas manufactureras, Planeación urbana, Optimización de servicios de transporte y de transporte de basuras, Diseño de redes de tubería, Optimización y diseño de cadenas de abastecimiento regionales e internacionales, Estrategias de sustitución de importaciones, Planeación agregada de la producción, Planeación y estrategias en empresas de transporte aéreo, Problemas de inventarios en general, incluyendo materias primas y productos terminados, Mantenimiento y reemplazo de equipos, Evaluación de estrategias de publicidad, Tratamiento óptimo de tumores cancerosos, Estudio de la propagación de epidemias (como el SIDA), Distribución del esfuerzo de ventas, Entrenamiento de personal, Diversas aplicaciones en refinerías petroleras, Predicción financiera, Optimización de satélites, Distribución de fuerzas navales y aéreas, Evaluación de inversiones en bonos y acciones, Planeación y control de proyectos,

    

Estudios de diversos sistemas de servicio (teoría de colas y simulación), Programas de vacunación de perros callejeros, Predicción de trabajo policiaco, Estudios de factores de criminalidad y Otras diversas aplicaciones en muchos campos.

Como puede observarse, las posibilidades de aplicación son inmensas y cada día más especializadas. Las aplicaciones reales de la IO están creciendo cada día, especialmente en nuestro medio cuando apenas empieza a reconocerse su importancia y utilidad para el diseño y optimización de sistemas complejos. Entre las técnicas de la IO que más se han utilizado se resaltan el análisis estadístico cuyo origen tuvo lugar con el desarrollo de la IO, para posteriormente volverse una técnica independiente con sus propios desarrollos. Igualmente, la programación lineal y la simulación han tenido y tienen actualmente un gran desarrollo en diversos campos, como por ejemplo los sistemas integrados de producción y distribución, los sistemas de manejo de materiales, algunas aplicaciones en agricultura, los problemas de planeación de las líneas aéreas y muchos otros más. Entre otras técnicas de la IO se destacan:        

Los modelos de redes, La programación dinámica, Los modelos de inventarios, La teoría de pronósticos, La teoría de análisis de decisión y juegos, Los sistemas de colas, Los procesos markovianos de decisión y La optimización no-lineal.

Prácticamente cada una de estas técnicas podría dar lugar a cursos completos o seminarios especializados, con amplia exposición de aplicaciones reales. Esta publicación se centra en lo que podría denominarse un curso de Introducción a la Optimización o Investigación de Operaciones I, concentrándose principalmente en los modelos de programación lineal y brindando una introducción a la teoría de redes y a la programación nolineal.

12

Introducción a la Modelación Matemática y Optimización

2. EL PROCESO DE DISEÑO EN INGENIERÍA Como ya se ha visto, la IO aplica el método científico para analizar, modelar y optimizar sistemas complejos reales. Desde el punto de vista de la ingeniería industrial y de sistemas, esta metodología podría definirse como el “proceso de diseño en ingeniería.” Este proceso consiste en una serie de pasos bien definidos para encontrar la solución de problemas reales. La Figura 2.1 muestra una síntesis de este proceso. Formulación del Problema

Análisis del problema y recolección de datos

Generación de alternativas de solución

Evaluación y selección de la(s) mejor(es) alternativa(s)

Formulación y validación de un modelo

Especificaciones de la(s) solución(es)

Implementación, evaluación y control del diseño utilizado

Figura 2.1. El proceso de diseño en ingeniería

Inicialmente debe identificarse claramente el problema que se va a resolver. Este paso es fundamental para el éxito de todo el proceso, ya que si el problema no está bien formulado, cualquier análisis podría llegar a conclusiones sin sentido. Una vez definido el problema, se pasa a su análisis y se recolectan datos preliminares que permitan enmarcarlo de una forma más precisa. Posteriormente, se generan posibles alternativas de solución del problema. El paso siguiente consiste en la evaluación de las alternativas con el objeto de determinar la mejor o mejores. Es en este paso cuando la formulación de un modelo como herramienta de decisión puede ser muy importante. Obviamente, puede llegarse a una selección de una buena alternativa sin necesidad de formular ningún modelo, pero generalmente éste da una visión

mucho más amplia del sistema bajo estudio y, en otras ocasiones, se hace imprescindible su utilización. El modelo formulado entra en un proceso de validación para determinar su grado de aproximación con la realidad, a través de la comparación con resultados históricos y con indicadores extraídos del sistema real bajo análisis. Una vez superado este paso, el modelo puede utilizarse para evaluar las alternativas de solución y determinar la mejor. Los dos pasos siguientes son comunes al proceso bien sea que exista o no un modelo de decisión. Se trata de especificar claramente la solución con el objeto de que sea implementada de una forma correcta y de que permita su continua evaluación y control. Estos pasos pueden identificar desviaciones de la realidad o cambios con respecto de la concepción original del problema, de tal forma que se puede hacer necesario un proceso continuo de análisis y refinamiento del modelo, incluso existiendo la posibilidad de reformular el problema e iniciar el proceso de nuevo.

2.1. MODELOS Uno de los pasos fundamentales del proceso descrito anteriormente puede ser la formulación y validación de un modelo de decisión. En general, puede decirse que un modelo es la abstracción de la realidad, el cual debe poseer dos características básicas:  

Ser más fácil de manipular y Proveer una mejor visión del sistema bajo estudio.

En todas las disciplinas, de una u otra forma, se utilizan modelos. A continuación se da una clasificación típica de modelos.

2.1.1. Clasificación de Modelos De acuerdo con su naturaleza los modelos pueden clasificarse en: 

Físicos, los cuales normalmente lucen semejantes a la realidad física, pero a menor escala, como por ejemplo un avión en miniatura siendo probado en un túnel de viento.



Análogos o analógicos, los cuales no asemejan físicamente el sistema bajo estudio, sino que exhiben conexiones entre los parámetros de entrada y las variables de salida proporcionales a los correspondientes parámetros y variables existentes en el sistema real. Un ejemplo clásico de un modelo análogo se utiliza en la localización óptima de una nueva planta o centro de distribución en el plano, donde se trata de minimizar la suma ponderada de las distancias de la nueva instalación hacia todas las instalaciones existentes (plantas o centros de distribución). Para ello se construye una estructura en la que se tiene una mesa horizontal con agujeros

14

Introducción a la Modelación Matemática y Optimización

dispuestos de la misma forma que las instalaciones existentes, normalmente a escala. Una cuerda para cada una de las instalaciones existentes se ata a un nudo común y todas se hacen pasar por sus agujeros respectivos, a través de poleas que se puedan considerar sin fricción. En el extremo libre de cada cuerda se cuelga un peso proporcional al volumen que manejará la correspondiente instalación multiplicado por su costo unitario de transporte. El sistema se deja en libertad hasta que el nudo quede en reposo; el punto de equilibrio del nudo corresponde a la localización óptima del nuevo centro de distribución y la longitud de las cuerdas entre el nudo y las poleas representará la distancia entre las instalaciones existentes y la nueva instalación. Como puede verse, se trata aquí de resolver un problema de localización mediante el uso de un modelo analógico mecánico. 

Matemáticos, los cuales incorporan las propiedades y el comportamiento básico del sistema bajo estudio mediante relaciones matemáticas reflejadas en parámetros, variables de decisión, funciones objetivo, etc. El ejemplo típico son los modelos de programación lineal que se exponen a partir del capítulo siguiente.

Otro tipo de clasificación define los modelos como descriptivos, o sea aquéllos que sólo describen el sistema bajo estudio, o normativos u optimizables, los cuales se formulan para mejorar u optimizar el sistema bajo estudio. De manera semejante, los modelos se pueden clasificar en determinísticos o estocásticos (probabilísticos), de acuerdo con su capacidad de involucrar o no variables aleatorias en el análisis. A partir de estas últimas clasificaciones, se pueden dar todas las combinaciones posibles de modelos, a saber:    

Modelos determinísticos – descriptivos (como por ejemplo las ecuaciones que reflejan la Ley de Ohm); Modelos determinísticos – optimizables (como por ejemplo los modelos de programación lineal); Modelos estocásticos – descriptivos (como por ejemplo los modelos de colas y simulación); Modelos estocásticos – optimizables (como por ejemplo algunos modelos de programación no-lineal e inventarios).

Existen otras clasificaciones más detalladas, pero con las dadas aquí es suficiente para ilustrar los tipos de modelos objeto de esta publicación. En general, los modelos matemáticos tratados en esta publicación, es decir los de programación lineal, modelos de redes y programación no-lineal, pueden ser clasificados como modelos matemáticos determinísticooptimizables.

2.1.2. Ventajas y Desventajas del Uso de Modelos Existen múltiples ventajas en el uso de modelos como herramientas poderosas para la toma de decisiones. Las principales son:     

Consideración de aspectos fundamentales del sistema que serían muy difíciles o imposibles de analizar sin la ayuda de los modelos; Definición precisa de los objetivos, estructura y restricciones del sistema; Definición de parámetros, costos e indicadores de eficiencia que recogen los aspectos más relevantes para el análisis del sistema bajo estudio; Evaluación sistemática de alternativas; Rápida respuesta de análisis de sensibilidad, los cuales de otra forma serían demasiado dificultosos o imposibles.

Por el contrario, existen también algunas desventajas que deben ser evaluadas antes de emprender la tarea de formulación de un modelo para la solución de un problema. Ellas son:    

Requerimiento y recolección de conjuntos de datos muy extensos y, en general, con altas exigencias en su grado de precisión; Requerimiento de conocimientos altamente especializados para su formulación, solución y análisis de resultados; Necesidad de disponer de sistemas de computación y programas complejos y costosos; Requerimiento de tiempos de solución muy largos, los cuales pueden en algunos casos puede resultar prohibitivos.

A pesar de estas desventajas potenciales, cuando se emprende la tarea de modelar una situación real y se identifican los aspectos básicos a ser involucrados en el modelo con la información requerida necesaria, las ventajas potenciales superan ampliamente cualquier dificultad que se encuentre.

2.1.3. Algunas Conclusiones con Respecto del Uso de Modelos Uno de los aspectos básicos de la modelación matemática es el de considerar el suficiente grado de abstracción de la realidad, de tal forma que el modelo tenga el suficiente realismo, contra la posibilidad de que sea resuelto en un tiempo de computación aceptable. El arte de modelar consiste precisamente en identificar las características fundamentales del sistema a ser involucradas en el modelo y en diseñar modelos que permitan ser resueltos en forma eficiente. Desde este punto de vista es tan importante y fundamental formular un modelo, como encontrar sus soluciones en un tiempo computacional aceptable, para después analizarlas e implementar las que se consideren mejores. La formulación de modelos debe ser un proceso progresivo, donde inicialmente se formule un modelo de poca elaboración y luego se refine gradualmente hasta obtener el

16

Introducción a la Modelación Matemática y Optimización

equilibrio mencionado anteriormente. Generalmente, es un error tratar de formular en el inicio del proceso el modelo más complejo y elaborado. Los modelos deben siempre considerarse como un soporte o ayuda para la toma de decisiones y nunca como el reemplazo de las personas que toman las decisiones. Si se formula un modelo pensando que sus resultados van a resolver todos los problemas de decisión y van a ser implementados “a ojos cerrados,” se cae en un grave error que puede traer consecuencias impredecibles. Existen en la realidad muchos factores que no pueden ser involucrados en modelos matemáticos y que sólo los grupos de personas que toman las decisiones pueden evaluar. Por lo tanto, desde este punto de vista, los modelos son una poderosa herramienta para este proceso, pero no el fin mismo de la decisión.

2.2. EJEMPLO DE FORMULACIÓN DE MODELOS A continuación se proponen algunos modelos ilustrativos que permiten precisar y analizar todo lo expresado anteriormente. Estos modelos serán formulados y discutidos en clase. 2.2.1. Planeamiento de Cultivos (Programación lineal) Uno de los experimentos sociales importantes en la región mediterránea es el sistema de comunas (Kibutz), o más ampliamente conocido como comunidades agrícolas comunales, el cual ha sido desarrollado en Israel. Es muy común para los grupos de comunas unirse y compartir servicios técnicos y también compartir su producción. En el presente ejemplo consideramos un sistema de tres comunas. La planeación global para este grupo se hace en la oficina técnica coordinadora. Esta oficina corrientemente planea la producción agrícola para el año venidero. Los productos agrícolas de cada comuna están limitados tanto por la cantidad de tierra irrigable disponible, como por la cantidad de agua asignada para irrigación. Las dimensiones de las comunas y su agua asignada para el próximo año se muestran en la Tabla 2.1. Tabla 2.1. Dimensiones y agua asignada de cada comuna COMUNA TIERRA USABLE (ha) AGUA ASIGNADA (m3) 1 400 600 2 600 800 3 300 375

Los cultivos apropiados para la región en consideración son remolacha, algodón y sorgo. Estos cultivos son los únicos que se considerarán para el período bajo análisis. Los cultivos difieren entre sí principalmente en su retorno neto esperado por hectárea (ha) y en su consumo de agua por hectárea cultivada. Adicionalmente, la oficina coordinadora ha implantado una máxima cuota para el total de hectáreas que se pueden destinar a cada uno de estos cultivos. Toda esta información se muestra en la Tabla 2.2.

Tabla 2.2. Máxima cuota, consumo de agua y retorno esperado de cada cultivo RETORNO MÁXIMA CUOTA CONSUMO DE AGUA CULTIVO ESPERADO (ha) (m3/ha) ($/ha) 600 3 400 Remolacha 500 2 300 Algodón 325 1 100 Sorgo

Las tres comunas han llegado a un acuerdo para que cada comuna siembre la misma proporción de su tierra irrigable disponible. Sin embargo, cualquier combinación de cultivos puede sembrarse en cualquiera de las comunas. Deben, entonces, planearse cuántas hectáreas destinar para cada tipo de cultivo en cada comuna. Formule un modelo de programación lineal para este efecto, de manera que se maximice el retorno neto esperado de todas las comunas. 2.2.2. El Problema del Transporte (Programación lineal) Una compañía multinacional posee n fábricas situadas en diferentes lugares, desde las cuales surte a sus m principales distribuidores localizados también en diferentes lugares. Continuamente las fábricas deben cubrir las demandas de sus distribuidores, teniendo en cuenta su capacidad de producción. Si ai es la capacidad de producción de la planta i (i = 1, 2, ..., n), bj es la demanda del distribuidor j (j = 1, 2, ..., m), y cij es el costo unitario de transporte desde la fábrica i hacia el distribuidor j (i = 1, 2, ..., n; j = 1, 2, ..., m), formule un modelo matemático de programación lineal que permita encontrar los flujos entre cada fábrica y cada distribuidor, de tal forma que se satisfaga la demanda al costo total mínimo de transporte. 2.2.3. El Problema del Salvavidas (Programación no-lineal) Un salvavidas se encuentra situado en un punto S sobre una playa plana y recta, situado a 30 m de la orilla, como muestra la Figura 2.2. Dentro del agua, en un punto P, situado 80 m a la izquierda de S y 100 m dentro del agua, se encuentra un bañista en peligro de ahogarse. El salvavidas puede correr a una velocidad lineal constante de 9 m/seg sobre la tierra y nadar a una velocidad lineal constante de 2.5 m/seg. Formule un modelo de programación matemática para determinar la ruta que debe seguir el salvavidas de tal forma que llegue lo más pronto posible donde se encuentra la persona en peligro. Discuta detalladamente el mayor número posible de supuestos que tuvo que considerar para obtener el modelo formulado. P agua 100 m

80 m tierra

30 m

S

Figura 2.22.2. El El problema del salvavidas Figura problema del salvavidas

18

Introducción a la Modelación Matemática y Optimización

2.2.4. Localización de una Nueva Bodega (Programación No-Lineal) Una empresa posee dos plantas, P1 y P2, que van a alimentar a una nueva bodega, W, la cual a su vez proveerá a tres centros de consumo, C1, C2 y C3. El producto A se produce en la planta P1 y el producto B se produce en la planta P2. Las plantas enviarán sus productos respectivos hacia la bodega, para ser distribuidos hacia los centros de consumo. El volumen total, el costo unitario de transporte y la localización de cada instalación se muestran en la Tabla 2.3. El costo de transporte se considera proporcional al volumen transportado y a la distancia recorrida, medida como la distancia euclidiana entre los dos puntos, o sea que la distancia entre los puntos (x1, y1) y (x2, y2) viene dada por:

Tabla 2.3. Datos de volumen, costo de transporte y coordenadas de cada punto COSTO DE COORD. COORD. VOLUMEN PUNTO i PRODUCTO TRANSPORTE xi yi TOTAL (t) [$/(t.km)] (Km) (Km) P1 A 2,000 0.050 3 8 P2 B 3,000 0.050 8 2 C1 A&B 2,500 0.075 2 5 C2 A&B 1,000 0.075 6 4 C3 A&B 1,500 0.075 8 8

Formule un modelo de programación matemática que permita determinar la localización óptima de la nueva bodega W de tal forma que se minimicen los costos totales de transporte. 2.2.5. Ofertas Para Ocupación de un Hotel (Modelo de Redes) Un hotel turístico muy demandado recibe una serie de ofertas para ocupación de uno de sus mejores conjuntos de habitaciones entre Mayo 1 y Agosto 31. Las ofertas varían en cuanto al precio de las habitaciones, ya que existen diferentes tipos de clientes, y en cuanto al día de llegada y al día de salida de los turistas. Por ejemplo, una oferta puede ser por $800,000 entre Junio 15 y Junio 18, mientras que otra oferta puede ser por $1,000,000 entre Junio 16 y Junio 20. Como el ejemplo muestra, no se permite superposición de ofertas, ya que se supone que cada una de ellas ocuparía completamente las habitaciones disponibles. Por lo tanto, de las dos ofertas mostradas en el ejemplo, sólo una puede escogerse. También, pueden existir períodos de tiempo donde no exista ninguna oferta. Formule un modelo de redes que permita encontrar la mejor forma de seleccionar las ofertas entre Mayo 1 y Agosto 31, de tal forma que se maximice el ingreso total del hotel para este período.

2.3. ALGORITMOS MODELOS

PARA

LA

SOLUCIÓN

DE

Una vez formulado un modelo matemático, éste debe resolverse para cumplir con los pasos de evaluación de las alternativas y selección de la(s) alternativa(s) óptima(s). El proceso que se utiliza para lograr este objetivo se denomina algoritmo. Un algoritmo es, por lo tanto, un conjunto finito de pasos, especialmente diseñado para la solución de un problema. Desde el punto de vista de cumplimiento de los objetivos de un algoritmo, se dice que éste es eficiente si resuelve el problema en un tiempo razonable. Por otra parte, se dice que un algoritmo es efectivo siempre y cuando produzca una solución de alta calidad, o sea una solución del problema bajo estudio que esté lo suficientemente cerca de la solución óptima como para que pueda ser utilizada en el proceso de diseño en ingeniería.

2.3.1. Tiempo de Solución de un Algoritmo El tiempo que un algoritmo emplea en resolver un problema es fundamental para determinar su utilidad en la solución de problemas reales. Supóngase que n es un indicador del tamaño del problema que se está resolviendo, como por ejemplo, el número de variables y/ó restricciones involucradas en él, y que el tiempo que emplea un algoritmo en resolver dicho problema es: (2.1) donde ak > 0. Se dice entonces que el algoritmo resuelve el problema en tiempo polinomial y que es “de orden nk”, lo cual se denota como O(nk). Si, por el contrario, el algoritmo es de orden O(2n), por ejemplo, se dice que el algoritmo es no-polinomial y que en este caso su tiempo de solución es exponencial. La Tabla 2.4 presenta un ejemplo de los tiempos de solución de un algoritmo, dependiendo de su orden. Nótese que incluso para problemas “pequeños”, si el orden del algoritmo es exponencial, puede que dicho algoritmo jamás resuelva el problema con los computadores que existen actualmente.

ORDEN DEL ALGORITMO

Tabla 2.4. Ejemplo de tiempos de solución de un algoritmo Tamaño del Tamaño del Tamaño del problema problema problema n = 10 n = 20 n = 40

Tamaño del problema n = 80

N

0.001 seg.

0.002 seg.

0.004 seg.

0.008 seg.

n3

0.001 seg.

0.008 seg.

0.064 seg.

0.512 seg.

2n

0.001 seg.

1.024 seg.

12.43 días

Fuente: Goetschalckx (1998), pág. 10

10

años!!

20

Introducción a la Modelación Matemática y Optimización

2.3.2. Clasificación de Tipos de Problemas Existen problemas para los cuales se conocen algoritmos de solución polinomiales. Independientemente del orden k del polinomio que refleja el tiempo de solución del algoritmo, se dice que estos problemas son “fáciles” de resolver y se clasifican como problemas tipo P. Existe otro tipo de problemas, por el contrario, para los cuales no se conoce ningún algoritmo de solución de orden polinomial, ya que todos los algoritmos conocidos corren en tiempo exponencial. Estos problemas se dice que son “difíciles” o “duros” de resolver y se clasifican como problemas tipo NP. Se dice, entonces, que estos problemas son NP-completos. La teoría desarrollada para la clasificación de problemas con respecto a su posibilidad de solución es mucho más compleja, pero la idea principal es que existen problemas fáciles de resolver con algoritmos conocidos polinomiales y otros difíciles de resolver, para los cuales no se ha descubierto o inventado ningún algoritmo eficiente. Esto no significa que los algoritmos eficientes no puedan existir, ya que las preguntas al respecto permanecen sin respuesta y son motivo de intensa investigación actualmente. Se piensa que para un problema NP-completo no existen algoritmos de solución polinomiales, pero esto no se ha podido demostrar o rechazar. Para este tipo de problemas, por lo tanto, se han desarrollado procedimientos heurísticos, los cuales no garantizan una solución óptima, pero tratan de encontrar una muy buena solución del problema en tiempo razonable. Es importante comentar, finalmente, que existen problemas que en general son NPcompletos, pero que para algunos de sus casos particulares dejan de serlo. Un ejemplo típico es la programación lineal entera. En general, un problema de programación lineal entera es NP-completo. Sin embargo, cierta clase de problemas de transporte y el problema de asignación, a pesar de ser problemas de programación lineal entera, no son NP-completos, ya que su estructura particular permite diseñar algoritmos eficientes para encontrar su solución óptima. A medida que se vayan desarrollando los diversos temas de esta publicación, se aclarará el tipo de problema tratado y las características de sus diversos algoritmos de solución. 2.3.3. Tipos de Algoritmos Existen diversos tipos de algoritmos para la solución de problemas, de acuerdo con su grado de complejidad y relación con el modelo formulado. Una forma de resolver problemas reales podría decirse que se trata de la experiencia y la intuición que la persona que toma las decisiones posee. En este caso no existe un modelo formal formulado para la solución del problema ni un algoritmo específico de solución. La calidad de la solución obtenida depende en gran parte de los conocimientos y experiencia de la persona que toma las decisiones. Este podría clasificarse como un método manual de solución de problemas. Un segundo tipo consiste en la utilización de hojas electrónicas. En este sentido, se diseñan hojas electrónicas para facilitar los cálculos correspondientes y se analizan posibles soluciones del problema. Las alternativas de solución en este caso son generadas con anticipación y lo que se hace es evaluarlas mediante la hoja electrónica. El resultado de este proceso será tan bueno como las alternativas generadas y su grado de procesamiento.

Un tercer tipo de algoritmo corresponde a los modelos de simulación. En este caso, se construye un conjunto de programas y rutinas que asemejan al sistema en estudio y se analizan múltiples resultados, variando las entradas al modelo. Aquí, sólo una alternativa puede ser evaluada a la vez, generando múltiples resultados con diversas réplicas o corridas del modelo. A pesar de que estos modelos reflejan la realidad de una manera muy fiel, su construcción puede ser compleja y no generan automáticamente soluciones óptimas. Otros algoritmos son diseñados para la solución de problemas de optimización. En este caso se puede disponer de algoritmos exactos, los cuales encuentran la(s) solución(es) óptima(s) del problema, o de métodos heurísticos, los cuales encuentran buenas soluciones del problema, pero no necesariamente óptimas. En cualquier caso, estos algoritmos consideran prácticamente todas las alternativas de solución del problema y seleccionan la(s) mejor(es). Un método heurístico se diseña para aproximar la solución de problemas NPcompletos, como se dijo anteriormente. Generalmente, consiste en una serie de pasos lógicos que pueden o no estar apoyados en técnicas de optimización. La calidad de los resultados de un procedimiento heurístico no siempre puede medirse y en muchas ocasiones es desconocida. En otras palabras, existen heurísticos que generan soluciones del problema pero no se puede determinar que tan lejos están de la solución óptima del mismo. En otros casos, sí se puede determinar la calidad de la solución y se puede decir por ejemplo que, en el peor de los casos, la solución encontrada está dentro de un cierto porcentaje de optimalidad. El grado de precisión de la solución será o no aceptable dependiendo de los objetivos planteados en la formulación del modelo. Finalmente, existen sistemas expertos que pueden utilizarse para resolver cierto tipo de problemas. En general, estos sistemas resuelven problemas operacionales, pero no son adecuados para resolver problemas tácticos o estratégicos de mayor nivel. En esta publicación nos centraremos en algoritmos de optimización exactos y en algunas técnicas heurísticas. Abordaremos inicialmente de los modelos de PL continua. Ejercicios 2.1 1) Considere el problema planteado en el numeral 2.2.4. relacionado con la localización de una nueva bodega. Trate de resolver este problema utilizando las siguientes técnicas: a) Manualmente, disponiendo de una calculadora y de su buen sentido común. b) Diseñe una hoja electrónica que le permita evaluar diversas alternativas de localización de la nueva bodega W. c) Diseñe un modelo de simulación el cual genere localizaciones aleatorias de la nueva bodega y calcule su costo total de transporte asociado. Pruebe el modelo con un número grande de localizaciones aleatorias generadas. d) Resuelva el modelo de programación no-lineal planteado en clase mediante un método iterativo que aproxime la solución en pasos sucesivos, y compare la calidad dada por este método con la obtenida mediante los métodos anteriores.

22

Introducción a la Modelación Matemática y Optimización

e)

Aplique algoritmos de solución especializados, tales como los existentes en el software WinQSB1, para encontrar la solución de este problema.

2) Una compañía petrolera está planeando construir un oleoducto para llevar petróleo crudo desde un pozo hasta un punto donde se embarcará en tanques y será transportado a la refinería. La figura siguiente muestra la disposición geográfica del pozo y del punto de embarque. Punto de embarque

Río

25 Km

Pozo de petróleo 320 Km

Los costos de construcción del oleoducto son los siguientes: Por la ribera del río donde está ubicado el pozo de petróleo: Por la ribera del río donde está ubicado el punto de embarque: Atravesando el río (por cualquier parte):

$72/Km $90/Km $150/Km

Formule un modelo matemático que le permita determinar cómo debe construirse el oleoducto de tal forma que el costo total de construcción sea mínimo. Defina para ello las variables de decisión adecuadas y construya la función objetivo y las restricciones con base en dichas variables. 3) Un barco de carga tiene tres bodegas: en la proa, en el centro y en la popa. Los limites de capacidad de cada bodega son: BODEGA Proa Centro Popa

CAPACIDAD TONELADAS 2000 3000 1500

CAPACIDAD PIES CUBICOS 100,000 135,000 80,000

Usted como propietario del barco puede aceptar el total o una parte de los artículos que se ofrecen para el transporte. Las características de estos artículos son las siguientes:

1

WinQSB (“Quantitative Systems for Business para Windows”), versión 1.00, por Yih-Long Chang.

ARTICULO

CANTIDAD EN TON. 6000 1000 2000

A B C

VOLUMEN PIES CUB/TN 60 50 25

UTILIDAD $/TN 6000 8000 5000

Para preservar el equilibrio del barco el tonelaje transportado en cada bodega debe ser proporcional a su capacidad en toneladas. Formule un modelo matemático que le permita determinar la mejor forma de cargar el barco para obtener la utilidad máxima.

4) Su compañía posee tres plantas, en las cuales elabora un componente pequeño para un producto industrial. La compañía comercializa el producto a través de cinco distribuidores en el país. Los pronósticos de ventas indican que los requerimientos mensuales por distribuidor son los siguientes: Distribuidor Demanda mensual

1

2 2700

3 2700

4 9000

5 4500

3600

La capacidad mensual de producción en cada planta y los costos unitarios de producción se ilustran en el siguiente cuadro: Planta Capacidad Costo Unitario de produccion $

1 4500

2 9000

3 11250

60

30

54

Los costos de envío a distribuidores desde las plantas se muestran en el cuadro siguiente, en $/unidad: Distribuidor Planta 1 Planta 2 Planta 3

1

2 1.5 2.4 3.0

3 2.1 1.8 2.7

4 3.3 3.0 2.7

5 4.5 3.6 3.0

4.8 4.5 4.8

Formule un modelo matemático que le permita determinar dónde producir los componentes y la forma de despacharlos hacia los distribuidores.

5) Para la elaboración de un producto químico se cuenta con 4 materias primas: A, B, C y D que contienen cierto factor f tal como se indica en el cuadro siguiente: MATERIA PRIMA A B C D

CONTENIDO FACTOR f (%) 51 11 14 36

COSTO POR KILOGRAMO $4.0 $2.0 $2.4 $3.0

24

Introducción a la Modelación Matemática y Optimización

Se trata de obtener una mezcla de una tonelada (1000 Kg), cuyo contenido del factor f sea por lo menos del 18% y con la condición que las materias primas B y C no constituyan más del 20% de la mezcla. Formule un modelo matemático que le permita determinar cuánto de cada materia prima debe utilizar para la mezcla con el mínimo costo posible.

6) Una industria de papel produce pulpa la cual puede vender al mercado local o utilizar para fabricar papel blanco o cartón. Una tonelada de cartón requiere 0.7 ton de pulpa, mientras que una tonelada de papel blanco consume 0.9 ton de pulpa (el cartón y el papel blanco requieren de otras materias primas que no se consideran en este problema). La pulpa se produce a partir de bagazo de caña de azúcar, con un rendimiento del 40%. Se dispone de 260,000 ton/año de bagazo. Las instalaciones para producir pulpa tienen capacidad para 250 ton/día. La máquina de cartón trabaja a una velocidad efectiva de 200 ton/día y la de papel blanco a 150 ton/día. La producción se hace durante 335 días al año, ya que el resto de tiempo se dedica a mantenimiento. Cada tonelada de papel blanco producida arroja al río 10 unidades de contaminación; una tonelada de cartón arroja 6 unidades y cada tonelada de pulpa arroja 20 unidades. Se permite un máximo total de 1,000,000 unidades de contaminación/año arrojada al río. Las utilidades netas por tonelada de pulpa, cartón y papel blanco son $50, $60 y $80, respectivamente. Formule un modelo de PL que permita estimar el mejor plan de producción anual. Asuma que todo lo que se produce puede venderse.

3. FORMULACIÓN DE MODELOS DE PROGRAMACIÓN LINEAL 3.1. ORÍGENES Y ANTECEDENTES HISTÓRICOS La Programación Lineal (PL) es una de las técnicas de la investigación de Operaciones. Muchos autores consideran que ha sido uno de los más importantes avances científicos del presente siglo y, de hecho, su gran aplicación y la magnitud de todos los problemas que ha resuelto, así lo confirman. Mediante la utilización de la PL se han logrado ahorros millonarios en las organizaciones que la han aplicado. Los orígenes de la PL se remontan hacia la década del 40, cuando el economista Leontief desarrolla el método de análisis insumo-producto. En 1947, Stigler plantea el conocido “problema de la dieta”, el cual trataba de buscar la combinación de alimentos más barata, que permitiera a la persona tener los requerimientos mínimos de proteínas, vitaminas, minerales, carbohidratos, etc. Y es en este mismo año cuando el Dr. George Dantzig concluye su desarrollo del método simplex de solución de problemas de PL. Sin este método la PL nunca hubiera tenido el desarrollo y la aplicación desde 1950 hasta nuestros días. Sin embargo, el método simplex tampoco hubiera sido tan útil sin la valiosa ayuda de los computadoras digitales, los cuales permitieron resolver problemas de gran magnitud rápida y eficientemente (en un estudio realizado por la IBM se concluyó que aproximadamente el 25% del tiempo de computador se dedica a cálculo de PL y sus afines). El método simplex se ha venido aplicando aproximadamente desde 1950 y su utilización actual es extensa, aunque todavía existen problemas de tal magnitud, los cuales son muy difíciles de resolver incluso con las capacidades computacionales que existen actualmente, debido precisamente a su tamaño y al tiempo de computador que se utilizaría en ellos. Uno de estos problemas son los de las compañías aéreas, los de las refinerías de petróleo y los de optimización de cadenas de suministro, los cuales normalmente tienen un alto número de variables y restricciones. Varios procedimientos especiales han sido diseñados para estos problemas, los cuales generalmente descomponen el problema original en una serie de subproblemas más fáciles de resolver. Igualmente, actualmente existen los denominados algoritmos de punto interior, los cuales compiten con el método simplex en algunos problemas y vienen implementados en el software especializado que resuelve modelos de programación lineal.

3.2. NATURALEZA DE LA PROGRAMACIÓN LINEAL La PL es la técnica de la Investigación de Operaciones más aplicada y mejor conocida. Básicamente, la PL trata de buscar la mejor forma de asignar recursos limitados a diferentes actividades competidoras.

26

Introducción a la Modelación Matemática y Optimización

Las organizaciones disponen de diversos recursos (humanos, económicos, tecnológicos, etc.), los cuales son necesariamente limitados, debido a su naturaleza. Las formas en que se pueden distribuir y utilizar estos recursos son múltiples y diversas. Pero no todas ellas proporcionan beneficios a la organización. Sólo una o unas pocas brindarán el máximo beneficio a la organización. Son precisamente estas soluciones óptimas las que pueden encontrar las técnicas basadas en la PL. Lo expuesto anteriormente brinda una idea muy general de lo que busca la programación lineal. Esta idea debe enmarcarse en un contexto más definido. Primero, la palabra programación se refiere a la planeación de recursos y no a algo relacionado con la programación de computadores. Segundo, el término lineal hace referencia a la naturaleza de las variables, sus relaciones y las funciones que utiliza la programación lineal. Ellas deben ser, como su nombre lo indica, lineales. Más adelante se estudiarán los supuestos básico que hacen que un problema se pueda clasificar como lineal. En los problemas que resuelve la PL debe existir primeramente un objetivo buscado por la organización. Este objetivo debe ser cuantificado por medio de una función objetivo lineal, la cual debe definirlo claramente. Ejemplos típicos de funciones objetivos son los de maximización de utilidades, minimización de costos, minimización de tiempos y maximización de probabilidades de éxito. Para definir claramente el objetivo buscado, deben identificarse con antelación las actividades que la organización puede desarrollar, representadas en las variables de decisión del problema. Una vez definidas las actividades y la función objetivo, se pasa a estudiar las restricciones del sistema, las cuales son el reflejo de los recursos limitados de que se dispone. El desarrollo de cada actividad consumirá parte de los recursos y la cuantificación total de la contribución de todas las actividades conformará las restricciones del sistema. Estas restricciones se expresan como funciones matemáticas lineales de igualdad o desigualdad. Una vez obtenidos la función objetivo y el cuerpo de restricciones, se pasa a la solución del modelo, si ésta existe, y a su análisis correspondiente. En PL es más importante la obtención del modelo que la solución del mismo, excepto en el caso de que existan condiciones especiales o en problemas de gran tamaño, donde la solución se vuelve dificultosa. Esto se explica porque actualmente la solución de grandes problemas de PL puede hacerse en forma muy eficiente utilizando el método simplex. Los problemas de PL son tipo P, ya que se conocen algoritmos polinomiales para resolverlos. Curiosamente, se conocen problemas para los cuales el algoritmo simplex corre en tiempo exponencial. Sin embargo, en la práctica nunca se ha observado este comportamiento del método simplex y por ello sigue siendo tal vez el método más eficiente de solución de problemas de programación lineal.2 Existen, por ejemplo, un gran número de procedimientos que resuelven subproblemas de PL miles de veces en forma eficiente. Por ejemplo, como se analizará más adelante, la solución de problemas de programación entera mediante las técnicas de ramificación y

2

Para mayores detalles sobre esta discusión, consultar Chvátal (1983), Capítulo 4, pág. 45–52.

acotamiento requiere de la solución de un gran número de subproblemas de programación lineal continúa. La obtención del modelo se basa en la observación cuidadosa del sistema bajo estudio. Este paso es fundamental para que los resultados eventuales del modelo tengan validez.

3.3. SUPOSICIONES DE LOS PROGRAMACIÓN LINEAL

MODELOS

DE

Las condiciones básicas que deben cumplirse para que tanto la función objetivo como cada una de las restricciones sean de naturaleza lineal son la proporcionalidad y la aditividad. Ellas se explican a continuación.

3.3.1. Proporcionalidad La proporcionalidad expresa básicamente que si una unidad de la actividad i cuesta $a y gasta b unidades del recurso j, entonces xi unidades de la misma actividad costarán $axi y consumirán bxi unidades del recurso j. Esto debe ser válido para cualquier actividad i y para cualquier recurso j, de tal forma que el modelo obtenido sea lineal. La proporcionalidad debe, por lo tanto, existir en todas las restricciones y en la función objetivo. Este no es el caso más común en la realidad. Sin embargo, dentro de ciertos rangos normales de operación de los sistemas, existe comúnmente la proporcionalidad. Fuera de estos rangos es probable que haya que utilizar otras técnicas, tales como la programación no-lineal.

3.3.2. Aditividad El hecho de que exista la proporcionalidad para todas las actividades no garantiza que todas las funciones sean lineales, ya que puede existir cierto grado de dependencia entre las actividades, lo que ocasionaría la aparición de no-linealidades. Lo que plantea la aditividad, por lo tanto, es que las contribuciones de cada actividad a la función objetivo y a las restricciones sean independientes de otras actividades. A manera de ilustración, supóngase que una empresa produce los artículos A y B, los cuales producen utilidades unitarias de $30/unidad y $20/unidad, respectivamente, e independientemente de las cantidades que se produzcan. Así, la función objetivo se escribiría como: (3.1) Donde XA y XB son las cantidades a producir de A y B, respectivamente. Obsérvese, primero, que el supuesto de proporcionalidad está implícito en la función objetivo (3.1). Además, las contribuciones de cada actividad, XA y XB, son independientes entre sí.

28

Introducción a la Modelación Matemática y Optimización

Supóngase ahora que el hecho de producir una mayor cantidad del artículo B, hace que los costos de producción del artículo A se incrementen. Así, por ejemplo, la utilidad unitaria del artículo A se vería disminuida mediante cierto factor y podría expresarse como $(30 – 0.0001XB)/unidad. La función objetivo sería por lo tanto: –

(3.2)

Claramente, al aparecer el producto cruzado XAXB, la función objetivo deja de ser lineal, convirtiéndose en una función cuadrática de manejo dificultoso. Cabe la pregunta de por qué la PL se utiliza tan ampliamente si estos supuestos casi nunca se cumplen en la práctica? Una respuesta simple es que afortunadamente las no-linealidades de la práctica en la mayoría de los casos pueden adaptarse, transformarse o asumirse como lineales dentro de cierto rango de validez. A medida que se vayan desarrollando los modelos típicos se verá que realmente la suposición de linealidad es razonable en la mayoría de los casos analizados.

3.3.3. Certeza y Divisibilidad Algunos autores hablan de otros dos supuestos, la certeza y la divisibilidad (Ver Hillier y Lieberman (1997)). La divisibilidad se aplica fundamentalmente a problemas de números enteros. Existen muchos casos prácticos en los cuales las variables de decisión o actividades sólo tienen significado físico si sus valores son enteros. Por ejemplo, si una compañía de aviación está analizando cuántos aviones comprar de cierto tipo, es obvio que una respuesta de 2.33 aviones no es satisfactoria y deberá darse una respuesta entera en su lugar, la cual no necesariamente corresponde a alguno de los enteros vecinos. Para problemas enteros se han desarrollado técnicas de solución especiales, las cuales se siguen investigando actualmente. Una introducción a este tópico se presentará posteriormente. La certeza, más que un supuesto, es una característica propia de los modelos de PL. Se dice entonces que todos los valores de los parámetros que alimentan el modelo tienen valores determinísticos, o sea que no se consideran como variables aleatorias. Una demanda de un producto, por ejemplo, se obtiene como un valor promedio estimado, pero su distribución probabilística propia no se considera en el modelo. En la mayoría de los casos prácticos, ningún parámetro o variable puede considerarse determinístico. En la mayoría de los casos, los parámetros y variables tienen un rango de validez entre los cuales pueden oscilar sus valores y, por lo tanto, se constituyen en variables aleatorias cuya distribución probabilística puede o no ser conocida. Actualmente están en investigación y desarrollo técnicas de programación lineal estocástica y programación lineal con conjuntos difusos, donde se consideran algunos parámetros de los modelos como variables aleatorias3.

3

Ver, por ejemplo, Taha (1998), pág. 807.

Dado que el desarrollo de la programación lineal estocástica es muy incipiente, el problema de la incertidumbre de los parámetros de los modelos de PL aún se resuelve de una forma relativamente sencilla, haciendo uso de los análisis de sensibilidad. Normalmente se obtiene la solución óptima utilizando los mejores estimados de los parámetros y, posteriormente, se analizan los posibles efectos de su variación sobre la solución óptima original. Si estos efectos no son significativos, no se justifica invertir mayor esfuerzo, tiempo y dinero en su estimación más precisa. Si por el contrario, se observa que el efecto de cambios pequeños en los valores de ciertos parámetros es significativo, debe prestársele especial atención a su estimación más precisa y a su posibilidad de cambio real en el sistema bajo estudio. Igualmente, existen otras tendencias actuales tales como la combinación de modelos matemáticos con modelos de simulación4, los cuales representan de una manera más fiel los sistemas y sus variabilidades, y otros como el análisis de diversos escenarios aleatorios con la ayuda de modelos de optimización5. A continuación se presentan diversos ejemplos de formulación de modelos de programación lineal. Cada uno de ellos analiza aspectos diferentes e introduce distintos factores útiles para la formulación real de modelos aplicables en la práctica.

3.4.

FORMULACIÓN DE MODELOS DE PROGRAMACIÓN LINEAL

A continuación se estudian y analizan varios modelos típicos de Programación Lineal, los cuales aclararán todas las ideas expuestas anteriormente.

3.4.1. Modelo Nº 1: Programa de Producción Una compañía productora de elementos eléctricos tiene durante este mes un sobrante en su capacidad total de producción, el cual quiere utilizar para la manufactura de dos artículos de rápida venta, los transformadores de 40 VA y los transformadores de 75 VA. Por su experiencia, se han reunido los siguientes datos:

TRANSFORMADOR 40 VA 75 VA

UTILIDAD HORASNETA HOMBRE UNITARIA [$] POR UNIDAD 400 1 700 7/3

HORAS MAQUINA 1 POR UNIDAD 1.0 1.4

HORAS MAQUINA 2 POR UNIDAD 1.0 1.0

El sobrante en la capacidad de producción se ha estimado en 1400 hr.hombre, 980 hr. en la máquina 1 y 900 hr. en la máquina 2, para este mes. ¿Cuál es la mejor forma de planear la producción? a)

4 5

Variables de decisión

Ver, por ejemplo, Hicks (1999). Ver, por ejemplo, Escudero et al. (1999).

30

Introducción a la Modelación Matemática y Optimización

Las actividades en las que está interesada esta empresa en el momento son: Producir transformadores de 40 VA y/ó de 75 VA. Por lo tanto, las variables de decisión son: X1 = Número de transformadores de 40 VA que va a producir en el mes. X2 = Número de transformadores de 75 VA que va a producir en el mes. b)

Función Objetivo

El objetivo de la empresa es maximizar sus utilidades aprovechando la capacidad sobrante de producción; por lo tanto la función objetivo es:

Obsérvese que es muy importante definir las unidades de la función objetivo. En este caso la función “U” debe ser MAXIMIZADA. c)

Restricciones

Las restricciones surgen por la limitación de los recursos. En este caso sólo se dispone de cierto número de hr.hombre y de hr.máquina para distribuir entre las dos actividades definidas. Cada actividad “gasta” cierta fracción de esos recursos. Con base en lo anterior, las restricciones son:

Obsérvese que en las restricciones anteriores van implícitas las suposiciones de proporcionalidad y aditividad. Estas restricciones surgen del hecho de tener un número límite disponible de hr.hombre, hr.máquina 1 y hr.máquina 2. Lo anterior explica el que las restricciones sean de desigualdad (), o sea que no necesariamente todos los recursos deben ser utilizados: Pueden existir sobrantes, como se verá más adelante. Note también que todas tienen incluidas unidades. Aparte de estas restricciones están las obvias, las cuales son de 2 tipos: De no-negatividad y de enteros. Las de no-negatividad se explican por el simple significado físico: no se puede producir un número negativo de artículos y la de enteros, en este caso, tiene sentido ya que se trata de artículos “numerables”. Estas restricciones son:

d)

Modelo de Programación Lineal

A continuación se condensa el modelo, fusionando la función objetivo con las respectivas restricciones: Función Objetivo

Sujeto a: Restricciones

Restricciones Obvias

El anterior es un modelo típico de Programación Lineal. En un modelo cualquiera las restricciones pueden ser de igualdad o de desigualdad (  , =,  ). Observe que el problema real de la fábrica se ha abstraído en el modelo anterior y su solución brindará los valores de X1 y X2 que hagan máxima a “U”, cumpliendo con todas las restricciones. Al tener estos valores, se habrá resuelto el problema de planeación de la producción, o sea que éste se reduce simplemente a encontrar la solución óptima del modelo. Más importante que esta solución es el hecho de haber llegado a él, con todo el trabajo previo y las consideraciones que ello implica. A la solución de modelos de este tipo se referirá la sección siguiente.

3.4.2. Modelo Nº 2: Un Mini-Problema de Dieta Debido a la difícil situación económica por la que atraviesa el mundo, suponga que usted decidió alimentarse solo con huevos y arroz. Asuma que el cuerpo humano como mínimo debe disponer diariamente de 2700 Kcalorías, 56 gr de proteínas y 1.4 mg de vitamina B1. Usted sabe que el contenido que brindan los alimentos seleccionados y su costo aproximado son: TRANSFOR MADOR 40 VA 75 VA

HORASHORASUTILIDAD HORASMÁQUINA 1 MÁQUINA 2 NETA HOMBRE POR POR POR UNITARIA [$] UNIDAD UNIDAD UNIDAD 400 1 1,0 1,0 700 2 1/3 1,4 1,0

32

Introducción a la Modelación Matemática y Optimización

Nota: Una porción se refiere a una cantidad estándar normal para el consumo humano. Por ejemplo, una porción de huevo = 1 huevo y una porción de arroz = 100 gr de arroz. Su problema es entonces determinar qué cantidad de cada alimento a consumir diariamente para cumplir con sus necesidades alimenticias al mínimo costo posible. a)

Variables de decisión

Sean: X1 = Porciones de huevo a comprar diariamente. X2 = Porciones de arroz a comprar diariamente. b)

Función Objetivo: Minimizar costos diarios:

c)

Restricciones:

Note que en este caso las restricciones son de mayor o igual, pues se trata de requerimientos mínimos. Además no aparece inicialmente la restricción por enteros (variables continuas). d)

Modelo de Programación Lineal

El modelo de PL consiste entonces en la función objetivo anterior sujeto a las tres restricciones enunciadas anteriormente. La solución óptima de este problema es la siguiente: X1 = 1.37 porciones de huevo y X2 = 23.55 porciones de arroz. O sea que le tocaría consumir un huevo grande diario y unas 4 libras diarias de arroz, con un costo mínimo total de $3,708 $/día. Si al modelo se le agregan las restricciones de porciones enteras, entonces la solución óptima sería X1 = 1 huevo y X2 = 25 porciones de arroz, con un costo mínimo de $3,800 diarios. Finalmente, si usted quiere al menos comerse 3 huevos diarios, agregando la restricción X1  3 (Huevos/dí a) , la nueva solución óptima sería: X1 = 3 huevos y X2 = 23 porciones de arroz, con un costo mínimo de $4,120 diarios. Note que en este último caso, se ha refinado el modelo para tener en cuenta las posibles restricciones de gusto y preferencias en la dieta y observe que el costo mínimo siempre aumenta cuando se introducen más restricciones en el modelo.

3.4.3. Modelo Nº 3: Un Problema de Corte de Papel (Cutting Stock) Una industria productora de papel recibe un pedido de la siguiente forma: 600 rollos de 35 pulg. de ancho 300 rollos de 30 pulg. de ancho 200 rollos de 40 pulg. de ancho 100 rollos de 50 pulg. de ancho La industria tiene en sus bodegas rollos semejantes, pero de 114 pulg. de ancho, y en cantidad suficiente y decide utilizarlos para el pedido, cortándolos en los diferentes anchos solicitados. ¿Cuál es la mejor forma de cortar los rollos de 114 pulg. de ancho para satisfacer el pedido y minimizar el desperdicio de papel? a)

Definición de las Variables de decisión

En este caso no es tan inmediata la definición de las variables de decisión. Se hace necesario encontrar todos los posibles patrones de corte lógicos que se pueden hacer para satisfacer el pedido; ellos son:

PATRÓN DE CORTE Y ROLLOS OBTENIDOS

ANCHO DEL ROLLO (pulg.) 1 3 0 0 0

30 35 40 50 DESPERDICIO (pulg.)

2 0 3 0 0

24

3 1 0 2 0 9

4 0 0 0 2 4

14

5 2 1 0 0 19

6 2 0 1 0

7 2 0 0 1

14

8 1 2 0 0 4

14

9 0 2 1 0

10 1 1 1 0 4

9

11 0 1 0 1 29

12 0 0 1 1 24

Note que se consideran desperdicio de los rollos resultantes de menos de 30 pulg. de ancho. El desperdicio se considera proporcional al ancho perdido, pues se supone que todos los rollos de 114 pulg. de ancho son del mismo largo (en realidad el desperdicio se mediría en pul2 o Kg de papel). Así, las variables de decisión serían: Xi = Número de rollos de 114 pulg. de ancho a cortar según el patrón i (i = 1, 2, .., 12). b)

Función Objetivo

En este caso sería minimizar el desperdicio total, así:

c)

Restricciones

34

Introducción a la Modelación Matemática y Optimización

Las restricciones en este caso surgen simplemente de la satisfacción del pedido, así

Note que lo que interesa es simplemente satisfacer el pedido y por ello las restricciones son de igualdad. Sin embargo, la solución del modelo varía notablemente con restricciones de  (ver pág. 26- A). El modelo matemático será la reunión de la función objetivo y las respectivas restricciones. Solución del modelo Nº 3: Corte de papel 1. Con restricciones de igualdad: Se generan infinitas soluciones. Seis de ellas son:

X 2  200 X 1  331 3 X 2  50 X 3  100 X 2  66 2 3 X 5  50 X 7  100 X 7  100 X9  0

X 9  200

X 2  100 X  100 X  100 7 7 X 6  50

X 8  100 X 8  100 X 7  100 X 7  100 X  200 X 9  200 X 9  200 X 9  150 9

En todos los casos: Dmínimo = 2600 pul 2. Con restricciones de 

X 3  100 X 4  50 X 7  150 X 9  300 Dmín = 1800 pul. Aquí sobran rollos, pero se cumple con el pedido. Comente sobre las implicaciones de estas dos soluciones y su relación con casos reales.

3.4.4. Modelo Nº 4: Carga de un Avión Un avión de carga tiene tres bodegas o compartimentos, adelante, al centro y atrás. Estos compartimentos tienen límites de volumen y peso, así: COMPARTIMIENTO Adelante Central Atrás

CAPACIDAD MÁXIMA POR PESO EN TON. 16 20 14

VOLUMEN MÁXIMO EN METROS CÚBICOS 200 250 150

El propietario del avión tiene posibilidad de llevar parte de la carga o toda la que se le ofrece (si tiene capacidad). Esta carga y sus características son las siguientes:

TIPO

CLASE DE CARGA

1 2 3 4

Herram. Libros Flores Artesanías

VOLUMEN EN UTILIDAD CANTIDAD METROS OBTENIDA POR OFRECIDA PARA CUBICOS POR SU TRANSPORTE LLEVAR (EN TON.) TON. EN $/TON. 20 1,0 250.000 15 2,0 280.000 8 10,0 500.000 10 6,0 360.000

Para preservar el equilibrio del avión, el peso transportado en cada compartimiento debe guardar la misma proporción con respecto a su capacidad. Formule un modelo matemático para determinar cuál tipo de carga, qué cantidad y qué compartimentos debe el propietario del avión escoger para maximizar su utilidad y no correr peligro durante el viaje. a)

Variables de decisión

En este tipo de problema se empieza a ver la necesidad de definir las variables con dos subíndices, pues la decisión debe hacerse en dos etapas: qué tipo de mercancía y a dónde llevarla. Así: Xij = Toneladas de la carga tipo “i” a ser transportada en el compartimiento “j”. i=1 i=2 i=3 i=4

Herramientas Libros Flores Artesanías

j=1 j=2 j=3

Compartimiento delantero Compartimiento central Compartimiento trasero

Es decir, que existirán 4 × 3 = 12 variables de decisión, a saber: X11, X12, X13, X21, X22, X23, X31, X32, X33, X41, X42 y X43. Si se considera más fácil, las variables podrían reenumerarse, por ejemplo, Y1, Y2,....., Y12 ó incluso X1, X2,....., X10, X11, X12. Sin embargo, la utilización de los subíndices siempre deja mayor claridad en el significado físico de las variables.

36

Introducción a la Modelación Matemática y Optimización

b)

Función Objetivo

Maximizar utilidad. De acuerdo a la definición, la función sería de la siguiente forma:

Los 4 términos anteriores corresponden a las utilidades respectivas por el transporte de herramientas, libros, flores y artesanías. Obsérvese que es necesario, comprobar siempre las unidades en que se expresan las funciones. c)

Restricciones

En este caso existen cuatro grupos diferentes de restricciones, así: Por la capacidad en peso de cada compartimiento del avión, por la capacidad volumétrica de los mismos, por la cantidad de tipo de carga ofrecida para su transporte y por la condición de equilibrio del avión. Estos grupos de restricciones son: Por capacidad en peso en cada compartimiento:

Por capacidad volumétrica de cada compartimiento:

Por cantidad ofrecida de cada tipo de carga:

Por el equilibrio del avión:

Restricciones obvias:

d)

Modelo de Programación Lineal

Se obtiene fusionando la función objetivo con las restricciones anteriores. Solución del modelo Nº 4: Carga de un avión Utilidad máxima: 1.605 x 107 [$]. El avión debería cargarse de la siguiente forma (en toneladas): X11 = 5 X12 = 12 X21 = 6.2 X23 = 8.8

X32 = 8 X41 = 4.8 X43 = 5.2

Holguras: Sobran 153.8 m3 en la bodega delantera. Sobran 158 m3 en la bodega central. Sobran 101.2 m3 en la bodega trasera. Sobran 3 toneladas de herramientas, que no se transportan. Todas las bodegas van a su capacidad máxima en peso.

3.4.5. Modelo Nº 5: Programa de Producción en el Tiempo

MES 1 2 3 4

CONTRATO CAPACIDAD DE COSTO UNITARIO DE VENTAS PRODUCCIÓN EN DE EN UNIDADES UNIDADES PRODUCCCIÓN 20 40 $ 140 30 50 $ 160 50 30 $ 150 40 50 $ 170

Un fabricante debe cumplir un contrato a cuatro meses durante los cuales varían los costos de producción. El costo de almacenamiento de unidades producidas en un mes determinado y no vendidas en ese mes es de $10 por unidad y por mes. Se dispone de la siguiente información: Formule un modelo matemático para determinar el programa óptimo de producción que cumple con el contrato a costo total mínimo. Este modelo ilustra el hecho de que pueden existir formas diferentes de definir las actividades. Algunas de estas formas pueden ser mejores y más manejables que las otras y la eficiencia del modelo obtenido depende en gran parte del “arte” de definirlas correctamente.

38

Introducción a la Modelación Matemática y Optimización

3.4.5.1. a)

Primera forma de formulación:

Variables de decisión

Sean Xi = Número de unidades producidas en el mes i; i =1, 2, 3, 4. b)

Función Objetivo

La función objetivo tiene dos componentes: Los costos de producción y los costos de almacenamiento. Costos de producción CP:

Costos de almacenamiento CA: Para encontrar la expresión para estos costos, es necesario ilustrar el “balance de las unidades” a través del tiempo, así:

MES

DESCRIPCIÓN Inventario inicial Producción Ventas Inventario Final

1

2

3

4

0 X1 20 X1-20

X1-20 X2 30 X1+X2-50

X1+X2-50 X3 50 X1+X2+X3-100

X1+X2+X3-100 X4 40 X1+X2+X3+X4-140

Así, utilizando la convención de “fin de mes”, los costos de almacenamiento serían:

Es decir, que la función objetivo simplificada es:

39

c)

Restricciones:

Por capacidad de producción:

Por contrato de ventas:

Obvias:

d)

Modelo matemático:

Sujeto a:

3.4.5.2. a)

Segunda forma de formulación:

Definición de las Variables de decisión

Sean Xij = Número de unidades producidas en el mes i y vendidas en el mes j; i =1, 2, 3, 4; j =1, 2, 3, 4. Nótese que la condición j  i indica el significado lógico de que una unidad sólo puede ser vendida después de haber sido producida; así, las variables de decisión son: X11, X12, X13, X14, X22, X23, X24, X33, X34 y X44,

40

Introducción a la Modelación Matemática y Optimización

b)

Función Objetivo

En este caso no hay necesidad de construir el flujo de las unidades para encontrar la función objetivo, pues ya lo tienen intrínseco. Así:

Costos de producción CP:

Costos de almacenamiento CA:

En la expresión anterior, el primero término representa el costo de las unidades que han estado almacenadas durante un mes, el segundo término las que han estado almacenadas durante dos meses, y el último durante tres meses. Así la función objetivo será:

c)

Restricciones:

Por capacidad de producción:

Por contrato de ventas:

Obvias:



41

d)

Modelo matemático:

Sujeto a:

 3.4.5.3.

Solución del modelo Nº 5: Programa de producción en el tiempo

Primera forma de formulación: Costo mínimo = $22.100 X1 = 40; X2 = 30; X3 = 30; X4 = 40 Segunda forma de formulación: Costo mínimo = $22.100 (Como es de esperarse). Se producen infinitas soluciones. Las 2 básicas son: X11 = 20 X13 = 20 X22 = 30 X33 = 30 X44 = 40

X11 = 20 X12 = 20 X22 = 10 X23 = 20 X33 = 30 X44 = 40

Obsérvese la completa correspondencia entre las dos soluciones. Nótese que este modelo aunque tenga igual número de restricciones que el de la primera forma de solución, tiene 10 variables, mientras que el primero tiene 4. Esto podría ser una desventaja de manejo del modelo. Sin embargo, este último permite no sólo tener las unidades que se deben producir en un mes determinado (tal como el primer modelo), sino también cuando deben venderse. O sea que, indudablemente el segundo modelo es superior al primero.

42

Introducción a la Modelación Matemática y Optimización

3.4.6. Modelo Nº 6: Problema del Trasporte Una compañía multinacional posee “n” fábricas en diferentes partes del mundo, desde las cuales surte a sus principales distribuidores, “m” en total, localizados en diferentes países (en algunos posee fábricas y distribuidores simultáneamente). El costo de transporte desde las fábricas hacia los distribuidores es diferente para cada uno de ellos. Continuamente las fábricas deben cubrir las demandas de sus distribuidores, teniendo en cuenta su capacidad de producción. Si: a1, a2, a3, ..., an son las capacidades de producción de las plantas 1, 2, ..., n, respectivamente; b1, b2, b3, ..., bm son las demandas de los distribuidores 1, 2, ..., m, respectivamente, y Cij (i =1, 2, 3,...,n; j =1, 2, 3,..., m) son los costos unitarios de transporte desde la fábrica i hacia el distribuidor j, formúlese un modelo de Programación Lineal para satisfacer la demanda de todos los distribuidores sin violar la capacidad de producción de las plantas, con el costo total mínimo de transporte. Este modelo representa una de las aplicaciones más importantes de la Programación Lineal. Su naturaleza es de tal forma que se han desarrollado métodos de solución especiales para este tipo de modelos (algoritmo simplex de transporte). a.

Variables de decisión

Sean Xij = Cantidad (ó número) de unidades a despachar desde la planta i hacia el distribuidor j; i =1, 2, 3, ...,n; j =1, 2, 3, ..., m. b.

Función Objetivo

c.

Restricciones

Por capacidad de las plantas:

Esta expresión representa “n” restricciones, una para cada planta. Por demanda de los distribuidores:

Esta expresión representa “m” restricciones, una para cada distribuidor.

43

Obvias: ; i =1, 2, 3, ..., n; j =1, 2, 3, ..., m 3.4.7.

Modelo Nº 7: Programación de Metas

Cierta compañía planea introducir al mercado tres nuevos productos, debido a la próxima obsolescencia de los que produce actualmente. El interés de la gerencia es determinar las tasas de producción de cada uno de los productos, teniendo en cuenta tres objetivos fundamentales: a.

Lograr un Valor Presente Neto mínimo de mil millones de pesos (Utilidad a largo

plazo). b. Mantener el recurso laboral actual de 100 empleados (Nivel de empleo). c. Sostener la inversión de capital en el nuevo equipo de 400 millones de pesos (Inversión inicial). Como el gerente utiliza a menudo el Enfoque de Sistemas en sus decisiones, establece un “puntaje de penalización” para cada objetivo en caso de no cumplirse éste a cabalidad, así:

OBJETIVO (a) (b) (c)

PUNTAJE DE PENALIZACIÓN 6 puntos por cada diez milloes de pesos menos en el VPN 3 puntos por cada 100 empleados de más, 4 puntos por cada 100 empleados de menos 4 puntos por cada diez millones de pesos en que se sobrepase la inversión inicial

La contribución de cada producto la utilidad a largo plazo, al nivel de empleo y a la inversión de capital es proporcional a su tasa de producción y las contribuciones unitarias de cada producto son: CONTRIBUCIÓN UNITARIA OBJETIVO

PRODUCTO PRODUCTO PRODUCTO 1 2 3

(a)

15

8

12

(b)

3

2

1

(c)

4

5

7

UNIDAD DE MEDIDA Decenas de millones de $ Cientos de empleados Decenas de millones de $

¿Cuáles deben ser las tasas de producción de cada producto para que los objetivos se cumplan de la mejor forma posible?

44

Introducción a la Modelación Matemática y Optimización

a) Identificación de las metas: Si se definen las actividades como Xi = Tasa de producción del producto i (i=1,2, 3), las metas a cumplir serían las siguientes (en su orden: Objetivos (a), (b) y (c)):

b) Definición de variables auxiliares: Dado que es necesario involucrar en el modelo los puntajes de penalización por el incumplimiento de las metas, se definen las siguientes variables auxiliares.

Obsérvese que las variables Yi (i =1, 2, 3,) pueden ser positivas o negativas. Por ejemplo, si Y1> 0, indica que la utilidad ha sobrepasado los 1000 millones de pesos, pero si Y1< 0, entonces la utilidad ha sido inferior a esa cifra y el objetivo no se habría cumplido. Dado que manejar variables libres (las que pueden tomar valores positivos) no es conveniente y debido a la naturaleza del problema, se reemplaza cada variable Yi (i = 1, 2, 3) por la diferencia de dos variables positivas, así:

c) El modelo de Programación Lineal: La función en este caso debe definirse como la minimización de los puntajes de penalización impuestos por el Gerente, ya que entre más pequeña sea la suma, más próximo se estará al cumplimiento de todos los objetivos. Por ejemplo, para el objetivo (a), si la variable es igual a 1, contribuirá con 6 puntos de penalización a la función objetivo, pues esto indicaría una disminución de 10 millones de pesos en la utilidad de la compañía; de acuerdo a lo anterior, el modelo sería el siguiente:

Sujeto a:

45

Obsérvese que hay variables que aparecen en las restricciones mas no en la función objetivo, y más aún, las variables de decisión no aparecen directamente en la función objetivo. Esto puede parecer sorprendente, pero en realidad las variables de decisión están estrechamente relacionadas con las variables auxiliares de la función objetivo (recordar la definición de estas últimas). La solución óptima de este modelo, aplicando el método simplex, es:

O sea que el producto 2, de acuerdo con la solución óptima, no debería producirse. Las metas de utilidad a largo plazo y de inversión inicial se cumplen a cabalidad, produciéndose 100 decenas de millones de utilidad es invirtiéndose inicialmente 40 decenas de millones de pesos. La meta de nivel de empleo no puede ser cumplida y, dado que   Y2  Y2  Y2 , Y2  5.087  0.0000  5.0877 , el nivel de empleados debe ser aumentado en 5.0877 cientos, para poder cumplir con las otras dos metas. Obsérvese que el puntaje óptimo P* = 15.2632 se obtiene de penalizar con 3 puntos por cada 10 empleados de más en la función objetivo.

Cuando la solución anterior pase a ser analizada, probablemente presentará serias objeciones. Por ejemplo, el hecho de que el producto 2 no aparezca en la solución óptima (O sea que se descontinuaría) puede implica una reacción contraria de mercadeo. Además, aumentar el número de empleados en 509, puede no ser factible. Por lo tanto, la solución se puede tomar como una base y se deben aplicar análisis de sensibilidad para tener más elementos de juicio para tomar las elecciones adecuadas.

46

Introducción a la Modelación Matemática y Optimización

3.4.8. Modelo Nº 8: Un Problema “Probabilístico” En cierto período de guerra, el comando aéreo recibió la orden de destruir la producción de tanques del enemigo, quien tiene cuatro plantas claves localizadas en ciudades separadas. La destrucción de cualquiera de las plantas parará efectivamente la producción de tanques. Existe una aguda escasez de combustibles para llevar a cabo la misión, con un limitante de 51,000 galones. Cualquier bombardero enviado a una ciudad en particular debe tener combustible para ir y volver y una reserva de 150 galones. El número de bombarderos disponibles en el comando y su descripción se dan a continuación. TIPO DE BOMBARDERO Pesado Mediano

KILÓMETROS POR GALÓN 3,0 4,5

NÚMEROS DISPONIBLE 48 35

La información acerca de la localización de las plantas y su vulnerabilidad de ataque por estos dos tipos de aviones es la siguiente:

PLANTA

DISTANCIA DESDE LA BASE EN Km.

1 2 3 4

675 720 810 900

PROBABILIDAD DE SER DESTRUÍDA POR: BOMB. BOMB. PESADO MEDIANO 0,10 0,08 0,20 0,16 0,15 0,12 0,25 0,20

Formule un modelo de programación lineal para determinar cuántos bombarderos de cada tipo deben ser enviados a cada planta, con el objetivo de maximizar la probabilidad de éxito de la misión. Se asume que no se causa ningún daño en la planta si un bombardero falla al destruirla. a.

Variables de decisión:

Sean Xij = Número de bombarderos tipo “i” a ser enviados a la planta “j”; i = 1: Bombardero tipo pesado, i = 2: Bombardero tipo mediano, j = 1, 2, 3, 4: Plantas 1, 2, 3 y 4, respectivamente. b.

Función objetivo:

En este caso hay dos formas de plantear la función objetivo: Maximizar la probabilidad de éxito ó Minimizar la probabilidad de fracaso. Dado que un solo bombardero puede destruir la planta, la probabilidad de éxito sería difícil de expresar, pues sería la suma de las probabilidades de todas las posibles combinaciones. Es más sencillo minimizar la probabilidad de fracaso, pues el fracaso total de

47

la misión significa que todos los bombarderos fallen en todas las plantas y recuérdese que con sólo destruir una planta se para la producción de tanques del enemigo. La probabilidad de fracaso sería la intersección (producto) de todas las probabilidades de fracaso de cada bombardero a cada planta (se considera independiente la acción de cualquier bombardero con respecto a la de cualquier otro). Así, la expresión para la función objetivo sería:

Como puede observarse, así definida la función objetivo no sería lineal. Pero se puede “linearizar” fácilmente por medio de la función log P. Dada la naturaleza de la función logarítmica (Función biyectiva), es equivalente minimizar P que minimizar log P; así, la función objetivo se convierte en:

La base del logaritmo sacado es indiferente, pues cualquier base logarítmica se puede cambiar a otra multiplicando por una constante. Así, la función objetivo obtenida es lineal. c.

Restricciones:

Por disponibilidad de aviones:

Por disponibilidad de combustible: Un avión cualquiera debe tener combustible para ir a la planta, volver y tener una reserva de 150 galones; por ejemplo, los aviones tipo pesado que se envíen a la planta 1 utilizarán la siguiente cantidad de combustible:

Así, esta restricción puede describirse como:

48

Introducción a la Modelación Matemática y Optimización

Simplificando, se obtiene:

Restricciones Obvias: Xij ≥ 0; Xij enteros; d.

i =1, 2; j =1, 2, 3, 4 i =1, 2; j =1, 2, 3, 4

Modelo de Programación Lineal:

Sujeto a:

Xij ≥ 0; y enteros

i =1, 2; j =1, 2, 3, 4

La solución óptima de este modelo de PL entera es: X14 = 43 y X24 = 34 con Zmáx = 19.9572, ó, equivalentemente, una probabilidad de falla de P = e 19.9572  2.15  109 . O sea que si se envían 43 aviones pesados y 34 aviones medianos, todos a la planta 4 del enemigo, la probabilidad de falla de la misión es casi cero. El paso siguiente, una vez el modelo ha sido formulado, es encontrar su solución, interpretarla, analizarla y tomar la decisión correspondiente, de acuerdo con el procedimiento descrito en la Figura 2.1 anterior (El proceso de diseño en ingeniería). La sección siguiente se dedica entonces a la solución de los modelos de programación lineal.

49

Ejercicios 3.1. Se presentan a continuación una serie de ejercicios de programación lineal, recopilados y/ó adaptados de diversas fuentes con fines didácticos. Varios de los ejercicios han sido diseñados por el autor. La bibliografía general se presenta al final de esta publicación. 1.

Un sastre dispone de los siguientes materiales: 16 metros cuadrados de algodón, 11 metros cuadrados de seda y 15 metros cuadrados de lana. Un vestido para mujer requiere 2 m2 de algodón, 1 m2 de seda y 1 m2 de lana. Un vestido para hombre requiere 1 m2 de algodón, 2 m2 de seda y 3 m2 de lana. Si un vestido para mujer deja una utilidad de $900 y uno para hombre de $1500, ¿cuántos vestidos para hombre y cuantos para mujer debe confeccionar el sastre a fin de obtener la máxima utilidad? (Prado, Hernando, Notas de Clase, 1978.)

2.

Un ingeniero agrícola requiere por lo menos 10, 12 y 12 unidades de los fertilizantes químicos A, B y C, respectivamente, en la composición de un abono especial. Un producto líquido contiene 5, 2 y 1 unidades de A, B y C, respectivamente, por galón. Un producto sólido contiene 1, 2 y 4 unidades de A, B y C, respectivamente, por kilogramo. Si el producto líquido tiene un precio de $300 por galón y el producto sólido se compra a $200 el kilogramo, ¿qué cantidad de cada uno de los productos debe comprarse para minimizar el costo y satisfacer los requisitos de composición exigidos? (Prado, Hernando, Notas de Clase, 1978.)

3.

Una compañía de alquiler de camiones dispone de dos tipos de vehículos el tipo A que posee 20 pies cúbicos de espacio refrigerado y 40 pies cúbicos de espacio no refrigerado. El tipo B que posee 30 pies cúbicos de espacio refrigerado y la misma cantidad de espacio no refrigerado. Una fábrica de alimentos debe transportar 900 pies cúbicos de producto refrigerado y 1200 píes cúbicos de producto no refrigerado. ¿Cuántos camiones de cada tipo se deben alquilar, si el camión A se alquila a $30 por milla y el camión B a $40 por milla, de tal forma que se minimice el costo total del transporte por milla recorrida? (Prado, Hernando, Notas de Clase, 1978.)

4.

Una factoría posee dos minas. La mina A produce diariamente 1 tonelada de material de alta calidad, 3 toneladas de calidad intermedia y 5 toneladas de baja calidad; la mina B produce diariamente 2 toneladas de cada una de las tres calidades. La compañía necesita, para su posterior procesamiento, al menos 100 toneladas de material de alta calidad, 150 de mediana calidad y 180 toneladas de baja calidad. ¿Cuántos días debe operarse sobre cada mina para satisfacer las necesidades de la compañía si el costo diario de explotación es de $200.000 en cualquier mina? (Prado, Hernando, Notas de Clase, 1978.)

5.

Se dispone de n alimentos. Cada unidad del alimento j contiene Aij del nutriente i en sus unidades características y tiene un costo de Pj pesos por unidad. Formule un modelo de PL cuya solución proporcione los niveles Bi mínimos requeridos diariamente del nutriente i de tal manera que el costo sea mínimo (problema de la dieta). Trate de obtener una dieta real típica en la ciudad de Cali, a costo mínimo, investigando los requerimientos mínimos de energía, proteínas, vitaminas, minerales y otros nutrientes (basado en una dieta de 2000 Kcal). Incluya alimentos de los cuatro grupos principales, a saber: Lácteos, carnes,

50

Introducción a la Modelación Matemática y Optimización

vegetales y frutas y harinas y cereales. Investigue igualmente los precios actuales de estos alimentos y determine el valor promedio diario de una dieta balanceada. Resuelva el problema, primero, sin restricciones de raciones mínimas de los alimentos y luego considerando cantidades mínimas y máximas de dichos alimentos. 6.

Tres inversionistas, I1, I2 e I3, disponen de un presupuesto de $4, $8 y $3 millones, respectivamente, para traer mercancía. Hay tres alternativas de inversión: comprar televisores, equipos de sonido u hornos microondas, cuyos precios unitarios correspondientes son $380.000, $195.000 y $47.000. Estos equipos se venden cada uno fácilmente a $460.000, $260.000 y $70.000, respectivamente. Cada televisor pesa aproximadamente 40 Kg, cada equipo de sonido 28 Kg y cada horno microondas 10 Kg. Asuma que las líneas aéreas sólo permiten el transporte de 50 Kg por persona sin pagar exceso de equipaje y que este exceso se cobra a razón de $2.000 por cada Kg adicional. La aduana cobra un arancel del 15% sobre el precio de compra de estos productos siempre y cuando el valor del equipaje por persona exceda a $3 millones. Formule un modelo de PL que le permita determinar como deben invertir su dinero los inversionistas para maximizar su ganancia neta total. ¿Habría algún beneficio adicional si los inversionistas juntaran su presupuesto y repartieran la utilidad neta total en forma proporcional a su inversión?

7.

Una compañía productora de papel debe determinar el mejor esquema de patrones de corte de rollos de 60 pulgadas de ancho para satisfacer la demanda semanal por rollos más pequeños. El pedido semanal es el siguiente 30 rollos de 28”, 60 rollos de 20” y 48 rollos de 15”. Cualquier sobrante de rollo de ancho menor de 15” se considera como desperdicio. ¿De qué forma deben cortarse los rollos de 60” para satisfacer la demanda y obtener el menor desperdicio posible?. Suponga que se dispone de un número suficiente de rollos de 60”.

8.

Formule el problema anterior si además del gran número de rollos de 60” de ancho, se dispone también de 50 rollos de 80” de ancho.

9.

Se hace un pedido a una papelería de 800 rollos de papel corrugado de 30” de ancho, 500 rollos de 45” de ancho y 1000 rollos de 56‟ de ancho. Si la papelería recibe de su proveedor rollos de 108” de ancho únicamente y en cantidad suficiente, ¿cómo deben cortarse estos para cumplir con el pedido en forma exacta y para minimizar el papel desperdiciado? (Prado, Hernando, Notas de Clase, 1978.)

10. Formule el problema anterior si se le permite cortar rollos en exceso de cualquier ancho (adicionales a los del pedido), los cuales generan un costo de inventario despreciable y podrían ser consumidos en un futuro. Compare los resultados en cuanto al desperdicio mínimo se refiere. Desprecie los costos de inventario que se pueden generar. 11. Usted recibe una orden de producción en su taller que requiere del corte de láminas de acero de cierto calibre. Se dispone de 250 láminas rectangulares de 120  240 cm y de 70 láminas rectangulares de 100  150 cm que habían sobrado de una orden anterior. La orden consiste en 75 láminas rectangulares de 50  80 cm y 120 láminas cuadradas de 100

51

 100 cm. Formule un modelo de PL que le ayude a decidir la mejor forma de cortar las láminas disponibles para cumplir con la orden. Asuma como desperdicio cualquier retal de lámina del cual no pueda obtenerse ninguna de las láminas requeridas en la orden. Asuma igualmente que sólo pueden realizarse cortes paralelos a las caras de las láminas. 12. Una industria produce dos artículos distintos A y B. La elaboración de una unidad del articulo A cuesta $20 por concepto de mano de obra y de una unidad del articulo B, $10. Cada unidad de A utiliza $10 de materia prima y cada unidad de B $30. El desgaste del equipo se considera proporcional a la producción. Por cada unidad producida de A, el equipo se desgasta $5 y por cada unidad producida de B, el equipo se desgasta $1. Se cuenta con un presupuesto de $100.000 para salarios, de $180.000 para materia prima y no conviene que el desgaste de los equipos exceda de $40.000. Determinar la cantidad que debe producirse de cada artículo para obtener la máxima utilidad si el beneficio por cada artículo A es de $8 y por cada artículo B es de $5. 13. Un ebanista dispone de dos tipos diferentes de madera, tiene 1500 pies de tabla tipo A y 1000 pies de tabla tipo B. También dispone de 800 horas hombre para efectuar el trabajo. La demanda estimada es la siguiente: cuando menos 40 mesas, 130 sillas exactamente, 30 escritorios exactamente y no más de 10 estantes. Las cantidades de madera A y B y las horas hombre que se requieren para la elaboración de cada uno de los artículos anteriores vienen dadas en la tabla siguiente: ARTICULO Mesa Silla Escritorio Estante

MADERA TIPO A 5 1 9 12

MADERA HORAS UTILIDAD TIPO B HOMBRE $/unidad 2 3 12 3 2 5 4 5 15 1 10 10

Determine cuantas unidades de cada uno de los artículos debe producir el ebanista con el fin de cumplir su demanda y de obtener la máxima utilidad. (Prado, Hernando, Notas de Clase, 1978.) 14. Un fabricante de aparatos de televisión tiene facilidades para ensamblar dos tipos de televisor: el tipo A a color y el tipo B a blanco y negro. El televisor de tipo A se vende a $49.500 la unidad y ocasiona un costo de producción de $26.800. El de tipo 5 se vende en $23.400 y ocasiona un costo de producción de $11.190. La planta tiene capacidad diaria para fabricar hasta 50 pantallas para televisión en colores. No se pueden comprar pantallas a otros proveedores. Cada TV A requiere 18 horas hombre para el ensamblaje del chasis y el tipo B requiere 8 hr.hombre. La planta emplea 225 hombres con un turno diario de 8 horas en el departamento de ensamblaje. Cada aparato tipo A requiere 1.6 horas hombre para su armado completo, mientras que el tipo B requiere 1 hora hombre. La planta emplea 30 hombres con turnos de 8 horas diarias para esta labor. Cada TV de color requiere 2 horas hombre para inspección final mientras que cada TV en blanco y negro requiere 0.5 horas hombre. La planta emplea 20 inspectores de tiempo completo y uno de medio tiempo. ¿Cuántos televisores de cada tipo deben producirse para maximizar la utilidad neta total? (Prado, Hernando, Notas de Clase, 1978.)

52

Introducción a la Modelación Matemática y Optimización

15. Para la elaboración de un producto químico se cuenta con 4 materias primas: A, B, C y D que contienen cierto factor f tal como se indica en el cuadro siguiente: MATERIA PRIMA A B C D

FACTOR f (%) 51 11 14 36

COSTO ($/Kg) 4.00 2.00 2.40 3.00

Se trata de obtener una mezcla de una tonelada, cuyo contenido del factor f sea por lo menos del 18% y con la condición que las materias primas B y C no constituyan más del 20% de la mezcla, con el mínimo costo posible. 16. Un barco tiene tres bodegas: en la proa, en el centro y en la popa. Los limites de capacidad de cada bodega son: BODEGA Proa Centro Popa

CAPACIDAD TONELADAS 2000 3000 1500

CAPACIDAD PIES CUBICOS 100,000 135,000 80,000

Los dueños del barco pueden aceptar el total o una parte de los artículos que se ofrecen para el transporte. Las características de estos artículos son las siguientes: ARTICULO A B C

CANTIDAD EN TON. 6000 1000 2000

VOLUMEN PIES CUB/TN 60 50 25

UTILIDAD $/TN 6000 8000 5000

Para preservar el equilibrio del barco el tonelaje transportado en cada bodega debe ser proporcional a su capacidad en toneladas. Determine la distribución de carga para obtener la máxima utilidad por el transporte. Formule este mismo problema desde el punto de vista del propietario de la carga y compare resultados. 17. Se está diseñando una nave espacial que lleve y traiga astronautas a Marte. Esta nave tendrá tres compartimientos, cada uno con su propio sistema que permite vivir en él. El elemento clave de cada uno de estos sistemas es una pequeña unidad oxidante que provoca un proceso químico para producir oxígeno. Estas unidades no se pueden probar con anticipación y solo algunas de ellas tienen éxito en el proceso químico. Por esto, es importante tener unidades de repuesto para cada sistema. Como los requerimientos son diferentes para cada compartimiento, las características de las unidades para cada uno varían. Se debe tomar una decisión sobre el número de unidades que se deben incluir en cada compartimiento, tomando en cuenta limitaciones de diseño y la cantidad total de espacio, peso y costo que puede asignarse a estas unidades para toda la nave. La siguiente

53

tabla resume estas limitaciones, al igual que las características individuales para cada compartimiento: Compartimiento Espacio Peso Costo Probabilidad (pul3) (Libras) ($) de falla 1 40 15 40.000 0.30 2 50 20 45.000 0.40 3 30 10 35.000 0.20 3 LIMITACIÓN 500 pul 200 libras $500.000

Si todas las unidades fracasan en uno ó dos de los compartimientos, los astronautas podrán ocupar el ó los restantes y continuar su viaje espacial, pero con algunas pérdidas en la cantidad de información científica que puedan obtener. No obstante, si todas las unidades fracasan, todavía tienen la manera de regresar en la nave a salvo, pero el viaje completo sería un fracaso total a un gran costo. El objetivo es entonces minimizar la probabilidad de que todas las unidades fallen, sujeto a las limitaciones anteriores y a la restricción adicional de que cada compartimiento deberá tener una probabilidad no mayor que 0.05 de que todas sus unidades fallen. Formule un modelo de PL para este problema. (Hillier y Lieberman, segunda edición, 1989, pág. 273) 18. Cierto hacendado dispone de los siguientes recursos para emplearlos en la próxima cosecha: $150.000 de capital disponible. 1350 horas de tractor (horas máquina) 65 hectáreas de tierra cultivable. Esta tierra es propia para sembrar maíz, millo o fríjol. Se supone que tiene a su disposición hombres suficientes. Los costos de producción son los siguientes: tractor e implementos $50/hora, mano de obra $5/hora, alquiler del terreno por la cosecha $200/hectárea. El hacendado ha acordado retornar el 150% del dinero no invertido exclusivamente en los cultivos a la Caja Agraria, donde efectuó el préstamo. Los datos de los cultivos posibles son los siguientes y vienen dados por hectárea: CULTIVO

MANO DE OBRA

HORAS TRACTOR

OTROS COSTOS

VALOR COSECHA

Maíz Millo Frijol

10 25 35

20 25 15

$150 $200 $800

$3.000 $3.800 $4.900

Determine la proporción de cultivos que genere la máxima utilidad. 19. Una refinería de petróleo tiene un oleoducto que la alimenta, el cual tiene una capacidad de 50000 barriles de petróleo diarios. La refinería debe suministrar por lo menos 27000 barriles por día a las bombas vendedoras de la Compañía (barriles de gasolina). La refinería utiliza dos procesos de refinación con los siguientes rendimientos por barril de petróleo procesado:

54

Introducción a la Modelación Matemática y Optimización

PRODUCTOS PROCESO 1 PROCESADOS Gasolina Otros productos Costo Proceso por barril de petróleo procesado

PROCESO II

0.4 0.6

0.6 0.3

0.6

0.8

La refinería vende gasolina a $6 cada barril y otros productos a $4 cada barril. Sí la demanda lo exige, se puede comprar gasolina a otros productores a $5.20 cada barril. El precio de compra del petróleo crudo es de $3 por barril. Formule un modelo de PL que le permita determinar lo que debe hacer la refinería. ¿Qué sucede al tratar de resolverlo? Encuentre la razón del problema y proponga soluciones para que el problema tenga solución dentro del contexto real que se plantea. (Prado, Hernando, Notas de Clase, 1978.) 20. Una fábrica de automóviles y camiones consta de los departamentos que a continuación se enuncian: Departamento A: Estampado de planchas metálicas. Departamento B: Armado de motores. Departamento C: Montaje de automóviles. Departamento D: Montaje de camiones. El Departamento A puede estampar por mes las planchas necesarias para 25000 automóviles ó 35000 camiones ó las correspondientes combinaciones de automóviles y camiones. El Departamento B puede armar por mes 33333 motores de automóvil ó 16667 motores de camión ó una combinación de ambos. El Departamento O puede montar y terminar 22500 automóviles/mes. El Departamento D puede montar y terminar 25000 camiones/mes. Cada automóvil deja una utilidad neta de $40 u.p. y cada camión de $55 u.p. Planifique la producción para obtener la máxima utilidad. 21. La firma “PAVIMENTOS S.A.” está licitando por un contrato para la construcción de la calzada de una carretera. Las especificaciones dadas indican que debe tener un mínimo de 12 cm. de espesor y un máximo de 48 cm. Debe, a su vez, construirse de concreto, asfalto, gravilla o cualquier combinación de los tres, siempre y cuando la resistencia total sea al menos equivalente a la que tendría una calzada de 9 cm. de concreto. La firma ha establecido que 3 cm. de asfalto son tan fuertes como 1 cm. de concreto y que 6 cm. de gravilla son tan resistentes como 1 cm. de concreto. Su costo estimado para un metro cuadrado y un centímetro de espesor para el concreto es de $2000, para el asfalto es $700 y para la gravilla es de $300. Formule el problema de Programación Lineal que le permita a la firma saber cual es la mejor combinación para la calzada y conocer su costo. 22. Una compañía de aviación tiene el proyecto de comprar aviones de vuelos cortos, medianos y largos. Los aviones de vuelos cortos tienen un precio de US$3.500.000 cada uno; los de vuelos medianos US$5.000.000 cada uno; y los de vuelos largos US$6.700.000 cada uno. Se tiene un presupuesto máximo de US$150.000.000 para el

55

proyecto. Los aviones serán utilizados al máximo de su capacidad, produciendo una ganancia neta anual así: aviones de vuelos cortos US$230.000; aviones de vuelos medianos US$300.000 y aviones de vuelos largos US$400.000. El número máximo de pilotos disponibles es de 30. Sí solamente se compraran aviones de vuelos cortos los hangares serian suficientes para 40 de ellos; sin embargo, la capacidad ocupada por los aviones medianos es 4/3 de la de los vuelos cortos y la capacidad ocupada por los aviones de vuelos largos es de 5/3 la de los de vuelos cortos. Se desea conocer cuántos aviones de cada tipo se deben comprar para obtener una ganancia anual máxima. 23. Una compañía de aviación que opera con base en una terminal central, tiene 8 aviones tipo 1, 15 aviones tipo 2 y 12 aviones tipo 3, disponibles para vuelos diarios. La capacidad en toneladas es de: 45 para los de tipo 1, 7 para los de tipo 2 y 4 para los de tipo 3. La compañía despacha sus aviones a las ciudades A y B. Las demandas en toneladas en cada ciudad son: 200 para la ciudad A y 180 para la ciudad B. El exceso de toneladas suministrado a una ciudad no tiene costo adicional. Cada avión puede hacer solamente un vuelo al día. El costo del envío de un avión hacia cada ciudad está dado por la siguiente tabla: CIUDAD

TIPO 1

TIPO 2

TIPO 3

A B

23 58

5 10

1.4 3.8

Formule un modelo de Programación Lineal que permita programar los aviones óptimamente. 24. Una compañía de aviación debe decidir a cuantas nuevas azafatas emplear y entrenar durante los 6 meses siguientes. Las necesidades expresadas como el número de azafatas · hora · vuelo son 8000 en enero, 9000 en febrero, 8000 en marzo, 10000 en abril, 9000 en mayo y 12000 en junio. Para que una azafata pueda ser puesta en vuelo regular toma un mes su entrenamiento. Una azafata aprendiz requiere 100 horas de supervisión por una azafata experimentada durante el mes de entrenamiento; por lo tanto, durante dicho mes se disponen de 100 horas menos de azafatas para el servicio regular de vuelos. Cada azafata experimentada puede trabajar hasta 150 horas en el mes y la compañía dispone de 60 azafatas a comienzos de enero. Si el máximo tiempo disponible de azafatas experimentadas excede a la necesidad de un mes de vuelos y de requisitos de entrenamiento, las azafatas regulares trabajan menos de 150 horas, pero ninguna es despedida. Cada mes aproximadamente, el 10% de las azafatas experimentadas se retiran de la compañía, para casarse. Una azafata experimentada cuesta a la compañía $800 mensuales y una aprendiz $400. Formule un modelo de Programación Lineal para la situación de empleo y entrenamiento.

56

Introducción a la Modelación Matemática y Optimización

25. El departamento de policía de la ciudad de Cali estima los siguientes requerimientos mínimos diarios de policías:

HORAS DEL DÍA 2-6 6 - 10 10 - 14 14 - 18 18 - 22 22 - 2

PERÍODO

NÚMERO MÍNIMO DE POLICÍAS REQUERIDO 20 50 80 100 40 30

1 2 3 4 5 6

Note usted que el período 1 sigue inmediatamente al periodo 6. Cada policía trabaja 8 horas consecutivas. El departamento de policía busca un programa de trabajo diario que emplee el menor número de policías en el departamento, teniendo presente cada uno de los requerimientos anotados. (Prado, Hernando, Notas de Clase, 1978.) 26. Una cervecería posee tres plantas localizadas en tres ciudades diferentes, con las cuales surte el consumo del país dividido en cuatro zonas: zona norte, zona central, zona suroriental y zona del pacífico, a las cuales se denominarán respectivamente A, B, C y D. Mensualmente la planta I produce 1.300.000 litros, la planta II 700.000 litros y la planta III 300.000 litros. La demanda mensual en las diferentes zonas de consumo es como sigue: zona A 600.000 litros, zona B 400.000 litros, zona C 400.000 litros y zona D 500.000 litros. Los costos combinados de producción y el transporte de las diferentes plantas a los centros de consumo, se muestran en la tabla siguiente: PLANTA

ZONA A

I II III

500 800 700

ZONA B 800 500 600

ZONA C

ZONA D

600 600 800

700 800 600

Encuentre el arreglo de distribución más económico. 27. Un individuo cuyo negocio es mezclar whisky importa tres grados A, B y C. Los combina de acuerdo con recetas que especifican los porcentajes máximo y mínimo de los grados A y C en la mezcla. Estos porcentajes se dan en la tabla siguiente: NOMBRE DE MEZCLA BLUE DOT HIGHLAND OLD FRENZY

CONDICIONES INGREDIENTES WHISKY BÁSICO A y C No No No No No

menos del 60% del whisky A más del 20% del whisky C más del 60% del whisky C menos del 15% del whisky A más del 50% del whisky C

PRECIO BOTELLA US $6.80 US $5.70 US $4.50

La provisión de los tres whiskies básicos, junto con sus costos, se presenta en la tabla que sigue:

57

WHISKY BASICO

MAXIMA CANTIDAD DISPONIBLE (BOTELLAS POR DIA)

COSTO BOTELLA

A B C

2000 8500 1200

US $7.0 US $5.0 US $4.0

Proyecte una política de producción que maximice las ganancias. (Prado, Hernando, Notas de Clase, 1978.) 28. Una empresa siderúrgica produce tres aleaciones diferentes. El diagrama de proceso como sigue:

Aleación 1

CAJA DE RECOCIDO Aleación 2

RECOCIDO CONTINUO

Aleación 3

MOLINOS CONTINUO

Se deben determinar las cantidades de cada aleación que deben producirse dentro de las limitaciones del volumen de ventas y las capacidades de las máquinas con el fin de maximizar las ganancias. Los datos sobre las capacidades y utilidades se presentan en las tablas siguientes:

ALEACIÓN

OPERACIÓN

VELOCIDAD DE LA MÁQUINA

POTENCIAL DE VENTAS (TON/MES)

GANANCIA POR TONELADA

1

Caja de recocido Molinos cont.(1) Recocido cont. Molinos cont.(2)

28 hr / 10 ton 50 pies/min 20 pies/min 25 pies/min

1250

$2,500

2

Caja de recocido Recocido cont. Molinos cont.

35 hr / 10 ton 20 pies/min 25 pies/min

250

$3,500

3

Recocido cont. Molinos cont.

16 pies/min 20 pies/min

1500

$4,000

TIPO DE MÁQUINA Caja recocido Recocido Cont. Molinos Cont.

NÚMERO DE MÁQUINAS 4 1 1

TURNOS ( 8 HR/SEM ) 21 20 12

% TIEMPO OCIOSO 5 10 0

58

Introducción a la Modelación Matemática y Optimización

Los rollos de cada aleación son de 400 pies de longitud y pesan 4 toneladas. Formule un modelo de programación lineal del cual pueda obtenerse una política de producción para la siderúrgica (Asuma que 1 mes = 4 semanas). 29. Una planta de productos químicos fabrica dos productos A y B, los cuales tienen que pasar por cuatro centros de proceso: 1, 2, 3 y 4, según se muestra con las líneas continuas en la figura: A CENTRO 2 CENTRO 4

CENTRO 1

B CENTRO 3 A

Cada centro puede manejar solamente el paso de un producto a la vez. Sí hay capacidad disponible en el centro 3, es posible enviar el producto A a través de 3, en lugar de hacerlo dos veces a través del centro 2, pero esto es más costoso. Con la información de la tabla, ¿cómo deberá programarse la producción para hacer máximas las ganancias?. Se entiende por Programa de Producción la especificación de las siguientes cantidades: (1) La cantidad de materia prima utilizada para A diariamente, por el curso regular. (2) La cantidad diaria de materia prima usada para A diariamente, por el curso opcional y (3) La cantidad diaria de materia prima usada para B. Nota: Suponga que se dispone de suficiente capacidad de almacenamiento sin costo adicional. Se tiene también la siguiente información:

PRODUCTO

A

B

CENTRO 1 2 (1er. paso) 4 2 (2o. Paso) 3

ENTRADA GL/HR 300 450 250 400 350

% RECUP. 90 95 85 80 75

COSTO OPER. $/HR 150 200 180 220 250

1 3 4

500 480 400

90 85 80

300 250 240

59

PRODUCTO

MAT. PRIMA COSTO POR GALÓN

A B

$5 $6

PRECIO VENTA

VENTAS DIARIAS

GALÓN $20 $18

MÁX. (Gal.) 1,700 1,500

Los centros 1 y 4 trabajan hasta 16 horas al día; los centros 2 y 3 trabajan hasta 12 horas al día. Una restricción final la proporcionan las facilidades de envío que limitan la producción diaria de A y B a un total de 2500 galones. Formule el modelo de programación lineal correspondiente. 30. Una refinería produce dos tipos de gasolina, la regular y la extra, y otros productos derivados del petróleo, cuyos precios de venta por galón son $2.500 para la gasolina regular, $3.200 para la gasolina extra y se puede considerar un promedio de $1.100 para otros productos. Ambos tipos de gasolina y los otros productos se fabrican a partir de dos clases de petróleo crudo, el nacional y el importado. Las tablas siguientes muestran las especificaciones principales que debe cumplir cada tipo de gasolina y las características de cada tipo de petróleo crudo. PRODUCTO

PRESIÓN DE VAPOR MÁXIMA 23

Gasolina regular Gasolina extra 23 Otros productos --o--

TIPO DE PETRÓLEO CRUDO Nacional Importado

OCTANAJE DEMANDA MÍNIMO MÍNIMA (Galones/semana) 88 2.100.000

DEMANDA MÁXIMA (Galones/semana) 4.200.000

93 --o--

1.500.000 2.000.000

750.000 1.000.000

PRESIÓN DE VAPOR

OCTANAJE DISPONIBILIDAD COSTO (Galones/semana) ($/galón)

25 15

87 98

4.000.000 2.000.000

1.030 2.170

La refinería puede emplear tres procesos de refinación con las siguientes características de eficiencia y costo: PRODUCTO PROCESADO

RENDIMIENTO DEL PROCESO (Gal. de producto/Gal. de petróleo crudo*) Proceso I Proceso II Proceso III 0.60 --o-0.40 --o-0.45 0.25 0.40 0.55 0.35

Gasolina regular Gasolina extra Otros productos Costo del proceso por galón de petróleo crudo procesado 250 340 300 ($/galón)* * Independiente del tipo de petróleo crudo procesado.

60

Introducción a la Modelación Matemática y Optimización

Asumiendo que en cada proceso los componentes de una mezcla de petróleos crudos contribuyen al octanaje general y a la presión de vapor proporcionalmente a su cantidad en galones, formule un modelo de PL que le permita determinar la mejor programación de producción de la refinería. 31. Una compañía manufactura secadoras y lavadoras automáticas de ropa para consumo nacional. La gerencia de producción ha calculado que por cada secadora requiere 1.5 horas de mano de obra y por cada lavadora 2 horas. La fuerza laboral de la empresa en el último cuatrimestre de este año se estima en 5000 horas. La gerencia no desea modificar la fuerza laboral en más de un 10% por periodo. Las metas de venta en los próximos cuatro periodos del próximo año se ha fijado así:

Secadora Lavadora

1 Cuarto 200 1200

2 Cuarto 1300 1500

3 Cuarto 3000 1000

4 Cuarto 1000 1400

Los costos asociados con cada esquema de producción deberán incluir costos de producción (excluyendo mano de obra), costo de almacenamiento y costo de mano de obra. La sección de costos de la compañía ha desarrollado la siguiente tabla que describe los costos unitarios para cada periodo: ITEM 1 Costo de producción lavadora sin mano de obra Costo de producción secadora sin mano de obra Costo unitario de llevar una secadora en inventario Costo unitario de llevar una lavadora en inventario Mano de obra/hora

COSTOS UNITARIOS EN CADA CUATRIMESTRE 2 3

4

3750

3900

3750

3780

2750

3000

2850

2850

150

135

135

120

129 50

114 50

114 58

99 58

Establezca esquemas de producción que minimicen los costos anuales para satisfacer las demandas estimadas para ambos productos. 32. Un inversionista puede elegir entre las actividades A ó B ó ambas, disponibles al principio de cada uno de los próximos 5 años. Cualquier cantidad invertida y recuperada en el futuro puede ser reinvertida en cualquier alternativa disponible. Cada peso que invierte en A al comienzo de cada año le produce $1.40 dos años más tarde. Cada peso invertido en B al comienzo de un año le produce 1.70 tres años después. Además, las actividades C y D están disponibles una sola vez en el futuro, C al comienzo del segundo año y D al comienzo del quinto año. Cada peso invertido en C genera $1.60 en 2 años. Cada peso invertido en D le produce $1.30 un año después. El inversionista dispone hoy de $100.000. Formule un modelo de programación lineal que le permita determinar la mejor forma de inversión a lo largo de los cinco años para maximizar el capital dispone al final

61

del quinto año (comienzo del sexto año). (Adaptado de Hillier y Lieberman, 1989, pág. 50.) 33. La gerencia de una compañía aérea debe decidir con respecto a la asignación de aviones a rutas aéreas. El cuadro siguiente indica la capacidad máxima en número de pasajeros, el número de aviones de cada tipo actualmente disponible en la empresa, el máximo número de vuelos que realiza cada tipo de avión por ruta específica y el número esperado de pasajeros en cada ruta. TIPO DE AVIÓN

CAPACIDAD NÚMERO DE PASAJEROS 1 50 2 30 3 20 Número esperado de pasajeros por ruta diariamente

NÚMERO DE AVIONES DISPONIBLE 5 8 10

1 3 4 5 1000

NÚMERO DE VIAJES DIARIOS EN CADA RUTA 2 3 2 2 3 3 5 4 2000

900

4

1 2 2 1200

Los costos de operación por vuelos en las cuatro rutas y el costo de oportunidad (pérdida – ganancia) originado al no servir a un pasajero se muestran así: TIPO DE COSTOS DE OPERACIÓN POR VIAJE Y RUTA AVIÓN 1 2 3 4 1 1000 1100 1200 1500 2 800 900 1000 1000 3 600 800 800 900 Pérdida por pasajero no transportado 40 50 45 70

Formule un modelo de programación lineal para asignar los aviones a las rutas a costo mínimo. (Adaptado de Taha, 1981, pág. 37–38; Taha, 1998, pág. 60.) 34. Usted ha sido contratado como asesor del departamento de planificación nacional grupo de desarrollo energético. El grupo está considerando la construcción de una planta nuclear y de una planta desalinizadora de agua para un complejo agroindustrial. La planta nuclear, un reactor adaptado a una planta de vapor, es la única fuente de electricidad. La inversión en la planta es del orden de $9.000 millones de pesos por cada 1000 megavatios de capacidad y los costos de operación anuales para esta capacidad son de $1350 millones. El agua para las plantas industriales y la agricultura será provista por una planta desalinizadora, con costo de inversión de $1500 millones por cada 1000 millones de metros cúbicos de agua al año y costo de operación anual de $450 millones. Se estima que para esta producción de agua se necesitan 300 megavatios de potencia por año. En la región hay 120.000 hectáreas aptas para la agricultura. Existen fundamentalmente dos cultivos que pueden ser desarrollados a escala industrial: Cultivo A y cultivo B. Los fertilizantes se obtendrán básicamente de lo producido por la industria de la región. La siguiente tabla muestra la inversión, costo de operación, agua, fertilizantes y un estimado de los ingresos generados por una extensión determinada dedicada a cada uno de los cultivos.

62

Introducción a la Modelación Matemática y Optimización

SECTOR AGRICOLA Tierra (Ha) Inversión (millones $) Operación anual (millones $)* Fertilizantes (miles ton/año)

CULTIVO A 400 6000

CULTIVO B 400 9000

1500

1350

2.0

1.5

10 7500

8 8600

3

Agua (millones m /año) Ventas totales (millones) * No incluye agua ni fertilizantes

Para el sector industrial se están considerando básicamente dos procesos para la producción de fertilizantes y aluminio. El proceso C y el proceso D. El precio promedio en el mercado de tonelada de fertilizante es de $1800 y de ton. de aluminio $24000. Puede suponerse que existe suficiente demanda para absorber excedentes de producción. La tabla siguiente ilustra los recursos y producciones asociados con cada proceso. SECTOR INDUSTRIAL Inversión (millones $) Costo anual de operación (millones $)* Consumo de agua

PROCESO C 2400

PROCESO D 4800

450

360

5

6

1000

1000

1.5

0.8

0.5

1

(millones m3/año) Consumo de electricidad (megavatios/año) Producción de fertilizantes (millones ton/día) Producción de aluminio (millones ton/día) * No incluye agua ni electricidad

Suponga que para este tipo de proyecto se dispone de financiación por prestamos internacionales de hasta $30.000 millones de pesos a ser pagaderos en 10 años a una tasa anual de 15%. Analice el problema y si es posible plantee un modelo que permita la evaluación de posibles alternativas. 35. Suponga que en cierta población se pretende hacer inversiones cuantiosas en el cultivo de aguacate, lima reina, mango y zapote prieto. Se persiguen dos objetivos: reducir el desempleo rural y aumentar las exportaciones que vendrán a equilibrar la balanza de pagos de la nación. Se sabe que la producción promedio de cada árbol está dada por la siguiente tabla: TIPO DE ÁRBOL * Aguacate Lima reina Mango Zapote prieto

PRODUCCIÓN PROMEDIO ANUAL (EN UNIDADES) (EN KG.) 350 150 230 200 150 50 400 150

* Los cultivos se producen una vez por año

63

El precio promedio en el mercado mundial fue de $10 por Kg de aguacate, $4 por Kg de lima reina, $15 por Kg de mango y $7 por Kg de zapote prieto. Existe una extensión de 250.000 m2 de tierra de propiedad municipal propicia para el cultivo de esos productos. Suponga que técnicos de la Secretaría de Agricultura han determinado que las siguientes extensiones mínimas son necesarias para el cultivo de esos productos. TIPO DE ÁRBOL

Extensión Mínima de Cultivo por árbol (m2)

Aguacate Lima reina Mango Zapote prieto

4 5 3 6

Afortunadamente no existe inconveniente de agua, pues hay varios manantiales dentro de la propiedad, que aseguran la existencia de ese preciado líquido por los próximos 20 años. El costo por sembrar un árbol de aguacate es de $2, $0.5 por árbol de lima reina, $1 por árbol de mango y $1.5 por árbol de zapote prieto; estos costos ya incluyen la compra del árbol, su cuidado y mantenimiento. Cada árbol empieza a ser productivo aproximadamente a los 3 años de ser plantado. Cada árbol de aguacate requiere los cuidados equivalentes a 36 horas hombre/año, 72 por árbol de lima reina, 50 por árbol de mango y 10 por árbol de zapote prieto. Se pretende hacer una inversión de $20 millones pensando exportar toda su producción a partir del tercer año. El desempleo en la población se ha calculado en 500 personas y el gobierno municipal ha delineado que este proyecto emplee al menos 200 personas en forma continua. Bajo estas circunstancias, ¿cuántos árboles de aguacate, lima reina, mango y zapote prieto deberán sembrarse con objeto de maximizar el valor de la futura exportación anual? 36. La Fábrica Nacional de Cerveza tiene plantas ubicadas en Bogotá, Cali, Barranquilla, Medellín y Palmira. La Fábrica Nacional de Latas, una subsidiaria, tiene plantas ubicadas en Pereira, Bucaramanga y Cartagena. La demanda mensual de latas de cerveza se pronostica así: Planta de cerveza Bogotá Cali Barranquilla Medellín Palmira

Demanda mensual en latas 2,000,000 500,000 400,000 100,000 100,000

Las latas de cerveza abiertas, se retornan a la Fundidora Nacional de Aluminio, en donde se reconvierten en aluminio y de ahí se mandan a la fábrica de latas. La producción máxima mensual de latas es: Planta de Latas Pereira Bucaramanga Cartagena

Capacidad mensual en latas 1,000,000 1,500,000 750,000

64

Introducción a la Modelación Matemática y Optimización

Los fletes son una función de las distancias que existen entre las plantas productoras de cerveza y las plantas productoras de latas. Estos fletes son:

Bogotá Cali Barranquilla Medellín Palmira

Pereira 5 20 25 75

Bucaramanga 20 15 2 50

Cartagena 15 2 10 40

45

80

60

(Pesos por transporte de 1000 latas)

Bajo estas condiciones, ¿Qué programa de distribución mensual de latas se debería establecer a fin de satisfacer la demanda mensual en las fábricas de cerveza, sin exceder la producción mensual? 37. Se supone que la Secretaria de Educación Pública se ha trazado un plan a 4 años, para entrenar maestros urbanos y rurales de enseñanza primaria. El entrenamiento de ambas clases de maestros tarda 1 año y los costos de entrenamiento están dados por: AÑOS 1 2 3 4

(2003) (2004) (2005) (2006)

Por maestro rural

Por maestro urbano

$10.0 $10.1 $10.2 $10.3

12.5 13.0 13.5 14.0

La demanda pronosticada de maestros de ambas clases es: AÑOS 1 2 3 4

(2003) (2004) (2005) (2006)

Maestro rural

Maestro urbano

120 150 150 170

170 180 190 195

Al finalizar el año de trabajo se les ofrece la opción a los maestros de continuar en su mismo trabajo o de cambiar de urbano a rural o viceversa. De no cambiar, su salario permanecerá regido por la tabla anterior. Los maestros que cambien de rural a urbano recibirán un salario correspondiente a la tabla vigente para maestros urbanos en ese año. En cambio, maestros urbanos que cambien a rurales recibirán el salario de maestro urbano correspondiente a ese año. Debido a la capacidad de las instalaciones, el gobierno municipal puede únicamente entrenar y graduar a no más de 300 maestros en total (rurales y urbanos), por un año. Sí por la oferta limitada en cierto año, es necesario cubrir la demanda, esta se hará con maestros jubilados a un costo de $15.000 por año de maestro, independientemente a que funcionen como rural o urbano.

65

Bajo tales circunstancias, ¿Cuántos maestros de cada tipo deberían prepararse por año, cuantos deberían cambiar de calidad por año y cuantos maestros Jubilados deberían contratarse por año, tal que el costo total se minimice y se atenga a la demanda pronosticada? 38. Una siderúrgica debe decidir cuántas libras de acero puro y cuántas de chatarra utilizar en la preparación de una aleación para un cliente. El costo por libra de acero puro es de $3 y de chatarra $6 (por las impurezas), la demanda del cliente es de por lo menos 5 libras y aceptaría más si se le ofrece. La disponibilidad de acero puro es 4 libras y la de chatarra de 7 libras. La relación entre chatarra y el acero no puede exceder de 7/8. La fábrica tiene 18 horas disponibles para el proceso; una libra de acero puro requiere 3 horas mientras que la chatarra solo requiere 2 horas. Formule un modelo de programación lineal que determine la carga óptima del horno. 39. Una empresa fabrica dos modelos de productos: Z-1200 y Z-1500. Los requerimientos de producción y las disponibilidades están mostradas a continuación: DEPARTAMENTO 1 2 3 4

REQUERIMIENTO DE MANO DE OBRA MODELO Z-1200 MODELO Z-1500 2 0 0 3 2 2 1 1/5 1 1/2

CAPACIDAD 300 540 440 300

Los beneficios unitarios logrados a la venta de los modelos Z1200 y Z-1500 son de $50 y $40, respectivamente. Encuentre el número óptimo de cada producto a producir. Si la corporación está produciendo actualmente 30 unidades del modelo Z-1200 y 12O unidades del modelo Z-1500, ¿cuánto beneficio está perdiendo o está dejando de ganar? (Adaptado de Thierauf y Grosse, 1972, pág. 273–274.) 40. El dueño de una editorial está imprimiendo un nuevo libro y tiene las alternativas de empastarlo con cartón fino y/o cartulina corriente. La venta de un libro con pasta de cartón fino le genera un beneficio de $30, mientras que la de un libro con cartulina es de $7.50. El tiempo requerido para empastar un libro con cartón fino es de 3 minutos y con cartulina ordinaria 2 minutos. El tiempo total disponible para empastado es de 800 minutos. Se estima que las ventas serán de no más de 6000 copias para el libro empastado con cartón fino y no más de 10000 copias para el empastado con cartulina corriente. Formule un modelo de programación lineal para este enunciado. 41. El departamento de servicios de un almacén proporciona servicios de reparación para la mercancía vendida. Durante una semana 5 televisores, 12 radios y 18 licuadoras fueron devueltos para reparación. Dos técnicos son contratados temporalmente para ayudar en dicho departamento. En una jornada de 8 horas el técnico 1 puede reparar 1 televisor, 3 radios o 3 licuadoras, mientras que el técnico 2 puede reparar 1 televisor, 2 radios o 2 licuadoras en el mismo tiempo. Sí el técnico 1 gana $250 diarios y el técnico 2 $150 diarios, por cuantas horas deberán ser contratados de manera que los costos de reparación sean mínimos?

66

Introducción a la Modelación Matemática y Optimización

42. Una compañía de paqueteo y envíos desea contratar operadores extra para las festividades navideñas, pero debido a las limitaciones de espacio el número de empleados no puede exceder de 10. De experiencias anteriores se sabe que un operador hombre maneja 3000 cartas diarias ó 1000 paquetes diarios, mientras que una mujer puede manejar 4000 cartas ó 500 paquetes. Sabiendo que al menos llegarán 36000 cartas diarias y 10000 paquetes por día y que un hombre y una mujer ganan diariamente $250 y $220 respectivamente, ¿cuántos hombres y mujeres deberán ser empleados?. ¿Cómo se afecta la respuesta si el gobierno ordena el pago de $250 diarios a cada mujer? Suponga que el número de operadores en condiciones normales es de 2 hombres y 2 mujeres quienes reciben salarios de $200 y $180 semanal. ¿Qué problemas encuentra usted en la formulación de este problema? ¿Cómo resolverlos para obtener un modelo satisfactorio? 43. Una compañía manufactura el producto Z, que se elabora ensamblando cuatro componentes: un componente AS1 y tres componentes BC1. Los componentes AS1 y BC1 se producen a partir de dos tipos de materias primas MT1 y MT2, y su manufactura se puede realizar en tres equipos diferentes E1, E2 y E3. La producción y el consumo de materia prima por corrida de cada equipo son diferentes y se ilustran en el cuadro siguiente: TIPO DE EQUIPO

CONSUMO POR CORRIDA Materia Prima MT1(U) MT2(U)

PRODUCCION POR CORRIDA Componente AS1 AS2

E1

8

6

7

5

E2

5

9

6

9

E3

3

8

8

4

Actualmente se dispone de 100 unidades MT1 y 200 unidades de MT2. Se desea conocer en que forma se puede utilizar la información disponible para decidir el esquema de producción de AS1 y BC1 para tener el máximo número de productos Z terminados. 44. Una compañía posee tres plantas, en las cuales elabora un componente pequeño para un producto industrial. La compañía comercializa el producto a través de cinco distribuidores en el país y el precio al distribuidor es de $75 la unidad incluyendo el costo de distribución. Los pronósticos de ventas indican que los requerimientos mensuales por distribuidor son los siguientes: Distribuidor Demanda mensual

1

2 2700

3 2700

4 9000

5 4500

3600

La capacidad mensual de producción en cada planta y los costos unitarios de producción ce Ilustran en el siguiente cuadro: Planta Capacidad Costo Unitario de producción $

1 4500

2 9000

3 11250

60

30

54

67

Los costos unitarios de envío a distribuidores de plantas se muestran en el cuadro siguiente en $: Distribuidor Planta 1 Planta 2 Planta 3

1 1.5 2.4 3.0

2 2.1 1.8 2.7

3 3.3 3.0 2.7

4 4.5 3.6 3.0

5 4.8 4.5 4.8

¿Cómo se puede organizar la producción y el despacho a los distribuidores para minimizar los costos mensuales totales? 45. Una empresa papelera posee un centro de recolección de desperdicios los cuales somete a diferentes tratamientos de tal manera que pueda producir materia prima para la venta. De acuerdo a la mezcla de los materiales utilizados es posible producir tres tipos de calidades diferentes del producto. Para la mezcla existe cierta flexibilidad y se han especificado estándares de calidad que indican los niveles máximo y mínimo en porcentaje (por peso) de los materiales que se permiten en cada tipo de producto. Las especificaciones se dan en la tabla siguiente junto con el costo de amalgamado por libra y el precio de venta por libra. TIPO

A

B

C

ESPECIFICACIONES

COSTO DE AMALGADO ($) POR LIBRA

PRECIO DE VENTA ($) POR LIBRA

3.0

8.5

2.5

7.0

2.0

5.5

No más del 30% del material 1 No menos del 40% del material 2 No menos del 50% del material 3 No más del 50% del material 1 No menos del 10% del material 2 No más del 70% del material 1

El centro de recolección de la compañía obtiene los materiales de desperdicio de diferentes fuentes por lo cual es capaz de operar a una producción estable. Las cantidades disponibles cada semana así como el costo de tratamiento se muestra en la siguiente tabla: MATERIAL 1 2 3 4

LIBRAS DISPONIBLES POR SEMANA 3,000 2,000 4,000 1,000

COSTO DEL TRATAMIENTO ($/LB) 3 6 4 5

La compañía tiene que determinar cuanto debe producir de cada tipo de producto y la mezcla exacta de materiales que debe utilizar para cada tipo de tal manera que se

68

Introducción a la Modelación Matemática y Optimización

maximice el beneficio total por semana (ventas totales menos costos totales de amalgamamiento y tratamiento). 46. Considere un fabricante a gran escala de cierto producto de consumo popular. La administración ha decidido invertir hasta $22‟000.000 en publicidad para su producto. Algunos estudios de investigación de mercados realizados por la compañía han mostrado que el tipo de consumidor más importante de dicho producto son personas que están entre 20 y 45 años de edad, que tienen ingresos de $600.000/mes o más y que han cursado dos o más años de educación universitaria. A partir de estos datos, el grupo de investigación de mercados ha decidido que las características de los clientes tienen una importancia relativa de acuerdo con la siguiente ponderación: CARACTERÍSTICA DEL CLIENTE Edad (20 - 45) Ingresos ($600.000/mes o más) Educación (2 años de universidad)

PONDERACIÓN 0.40 0.35 0.25

Los administradores del departamento de mercadotecnia de la compañía han decidido utilizar los servicios de una agencia de publicidad para que les ayude a desarrollar un plan de publicidad que les permita alcanzar al cliente potencial en forma más efectiva. Después de estudiar los datos de las características de los clientes, la agencia de publicidad ha sugerido que la compañía considere Publicar sus anuncios en tres revistas de Consumo popular. La tabla siguiente muestra las características de los consumidores de las tres revistas: CARACTERÍSTICA DEL CLIENTE Revistas Edad (20 - 45) Ingresos ($600.000/mes o más) Educación (2 años de universidad) Público lector × 1000

Porcentaje de Consumidores A B C 40 70 60 60 50 40 30 20 60 780 940 1250

La agencia de publicidad ha indicado a la compañía que una meta apropiada seria maximizar el número de exposiciones efectivas, dado el presupuesto que se tiene. El objetivo no debe ser maximizar el número de exposiciones para todos los lectores de la Publicidad, sino más bien, maximizar el número de clientes potenciales que se exponen a la publicidad. El costo por anuncio para cada revista es $350.00Q, $510.000 y $560.000, respectivamente. De análisis y estudios conjuntos de la compañía y la agencia de publicidad, se ha decidido que el número máximo de anuncios que debe colocarse en cada revista es 36, 40 y 45 respectivamente Además, se ha decidido que deben colocarse cuando menos 9 anuncios en la revista A y cuando menos 5 en la revista C. Formule un modelo de programación lineal que permita determinar la cantidad de dinero que debe invertirse en publicidad en cada revista para maximizar la exposición efectiva.

69

47. El ministerio de Obras Públicas tiene tres proyectos diferentes de construcción de caminos, aprobados últimamente. Ahora, se presenta el problema de determinar que contratistas llevarán a cabo los proyectos. Se buscaron cotizaciones para los proyectos entre los contratistas locales y tres de ellos presentaron cotizaciones. Las cotizaciones presentadas por los respectivos contratistas se muestran en la tabla siguiente, en unidades de peso: CONTRATISTA C1 C2 C3

PROYECTO Pl P2 28 32 36 28 38 34

P3 36 30 40

Formule un modelo de programación lineal que permita determinar como asignar los proyectos para minimizar los costos totales de todos ellos. Se asume que a cada contratista se le asignará un solo proyecto. 48. Cierta empresa es un contratista grande que realiza trabajos en techos. Puesto que el precio de las tejas varía con las estaciones del año, la compañía trata de acumular existencias cuando los precios están bajos y almacenarlas para su uso posterior. La compañía cobra el precio corriente en el mercado por las tejas que ínstala, sin importar cuando las haya adquirido. La tabla mostrada abajo refleja lo que la compañía ha proyectado como costo, precio de venta y demanda para las tejas durante las próximas cuatro temporadas. Cuando las tejas se compran, se incurre en un costo de manejo de 6 u.p. por cada 1000 piezas, así como también en un costo de almacenamiento de 12 u.p. por cada 1000 piezas por cada temporada en la que se almacenan (suponga que se incurre en el costo de almacenamiento solo para las tejas que se almacenan para períodos su venta en períodos posteriores). Lo máximo que se puede guardar en el almacén son 220.000 piezas; Esto incluye el material que se compra para utilizarlo en el mismo periodo. La compañía ha fijado una política que señala que no se conservan materiales más de cuatro temporadas. Plantee un modelo de programación lineal para que la compañía pueda maximizar sus ganancias netas para las cuatro temporadas.

TEMPORADA Verano Otoño Invierno Primavera

Costo de compra (u.p. / pieza) 21 22 26 24

Precio de venta (u.p. / pieza) 22.00 23.25 28.50 25.50

Ventas Proyectadas (miles) 100 140 200 160

49. Una compañía compra y vende maíz en efectivo. Posee una bodega con capacidad de 1.000 toneladas. El inventario inicial a Enero 01 es de 200 toneladas y $7 millones en caja. El precio estimado del maíz por tonelada para el primer trimestre es el siguiente:

70

Introducción a la Modelación Matemática y Optimización

MES Enero Febrero Marzo

PRECIO DE COMPRA ($/ton) 8.550 9.150 8.700

PRECIO DE VENTA ($/ton) 9.300 9.750 8.850

El maíz es entregado en el mes de compra y no puede ser vendido sino hasta el mes siguiente o los meses que siguen. La compra y venta se hace estrictamente al contado contra-entrega. La compañía desea tener un inventario final de 400 toneladas al terminar el trimestre. Formule un modelo de PL que le permita determinar las políticas de compra y venta en cada mes que maximicen la ganancia neta total en el trimestre. Ignore los posibles costos de inventario. (Adaptado de Moskowitz y Wright, 1982, pág. 289–290.) 50. Una empresa pública debe llevar a cabo cinco proyectos, pero solo han cotizado tres contratistas para realizar los cinco proyectos. Las cotizaciones se muestran en la tabla siguiente: CONTRATISTA C1 C2 C3

Pl 65 59 62

PROYECTO P2 P3 37 42 39 50 46 33

P4 29 29 24

P5 29 31 31

Formule un modelo de Programación lineal para cada uno de los casos planteados a continuación, suponiendo que siempre se busca minimizar el costo total de realización de los proyectos respectivos. a)

Cada contratista puede llevar a cabo máximo dos proyectos y todos los proyectos deben ser ejecutados. b) Cada contratista solo puede ejecutar un solo proyecto y, por lo tanto, solo podrán llevarse a cabo tres de los cinco proyectos. c) No hay límite en el número de proyectos que cada contratista puede llevar a cabo y deben ejecutarse todos los proyectos. 51. Una gran empresa constructora posee 2000 hectáreas de tierra de primera clase, pero no urbanizada. En el pasado no existía mucha regulación a nuevas urbanizaciones en el sitio donde se encuentra la tierra, pero hoy en día las cosas han cambiado. Debido a la falta de desagües por alcantarillado, se utilizan muchos tanques sépticos, la mayoría instalados en forma inadecuada. Como las tierras rodean un lago, con el paso de los años, la filtración de los tanques sépticos ha provocado un severo problema de contaminación de agua. Para controlar la degradación más profunda en la calidad del agua, los funcionarios del municipio presentaron y aprobaron algunos reglamentos estrictos aplicables a todas las urbanizaciones del futuro:

71

a)

Solo se pueden construir casas para una, dos y tres familias, donde las unifamiliares constituyen cuando menos el 50% del total. b) Para limitar el número de tanques Sépticos, se requieren tamaños de lote mínimos de 5, 7.5 y 10 hectáreas para casas de una, dos y tres familias. c) Se deben establecer áreas de recreo de 2.5 hectáreas cada una, a razón de un área para cada 200 familias. d) Para preservar la ecología del lago, no se puede extraer agua del subsuelo para uso en la casa o el jardín. El presidente de la empresa estudia la posibilidad de urbanizar las 2000 hectáreas. La nueva urbanización incluirá casas para una, dos y tres familias. El estima que el 15% del terreno se utilizará en la apertura de calles y vías de acceso para servicios. También calcula que los siguientes serán sus ingresos derivados de la venta de las diversas unidades habitacionales: UNIDADES HABITACIONALES Sencilla Doble Triple

INGRESO NETO POR UNIDAD (u.p.) 10 15 20

El costo de conexión del servicio de agua al área es proporcional al número de unidades que se construyan. Sin embargo, la comunidad estipula que se deberá colectar un mínimo de 100 u.p. para que el proyecto sea económicamente factible. Además, la expansión del sistema de agua más allá de su capacidad actual está limitada a 200.000 galones por día durante períodos pico. Los datos que siguen resumen el costo de conexión del servicio de agua y también del consumo de agua, suponiendo una familia de tamaño medio: UNIDAD HABITACIONAL Sencilla Doble Triple Recreo

COSTO DEL SERVICIO DE AGUA × UNIDAD (u.p.) 1.0 1.2 1.4 0.8

CONSUMO DE AGUA × UNIDAD (gal / día) 400 600 840 450

Formule un modelo de programación lineal que permita determinar el número de unidades que se construirán de cada tipo junto con el número de áreas de recreo que satisfagan los decretos del municipio, de tal manera que la compañía obtenga la máxima utilidad posible.

72

Introducción a la Modelación Matemática y Optimización

52. Una compañía tiene las siguientes propuestas de inversión: ALTERNATIVA 1 2 3 4 5 6

VALOR PRESENTE NETO 100 250 120 170 200 300

INVERSIÓN INICIAL 80 110 90 40 150 200

Las alternativas 2 y 5 son mutuamente excluyentes. Solo puede realizarse la propuesta 4 si la 1 se ha llevado a cabo. El resto de alternativas son independientes. El presupuesto para la inversión inicial es de 500. Formule un modelo de programación lineal que sirva para encontrar el plan de inversión que maximiza el Valor Presente Neto total de la compañía. 53. Usted dispone de cinco proyectos en los cuales puede invertir. Los proyectos se realizarán totalmente o no se realizarán, pero no se podrán emprender parcialmente. Los datos de flujo de dinero se muestran en la tabla siguiente, donde un valor negativo representa una salida de dinero o inversión en el proyecto, y un valor positivo representa un retorno o una entrada de dinero producto del proyecto: AÑO 0 1 2 3 4 5

1  $1.000  $500 $800 $1.700 $1.700 $0

2  $2.500  $1.000 $1.500 $1.800 $2.000 $1.500

Proyectos: 3  $3.000  $2.000 $1.000 $4.000 $2.000 $5.000

4  $3.300 $800 $1.500 $1.500 $1.000 $500

5  $4.000 $1.000 $2.000 $5.000 $0 $0

En el año cero se tiene un presupuesto externo (ajeno a cualquier rendimiento de los proyectos) de $10.000 para inversión y en el año 1 el presupuesto externo es de $1.500 (adicional a cualquier rendimiento de un proyecto emprendido). Los proyectos 3 y 5 son mutuamente excluyentes. Si su tasa mínima de retorno es del 22% anual efectivo, formule un modelo de PL que le permita determinar cuáles proyectos debe realizar con el objeto de maximizar su valor presente neto total.

73

54. La puerta de un vehículo consta de tres partes de metal cuya pintura se puede hacer mediante tres diferentes procesos piscina de pintura, pistola o cuarto de baño de pintura. Se dispone de la siguiente información:

PROCESO Piscina Pistola Baño

NUMERO DE LINEAS 2 4 3

Producción máxima por hora si se dedica a pintar exclusivamente Parte 1 Parte 2 Parte 3 40 10 30 50 30 40 45 15 20

Formule un modelo de programación lineal que permita hallar el máximo número de puertas por hora que puede producirse bajo estas condiciones. 55. Una firma está planeando la construcción de nuevos edificios en cuatro lugares de una ciudad (1, 2, 3 y 4). En cada uno de los lugares puede haber tres posibilidades para el diseño de los edificios (A, B y C). También existe la opción de no construir ningún edificio en cualquiera de los lugares 1, 2, 3 y 4. La tabla siguiente muestra cada una de las opciones, su inversión y su ingreso anual: Opción Inversión Ingreso Anual

A1 B1 C1 A2 B2 C2 A3 C3 A4 B4 C4 12 20 24 30 69 45 10 28 42 50 55 2 4 6 5 7 11 5 12 16 19 22

El presupuesto de inversión es de 80 y el propósito es maximizar el ingreso anual. Se tienen además las siguientes condiciones: a) No se puede construir más de un edificio en cada sitio. b) Debe construirse un edificio en la localidad 4. c) El diseño A podrá considerarse para los lugares 1, 2 y 3 sólo si se construyera en el lugar 4. d) Debido a consideraciones de construcción, los diseños B1, B2 y C4 no pueden construirse todos simultáneamente. Formule un modelo de programación entera que permita determinar el plan óptimo de inversiones.

74

Introducción a la Modelación Matemática y Optimización

56. Una cadena de tiendas pequeñas está planeando entrar a un nuevo mercado y debe determinar donde localizar nuevas tiendas en cierta zona. La figura muestra un mapa de las principales calles en la zona de interés. A

B

C

1

1 2

3

E

2

4 5

3 4

D

7

6 8

9

10

5

1 milla

1 milla

Las calles adyacentes están separadas 1 milla. Las localizaciones, marcadas de 1 a 10, son los lugares potenciales donde se pueden ubicar nuevas tiendas. La distancia entre un punto y otro se mide con base en la red de calles. Por ejemplo, la distancia entre el punto 4 y el punto 6 es de 3 millas; entre el punto 1 y el punto 8 es de 4 millas. El costo de construcción de una tienda depende del lugar donde se haga, de acuerdo a la tabla siguiente: Localización 1 100 Costo

2 80

3 90

4 50

5 80

6 90

7 100

8 70

9 90

10 80

Se tienen las siguientes condiciones para la construcción de las nuevas tiendas: a)

No se pueden abrir dos tiendas sobre la misma calle. Por ejemplo, no se pueden abrir las tiendas 5 y 6 simultáneamente, ni por ejemplo las tiendas 4 y 8 simultáneamente. b) Las tiendas deben estar localizadas de tal forma que estén separadas entre sí por 3 millas o más. Por ejemplo, las tiendas 4 y 5 no podrían abrirse simultáneamente por este motivo. c) Todo punto en el que se intercepten dos calles (o sea A1, B1, ... hasta E5.) no debe estar alejado más de 3 millas de alguna de las nuevas tiendas (3 millas es aceptable, pero más no). Formule un modelo de programación binaria que permita determinar la localización óptima de las nuevas tiendas, minimizando el costo total de construcción y cumpliendo con todas las condiciones especificadas.

75

57. Una compañía manufactura tres productos, A, B y C. Cada unidad de A requiere 1 hora de servicio de ingeniería, 8 horas de mano de obra directa y 4 libras de material. Para producir una unidad de producto B se necesitan 3 horas de ingeniería, 3 horas de mano de obra directa y 3 libras de material. Cada unidad de producto C requiere de 2 horas de ingeniería, 4 horas de mano de obra directa y 2 libras de material. Se dispone de 80 horas de ingeniería, 800 horas de mano de obra directa y 300 libras de material cada mes. Las utilidades unitarias de cada producto se han determinado como muestra la tabla siguiente: PRODUCTO A PRODUCTO B PRODUCTO C Ventas Utilidad Ventas Utilidad Ventas Utilidad (unidades) ($/unidad) (unidades) ($/unidad) (unidades) ($/unidad) 0–40 40–100 100–50 Más de 50

10 9 8 6

0–50 50–100 Más de 100

6 4 3

0–100 Más de 100

5 4

Formule un modelo de PL para determinar el programa de producción óptimo. (Moskowitz y Wright, 1982, pág. 290–291.) 58. Una fábrica necesita cumplir un contrato de suministro de 1200 puertas dentro de un plazo de cinco semanas, así: Al final de la semana Núm. de puertas a entregar

1 100

2 200

3 300

4 400

5 200

Las condiciones son las siguientes: a) Al final de la quinta semana deben haber sido entregadas todas las puertas. b) Existe una multa de 30 unidades de peso (u.p.) por semana de atraso y por unidad no entregada. c) Se puede almacenar a un costo de 10 u.p. por puerta y por semana. d) Inicialmente hay 20 operarios y 10 puertas. Cada operario puede hacer 8 puertas por semana. e) Los operarios nuevos puedan ser entrenados por un operario ya experto. Convertirse de novato a experto demora una semana. f) Cada operario experto puede entrenar a 5 operarios nuevos, pero no produce puertas. g) El salario, trabaje o no, sea novato o experto, es de 100 u.p. por semana. h) Se puede despedir operarios a un costo de 100 u.p. por operar lo despedido. Formule un modelo de programación lineal que permita planear la producción a costo mínimo. 59. Un ingenio produce azúcar morena, azúcar refinada, azúcar pulverizada y mieles con el jarabe de la caña de azúcar. La compañía puede procesar hasta 4000 toneladas de jarabe a la semana y tiene un contrato para entregar un mínimo de 25 toneladas semanales de cada tipo de azúcar y mieles. El proceso de producción se inicia fabricando azúcar morena y mieles con el jarabe. Una tonelada de jarabe produce 0.3 toneladas de azúcar morena y 0.1 toneladas de mieles. Las mieles así obtenidas están listas para la venta. Después, el azúcar

76

Introducción a la Modelación Matemática y Optimización

refinada se elabora procesando el azúcar morena. Se requiere 1 tonelada de azúcar morena para producir 0.8 toneladas de azúcar refinada. Finalmente, el azúcar pulverizada se fabrica a partir del azúcar refinada por medio de un proceso de molido especial, que tiene un 95% de eficiencia de conversión (1 tonelada de azúcar refinada produce 0.95 toneladas de azúcar pulverizada). El proceso de producción tiene una limitante que sólo permite procesar 1100 ton/semana de azúcar morena solamente o 900 ton/semana de azúcar refinada solamente o cualquier combinación adecuada de ambas. (El azúcar pulverizada y las mieles no tienen esta limitante). Las utilidades netas de azúcar morena, azúcar refinada, azúcar pulverizada y mieles son de 150, 200, 230 y 35 $/tonelada, respectivamente. Formule un modelo de programación lineal que le permita determinar el programa de producción semanal de cada tipo de azúcar y de las mieles, para obtener la máxima utilidad neta. (Taha, 1998, pág. 55) 60. La tabla siguiente muestra la demanda requerida de cierto producto por los próximos doce meses. MES 1 2 3 Demanda 10 62 12

4 5 6 7 8 13 15 129 88 52 0 4

9 10 11 12 12 160 238 41 4

TOTAL 1200

Se ha estimado un costo fijo de alistamiento A de $54/pedido, un costo de llevar el inventario r de 0.02 $/($mes), y el costo unitario de cada producto v es de $20/unidad. La empresa ha decidido utilizar un criterio para la programación de sus órdenes, estableciendo la producción de tres meses de requerimientos cada vez que se produzca. Así, por ejemplo, y asumiendo que el inventario inicial es cero, al comienzo del mes 1 debe estar disponible una orden por 10 + 62 + 12 unidades = 84 unidades, correspondientes a las necesidades de los meses 1, 2 y 3. Calcule los costos de inventario asociados con esta política de pedidos. Asuma que los costos de mantenimiento del inventario se cargan al inventario final en cada mes. Formule un modelo de PL enteramixta para ayudarle a la empresa a determinar la forma óptima de producir estos requerimientos y compare los resultados. 61. A su empresa ha llegado un pedido de 3500 unidades de cierto producto, el cual puede usted manufacturar en cualquiera de cuatro máquinas, con las siguientes características:

MÁQUINA 1 2 3 4

COSTO FIJO DE ALISTAMIENTO ($) 150 450 300 520

COSTO DE PRODUCCIÓN ($/unidad) 15 3 7.5 2

CAPACIDAD ACTUAL (unidades) 1500 2900 1800 1100

Formule un modelo de PL entera-mixta para determinar en cuáles máquinas debe usted producir el pedido y la cantidad a producir en cada máquina, con el objeto de minimizar la suma de los costos fijos de alistamiento y los costos variables de producción.

77

62. Una planta manufacturera debe cumplir con la siguiente demanda en unidades en los próximos 12 meses: MES Enero Febrero Marzo Abril

DEMANDA 5300 5100 4400 2800

MES Mayo Junio Julio Agosto

DEMANDA 4100 4800 6000 7100

MES Septiembre Octubre Noviembre Diciembre

DEMANDA 7300 7800 7600 6400

Para ajustarse a estas fluctuaciones de demanda, la empresa puede usar cualquier combinación de las siguientes alternativas: a) Cambiar la fuerza laboral contratando o despidiendo empleados temporales. b) Cubrir picos de demanda mediante el trabajo en horas extras. c) Producir un poco más en forma anticipada y almacenar para demandas futuras. Los cambios en la fuerza laboral, bien sea en su aumento o disminución, no pueden ser mayores que 40 trabajadores por mes, debido al convenio realizado con la empresa de empleos temporales. Adicionalmente, estos cambios cuestan $300 por cada empleado contratado y $420 por cada empleado que se despida, así sea en forma temporal. El trabajo en horas extras es también limitado. Cada trabajador puede producir hasta 20 unidades/mes en tiempo normal de trabajo, pero no puede producir más de 6 unidades/mes en tiempo extra. Además, los costos por unidad producida en hora extra exceden en $20/unidad al costo de producción en tiempo normal. Finalmente, el almacenamiento cuesta $8 por cada unidad almacenada cada mes. Actualmente, la empresa cuenta con 290 trabajadores y no tiene inventario alguno en sus bodegas. Se asume que al final de Diciembre, el inventario en las bodegas será igual a cero. Formule un modelo de PL que le ayude a realizar la planeación agregada de producción de la empresa. (Adaptado de Chvátal, 1983, pág. 188–194.) 63. Una corporación ha decidido producir tres productos nuevos. En este momento cinco de sus plantas tienen exceso de capacidad de producción. El costo unitario de fabricación del primer producto será de 31, 29, 32, 28 y 29 $/unidad en las plantas 1, 2, 3, 4 y 5, respectivamente. El costo de fabricación del segundo producto será de 45, 41, 46, 42 y 43 $/unidad en las plantas respectivas 1, 2, 3, 4 y 5. El costo unitario de fabricación del tercer producto será de 38, 35 y 40 $/unidad en las plantas 1, 2 y 3, respectivamente, mientras que las plantas 4 y 5 no pueden fabricar este producto. Los pronósticos de ventas indican que la producción diaria de cada uno de los tres productos debe ser de 6000, 10000 y 8000 unidades. Las plantas 1, 2, 3, 4 y 5 tienen capacidades para producir 4000, 6000, 4000, 10000 y 3500 unidades diarias, independientemente del producto o combinación de productos que se quiera. Supóngase que cualquier planta que tiene capacidad y puede fabricarlos, podrá producir cualquier combinación de productos en cualquier cantidad. Formule este problema como un modelo de transporte para determinar cómo asignar los

78

Introducción a la Modelación Matemática y Optimización

nuevos productos a las plantas con el fin de minimizar el costo total de fabricación. (Adaptado de Hillier y Lieberman, segunda edición, 1989, pág. 227.) 64. Supóngase que Inglaterra, Francia y España producen todo el trigo, cebada y avena del mundo. La demanda mundial de trigo requiere que se dediquen 125 millones de acres a la producción de este cereal. De igual manera, se necesitan 60 millones de acres para cebada y 70 millones de acres para avena. La cantidad total de tierra disponible en los tres países es de 70 millones de acres en Inglaterra, 110 millones de acres en Francia y 80 millones de acres en España. El número de horas de mano de obra necesarias en Inglaterra, Francia y España para producir un acre de trigo es 18, 13 y 16 horas, respectivamente. La producción de un acre de cebada requiere 15 horas de mano de obra en Inglaterra, 12 en Francia y 12 en España. El número de horas de mano de obra necesarias para producir un acre de avena es de 12 en Inglaterra, 10 en Francia y 16 en España. El costo de mano de obra por hora en los tres países es $3.00, $2.40 y $3.30 para la producción de trigo, $2.70, $3.00 y $2.80 para la producción de cebada y $2.30, $2.50 y $2.10 para la producción de avena. El problema es asignar el uso de la tierra en cada país de manera que se cumpla con los requerimientos de alimentación en el mundo y se minimice el costo total de mano de obra. Formule este problema como un problema de transporte construyendo la tabla de costos y requerimientos apropiada. (Adaptado de Hillier y Lieberman, segunda edición, 1989, pág. 228.) 65. Una empresa constructora de viviendas prefabricadas estima que la demanda de su producto va a aumentar en el futuro próximo. La capacidad normal de producción es de 1500 viviendas/mes, pero en caso de necesidad se puede aumentar, mediante trabajo extra, en un 40% con costos adicionales de 1000 u.p./unidad. También es posible almacenar los excesos de producción en los tiempos de baja demanda para compensar el déficit en los meses de alta demanda. Los costos de almacenamiento son de 200 u.p./unidad cada mes. La demanda estimada para los próximos 6 meses es de 1200, 1000, 2100, 2600, 2300 y 1800, respectivamente. Formule un modelo de programación lineal para planificar la producción durante los próximos 6 meses a costo total mínimo. 66. Considere la tabla de la página siguiente, la cual muestra la información básica para construir un problema real de dieta humana, y resuelva el caso que se presenta a continuación.

79

Información para construir un problema real de la dieta6 Tabla de valores nutritivos aproximados por porción* Alimento

(Kcal) 120 50 160 125

(gr) 7.5 9.5 8.5 8.5

(mg) 225 50 285 295

(mg) 0.3 0.2 0.0 0.0

(U.I.) 390 5 370 170

(mg) 0.01 0.02 0.07 0.10

(mg) 0.14 0.15 0.41 0.44

(mg) 0.0 0.0 0.2 0.2

(mg) 0 0 2 2

Pollo Huevos Pescado Jamón Hamburguesa Hígado Cerdo Carne frita Atún enlatado

205 80 200 290 245 170 160 260 195

32.5 6.5 30.0 21.0 20.5 20.0 8.0 28.5 29.0

12 27 23 9 9 8 70 12 8

1.7 1.2 1.4 2.6 2.7 6.6 2.3 3.5 1.9

90 590 0 0 30 40000 170 30 80

0.05 0.06 0.07 0.47 0.08 0.20 0.10 0.08 0.05

0.22 0.15 0.08 0.18 0.18 3.14 0.04 0.22 0.12

14.7 0.1 2.5 3.6 4.6 12.4 0.8 5.6 11.9

0 0 2 0 0 20 3 0 0

Manzanas Brócoli Zanahorias Naranjas Jugo de naranja Papas Espinaca Tomates

90 25 20 75 80 95 20 35

0.3 3.0 0.6 1.5 1.0 2.5 3.0 1.5

11 88 19 62 20 9 84 20

0.5 0.8 0.4 0.6 0.4 0.7 2.0 0.8

140 2500 5500 300 370 0 7290 1350

0.05 0.09 0.03 0.15 0.17 0.10 0.06 0.09

0.03 0.20 0.03 0.06 0.06 0.04 0.13 0.06

0.2 0.8 0.3 0.6 0.7 1.7 0.5 1.1

6 90 4 75 93 20 25 35

Pan Cereal (hojuelas) Avena Pasta Arroz

55 95 65 155 110

2.0 2.0 2.0 5.0 2.0

17 4 11 11 10

0.5 0.4 0.7 0.6 0.9

0 0 0 0 0

0.04 0.11 0.10 0.01 0.11

0.02 0.02 0.02 0.01 0.00

0.3 0.5 0.1 0.4 1.0

0 0 0 0 0

Mantequilla Azúcar Manteq. de maní

100 385 90

0.0 0.0 4.0

3 0 10

0.0 0.1 0.3

460 0 0

0.00 0.00 0.02

0.00 0.00 0.02

0.0 0.0 2.4

0 0 0

Queso Cheddar Queso Mozzarela Leche Yogurt

*

Energía Proteínas Calcio Hierro Vit. A Vit. B1 Vit. B2 Niacina Vit. C

Una porción se refiere a la cantidad que se consume normalmente en una comida del día. Por ejemplo, una porción de papas puede representar 100 gr, o sea una papa mediana; una porción de huevos es un huevo de tamaño normal; una porción de leche es una taza de leche; y así sucesivamente. Todas las cifras de la tabla anterior se refieren a porciones normales de cada alimento.

Vamos a asumir que se trata de una dieta promedio con los siguientes requerimientos mínimos diarios:

6

Desarrollado con base en la información mostrada en Chvátal, Vasek, Linear Programming, W. H. Freeman and Company, New York, 1983, pág. 3–5, 182–187.

80

Introducción a la Modelación Matemática y Optimización

Tabla de requerimientos mínimos diarios Energía Proteínas Calcio Hierro Vit. A Vit. B1 Vit. B2 Niacina Vit. C (Kcal) (gr) (mg) (mg) (U.I.) (mg) (mg) (mg) (mg) 2700 56 800 10 5000 1.4 1.6 18 45

Igualmente, definimos los tamaños de las porciones de cada alimento de acuerdo con la tabla siguiente: Tabla de tamaño de cada porción de alimento Alimento Tamaño de cada porción Queso Cheddar 1 onza (30 gr) Queso Mozzarela 1 onza (30 gr) Leche 1 taza Yogurt 1 taza Pollo Huevos Pescado Jamón Hamburguesa Hígado Cerdo Carne frita Atún enlatado

100 gr (½ pechuga) 1 huevo 100 gr 2 tajadas 85 gr (1 mediana) 75 gr 100 gr 100 gr 100 gr (seco)

Manzanas Brócoli Zanahorias Naranjas Jugo de naranja Papas Espinaca Tomates

1 mediana ½ taza 1 mediana 1 mediana 1 taza 1 mediana ½ taza 1 mediano

Pan Cereal (hojuelas) Avena Pasta Arroz

2 tajadas 100 gr 120 gr 140 gr 100 gr

Mantequilla Azúcar Manteq. de maní

1 cucharada ½ taza 1 cucharada

En este problema, entonces, usted debe: a) Adicionar a la lista de alimentos presentada cinco (5) nuevos alimentos a los cuales pueda conseguirle la información nutricional y su correspondiente costo, por porción. (Se supone que cada grupo de trabajo del curso encuentre información diferente) b) Investigar los costos de los alimentos mostrados en la tabla anterior en nuestro medio, por porción (Valores aproximados). Recuerde que para formular un problema real,

81

este costo debe calcularse por porción de cada alimento. Por ejemplo, si una libra (500 gr) de carne para freír cuesta aproximadamente $8000, entonces el costo de cada porción de 100 gr sería de 8000/5 = $1600. c) Formular un modelo de programación lineal que le permita encontrar una dieta diaria de costo total mínimo, que satisfaga todos los requerimientos mínimos diarios mostrados anteriormente. Este modelo puede hacerlo en forma simbólica y compacta, definiendo nombres para los datos anteriores. En otras palabras, para formular el modelo no se necesita escribir explícitamente cada término de la función objetivo ni cada restricción, sino su representación compacta en forma de sumatorias. d) Resolver el modelo mediante el WinQSB, analizar su solución y concluir respecto de las características de la dieta de costo mínimo en nuestro medio. e) Analizar los problemas de sabor y gusto de las personas para replantear el modelo formulado de tal forma que raciones de alimentos seleccionados siempre aparezcan en la dieta. Resolverlo nuevamente y analizar la solución.

82

Introducción a la Modelación Matemática y Optimización

3.5. SOLUCIÓN DE MODELOS DE PROGRAMACIÓN LINEAL Hasta el momento se ha llegado a la obtención del modelo de Programación Lineal. De hecho, lo más importante es definir claramente el problema y conceptualizar el modelo correctamente. Sin embargo, una vez concluidos estos dos pasos fundamentales, lógicamente es necesario encontrar la solución (o soluciones) del modelo. En la mayoría de los casos, el método que más se aplica es el simplex. Sin embargo, para lograr la comprensión del método simplex es necesario estudiar inicialmente dos formas de solución: El método gráfico y el método de enumeración de soluciones básicas. Existen otros métodos denominados algoritmos de punto interior que no se estudian aquí. 3.5.1. Método Gráfico de Solución Este método se ilustrará encontrando la solución del modelo Nº 1 anterior. Este modelo servirá de base para el estudio y la comparación de todos los métodos. Lo primero que hay que observar es que el modelo al cual se llegó, tiene sólo dos variables de decisión, (X1 y X2). Esto hace pensar que es posible representar las restricciones en un eje de coordenadas (X1, X2). El modelo encontrado anteriormente es el siguiente:

Sujeto a:

Existen infinitos valores de X1 y X2 los cuales satisfacen todas las restricciones simultáneamente (ignorando la restricción por enteros, la cual se presenta en algunas ocasiones). Por ejemplo, (0, 0) y (50, 100)son dos parejas de valores (X1, X2), que satisfacen todas las restricciones. Además, cualquier valor de X1 entre 0 y 50 y de X2 entre 0 y 100, también satisface a todas las restricciones simultáneamente (esta última observación es válida para valores reales de X1 y X2, obviamente sin tener en cuenta la restricción por enteros). Así, puede verse claramente que las restricciones “encierran” un conjunto de infinitas parejas (X1,

83

X2), las cuales las satisfacen simultáneamente. Este conjunto de parejas son las soluciones factibles y forman la denominada región factible (Figura 3.1)

Figura 3.1. Solución gráfica del modelo Nº1

Como se observa en la figura 3.1, la región factible se construye en el plano X1 X2, trazando las rectas R1, R2, R3, R4, R5, las cuales se obtienen de las restricciones, tomando el signo “igual”, así:

Posteriormente, se encuentra el semiplano definido por cada desigualdad. Para esto se prueba, generalmente si el origen (0.0) cumple con la desigualdad y, de ser así, él esta dentro del semiplano buscado. En la figura 3.1 se ha marcado con flechas el semiplano que cumple con el signo  para las restricciones R1, R2 y R3 y de  para las restricciones de no–

84

Introducción a la Modelación Matemática y Optimización

negatividad R4 y R5, las cuales limitan la región al primer cuadrante. La intersección de todos los semiplanos definidos por las desigualdades constituye la región factible. Los infinitos puntos en los límites y dentro de la región factible son las soluciones factibles del modelo. Por lo general, sólo una de estas infinitas soluciones es la solución óptima, o sea aquella que produce el valor óptimo de la función objetivo (máximo o mínimo). Por ejemplo, se observa claramente que X1 = 400 y X2 = 200 es una solución factible, pues está dentro de la región factible. Esta solución produciría un valor de la función objetivo U = $300.000. Otra solución factible es X1 = 500 y X2 = 300, la cual produciría U = $410.000. O sea que esta última es mejor que la primera, pues produce un mayor valor de la función objetivo “U”, ya que ésta se está maximizando. Se puede demostrar que la región factible definida por restricciones lineales es una región convexa. En una región convexa, si se escogen cualquier par de puntos dentro o en los límites de la región y se unen por una línea recta, entonces toda la línea recta queda comprendida dentro de la región. La propiedad de convexidad es un aspecto fundamental para la caracterización de los problemas de optimización. En general, puede afirmarse que un problema convexo (programación convexa) es más fácil de resolverse que otro que no lo es. Los vértices de la región factible son los interceptos de los segmentos de reata límites de la región. En este caso los vértices son: V1 (0,0) V2 (0,600) V3 (350,450) V4 (700,200) V5 (900,0) Para encontrar la solución óptima se procede de la siguiente manera: Se traza la recta de la función objetivo para un valor arbitrario. Por ejemplo, sea:

Todos los puntos de esta recta que queden dentro de la región factible son soluciones factibles que producen obviamente un valor de U = 280.000 (por ejemplo X1 = 350; X2 = 200). Se traza otra recta con un valor diferente, por ejemplo:

Esta recta es obviamente paralela a la primera, pues tiene la misma pendiente igual a 4/7 y, de nuevo, todos los puntos de ella que están dentro de la región factible son soluciones factibles que producen un valor de U = 420.000. O sea que la función objetivo “U” aumenta de valor a lo largo de una familia de rectas paralelas con pendiente –4/7. Es aquí donde se puede concluir la forma de encontrar la

85

solución óptima: Si se conoce la dirección de crecimiento de la función objetivo, se puede seguir esta dirección por rectas paralelas hasta encontrar el último punto que se “toca” al “abandonar” la región factible; ESTA SERÁ LA SOLUCIÓN ÓPTIMA DEL MODELO DE PROGRAMACIÓN LINEAL. En el modelo Nº 1, el último punto que se toca al abandonar la región factible es el vértice V3 (X1 = 350; X2 = 450), el cual produce un valor de U = 455.000. Si se aumenta sólo un poco más el valor de “U”, la nueva recta estará por completo fuera de la región factible. O sea que el máximo valor que puede lograrse es U = 455.000, con X1 = 350 y X2 = 450. Por lo tanto, la solución óptima de este modelo es: X1 = 350 X2 = 450 U* = 455.000 (U* = U óptima) Análisis de la solución: La solución óptima plantea que deben producirse 350 transformadores de 40 VA y 450 de 75 VA para obtener una utilidad máxima posible por este concepto de $455.000. Obsérvese que se supone que todos los transformadores que se producen, se van a vender. En caso de que exista alguna restricción de demanda, ésta deberá ser incluida en el modelo y éste por supuesto podrá tener soluciones óptimas diferentes. Los recursos limitados del sistema son las horas.hombre, las horas.máquina1 y las horas.máquina2. Si se producen las cantidades dadas en la solución óptima, se están utilizando los siguientes recursos:

O sea que se utilizan completamente las horas-hombre y las horas-máquina 1 disponibles, pero sólo se utilizan 800 de las 900 horas-máquina 2 disponibles. Por lo tanto “sobran” 100 horas-máquina 2, las cuales no contribuyen en nada a la función objetivo. Como se verá más adelante, si se dispusiera de un mayor número de horas-hombre y/ó horasmáquina 1, probablemente podría incrementarse la utilidad máxima, pero el hecho de tener mayor disponibilidad de horas-máquina 2 no contribuiría en nada a la función objetivo, ya que se trata de un recurso sobrante, el cual se dice que tiene un costo de oportunidad igual a cero. Como ya se ha podido concluir, el método gráfico es útil cuando se tienen modelos de sólo dos variables de decisión o cuando se tiene un número par de variables y las restricciones

86

Introducción a la Modelación Matemática y Optimización

involucran parejas de ellas; por ejemplo, el siguiente modelo puede ser resuelto utilizando el método gráfico:

Sujeto a:

En este modelo se divide la función objetivo en dos funciones, así:

Y se utiliza el método gráfico independientemente para cada Zi, con sus respectivas restricciones. En el caso de tres variables de decisión, aún puede ser utilizado el método gráfico en algunas ocasiones donde resulte fácil apreciar la región factible y los “planos objetivos”. En este caso la región factible es un poliedro convexo, formado por el corte de los diferente planos que constituyen las restricciones; el crecimiento de la función objetivo se puede observar mediante el desplazamiento de planos paralelos. De nuevo, el último punto del poliedro que toque el plano al abandonar la región factible será la solución óptima. Considérese el modelo siguiente:

Sujeto a:

En la figura 3.2 se puede apreciar la región factible y los “planos objetivos”. La solución óptima es: X1 = 0; X2 =2; X3 =0; Z* = 20 (Vértice V3) Sin embargo, el método gráfico resulta inadecuado en la mayoría de los casos de tres variables de decisión, pues se necesita gran habilidad en el dibujo y una gran imaginación espacial.

87

Figura 3.2. Solución de un modelo de PL de 3 variables mediante el método gráfico

De los dos ejemplos resueltos por el método gráfico, puede sacarse una conclusión muy importante, la cual es válida para cualquier modelo de Programación Lineal: La solución óptima se encuentra en uno de los vértices de la región factible. Esta afirmación, que puede ser planteada como un teorema, es de fundamental importancia, pues de infinitas soluciones posibles (definidas por la región factible), sólo basta con mirar aquellas definidas por los vértices de la región factible. Obsérvese que en el caso anterior, la recta de la función objetivo “abandona” a la región factible en un solo vértice, constituyéndose así en una SOLUCIÓN ÓPTIMA ÚNICA. Existen otros tres casos importantes, en los cuales no hay solución óptima única: a.

Cuando existen infinitas soluciones óptimas:

Este caso ocurre cuando la recta de la función objetivo es paralela a uno de los lados de la región factibles. Obviamente, aquí la recta de la función objetivo toca infinitos puntos al abandonar la región factible. Estos infinitos puntos están en el segmento de la recta que une dos vértices determinados (sin embargo, también en este caso la solución óptima esta en los

88

Introducción a la Modelación Matemática y Optimización

vértices de la región factible). Todos ellos son solución óptima y producen el mismo valor de la función objetivo. Por ejemplo, en el modelo Nº 1, si la función objetivo hubiera sido:

El modelo hubiera tenido infinitas soluciones. Ejercicio: Resuelva el modelo Nº 1 por el método gráfico, cambiando la función objetivo por la anterior. Encuentre la “solución general”. Plantee otra función objetivo que produzca infinitas soluciones. b.

Cuando no existe “solución acotada”:

En este caso una ó varias variables pueden crecer (ó decrecer) sin restricción, produciendo valores cada vez mayores (ó menores) en la función objetivo. Es el caso en el que la región factible es “abierta”, probablemente debido a que faltó incluir alguna restricción en el modelo. Por ejemplo, en el modelo:

Sujeto a:

La variable X1 puede crecer indefinidamente, aportando cada vez más a la función objetivo, sin violar las restricciones. O sea que en este caso, en realidad, no existe solución acotada. Ejercicio: Dibuje la región factible del modelo anterior y compruebe que es “abierta”. Incluya una restricción adicional que permita tener solución óptima única. c.

Cuando no existe ninguna solución factible alguna:

En este caso no existe en realidad una región factible, pues la “intersección de las restricciones” es el conjunto vacío. Esta situación se presenta cuando hay inconsistencia en las restricciones y el modelo debe ser replanteado. Por ejemplo el modelo:

89

Sujeto a:

No tiene solución factible alguna. Ejercicio: Trate de dibujar la región factible del modelo y compruebe que ésta no existe y que por lo tanto el modelo no tiene solución óptima. Los tres casos anteriores pueden presentarse en cualquier modelo de Programación Lineal, pero se han ilustrado para 2 ó 3 variables de decisión, para que puedan observarse gráficamente.

3.5.2. Método de Enumeración de Soluciones Básicas Ya se ha afirmado que la solución óptima (en general) de un modelo de Programación Lineal está en uno de los vértices de la región factible. Esto se puede ver geométricamente de una forma clara. Pero, es más adecuado establecer la transición de la Geometría al Álgebra, para tratar de manejar problemas de un mayor número de variables. Para esto, inicialmente se estudian modelos de Programación Lineal en su forma estándar. 3.5.2.1.

Forma estándar de los modelos de Programación Lineal

Un modelo de Programación Lineal se puede transformar a la forma estándar, la cual tiene las siguientes características: a. La función objetivo debe ser de maximización (aunque no siempre es necesaria esta condición) b. El sistema de restricciones debe estar conformado por un conjunto de igualdades restrictivas, donde los términos independientes bi deben ser mayores ó iguales a cero. c. Todas las variables deben tener la condición de no-negatividad (Xj  0, para todo j). En general, el modelo estándar es de la forma siguiente: Función Objetivo:

90

Introducción a la Modelación Matemática y Optimización

Sujeto a:

Igualdades Restrictivas

En el modelo anterior los bi deben ser mayores ó iguales a cero. Por lo general, se cumple que m < n y, por lo tanto, el sistema de igualdades tiene infinitas soluciones (las infinitas soluciones de la región factible). Para llevar cualquier modelo de Programación Lineal a la forma estándar puede hacerse uso (de ser necesario) de las siguientes transformaciones: a. Si la función objetivo es de minimización, o sea MIN Z, puede definirse Z´= Z y cambiar la función objetivo a MAX (Z), o sea MAX Z´. b. Si se trata de una desigualdad de , se puede sumar una variable no negativa denominada “variable de holgura”, para establecer la igualdad; o sea, si la restricción es:

Se transforma a:

La variable Si es la variable de holgura. Ella se le puede llamar Si ó, simplemente, se le denomina Xk, con el subíndice k diferente a los de las demás variables; por ejemplo:

Se puede transformar a:

Ó: restricción anterior.)

(Si no se ha utilizado la variable X5 en alguna

Si se trata de una restricción de mayor o igual, entonces se le resta una variable no negativa, denominada variable de exceso, así:

Se transforma en:

91

O si se utiliza la segunda forma, se transformaría en:

Las variables de holgura, obviamente, deben cumplir con las restricciones de nónegatividad. c. Si alguno de los bi es menor que cero, entonces se multiplica por (-1) a ambos lados de la desigualdad (o igualdad) y posteriormente se le suma (ó se le resta) la variable de holgura (ó de exceso), dependiendo del signo resultante de la desigualdad. Si se trata desde un comienzo de una igualdad, lógicamente no es necesario adicionar variable de holgura ó exceso. d. Si existe alguna variable que no tiene restricción de no-negatividad (variable libre), entonces se le reemplaza por la diferencia de dos variables positivas, en forma semejante a lo visto anteriormente en el modelo de programación de metas, así: Xj es variable libre (Xj puede ser mayor, igual ó menor que cero) Entonces donde aparece Xj, cambiarla por:

Ejemplo: Convertir a la forma estándar el siguiente modelo de Programación Lineal:

Sujeto a:

Las transformaciones a realizar son: a. b. c. d. e.

En la restricción R1 debe sumarse una variable de holgura. En la restricción R2 debe multiplicarse a ambos lados de la igualdad por (-1), pero no deben adicionarse variables de holgura ó exceso. En la restricción R3 debe multiplicarse primero por (-1) a ambos lados de la desigualdad, y luego adicionar la variable de holgura correspondiente. En la restricción R4 debe restarse una variable de exceso. La restricción R5 no necesita ninguna transformación.

92

Introducción a la Modelación Matemática y Optimización

f. g.

Donde aparezca la variable X4, debe cambiarse por (X4+ X4), X4+ y X4 mayores ó iguales que cero. La función objetivo se cambia a maximización.

De acuerdo con estas transformaciones, el modelo en forma estándar es el siguiente:

Sujeto a:

3.5.2.2.

Algunas definiciones sobre el modelo estándar

Prácticamente, en todos los modelos estándar de Programación Lineal existen un mayor número de variables que de restricciones. Como el sistema de restricciones es un sistema lineal de ecuaciones n x m, donde n > m, lo más probable es que tenga infinitas soluciones. Cuando un sistema de ecuaciones lineales tiene infinitas soluciones, existen variables a las cuales se les puede asignar un valor arbitrario, para luego resolver el sistema remanente y así encontrar una solución del sistema. A las variables que se les asigna un valor arbitrario, se les puede llamar variables que “sobran” en el sistema y su número es igual a n  m. El sistema remanente es cuadrado m × m y se resuelve para así obtener una solución particular del sistema (es posible que el sistema remanente m × m no tenga solución). Con base en lo anterior, se pueden hacer las siguientes definiciones sobre cualquier modelo de programación lineal en forma estándar: Solución Factible: Una solución factible es cualquier solución del sistema n × m que satisfaga las condiciones de no-negatividad (o sea aquella solución en la cual todas las variables son positivas ó cero).

Solución Básica: Es aquella solución en la cual se les da el valor arbitrario de cero a las n  m variables que “sobran” en el sistema n × m. A las m variables que no se les da el valor arbitrario de cero

93

se les denomina variables básicas y se dice que constituyen una base del sistema de ecuaciones.

Solución Básica Factible: Es una solución básica que cumple con las condiciones de no-negatividad (en este caso las variables básicas son positivas. (Si existe por lo menos una variable básica igual a cero, se dice que la solución es degenerada)

Solución Óptima: Es la solución factible que proporciona el valor óptimo (máximo ó mínimo) de la función objetivo. Con base en las definiciones anteriores, se pueden enunciar los tres principales teoremas de optimalidad (sin demostración), a saber: a. b. c.

Las soluciones factibles conforman un conjunto convexo, cuyos vértices son las soluciones básicas factibles. Si el sistema tiene una solución factible, entonces existe por lo menos una solución básica factible. Si la función objetivo tiene un óptimo (máximo ó mínimo) finito, entonces existe por lo menos una solución óptima la cual es una solución básica factible.

3.5.2.3.

El método de solución de enumeración de soluciones básicas

De los tres teoremas anteriores se saca una conclusión fundamental en la teoría de la Programación Lineal: Si un modelo de Programación Lineal tiene solución óptima, esta se puede encontrar en una solución básica factible. O sea, que de las infinitas soluciones factibles, “sólo” basta con inspeccionar las básicas factibles y una de éstas será una solución óptima del problema de PL. Igualmente, de la afirmación anterior queda claro por qué se decía en el desarrollo del método gráfico que la solución óptima estaba en uno de los vértices de la región factible. Dado que el método de enumeración de soluciones básicas debe inspeccionar todas las soluciones básicas, identificar la factible y escoger la mejor, debe primero determinarse el número posible de soluciones básicas. Como en el sistema de “m” igualdades con “n” variables, “sobran” (n – m) variables a las cuales se les asigna el valor de cero, el número

94

Introducción a la Modelación Matemática y Optimización

posible de soluciones básicas resulta ser igual a todas las posibles formas de escoger las (n – m) variables de las n totales, o sea:

Por lo tanto, es necesario resolver sistemas de ecuaciones lineales m × n para encontrar la solución óptima. Aquí ya pueden observarse las limitaciones de este método, pues supóngase que se tiene un 30 modelo de 30 variables con 15 restricciones (el cual es un modelo modesto y    relativamente pequeño), entonces tendrían que ser resueltos = 155,117,520 sistemas de 15   ecuaciones lineales de 15 × 15 para determinar la solución óptima. Por lo tanto, la importancia de estudiar este método radica simplemente en la formación de los fundamentos para la comprensión del método simplex. Para ilustrar el método se resolverá a continuación el modelo Nº 1 formulado anteriormente (el de los transformadores):

Sujeto a:

Inicialmente debe escribirse el modelo en su forma estándar, así:

Sujeto a:

Obsérvese que como las restricciones son todas , sólo fue necesario sumar a cada restricción su correspondiente variable de holgura. En el modelo estándar anterior se identifican n = 5 variables y m = 3 restricciones, y, por lo tanto, el número de soluciones básicas es igual a 10. Para encontrar cada solución básica hay que asignarle el valor de cero a (n – m) = 5 – 3 = 2 variables cada vez. Todas las soluciones básicas se muestran en la tabla siguiente.

95

/Solución óptima

Solución Básica 1 2 3 4 5 6 7 8 9 10

X1

X2

X3

X4

X5

Factible?

Valor de U

0 0 0 0 1400 980 900 350 525 700

0 600 700 900 0 0 0 450 375 200

1400 0 233 1/3 -700 0 420 500 0 0 233 1/3

980 140 0 -280 -420 0 80 0 -70 0

900 300 200 0 -500 -80 0 100 0 0

x x

0 420.000

x x

360.000 455.000

x

420.000

La forma de asignar el valor de cero a dos variables en cada solución debe ser lógica y ordenada, con el objeto de no repetir ó dejar de tener en cuenta algunas de las soluciones básicas. Obsérvese que las soluciones básicas No. 3, 4, 5, 6, y 9 no son factibles, pues por lo menos una de las variables no cumple con las restricciones de no-negatividad. Además, es importante notar que las soluciones 1, 2, 7, 8 y 10 son factibles y corresponden precisamente a los vértices V1, V2, V5, V3 y V4, respectivamente, de la región factible mostrada en la figura 3.1 anterior. La solución óptima es la No. 8, pues es la que produce el valor máximo de la función objetivo U. La solución óptima completa viene dada por: X1 = 350 X2 = 450 X3 = 0 X4 = 0 X5 = 100 U* = 455.000 El valor óptimo de la variable de holgura X5 = 100 indica que, en su correspondiente restricción, la número 3, no se cumple la igualdad sino la desigualdad, o sea que hay un sobrante de 100 unidades del recurso 3 (o sea que quedan disponibles 100 hr-máquina 2). Como las variables de holgura X3 = X4 = 0 se concluye que las restricciones 1 y 2 se cumplen con la igualdad, o sea que los recursos 1 (hr-hombre) y 2 (hr-máquina 1) se han utilizado completamente. Estas conclusiones, por supuesto, son las mismas encontradas anteriormente en el método gráfico. El método de enumeración de soluciones básicas identifica la existencia de infinitas soluciones si se obtienen dos ó más soluciones básicas factibles diferente que producen el máximo valor de la función objetivo. Identifica también el caso de ninguna solución factible, si no se obtiene ninguna solución básica factible, pero no identifica el caso de solución no acotada, tal como se ilustra en el modelo siguiente:

96

Introducción a la Modelación Matemática y Optimización

Sujeto a:

Obsérvese que la variable X3 puede crecer indefinidamente, cumpliendo con la restricción Nº 2 y, por lo tanto, Z no está acotada. La forma estándar de este modelo es:

Sujeto a:

El número de soluciones básicas es igual a 10. El número de variables que “sobran” es igual a 3. Si se intentara resolver este problema mediante este método, se obtendría la tabla siguiente.

Solución Básica 1 2 3 4 5 6 7 8 9 10

X1

X2 X3

X4

X5

0 0 0 0 0 0 10 9 10 12

0 0 10 0 2 0 0 18 10 10 0 0 6 0 4 10 -12 0 0 0 0 0 0 1 0 -2 0 -2 0 0

-18 ? 0 12 0 0 2 0 0 0

Factible?

Valor de U

Sist. Inconsistente x x x

36 10 6

x x

30 27

La tabla anterior sugiere que la solución óptima del modelo es la solución básica No. 3, pero en realidad, como se demostró anteriormente, la función objetivo es no acotada y, por lo tanto, el modelo no tiene solución óptima. Por esta razón, este método puede fallar en estos casos. En la página siguiente se presenta un taller para la preparación del primer examen del curso. Se sugiere su solución completa.

97

En la sección siguiente se introduce el método simplex, el cual se constituye en uno de los más utilizados en la actualidad para la solución de problemas reales de PL, junto con los algoritmos de punto interior. Los fundamentos para la comprensión del método se han expuesto en la presente sección.

98

Introducción a la Modelación Matemática y Optimización

Ejercicio 3.2. 1.

Una refinería de petróleo puede comprar dos tipos de petróleo crudo. El tipo 1 cuesta $57.500/barril y el tipo 2 cuesta $50.600/barril. Cada barril de petróleo crudo de cualquier tipo ya refinado de produce tres tipos de productos terminados: gasolina para avión, gasolina normal y kerosén. Un barril de petróleo crudo tipo 1 produce 0.45 barriles de gasolina para avión, 0.18 barriles de gasolina normal, 0.30 barriles de kerosén y el resto son desechos cuya eliminación cuesta $2.300/barril. Por otra parte, un barril de petróleo crudo tipo 2 produce 0.35 barriles de gasolina para avión, 0.36 barriles de gasolina normal, 0.20 barriles de kerosén y el resto son desechos cuya eliminación cuesta $3.450/barril. La refinería ha firmado un contrato para proveer por lo menos 1.260.000 barriles de gasolina para avión, 900.000 barriles de gasolina normal y 300.000 barriles de kerosén. Formule un modelo de programación lineal que le permita determinar cuántos barriles de petróleo crudo de cada tipo debe comprar la refinería para cumplir con la demanda establecida a costo total mínimo.

2. a) Resuelva el problema anterior mediante el método gráfico e interprete la solución. b) Replantee la función objetivo del modelo asumiendo que los precios de venta de cada producto son los siguientes: Gasolina para avión $134.600/barril, gasolina normal $75.000/barril y kerosén $40.500/barril. Asuma que ahora las demandas a satisfacer son máximas. Resuelva de nuevo el problema mediante el método gráfico e interprete la solución obtenida. 3.

Una gran empresa distribuidora tiene que suministrar 800 toneladas/mes de productos a sus clientes y está pensando en renovar completamente su flota de transporte. La empresa tiene un presupuesto disponible de $1.150 millones (incluyendo los ingresos por venta del equipo actual) para invertir en tres tipos de camiones. La tabla siguiente muestra la capacidad, el costo de compra, el costo operativo y el número máximo de viajes/mes de cada tipo de camión. TIPO DE CAMIÓN

CAPACIDAD [Kg]

COSTO DE COMPRA [$millones]

COSTO DE OPERACIÓN [$/mes]

1 2 3

6.000 3.000 2.000

115 92 58

1.840.000 1.495.000 1.150.000

MÁX. No. DE VIAJES POR MES 20 25 30

La compañía no desea comprar más de 10 vehículos en total para su flota. Igualmente, dado que algunos despachos son para clientes muy pequeños y diversos, la compañía desea comprar al menos 3 camiones tipo 3. La compañía tampoco desea que más de la mitad de la flota esté compuesta de camiones tipo 1. Finalmente, la capacidad de los parqueaderos que tiene la empresa permite comprar como máximo 9 camiones tipo 1, ó 12 camiones tipo 2, ó 18 camiones tipo 3 o cualquier combinación lineal de ellos. Formule un modelo de programación lineal que le permita determinar la composición de

99

la flota más económica, permitiéndole a la empresa cumplir con sus compromisos de distribución y su limitación de presupuesto. 4.

Una empresa productora estima con muy buena precisión que la demanda para las próximas cuatro semanas es de 600.000 tornillos pequeños y 400.000 tornillos grandes. Estos tornillos pueden producirse en dos máquinas distintas. La máquina 1 está disponible 56 horas/semana y la máquina 2 está disponible 84 horas/semana. Los requerimientos de costos y tiempo para producir cada tamaño de tornillo en cada máquina y el precio de venta de cada tamaño de tornillo se muestran a continuación: DETALLE Precio de venta [$/millar] Costo en la máquina 1 [$/millar] Costo en la máquina 2 [$/millar] Tiempo en la máquina 1 [min/lb] Tiempo en la máquina 2 [min/lb]

TORNILLOS PEQUEÑOS 63.250 14.375 18.400 1.50 1.00

TORNILLOS GRANDES 74.750 17.825 21.275 1.75 1.25

En cada libra hay aproximadamente 60 tornillos pequeños y 40 tornillos grandes. Formule un modelo de programación lineal para programar la producción de tornillos en forma óptima. 5.

Suponga que en el problema anterior la máquina 1 se daña y no es posible repararla sino hasta después de las próximas cuatro semanas, y por lo tanto solo se puede disponer de la máquina 2 durante sus 84 horas/semana. Reformule el modelo de programación lineal suponiendo que la demanda de cada tipo de tornillo es ahora máxima y resuélvalo por medio del método gráfico. Analice la solución obtenida.

6.

Una fábrica de chocolates está desarrollando un nuevo producto basado en mantequilla de maní y chocolate como ingredientes. El dulce debe contener al menos 5 gramos de proteínas, pero no más de 5 gramos de carbohidratos y 3 gramos de grasas saturadas. Se dispone de la siguiente información: DETALLE Costo [$/onza] Proteínas [gr/onza] Carbohidratos [gr/onza] Grasas saturadas [gr/onza]

MANTEQUILLA DE MANÍ 230 4.00 2.50 2.00

CHOCOLATE 414 0.80 1.00 0.50

Por motivos de sabor, la cantidad mínima de cada ingrediente en el dulce debe ser de 0.50 onzas. a) Formule y resuelva un modelo de programación lineal que le permita determinar la cantidad a utilizar de cada tipo de ingrediente para satisfacer los requerimientos nutricionales planteados al costo mínimo.

100

Introducción a la Modelación Matemática y Optimización

b) Formule y resuelva de nuevo el problema si el peso total de la barra debe ser exactamente igual a 2 onzas. 7.

Se está analizando cómo combinar dos tipos de fertilizantes, de tal forma que la mezcla contenga al menos 200 unidades de un cierto compuesto. El fertilizante A contiene 8 unidades del compuesto/Kg de fertilizante, mientras que el fertilizante B contiene 25 unidades del compuesto/Kg de fertilizante. El fertilizante A cuesta $1.000/Kg, mientras que el fertilizante B cuesta $3.125/Kg. Ambos fertilizantes se producen a partir de dos materias primas M1 y M2. Cada Kg de fertilizante A consume 6 litros de M1 y 3 litros de M2. Cada Kg de fertilizante B consume 12 litros de M1 y 2 litros de M2. Se dispone de 216 litros de M1 y 60 litros de M2. Finalmente, por razones de calidad, la mezcla debe contener a lo más 16 Kg de fertilizante A. a) Formule y resuelva un modelo de programación lineal que le permita determinar cuántos Kg de cada fertilizante utilizar en la mezcla para obtener el costo mínimo. b) Analice la solución óptima de este problema. ¿Qué característica especial tiene? c) Encuentre la solución óptima general de este problema e interprétela.

8.

De la colección de 66 problemas sobre formulación de modelos de programación lineal, plantee los modelos de los siguientes: No. 23, 28, 45, 54, 55, 56 y 59.

101

4. EL MÉTODO SIMPLEX Los autores presentan el método simplex en diversas formas: tabular, algebraica, matricial, etc. De todas estas maneras de presentación, tal vez la más adecuada y la que más ventajas ofrece para sentar en el estudiante una mejor base teórica, es la forma matricial. Sin embargo, posteriormente se hará énfasis en las aplicaciones resueltas por computador, ya que es en últimas el instrumento que se utiliza para resolver cualquier modelo de Programación Lineal. Para ilustrar y presentar el método simplex, se utilizará el siguiente ejemplo sencillo: M aximizar Z  5X1  3X 2

sujeto a : 3X1  5X 2  15

(3.1)

5X1  2X 2  10 (X1 , X 2 )  0 Inicialmente, se resolverá el modelo anterior, utilizando la enumeración de soluciones básicas; la forma estándar del modelo es la siguiente: M aximizar Z  5X1  3X 2 sujeto a : 3X1  5X 2  S1 5X1  2X 2

 15 (3.2)  S 2  10

(X1 , X 2 , S1 , S 2 )  0 Luego, el modelo en su forma estándar presenta n = número de variables = 4 y m = número de restricciones = 2.  n   4 El número máximo de soluciones básicas =       6  m  2 La tabla siguiente muestra las soluciones básicas y la solución óptima: Solución Básica No 1 2 3 4 5

X1 0 0 0 5 2

X2 0 3 5 0 0

S1 15 0 -10 0 9

S2 10 4 0 -15 0

Factible Si Si No No Si

6

20/19

45/19

0

0

Si

Valor de Z 0 9 – – 10 235/19  12.4

Por lo tanto, la solución óptima es la No. 6. La tabla anterior debe tenerse presente para el desarrollo que sigue.

102

Introducción a la Modelación Matemática y Optimización

Cualquier problema de Programación Lineal, en su forma estándar puede escribirse así: M AX (M IN) Z  CX sujeto a : (3.3) AX  b X0

donde, Z11 = C1n = Xn1 = Amn = bm1 =

Valor de la función objetivo Vector fila de los coeficientes de todas las variables en la función objetivo Vector columna de todas las variables del problema (incluyendo las de holgura) Matriz de coeficientes del sistema Vector del lado derecho

Se va a tomar en general, el modelo en su forma estándar, como un modelo de n variables (incluyendo las de holgura) y m restricciones de igualdad. Así, en general, las dimensiones de cada matriz y vector son:

C  C 1 C 2 C 3 ······· C n 1n

 X1  X   2  .  X    (incluye variables de holgura y/ó exceso Sk)  .   .     X n  n1

a11 a12 a  21 a22  . . A .  .  . .  am1 .

· · · a1n  b1   b  · · · a2 n   2   . . . . . b   . . . .   .  . . . . .     . . . amn  mn bm  m1

En el caso del modelo (3.2), los vectores C, X, b y la matriz A, serían: C  5

3

0

0; X  X 1 X 2 S1 S2  ;

3 5 1 0  A ; 5 2 0 1

T

15 b  10

103

4.1. SOLUCIONES BÁSICAS EN FORMA MATRICIAL Un aspecto importante a destacar es el hecho de que a cada solución básica, factible o no, se le puede identificar una matriz base asociada, así: Tómese, por ejemplo, la solución básica No 1, correspondiente a la tabla anterior. Dado que X1 = X2 = 0 son las variables a las cuales se les asigna el valor cero, se les denomina VARIABLES NO-BÁSICAS. A las variables que quedan formando un sistema de ecuaciones lineales m×m, se les denomina VARIABLES BÁSICAS, ya que sus columnas forman la matriz base, así:

1 0  S1  15 0 1  S   10    2   1

 S1  1 0 15 15  S 2  0 1 10  10         La cual corresponde a la solución básica No 1 (en este caso se trata de una solución básica factible). Tómese ahora, por ejemplo, la solución básica No 4, de la tabla anterior. En ella, X2 = S1 = 0 y, por lo tanto:

3 0  X 1  15 5 1  S   10   2   1

 X 1  3 0 15  1 / 3 0 15  5   S   5 1 10   5 / 3 1 10   15          2  La cual corresponde a la solución básica No 4 (en este caso NO FACTIBLE). En el primer caso, la matriz base asociada a la solución básica es la matriz idéntica de 3 0  orden 2 y en el segundo caso es la matriz   . Obsérvese que, en cada caso, la solución 5 1 básica se obtiene invirtiendo la base y premultiplicándola por el vector b, o sea que una solución básica es de la forma B 1b , donde B es la matriz base asociada a la solución correspondiente.

104

Introducción a la Modelación Matemática y Optimización

4.2. EL MÉTODO SIMPLEX EN FORMA MATRICIAL De acuerdo con lo planteado en la sección anterior, el problema general de PL en su forma estándar, dado por el conjunto de ecuaciones (3.3), puede tomarse de la siguiente manera:

A  B  R 

 XB  X      X R 

C  CB  C R 

Las particiones anteriores pueden explicarse así: Bm×m = Matriz base de orden m (se forma escogiendo m columnas de la matriz A, correspondientes a las variables básicas) Rm×(n-m) = Matriz restante, formada por las (n-m) columnas de la matriz A, asociadas a las variables no básicas.

XBm1 = XR = (n-m)1

CB1m

=

CR1( nm ) =

Vector de las variables básicas. Vector de las variables no básicas. Vector de los coeficientes de las variables básicas en la función objetivo. Vector de los coeficientes de las variables no básicas en la función

objetivo. Por la tanto el modelo de PL (3.3) quedaría expresado así: M AX (M IN) Z  C B X B  C R X R sujeto a : BX B  RX R  b

(3.4)

X0

Una solución básica es aquella en la que X R  0 y, por lo tanto, X B  B 1b . Una solución básica factible es aquella solución básica X B  B 1b , tal que X B  0 . A partir de (3.4) se va a deducir las condiciones para el método SIMPLEX. En palabras, lo que hace el método SIMPLEX es partir de una solución básica inicial factible, con una base inicial asociada, la cual, en general, es la matriz idéntica de orden m. Posteriormente, se pasa a otra solución básica factible, cambiando una sola columna de la base, de tal forma que se logre hacer crecer lo más posible a la función objetivo Z, si se está maximizando, o decrecer, si se está minimizando.

105

El paso a otra solución básica factible se logra cambiando de base, de tal forma que una de las variables básicas sale de la base, pasando a ser no básica, y una de las variables no básicas entra a la base, volviéndose básica y entrando a ocupar el lugar de la variable que salió de la base. En otras palabras, la diferencia entre dos bases sucesivas está en una sola columna. El proceso de cambio de base continúa hasta que se detecta que no se puede mejorar más la función objetivo (minimizando o maximizando) y es cuando se ha logrado encontrar la solución óptima del problema. El método SIMPLEX tiene tres condiciones fundamentales, de acuerdo con lo expresado anteriormente: criterio de entrada (para determinar la variable que entra a la base), criterio de salida (para determinar la variable que sale de la base) y criterio de parada, para definir cuando se acaba el proceso. Estos tres criterios se deducen a continuación (Ver Figura 1 adelante). Se tienen dos ecuaciones, a partir de (3.4):

Z  C B X B  C R X R (3.5) BX B  RX R  b (3.6) Si suponemos que B es no singular, en (3.6) se tiene que: B 1BX B  B 1RX R  B 1b  X B  (B 1R ) X R  B 1b

Sean: Ym( nm)  Bm1m R m( nm)



X B  B 1b (solución actual)

 X B  YX R  X B (3.7) Lo que se pretende es investigar la posible variación de la solución actual, ocasionada por el futuro cambio de base. Obsérvese que si se hace XR = 0, todo se reduce a la solución actual. Premultiplicando la ecuación (3.7) por CB se obtiene:

CB X B  CB YX R  CB X B Sea Z  CB X B (valor actual de la función objetivo),

 Z  CB X B  CB YX R (3.8) Efectuando (3.5) menos (3.8), se obtiene:

Z  Z  CR X R  CB YX R

106

Introducción a la Modelación Matemática y Optimización

O mejor:

Z  Z  (CB Y  CR )X R (3.9) Lo importante de la ecuación (3.9) es que: Z = Cualquier valor de la función objetivo (o valor futuro) Z = Valor actual de la función objetivo Cambio en el valor de la función objetivo si se modifica la base. (CB Y  CR )X R =

Así, la ecuación (3.9) muestra el cambio que tendría la función objetivo en una iteración, al cambiar de base. Por lo tanto se puede tratar de controlar este cambio para que sea lo más grande posible. Se puede entonces modificar esta ecuación observando que se trata de una ecuación escalar. La notación se modifica así:

CB Y  CB Ym1  Ym2  ····· Yn   CB Ym1  CB Ym2  C R  Cm1 Cm2 ···· Cn 

····· CB Yn 

Los términos C B Y j son los productos escalares entre el vector C B y las columnas de la matriz Y, y se le denomina Z j . Así, la ecuación (3.9) puede transformarse a:

Z  Z   ( Z j  C j )X j (3.10) j

Como sólo una de las variables no básicas X j es la que va a entrar a la base y tomará seguramente un valor positivo, entonces la sumatoria se reduce a un sólo término, ya que el resto de variables no básicas seguirá siendo igual a cero. Por lo tanto, le ecuación (3.10) se transforma a: Z  Z  ( Z k  C k )X k (3.11)

Donde X k = variable no básica que entrará a la base. De la ecuación (3.11) se deduce fácilmente el criterio de entrada del método SIMPLEX: ENTRA A LA BASE AQUELLA VARIABLE CUYO: (Z j  C j ) sea"lomásnegativoposible"(MAX) 7

(Z j  C j ) sea"lomáspositivoposible"(MIN)

En realidad puede entrar a la base cualquier variable cuyo (Z jCj) sea negativo para maximización, pero si se escoge el menor es más probable llegar al óptimo (máximo en este caso) más rápidamente. Un razonamiento semejante se presenta si se está MINIMIZANDO. 7

107

El criterio de salida se deduce de la ecuación (3.7). Una vez se ha escogido la variable a entrar, la variable a salir queda definida por la condición de factibilidad, como se verá a continuación. La ecuación (3.7) se puede escribir en forma explícita de la siguiente manera:

 x1   x1   y1,m 1 y1,m  2 x  x   y y2,m  2  2   2   2,m 1  ·  ·  · ·      ·  ·  ·  ·  ·  ·  · ·       xm   xm   ym ,m 1 ym ,m  2

  xm 1   ··· y2 n   xm  2    · ·      · ·   xk  · ·      ··· ymn   xn 

···

y1k ···

···

y2 k

· · ·

· · · ···

ymk

y1n

donde se ha identificado a la variable X k , futura a entrar a la base. Al efectuar el producto YX R , sólo se mantienen los términos que multiplican a X k , ya que el resto de variables continuará con valor cero. Por lo tanto, se generarían las siguientes ecuaciones:  x1  x1  y1k xk x  x  y x  2 2 2k k       xm  xm -ymk xk Como debe garantizarse que la próxima solución básica sea factible, entonces:  x1  y1k xk  0 x  y x  0  2 2k k        xm -ymk xk  0 Por lo tanto:  x  xk  mín  s ; ysk  0  ysk 

y sk debe ser mayor que cero, puesto que xk debe tomar también un valor no negativo. Por otra parte, como la variable que va a salir de la base pasará a tomar valor cero, entonces: xs  xs  ysk xk  0 , donde xs es la variable a salir de la base. Así: x xk  s ; y sk  0 y sk

108

Introducción a la Modelación Matemática y Optimización

Por lo tanto, la variable que entra a la base toma el valor del cociente mínimo de la variable que sale de la base. Del razonamiento anterior, se obtiene el criterio de salida del método SIMPLEX: SALE DE LA BASE AQUELLA VARIABLE CUYO COCIENTE  SEA EL MÍNIMO, donde: x   s ; ysk  0 ysk Este cociente se efectúa entre los valores actuales de la solución y los términos de la columna k de la matriz Y que sean positivos solamente (recuérdese que la columna k es la columna asociada a la variable xk , previamente escogida para entrar a la base). El valor que toma la variable que va a entrar a la base es precisamente el del cociente mínimo, o sea xk   mín . Es importante notar que este criterio es válido tanto para problemas de maximización como para problemas de minimización, pues su origen es el de obtener una solución básica que sea factible.

Inicie con una solución básica factible inmediata

¿Se cumple el CRITERIO DE PARADA?

Si

No

La solución básica factible actual es una SOLUCIÓN ÓPTIMA

Escoger la variable que va a entrar a la base (CRITERIO DE ENTRADA) FIN

Determinar la variable que va a salir de la base (CRITERIO DE SALIDA)

Realizar las operaciones fila elementales para cambiar de base y obtener una nueva solución básica factible

Figura 1. El algoritmo SIMPLEX

109

El criterio de parada se deduce directamente del criterio de entrada, ya que si llega el momento en el cual no existen variables candidatas a entrar a la base, es porque no puede mejorarse más la función objetivo y se ha llegado al óptimo. Por lo tanto, el criterio de parada es el siguiente: EL PROCESO SIMPLEX CONCLUYE SI TODOS LOS: ( Z j  C j )  0, para maximizar 8  ( Z j  C j )  0, para minimizar En resumen, el algoritmo SIMPLEX hace lo mostrado en la Figura 1 anterior. Los casos especiales, como son función múltiples soluciones óptimas, función objetivo no acotada y ninguna solución factible, son identificados también por el algoritmo simplex, como se verá más adelante en los ejemplos 3.2, 3.3 y 3.4, respectivamente.

4.3. APLICACIÓN DEL MÉTODO SIMPLEX EN FORMA MATRICIAL Considérese el modelo (3.1), cuya forma estándar está dada en (3.2). Obsérvese que la matriz A presenta inicialmente una submatriz idéntica de orden 2. Esta submatriz constituye la base inicial, ya que su inversa es inmediata, así: 

Solución básica factible inicial: (punto de partida)

1 0 B ; 0 1

S  X  15 3 5 C B  0 0; C R  5 3; b   ; R   ; X B   1 ; X R   1   10 5 2 S2  X2 

S1 S2

X1 X2

Entonces: 1

1 0 15 15 XB  B b       0 1 10 10 1

Z  CB X B  0

X B es la solución básica factible inicial. 

8

Primer Cambio de Base:

Los ( Z j  C j ) de las variables básicas siempre son iguales a cero, como se verá posteriormente. Si existe

algún ( Z j  C j ) de una variable no básica igual a cero, se concluye que existen múltiples soluciones óptimas, ya que se podrá cambiar de base sin modificar el valor de la función objetivo.

110

Introducción a la Modelación Matemática y Optimización

Criterio de entrada: ( Z j  C j ) sea el “más negativo”. Z j  CB Yj  CB B 1a j , donde a j son las columnas de A que forman la matriz

R.

1 0 3 5 3 5 Y  B 1R      (columnas de la matriz Y) 0 1 5 2 5 2 T Z1  C B Y1  0 03 5  0

Z 2  C B Y2  0 05 2  0  Z1  C1  0  5  5 ENTRA A LA BASE LA VARIABLE x1 9  Z 2  C2  0  3  3 T

Criterio de salida: Recuérdese que X B  X B  YX R , en este caso:  s  15 3 5  x1  XB   1          s2  10 5 2  x2  Columna asociada a X1 , variable a entrar a la base. 15 10  Luego:   mín  ,   mín 5 , 2  2 3 5 Por lo tanto sale de la base la variable S2. 

Segundo Cambio de Base (si es necesario): Actualmente, las nuevas condiciones son:

1 3 B ; 0 5 s1 x 1

S  S  15 0 5 C B  0 5; C R  0 3; b   ; R   ; X B   1 ; X R   2   10 1 2  X1  X2  s2 x 2

Entonces, la solución actual es: 1 1 3 15 1  35  15 9  10      XB  B b      0 5 10 0 15  10 2 1

Z  CB X B  10

9

Obsérvese que X1 es la variable asociada a la columna Y1. En este caso la inversa de la nueva base no se ha obtenido por operaciones fila elementales, como se hace normalmente en la forma tabular, que se estudiará más adelante. 10

111

Ahora:

1  3 / 5 0 5  3 / 5 19 / 5 Y  B 1R   (columnas de Y)   2 / 5  0 1 / 5  1 2  1 / 5 S2 X2 T Z1  C B Y1  0 5 3 / 5 1 / 5  1

Z 2  C B Y2  0 519 / 5 2 / 5  2  Z1  C1  1  0  1 ENTRA A LA BASE LA VARIABLE X2 (la  Z 2  C2  2  3  1 , única cuyo Zj – Cj es negativo) T

criterio de salida:  s  9   3 / 5 19 / 5  s2  XB   1       2 / 5   x2   x1  2  1 / 5 columna asociada a X2, la variable a entrar a la base. 45   45 Luego,   mín  , 5  19  19 Por lo tanto, sale de la base la variable S1. 

Tercer Cambio de Base (si es necesario): Actualmente las nuevas condiciones son: X  S  15 0 1 C B  3 5; C R  0 0; b   ; R   ; X B   2 ; X R   2   10 1 0  X1  S1 

5 3 B ; 2 5 x2 x1

entonces la solución actual es: 1

5 3 15  5 / 19  3 / 19 15 45 / 19 XB  B b           2 5 10  2 / 19 5 / 19  10 20 / 19 Z  CB X B  235 / 19  12.37 1

Ahora:

 5 / 19  3 / 19 0 1  3 / 19 5 / 19  Y  B 1R      (columnas de Y)  2 / 19 5 / 19  1 0  5 / 19  2 / 19 Y1 Y2 T Z1  C B Y1  3 5 3 / 19 5 / 19  16 / 19

Z 2  C B Y2  3 55 / 19  2 / 19  5 / 19 T

112

Introducción a la Modelación Matemática y Optimización

 Z1  C1  16 / 19  0  16 / 19    0 , SE CUMPLE EL CRITERIO DE  Z 2  C2  5 / 19  0  5 / 19

PARADA. Luego la solución básica factible actual es una solución óptima. Como los únicos (Zj – Cj) iguales a cero son los de las variables básicas, entonces esta es la única solución óptima del modelo (3.1).  x  45 / 19 235 XB   2    Zmáx  C B X B   19  x1  20 / 19  s  0  X R   2     (variables no básicas)  s1  0

4.4. EL MÉTODO SIMPLEX EN FORMA TABULAR Como puede observarse, la forma matricial de solución mediante el algoritmo SIMPLEX sería impráctica. Sin embargo, lo importante que debe notarse es que cada iteración lo único que hace es reemplazar valores anteriores por otros nuevos, aspecto fundamental para lograr la implementación del método en el computador. La forma tabular es mucho mejor para el trabajo manual y consiste en hacer las mismas operaciones matriciales en forma de tablas, de una manera más rápida y eficiente, ya que se conservan las columnas y los productos se hacen en forma sencilla. Además, la inversa de la base se halla en forma automática, mediante operaciones fila elementales. Para el caso del ejemplo anterior, los tableros SIMPLEX son los siguientes: Cj

5

3

0

0

XB

X1

X2

S1

S2

COCIENTE

0 0

15 10

3 5

5 2

1 0

0 1

15/3 = 5 10/5 = 2

0

0

0 -5

0 -3

0 0

0 0

0 5

9 2

0 1

19/5 2/5

1 0

-3/5 1/5

10

5 0

2 -1

0 0

1 1

3 5

45/19 20/19

0 1

1 0

5/19 -2/19

-3/19 5/19

Zmáx

235/19

5 0

3 0

5/19 5/19

16/19 16/19

VARIABLES BÁSICAS S1 S2

CB

Zj Zj  C j S1 X1

Zj Zj  C j X2 X1

Zj

Zj  C j Solución óptima

Inversa de la base óptima

45/19  2.4 2/(2/5) = 5

113

Dado que en el tercer tablero, Z j  C j   0 para todo j, entonces este es el tablero óptimo. La solución óptima del problema es:

X1  20/19 X 2  45/19 S1  0 S2  0 Z máx  235/19 Debe notarse que la inversa de la base en cada iteración se va generando debajo de la matriz idéntica inicial. Es importante notar que el método SIMPLEX se mueve de una solución básica factible a otra de una manera muy especial: mejorando lo más posible a la función objetivo, y, por lo tanto, sólo “visita” algunas de las soluciones básicas factibles hasta llegar a la solución óptima. Ejercicio: Resuelva el problema de los transformadores (modelo No 1) mediante el método SIMPLEX.

4.5. EL MÉTODO ARTIFICIALES

SIMPLEX

CON

VARIABLES

El método SIMPLEX necesita que la base inicial sea la matriz idéntica para poder arrancar. El problema general de PL es:

MAX ( MIN ) Z  CX sujeto a : AX (, ,  )b

(3.12)

X0 Si todas las restricciones son de  , el método SIMPLEX inicia con la base igual a la matriz idéntica, formada por las columnas de las variables de holgura. Pero si existe por lo menos una restricción de = ó de  , la matriz idéntica no aparece en forma automática y por lo tanto debe crearse mediante la adición de variables artificiales, salvo algunas excepciones (Ver Ejemplos 3.2 y 3.3)

114

Introducción a la Modelación Matemática y Optimización

4.5.1. El Método de la “Gran M” Ejemplo 3.1. USO DE VARIABLES ARTIFICIALES

Z  2X1  3X 2

M aximizar

Sujeto a : X1  2X 2  4 X1  X 2  3

X1, X 2   0 La forma estándar de éste modelo es la siguiente:

Z  2X1  3X 2

M aximizar

Sujeto a : X1  2X 2  S1  4 X1  X 2

3

X1 , X 2 , S1   0

Como se observa, no aparece la submatriz idéntica de orden 2 en la matriz A, ya que solo fue necesario adicionar la variable de holgura S1 para obtener la forma estándar del modelo. Por lo tanto, la submatriz idéntica debe crearse artificialmente así:

M aximizar

Z  2X1  3X 2

Sujeto a : X1  2X 2  S1 X1  X 2

4

A 3

X1 , X 2 , S1   0; A variable artificial

Dado que antes de adicionar la variable artificial A ya la igualdad estaba conformada, la única forma de que el problema original tenga solución es que la variable artificial sea igual a cero en la solución óptima, lo cual se logra la mayoría de las veces sacándola de la base. Así, el método debe obligar a que la variable A salga de la base y esto puede conseguirse penalizándola en la función objetivo con un valor muy grande positivo (si se está minimizando) o muy pequeño negativo (si se está maximizando). Así, surge el método de la “Gran M”, el cual transformaría el modelo anterior en:

M aximizar Z  2 X 13 X 2  MA Sujeto a : X 1  2 X 2  S X1  X 2

4 A3

(X 1 ,X 2 , S)  0; A variable artificial

11

Se ha cambiado S1 por S por existir sólo una variable de holgura en este modelo.

11

115

En el modelo anterior M es un valor real positivo muy grande (M >> 0 ó (M  ) ). Los tableros, por lo tanto, serían los siguientes: VARIABLES BÁSICAS S A

Cj

2

3

CB

XB

X1

X2

S

A



0 -M

4 3

1 1

2 1

1 0

0 1

4/2 = 2 3/1 = 3

-3M

-M -M-2

-M -M-3

0 0

-M 0

2 1

½ ½

1 0

½ -½

0 1

6-M

3 M 2 2

- 1 M 2 2

3 0

3 M 2 2 3 M 2 2

-M 0

1 2

0 1

1 0

1 -1

-1 2

7

2 0

3 0

1 1

1 1+M

Zj Z j -C j X2 A

3 -M

Zj Z j -C j X2 X1

Zj Z j -C j

3 2

0

-M

2/ ½ = 4 1/ ½ = 2

Luego la solución óptima única es:

X1  2 X2 1 S 0 A  0 obviamente  Z max.  7 Obsérvese que la variable artificial sale de la base en el segundo tablero. Una vez salga, no podrá volver a entrar a la base, y puede incluso ignorarse esta columna para encontrar la solución óptima.12 Debe además recordarse que M siempre es un valor muy grande positivo (M  ) y, por lo tanto, su magnitud domina sobre cualquier otro número.

12

Sin embargo, es útil mantener las columnas de las variables artificiales para determinar la inversa de la base óptima, ya que ellas formaron la matriz idéntica inicial.

116

Introducción a la Modelación Matemática y Optimización

Ejemplo 3.2 : INFINITAS SOLUCIONES ÓPTIMAS

Minimizar

Z  2 X 1  3X 2  X 3

Sujeto a : X 1  4 X 2  2 X 3 3X1  2 X 2

X1, X 2 , X 3 

8 6 0

Este ejemplo ilustra dos aspectos importantes: Primero, no es necesario adicionar variables artificiales cuando el modelo contiene por lo menos una restricción de  ó de =. En este ejemplo, la variable X3 aparece solamente en la primera restricción y basta con dividir ésta entre 2 para que pueda formar parte de la base inicial. Por lo tanto, solo se necesitaría una variable artificial, adicionada en la 2ª restricción. Segundo, como se observará a continuación, el método SIMPLEX identifica cuando el modelo presenta múltiples soluciones óptimas. El modelo quedaría entonces así: Minimizar

Z  2 X 1  3 X 2  X 3  MA

Sujeto a : 1 X 1  2 X 2  X 3  S1 4 2 3X1  2 X 2  S2  A  6

 X 1 , X 2 , X 3 , S1 , S 2   0; A var iable artificial Los tableros correspondientes serían los siguientes: VAR. BÁSICAS X3 A

Cj

2

3

CB

XB

X1

X2

1 M

4 6

½ 3 ½ +3M

Zj

0

0

M

X3

S1

S2

A



2 2

1 0

-1 0

0 -1

0 1

8 2

- 3 M  3M 2

2+2M -1+2M

1 0

-1 -1

-M -M

M 0

3 2

0 1

5/3 2/3

1 0

-1 0

1/6 -1/3

-1/6 1/3

7

2 0

3 0

1 0

-1 -1

-½ -½

½ ½ -M

9/5 4/5

0 1

1 0

3/5 -2/5

-3/5 2/5

1/10 -2/5

-1/10 2/5

7

2 0

3 0

1 0

-1 -1

-½ -½

½ ½-M

4+6M

Z j -C j X3 X1

1 2

Zj Z j -C j X2 X1

Zj Z j -C j

3 2

1

1.8 3 Sol. óptima No 1

Sol. óptima No 2

Como puede observarse, en el tablero No 2 ya se obtiene una solución óptima, pero con la característica de que la variable no básica X2 tiene su Z j -C j  =0; por lo tanto, ella

117

puede entrar a la base sin modificar el valor mínimo de la función objetivo y generar una solución óptima diferente. Estas soluciones son:

Solución Optima N º1 X1  2

Solución Optima N º 2 X1  4 / 5

X2  0

X2  9/5

X3  3

X3  0

S1  S 2  0

S1  S 2  0

Z mín  7

Z mín  7

En realidad, cualquier combinación lineal convexa de estas dos soluciones es óptima también, y así se obtiene la solución óptima general del modelo:

X1    X 2    X 3       S1  S   2 

4   5  2 9     5 0      3   0  ; 0    1; 0    1     1;  ,           0  0    0    0   

Por ejemplo, si  = 0.5 y  = 0.5, entonces se obtiene la solución óptima (nó básica): X1 = 7/5; X2 = 9/10; X3 = 3/2; S1 = S2 = 0; Zmáx = 7. En conclusión, el método SIMPLEX detecta infinitas soluciones si por lo menos una de las variables no básicas presenta su Z j -C j  = 0 en un tablero óptimo. El número de soluciones básicas factibles óptimas será igual al número de variables no básicas que presenten dicha característica mas uno, y la solución general se escribe como la combinación lineal convexa de dichas soluciones. Este hecho hace que sea difícil que un programa de computador detecte la presencia de soluciones óptimas múltiples, ya que, debido a errores de redondeo, rara vez se tendría un Z j -C j  exactamente igual a cero. Sin embargo, esto se puede lograr estableciendo rangos de tolerancia para los números muy pequeños considerados iguales a cero.

118

Introducción a la Modelación Matemática y Optimización

Ejemplo 3.3 : FUNCIÓN OBJETIVO NO ACOTADA

Maximizar Z  1.2 X 1  X 2  0.8 X 3 Sujeto a : X 1  X 2

 50000

0.4 X 1  0.6 X 2  X 3  27000

X1, X 2 , X 3   0

La forma estándar del modelo anterior es: Maximizar Z  1.2 X 1  X 2  0.8 X 3 X1  X 2

Sujeto a :

 S1  50000

0.4 X 1  0.6 X 2  X 3

 S 2  27000

 X1, X 2 , X 3 ,S1,S2   0

En este caso tampoco se requiere una variable artificial en la 2ª restricción, ya que la variable X3 puede ser básica inicial. Así:

Var. Básicas S1 X3

Cj

1.2

1.0

0.8

0

CB

XB

X1

X2

X3

S1

S2



0 0.8

50000 27000

1 0.4

1 0.6

0 1

1 0

0 -1

50000 67500

21600

0.32 -0.88

0.48 -0.52

0.8 0

0 0

-0.8 -0.8

50000 70000

1 0

1 0.2

0 1

1 -0.4

0 -1

65600

1.2 0

1.36 0.36

0.8 0

0.88 0.88

-0.8 -0.8

Zj Z j Cj X1 X3

Zj Z j Cj

1.2 0.8

0

En el último tablero, S2 trata de entrar a la base, pero la regla del cociente falla, entonces como no hay ninguna variable a salir de la base se concluye que hay FUNCIÓN OBJETIVO NO ACOTADA.13 El caso de función objetivo no acotada es un caso donde no existe solución ÓPTIMA, aunque si existen SOLUCIONES FACTIBLES, a diferencia del caso de “NINGUNA SOLUCIÓN FACTIBLE”. En la práctica puede presentarse este caso cuando se ha olvidado incluir en el modelo alguna restricción. En este problema faltó acotar la variable X3. Obsérvese que este modelo corresponde al caso de la refinería (Problema No. 16 de la colección de problemas), donde la demanda es mínima y lo que puede comprarse a otros proveedores es ilimitado, lo cual

13

El problema se presenta en la 2ª restricción. La variable X 3 está acotada por debajo pero no por encima y así su valor puede hacerse tan grande como se desee, haciendo crecer indefinidamente la función objetivo. La variable de exceso S2 trata de entrar a controlar esto, pero obviamente no puede.

119

obviamente no es real. La corrección a esta situación sería limitar la cantidad de barriles de gasolina que pueden comprarse a otros proveedores, bien sea por su capacidad limitada, por la demanda finita, o por cualquier otra razón. Esto permitiría encontrar una solución óptima en este problema. Ejemplo 3.4: NINGUNA SOLUCIÓN FACTIBLE

Maximizar

Z  10 X 1  15 X 2  12 X 3 5X 1  3X 2  X 3

Sujeto a :

 144

 5 X 1  6 X 2  15 X 3  240 2X1  X 2  X 3

 80

X1, X 2 , X 3   0

Forma estándar con variables artificiales:

Maximizar Z  10 X 1  15 X 2  12 X 3

 MA

5 X 1  3 X 2  X 3  S1

Sujeto a :

 5 X 1  6 X 2  15 X 3

 144  S2

2X1  X 2  X 3

 240

 S 3  A  80

 X 1 , X 2 , X 3 , S1 , S 2 , S 3   0; A var iable artificial En este caso los tableros Simples serían los siguientes: 15 12 0 C j  10 Var. Básicas S1 S2 A

X1

X2

X3

S1

S2

S3

A



0 0 -M

144 240 80

5 -5 2

3 6 1

1 15 1

1 0 0

0 1 0

0 0 -1

0 0 1

28.8

-80M

-2M -2M-10

-M -M-15

-M -M-12

0 0

0 0

M M

-M 0

144/5 384 112/5

1 0 0

3/5 9 -1/5 M 6 5

1/5 16 3/5

1/5 1 -2/5 2M 2 5 2M 2 5 3/16 1/16 -7/16

0 1 0

0 0 -1

0 0 1

0 0

M M

-M 0

-1/80 1/16 -3/80 3M 5  80 8 3M 5  80 8

0 0 -1

0 0 1

M M

-M 0

10 0 -M

Zj

 112M  288 5

Zj Cj

Zj Zj Cj

M

XB

Z j Cj

X1 X3 A

0

CB

Zj X1 S2 A

0

10 12 -M

10 0

24 24 8

1 0 0

- 8M  528

10

M 9 5

 3M 2 5  3M  10 5

39/80 9/16 -43/80

0 1 0

43M 93  80 8 43M 27  80 8

12 0

7 M 21  16 8 7 M 21  16 8

NO 40

144 24 37.3

120

Introducción a la Modelación Matemática y Optimización

Obsérvese que en el tablero No. 3 se cumple el criterio de parada (O sea Zj – Cj  0 j), pero existe una variable artificial en la base a nivel positivo (A = 8); por lo tanto, el problema NO tiene SOLUCIÓN FACTIBLE ALGUNA. Obsérvese, además, que en el primer tablero se presenta un caso en el cual no debe tenerse en cuenta el cociente, ya que y sk  5  0 . 4.5.2. El método de las Dos Fases14 Este método elimina el problema de trabajar con la “Gran M” y los errores de redondeo asociados. El método comprende las siguientes fases: FASE I: Trata de encontrar una solución básica factible inicial. Aquí siempre se minimiza la suma de las variables artificiales, independientemente de si el problema es de MAXIMIZACIÓN o de MINIMIZACIÓN, sujeto a las restricciones del problema original. Hay dos posibilidades: a) La suma óptima de las variables artificiales es igual a cero, entonces se continua con la fase II. b) Si el valor óptimo de la función objetivo es mayor que cero, entonces el problema original no tiene ninguna solución factible. FASE II: Se cambia la función objetivo a la función objetivo original y se utiliza la solución básica factible encontrada en la fase I, se comprueba el criterio de parada y se continúa iterando normalmente, si es necesario. Ejemplo 4.5 [páginas 87 y 92 de Taha (1997)]: Minimizar Z  4X1  X 2 Sujeto a :

3X1  X 2  3 4 X1  X 2  6 X1  2 X 2  4 ( X1, X 2 )  0

El modelo se transforma como sigue para iniciar el método de las dos fases:

14

Ver Taha (1997), página 92

121

M inimizar Z '  A1  A2 3 X 1  X 2  A1

sujeto a :

4 X 1  3X 2

3

 S1  A2

X1  2X 2

6

 S2  4

( X 1 , X 2 , S1 , S 2 )  0; A1 , A2 Var. Artificiales Cj  0

0

0

0

1

1

Var. Básicas

CB

XB

X1

X2

S1

S2

A1

A2



A1 A2 S2

1 1 0

3 6 4

3 4 1

1 3 2

0 -1 0

0 0 1

1 0 0

0 1 0

3/3 = 1 6/4 = 1.5 4/1 = 4

9

7 7

4 4

-1 -1

0 0

1 0

1 0

1 2 3

1 0 0

1/3 5/3 5/3

0 -1 0

0 0 1

1/3 -4/3 -1/3

0 1 0

2

0 0

5/3 5/3

-1 -1

0 0

-4/3 -7/3

1 0

Cj 3/5 6/5 1

4 1 0 0

1 0 1 0

0 1/5 -3/5 1

0 0 0 1

0 3/5 -4/5 1

0 -1/5 3/5 -1

18/5

4 0

1 0

1/5 1/5

0 0

2/5 9/5 1

1 0 0

0 1 0

0 0 1

-1/5 3/5 1

17/5

4 0

1 0

0 0

-1/5 -1/5

Zj Z j Cj X1 A2 S2

0 1 0

Zj Z j Cj X1 X2 S2

4 1 0

Zj Z j Cj X1 X2 S1

Zj Z j Cj

4 1 0

SoluciónÓptima Única  X *1  2 / 5, X *2  9 / 5, Z *mín  17 / 5

3 1.2 1.8

Fin Fase I 3 NO 1

Fin Fase II

122

Introducción a la Modelación Matemática y Optimización

5. TEORÍA DE DUALIDAD El problema dual puede definirse en forma matemática. Sin embargo, es adecuado comenzar por una interpretación económica. Supóngase que en una empresa se producen dos artículos: 1 y 2. Las utilidades netas unitarias son respectivamente, 35 y 80 u.p/unidad. Los requerimientos unitarios y la disponibilidad de las máquinas son: hr.máq.1 unidad 2 3 300

ARTICULO 1 2 Disponibilidad

hr.máq.2 unidad 5 4 500

El modelo de PL correspondiente para este enunciado sería:

MAXIMIZAR Z  35 X 1  80 X 2 Sujeto a : 2 X 1  3 X 2  300 (Recurso 1) (Problema Primal) 5X 1  4X 2  500 (Recurso 2) (X1 , X 2 )  0 Donde: X1= Número de artículos tipo 1 a producir, X2 = Número de artículos tipo 2 a producir. A este problema anterior se le denomina problema primal. Ahora, los recursos, en este caso las máquinas, pueden ser dedicados a otra actividad diferente a la de producir los artículos 1 y 2. Para ello, sean:

W1  u.p/unidad de recurso 1  u. p / hr.máq.1 W2  u.p/unidad de recurso 2  u. p / hr.máq.2 Los W1, W2 se denominan precios sombra o costos de oportunidad y representan el valor de un recurso cuando se dedica a la mejor alternativa posible. Los coeficientes 2, 5, 3 y 4 son unidades de recurso Ri necesarias para la producción de una unidad de artículo i (i = 1,2). Si se efectúa el producto: unid .R1 u. p u. p 2W1    unid . prod.1 unid .R1 unid . prod.1 y el producto:

5W2 

unid .R2 u. p u. p   unid . prod.1 unid .R2 unid . prod.1

123

y, si se efectúa la suma:

2W1  5W2  Ganancia obtenida si los recursos se dedican a otra actividad [u.p/unid. prod. 1] Por lo tanto, debe esperarse que:

2W1  5W2  35 [u.p/unid. prod. 1] y, análogamente:

3W1  4W2  80 [u.p/unid. prod. 2] Para hallar la función objetivo del problema que se está construyendo a partir del problema primal, puede pensarse así: se desea minimizar el costo total de los recursos involucrados en las otras actividades. Así, el problema dual es:

MINIMIZAR Z '  300W1  500W2 Sujeto a : 2W1  5W2  35

(Problema Dual)

3W1  4W2  80 (W1 , W2 )  0 La solución del problema dual da la información acerca de los “costos de oportunidad” de los recursos o “precios sombra”, es decir, la tasa a la cual podría incrementarse (o decrecer) la función objetivo del problema primal, incrementando (o disminuyendo) ligeramente la cantidad de recurso. Esto será aclarado más adelante. Por lo tanto, la solución del problema dual da una valiosa información: el precio unitario adicional máximo que puede pagarse por cada unidad adicional de recurso escaso. Esto se concluye de la propia definición de la función objetivo del problema dual, ya que, como se verá posteriormente, el valor óptimo de la función objetivo del problema primal es igual al valor óptimo de la función objetivo del problema dual ( o sea Zmáx = Z'mín). Matricialmente estos dos problemas pueden definirse como: MAX Z  CX S ujetoa : AX  b X0 Problema Primal

15

MIN Z '  W T b

(4.1) 15

S ujetoa : W T A  C W0

(4.2)

Problema Dual

Más adelante se verá que cualquier problema de PL tiene su dual asociado. Sin embargo, para hallarlo debe estar en la forma mostrada, o sea con función objetivo de maximización y restricciones menor ó igual ().

124

Introducción a la Modelación Matemática y Optimización

5.1. RELACIONES ENTRE LOS PROBLEMAS PRIMAL Y DUAL TEOREMA 4.1: Sean X y W dos soluciones factibles del problema primal y dual, respectivamente; entonces se cumple que: CX  WT b Demostración: Del problema primal: AX  b Premultiplicando por WT: W T AX  WT b (4.3) Ahora, del problema dual:

WT A  C Postmultiplicando por X:

W T AX  CX (4.4) Si se combinan las desigualdades (4.3) y (4.4), se obtiene:

CX  WT b q.e.d

ˆy W ˆ dos soluciones factibles para los problemas primal y TEOREMA 4.2: Sean X dual respectivamente. Si se cumple que: ˆ W ˆ Tb CX ˆ y W ˆ son las soluciones óptimas de los problemas primal y dual entonces X respectivamente. Demostración: ˆ , W) . Del Teorema 4.1 se concluye que: a) Tómese la pareja de soluciones factibles ( X ˆ  WT b CX ˆ W ˆ T b , por hipótesis, entonces, W ˆ T b  WT b , donde W T es pero como CX ˆ T b será el mínimo y es entonces cualquier solución factible del problema dual. Por lo tanto, W la solución óptima del problema dual.

ˆ ) ; por el Teorema 4.1: b) Tómese ahora la pareja ( X, W ˆ Tb CX  W Pero: ˆ W ˆ T b , por hipótesis. CX Luego: ˆ CX  CX ˆ será el máximo y donde X es cualquier solución factible del problema primal. Así, CX es entonces la solución óptima del primal (q.e.d).

125

5.1.1. Solución del Problema Dual El problema dual asociado a un problema primal está íntimamente ligado a éste. Se va a demostrar que si se resuelve el problema primal mediante el algoritmo SIMPLEX, el problema dual aparece resuelto automáticamente en el tablero final. Por lo tanto, basta sólo con resolver uno de los dos problemas! Supóngase que se ha resuelto el problema de los transformadores mediante el método SIMPLEX. El modelo original, problema primal, es el siguiente:

Z  400 X 1  700 X 2

Maximizar Sujeto a :

7 X 2  1400 hr. hom bre R1  3 X 1  1.4 X 2  980 hr. maq.q R2  X1 



X 1  X 2  900 hr. maq.2 



X1, X 2   0

R3 

El problema dual asociado será, por lo tanto:

M INIM IZAR Z '  1400W1  980W2  900W3 Sujeto a : W1  W2  W3

 400

7 W1  1.4W2  W3  700 3 (W1 , W2 , W3 )  0 El tablero final del método SIMPLEX aplicado al problema primal es el siguiente (Compruébelo!!): Var. Básicas X2 X1 S3 Zj Z j Cj

CB

XB

X1

X2

S1

S2

S3

700 400 0

450 350 100

0 1 0

1 0 0

15/14 -3/2 3/7

-15/14 5/2 -10/7

0 0 1

455000

400 0

700 0

150 150

250 250

0 0

Solución óptima del problema dual asociado

Se va a plantear la hipótesis de que la solución óptima del problema dual aparece debajo de la inversa de la base óptima, en la fila de los Zj (o sea que la solución óptima del 1 dual es C B B ).

126

Introducción a la Modelación Matemática y Optimización

Las condiciones de optimalidad del primal son: Z j  C j  0, j

Esto es equivalente a decir:

C B B 1a

j

C

j

O, en forma compacta:

C B B 1 A  C T 1 T Si W  C B B , entonces W A  C

Con lo que se conseguiría cumplir con las restricciones del dual. Obsérvese que las condiciones de optimalidad del problema primal son equivalentes a las condiciones de factibilidad del problema dual. Falta por demostrar que la solución del dual propuesta satisface las condiciones de no negatividad y el valor óptimo de la función objetivo. En particular para las variables de holgura, las cuales forman la matriz idéntica, se cumple que:

C B B 1I  0 T 1 pues sus coeficientes en la función objetivo son iguales a cero. Luego, si W  C B B , se cumple que: WT  0 ,

o sea que se trata de una solución factible del problema dual. Pero, será la óptima?? Si se evalúa el valor de la función objetivo para esta solución, se obtiene:

Z1  W T b  C B B 1b  C B X B  Z Luego, de acuerdo con el Teorema 4.2 dicha solución debe ser óptima. (q.e.d) Conclusión: la solución óptima del problema dual aparece en el tablero final SIMPLEX del problema primal en la fila de los Zj, debajo de las columnas que forman la inversa de la base óptima., o sea que W T  C B B 1 . Para el problema de los transformadores, la solución óptima del problema dual asociado es: W1  150 W2  250 W3  0 Zl mín  455000 O sea que si se incrementa en 1 unidad el recurso hora-hombre, la función objetivo se incrementaría en 150. Si se incrementa en una unidad el recurso hora-máquina1, la función

127

objetivo se incrementaría en 250, pero si se incrementa el recurso hora-máquina2, la función objetivo permanecería constante ya que se trata de un recurso sobrante. Lo anterior es válido solo dentro de cierto rango, lo que se verá más adelante. En otras palabras, lo máximo que estaría dispuesto a pagarse adicionalmente por casa unidad extra de hora-hombre y de horamáquina1 (recursos escasos) sería $150 y $250 respectivamente.

5.1.2. El problema Dual Adaptado a Otros Modelos de Programación Lineal Se va a desarrollar la forma de obtener el problema dual de cualquier modelo de programación lineal. Considérese, por ejemplo:

MIN

Z  3X 1  5X 2 X1  4

Sujeto a :

2 X 2  12 3 X 12 X 2  18 (X1, X 2 )  0 Para obtener el problema dual, el modelo debe llevarse a la forma dada en el modelo generalizado (4.1). La función objetivo se multiplica por (-1) y queda entonces convertida a una función de Maximización. Las restricciones de  basta con multiplicarlas por (-1) y las restricciones de igualdad se reemplazan por dos restricciones de desigualdad: una de  y otro de . Nótese que aquí no interesa que queden valores negativos en los términos del lado derecho (Vector b) Así, el modelo del ejemplo anterior quedaría:

Maximizar U   3 X 1  5 X 2 Sujeto a : X1

4 2 X 2  12  2 X 2  12

 3 X 1  2 X 2  18

X1, X 2   0

Por lo tanto, el problema dual asociado sería:

128

Introducción a la Modelación Matemática y Optimización

Minimizar Z '  4W1  12W2  W3   18W4 Sujeto a : W1

 3W4  3

2W2  W3   2W4  5

W1 ,W2 ,W3 ,W4   0

Obsérvese que las variables duales W2 y W3 aparecen siempre en la forma (W2  W3) y por lo tanto podrían ser reemplazadas por una sola variable W= W2  W3 no restringida en signo. Conclusión: La variable dual asociada a una restricción de igualdad del problema primal, aparece en el problema dual asociado como una variable no restringida en signo. 5.1.3. Otras Propiedades del Problema Dual Propiedad de simetría: El problema dual del dual es el problema primal original. Principio de holgura complementaria: a) Si una variable de holgura Si (añadida a la i-ésima restricción) del problema primal aparece como básica en la solución óptima del problema primal, entonces la correspondiente variable dual Wi tomará valor cero en la solución óptima del dual. b) Si la variable de decisión Xj (no de holgura) aparece como básica en la solución óptima del primal, entonces en la correspondiente solución óptima del dual la j-ésima restricción dual es una igualdad estricta, o, equivalentemente, su variable dual de holgura asociada es igual a cero.

5.2. APLICACIONES DE LA TEORÍA DE DUALIDAD Las aplicaciones más importantes de la teoría de dualidad son: a) b) c) d)

Interpretación económica del problema primal (ya ilustrada). Ahorro en cálculos en la solución de modelos de PL. Algoritmo SIMPLEX dual. Utilidad en análisis de sensibilidad.

Se ilustrará a continuación las aplicaciones (b) y (c) y, posteriormente en una sección independiente, la (d).

129

5.2.1. Ahorro en Cálculos Supóngase que se tiene que resolver el problema:

MAX

Z  4 X 1  3X 2

Sujeto a :

6

X1

X2  8 X1  X2  7 3 X 1  X 2  15  X2 1 (X1, X 2 )  0 Obsérvese que el problema tiene dos variables de decisión y cinco restricciones. Así, las bases serían de orden m = 5. Pero, si se plantea el problema dual asociado, tendría cinco variables duales y dos restricciones, por lo tanto se trabajaría con bases de orden 2, lo cual es más manejable manual y computacionalmente. Obviamente, esta aplicación adquiere mucho más sentido en grandes problemas que se presentan en la vida real. Ejercicio: Plantee el correspondiente problema dual asociado y resuélvalo. Muestre que la solución óptima del dual es: W1  W2  W5  0 W3 

5 1 l W4  Z mín  25 2 2

Y que la solución óptima del primal es:

X 1  4 X 2  3 Zmáx  25 Ilustre con este ejemplo el principio de holgura complementaria.

5.2.2. El Algoritmo SIMPLEX Dual El algoritmo SIMPLEX normal mantiene la factibilidad y busca la optimalidad. El algoritmo SIMPLEX dual mantiene el criterio de optimalidad y trata de buscar la factibilidad. Este algoritmo puede aplicarse si al comienzo del proceso se cumplen las condiciones de OPTIMALIDAD, bajo una solución NO-FACTIBLE. Las reglas para el algoritmo SIMPLEX dual son: a) Se busca primero la variable candidata a salir de la base: sale de la base aquella variable cuyo valor sea “el más negativo” (la “menos factible”). b) Para saber cual variable entra a la base se calcula:

130

Introducción a la Modelación Matemática y Optimización





Z j Cj y kj

Z j Cj y kj

; y kj  0 y se escoge el valor MINIMO(para problemas de MINIMIZACION)

; y kj  0 y se escoge el valor MINIMO(para problemas de MAXIMIZACION)

donde k es el subíndice asociado a la variable que va a salir de la base. c) La reducción de Gauss-Jordan es semejante a la del algoritmo SIMPLEX normal. Ejemplo 5.1: aplicar el algoritmo SIMPLEX dual para resolver el siguiente modelo de programación lineal: MIN Z  16 X 1  11X 2  15 X 3

Sujeto a :

2X1  X 2  X 3  3 X 1  2 X 2  3X 3  5

(X1, X 2 , X 3 )  0 Obsérvese que si se fuera a resolver mediante el algoritmo SIMPLEX normal, se necesitarían dos variables artificiales para crear la base inicial. El procedimiento mediante el método SIMPLEX dual es como sigue: MIN

Z  16 X 1  11X 2  15 X 3

Sujeto a :

2 X 1  X 2  X 3  S1  3 X 1  2 X 2  3X 3

- S2  5

( X 1 , X 2 , X 3 , S1 , S 2 )  0 Y ahora, multiplicando por (-1) a ambas igualdades, se obtiene:

MIN Z  16 X 1  11X 2  15 X 3 Sujeto a : - 2 X 1 - X 2 - X 3  S1 - X 1 - 2 X 2 - 3X 3

 -3

 S 2  -5

( X 1 , X 2 , X 3 , S1 , S 2 )  0 En este caso, los tableros correspondientes serían los siguientes:

131

Variables Básicas S1 S2

Cj

16

11

15

0

0

CB

XB

X1

X2

X3

S1

S2

0 0

-3 -5

-2 -1

-1 -2

-1 -3

1 0

0 1

0

0 -16 16

0 -11 5.5

0 -15 5

0 0

0 0

-4/3 5/3

-5/3 1/3

-1/3 2/3

0 1

1 0

-1/3 -1/3

25

5 -11 6.6

10 -1 3

15 0

0 0

-5 -5 15

4 -1

5 -3

1 0

0 1

-3 2

1 -1

29

10 -6 2

11 0

15 0

-3 -3 NO

-4 -4 4

7/3 1/3

0 1

1 0

5/3 -1/3

1/3 -2/3

-2/3 1/3

31

16 0

11 0

13 -2

-7 -7

-2 -2

Zj Z j Cj  S1 X3

0 15

Zj Z j Cj  X2 X3

11 15

Zj Z j Cj  X2 X1

Zj Z j Cj

11 16

Se satisfacen condiciones de optimalidad

Se mantiene optimalidad

Se mantiene optimalidad Se logro la factibilidad: SOLUCIÓN ÓPTIMA

Luego la solución óptima del problema es: X1=1/3, X2=7/3, X3=0, S1=0, S2=0, Zmín = 31. Nota al algoritmo SIMPLEX DUAL: el algoritmo SIMPLEX DUAL reconoce la no factibilidad en el problema primal cuando la regla del cociente  falla para identificar la variable que debe entrar, o sea que el SIMPLEX DUAL asegura que el problema primal no tiene solución factible alguna, si todos los coeficientes de la fila correspondiente a la variable que va a salir son mayores o iguales a cero.

132

Introducción a la Modelación Matemática y Optimización

6. ANÁLISIS DE SENSIBILIDAD Dado un problema de PL de la forma: MAX Z  CX Sujeto a : AX  b X0

pueden ocurrir variaciones en los valores de sus parámetros C, A y b. En el análisis de sensibilidad se estudia básicamente: a) b) c) d) e)

Cambios en los coeficientes de la función objetivo (Vector C) Cambios en los valores del lado derecho (Vector b) Cambios en las columnas de la matriz A. Adición de una nueva variable. Adición de una nueva restricción.

Cuando se produce un cambio en algún valor de un parámetro de un modelo de programación lineal puede ocurrir una de dos cosas (ó ambas, ó ninguna): -

1 Se afecta la factibilidad, dada por: X B  B b; X B  0 Se afecta la optimalidad, dada por: Z j  C j  0 (Maximización);C B B 1 a  C j  0 j

Así, los cambios en el vector b pueden afectar la factibilidad y los cambios en los coeficientes de la función objetivo y de algunas de las columnas de la matriz A pueden afectar la optimalidad. Todos estos cambios presuponen que la matriz base óptima B va a permanecer sin cambios, ya que si se afecta la base puede dañarse la factibilidad y la optimalidad simultáneamente, y puede ser preferible volver a resolver el problema desde un comienzo.

133

6.1. CAMBIOS EN EL VECTOR C (Coeficientes de la función objetivo) 6.1.1.

Cambios en los Coeficientes de la Función Objetivo de una Variable No-Básica.

En este caso los Z j no cambian pues el CB permanece constante; sólo cambian los C j . Si C j va a cambiar a C j , entonces debe cumplirse que Z j  C j  0 (Maximización) para que la solución siga siendo óptima. Si se rompe el criterio de optimalidad, entonces se sigue iterando con el algoritmo SIMPLEX normal a partir de ese punto. *

*

6.1.2. Cambios en los Coeficientes de la Función Objetivo de una Variable Básica. En este caso, dado que cambia el vector C B , cambian los C j . Por lo tanto, éstos deben recalcularse para investigar las condiciones de optimalidad. Si Z j cambia a Z j , debe chequearse que Z j  C j  0 (Maximización) .16 Si el criterio de optimalidad se rompe, debe seguirse iterando con el algoritmo SIMPLEX normal. *

*

6.2. CAMBIOS EN EL VECTOR b (Vector de recursos) En este caso no se afecta la optimalidad, pero puede afectarse la factibilidad. Si se verifica que la nueva solución: * X B  B 1b * es mayor o igual que cero, o sea factible, entonces la composición de la solución óptima sigue siendo la misma, aunque cambian algunos valores (ó todos). En otras palabras, las variables básicas actuales siguen siendo básicas. Si se da que algún componente de X B * es  0, entonces se rompe la factibilidad y debe seguirse iterando con el algoritmo SIMPLEX DUAL hasta restablecer la factibilidad, y así cambiaría la base óptima.

Lo enunciado anteriormente en la teoría de dualidad acerca del incremento (o decrecimiento) de la función objetivo por cada unidad adicional (o de menos) de recurso

16

Obsérvese que los

Z j  C j de las variables básicas se mantienen iguales a cero. *

134

Introducción a la Modelación Matemática y Optimización

(interpretación económica del problema dual), es válido en el rango para el cual la base óptima sigue siendo la misma. Ahora, el nuevo vector b* puede escribirse así:

b *  b  b B 1 b *  B 1 b  B 1 b [Nueva solución] = [Solución actual] + [Cambio en solución] Esta forma de obtención de la nueva solución facilita los cálculos.

6.3. CAMBIOS EN LAS COLUMNAS DE LA MATRIZ A Se va a estudiar el cambio de una sola columna a la vez:

aj

cambia por

a j* .

6.3.1. Cambios en una Columna No-Básica de A Si

aj

es la columna correspondiente a una variable no básica, entonces no se afecta la

factibilidad, pero puede afectarse la optimalidad. Simplemente se calcula la nueva columna: * Y j  B 1a * j

Y se recalcula:

Z j  CB Yj *

*

y se chequea si ( Z j  C j ) sigue cumpliendo la condición de optimalidad. Si se cumple dicha condición, la solución actual sigue siendo óptima; si no se cumple, entonces se continúa iterando con el algoritmo SIMPLEX normal, hasta obtener las condiciones de optimalidad. *

6.3.2. Cambios en una Columna Básica de A. Si

aj

es la columna correspondiente a una variable básica, entonces “se daña” la base

B y su inversa B-1. En este caso, generalmente es preferible volver a empezar el problema.

135

6.4. INTRODUCCIÓN DE UNA NUEVA VARIABLE Al introducir una nueva variable de decisión, se tendría: Nueva variable: Xn+1 Coeficiente en la función objetivo: Cn+1 Nueva columna de A: an+1 Entonces se calcularía:

Yn1  B 1a n 1 Z n1  C B Yn 1 y se chequearía si (Z n1  Cn1 ) cumple con la condición de optimalidad. Si cumple, la solución actual sigue siendo óptima; de lo contrario, esta nueva variable debe entrar a la base, y así, debe continuarse con el algoritmo SIMPLEX normal hasta obtener de nuevo las condiciones de optimalidad. Obsérvese que este caso puede tratarse como si la columna original

an 1 hubiera sido

de ceros y estuviera cambiando a los valores dados.

6.5. INTRODUCCIÓN DE UNA NUEVA RESTRICCIÓN En este caso se pasa de (m) a (m+1) restricciones. Entonces puede ocurrir una de dos cosas: a) Si la solución óptima actual satisface la nueva restricción, entonces ésta sigue siendo la solución óptima, ya que una nueva restricción sólo lograría eliminar algunas soluciones básicas factibles anteriores, pero nunca adicionaría nuevas. b) Si no se satisface la nueva restricción, entonces la presente solución NO es factible. Por lo tanto, debería determinarse la nueva base B ( m1)( m1) y hallar su inversa ˆ B  B 1 ( m 1) b ( m 1) y, lógicamente, se mediante Gauss–Jordan. Posteriormente se hallaría X rompería la factibilidad. Por lo tanto, se seguiría iterando mediante el algoritmo SIMPLEX DUAL, hasta restablecer la factibilidad. NOTA: Si la nueva restricción es de desigualdad, entonces se añade también una variable de holgura, la cual pasa a ser básica y se encuentra la nueva inversa de la base mediante las operaciones de Gauss - Jordan. Si la nueva restricción es de igualdad, entonces se hace necesaria la introducción de una variable artificial, la cual necesariamente pasaría a ser básica. Además, se le asignaría el coeficiente “M” (con su signo respectivo) y se hace necesario también verificar la optimalidad.

136

Introducción a la Modelación Matemática y Optimización

Ejemplo 5.1: Considérese el problema:

MAX Z  3 X 1  5 X 2 4

Sujeto a : X 1

2 X 2  24 3 X 1  2 X 2  18 (X1, X 2 )  0 Cuya forma estándar es:

MAX Z  3 X 1  5 X 2  S1

Sujeto a : X 1

4

 S2

2X 2 3X 1  2 X 2

 24

 S 3  18

( X 1 , X 2 , S1 , S 2 , S3 )  0 El tablero óptimo de este problema es el siguiente (Verifíquelo):

Variables Básicas S1 X2 S2 Zj Z j Cj

Cj

3

5

0

0

0

CB

XB

X1

X2

S1

S2

S3

0 5 0

4 9 6

1 3/2 -3

0 1 0

1 0 0

0 0 1

0 ½ -1

45

15/2 9/2

5 0

0 0

0 0

5/2 5/2

Supóngase que se va a introducir la nueva restricción: 2 X 1  3 X 2  24 , la cual no cumple con la solución óptima actual ya que: 2(0) + (3) (9) = 27 > 24. Entonces, la forma estándar de esta nueva restricción sería: 2 X 1  3 X 2  S 4  24 . Luego, el nuevo tablero, adicionando la nueva restricción y recalculando la inversa para seguir con el SIMPLEX DUAL, es el siguiente:

137

Variables Básicas S1 X2 S2 S4 S1 X2 S2 S4

Cj

3

5

0

0

0

0

CB

XB

X1

X2

S1

S2

S3

S4

0 5 0 0 0 5 0 0

4 9 6 24 4 9 6 -3

1 3/2 -3 2 1 3/2 -3 -5/2

0 1 0 3 0 1 0 0

1 0 0 0 1 0 0 0

0 0 1 0 0 0 1 0

0 ½ -1 0 0 ½ -1 -3/2

0 0 0 1 0 0 0 1

45

15/2 9/2 1.8

5 0

0 0

0 0

5/2 5/2 1.66

0 0

4 8 8 2

1 2/3 -4/3 5/3

0 1 0 0

1 0 0 0

0 0 1 0

0 0 0 1

0 1/3 -2/3 -2/3

40

10/3 1/3

5 0

0 0

0 0

0 0

5/3 5/3

Zj Z j  Cj

 S1 X2 S2 S3 Zj Z j  Cj

0 5 0 0

Entra como variable básica Obsérvese que X2 es básica, pero su columna es [0 1 0 3], luego, debe corregirse mediante Gauss-Jordan

Aquí se toma el  en valor absoluto (Maximización) NUEVA SOLUCIÓN ÓPTIMA

Obsérvese que el nuevo valor óptimo de la función objetivo es Z*máx = 40 < 45 (Valor anterior), como es de esperarse al añadir una nueva restricción que vuelva al problema nofactible.

6.6. EJEMPLO DE APLICACIÓN DE ANÁLISIS DE SENSIBILIDAD Una industria fabrica tres tipos de productos: A1, A2 y A3. El proceso de fabricación exige su paso por tres talleres sucesivamente: T1, T2 y T3, los cuales tienen cierta capacidad de trabajo. Existen limitaciones en el mercado que determinan la demanda máxima de cada uno de los productos. La información disponible es la siguiente (los requerimientos están en HR/UNID):

138

Introducción a la Modelación Matemática y Optimización

TALLER T1 T2 T3 Demanda máxima Anual Beneficio [ $/Unidad ]

A1

REQUERIMIENTOS A2 100 500 500 1,000 600 -

Capacidad Taller [ HR/AÑO ] 400 12,000 800 18,000 1,000 6,000

A3

10

8

10

150,000

200,000

240,000

a) ¿Qué programa de producción es el óptimo? b) Analizar las siguientes alternativas para mejorar la producción: 1. 2.

3. 4.

Incrementar la capacidad del taller T3, introduciendo una nueva máquina que añade 6000 hr/año de capacidad con un costo de $1‟020.000 anuales. Una inversión en publicidad que vale $700.000 anuales y que podría cambiar las demandas en 20, 14 y 10 respectivamente (o sea que las nuevas demandas serían 30, 22 y 20, respectivamente). Una investigación que cuesta $1‟200.000 al año y que permitiría disminuir el tiempo requerido en el taller T3 para el producto A3, de 1000 a 500 hr/unidad. Un esfuerzo técnico por reducir los costos, aumentando el beneficio unitario del producto A3 en $60.000/unidad. El costo de amortización durante la vida remanente de fabricación del producto sería de $400.000/año.

Nota: las alternativas NO son mutuamente excluyentes, o sea que podría estudiarse combinación de ellas.

6.6.1.

Planteamiento y Solución del Modelo

Sean Xi = Unidades del producto i a fabricar; i = 1, 2, 3. El modelo de PL entonces sería:

M AX Z  150000 X 1  200000 X 2  240000 X 3 [$ / Año ] Sujeto a : 100 X 1  500 X 2  400 X 3  12000 [ Hr / Año ] T1 500 X 1  1000 X 2  800 X 3  18000 [ Hr / Año ] T2  1000 X 3  6000 [ Hr / Año ] T 3

600 X 1

 10 (demanda de A1)

X1 X2

 8 (demanda de A2) X 3  10 (demanda de A3)

(X1, X 2 , X 3 )  0 La forma estándar correspondiente es:

139

MAX Z |  3 X 1  4 X 2  4.8 X 3 con Z  50000Z

Sujeto a : 100 X 1  500 X 2  400 X 3  S1 500 X 1  1000 X 2  800 X 3  1000 X 3

600 X 1

17

 12000

 S2

 18000

 S3

 6000

 S4

X1

 10

 S5

X2

8

 S6  10

X3 ( X 1 , X 2 , X 3 )  0; S j  0; j  1,2,...,6

El lector debe comprobar que la solución óptima única viene expresada en el siguiente tablero final óptimo:

Solución óptima degenerada (X3=0 y básica)

Var. Básicas S1 S2 X3 X1 X2 S6 Zj Z j  Cj

Cj

3

4

4.8

0

0

0

0

0

0

CB

XB

X1

X2

X3

S1

S2

S3

S4

S5

S6

0 0 4.8 3 4 0

7000 5000 0 10 8 10

0 0 0 1 0 0

0 0 0 0 1 0

0 0 1 0 0 0

1 0 0 0 0 0

0 1 0 0 0 0

-0.4 -0.8 0.001 0 0 -0.001

140 -20 -0.6 1 0 0.6

-500 -1000 0 0 1 0

0 0 0 0 0 1

62

3 0

4 0

4.8 0

0 0

0 0

.0048 .0048

0.12 0.12

4 4

0 0

Solución óptima del problema dual Inversa de la base óptima ( B 1 ) Luego, la solución óptima única es: X1=10 (producir 10 unidades/año de A1) X2=8 (producir 8 unidades/año de A2) X3=0 (no producir A3) S1=7000 (sobran 7000 hr/año en T1) S2=5000 (sobran 5000 hr/año en T2) S3=0 (se agota la capacidad en T3) S4=S5=0 (se produce la demanda máxima de A1 y A2) S6=10 (dejan de producirse 10 unidades/año de A3) Z | máx  62  Z máx  62  (50000)  $3.1 106 por año

17

Se ha dividido la función objetivo Z entre 50.000 ( Z  Z

/ 50000 ) para trabajar más fácilmente.

140

Introducción a la Modelación Matemática y Optimización

La solución óptima del dual es la siguiente:

w1=0 w2=0 w3=(0.0048)(50000)=240 18 w4=(0.12)(50000)=6.000 w5=(4)(50000)=200.000 w6=0 Es importante notar que algunos solucionadotes como WinQSB pueden dar una solución diferente a la anterior, ya que en el penúltimo tablero simplex se presenta un empate en la regla de salida. Conclusiones de la solución del dual: -

El tiempo en los talleres T1 y T2 sobra; por lo tanto el costo de oportunidad de estos recursos es cero. Lo máximo adicional que se puede pagar en el mercado por cada hora adicional del taller T3 es $240/hr. Por cada unidad potencial que se aumente la demanda de A1 y A2, se obtendrían beneficios adicionales de $6.000 y $200.000, respectivamente. Aumentando la demanda potencial de A3 no se logra ningún provecho, ya que de hecho se han dejado de producir 10 unidades de este producto.

6.6.2. Análisis de las Alternativas 1. Incrementar la capacidad T3 en 6000 hr/año con un costo de $1‟020.000/año. Este caso corresponde a un cambio en el vector b.

b  [12000 18000 6000 10 8 10]T b  [0 0 6000 0 0 0]T XB  B1b  [ 2400  4800 6 0 0  6]T

19

Luego la nueva solución sería: ˆ X B  X B  X B  [ S1

S2

X3

X1

X2

S6 ]T

18

Obsérvese que la solución del problema dual debe multiplicarse también por 50.000 , al igual que el valor real óptimo de la función objetivo. 19

Tómese

B 1 del tablero óptimo de la sección anterior y compruébese este resultado.

141

ˆ X 200 6 10 8 4]T B  [4600

Obsérvese que la nueva solución sigue siendo factible y, por lo tanto, es también óptima. Se mantienen los niveles de producción de A1 y A2 y ahora si debe producirse A3 (X3=6 unidades/año de A3). El nuevo valor de la función objetivo es: Z  [3(10)  4(8)  4.8(6)]  50000  $4'540.000 / Año menos el valor de recurso adicional  $1'020.000 / Año $3'520.000 / Año

Por lo tanto, esta alternativa por sí sola es adecuada (el valor óptimo anterior era de $3‟100.000/año). Nota: Del análisis dual se concluyó que por cada hora adicional de T3 la función objetivo se incrementaría en $240/hr·T3. En este caso esto se cumple ya que la base óptima no cambia, y:

$240  600hr··T 3  1'440.000 $ / Año hr··T 3  3'100.000 $ / Año 4'540.000 $ / Año que era lo que se había obtenido. Este análisis del problema dual será válido si la composición básica de la solución óptima NO cambia, o sea si la solución permanece factible. Además, obsérvese que se está pagando: 1'020.000 $ / Año  $170 / hr  $240 / hr 6000 hr / Año

que es el máximo adicional que estaba dispuesto a pagarse por cada hora adicional en T3, lo cual confirma aún más lo dicho anteriormente. Una pregunta que podría surgir es: cuánto es lo máximo que se pueden aumentar las hr/Año disponibles en T3 para que se siga manteniendo la factibilidad y por lo tanto la función objetivo crezca a razón de $240/hr·T3? Para determinar esto se realiza un análisis paramétrico. Sea:

b  [0 0 K 0 0 0]T  X B  B 1b  [ 0.4K Luego la nueva solución sería:

 0.8K 0.001K 0 0  0.001K ]T

142

Introducción a la Modelación Matemática y Optimización

7000  0.4 K  5000  0.8 K     0.001K  ˆ X B  X B  X B    10     8   10  0.001K 

Pero, como para que se conserve la factibilidad se requiere que X B  0 , entonces:

7000  0.4 K  0  K  17500 5000  0.8 K  0  K  6250 0.001K  0  K  0 (Se cumple) 10  0 (Se cumple) 8  0 (Se cumple) 10  0.001K  0  K  10000 Luego K  6250 , o sea que para mantener la factibilidad actual y la composición básica óptima actual se requiere que el incremento positivo en hr/Año de T3 sea máximo 6250 hr. Este análisis paramétrico lo realiza automáticamente el computador y da los límites inferior y superior, a través de programas especializados, tales como el WinQSB, AMPL./CPLEX, etc. 2. Inversión en publicidad: $700.000/Año. Cambio de las demandas máximas en 20, 14 y 10 unidades/año de A1, A2 y A3, respectivamente. En este caso:

b  [0 0 0 20 14 10]T  X B  B 1 b  [ 4200  14400  12 20 14 22]T Y la nueva solución sería: ˆ X  9400  12 30 22 32]T B  X B  X B  [2800

Luego se rompe la factibilidad y habría que seguir iterando con el algoritmo SIMPLEX DUAL; el lector debe comprobar que la nueva solución óptima es:

X 1  10 X 2  13 X 3  0 S1  4500 S 2  S 3  0 S 4  20 S 5  9 S 6  20 * Z máx  (82)(50.000)  4'100.000 $ / Año

 Costo Publicidad  700.000 $ / Año $3'400.000/Año

143

Luego esta alternativa por sí sola es rentable. Obsérvese que aquí NO se cumple lo previsto por la solución del dual, ya que cambia base óptima al romperse la factibilidad. De acuerdo al dual la función objetivo debía incrementarse en:

(6.000)(20)  (200.000)(14)  (0)(10)  2'920.000 pero sólo se incrementó en 4‟100.000-3‟100.000 = 1‟000.000. 3. Investigación por $1‟200.000/Año para reducir los requerimientos de A3 en T3 de 1000 a 500 hr/unidad. Este cambio corresponde a cambios en las columnas de A. Como X3 es una variable básica óptima, esto correspondería al cambio de una columna de A correspondiente a una variable básica, lo cual indicaría que sería mejor resolver de nuevo el modelo. Sin embargo, como X3 es básica, pero a nivel cero (solución óptima degenerada), es posible que en el penúltimo tablero se saque a X3 de la base (en vez de a S4). Así, un tablero óptimo alternativo sería: Cj

Var. Básicas S1 S2 X1 S4 X2 S6 Zj

3

4

4.8

0

0

0

0

0

0

CB

XB

X1

X2

X3

S1

S2

S3

S4

S5

S6

0 0 3 0 4 0

7000 5000 10 0 8 10

0 0 1 0 0 0

0 0 0 0 1 0

700/3 -100/3 5/3 -5/3 0 1

1 0 0 0 0 0

0 1 0 0 0 0

-1/6 -5/6 1/600 -1/600 0 0

0 0 0 1 0 0

-500 -1000 0 0 1 0

0 0 0 0 0 1

62

3 0

4 0

5 0.2

0 0

0 0

1/200 1/200

0 0

4 4

0 0

Z j  Cj

Obsérvese que es la “misma” solución óptima obtenida al comienzo, con la diferencia de que X3 no aparece en la base óptima (ahora aparece S4 a nivel cero). Obviamente, la inversa de la base cambia. Ahora sí, como X3 no es básica, el cambio planteado puede hacerse así: Z*3  (CB B 1 )a3*  CB Y3*

O sea: Z*3  [0 0 1 / 200 0 4 0]·[400 800 500 0 0 1]T  5 / 2

144

Introducción a la Modelación Matemática y Optimización

y así, el nuevo Z*3  C3  5 / 2  4.8  2.3  0 , luego se rompe la optimalidad. Por lo tanto, debe continuarse con el algoritmo SIMPLEX normal. Para ello es necesario recalcular a Y3* , así: 2 1 5 5 Y3*  B 1 a3*  [316 383  0 1]T 3 3 6 6 Y luego si se itera con la nueva columna. El lector debe comprobar que la nueva solución óptima es:

X 1  1 23

X 2  8 X 3  10 S1  3833 13

S 2  1166 23

S 3  0 S 4  8 13

S5  S6  0

* Z máx  (85)(50.000)  4'250.000 $ / Año

 Costo alternativa  1'200.000 $ / Año $3'050.000/Año Luego la alternativa por sí sola no es rentable económicamente. Ejercicio: verificar que la nueva solución para la cuarta alternativa es:

X 1  0 X 2  8 X 3  6 S1  5600 S 2  5200 S 3  0 S 4  10 S 5  0 S 6  4 * Z máx  (68)(50.000)  3'400.000 $ / Año

 Costo alternativa  400.000 $ / Año $3'000.000/Año Luego, por sí sola esta alternativa no sería adecuada. Trate el lector de verificar combinaciones de alternativas(primero parejas, luego ternas y luego las cuatro) por computador y llegar a la conclusión de que la mejor alternativa combinada que puede hacerse es: Combinar las alternativas 1 + 4, cuya solución óptima es:

X 1  3 13 * Z máx

X 2  8 X 3  10  5'100.000 $ / Año

 Costo alternativa  1'420.000 $ / Año $3'680.000/Año Todos los análisis de dualidad y de sensibilidad son normalmente determinados por software comercial de una forma automática, de tal forma que el usuario pueda analizarlos directamente. Por ejemplo, en el caso del problema de los transformadores, el software WinQSB produce el siguiente resultado, el cual coincide obviamente con lo presentado en las secciones anteriores:

145

Combined Report for transformadores análisis de sensibilidad

1 2 3

Decision Variable

Solution Value

Unit Cost Profit c(j)

Total Contribution

Reduced Cost

Basis Status

Allowable Min. c(j)

Allowable Max.c(j)

TR40VA TR75VA TR3

350.0 450.0 0

400.0 700.0 900.0

140,000.0 315,000.0 0

0 0 -12.5

basic basic at bound

385.7143 684.4445 -M

500.0000 933.3333 912.5000

Objective

Function

(Max.) =

Shadow Price

Allowable Min. RHS

Allowable Max. RHS

150.0 250.0 0

1,166.667 840.0 800.0

1,633.333 1,050.000 M

Constraint 1 2 3

HR_HOMBRE HR_MAQ1 HR_MAQ2

Left Hand Side 1,400.0 980.0 800.0

455,000.0

Dir.

Right Hand Side

<= <= <=

1,400.0 980.0 900.0

Slack (Surplus) 0 0 100.0

El Anexo 1 presenta la formulación y solución de un caso completo de optimización en el área de cadenas de abastecimiento, ilustrando los resultados presentados por el software WinQSB y también por software más avanzado útil en casos reales, como es AMPL/CPLEX. El Anexo 2 contiene fotocopias de capítulos seleccionados sobre el problema del transporte y una introducción a la teoría de redes. El tema siguiente, el método simplex revisado puede obviarse inicialmente y retomarse si se desea profundizar en algunos aspectos de la programación lineal.

146

Introducción a la Modelación Matemática y Optimización

7. EL MÉTODO SIMPLEX REVISADO Su objetivo es el ahorro de cálculos y la minimización del error de redondeo, a la vez que optimiza la utilización de la memoria del computador. Esto se cumple especialmente cuando la matriz A original es lo suficientemente dispersa. La forma estándar: M AX Z  CX sujeto a : AX  b X0

pasa a: Z  CX  0 AX  b X0

Lo anterior puede escribirse matricialmente así:

 1  C  Z   0   0 A   X   b       lo cual podría incluso verse como:

A | X|  b | El problema es determinar una solución básica tal que Z sea máximo; por lo tanto Z siempre será una variable básica. Así, una base cualquiera para este caso sería:

1 B1   0

 CB    B 

1  C 1 0  0 : B1  :  : 0  0

 C 2 ···

B

···

 Ck            

Se le denomina B1 pues se aumentó su dimensión en 1.

147

C B representa los coeficientes de las variables que están en la base (coeficientes de la función objetivo), en tanto B es la base formada por las columnas correspondientes en las restricciones (igualdades). Como B1 es una matriz triangular superior particionada, entonces puede demostrarse fácilmente que: 1 C B B 1    1 B1    1  0 B   Ahora supóngase que a (j1) es una columna de la matriz A original adicionada en el primer elemento con coeficiente - C j , o sea:

a

(1) j

- C j       aj   

Por lo tanto, se puede afirmar que:

Y1j  B1

1

a

(1) j

1   0 

C B B 1   - C j   - C j  C B B 1 a j          B 1   a j   B 1 a j 

Pero como el Y j original es B 1 a j y además Z j  C B B 1 a j , se tiene que:

Y

(1) j

Z j  C j       Yj   

Por lo tanto el Z j  C j aparece automáticamente durante el proceso sin necesidad de calcular cada vez primero el Z j y luego el C j .

148

Introducción a la Modelación Matemática y Optimización

7.1. MÉTODO SIMPLEX REVISADO SIN VARIABLES ARTIFICIALES Como en este caso la base inicial está formada por las columnas de las variables de holgura, o sea que es igual a , se tiene que: CB  1 1   B1    0 I m  y XB

(1)

1

 B1 b (1)

Pero como los coeficientes de las variables de holgura en la función objetivo son iguales a cero, entonces: 0 1 1   B1    0 I m  Luego:

XB

(1)

 Ib

(1)

b

(1)

0    b 

En cualquier iteración: XB

1

 1 C B B 1   0   C B B 1b   Z    1      1    0 B  b   B b   X B 

Para iniciar el procedimiento se calculan los ( Z j  C j ) de las variables no-básicas únicamente, multiplicando la 1ª fila de la inversa B1 1 por cada columna a (j1) de las variables no-básicas. Así, coincidiendo con el criterio de entrada, entra a la base aquella variable nobásica cuyo ( Z j  C j ) sea “el más negativo”. Si hay un empate, se rompe arbitrariamente. Luego, se procede a detectar la variable que sale, recordando que Z siempre es básica. Para lograr esto, se calcula la nueva columna Yk1 , si k es la variable a entrar. Recuérdese que este cálculo se realiza así:  Z  CK  YK1  B11 AK1   K   YK 

149

Ya teniendo esta columna se calcula la nueva solución:  Z  X B1  B11b 1    XB  Y así, se puede aplicar la regla del cociente, saliendo de la base aquella variable cuyo  sea mínimo, donde: X X   Br  B i ; Yik  0 Yrk Yik Seguidamente se obtiene la inversa de la base siguiente: esto puede hacerse por operaciones fila elementales de Gauss-Jordan o mediante el método de hallar una inversa a partir de otra, en donde las matrices originales sólo difieren en 1 columna (la de la variable que sale de la base). En este caso se hará por Gauss-Jordan. Si el lector está interesado en conocer el otro método puede consultar a Taha (1991)20. Ejemplo: Resolver el problema de los transformadores mediante el método SIMPLEX Revisado. Solución: El modelo en su forma estándar es: MAX Z  400 X 1  700 X 2 7 X 2  S1 3 X 1  1.4 X 2  S 2

Sujeto a : X 1 

X1  X 2

 1400  980

 S 3  900

( X 1 , X 2 , S1 , S 2 , S3 )  0

El modelo estándar se transforma inicialmente a:

20

TAHA, Hamdy. Investigación de operaciones. Alfa y Omega. 2ª edición, México, 1991. Páginas 273-282.

Introducción a la Modelación Matemática y Optimización

150

MAX Z Sujeto a : Z - 400 X 1 - 700 X 2

0

7 X 2  S1 3 X 1  1.4 X 2  S 2 X1 

X1  X 2

 1400  980

 S 3  900

( X 1 , X 2 , S1 , S 2 , S3 )  0

La base inicial B 1 puede representarse así:

B1  b1 b 2

b3

b4 

donde b i son las columnas de la base. Inicialmente, y dado que las variables básicas iniciales son Z, S1, S2, S3, coincide con la matriz idéntica de orden 4. Por notación: 1 B1  1  2  3  4 

 1 siempre será el vector unitario ya que Z siempre será variable básica. Luego, el tablero inicial simplificado es: Inversa de la base

Y21



-700 7/3 1.4 1

600 700 900

(1)

Base

1

2

3

4

XB

Z S1 S2 S3

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

0 1400 980 900

Inicialmente se calculan los ( Z j  C j ) de las variables no-básicas tomando la 1ª fila de B1

1

y multiplicándola por cada columna aumentada:

 400  1    400 Var X 1 : Z 1  C1  1 0 0 0   1     1   700  7/3    700 Var X 2 : Z 2  C 2  1 0 0 0   1.4     1 

151

Luego la variable que entra es X2. Por lo tanto, debe calcularse Y21 , para poder determinar la variable que sale (por esa razón aparece en la tabla mostrada arriba). Y2(1)  B1

1

a

(1) 2

 I - 700 7/3 1.4 1  - 700 7/3 1.4 1 T

Dado que Y2(1) debe convertirse en el vector unitario, entonces se realizan las operaciones fila elementales necesarias. El resultado aparece en el segundo tablero: Inversa de la base

Base

1

2

3

4

Z X2 S2 S3

1 0 0 0

300 3/7 -3/5 -3/7

0 0 1 0

0 0 0 1

XB

Y21



-100 3/7 2/5 4/7

1400 350 525

(1)

420000 600 140 300

Se calculan los nuevos ( Z j  C j ):

 400  1    100 var . X 1 : Z 1  C1  1 300 0 0   1     1  0  1  var . S1 : Z 2  C 2  1 300 0 0    300 0    0  Entonces:

Y11  B11 A11

1 300  0 3 7   3 0 5  0  3 7 

Al calcular , sale la variable S2. Así, el nuevo tablero es:

0 0  0 0  1 0  0 1 

 100  400    1   37      1   2     5  1    4   7 

152

Introducción a la Modelación Matemática y Optimización

Inversa de la base

Base

1

2

3

4

Z X2 X1 S3

1 0 0 0

150 15/14 -3/2 3/7

250 -15/14 5/2 -10/7

0 0 0 1

XB

(1)

455000 450 350 100

Los nuevos ( Z j  C j ) son:

0  1  var . S1 : Z 1  C1   1 150 250 0    150 0    0  0  0  var . S 2 : Z 2  C 2   1 150 250 0    250 1    0  Luego, la solución actual es la óptima, ya que ( Z j  C j )  0 j. Aunque este método no parece tener ventajas en la forma manual mostrada, sus principales beneficios radican en los grandes ahorros de cálculo computacional para problemas de gran tamaño que se presentan en la práctica.

153

Ejercicios 7.1

1. Encuentre por inspección una solución óptima del siguiente modelo de PL: Maximizar z  3 x1  4 x2  6 x3 sujeto a : 2 x1  3 x2  4 x3  16 ( x1 , x2 , x3 )  0

2. Cuáles de las siguientes afirmaciones sobre el método Simplex son Falsas ó Verdaderas (Justifique su respuesta): a. Cualquier problema de PL necesita de variables artificiales para ser resuelto mediante el método Simplex. b. En el criterio de entrada para maximización es obligatorio entrar a la base aquélla variable cuyo (zj – cj) sea “lo más negativo posible”. c. El criterio de salida del método Simplex garantiza que la solución básica siguiente sea factible. d. En un tablero óptimo, todos los (zj – cj) de las variables básicas deben ser iguales a cero. e. La solución óptima del problema dual asociado a un problema primal aparece siempre en la fila de los (zj – cj) debajo de la submatriz idéntica inicial. 3. Considere el siguiente tablero Simplex para un problema de minimización: cj Var. Bás. x1 x3

CB



XB 100 250

7 x1

3

5

0

0

x2

x3

S1

S2

2

1/2

14/ 5

1/6

7/2 1

zj z j  cj

a. Complete el tablero anterior. ¿Es óptima la solución mostrada en el tablero? Justifique su respuesta. b. ¿La solución óptima mostrada es única? Justifique su respuesta.

154

Introducción a la Modelación Matemática y Optimización

c. Si usted quisiera encontrar otra solución básica factible óptima diferente a la dada en el tablero, ¿qué variable entraría a la base y cuál saldría de ella? d. ¿Si la inversa de la base inicial se formó con las columnas de las variables S1 y S2, cuál es la solución óptima del problema dual asociado?

4. Responda las siguientes preguntas: a. Cuando en cualquier tablero Simplex existe una variable candidata a entrar a la base, pero ninguna variable puede salir de ella porque el criterio de salida falla, ¿qué se puede concluir acerca del problema original? b. Si en un tablero Simplex óptimo existe una variable básica artificial con valor positivo, ¿qué se puede decir del problema original? ¿Qué puede decirse si la variable básica artificial es igual a cero? (Solución degenerada). 5. Considere los siguientes resultados de un programa que resuelve modelos de PL, por ejemplo el WinQSB. El problema original es un problema de producción semejante al de los transformadores, con 4 productos candidatos a ser producidos (representados por las variables x1, x2, x3 y x4), y 3 recursos utilizados para su producción (hr.hombre, materia prima y hr.máq): Variable Solución Coeficiente en la Función objetivo x1 45 5 x2 20 4 x3 0 3 x4 82 6

Mínimo coeficiente Máximo coeficiente en la f. objetivo en la f. objetivo 3.5 7.5 3.6 5.0 -M 4.0 5.2 M

Valor de la función objetivo = $797 Restricción

Hr.hombre Mat_Prima Hr.máq.

Valor Dir. Valor del lado Holgura ó Precio Lado izq. Derecho Exceso Sombra (RHS) 2150 2500 350 0  800 800 0 1.5  1250 1250 0 2.0 

Mínimo RHS

Máximo RHS

2150 700 1000

M 1050 1375

Responda las siguientes preguntas en forma breve y precisa y justifique sus respuestas: a. Si logramos conseguir 100 hr.hombre adicionales, entonces la función objetivo aumenta en $100. (Falso ó Verdadero) b. Si conseguimos 100 unidades adicionales de materia prima, entonces nuestra función objetivo aumentaría a un valor de $947. (Falso ó Verdadero)

155

c. Si se daña la máquina, quedando disponibles sólo 950 horas, entonces la función objetivo necesariamente bajaría a $197. (Falso ó Verdadero) d. Si el coeficiente de la variable x4 en la función objetivo aumenta de 6 a 10 $/unidad, entonces la solución óptima actual sigue siendo la misma, cambiando el valor de la función objetivo a $1125. (Falso ó Verdadero) e. Usted ha estimado que el costo normal por cada hora en la máquina ($/hr.máq.) es de $18/hr.máq. Dado que se trata de un recurso escaso, tal como lo muestra la solución arriba, usted está considerando la posibilidad de alquilar ciertas horas máquina a un costo de $21/hr.máq. ¿Debería usted aceptar esta oferta de alquiler? Recuerde que usted está alquilando para usted para tener más recursos. 6. Suponga que en la formulación de un problema de producción semejante al de los transformadores desarrollado en clase, se llegó al siguiente modelo de PL: Maximizar sujeto a:

U = 2x1 + 5x2 + 4x3 (Utilidad neta total en $) x1 + 2x2 + 3x3  800 (Unidades de recurso 1) 2x1 + 4x2 + x3  500 (Unidades de recurso 2) x2 + 2x3  700 (Unidades de recurso 3) (x1, x2, x3)  0

donde x1, x2 y x3 son las cantidades a producir del producto 1, 2 y 3, respectivamente. El tablero final Simplex (incompleto) para el modelo anterior es el siguiente (la base inicial se formó con las tres variables de holgura): Var. Bás. x3 x2 S3 zj zj  c j

CB

XB

x1 0 0.5 0.5

x2

x3

S1

S2

0.4 0.1 0.7

0.2 0.3 0.1

S3

a. Complete totalmente el tablero anterior y compruebe que se trata del tablero óptimo del problema original. b. Suponga que le ofrecen 100 unidades adicionales de cada uno de los tres recursos a un costo adicional de $1.0/unidad. ¿Cuál de los tres recursos debería comprarse en primera instancia? ¿Qué información faltaría para tomar una decisión definitiva acerca de la compra de estos recursos? c. Suponga que se aumenta la utilidad unitaria del producto 1 (x1) de 2 a $3/unidad. ¿Cree usted que entonces ahora sería rentable producirlo? ¿Por qué?

156

Introducción a la Modelación Matemática y Optimización

d. Encuentre el problema dual asociado al problema primal de producción original y determine su solución óptima. e. Suponga que existe una restricción adicional por transporte, en la cual las cantidades sumadas de los tres productos a producir no puede ser mayor que 280 unidades. ¿Cuál sería entonces la nueva solución óptima? f. Se está investigando la conveniencia de producir o no un cuarto producto (x4), cuya utilidad unitaria es de $6/unidad y consume 4, 3 y 2 unidades del recurso 1, 2 y 3, respectivamente. ¿Sería entonces rentable producir este nuevo producto? (Sugerencia: Para hallar la columna asociada a la variable x4 en el tablero óptimo, se debe multiplicar la inversa de la base óptima por la columna original de la variable en el modelo de PL. El resto sería encontrar el z4 asociado y, finalmente, el (z4 – c4) y determinar si la solución actual sigue siendo óptima o no). 7.

Resuelva si es posible los siguientes modelos de PL, utilizando el método SIMPLEX (compare con la solución dada por el programa WinQSB):

a)

Maximizar

Z = 3X1 + 2X2 + 5X3

sujeto a: X1 + X2 + X3 2X1 - X2 + 3X3 (X1, X2, X3) b)

Minimizar

 25

 10

0

Z = 500X1 + 450X2 + 670X3 + 800X4

sujeto a: 0.4X1 + 0.35X2 + 0.5X3 + 0.7X4 0.6X1 + 0.65X2 + 0.5X3 + 0.3X4 (X1, X2, X3, X4)

= 0.55 = 0.45 0

Nota: Para el problema (b) utilice precisión infinita en los cálculos.

c)

Maximizar

Z = 3X1 + X2 + 5X3 + 4X4

sujeto a: 3X1 - 3X2 + 2X3 + 8X4 5X1 + 6X2 - 4X3 - 4X4 -4X1 + 2X2 - X3 - 3X4 (X1, X2, X3, X4) 8.

Utilizando el método de las dos fases resuelva el siguiente problema:

 50  40  -20 0

157

Minimizar

Z = X1 - X2 + 3X3

sujeto a: X1 - 2X2 + X3 2X1 - 3X3 -4X2 + 5X3 (X1, X2, X3) 9.

5 1 8 0

Formule el problema dual del siguiente problema de PL y encuentre su solución óptima: Maximizar

Z = 3X1 + 2X2 + 5X3

sujeto a: X1 + 2X2 + X3  430 3X1 + 2X3  460 X1 + 4X2  420 (X1, X2, X3) 0 10. Considere el problema No. 22 sobre la compra de aviones, de la colección de problemas de formulación de modelos de PL anterior. Ignore la restricción de enteros. Resuelva el problema mediante el método simplex, utilizando la máxima precisión posible y resuelva los siguientes puntos (Utilice toda la precisión posible en los cálculos de los tableros simplex y evite trabajar con cifras demasiado grandes): a) Analice la solución del problema dual. b) Suponga que la empresa decide contratar 5 nuevos pilotos, incurriendo en un costo adicional de US$100,000/año. Se justifica esta decisión? Por qué? c) Suponga ahora que la empresa tiene opción de aumentar el presupuesto de inversión en aviones a US$200 millones. Cuál sería ahora la nueva solución óptima del problema? d) ¿Cree que sería justificable invertir en la ampliación de la capacidad de los hangares? ¿Por qué? e) Suponga que se logra una rebaja en el costo de los aviones de vuelos medianos de US$5 millones a US$4.5 millones cada uno. ¿Cuál sería ahora la mejor alternativa de inversión? f) Suponga finalmente que la empresa está estudiando la posibilidad de comprar un nuevo tipo de avión diferente a los tres ya considerados. Este nuevo avión produce una utilidad de US$450,000/año, cuesta US$7 millones cada uno y ocupa una capacidad igual a la de los aviones de vuelos medianos. ¿Sería conveniente comprar este tipo de avión? Por qué? Nota: Trate independientemente cada una de las alternativas anteriores [(b) a (f)].

158

Introducción a la Modelación Matemática y Optimización

Ejercicio 7.2 1.

Usted posee 50 acres de tierra en la que puede plantar cualquier cantidad de maíz, soya y lechuga. La siguiente tabla muestra la información relevante con respecto de la producción, la ganancia neta y los requerimientos de agua de cada cultivo. CULTIVO No.

TIPO DE CULTIVO

PRODUCCIÓN [Kg/acre]

1 2 3

Maíz Soya Lechuga

640 500 400

GANANCIA NETA [$/Kg] 1,00 0,80 0,60

AGUA REQUERIDA [Litros/Kg] 8,75 5,00 2,25

Dado que se tiene disponible 100.000 litros de agua y que la compañía se ha comprometido a vender al menos 5.120 Kg de maíz, se desarrolló el siguiente modelo de PL, donde Xi = Acres a sembrar de cada tipo de cultivo i = 1, 2, 3: Maximizar 640 X 1  400 X 2  240 X 3 ($) sujeto a : X1 

X2 

X 3  50 acres tierra

5.600 X 1  2.500 X 2  900 X 3  100.000 litros agua  8 acres maíz

X1 ( X1 , X 2 , X 3 )  0

Al correr este modelo en WinQSB, se obtiene la siguiente solución óptima y análisis de sensibilidad (Solo se muestran las variables mayores ó iguales que cero): Variable

X1 X2 X3

Solución

8,0000 10,8750 31,1250

Coeficiente en la Función objetivo 640 400 240

Mínimo coeficiente en la f. objetivo -M 376,1702 144,0000

Máximo coeficiente en la f. objetivo 710,0000 666,6667 276,1290

Valor de la función objetivo = $16.940 Restricción

Valor Lado izq.

Dir .

Tierra Agua Demanda Maíz

50 100.000 8

  ≥

Valor del lado Derecho (RHS) 50 100.000 8

Holgura ó Exceso 0 0 0

Precio Sombra

150,00 0,10 -70,00

Responda las siguientes preguntas y sustente claramente su respuesta:

Mínimo RHS

Máximo RHS

30,08 82.600,00 0,00

69,33 149.800,00 11,70

159

a) Con la misma cantidad de dinero, qué sería mejor, ¿adquirir 10 acres de terreno adicionales ó comprar 13.000 litros adicionales de agua? (Sólo puede escoger una de las dos alternativas). b) Manteniendo la misma cantidad de tierra y condición de demanda del maíz, usted desea obtener una ganancia de $21.000. ¿Cuántos litros adicionales de agua necesitaría para lograrlo? c) Usted sabe que la inversa de la base óptima es la siguiente matriz: 1,9375  1,5625  0 ,000625     0,5625 0 ,000625  2 ,9375  0 ,0000 0 ,000000 1,0000

i)

Reconstruya el tablero final Simplex. Observe que debió haberse adicionado una variable artificial A en la restricción de demanda de maíz (además de la variable de exceso S3), y, por lo tanto, la tercera columna de la matriz inversa anterior corresponde a la columna de dicha variable artificial y las dos primeras a las variables de holgura S1 y S2 adicionadas en las dos primeras restricciones de tierra y agua.

ii)

Compruebe el rango de sensibilidad dado por el programa del coeficiente de la variable X2 en la función objetivo.

iii)

Compruebe el rango de sensibilidad dado por el programa del recurso tierra en la función objetivo.

d) Explique por qué el costo de oportunidad de la restricción de demanda de maíz es negativo. ¿Según lo anterior, si usted debe satisfacer una demanda mínima de 10 acres de maíz, cuál sería el nuevo valor de la función objetivo? ¿Si no existiera restricción de demanda mínima de maíz, entonces sería rentable producir maíz? ¿Cuál sería entonces el valor de su ganancia neta total? e) Se le presenta la opción de cultivar algodón cuya producción es de 300 Kg/acre, consume 4 litros/Kg y produce una ganancia neta de $0,70/Kg y no tiene restricciones de demanda. ¿Es rentable sembrar alguna extensión de terreno con algodón? f) Formule el problema dual del modelo primal formulado en este punto y encuentre su solución óptima sin resolverlo desde el comienzo. 2. Considere el siguiente modelo de programación lineal de producción para tres productos y responda las preguntas siguientes en forma completamente independiente una de otra.

160

Introducción a la Modelación Matemática y Optimización

Maximizar U = 2x1 + 3x2 + 4x3 (Utilidad neta total en $) sujeto a: x1 + 2x2 + 3x3  5.000 (Horas hombre; variable de holgura asociada S1) 2x1 + 4x2 + x3  3.500 (Unidades de Materia Prima MP; variable de holgura asociada S2) x1 + x3  1.000 (Demanda conjunta productos 1 y 3; variable de holgura asociada S3) (x1, x2, x3)  0 donde x1, x2 y x3 son las cantidades (unidades) a producir del producto 1, 2 y 3, respectivamente. El tablero final Simplex para el modelo anterior es el siguiente (la base inicial se formó con las tres variables de holgura, S1, S2 y S3):

Variables Básicas S1

Coeficientes en la función objetivo (CB) 0

Solución (XB) 750

x2

3

625

x3 zj

4

1.000 5.875

z j  cj

x1

x2

x3

S1

S2

S3

2,5 0 0,25

0

0

1

1

0

0

0,5 0 0,25

1,00 4,75 2,75

0 3 0

1 4 0

0 0 0

0,00 0,75 0,75

2,5 0 0,2 5 1,00 3,25 3,25

1) El modelo de programación lineal anterior: a) b) c) d) e)

Tiene infinitas soluciones óptimas No tiene solución factible alguna Tiene función objetivo no acotada Tiene solución óptima única No puede resolverse

2) Si se aumentaran 250 hr.hombre, para un total de 5.250 hr.hombre disponibles, y se resolviera de nuevo el problema, entonces: a) b) c) d) e)

La utilidad neta óptima aumentaría La utilidad neta óptima disminuiría Sobrarían 1.000 hr.hombre El nuevo problema no tendría solución Dejaría de ser rentable producir el producto 2

3) Considere el aumento de la cantidad disponible de materia prima de 3.500 a 4.500 unidades. Conociendo que este cambio NO altera la base óptima, entonces la nueva utilidad neta óptima: a) Sería de $6.625

161

b) c) d) e)

Sería de $9.125 Sería de $5.125 Permanecería igual a $5.875 Sólo podría determinarse resolviendo el problema desde el tablero inicial Simplex

4) Si la utilidad neta unitaria del producto 1 (Coeficiente de x1 en la función objetivo) pasara del valor actual de $2/unidad a $4,5/unidad, entonces: a) b) c) d) e)

Dejaría de ser rentable producir el producto 3 Dejaría de ser rentable producir el producto 2 Se agotaría completamente el recurso hr.hombre Aumentaría el valor óptimo de la función objetivo en $2,5 La solución óptima actual permanecería invariable

162

Introducción a la Modelación Matemática y Optimización

8. OPTIMIZACIÓN NO LINEAL Los problemas de optimización no-lineal son en general difíciles de resolver, es decir, son problemas NP-Hard. Más aún, no existen algoritmos generales para resolver cualquier problema de programación no-lineal. Dependiendo de la estructura del problema en particular, se han desarrollado algunos algoritmos eficientes, como por ejemplo Programación Cuadrática, Programación Convexa, Programación Geométrica, etc. Uno de los problemas de la optimización no-lineal surge del hecho de que la región factible resultante no necesariamente es convexa. Además, el óptimo no necesariamente ocurre en uno de los vértices de la región factible. Ejemplo: Considere el siguiente problema de programación no-Lineal:

Sujeto a:

La región factible y la solución óptima se muestran en el grafico siguiente:

10 9 8 7 6 5 4 3 2 1 1

2

3

4

5

6

7

8

9

10

163

Ejercicios 8.1 1.

Resuelva el problema anterior, conservando la misma región factible (conjunto de restricciones), pero considerando la siguiente función objetivo: Minimizar

R/. Mínimo 2.

Considere la siguiente región factible

Encuentre la solución óptima del problema no –lineal considerando las siguientes funciones objetivo:

8.1. TEORIA DE OPTIMIZACIÓN CLÁSICA 8.1.1. Problemas No-Restringidos: Se van a tratar funciones de varias variables en general. El caso para una variable es un caso especial, para el cual las ecuaciones y criterios siguen siendo válidos. Considérese la función de varias variables en general demuestran en Taha (1997): Condiciones necesarias. Una condición necesaria para que estacionario (máximo, mínimo ó punto de silla) de es que:

Los siguientes teoremas se

sea un punto extremo ó

Recuérdese que si , el vector gradiente se define como: Condiciones suficientes. Una condición suficiente para que un punto estacionario sea un extremo es que la matriz Hessiana IH evaluada en sea: ) Positiva definida para un punto mínimo. ) Negativa definida para un punto máximo

164

Introducción a la Modelación Matemática y Optimización

Recuérdese ahora que si

la matriz Hessiana viene dada por:

Ejemplo: Considere la función:

Las condiciones necesarias para la existencia de un extremo son: ó, equivalentemente

La solución de las tres ecuaciones simultáneas anteriores son: = El punto es entonces un punto estacionario que debe ser categorizado mediante la aplicación de las condiciones de suficiencia:

Obsérvese que para este ejemplo en particular IH ( ) es constante y por lo tanto la matriz Hessiana evaluada en el punto estacionario resulta ser ella misma. Los menores principales de IH ( ) son (repasar la teoría expuesta en Taha (1997), Apéndice A, pag. 825,826):

165

(

Menor principal de orden 1 de IH (

) = |-2|=-2

Menor principal de orden 2 de IH (

)=

Menor principal de orden 3 de IH (

)

=4

Cómo los signos del menor principal. De orden k es , se puede concluir que IH ) es negativa definida y por lo tanto es un punto máximo de .

Ejercicio 8.2 Busque y categorice los puntos estacionarios de las siguientes funciones: a) b) c) d) e)

8.1.2. Problemas con Restricciones de Igualdad El método más utilizado para resolver problemas con restricciones de igualdad es el método de los multiplicadores de Lagrange Considérese el problema general:

Donde: =( g= Se supone que F y g son dos veces diferenciables continuamente. En el método de Lagrange se construye la función Lagrangiana:

Donde se conocen como los multiplicadores de Lagrange.

166

Introducción a la Modelación Matemática y Optimización

Las condiciones necesarias para determinar los puntos estacionarios de son:

sujeto a

Las condiciones de suficiencia se establecen de la siguiente forma. Se define la matriz Hessiana bordeada:

Donde IP =

Dado el punto estacionario ( ) para la función Lagrangiana L( ) y la matriz Hessiana bordeada evaluada en el punto estacionario( ), entonces es: a) Un punto máximo si al comenzar con el menor principal de orden (2,+1), los últimos (n-m) menores principales de forman un patrón de signos alternantes que comienza con b) Un punto mínimo si al iniciar con el menor principal de orden (2m+1), los últimos (n-m) menores principales de tienen el signo de Estas condiciones son suficientes, pero no necesarias. Por lo tanto, un punto estacionario puede ser extremo sin satisfacer estas restricciones.Existen otras condiciones que son necesarias y suficientes para identificar los puntos extremos. Se define la matriz:

Se evalúa esta matriz en el punto estacionario ( ), donde µ es un parámetro desconocido. Se considera el determinante de la matriz Δ, o sea |Δ|. Entonces, cada una de las (n-m) raíces reales del polinomio: |Δ|=0 Deben ser a) b)

Negativas si Positivas si

es un punto máximo. es un punto mínimo.

167

Ejemplo: Resuelva el siguiente problema no-lineal: Minimizar Sujeto a:

La función Lagrangiana es:

Las condiciones necesarias son entonces:

Las soluciones de este sistema de ecuaciones son (compruébelo): = (2, 2, 1, 1) = (2, -2, 1, 1) = (2.8, 0, 1.4, 1.4) La matriz Hessiana bordeada es en este caso:

En este caso m=1 y n=3. Se evaluarán los últimos (n-m) = 2 menores principales de , iniciando con el menor principal de orden 2m+1=3. Para cada punto estacionario, esto daría lo siguiente: a)

= (2, 2, 1, 1) evaluada en este punto es:

168

Introducción a la Modelación Matemática y Optimización

= 4(-8) = -32 < 0

= 4(2)

Como estos determinantes tienen el signo de puede concluir que = (2, 2, 1, 1) es un punto mínimo.

= -64 < 0

(negativo), entonces se

b) Para = (2, -2, 1, 1) se obtienen los mismos resultados que para el caso (a), y por lo tanto el punto es un mínimo (compruébelo) c) Para = (2.8, 0, 1.4, 1.4), es: d)

= 24220 =

48+2

>0

Como el punto = (2.8, 0, 1.4, 1.4) no satisface ninguna de las condiciones para un mínimo ó un máximo debe aplicarse las condiciones adicionales necesarias y suficientes:

El lector debe comprobar que para 1) se obtiene:

= (2, 2, 1, 1) y para

= (2, -2, 1,

169

Cuyas raíces son µ=2 y µ=8/9, ambas mayores que cero, reforzando el hecho de que ambos son puntos mínimos. Finalmente, para

= (2.8, 0, 1.4, 1.4) se obtiene:

Cuyas raíces son µ=2 y µ=-0.8, con lo que se concluye que este punto no es un punto extremo. Ejercicios 8.3 1) Resuelva: Minimizar Sujeto a:

2) Obtenga la solución óptima de: Minimizar

=

Sujeto a:

Donde C > 0. 3) Resuelva: Minimizar

=

Sujeto a: 4) Suponga que en cierto problema de producción de n artículos diferentes, los costos de producción son proporcionales al cuadrado de las unidades producidas. Suponga que todos los artículos son intercambiables y que se recibe una orden por una demanda total de D unidades. Determine qué cantidad de cada artículo debe producirse para satisfacer la demanda a costo total de producción mínimo.

170

Introducción a la Modelación Matemática y Optimización

8.2. PROBLEMAS CON DESIGUALDAD

RESTRICCIONES

DE

8.2.1. Las condiciones de Kuhn-Tucker Considérese el problema:

Las restricciones de desigualdad se convierten en igualdades sumando variables de holgura i=1, 2, …, m (Existen m restricciones de desigualdad) sean: S=

y

=

La función Lagrangiana está dada por:

Dadas las restricciones g( ) 0, una condición necesaria para optimizar es que sea no negativa (no positiva) para problemas de maximización (minimización). Ademas, tomando las derivadas parciales de L( , se obtiene:

Obsérvese que del conjunto (II) de ecuaciones, la interpretación de los multiplicadores de Lagrange es idéntica a la de los costos de oportunidad en PL: Si , entonces debe ser cero. Esto corresponde a un “recurso escaso”, y en consecuencia las restricción se cumple con igualdad. Ahora, si sobrante”.

, entonces

debe ser igual a cero, lo que corresponde a un “recurso

171

Por todo lo anterior, las condiciones necesarias de Kuhn Tucker para que un punto estacionario del problema de maximización son:

(

y

sea

)

El tercer conjunto de restricciones se deduce del (II) y (III) conjunto de restricciones de la página anterior y tiene exactamente el mismo significado de las ecuaciones -2 =0 . Las mismas condiciones ( ) se aplican a problemas de minimización, los dados no están restringidos en signo. Suficiencia de las condiciones de Kuhn-Tucker: La siguiente tabla muestra las condiciones bajo las cuales las condiciones de KT son también suficientes:

Sentido de la optimización Maximización Minimización

Condiciones requeridas Función objetivo Espacio solución Cóncava Conjunto Convexo Convexa Conjunto convexo

La siguiente lista de condiciones es más fácil de verificar que la anterior. El problema no-lineal generalizado se define entonces como: Maximizar (ó Minimizar) Z = Sujeto a

En este caso la función Lagrangiana es:

Donde

es el multiplicador de Lagrange asociado a la restricción i.

172

Introducción a la Modelación Matemática y Optimización

Las condiciones de suficiencia se presentan en la siguiente tabla. Estas no son exhaustivas, ya que otras funciones pueden satisfacer también las condiciones de suficiencia. Sentido de la optimización Maximización

Condiciones requeridas Cóncava

Convexa Cóncava

Minimización

Lineal Convexa

Convexa

Cóncava Lineal Ejemplo: Escriba las condiciones de KT para: Minimizar

= Sujeto a:

= = = = = Como este es un problema de minimización, entonces son: (

Las condiciones de KT

173

Estas condiciones conducen a:

La solución de este sistema es:

Como mínimo global.

es convexa y el espacio solución también, el punto resultante es un

Obsérvese la dificultad para resolver el sistema de ecuaciones resultante y la poca utilidad práctica de este método. Estas condiciones son útiles, sin embargo para el desarrollo de algoritmos de programación no-lineal. Ejercicio 8.4 Escriba las condiciones de KT para los siguientes problemas: a)

Maximizar Sujeto a:

b) Minimizar Sujeto a:

174

Introducción a la Modelación Matemática y Optimización

9. INTRODUCCIÓN A LAS TÉCNICAS DE BÚSQUEDA 9.1. MÉTODOS DE BÚSQUEDA DIRECTA Los métodos de búsqueda directa se aplican principalmente a funciones de una variable, lo cual es la base para su extensión a métodos de búsqueda multi-dimensional. En los métodos de búsqueda directa se optimizan funciones unimodales, o sea aquéllas que sólo presentan un óptimo (máximo o mínimo) en el intervalo de interés. El intervalo de interés se denomina intervalo de incertidumbre, y lo que busca el método de búsqueda directa es reducirlo hasta que sea tan pequeño como se desee. Existen diversos métodos de búsqueda directa. Algunos de éstos se expondrán a continuación.

9.2. MÉTODO DE BÚSQUEDA ALEATORIA La idea de la búsqueda aleatoria es muy sencilla. Si definimos el intervalo inicial de incertidumbre como [a,b], la lógica del método consiste en generar un gran número de números aleatorios entre a y b y guardar el mejor valor obtenido de la función. Dependiendo del número de números aleatorios generados, es más probable estar más cerca al óptimo real. Nótese que la ventaja de este método es que la función a optimizar no requiere ser unimodal. Su desventaja radica en el probable número muy grande de números aleatorios que deben generarse y en que al final del proceso no se conoce que tan cerca se puede estar del óptimo real, o sea que no se conoce el intervalo de incertidumbre final. Como puede observarse, este método es impráctico para búsqueda multi-dimensional, ya que el número de evaluaciones necesarias de la función crece exponencialmente de acuerdo a la dimensión del problema.

9.3. MÉTODO DE LA MALLA La idea de este método es muy simple, y consiste en dividir el intervalo inicial de incertidumbre [a,b] en n partes iguales y calcular la función para los (n+1) puntos, incluyendo los extremos. Se guarda entonces el mejor valor de la función objetivo (máximo o mínimo), y el intervalo de incertidumbre se reduce a:

Tomando los intervalos anterior y posterior al punto donde se obtuvo el mejor valor. Si el mejor valor de la función objetivo se obtiene en un extremo, entonces sólo se toma el sub-

175

intervalo anterior (ó posterior) al extremo dado. Se repite así el proceso con el nuevo intervalo de incertidumbre Δ, hasta donde sea necesario. El problema de este método es que puede perderse el valor óptimo si no se escoge n lo suficientemente grande al iniciar el proceso.

9.4. BÚSQUEDA DICOTÓMICA De acuerdo a Taha (1997), se busca maximizar una función unimodal f(x) sobre el intervalo a . Se subdivide el intervalo [a , b], escogiendo dos puntos simétricamente con respecto a a y b de modo que lo intervalos [a , ] y [ , b] se superpongan en una cantidad finita Δ: Δ

x1

x2

XL = a

XR = b a+b 2

Dado que la función f(x) es unimodal sobre el intervalo [a, b], se pueden presentar tres casos:

[a,

1) Si

, entonces x*= valor óptimo de x debe quedar en el intervalo

2) Si 3) Si

, entonces x* debe quedar en el intervalo [ , entonces x* debe quedar en el intervalo [

]. , b] , ]

El intervalo que no incluye a x* se descarta y se continua el proceso, subdividiendo el intervalo de incertidumbre resultante de la misma forma. El valor de Δ se escoge lo suficientemente pequeño, de tal forma que pueda descartarse aproximadamente la mitad del intervalo de incertidumbre en cada interacción. Ejemplo: Determine el mínimo de:

En el intervalo [0,5] Utilice Δ = 0.001 Para mayor facilidad, se construye la tabla de la página siguiente, donde se muestra cada iteración. Sea, en general: = Límite izquierdo del intervalo. = Límite derecho del intervalo.

176

Introducción a la Modelación Matemática y Optimización

, = Puntos intermedios para aplicar el método. Δ = Tolerancia a la solución Nótese que en general: ; El lector debe comprobar que en el intervalo considerado, f(x) es unimodal. ITER No 0 1 2 3 4 5 6 7 8 9 10 11 12 13

0 0 1.24975 1.24975 1.24975 1.24975 1.288804688 1.308332032 1.308332032 1.308332032 1.308332032 1.31077295 1.31077295 1.31138318

5 2.5005 2.5005 1.875625 1.5631875 1.40696875 1.327859375 1.327859375 1.327859375 1.319095704 1.314213868 1.314213868 1.311993409 1.312993409

2.4995 1.24975L 1.874625 1.5621875 1.40596875 1.327859375 1.288804688L 1.308332032L 1.318095704 1.313213868 1.31077295L 1.311993409 1.31138318L

2.5005R 21.35938 21.39063 1.25075 5.35961 5.358676 R 1.875625 8.3335272 8.345171 R 1.5631875 5.86457007 5.8690465 1.40696875R 5.40090202 5.40245366 1.328859375R 5.3317479 5.3320018 1.289804688 5.33408798 5.3337343 1.309332032 5.3299532 5.32989992 1.319095704R 5.33010099 5.33020048 1.314213868R 5.32984076 5.32986364 1.31177295 5.329850525 5.329835273 1.312993409R 5.32983401 5.329837814 1.31238318 5.329839632 5.329833635

Obsérvese que en la iteración No. 13 se puede escoger el punto medio del intervalo de incertidumbre [1.31138318, 1.312993409], el cual es x* 1.312188. Dado que Δ = 0.001, no se puede esperar una precisión mayor que Δ. El valor más exacto de este mínimo en [0, 5] es x*= 1.31224996

9.5. EL MÉTODO DEL GRADIENTE Este método se aplica a funciones de varias variables que sean diferenciables continuamente dos veces. La idea es generar puntos sucesivos en la dirección del gradiente de la función, hasta que éste se aproxime a cero, siendo ésta una condición necesaria para la optimización. La optimización no se puede verificar a menos que se conozca a priori que es cóncava ó convexa. Supóngase que se desea maximizar . Sea el punto inicial y ) el gradiente de f en el k-ésimo punto .La idea es determinar una trayectoria particular p a lo largo de la cual es máxima en un punto dado. Esto se logra seleccionando y tal que:

177

Donde

es un parámetro llamado tamaño optimo del paso.

El parámetro se determina de modo que de f. En otras palabras, si:

resulte en el mejoramiento más grande

entonces es el valor de r que maximiza a h(r). como h(r) es una función de una sola variable, las técnicas de búsqueda vistas anteriormente son muy útiles aquí, teniendo en cuenta que h(r) debe ser unimodal. El método termina cuando

Dado que

, ó equivalentemente cuando:

, la condición necesaria

se satisface en

.

Ejemplo: Max. Este ejercicio es sólo para ilustrar. El máximo global de

Se tiene que:

Primera iteración: Sea

= (1, 1) + r(-2,0) = (1-2r, 1)

h(r) = (1-2r, 1) = -2

Segunda iteración: Sea

=

+ r(0 , 1) =

ocurre en

. Sea

178

Introducción a la Modelación Matemática y Optimización

h(r) = -2

, obteniéndose

y

El lector debe comprobar que las siguientes iteraciones producen los resultados mostrados en la siguiente tabla: Iteración (K) 0

-1,1

(-2,0)

1

-

(0, 1)

2 3 4 5

Se decide parar el proceso en la iteración No. 5, ya que (0 , 0). El punto máximo aproximado es = (0.34375 , 1.3125), comparado con el optimo exacto * = Obviamente si el proceso continúa, cada vez se estará más cerca del óptimo exacto. La figura resume gráficamente el proceso.

2

Óptimo

3 2

1

1 2

1 2

1

3 2

2

179

Ejercicio 9.1 Aplique el método del gradiente al problema: Max

, donde:

A= = Considere

.

180

Introducción a la Modelación Matemática y Optimización

10. ALGUNAS APLICACIONES DE PROGRAMACION NO-LINEAL 10.1. PROGRAMACIÓN CUADRÁTICA Un modelo de programación cuadrática está definido como: Max(min) Z = CX +

DX

Sujeto a: AX AX Donde: X= C= ( b= A es una matriz m x n = D es una matriz cuadrada n x n La función de n variables donde la matriz D es simétrica.

DX es una forma cuadrática (Ver Taha pág. 825-826),

Para aplicar la teoría que se expone a continuación se necesita que:  D sea negativa definida para problemas de maximización (máx. de una f. cóncava).  D sea positiva definida para problemas de minimización (mín. de una f. convexa). Las restricciones AX son lineales y por lo tanto el epacio de solucion es convexo, con lo que se logra satisfacer las condiciones para un óptimo global. Considérese el siguiente problema: Maximizar Z = CX + G(X)=

X-

DX

0

Sean = U= (

AX

Los multiplicadores de Lagrange correspondientes a los dos conjuntos de restricciones yX , ó, equivalentemente, AX-b y –X respectivamente:

181

Aplicando las condiciones de Kuhn Tucker a este problema se obtiene:

Nótese que:

Sean: S=b-AX 0 Las variables de holgura de las restricciones. Las condiciones son entonces:

Como D es simétrica, entonces restricciones produce:

. Así, la transpuesta del primer conjunto de

Así, las condiciones necesarias se reducen a:

Nótese que excepto para las condiciones y =0, las demás ecuaciones son lineales en X, , u y S. O sea que el problema se reduce a resolver un conjunto de ecuaciones lineales satisfaciendo las condiciones adicionales y =0 . Como las condiciones de Kuhn Tucker son también suficientes en este caso, la solución factible que satisface todas estas condiciones tiene que ser la solución optima única.

182

Introducción a la Modelación Matemática y Optimización

Para resolver este sistema se utiliza la fase I del método de las dos fases, con la condición adicional =0 y . Esto se controla evitando que y sean positivas (básicas) simultáneamente, y que sean positivas (básicas) simultáneamente. Ejemplo: Maximizar Z = Sujeto a: ( Nótese primero que el óptimo no-restringido viola la restricción lineal.

*=

,

*=

no es factible ya que

Matricialmente, el problema puede reescribirse como: Max Z = Sujeto a: (1 , 2) (

+

2

Las condiciones de Kuhn Tucker vienen dadas como:

Para resolver estas ecuaciones se agregan dos variables artificiales y de tal forma que la submatriz idéntica de orden 3 aparezca en las condiciones de Kuhn Tucker:

183

Por lo tanto podemos resolver este sistema de ecuaciones simulando la función objetivo Min r =

+

Sujeto a las mismas restricciones. Se obtiene así el tablero inicial: 0

0

0

0

0

1

1

0 Ѳ

Var. Bás. ←

Nótese que

1 1 0

4

4

6 2

14

10

2 1

2 4 2

1 2 0

-1 0 0

0 -1 0

1 0 0

0 1 0

0 0 1

6

6

3

-1

-1

1

1

0

6

6

3

-1

-1

0

0

0

puede entrar a la base pues

4÷4 =1 6÷2= 3 2÷1 =2

= 0 (nó-básica). Luego el segundo tablero

es: 0

0

0

0

0

1

1

0 Ѳ

Var. Bás.

Iter. #2 ←

Iter . #3



0

0



-1

1

0

4÷3 = 1,3

0

0

1



3

-1

1

0

0

3

-1

0

0

1 0

0 0

0 -1

0 1

0

1

0

0

2

0

-1

0

1

-2

0

0

2

0

-1

-1

0

-2

1

0

0

0

0

1

0

1

0

0

0

0

0

0

0

0

0

0

0

0

-1

1

1

1

4

0

0

1

0

4

0

0 1

2

0 2 0

Fin Fas eI

0

0

0

1

0 0

3

2

0

0

0

0

-2

0

0

-1 0

=

÷

0

-

=2

0 0

=2

2÷2 = 1

184

Introducción a la Modelación Matemática y Optimización

Como se encontró una solución factible sin variables artificiales en la base, la solución óptima del problema original es: *=

,

*=

*= 4

Nótese que en la iteración # 2 pudo entrar a la base pues = 0 (nó-básica). Similarmente en la iteración No. 3 pudo entrar a la base porque era no-básica ( .

10.2. UN PROBLEMA DETERMINÍSTICOS

DE

INVENTARIOS

Considérese un problema clásico de inventarios (Problema de la cantidad optima de pedido ó EOQ), para el cual se tienen los siguientes parámetros y variables (ver Taha, Pág. 440): y= Cantidad de pedido (unidades) D= Demanda (Unidades / U. de tiempo) = Duración del ciclo de pedido (Unidades de tiempo) K = Costo de preparación de un pedido ($/pedido). h = Costo de almacenamiento ($/ unidad por cada unidad de tiempo) El costo total por unidad de tiempo viene dado por: CTU(y) = Costo de preparación por unidad de tiempo + costo de almacenamiento por unidad de tiempo. =

= Pero

= =

+

unidades de tiempo. Luego:

CTU(y)=

+

El valor óptimo y* se halla aplicando primero las condiciones necesarias: +

= 0 y* =

Nótese que las condiciones de suficiencia son:

185

Para que y* = =

, se obtiene: =

Por lo tanto, y* es un mínimo.

10.3. CANTIDAD ÓPTIMA DE PEDIDO CON LÍMITES DE ALMACENAMIENTO Este método trata con n>1 artículos, cada uno con comportamiento semejante al caso anterior. Ahora, los artículos compiten por un espacio limitado de almacenamiento. Para

1, 2, … , n, sean:

= Demanda = Costo de preparación = Costo de manejo / unidad por unidad de tiempo = Cantidad de pedido = Requerimiento de área (o volumen) de almacenamiento por cada unidad en inventario A = Area (ó volumen) máximo de almacenamiento disponible para todos los n artículos. Si se supone que no hay faltantes (“backorders”), el modelo matemático sería el siguiente:

Sujeto a:

El problema se resuelve ignorando la restricción de almacenamiento, en primera instancia. Así: *=

; i= 1,2,…, n

186

Introducción a la Modelación Matemática y Optimización

Si los valores óptimos * (nó-restringidos) satisfacen la restricción de almacenamiento, la solución actual es óptima. De lo contrario, la restricción de almacenamiento debe satisfacerse como igualdad y así la técnica de los multiplicadores de Lagrange es aplicable. La función Lagrangiana es la siguiente: L(

=

Recuérdese de las condiciones de Kuhn Tucker que en este caso para minimización, <0. Además, como CTU ( es convexa, y el problema tiene una sola restricción lineal, el óptimo obtenido es un mínimo global. Las condiciones necesarias son:

De la primera ecuación se obtiene: *= Obsérvese que para la solución =0 coincide con el problema no-restringido. Dado que <0, se puede resolver el problema por ensayo y error, hasta satisfacer la ecuación de almacenamiento. Ejemplo: Se tienen los siguientes datos parta tres artículos en inventario: Artículo i 1 2 3

($/pedido) 10 5 15

(u/día) 2 4 4

Área total de almacenamiento = 25 pies2 La solución no-restringida dará lo siguiente:

($/u. día) 0,3 0,1 0,2

(pies2/u. día) 1 1 1

187

*=

=

*=

=

*=

=

= 11.55 Unidades = 20.00 Unidades = 24.49 Unidades

Esta solución obviamente no satisface la restricción de almacenamiento: (1)

+ (1)

+ (1)

25

Por lo tanto, debe buscarse la solución en función del

, así:

0 -0.1

11.55 8.94

20 11.55

24.49 17.32

31.04 12,81

-0.3 -0.4

3.67 6.03

7.56 6.67

12,25 10.95

1.48 -1.35

El proceso de búsqueda se puede refinar, obteniéndose lo siguiente:

-0.344 -0.345 -0.346 -0.347 -0.348

6.360 6.356 3.350 6.3436 6.3372

7.12 7.116 7.107 7.0977 7.0888

11.62 11.612 11.599 11.5857 11.5728

O sea que el valor de = 0.348 es aceptable, obteniéndose: * = 6.337 unidades * = 7.089 unidades * = 11.573 unidades

0.1 0.084 0.056 0.027 -0.0012

188

Introducción a la Modelación Matemática y Optimización

Ejercicio 10.1 Resuelva los siguientes problemas del libro de Taha: 1) Serie de problemas 20.2a (Pág 750-751): No. 2 y 3 2) Serie de problemas 20.3c (Pág 770-771): No. 2. Resuelva además el siguiente problema:

Sujeto a:

Donde C es una constante > 0. 3) Serie de problemas 20.3d (Pág 777-779); No. 3. 4) Serie de problemas 21.1b (Pág 786-787): No. 2(b). 5) Serie de problemas 21.2b (Pág 801): No. 2. 6) Serie de problemas 11.3c (Pág 451-452): No. 3. Nota: Utilice los resultados del problema No. 4 para aproximar a .

189

11. ANEXO 1: EL PROBLEMA DE LA BAUXITA Una compañía multinacional de aluminio tiene depósitos de bauxita (materia prima) en tres lugares del mundo A, B y C. Tiene además cuatro plantas donde la bauxita se convierte en alúmina (un producto intermedio), en lugares B, C, D y E. También tiene plantas de esmaltado en los lugares D y E. El proceso de conversión de la bauxita en alúmina es relativamente poco costoso. El esmaltado, sin embargo, es costoso puesto que se requiere de un equipo electrónico especial. Una tonelada de alúmina produce 0.4 toneladas de aluminio terminado. Los datos siguientes están disponibles:

Minas de bauxita

Costo de explotación ($/ton.) 420 360 540

A B C

Capacidad anual de bauxita (ton.) 36,000 52,000 28,000

Rendimiento de alúmina 6.0% 8.0% 6.2%

Conversión de Bauxita en Alúmina:

Planta

Costo Producción ($/ton alúmina)

B C D E

330 320 380 240

Capacidad anual procesamiento de bauxita (ton/año) 40,000 20,000 30,000 80,000

Costo fijo anual de la planta de alúmina ($/año) $ 3,000,000 $ 2,500,000 $ 4,800,000 $ 6,000,000

Proceso de Esmaltado: Planta D E

Costo Procesamiento ($/ton alúmina) 8,500 5,200

Capacidad anual procesamiento de Alúmina (ton/año) 4,000 7,000

Las ventas anuales de aluminio terminado son de 1,000 ton en la planta D y de 1,200 ton en la planta E.

190

Introducción a la Modelación Matemática y Optimización

Costos de transporte en $/ton de bauxita: DE

i =

HACIA j = A B C

B 1 400 10 1,630

1 2 3

C 2 2,010 630 10

D 3 510 220 620

D 1 220 620 0 1,465

E 2 1,510 940 1,615 0

E 4 1,920 1,510 940

Costos de transporte de la alúmina, en $/ton de alúmina: DE

j =

HACIA k = B C D E

1 2 3 4 Wj

Xij

B Yjk

A C

D

D

E

B

C

A l u m i n i o

T e r m i n a d o

E Minas de Bauxita

Plantas de Alúmina

Plantas de Esmaltado

Figura 1. Cadena de abastecimiento de la bauxita Los lingotes de producto terminado no se transportan entre D y E y viceversa. Formule y resuelva un modelo de optimización para determinar la mejor configuración y diseño de la cadena de abastecimiento presentada. Note que existe el problema de determinar cuáles plantas de alúmina deben ser abiertas. La Figura 1 muestra la cadena de abastecimiento bajo análisis. Para formular el modelo en la forma tradicional, se plantean entonces las siguientes variables de decisión. Note que se trata de una formulación de arco y que las variables Xij y Yjk no representan el mismo tipo de producto, lo que complicaría o imposibilitaría una formulación de ruta.

191

Variables de Decisión Xij

=

Ton/año de bauxita a transportar desde la mina i hacia la planta de alúmina j; i = A, B, C; j = B, C, D, E.

Yjk

=

Ton/año de alúmina a transportar desde la planta de alúmina j hacia la planta de esmaltado k; j = B, C, D, E; k = D, E.

Wj

=

1, si la planta de alúmina j se abre o permanece abierta; 0, de lo contrario; j = B, C, D, E.

Función Objetivo Minimizar Costo Total Anual

= Costo anual de explotación de bauxita + Costo anual de producción de alúmina + Costo anual de procesamiento de alúmina en las plantas de esmaltado + Costo anual de transporte de bauxita desde las minas hacia las plantas de alúmina + Costo anual de transporte de alúmina desde las plantas de alúmina hacia las plantas de esmaltado + Costo fijo anual de las plantas de alúmina

Costo anual de explotación de bauxita ($/año):

Mina A : 420( X AB  X AC  X AD  X AE ) Mina B : 360( X BB  X BC  X BD  X BE ) Mina C : 540( X CB  X CC  X CD  X CE )

Costo anual de producción de alúmina ($/año):

Planta B : 330(YBD  YBE ) Planta C : 320(YCD  YCE ) Planta D : 380(YDD  YDE ) Planta E : 240(YED  YEE )

192

Introducción a la Modelación Matemática y Optimización

Costo anual de procesamiento de alúmina en las plantas de esmaltado ($/año):

Planta D : 8,500(YBD  YCD  YDD  YED ) Planta E : 5,200(YBE  YCE  YDE  YEE ) Costo anual de transporte de bauxita desde las minas de bauxita hacia las plantas de alúmina ($/año):

Desde la mina A : 400 X AB  2,010 X AC  510 X AD  1,920 X AE Desde la mina B : 10 X BB  630 X BC  220 X BD  1,510 X BE Desde la mina C : 1,630 X CB  10 X CC  620 X CD  940 X CE Costo anual de transporte de alúmina desde las plantas de alúmina hacia las plantas de esmaltado ($/año):

Hacia la planta D : 220YBD  620YCD  1,465YED Hacia la planta E : 1,510YBE  940YCE  1,615YDE Costo fijo anual de las plantas de alúmina ($/año):

Planta B : 3,000,000WB Planta C : 2,500,000WC Planta D : 4,800,000WD Planta E : 6,000,000WE Restricciones 1) Por capacidad anual de explotación de bauxita en cada mina (Ton de bauxita/año):

Mina A : X AB  X AC  X AD  X AE  36,000 Mina B : X BB  X BC  X BD  X BE  52,000 Mina C : X CB  X CC  X CD  X CE  28,000 Estas restricciones expresan que todo el flujo anual de bauxita que sale de cada mina no puede exceder su capacidad anual de explotación. Note que aquí no hay decisiones de cierre de minas involucradas, es decir, que se asume que las minas siempre van a estar abiertas.

193

2) Por capacidad anual de procesamiento de bauxita en cada planta de alúmina (Ton de bauxita/año):

Planta B : X AB  X BB  X CB  40,000WB Planta C : X AC  X BC  X CC  20,000WC Planta D : X AD  X BD  X CD  30,000WD Planta E : X AE  X BE  X CE  80,000WE Estas restricciones aseguran que no se puede recibir flujo alguno de bauxita desde las minas, si la planta de alúmina destino no ha sido abierta. Las restricciones han sido formuladas de acuerdo con la capacidad de cada planta de alúmina de procesar la bauxita entrante. Otra forma en la que estas restricciones podrían escribirse es de acuerdo con la capacidad de cada planta de alúmina de producir alúmina saliente. Sin embargo, la información dada en el problema no permite formularlas de esta forma. Este ejemplo es útil para ilustrar que las restricciones de capacidad en una planta productora pueden escribirse con base en las materias primas entrantes o también con base en los productos terminados salientes. En el caso de los ingenios azucareros, para ilustrar con otro ejemplo, podríamos escribir las restricciones de capacidad de procesamiento de la caña de azúcar que llega al ingenio o podríamos definir las restricciones con base en la capacidad de producción de azúcar. Obsérvese finalmente que las anteriores restricciones, en combinación con el conjunto de restricciones (5) descrito más adelante, aseguran que no se puede despachar cantidad alguna de alúmina hacia las plantas de esmaltado, si la planta origen no ha sido abierta, completando así la lógica del modelo. 3) Por capacidad anual de procesamiento de alúmina en cada planta de esmaltado (Ton de alúmina/año):

Planta D : YBD  YCD  YDD  YED  4,000 Planta E : YBE  YCE  YDE  YEE  7,000 Estas restricciones expresan que todo el flujo anual de alúmina que llega a cada planta de esmaltado no puede exceder su capacidad anual de procesamiento de alúmina. De nuevo, son restricciones de capacidad dadas por la materia prima entrante a la planta. 4) Por ventas anuales de aluminio terminado en cada planta de esmaltado (Ton de aluminio terminado/año):

Planta D : 0.4(YBD  YCD  YDD  YED )  1,000 Planta E : 0.4(YBE  YCE  YDE  YEE )  1,200 Estas restricciones aseguran que la demanda anual proyectada en cada planta de esmaltado se va a satisfacer en forma total. Nótese que se aplica el factor de rendimiento de alúmina en aluminio terminado (0.4 toneladas de aluminio terminado por cada tonelada de alúmina). Esta relación sencilla permite en este modelo no formular variables adicionales para el aluminio

194

Introducción a la Modelación Matemática y Optimización

terminado. En extensiones de este modelo, tal como la planteada en el Problema No. 1 de los Ejercicios 12.1, es probable que se requieran formular variables de decisión adicionales. 5) Por balance de masa en cada una de las plantas de alúmina:

Planta B : 0.060 X AB  0.080 X BB  0.062 X CB  YBD  YBE Planta C : 0.060 X AC  0.080 X BC  0.062 X CC  YCD  YCE Planta D : 0.060 X AD  0.080 X BD  0.062 X CD  YDD  YDE Planta E : 0.060 X AE  0.080 X BE  0.062 X CE  YED  YEE Estas restricciones aseguran que la cantidad anual de bauxita que entra a cada planta de alúmina, afectada por su correspondiente rendimiento para producir alúmina, es igual a la cantidad anual de alúmina que sale de dicha planta hacia las plantas de esmaltado. Al formular estas restricciones se asume, por una parte, la linealidad del proceso de transformación de bauxita en alúmina y, por la otra, que no hay diferenciación de calidad de la alúmina saliente. En la práctica, es posible que las cosas no sean así de sencillas y que cada materia prima tenga calidad diferente y produzca diferentes calidades de un mismo producto terminado. 6) Por límites en los valores de cada una de las variables (restricciones obvias):

X ij  0 i, j Y jk  0 j , k

W j  0, 1 j El modelo matemático para resolver el problema planteado comprende entonces minimizar la función objetivo, sujeto a las restricciones anteriormente enunciadas. Al simplificar la función objetivo y las restricciones, se obtiene el siguiente modelo de programación lineal mixta:

M inimizar Costo Total Anual (CTA)  820 X AB  2430 X AC  930 X AD  2340 X AE  370 X BB  990 X BC  580 X BD  1870 X BE  2170 X CB  550 X CC  1160 X CD  1480 X CE  9050YBD  7040YBE  9440YCD  6460YCE  8880YDD  7195YDE  10205YED  5440YEE  3,000,000WB  2,500,000WC  4,800,000WD  6,000,000WE Sujeto a:

X AB  X AC  X AD  X AE  36,000 X BB  X BC  X BD  X BE  52,000 X CB  X CC  X CD  X CE  28,000

195

X AB  X BB  X CB  40,000WB  0 X AC  X BC  X CC  20,000WC  0 X AD  X BD  X CD  30,000WD  0 X AE  X BE  X CE  80,000WE  0

YBD  YCD  YDD  YED  4,000 YBE  YCE  YDE  YEE  7,000 0.4(YBD  YCD  YDD  YED )  1,000 0.4(YBE  YCE  YDE  YEE )  1,200 0.060 X AB  0.080 X BB  0.062 X CB  YBD  YBE  0 0.060 X AC  0.080 X BC  0.062 X CC  YCD  YCE  0 0.060 X AD  0.080 X BD  0.062 X CD  YDD  YDE  0 0.060 X AE  0.080 X BE  0.062 X CE  YED  YEE  0

X ij  0 i, j Y jk  0 j , k

W j  0, 1 j Este modelo contiene 24 variables de decisión, de las cuales 4 son binarias y el resto son continuas, y 15 restricciones (sin incluir las restricciones obvias). Los modelos matemáticos de cadenas de abastecimiento internacionales que se formulan en la práctica pueden contener decenas o cientos de miles de variables con decenas o cientos de miles de restricciones, llegando incluso a millones de ellas. La dificultad para su solución eficiente depende principalmente del número de variables enteras (binarias) involucradas en el modelo y de su estructura. Solución del modelo por solver de Excel™ La solución de este modelo puede encontrarse con la ayuda de software comercial especial para ello, mediante el solver de Excel™ o incluso mediante un software más especializado como AMPL, a pesar de tratarse de un modelo pequeño. La hoja electrónica que resuelve este modelo se muestra en la Figura 2. En general, cualquier modelo de programación lineal entera-mixta relativamente pequeño (por ejemplo, con un máximo de 240 celdas variables) se puede resolver en formatos parecidos a los que se presentan en la figura mencionada.

196

Introducción a la Modelación Matemática y Optimización

Figura 2. Hoja electrónica para la solución del problema de la bauxita

La función objetivo, celda C35 en la Figura 2, se desarrolla con la función SUMAPRODUCTO, calculando el producto escalar entre la columna de coeficientes de la función objetivo (celdas C10 a C33) y la columna de celdas cambiantes que corresponde a las variables de decisión (celdas B10 a B33). Cada una de las restricciones se puede transformar dejando las variables de decisión al lado izquierdo de la desigualdad o de la ecuación y al lado derecho de éstas el término constante. Así, cada restricción se puede escribir como una columna (columnas D a la R), con cada uno de los coeficientes diferentes de cero al frente de la variable correspondiente. En una fila aparte (celdas D37 a R37), se utiliza de nuevo la función SUMAPRODUCTO para calcular el valor de cada restricción de acuerdo con los valores que tomen las variables del modelo. En otra fila (celdas D38 a R38), se copian los términos del lado derecho del modelo, o sea los recursos, demandas, etc. Para algunas restricciones, como las de balance y las de capacidad con variables binarias como las de las plantas de alúmina, este término del lado derecho puede ser igual a cero. Finalmente, si se desea, en otra fila (celdas D39 a R39) se puede calcular la diferencia entre el término del lado derecho y el correspondiente valor de cada restricción, obteniéndose así los recursos sobrantes, los excesos, demandas insatisfechas, ceros en las ecuaciones de balance, etc., según sea el caso. Con el modelo ya estructurado, se pasa a encontrar la solución mediante el solver. En este caso, la ventana del solver luce como se muestra en la Figura 3.

Figura 3. Ventana del solver para resolver el modelo La celda objetivo corresponde a la celda del costo total $C$35. Las celdas cambiantes son todas las variables de decisión, incluyendo todos los flujos (celdas B10 a la B29, es decir, las variables Xij y Yjk) y las variables binarias de apertura de las plantas de alúmina (celdas B30 a la B33, es decir, las variables Wj). Las restricciones corresponden primero a aquéllas que son de desigualdad de  correspondientes a las capacidades de las minas de bauxita, las plantas de alúmina y las plantas de esmaltado (columnas D a la L). Obsérvese que estas restricciones se pueden escribir en forma compacta mediante la expresión $D$37:$L$37  $D$38:$L$38, lo que

198

Introducción a la Modelación Matemática y Optimización

significa que está tomando el valor de cada una de estas nueve restricciones y lo está haciendo menor al recurso disponible en cada caso. El segundo grupo de restricciones hay que escribirlo aparte porque son restricciones de igualdad y corresponden a las dos de demanda de aluminio terminado, la cual se va a satisfacer exactamente, y a las cuatro de balance que por su naturaleza siempre son igualdades (éstas corresponden a la expresión $M$37:$R$37  $M$38:$R$38 de las restricciones del solver). Al solver se le debe decir cuáles de las variables o celdas cambiantes son binarias. Para este efecto se tiene la expresión Apertura = binario en solver. Nótese que aquí no aparecen las referencias de las celdas, ya que se ha utilizado, para ilustrar, la definición de un „nombre‟ en Excel y se han bautizado las celdas B30 a B33 correspondientes a las variables binarias de apertura de plantas de alúmina con el nombre de “Apertura”. Esto no es necesario hacerlo, pero muchas veces es conveniente para efectos de identificación y fácil recordación de las variables. El resto de variables o celdas cambiantes, por defecto, las tomará reales mayores ó iguales que cero (aunque debe tenerse cuidado de que esto en realidad esté definido así en la ventana que se abre al pulsar las „Opciones…‟ de la ventana del solver). Finalmente, cuando se le da el comando „Resolver‟ al solver, se obtiene entonces la solución óptima mostrada en la Figura 2 anterior. Análisis de la solución óptima obtenida

40,000

A

B

1,666.7

1,760

C B

D

1,000

E

1,200

1,240

12,000

D C

1,440

1,060

20,000

A l u m i n i o

T e r m i n a d o

E Minas de Bauxita

Plantas de Alúmina

Plantas de Esmaltado

Figura 4. Solución óptima del problema de la bauxita El valor de la función objetivo indica que el costo total de logística mínimo es de 87,455,600 $/año. Este costo incluye los costos de explotación y producción, los costos de transporte y los costos fijos. Esto se logra abriendo las plantas de alúmina ubicadas en B, C y D (variables binarias WB = WC = WD = 1) y cerrando la planta ubicada en E (variable binaria WE = 0), la

199

cual al parecer es una planta muy ineficiente, tiene un costo fijo muy alto y/o tiene problemas de localización. Los flujos óptimos son los que se muestran en las celdas B10 a B29 de la Figura 2, ilustrados en forma gráfica en la Figura 4. Se sugiere al lector comprobar que los balances de flujo tanto en las plantas de alúmina como en las plantas de esmaltado se cumplen. En cuanto a los recursos sobrantes es importante notar que la mina A apenas está siendo explotada en un 4.63% de su capacidad (1,667 de 36,000 ton/año disponibles). Muy probablemente análisis adicionales pueden revelar que debería considerarse el cierre de esta mina o la redistribución de su materia prima. Además, su bauxita es la de menor calidad de acuerdo con su rendimiento de alúmina. En cuanto a las plantas de alúmina abiertas, la B y la C trabajan al 100% de su capacidad y la D tiene una capacidad sobrante del 54.44% (sobran 16,333 ton/año de capacidad de las 30,000 disponibles). Las plantas de esmaltado también están trabajando holgadamente: La planta D trabaja al 62.5 % de su capacidad y la E al 42.86%.

Algunos análisis de sensibilidad Se sugiere al lector comprobar que los siguientes análisis de sensibilidad son correctos: 1. Si se obliga a la planta de alúmina E a estar abierta: Se abren todas las plantas, pero no se produce nada en la planta de alúmina E. Simplemente se paga su costo fijo y el costo total anual asciende a 93,455,600 $/año. 2. Si sólo se abren las plantas de alúmina B y C, el problema no tiene solución factible alguna. 3. Si sólo se abren las plantas de alúmina B, C y E, se obtiene una solución óptima con un costo mínimo de 103,457,000 $/año y en este caso la planta E sí debe producir para lograr suplir la demanda de aluminio terminado. 4. Si se cierra la mina A, entonces el nuevo costo total de logística mínimo sería igual a 87,776,568 $/año, es decir tan sólo un 0.367% mayor que el obtenido inicialmente. Muy probablemente los costos fijos de explotación de la mina A son mayores que este incremento de costo total y ello sugiera el cierre de esta mina. Obviamente, una análisis más profundo es necesario aquí, pues el cierre de cualquier instalación siempre debe analizarse integralmente considerando todos los impactos que se pudieran producir.

Solución del modelo por AMPL y por Internet en el NEOS Server El modelo en AMPL para este problema es el siguiente:

200

Introducción a la Modelación Matemática y Optimización

# MODELO EN AMPL CORRESPONDIENTE AL PROBLEMA DE LA BAUXITA # CONJUNTOS PRINCIPALES set MINAS; # Conjunto de minas de bauxita indexado por i set PLALU; # Conjunto de plantas de alúmina indexado por j set PLESM; # Conjunto de plantas de esmaltado indexado por k # PARÁMETROS param capal_es{k in PLESM} >= 0; # Capacidad de procesamiento de esmaltado k # (Ton de alúmina/año)

alúmina

en

la

planta

de

param capb_al{j in PLALU} >= 0; # Capacidad de procesamiento de bauxita en la planta de alúmina j # (Ton de bauxita/año) param capbaux{i in MINAS} >= 0; # Capacidad de explotación de bauxita de la mina i (Ton de bauxita/año) param cexp{i in MINAS} >= 0; # Costo de explotación de la mina i ($/Ton de bauxita) param cfijo{j in PLALU} >= 0; # Costo fijo de la planta de alúmina j ($/año) param cpal{j in PLALU} >= 0; # Costo de producción de alúmina en la planta de alúmina j # ($/Ton de alúmina) param cpes{k in PLESM} >= 0; # Costo de procesamiento de la alúmina para producir aluminio # terminado en la planta de esmaltado k ($/Ton de alúmina) param ctran_al{j in PLALU, k in PLESM} >= 0; # Costo de transporte de alúmina desde la planta de alúmina j hacia # la planta de esmaltado k ($/Ton de alúmina) param ctran_b{i in MINAS, j in PLALU} >= 0; # Costo de transporte de bauxita desde la mina de bauxita i hacia # la planta de alúmina j ($/Ton de bauxita)

201

param demanda{k in PLESM} >= 0; # Demanda de aluminio terminado en la planta de esmaltado k # (Ton de aluminio terminado/año param rendal{i in MINAS} >= 0; # Rendimiento de alúmina de la bauxita extraída de la mina i # (Ton de alúmina/Ton de bauxita) param rendim >= 0; # Rendimiento de alúmina para producir aluminio terminado # (Ton de aluminio terminado/Ton de alúmina)

# VARIABLES DE DECISIÓN var x{i in MINAS, j in PLALU} >= 0; # Ton de bauxita/año a explotar en la mina i # y a transportar a la planta de alúmina j (Ton de bauxita/año) var y{j in PLALU, k in PLESM} >= 0; # Ton de alúmina/año a producir en la planta de alúmina j # y a transportar a la planta de esmaltado k (Ton alúmina/año)

de

var w{j in PLALU} binary; # Variable binaria = 1 si la pl. de alúmina j se abre, = 0 de lo contrario # FUNCIÓN OBJETIVO minimize costo_total: # ($/año) sum{i in MINAS, j in PLALU} (cexp[i]*x[i,j]) # Costo anual de explotación de bauxita + sum{j in PLALU, k in PLESM} (cpal[j]*y[j,k]) # Costo anual de producción de alúmina + sum{j in PLALU, k in PLESM} (cpes[k]*y[j,k]) # Costo anual de procesamiento de alúmina en las plantas de esmaltado + sum{i in MINAS, j in PLALU} (ctran_b[i,j]*x[i,j]) # Costo anual de transporte de bauxita desde las minas hacia # las plantas de alúmina

202

Introducción a la Modelación Matemática y Optimización

+ sum{j in PLALU, k in PLESM } (ctran_al[j,k]*y[j,k]) # Costo anual de transporte de alúmina desde las plantas de alúmina # hacia las plantas de esmaltado + sum{j in PLALU} (cfijo[j]*w[j]); # Costo anual fijo de las plantas de alúmina # RESTRICCIONES # Por capacidad anual de explotación de bauxita en cada mina # (Ton de bauxita/año): subject to cap_exp{i in MINAS}: sum{j in PLALU} (x[i,j]) <= capbaux[i]; # Por capacidad anual planta de alúmina # (Ton de bauxita/año):

de

procesamiento

de

bauxita

en

cada

subject to cap_prodal{j in PLALU}: sum{i in MINAS} (x[i,j]) <= capb_al[j]*w[j]; # Por capacidad anual de procesamiento de alúmina # en cada planta de aluminio terminado # (Ton de alúmina/año): subject to cap_procal{k in PLESM}: sum{j in PLALU} (y[j,k]) <= capal_es [k]; # Por demanda (ventas) de aluminio terminado # en cada planta de esmaltado # (Ton de aluminio terminado/año): subject to demand_es{k in PLESM}: sum{j in PLALU} (rendim*y[j,k]) = demanda[k]; # Por balance de masa en cada planta de alúmina subject to balance{j in PLALU}: sum{i in MINAS} (rendal[i]*x[i,j]) = sum{k in PLESM} (y[j,k]); # Restricciones de configuración para análisis de sensibilidad: # subject to pl_abierta_b: # w["B"] = 1;

203

# subject to pl_abierta_c: # w["C"] = 1; # subject to pl_abierta_d: # w["D"] = 1; # subject to pl_abierta_e: # w["E"] = 1; El archivo de datos correspondiente al modelo anterior y de acuerdo con la información dada al comienzo de este ejemplo es el siguiente: # CONJUNTO DE DATOS EN AMPL CORRESPONDIENTE AL PROBLEMA DE LA BAUXITA # CONJUNTOS PRINCIPALES set MINAS:= A B C; set PLALU:= B C D E; set PLESM:= D E; # PARÁMETROS # Capacidad de procesamiento esmaltado k # (Ton de alúmina/año):

de

alúmina

en

la

planta

de

param capal_es:= D 4000 E 7000; # Capacidad de procesamiento de bauxita en la planta de alúmina j # (Ton de bauxita/año): param capb_al:= B 40000 C 20000 D 30000 E 80000; # Capacidad de explotación de bauxita de la mina i # (Ton de bauxita/año): param capbaux:= A 36000 B 52000 C 28000; # Costo de explotación de la mina i # ($/Ton de bauxita): param cexp:= A 420 B 360 C 540;

204

Introducción a la Modelación Matemática y Optimización

# Costo fijo de la planta de alúmina j # ($/año): param cfijo:= B 3000000 C 2500000 D 4800000 E 6000000; # Costo de producción de alúmina en la planta de alúmina j # ($/Ton de alúmina). param cpal:= B 330 C 320 D 380 E 240; # Costo de procesamiento de la alúmina para producir aluminio # terminado en la planta de esmaltado k # ($/Ton de alúmina): param cpes:= D 8500 E 5200; # Costo de transporte de alúmina desde la planta de alúmina j hacia # la planta de esmaltado k # ($/Ton de alúmina): param ctran_al: B C D E

D 220 620 0 1465

E

:=

1510 940 1615 0;

# Costo de transporte de bauxita desde la mina de bauxita i hacia # la planta de alúmina j # ($/Ton de bauxita): param ctran_b: A B C

B

C

D

400 10 1630

2010 630 10

510 220 620

E

:=

1920 1510 940;

# Demanda de aluminio terminado en la planta de esmaltado k # (Ton de aluminio terminado/año): param demanda:= D 1000 E 1200;

205

# Rendimiento de alúmina de la bauxita extraída de la mina i # (Ton de alúmina/Ton de bauxita): param rendal:= A 0.060 B 0.080 C 0.062; # Rendimiento de alúmina para producir aluminio terminado # (Ton de aluminio terminado/Ton de alúmina): param rendim:= 0.4; Finalmente, el archivo de comandos es el siguiente: # COMANDOS EN AMPL PROBLEMA DE LA BAUXITA PARA CORRER EN NEOS POR INTERNET # COMANDOS DE INICIALIZACIÓN DE CONDICIONES: option option option option option option option

show_stats 1; solution_precision 0; omit_zero_rows 1; omit_zero_cols 1; display_precision 6; display_round 1; display_width 50;

# COMANDO DE SOLUCIÓN: solve; # COMANDOS DE IMPRESIÓN DE RESULTADOS: printf "\n\n*************************************\n"; printf "RESULTADOS DEL PROBLEMA DE LA BAUXITA\n"; printf "*************************************\n\n"; printf "\nCOSTO TOTAL = \t%9.1f", costo_total; printf "\n\nCONFIGURACION ABIERTAS) =\n\n"; display w;

DEL

SISTEMA

(PLANTAS

DE

ALUMINA

printf "\nFLUJO DE BAUXITA DESDE MINAS HACIA PLANTAS DE ALUMINA =\n\n"; display x; printf "\nFLUJO DE ALUMINA PLANTAS DE ESMALTADO =\n\n"; display y;

DESDE

PLANTAS

DE

ALUMINA

HACIA

206

Introducción a la Modelación Matemática y Optimización

printf "\nCAPACIDAD SOBRANTE EN MINAS DE BAUXITA =\n\n"; display cap_exp.slack; printf "\nPRECIOS SOMBRA DE MINAS DE BAUXITA =\n\n"; display cap_exp; printf "\nCAPACIDAD SOBRANTE EN PLANTAS DE ALUMINA =\n\n"; display cap_prodal.slack; printf "\nPRECIOS SOMBRA DE PLANTAS DE ALUMINA =\n\n"; display cap_prodal; printf "\nCAPACIDAD SOBRANTE EN PLANTAS DE ESMALTADO =\n\n"; display cap_proc_alu.slack; printf "\nPRECIOS SOMBRA DE PLANTAS DE ESMALTADO =\n\n"; display cap_proc_alu; Los resultados que se obtienen con el anterior archivo de comandos son los siguientes, los cuales coinciden totalmente con lo que ya habíamos encontrado anteriormente: ************************************* RESULTADOS DEL PROBLEMA DE LA BAUXITA ************************************* COSTO TOTAL =

87455600.0

CONFIGURACION DEL SISTEMA (PLANTAS DE ALUMINA ABIERTAS) = w [*] := B 1.0 C 1.0 D 1.0 FLUJO DE BAUXITA DESDE MINAS HACIA PLANTAS DE ALUMINA = x A B B C

:= D B D C

1666.7 40000.0 12000.0 20000.0

207

FLUJO DE ALUMINA DESDE PLANTAS DE ALUMINA HACIA PLANTAS DE ESMALTADO = y B B C D

:= D E E D

1440.0 1760.0 1240.0 1060.0

CAPACIDAD SOBRANTE EN MINAS DE BAUXITA = cap_exp.slack [*] := A 34333.3 C 8000.0 PRECIOS SOMBRA DE MINAS DE BAUXITA = cap_exp [*] := B -660.0 CAPACIDAD SOBRANTE EN PLANTAS DE ALUMINA = cap_prodal.slack [*] := D 16333.3 PRECIOS SOMBRA DE PLANTAS DE ALUMINA = cap_prodal [*] := B -196.4 C -436.4 CAPACIDAD SOBRANTE EN PLANTAS DE ESMALTADO = cap_proc_alu.slack [*] := D 1500.0 E 4000.0

ALGUNOS ANÁLISIS DE LA SOLUCIÓN ÓPTIMA: 1.

CAPACIDAD ANUAL DE LAS MINAS:

Mina A: Sólo se utilizan 1,666.67 ton/año de las 36,000 ton/año disponibles. Mina B: Se utiliza a la máxima capacidad de 52,000 ton/año. Mina C: Sólo se utilizan 20,000 ton/año de las 28,000 ton/año disponibles.

208

2.

Introducción a la Modelación Matemática y Optimización

CAPACIDAD ANUAL DE PROCESAMIENTO DE BAUXITA EN LAS PLANTAS DE ALÚMINA:

Planta B: Se utiliza a la máxima capacidad de 40,000 ton de bauxita/año. Planta C: Se utiliza a la máxima capacidad de 20,000 ton de bauxita/año. Planta D: Sólo se utilizan 13,666.67 ton/año de las 30,000 disponibles. Planta E: No se abre. 3.

CAPACIDAD ANUAL DE PROCESAMIENTO DE ALÚMINA EN LAS PLANTAS DE ESMALTADO:

Planta D: Sólo se utilizan 2,500 ton/año de las 4,000 ton/año disponibles. Planta E: Sólo se utilizan 3,000 ton/año de las 7,000 ton/año disponibles. 4.

BALANCE DE MASA EN LAS PLANTAS DE ALÚMINA:

Verificar que éstas se cumplen exactamente.

ALGUNOS ANÁLISIS DE SENSIBILIDAD: 5.

Si se obliga a la planta de alúmina E a estar abierta: Se abren todas las plantas, pero no se produce nada en la planta de alúmina E. Simplemente se paga su costo fijo y el costo total anual asciende a 93,455,600 $/año.

6.

Si sólo se abren las plantas B y C, el problema no tiene ninguna solución factible.

7.

Si sólo se abren las plantas B, C y E, se obtiene una solución óptima con un costo mínimo de 103,457,000 $/año.

Se sugiere al lector realizar otros análisis de sensibilidad.

209

12. ANEXO 2: EL PROBLEMA DEL TRANSPORTE E INTRODUCCIÓN A LA TEORÍA DE REDES MODELOS DE REDES Definición de una red: Una red consta de un conjunto de nodos unidos por arcos. La notación empleada es (N,A), donde: N= Conjunto de nodos A= Conjunto de Arcos Por ejemplo, sea N = {1, 2, 3, 4} y A= {(1 , 2) , (1 , 3) , (2 , 3) , (2 , 4) , (3 , 4)}. La red correspondiente sería la siguiente: 1

3

2

4

Normalmente, un arco tiene una capacidad asociada, la cual limita el posible flujo a través de el. Por ejemplo, se puede hablar de flujo de petróleo a través de un oleoducto, de flujo de productos a través de una cadena de abastecimiento, o de flujo de vehículos a lo largo de una red de careteras. A consecuencia de lo anterior, una red puede ser dirigida u orientada si permite flujo positivo en un sentido de sus arcos y flujo cero en el sentido contrario. Una red puede también ser cíclica cuando presenta al menos un ciclo, o sea cuando existe una ruta desde un nodo hacia sí mismo. Por ejemplo en la red mostrada arriba, los arcos (1 , 2) , (2 , 3) y (3 , 1) forman un ciclo. La red total es por lo tanto, cíclica. Si una red no presenta ciclo alguno, se dice que es acíclica. Si la red es dirigida, el ciclo existe siempre y cuando sea consistente con las direcciones de los flujos. En este caso el ciclo se denomina circuito. En la red siguiente, por ejemplo, la serie de nodos 1-3-5-1 representa un circuito. Los nodos 1-2-3, sin embargo, no representan un circuito.

210

Introducción a la Modelación Matemática y Optimización

1

2

4 6

3

5

Una red es conectada cuando cada dos nodos distintos están unidos por lo menos por una ruta. Un árbol es una red conectada acíclica, incluyendo un subconjunto de los nodos de la red. Un árbol de expansión es un árbol que incluye todos los nodos de la red. Por ejemplo, para la red mostrada en la página anterior, se muestra un árbol y un árbol de expansión:

1

2

3

1

3

2

4

Árbol de expansión mínima

ALGORITMO DEL ÁRBOL DE EXPANSIÓN MÍNIMA Un árbol de expansión minima21 de una red es un árbol de expansión cuyo costo (valores sobre cada arco) sea mínimo. Una aplicación típica es el diseño de una red de carreteras que une a varias poblaciones, donde existen múltiples alternativas para unirlas. Si se desea minimizar el total de la longitud de carreteras pavimentadas, el árbol de expansión mínima daría la respuesta: En este algoritmo, se escoge un nodo cualquiera para iniciar y se definen dos conjuntos de nodos en cada iteración, los que ya han sido conectados y los que aún no. Cada iteración determina el arco de longitud minima para unir uno de los nodos que ya han sido conectados con los que no lo han sido. El algoritmo termina cuando todos los nodos han sido conectados, resultando así el árbol de expansión mínima. Formalmente, el algoritmo es como sigue: Sean los nodos de la red el conjunto N = {1, 2, …, n}

21

“Minimun Spanning Tree”

211

Sean: = Conjunto de nodos que se han conectado permanentemente en la iteración k del algoritmo. = Conjunto de nodos que aún no se han conectado. Paso 0: Hacer = , N Paso 1: Escoger cualquier nodo ϵ N. Hacer = { } y, por lo tanto, N–{ . Hacer K=2. Paso K: Seleccionar un nodo j* ϵ que produce el arco más corto hacia un nodo en el conjunto conectado . Unir permanentemente j* con y eliminarlo de , o sea: , Si ⟹ Parar. De lo contrario, hacer k=k+1 y repetir el paso k. Ejemplo: Se muestran 6 poblaciones, las cuales deben ser unidas por una red de carreteras con la longitud mínima de carreteras pavimentadas. Los arcos mostrados representan todas las conexiones posibles con sus respectivas longitudes en km. Utilizando el algoritmo del árbol de expansión mínima, determine cómo deben unirse las poblaciones. 50 0

15

4

13

2 48 17

25

32

1

6 52

50 0

75

12

3

100

5

Por conveniencia, se escoge el nodo 1 como el punto de partida del algoritmo. Por conveniencia, los nodos que ya han sido conectados se muestran con doble círculo.

2

4

15

25

32

1

6

50 12 0

3

5 Iteración 1

212

Introducción a la Modelación Matemática y Optimización

50

2

4

15 48

25

32

1

6

50 12 0

3

5 Iteración 2

Las líneas delgadas muestran los arcos candidatos en cada iteración para unir el conjunto de nodos que ya han sido conectados con el suplemento. Las líneas punteadas representan el arco de longitud mínima y las líneas gruesas representan los arcos permanentes que unen nodos ya conectados. Nótese que en la iteración 1, por ejemplo, j*=2, y en la iteración 2, j*=4 y que daría unido al nodo 1 , mediante el arco (1 , 4). En la página siguiente se muestra el resto de las iteraciones. 50

4

13

2

0

15 48

25

32

1

6 17

50 12 0

3

5 Iteración 3 50

4

13

2

0

15 48

25

32

1

6 17

50

3

52

100

Iteración 4

5

213

2

4

15 48

25

32

1

6 75

17

50

100

3

5

Iteración 5

2

4

15 48

25

32

6 17

1

3

5

Iteración 6 (Árbol de expansión mínima)

O sea que la longitud mínima de carreteras pavimentadas que uniría a las poblaciones es igual a 15+25+31+17+48 km = 137 km. Aunque visualmente el árbol de la iteración 6 pareciese cíclico (lo cual sería una contradicción), la figura siguiente aclara este aspecto: 1 25

15

32

2

6

5

17

48

4

Árbol de expansión mínima

3

214

Introducción a la Modelación Matemática y Optimización

EL PROBLEMA DE LA RUTA MÁS CORTA (“SHORTEST PATH”) Este problema consiste en determinar la ruta mas corta entre un punto de origen y un punto de destino de la red (ver algunas aplicaciones en Taha, pág. 222-225). Dos algoritmos para resolver este problema en redes cíclicas o acíclicas son:  El algoritmo de Dijkstra.  Algoritmo de Floyd. El primero determina la ruta más corta entre el nodo origen y cada uno de los otros nodos de la red. L algoritmo de Floyd permite determinar la ruta más corta entre dos nodos cualesquiera de la red. Se presentara el algoritmo de Dijkstra; el algoritmo de Floyd se deja para consulta en las páginas 231-236 de Taha. ALGORITMO DE DIJKSTRA: En este algoritmo los nodos se clasifican de dos formas: como temporales y permanentes. Los cálculos del algoritmo avanzan de un nodo i a un nodo inmediatamente siguiente, j. Sea: = Distancia mas corta desde el nodo de origen (nodo 1) al nodo i. = Longitud del arco (i , j). La clasificación del nodo j se define entonces como: [

]=[

],

.

Una clasificación temporal se puede reemplazar con otra cuando se encuentra una ruta más corta. Cuando es evidente que no se puede encontrar una ruta más corta, la clasificación temporal se cambia a permanente. El algoritmo completo es como sigue: Paso 0: Clasificar el nodo de origen (nodo 1) como permanente [0,-]. Haga i=1. Paso i: (a) Calcular las clasificaciones temporales [ ] para cada nodo j al que se puede llegar desde el nodo i, siempre y cuando j no esté clasificado permanentemente. Si el nodo j ya no está clasificado con [ ] a través de otro nodo k ≠i y si , reemplazar la clasificación temporal [ ] con la clasificación temporal [ ]. (b) Si todos los nodos son permanentes, parar. De lo contrario, selecciona la clasificación [ ] con la distancia mas corta entre todas las calificaciones temporales,

215

rompiendo con los empates en forma arbitraria. Haga i=r, clasifique el nodo r como permanente y repita el paso i. Ejemplo: Determine la ruta más corta desde el nodo 1 hacia todos los nodos de la red

2

12

7 (Nodo Origen)

8

1

5

8

3

9

9

7

5 7

6

13

4

6

siguiente: La forma más fácil de resolver los problemas de la ruta mas corta es hacerlo directamente en la red, copiando las clasificaciones sucesivas. Cuando una clasificación se vuelve permanente, por notación, se encierra en un rectángulo. La red de la página siguiente vá mostrando las clasificaciones sucesivas. [7 , 1]

2

12

7

8

1 5

[0 , -]

3

[12 , 4]

5

8

9

9

7

[8 , 1] 7

4

[21 , 5]

6

13

6 [17 , 3]

[5 , 1]

Las rutas más cortas desde el nodo de origen (nodo 1) y cualquier nodo se encuentran partiendo del nodo destino y devolviéndose con la información dada por las clasificaciones permanentes. La tabla siguiente resume los resultados:

216

Introducción a la Modelación Matemática y Optimización

Nodo 2 3 4 5 6 7

Distancia más corta desde el nodo 1 7 8 5 12 17 21

Ruta más corta desde el nodo 1 1-2 1-3 1-4 1-4-5 1-3-6 1-4-5-6

Queda a su discreción el estudio del resto del capitulo 6 de Taha.

217

13. BIBLIOGRAFÍA AHUJA, Ravindra K., Thomas L. Magnanti y James B. Orlin, Network Flows: Theory, Algorithms, and Applications, Prentice Hall, Englewood Cliffs, New Jersey, 1993. (Excelente texto para profundización en Teoría de Redes) BAZARAA, Mokhtar S., Hanif D. Sherali y C. M. Shetty, Nonlinear Programming: Theory and Algorithms, 2ª Edición, John Wiley & Sons, Inc., New York, 1993. (Excelente texto para profundización en Programación No-Lineal) DUQUE M., Ramón, Modelos Lineales: Formulación, Universidad del Valle, Cali, 1987. (Colección de problemas formulados y resueltos para consulta) ESCUDERO, L. F., E. Galindo, G. García, E. Gómez, V. Sabau y Schumann, A modeling framework for supply chain management under uncertainty, European Journal of Operational Research, Vol. 119, No. 1, 1999, pp. 14–34. (Artículo de referencia) FOURER, R., D. M. Gay y B. W. Kernighan, AMPL: A Modeling Language for Mathematical Programming, The Scientific Press, San Francisco, 1993. (Este es el manual de AMPL, un generador de modelos comercial excelente) GOETSCHALCKX, Marc, Logistics Systems Design, versión 1.2.98, Georgia Institute of Technology, 1998. (Texto de Logística con aplicaciones selectas de modelación matemática) GOETSCHALCKX, Marc, Carlos J. Vidal y K. Dogan, “Designing Global Supply Chain Systems”, European Journal of Operational Research, Vol. 143, No. 1, 1–18, Noviembre de 2002. (Artículo de referencia) HICKS, D. A Four Step Methodology for using Simulation and Optimization Technologies in Strategic Supply Chain Planning, Proceedings of the 1999 Winter Simulation Conference. (Ponencia de referencia) HILLIER, Frederick S. y Gerald J. Lieberman, Introducción a la Investigación de Operaciones, 6ª Edición, McGraw-Hill, 1997. (Este es el otro texto clásico de Investigación de Operaciones y se recomienda como consulta general) CHVÁTAL, Vasek, Linear Programming, W. H. Freeman and Company, New York, 1983. (Buen texto para profundización en Programación Lineal. Presenta un capítulo completo dedicado a aplicaciones de modelación matemática) MATHUR, Kamlesh y D. Solow, Investigación de Operaciones: El arte de la toma de decisiones, Prentice-Hall Hispanoamericana, S. A., México, 1996. (Excelente referencia para la formulación de modelos de programación lineal y modelos en general)

218

Introducción a la Modelación Matemática y Optimización

MOSKOWITZ, Herbert y Gordon P. Wright, Investigación de Operaciones, Editorial Prentice may Internacional, Englewood Cliffs, Bogotá, 1982. (Otro texto clásico) NEMHAUSER, George L. y Laurence A. Wolsey, Integer and Combinatorial Optimization, John Wiley & Sons, New York, 1988. (Este es un excelente texto teórico, clásico de la programación entera) PRADO R., Hernando, Problemas de Investigación de Operaciones, Universidad del Valle, Cali, 1985. (Notas originales del profesor Prado para consulta general) TAHA, Hamdy A., Investigación de Operaciones: Una Introducción, sexta edición, Prentice Hall, México, 1998. (Texto clásico de referencia) TAHA, Hamdy A., Investigación de Operaciones: Una Introducción, segunda edición, Representaciones y Servicios de Ingeniería S. A., México, 1981. (Versión anterior al texto de 1998, con contenido diferente) THIERAUF, Robert J. y Richad A. Grosse, Toma de decisiones por medio de investigación de operaciones, Editorial Limusa – Wiley, S. A., México, 1972. (Otro texto clásico de Investigación de Operaciones) VIDAL, Carlos J. y M. Goetschalckx, "A Global Supply Chain Model with Transfer Pricing and Transportation Cost Allocation," European Journal of Operational Research, Vol. 129, pp. 134 – 158, 2001. (Artículo de referencia) VIDAL, Carlos J. y M. Goetschalckx, “Un Caso de Aplicación de Modelos Matemáticos para la Optimización de Cadenas de Abastecimiento en la Industria Manufacturera,” en: Innovación y Transferencia de Tecnología: Casos Prácticos en la Facultad de Ingeniería, Iván Enrique Ramos Calderón (compilador), Separata de la revista ingeniería y competitividad, Facultad de Ingeniería, Universidad del Valle, pp. 43–51, Mayo de 2000. (Artículo ilustrativo sobre las aplicaciones reales de la Investigación de Operaciones) VIDAL, Carlos J. y M. Goetschalckx, “Modeling the Effect of Uncertainties on Global Logistics Systems,” Journal of Business Logistics, Vol. 21, No. 1, pp. 95–120, Abril de 2000. (Artículo de referencia) VIDAL, Carlos J. y M. Goetschalckx, “Strategic production-distribution models: A critical review with emphasis on global supply chain models”, European Journal of Operational Research, Vol. 98, pp. 1–18, Marzo de 1997. (Artículo de referencia) WILLIAMS, H. P., Model Building in Mathematical Programming, 3ª Edición, John Wiley & Sons, Inc., New York, 1990. (Excelente texto para profundización en Programación Lineal continua y entera y en modelación matemática en general)

Related Documents


More Documents from "Jhorelis Rivas"

March 2021 0
January 2021 1
La Sonora Poncena
January 2021 1
Bass Eddie Santiago
January 2021 1