UNIVERSIDAD TECNOLÓGICA DEL PERÚ Vicerrectorado de Investigación
OPTIMIZACIÓN DE SISTEMAS I TINS Básicos INGENIERÍA INDUSTRIAL, INGENIERÍA DE SISTEMAS
TEXTOS DE INSTRUCCIÓN BÁSICOS (TINS) / UTP
Lima - Perú
OPTIMIZACIÓN DE SISTEMAS I
© OPTIMIZACIÓN DE SISTEMAS I Desarrollo y Edición:
Vicerrectorado de Investigación
Elaboración del TINS:
• Ing. César Canelo Sotelo • Ing. Luis Medina Aquino
Diseño y Diagramación:
Julia Saldaña Balandra
Soporte académico:
Instituto de Investigación
Producción:
Imprenta Grupo IDAT
Queda prohibida cualquier forma de reproducción, venta, comunicación pública y transformación de esta obra.
2
OPTIMIZACIÓN DE SISTEMAS I
“El presente material contiene una compilación de obras de Optimización de Sistemas publicadas lícitamente, resúmenes de los temas a cargo del profesor; constituye un material auxiliar de enseñanza para ser empleado en el desarrollo de las clases en nuestra institución. Éste material es de uso exclusivo de los alumnos y docentes de la Universidad Tecnológica del Perú, preparado para fines didácticos en aplicación del Artículo 41 inc. C y el Art. 43 inc. A., del Decreto Legislativo 822, Ley sobre Derechos de Autor”.
3
OPTIMIZACIÓN DE SISTEMAS I
4
OPTIMIZACIÓN DE SISTEMAS I
PRESENTACIÓN
El asunto del presente texto está engastado en el espacio ilimitado de la matemática aplicada, surgida en la segunda mitad del siglo XX, como producto de la ciencia y la tecnología desarrollada en el fragor de la segunda guerra mundial. Producto que tomó el nombre de Investigación de Operaciones, compuesto por los temas de Programación Lineal, Programación Dinámica, Programación Geométrica, entre otros. Técnicas que han venido aplicándose intensamente como soporte de la maximización de indicadores concurrentes a la excelencia de calidad con altos niveles de productividad y bajos costos de producción. En este contexto, la educación superior universitaria ha integrado en los currícula de diferentes Carreras de Ingeniería algunas Asignaturas de Investigación Operativa, con enfoque metodológico generado en el espacio de la Teoría General de Sistemas. Con tal método, mediante un acucioso trabajo académico de recopilación y selección, ha venido en prepararse para estudios de la Carrera de Ingeniería de Sistemas el Curso de Optimización de Sistemas I, aplicado en el VI ciclo de estudios, con temas de Programación Lineal. El acopio y selección de materias pertinentes a la Asignatura, arriba mencionada, ha sido realizada por el profesor Ing. Luis Medina Aquino , en unión con el profesor Ing. César Canelo Sotelo, en congruencia al sillabus correspondiente, en el nivel de calidad académica requerido; comprende los siguientes temas: El capítulo 1 trata sobre la descripción del modelo de programación lineal, que consta de variables de decisión, función objetivo, restricciones y condición de no negatividad. El objetivo del modelo es maximizar (utilidades) o minimizar (costos) de una función lineal Z. A través de un problema que tiene dos variables de decisión se explica la formulación del programa lineal y cómo hallar una solución gráfica. El capítulo 2 complementa el capítulo uno con la construcción de modelos de programación lineal formulados en base a diferentes problemas que se presentan en la industria. Existen diferentes problemas tipo con su respectiva formulación, con más de dos variables.
5
OPTIMIZACIÓN DE SISTEMAS I
El capítulo 3 explica el método general para hallar una o varias soluciones de un modelo de programación lineal. Para ello es necesario colocar las restricciones del modo estándar, convirtiendo las desigualdades en igualdades, añadiendo variables de holgura, de exceso y/o artificiales. Luego se coloca todos los valores en una tabla y se empieza a realizar iteraciones hasta hallar el valor óptimo de la función objetivo. En el capítulo 4 se explica la dualidad de un programa lineal. Si la función objetivo original (primal) es de maximización entonces la función objetivo del programa dual será de minimización y viceversa. La cantidad de variables de decisión en el programa primal será la misma cantidad de restricciones del dual. El número de restricciones del primal será la misma del número total de variables duales. Los valores del lado derecho del programa primal serán los coeficientes de la función objetivo del dual. Y los coeficientes de las variables primales serán los mismos valores del lado derecho de las restricciones del programa dual. El capítulo 5 trata acerca del análisis de sensibilidad que se puede hacer al modelo de programación lineal. El análisis de sensibilidad responde a la pregunta: ¿Qué pasa con el valor de la función objetivo si existen cambios en los coeficientes de la función objetivo o el lado derecho de las restricciones? ¿Se mantiene o no la solución óptima si existen cambios en los coeficientes de las variables de la función objetivo? ¿Si se agrega una nueva variable a la función objetivo y a las restricciones, formará parte de la nueva solución? ¿Si se agrega una nueva restricción, se modificará la solución óptima? En el capítulo 6 se aborda el modelo de programación lineal entera. La programación lineal resuelta por el método simplex nos da un resultado con valores continuos, pero existen problemas de programación lineal que exigen una solución con valores enteros. En realidad, para este tipo de problemas se añaden restricciones de variable entera a través de un algoritmo de ramificación que va restringiendo las variables a soluciones enteras. En este campo se incluye problemas de programación lineal cuyas variables de decisión son valores binarios {0, 1}. El contenido del texto representa el esfuerzo académico de los profesores Ing. Luis Medina Aquino e Ing. César Canelo Sotelo, a quienes la Institución agradece de manera especial en el camino de contribución, tendiente a la mejora continua de la calidad académica. LUCIO HERACLIO HUAMÁN URETA VICERRECTOR DE INVESTIGACIÓN
6
OPTIMIZACIÓN DE SISTEMAS I
ÍNDICE GENERAL
CAPÍTULO 1 PROGRAMACION LINEAL: EL METODO GRAFICO......................
11
CAPÍTULO 2 PROGRAMACION LINEAL: FORMULACIÓN DE PROBLEMAS.....
43
CAPÍTULO 3 EL MÉTODO SIMPLEX....................................................................
67
CAPÍTULO 4 EL PROBLEMA DUAL .....................................................................
83
CAPÍTULO 5 ANALISIS DE SENSIBILIDAD .........................................................
97
CAPÍTULO 6 PROGRAMACION LINEAL ENTERA...............................................
109
BIBLIOGRAFÍA ...............................................................................
135
7
OPTIMIZACIÓN DE SISTEMAS I
8
OPTIMIZACIÓN DE SISTEMAS I
DISTRIBUCIÓN TEMÁTICA Clase N°
1
2
Tema
Introducción a la Investigación de Operaciones: Origen, Definición, Modelo, Tipos de modelo. Metodología de la Investigación de Operaciones. Programación Lineal: Definición, Presentación del modelo de P.L., Suposiciones del modelo de P.L., Interpretación económica del modelo de PL., Propiedades del modelo de PL., Formas de mostrar el modelo de PL., Variable de holgura, Transformaciones en el modelo de PL.
Semana
Horas
1
04
2
04
3
Formulación de problemas con P.L.
3
04
4
Solución del modelo P.L.: Región Factible y Soluciones, Conjuntos convexos. Métodos de solución de modelos lineales: Gráfico y Simplex.
4
04
5
Casos especiales de soluciones de PL usando el método gráfico.
5
04
6
Método simplex: Teoremas. Algoritmo simplex primal.
6
04
7
Casos especiales usando el algoritmo simplex: Solución única, Solución con región factible no acotada, Problema no factible, Soluciones Múltiples. Solución degenerada. Prevención del ciclado
7
04
8
Técnica de las variables artificiales. Método de penalización. Método de las dos fases.
8
04
9
Revisión – Nivelación
9
04
10
EXAMEN
10
02
PARCIAL
9
OPTIMIZACIÓN DE SISTEMAS I
Clase N°
Tema
Semana
Horas
11
Simplex revisado: Inversión explícita de la base, Método de las dos fases.
11
04
12
Problema dual: El programa Dual, Relaciones Primal – Dual. Teoremas. Propiedades Primaldual.
12
04
13
Algoritmo Simplex Dual. Interpretación Económica del problema Dual.
13
04
14
Análisis de sensibilidad. Rangos de sensibilidad: Cambios en el vector de costos y recursos. Cambios en la matriz de coeficientes tecnológicos.
14
04
15
Análisis de sensibilidad: Adición de una nueva variable. Adición de una nueva restricción.
15
04
16
Uso de software computacional para PL; Linear Interactive Discrete Optimizer (LINDO).
16
04
17
Programación entera: Formulación.
17
04
18
Métodos de solución de problemas de Programación Lineal Entera: Método gráfico, Método de ramificar y acotar.
18
04
19
02
19
10
EXAMEN FINAL
OPTIMIZACIÓN DE SISTEMAS I
CAPÍTULO 1 PROGRAMACION LINEAL: EL METODO GRAFICO
1.1. INTRODUCCIÓN Existen problemas de decisión administrativos que pueden ser resueltos a través de un modelo matemático llamado programación lineal. Por ejemplo el fabricante desea elaborar un programa de producción de costo mínimo; exigido por la demanda a atender y limitado por su capacidad de producción. Un modelo de programación lineal busca el objetivo de maximizar (minimizar) una función lineal, sujeta a un conjunto de restricciones lineales.1 Un modelo de programación lineal esta compuesto de lo siguiente: 1. Un conjunto de variables de decisión 2. Una función objetivo 3. Un conjunto de restricciones Para formular un modelo de programación lineal primero se debe entender el problema y responder a las siguientes preguntas: ¿Cuál es nuestro objetivo económico? ¿Maximizar utilidades o minimizar costos? ¿Qué limitaciones de recursos existen? ¿Qué requerimientos mínimos se necesitan? Con esto podemos: (i) Identificar las variables de decisión del modelo, a las que llamaremos X1, X2, X3,...., Xn. (ii) Expresar la función objetivo como: Maximizar (o Minimizar) Z = C1 X1 + C2 X2 + C3 X3 +....+ Cn Xn (iii) Determinar las restricciones del modelo que son funciones lineales de las variables de decisión. Estas restricciones pueden ser igualdades (=) o desigualdades de la forma (>, <).
1
Función lineal de varias variables es una función de la forma Z = C1 X1 + C2 X2 + C3 X3 +....+ Cn Xn, donde las variables aparecen con exponente 1 y no se permiten productos cruzados: C1 X1 x C2 X2; o de orden superior: C1 X12. Restricciones lineales: son funciones lineales de tipo: ai1 X1 + ai2 X2 + ai3 X3 +....+ ain Xn < bi ò ai1 X1 + ai2 X2 + ai3 X3 +....+ ain Xn > bi ò ai1 X1 + ai2 X2 + ai3 X3 +....+ ain Xn = bi
11
OPTIMIZACIÓN DE SISTEMAS I
También incluye restricciones de no negatividad de las variables: X1, X2, X3,...., Xn > 0. 1.2.
FORMULACIÓN Y SOLUCIÓN GRÁFICA DE UN EJERCICIO DE PROGRAMACION LINEAL La solución gráfica se emplea para resolver modelos de programación lineal con dos variables, ya que resulta bastante difícil dibujar planos de tres variables, e imposible hacerlo para cuatro o más variables. Ejercicio Juan es un prospero negociante que se dedica a la compra y venta de naranja y papaya. Él tiene su cartera de clientes que son aquellos comerciantes que tienen su puesto de frutas en los diferentes mercados del distrito de Jesús María. Todos los días temprano en la mañana visita a su proveedor de frutas en el mercado mayorista y hace las compras del día. El día anterior recibe los pedidos de sus clientes y esta suma 600 kilos de papaya y 1200 kilos de naranja. Juan lleva su camión para el transporte cuya capacidad de carga es de 1600 kilos. Entonces ¿Cuántos kilos de cada fruta debe comprar Juan para maximizar los beneficios? Para resolver esta pregunta se tienen los siguientes precios y costos por kilo de fruta:
Papaya Naranja
Precio de compra Precio de venta al por mayor al minorista S/. 1.30 S/. 1.60 S/. 1.00 S/. 1.20
Procedimiento de Solución (Método Gráfico) 1) Establecer la formulación del problema 2) Graficar en el plano cartesiano las restricciones del tipo >, < ó =, como si fueran rectas. 3) Ubicar el espacio de la solución factible (región factible), el cual está dado por el área común a todas las restricciones. 4) Obtener la solución óptima.
12
OPTIMIZACIÓN DE SISTEMAS I
Formulación del Ejercicio Definición de las Variables de Decisión X1 = Cantidad, en kilos, de papaya que se debe comprar. X2 = Cantidad, en kilos, de naranja que se debe comprar. Función Objetivo Maximizar la utilidad total de los dos productos Restricciones Cantidad máxima de Papaya < 600 kilos. Cantidad máxima de Naranja < 1200 kilos. Carga máxima del camión < 1600 kilos. Condición de No Negatividad X1, X2 > 0 El Modelo Maximizar Z = 0.30 X1 + 0.20 X2 (Beneficio Total) Sujeto a: R1 X1 < 600 (Cantidad máxima de Papaya) R2 X2 < 1200 (Cantidad máxima de Naranja) R3 X1 + X2 < 1600 (Carga máxima del camión) X1, X2 > 0 (Condición de no negatividad) Gráfica en el Plano Cartesiano Primero graficar la igualdad de la restricción, luego escoger un punto de ensayo (por ejemplo el punto 0,0) y se sustituye este punto en la desigualdad para comprobar si cumple esta restricción. Si lo cumple entonces sombrear el área que cubre este punto de ensayo y si no lo cumple sombrear el área que no lo cubre. X2
X2
(0,1200)
R2
X2 < 1200
R1 X1 < 600
(0,0)
(600,0)
X1
(0,0)
(600,0)
X1
Gráfica 1
13
OPTIMIZACIÓN DE SISTEMAS I
En el plano cartesiano de la izquierda de la gráfica 1, primero se dibuja la recta X1 = 600 y luego se escoge un punto de ensayo, para nuestro caso (0,0), y se verifica que cumpla con la desigualdad, por tanto se sombrea los puntos que cumplen con todos los puntos de X1 que sean menores o iguales a 600 Kg. (restricción R1). Con el mismo procedimiento se dibuja la recta X2=1200, que se muestra en el plano cartesiano de la derecha de la gráfica 1, y se acota más el área de los puntos factibles con los puntos de X2 que sean menores o iguales a 1200 Kg. (restricción R2). Por último graficamos la tercera restricción el cual restringe aún más el área de puntos factibles, como se muestra la gráfica 2. Región factible es el conjunto de puntos que satisface todas las restricciones
simultáneamente.
Existen
infinitos
puntos
factibles
(soluciones). Se llaman puntos extremos a los vértices de la región de factibilidad.
14
OPTIMIZACIÓN DE SISTEMAS I
X2
Los valores que optimizan la función objetivo siempre se encuentran en uno de los
R1
(0,1600)
puntos extremos, en este caso A, B, C, D ó E.
(0,1200)
(400,1200) B
R2
C D
(600,1000)
R3
A (0,0)
(1600,0)
E (600,0)
X1
Gráfica 2
Maximizar Z = 0.30 X1 + 0.20 X2 en la región factible
Se debe dibujar el contorno de la función objetivo (línea iso-beneficio) mediante rectas paralelas, en cada vértice, según la relación: X2 = – 1.5 X1 + K, ver gráfica 3.
15
OPTIMIZACIÓN DE SISTEMAS I
Pendiente de la función objetivo
0.30
Gráfica 3
X2
0.20 Z1 = 0.30 Z3
Z2 = 0.30 (600) + 0.20
(0,1200) Z2
(0) + 0.20
(400,1200) B C D
Z3 = 0.30
(0) = 0 (0) = 180
(0) + 0.20 (1200) = 240
Z4 = 0.30 (400) + 0.20 (1200) = 360 (600,1000) Z5
Z5 = 0.30 (600) + 0.20 (1000) = 380 (óptimo) Se debe adquirir 600 Kg. de papaya
Z1
Z4
y 1000 Kg. de naranja para obtener S/. 380 de utilidad
A (0,0)
1.3.
E (600,0)
X1
PROBLEMAS RESUELTOS: FORMULADOS Y CON SOLUCION GRAFICA DE PROGRAMACION LINEAL, UTILIZANDO WINQSB2.
1.3.1 CREDIFONDO, una empresa que administra fondos mutuos, tiene $50,000 de un fondo de pensiones, y desea invertir en bonos tipo A y bonos tipo B que producen una rentabilidad de 6% y 10% anual respectivamente. Por motivos de liquidez no puede invertir más del 25% en bonos tipo A, y lo mínimo a depositar en bonos tipo B es $10,000. Determinar un plan óptimo de inversiones VARIABLES DE DECISIÓN: X1 = Cantidad, en dólares, que se debe invertir en bonos tipo A. X2 = Cantidad, en dólares, que se debe invertir en bonos tipo B. 2 WINQSB es un software creado por el Dr. Yih-Long Chang que se puede bajar de internet. Buscando en google hallamos varias direcciones, una de ellas es http://www.investigacionoperaciones.com/Metodos_computacionales.htm
16
OPTIMIZACIÓN DE SISTEMAS I
FUNCION OBJETIVO: Se debe maximizar la rentabilidad total de la inversión en los dos tipos de bonos. Maximizar Z = 0.06 X1 + 0.10 X2 RESTRICCIONES: R1 = Fondo máximo a depositar: X1 + X2 ≤ 50,000 R2 = Máximo a invertir en bonos tipo A: X1 ≤ 0.25 (X1 + X2) 0.75 X1 – 0.25 X2 ≤ 0 R3 = Mínimo a invertir en bonos tipo B: X2 ≥ 10,000 CONDICION DE NO NEGATIVIDAD: X1 ≥ 0, X2 ≥ 0 SOLUCION CON WINQSB:
1.3.2. INTERBANK tiene un total de $20 millones asignados a préstamos para adquisición de casas y automóviles. En promedio, los préstamos hipotecarios tienen una tasa anual de recuperación del 10%, y los préstamos para autos una tasa anual de recuperación del 12%. La gerencia ha estipulado que la cantidad total de préstamos hipotecarios debe ser mayor o igual cuatro veces la cantidad total de préstamos para autos. Determine la 17
OPTIMIZACIÓN DE SISTEMAS I
cantidad total de los préstamos de cada tipo que debe realizar INTERBANK para maximizar el monto de recuperación. VARIABLES DE DECISIÓN: X1= Cantidad, en dólares, que se debe asignar para créditos hipotecarios X2 = Cantidad, en dólares, que se debe asignar para créditos de autos. FUNCION OBJETIVO: Se debe maximizar la recuperación total de los préstamos Maximizar Z = 0.10 X1 + 0.12 X2 RESTRICCIONES: R1 = Fondo máximo para asignar créditos: X1 + X2 ≤ 20,000,000 R2 = Relación de préstamos X1 ≥ 4 X2 X1 – 4 X2 ≥ 0 CONDICION DE NO NEGATIVIDAD: X1 ≥ 0, X2 ≥ 0 SOLUCION CON WINQSB:
18
OPTIMIZACIÓN DE SISTEMAS I
1.3.3. MAQUINASA es una pequeña fábrica situada en los alrededores de una gran ciudad. Su producción se limita a dos productos industriales: Alfa y Beta. El departamento de contabilidad de la empresa ha calculado las contribuciones de cada producto: 10 dólares para el producto Alfa y 12 dólares para el Beta. Cada producto pasa por tres departamentos de la fábrica. Los requerimientos de tiempo para cada producto y el total del tiempo disponible en cada departamento son los siguientes: Horas Requeridas Horas Producto Producto Disponibles Departamento ALFA BETA este mes Determine la cantidad 1 2.0 3.0 1,500 de productos Alfa y Beta 2 3.0 2.0 1,500 de tal forma que maximice 3 1.0 1.0 600 la contribución total. VARIABLES DE DECISIÓN: X1 = Cantidad, en unidades, del producto Alfa que se debe producir por mes. X2 = Cantidad, en unidades, del producto Beta que se debe producir por mes. FUNCION OBJETIVO: Se debe maximizar la utilidad total de los dos productos Maximizar Z = 10 X1 + 12 X2 RESTRICCIONES: R1 = Horas disponibles del Departamento 1: 2X1 + 3X2 ≤ 1500 R2 = Horas disponibles del Departamento 2: 3X1 + 2X2 ≤ 1500 R3 = Horas disponibles del Departamento 3: 1X1 + 1X2 ≤ 600 CONDICION DE NO NEGATIVIDAD: X1 ≥ 0, X2 ≥ 0
19
OPTIMIZACIÓN DE SISTEMAS I
SOLUCION CON WINQSB:
1.3.4. Una dietista del hospital Rebagliati es responsable de la planeación y administración de los requerimientos alimenticios de los pacientes. La especialista examina en estos momentos el caso de un paciente que se le ha restringido a una dieta especial que consta de dos fuentes alimenticias. Al paciente no se le ha restringido la cantidad de los dos elementos que se puede consumir; sin embargo, se deben satisfacer los siguientes requerimientos nutritivos mínimos por día: - 1000 unidades del nutriente A. - 2000 unidades del nutriente B; y - 1500 unidades del nutriente C. Cada onza de la fuente alimenticia #1, contiene 100 unidades del nutriente A, 400 unidades del nutriente B y 200 unidades del nutriente C.
20
OPTIMIZACIÓN DE SISTEMAS I
Cada onza de la fuente alimenticia #2, contiene 200 unidades del nutriente A, 250 unidades del nutriente B y 200 unidades del nutriente C. Ambas fuentes alimenticias son algo costosas: La fuente alimenticia #1 cuesta $6 por libra y la fuente #2 $8 por libra. La dietista desea determinar la combinación de fuentes alimenticias que arroje el menor costo y que satisfaga todos los requerimientos nutritivos. Nota: 1 libra = 16 onzas VARIABLES DE DECISIÓN: X1 = Cantidad, en onzas, de la fuente alimenticia #1 que se debe asignar a la dieta por día. X2 = Cantidad, en onzas, de la fuente alimenticia #2 que se debe asignar a la dieta por día. FUNCION OBJETIVO: Se debe minimizar el costo total de la dieta. Minimizar Z = 6/16 X1 + 8/16 X2 = 0.375 X1 + 0.5 X2 RESTRICCIONES: R1 = Cantidad mínima de nutriente A: 100X1 + 200X2 ≥ 1000 R2 = Cantidad mínima de nutriente B: 400X1 + 250X2 ≥ 2000 R3 = Cantidad mínima de nutriente C: 200X1 + 200X2 ≥ 1500
CONDICION DE NO NEGATIVIDAD: X1 ≥ 0, X2 ≥ 0
21
OPTIMIZACIÓN DE SISTEMAS I
SOLUCION CON WINQSB:
1.3.5. La fábrica ABC vende dos tipos de bombas hidráulicas: (1) normal y (2) extra grande. El proceso de manufactura asociado con la fabricación de las bombas implica tres procesos: ensamblado, pintura y pruebas de control de calidad. Los requerimientos de recursos para ensamble, pintura y prueba de las bombas se muestran en la siguiente tabla: Tabla de Requerimientos de Manufactura Tiempo de Tiempo de Tiempo de Tipo Ensamble Pintado Prueba Normal 3.6 1.6 0.6 Extra Grande 4.8 1.8 0.6 La contribución a las utilidades por la venta de una bomba normal es $50, en tanto que la utilidad por una bomba extra grande es $75. Existen disponibles por semana 4,800 horas en tiempo de ensamble, 1,980 horas en tiempo de pintura y 900 horas en tiempo de prueba. Las experiencias anteriores de renta señalan que la compañía puede esperar vender cuando menos 300 bombas normales y 180 de los extra grandes por semana. A la fábrica ABC le gustaría determinar la cantidad de cada tipo de bomba que debe fabricar semanalmente con el objeto de maximizar sus utilidades. 22
OPTIMIZACIÓN DE SISTEMAS I
VARIABLES DE DECISIÓN: X1 = Cantidad, en unidades, de bombas hidráulicas normales que se debe producir por semana X2 = Cantidad, en unidades, de bombas hidráulicas extragrandes que se debe producir por semana. FUNCION OBJETIVO: Se debe maximizar la utilidad total de los dos productos Maximizar Z = 50 X1 + 75 X2 RESTRICCIONES: R1 = Horas disponibles de ensamble: 3.6 X1 + 4.8 X2 ≤ 4800 R2 = Horas disponibles de pintado: 1.6 X1 + 1.8 X2 ≤ 1980 R3 = Horas disponibles de prueba: 0.6 X1 + 0.6 X2 ≤ 900 R4 = Demanda mínima de X1: X1 ≥ 300 R5 = Demanda mínima de X2: X2 ≥ 180 CONDICION DE NO NEGATIVIDAD: X1 ≥ 0, X2 ≥ 0 SOLUCION CON WINQSB:
23
OPTIMIZACIÓN DE SISTEMAS I
1.3.6. PARAMONGA tiene dos tipos de papel, para libros y para revistas. Cada tonelada de papel para libros requiere 2 toneladas de abeto y 3 ton. de pino. Cada tonelada de papel para revistas requiere 2 toneladas de abeto y 2 toneladas de pino. La empresa debe proveer al menos 25000 tons de papel para libros y 10000 tons de papel para revistas por año. La disponibilidad anual de materiales es de 300000 tons de abeto y 450000 de pino. Por razón de mercado la cantidad de papel fabricado para revistas debe ser al menos 1.5 veces a la cantidad de papel fabricado para libros. Cada tonelada de papel para libros da una utilidad de $215 y de revistas de $270. Determine un plan óptimo de producción VARIABLES DE DECISIÓN: X1 = Cantidad, en toneladas, de papel para libros que se debe producir por año. X2 = Cantidad, en toneladas, de papel para revistas que se debe producir por año. FUNCION OBJETIVO: Se debe maximizar la utilidad total de los dos productos Maximizar Z = 215 X1 + 270 X2 RESTRICCIONES: R1 = Disponibilidad de abeto: R2 = Disponibilidad de pino: R3 = Razón de mercado: R4 = Demanda mínima de X1: R5 = Demanda mínima de X2:
2 X1 + 2 X2 ≤ 300000 3 X1 + 2 X2 ≤ 450000 X2 ≥ 1.5 X1 1.5 X1 – X2 ≤ 0 X1 ≥ 25000 X2 ≥ 10000
CONDICION DE NO NEGATIVIDAD: X1 ≥ 0, X2 ≥ 0
24
OPTIMIZACIÓN DE SISTEMAS I
SOLUCION CON WINQSB:
1.3.7. CATS es un nuevo producto alimenticio para mascotas. Cada lata de 16 onzas de Cats es una mezcla, o combinación, de dos ingredientes alimenticios para mascotas. Sean X1 = número de onzas del ingrediente A en lata de 16 onzas. X2 = número de onzas del ingrediente B en lata de 16 onzas. Cada onza del ingrediente A contiene 1/2 onzas de proteínas y 1/8 de onza de grasas. Cada onza del ingrediente B contiene 1/10 de onza de proteínas y 1/3 de onza de grasas. Las restricciones implican que una lata de 16 onzas de Cats debe contener cuando menos 4 onzas de proteínas y no más de 2.5 onzas de grasas. Si el ingrediente A cuesta $0.04 por onza y el ingrediente B cuesta $0.03 la onza. a) b) c)
Formule el problema de programación lineal. ¿cuál es la mezcla de costo mínimo de los ingredientes A y B para cada lata de 16 onzas? Identifique e interprete los valores de las variables de excedente para este problema.
25
OPTIMIZACIÓN DE SISTEMAS I
VARIABLES DE DECISIÓN: X1 = Cantidad, en onzas, del ingrediente A en la lata de 16 onzas. X2 = Cantidad, en onzas, del ingrediente B en la lata de 16 onzas. FUNCION OBJETIVO: Se debe minimizar el costo total de los ingredientes en la lata de 16 onzas. Minimizar Z = 0.04 X1 + 0.03 X2 RESTRICCIONES: R1 = Cantidad de los ingredientes A y B en la lata de 16 oz.: X1+X2=16 R2 = Cantidad mínima de proteínas: 0.5 X1 + 0.10 X2 ≥ 4 R3 = Cantidad máxima de grasas C: 0.125 X1 + 0.333 X2 ≤ 2.5 0.375 X1 + X2 ≤ 7.5 CONDICION DE NO NEGATIVIDAD: X1 ≥ 0, X2 ≥ 0 SOLUCION CON WINQSB:
26
OPTIMIZACIÓN DE SISTEMAS I
1.3.8. Un expendio de carnes de la ciudad acostumbra preparar la carne para albondigón con una combinación de carne molida de res y carne molida de cerdo. La carne de res contiene 80% de carne y 20% de grasa, y le cuesta a la tienda 80 ctvs por libra; la carne de cerdo contiene 68% de carne y 32% de grasa, y cuesta 60 ctvs por libra. ¿Qué cantidad de cada tipo de carne debe emplear la tienda en cada libra de albondigón, si se desea minimizar el costo y mantener el contenido de grasa no mayor de 25%? VARIABLES DE DECISIÓN: X1 = Cantidad, en libras, de carne molida de res contenida en una libra de albondigón. X2 = Cantidad, en libras, de carne molida de cerdo contenida en una libra de albondigón. FUNCION OBJETIVO: Se debe minimizar el costo total de los ingredientes en una libra de albodigón. Minimizar Z = 0.80 X1 + 0.60 X2 RESTRICCIONES: R1 = Cantidad de ingredientes en una libra de albondigón: X1 + X2 = 1 R2 = Cantidad máxima de grasa 0.25 libras: 0.20 X1 + 0.32 X2 ≤ 0.25 27
OPTIMIZACIÓN DE SISTEMAS I
CONDICION DE NO NEGATIVIDAD: X1 ≥ 0, X2 ≥ 0 SOLUCION CON WINQSB:
1.3.9. Una fábrica de automóviles y camiones consta departamentos que a continuación se enumeran: 1. 2. 3. 4.
de
los
Estampado de planchas metálicas Armado de motores Montaje de automóviles Montaje de camiones
El Departamento 1 puede estampar, por mes, las planchas necesarias para 25,000 automóviles 35,000 camiones, o las correspondientes combinaciones de automóviles y camiones. El Departamento 2 puede armar, por mes, 33,333 motores de automóviles o 16,667 motores de camión, o las correspondientes combinaciones de motores de automóvil y camión. El Departamento 3 puede montar y terminar 22,500 automóviles, y el Departamento 4 puede montar 15,000 camiones. Si cada automóvil deja una utilidad de 300 dólares y cada camión de 250, ¿qué cantidades de automóviles y camiones deben producirse, de 28
OPTIMIZACIÓN DE SISTEMAS I
manera que las utilidades que se obtengan sean las máximas posibles? VARIABLES DE DECISIÓN: X1 = Cantidad, en unidades, de automóviles que se debe producir por mes. X2 = Cantidad, en unidades, de camiones que se debe producir por mes. FUNCION OBJETIVO: Se debe maximizar la utilidad total de los dos productos Maximizar Z = 300 X1 + 250 X2 RESTRICCIONES: R1 = El departamento 1 puede estampar, por mes, planchas metálicas para 25000 automóviles o 35000 camiones. Supongamos que los primeros 15 días (1/2 mes) se producen 12500 automóviles, entonces los últimos 15 días se deben producir 17500 camiones. El análisis parte del tiempo de producción para cada producto, cuyo límite máximo es un mes. De esta forma el tiempo para producir automóviles es X1/25000 (fracción de mes) y el tiempo para producir camiones es X2/35000, de tal forma que la suma de tiempos sea menor o igual a un mes: X1/25000 + X2/35000 ≤ 1 7 X1 + 5 X2 ≤ 175000 R2 = Similar análisis para el Departamento 2: X1 + 2X2 ≤ 33333 R3 = Cantidad máxima en el departamento de montaje para automóviles: X1 ≤ 22500 R4 = Cantidad máxima en el departamento de montaje para camiones: X2 ≤ 15000 CONDICION DE NO NEGATIVIDAD: X1 ≥ 0, X2 ≥ 0
29
OPTIMIZACIÓN DE SISTEMAS I
SOLUCION CON WINQSB:
1.3.10. Un fabricante de gasolina para aviación vende dos clases de combustible, A y B. El combustible de clase A tiene 25 % de gasolina grado 1, 25% de gasolina grado 2, y 50 % de gasolina grado 3. El combustible de clase B tiene 50% de gasolina grado 2 y 50% de gasolina grado 3. Disponibles para producción hay 75 galones/hora de grado 1, 150 galones/hora de grado 2, y 200 galones/hora de grado 3. Los costos son 30 centavos por galón de grado 1, 60 centavos por galón de grado 2, y 50 centavos por galón de grado 3. Las clases A y B, pueden venderse a 75 y 90 centavos por galón, respectivamente. ¿Qué cantidad por hora debe fabricarse de cada combustible? VARIABLES DE DECISIÓN: X1 = Cantidad, en galones, del combustible A que se debe producir por hora. X2 = Cantidad, en galones, del combustible B que se debe producir por hora. FUNCION OBJETIVO: Se debe maximizar la utilidad total (ingreso menos costo) de los dos productos 30
OPTIMIZACIÓN DE SISTEMAS I
Ingreso en centavos = 75 X1 + 90 X2 Costo en centavos = 30 (0.25 X1) + 60 (0.25 X1 + 0.50 X2) + 50 (0.50 X1 + 0.50 X2) Maximizar Z = Ingreso – Costo = 27.5 X1 + 35 X2 RESTRICCIONES: R1 = Gasolina grado 1 disponible: 0.25 X1 ≤ 75 R2 = Gasolina grado 2 disponible: 0.25 X1 + 0.50 X2 ≤ 150 R3 = Gasolina grado 3 disponible: 0.50 X1 + 0.50 X2 ≤ 200 CONDICION DE NO NEGATIVIDAD: X1 ≥ 0, X2 ≥ 0 SOLUCION CON WINQSB:
1.4.
PROBLEMAS FORMULADOS PERO SIN SOLUCION GRAFICA
1.4.1. Una compañía petrolera que tiene dos refinerías, necesita al menos 800, 1400 y 500 barriles de petróleo de grados bajo, medio y alto, respectivamente. Cada día, la refinería I produce 200 barriles de grado bajo, 300 de medio y 100 de alto grado, mientras que la refinería II produce 100 barriles de grado alto, 100 de bajo y 31
OPTIMIZACIÓN DE SISTEMAS I
200 de grado medio. Si los costos diarios son de $2,500 para operar la refinería I y de $2,000 para la refinería II, ¿cuántos días debe ser operada cada refinería para satisfacer los requerimientos de producción a un costo mínimo?¿cuál es el costo mínimo? VARIABLES DE DECISIÓN: X1 = Cantidad de días que debe ser operada la refinería I para cumplir con los requerimientos de producción. X2 = Cantidad de días que debe ser operada la refinería II para cumplir con los requerimientos de producción. FUNCION OBJETIVO: Se debe minimizar el costo total de operación de las dos refinerías. Minimizar Z = 2500 X1 + 2000 X2 RESTRICCIONES: R1 = Cantidad mínima de barriles de petróleo de grado bajo requerido: 200X1 + 100X2 ≥ 800 R2 = Cantidad mínima de barriles de petróleo de grado medio requerido: 300X1 +200X2 ≥ 1400 R3 = Cantidad mínima de barriles de petróleo de grado alto requerido: 100X1 + 100X2 ≥ 500 CONDICION DE NO NEGATIVIDAD: X1 ≥ 0, X2 ≥ 0 1.4.2. A causa de reglamentaciones gubernamentales nuevas sobre la contaminación, una compañía química ha introducido en sus plantas un nuevo y más caro proceso para complementar o reemplazar un proceso anterior en la producción de un químico en particular. El proceso anterior descarga 15 gramos de dióxido de azufre y 40 gramos de partículas a la atmósfera por cada litro de químico producido. El nuevo proceso descarga 5 gramos de dióxido de azufre y 40 gramos de partículas a la atmósfera por cada litro de químico producido. La compañía obtiene una utilidad de 30 y 20 centavos por litro en los procesos anterior y nuevo, respectivamente. Si el gobierno permite a la planta descargar no más de 10,500 gramos de dióxido de azufre y no más de 30,000 gramos de partículas a la atmósfera cada día, ¿cuántos litros de químico deben ser producidos diariamente, por cada uno de los procesos, para maximizar la utilidad diaria? ¿Cuál es la utilidad diaria?
32
OPTIMIZACIÓN DE SISTEMAS I
VARIABLES DE DECISIÓN: X1 = Cantidad, en litros, del producto químico que se debe producir con el proceso anterior. X2 = Cantidad, en litros, del producto químico que se debe producir con el proceso nuevo. FUNCION OBJETIVO: Se debe maximizar la utilidad total del producto químico en los dos procesos Maximizar Z = 30 X1 + 20 X2 RESTRICCIONES: R1 = Descarga máxima de dióxido de azufre: 15 X1 + 5 X2 ≤ 10500 R1 = Descarga máxima de partículas: 40 X1 + 40 X2 ≤ 30000 CONDICION DE NO NEGATIVIDAD: X1 ≥ 0, X2 ≥ 0 1.4.3. INDUMIL, un fabricante progresista de mecanismos civiles y militares, fabrica actualmente una línea de armas para civiles, con una producción actual diaria de 30 unidades del modelo Z-1200 y de 120 unidades del modelo Z-1500. El gerente de manufactura quiere saber si podrían aumentarse las ganancias cambiando la mezcla de productos entre los dos modelos. Se compiló la siguiente información sobre las horas requeridas para la fabricación de cada modelo y las capacidades de los departamentos de la fábrica.
Departamento 1 2 3 4 Contribución por unidad a) b)
Horas-Hombre Requeridas Modelo Modelo Z-1200 Z-1500 2.0 0.0 0.0 3.0 2.0 2.0 1.2 1.5 $50
Horas Disponibles por día 300 540 440 300
$40
Determínese la mezcla óptima de productos suponiendo que pueden venderse las cantidades. Use el método gráfico. ¿Cuánto aumentaría la mezcla óptima la contribución a los costos fijos y a las ganancias? 33
OPTIMIZACIÓN DE SISTEMAS I
c)
Suponga que el precio del modelo Z-1200 se reduzca a $10 ¿Cuál será la mezcla óptima de productos? Use el método gráfico
VARIABLES DE DECISIÓN: X1 = Cantidad, en unidades, del producto Z-1200 que se debe producir por día. X2 = Cantidad, en unidades, del producto Z-1500 que se debe producir por día. FUNCION OBJETIVO: Se debe maximizar la utilidad total de los dos productos Maximizar Z = 50 X1 + 40 X2 RESTRICCIONES: R1 = Horas disponibles del Departamento 1: 2 X1 ≤ 300 R2 = Horas disponibles del Departamento 2: 3 X2 ≤ 540 R3 = Horas disponibles del Departamento 3: 2 X1 + 2 X2 ≤ 440 R4 = Horas disponibles del Departamento 4: 1.2 X1 + 1.5 X2 ≤ 300 CONDICION DE NO NEGATIVIDAD: X1 ≥ 0, X2 ≥ 0 1.4.4. JUGUETES SAC fabrica dos tipos de juguetes de madera: soldados y trenes. Se vende un soldado a $27 y se usan $10 de materia prima. Cada soldado que se produce aumenta los costos variables de mano de obra y los costos generales en $14. Se vende un tren a $21 y se usan $9 de materia prima. Cada tren producido aumenta los costos variables de mano de obra y los costos generales en $10. La producción de soldados y trenes de madera necesita dos tipos de trabajo especializado: carpintería y acabado. Un soldado requiere 2 horas de acabado y una hora de carpintería. Un tren requiere 1 hora de acabado y 1 hora de carpintería. Cada semana, la empresa puede conseguir toda la materia prima que necesita, pero solamente dispone de 100 horas de acabado y 80 horas de carpintería. La demanda de los trenes no tiene límite, pero se venden a lo más 40 soldados semanalmente. La firma quiere maximizar su ganancia semanal (ingresos - costos). a) Formule un modelo matemático para la situación de JUGUETES SAC que se pueda utilizar para maximizar su ganancia semanal. b) Determine gráficamente la región factible del problema y el punto donde se hace máxima la ganancia de la compañía. 34
OPTIMIZACIÓN DE SISTEMAS I
VARIABLES DE DECISIÓN: X1 = Cantidad de soldados de madera que se debe producir por semana. X2 = Cantidad de trenes de madera que se debe producir por semana. FUNCION OBJETIVO: Se debe maximizar la utilidad total (ingreso menos costo) de los dos productos: Ingreso por ventas = 27 X1 + 21 X2 Costo de materia prima = 10 X1 + 9 X2 Costo de mano de obra y costos generales = 14 X1 + 10 X2 Maximizar Z = Ingresos – Costos = 3 X1 + 2 X2 RESTRICCIONES: R1 = Horas disponibles de carpintería: 1 X1 + 1 X2 ≤ 80 R2 = Horas disponibles de acabado: 2 X1 + 1 X2 ≤ 100 R3 = Demanda máxima de soldados: X1 ≤ 40 CONDICION DE NO NEGATIVIDAD: X1 ≥ 0, X2 ≥ 0 1.4.5. Financiera Solución administra fondos de empresas y clientes pudientes. La estrategia de inversión se adecua a las necesidades de cada cliente. Para un cliente nuevo, a Financiera Solución (FS) se le ha autorizado invertir 1.2 millones de dólares en dos fondos de inversión: un fondo de acciones y un fondo de bonos. Cada unidad del fondo de acciones cuesta 50 dólares, con una tasa de rendimiento anual de 10%; cada unidad del fondo de bonos cuesta 100 dólares, con una tasa de rendimiento anual de 4%. El cliente desea minimizar el riesgo, pero quiere tener un ingreso anual sobre la inversión de por lo menos 60,000 dólares. De acuerdo con el sistema de medición de riesgo de FS, cada unidad adquirida en el fondo de acciones tiene un índice de riesgo de 8, y cada unidad adquirida en el fondo de bonos tiene un índice de riesgo de 3. El índice de riesgo más elevado asociado con el fondo de acciones indica, simplemente, que se trata de la inversión más riesgosa. El cliente de la financiera también ha especificado que se inviertan por lo menos 300,000 dólares en el fondo de bonos.
35
OPTIMIZACIÓN DE SISTEMAS I
¿Cuántas unidades de cada uno de los fondos deberá adquirir la financiera para el cliente, si el objetivo es minimizar el índice de riesgo total para esta cartera? ¿Cuál es el valor del riesgo total? VARIABLES DE DECISIÓN: X1 = Cantidad, en unidades, que se debe adquirir del fondo de acciones X2 = Cantidad, en unidades, que se debe adquirir del fondo de bonos FUNCION OBJETIVO: Se debe minimizar el riesgo total de la inversión. Minimizar Z = 8 X1 + 3 X2 RESTRICCIONES: R1 = Cantidad máxima a invertir de dólares: X1 + X2 ≤ 1200000 R2 = Rendimiento anual mínimo requerido: 5 X1 + 4 X2 ≥ 60000 R3 = Inversión mínima en bonos: 100 X2 ≥ 300000 CONDICION DE NO NEGATIVIDAD: X1 ≥ 0, X2 ≥ 0
1.5.
PROBLEMAS PROPUESTOS
1.5.1. Un frutero necesita 16 cajas de naranjas, 5 de plátanos y 20 de manzanas. Dos mayoristas pueden suministrarle para satisfacer sus necesidades, pero sólo venden la fruta en contenedores completos. El mayorista A envía en cada contenedor 8 cajas de naranjas, 1 de plátanos y 2 de manzanas. El mayorista B envía en cada contenedor 2 cajas de naranjas, una de plátanos y 7 de manzanas. Sabiendo que el mayorista A se encuentra a 150 km de distancia y el mayorista B a 300 km, calcular cuántos contenedores habrá de comprar a cada mayorista, con objeto de ahorrar tiempo y dinero, reduciendo al mínimo la distancia de lo solicitado. 1.5.2. Una compañía tiene dos minas: la mina A produce diariamente 1 tonelada de carbón de antracita de alta calidad, 2 toneladas de carbón de calidad media y 4 toneladas de carbón de baja calidad; la mina B produce 2 toneladas de cada una de las tres clases. La compañía necesita 70 toneladas de carbón de alta calidad, 130 de calidad media y 150 de baja calidad. Los gastos diarios de la mina A ascienden a 150 dólares y los de la mina B a 200 dólares.
36
OPTIMIZACIÓN DE SISTEMAS I
¿Cuántos días deberán trabajar en cada mina para que la función de coste sea mínima? 1.5.3. Imaginemos que las necesidades semanales mínimas de una persona en proteínas, hidratos de carbono y grasas son, respectivamente, 8, 12 y 9 unidades. Supongamos que debemos obtener un preparado con esa composición mínima mezclando dos productos A y B, cuyos contenidos por Kg son los que se indican en la siguiente tabla:
a) b)
Proteínas
Hidratos
Grasas
Costo (pts/kg)
A
2
6
1
600
B
1
1
3
400
¿Cuántos Kg de cada producto deberán comprarse semanalmente para que el costo de preparar la dieta sea mínimo? ¿Cuántos Kg de cada producto deberíamos comprar si el precio de A subiera a 1000 pts/Kg ?
1.5.4. En la elaboración de un producto A se necesita una sustancia B. La cantidad de A obtenida es menor o igual que el doble de B utilizada, y la diferencia entre las cantidades del producto B y A no supera los 2g mientras que la suma no debe sobrepasar los 5g. Además se utiliza por lo menos 1g de B y se requiere 1 g de A. La sustancia A se vende a 5 millones y la B cuesta 4 millones el gramo. Calcular la cantidad de sustancia B necesaria para que el beneficio sea máximo. 1.5.5. En una encuesta realizada por una televisión local se ha detectado que un programa con 20 minutos de variedades y un minuto de publicidad capta 30.000 espectadores, mientras que otro programa con 10 minutos de variedades y 1 minuto de publicidad capta 10.000 espectadores. Para un determinado período, la dirección de la red decide dedicar 80 minutos de variedades y los anunciantes 6 minutos de publicidad. ¿Cuántas veces deberá aparecer cada programa con objeto de captar el máximo número de espectadores?
37
OPTIMIZACIÓN DE SISTEMAS I
1.5.6. Una empresa tiene dos factorías A y B. En ellas fabrica un determinado producto, a razón de 500 y 400 unidades por día respectivamente. El producto ha de ser distribuido posteriormente a tres centros I, II y III, que requieren, respectivamente, 200, 300 y 400 unidades. Los costos de transportar cada unidad del producto desde cada factoría a cada centro distribuidor son los indicados en la tabla siguiente: I II III FABRICACIÓN A 50 60 10 500 u. B 25 40 20 400 u. DEMANDA 200 300 400 ¿De qué manera deben organizar el transporte a fin de que los gastos sean mínimos? 1.5.7. Una empresa fabrica dos tipos de tarjetas gráficas, de 16Mb y 32Mb de memoria, respectivamente. Se utilizan dos máquinas que emplean 2 min. en fabricar las de 16Mb y 3 min. en fabricar las de 32Mb. La cadena de montaje sólo puede funcionar, como máximo, 300 minutos diarios. Además cada máquina tiene una capacidad máxima de fabricación diaria de 125 unidades, entre las cuales no puede haber más de 90 tarjetas de 16Mb ni más de 80 tarjetas de 32Mb, siendo el beneficio neto de las primeras de 45$ y el de las segundas de 60$. ¿Cuántas tarjetas de 16Mb y 32Mb debe fabricar diariamente cada máquina para que el beneficio sea máximo?. 1.5.8. Una multinacional farmacéutica desea fabricar un compuesto nutritivo a base de dos productos A y B. El producto A contiene 30% de proteínas, un 1% de grasas y un 10% de azúcares. El producto B contiene un 5% de proteínas, un 7% de grasas y un 10% de azúcares. El compuesto tiene que tener, al menos, 25g. de proteínas, 6g. de grasas y 30g. de azúcares. El coste del producto A es de 0.6 pts/g. y el de B es de 0.2 pts/g. ¿Cuántos gramos de cada producto debe tener el compuesto para que el coste total sea mínimo?
38
OPTIMIZACIÓN DE SISTEMAS I
1.5.9. Una compañía minera tiene abiertas dos minas M1 y M2, desde las cuales transporta carbón a dos grupos G1 y G2 de una central térmica. De la mina M1 salen diariamente para la central 800T de antracita y de la mina M2 300T. De las 1100T, 500 tienen que ir hasta el grupo G1 y 600T hasta el grupo G2. El coste de cada tonelada transportada de M1 a G1 es de 60$, el de A1 a G2 de 80$, el de M2 a G1 de 40$ y el de M2 a G2 de 50$. ¿Cuántas toneladas hay que transportar desde cada mina hasta cada grupo para que el coste total sea mínimo?. 1.5.10. Una asociación agrícola tiene de dos parcelas: la parcela P1 tiene 400Ha de tierra utilizable y dispone de 500m3 de agua, mientras la parcela P2 tiene 900Ha de tierra utilizable y dispone de 1200m3 de agua. Los cultivos aconsejados son: remolacha y algodón. La remolacha consume 3m3 de agua por Ha y tiene un beneficio de 700$ por Ha y el algodón consume 2m3 de agua por Ha y tiene un beneficio de 500$ por Ha. Se ha establecido una cuota máxima por Ha para cada cultivo: 800 para la remolacha y 600 para el algodón, siendo el porcentaje total de terreno cultivado el mismo en cada parcela. Plantear el problema de programación lineal. 1.5.11. Una empresa constructora dispone de dos tipos de camiones C1 y C2 y quiere transportar 100T de arena a una obra. Sabiendo que dispone de 6 camiones tipo C1 con capacidad para 15T y con un coste de 4000pts por viaje y de 10 camiones tipo C2 con una capacidad de 5T y con un coste de 3000pts por viaje. a) b) c)
¿Cuál es el número posible de camiones que puede usar (gráficamente)? ¿Cuál es el número posible de camiones que debe usar para que el coste sea mínimo? ¿Cuál es el valor de dicho coste?.
1.5.12. Un quiosco de prensa vende bolígrafos a 20pts y cuadernos a 30pts. Llevamos 240pts y pretendemos comprar los mismos cuadernos que bolígrafos por lo menos. ¿Cuál será el número máximo de piezas que podemos comprar?
39
OPTIMIZACIÓN DE SISTEMAS I
1.5.13. Una compañía aérea dispone de dos tipos de aviones A1 y A2 para cubrir un determinado trayecto. El avión A1 debe hacer más veces el trayecto que el avión A2 pero no puede sobrepasar 120 viajes. Entre los dos aviones deben hacer más de 60 vuelos, pero menos de 200. En cada vuelo, A1 consume 900 litros de combustible y A2 700 litros. En cada viaje del avión A1 la empresa gana 30.000$ y 20.000$ por cada viaje del avión A2. a) b)
¿Cuántos viajes debe hacer cada avión para obtener el máximo de ganancias?. ¿Cuántos vuelos debe hacer cada avión para que el consumo de combustible sea mínimo?
1.5.14. Un joyero fabrica dos tipos de anillos: los anillos A1 precisan 1g. de oro y 5g. de plata vendiéndolos a $40 cada uno. Para los anillos tipo A2 emplea 1,5g. de oro y 1g. de plata y los vende a $50. El joyero dispone en su taller de 750g. de cada metal. ¿Calcular cuántos anillos debe fabricar de cada clase para obtener el máximo beneficio? 1.5.15. Electrón S.A. produce 2 tipos de monitores para PC; de 17” y 15” (conocidos como M17 y M15). Los pronósticos de mercado indican que será posible vender todos los monitores que se puedan producir para el siguiente mes. Cada monitor pasa por un proceso en el departamento electrónico (DE) y otro en el departamento mecánico (DM) y además es sometido a verificación de calidad en el dpto. CC. En el DE se disponen de 150 hrs. de operación, en el DM de 160 hrs. Por acuerdo con los trabajadores deben utilizarse al menos el 90% del total de una meta de 150 hrs. en el departamento de verificación de calidad CC. El monitor M17 tiene un costo de producción de $ 1,200 y se venderá a $ 1,700 y requiere de 10 hrs. de operación en el DE, 20 hrs en el DM y 30 hrs de control de calidad.
40
OPTIMIZACIÓN DE SISTEMAS I
El monitor M15 tiene un costo de producción de $ 1,000 y se venderá a $ 1,400 y requiere de 15 hrs. de operación en el DE, 10 hrs en el DM y 10 hrs de control de calidad. La gerencia de ventas por estrategia de ventas exige que se produzca al menos un monitor M15 por cada 2 monitores M17. E informa que se debe de cumplir con el pedido ya recibido de un cliente de por lo menos 4 monitores (en cualquier combinación M17 y M15). 1.5.16. La Smith Motors, Inc., vende automóviles normales y vagonetas. La compañía obtiene $300 de utilidad sobre cada automóvil que vende y $400 por cada vagoneta. El fabricante no puede proveer más de 300 automóviles ni más de 200 vagonetas por mes. El tiempo de preparación para los distribuidores es de 2 horas para cada automóvil y 3 horas para cada vagoneta. La compañía cuenta con 900 horas de tiempo de taller disponible cada mes para la preparación de automóviles nuevos. Plantee un problema de PL para determinar cuántos automóviles y cuántas vagonetas deben ordenarse para maximizar las utilidades. 1.5.17. La empresa La Preferida, del Valle de Ica, cultiva brócoli y coliflor en 500 acres de terreno en el valle. Un acre de brócoli produce $500 de contribución a las utilidades y la contribución de un acre de coliflor es de $1000. Debido a reglamentos gubernamentales, no pueden cultivarse más de 200 acres de brócoli. Durante la temporada de plantación, habrá disponibles 1200 horas-hombre de tiempo de plantadores. Cada acre de brócoli requiere 2.5 horas-hombre y cada acre de coliflor requiere 5.5 horas-hombre. Plantee un problema de PL para determinar cuántos acres de brócoli y cuántos de coliflor deben plantarse para maximizar la contribución a las utilidades. 1.5.18. Los supervisores de la producción de una refinería deben programar dos procesos de mezclado. Cuando se realiza el proceso 1 durante una hora se consumen 100 barriles de petróleo nacional y 300 barriles de petróleo importado. De manera similar, cuando se efectúa el proceso 2 durante una hora, se consumen 100 barriles de petróleo nacional y 200 barriles de petróleo importado, Con respecto a la producción, el proceso 1 genera 4,000 galones de gasolina y 1,750 galones de petróleo para uso doméstico por hora de operación. El proceso 2 genera 3,500 galones de gasolina y 2,250 galones de petróleo para uso 41
OPTIMIZACIÓN DE SISTEMAS I
doméstico, por hora. Para la siguiente corrida de producción, existen disponibles 1,200 barriles de petróleo nacional y 1 ,800 barriles de petróleo importado. Los contratos de ventas exigen que se fabriquen 28,000 galones de gasolina y 12,000 galones de petróleo para consumo doméstico. Las contribuciones a las utilidades por hora de operación son $1,000 y $1,100 para los procesos 1 y 2, respectivamente. a.
b.
42
Plantee un modelo de programación lineal para determinar el programa de producción que maximice la contribución total. Asegúrese de indicar las unidades de medición para sus variables de decisión y las unidades en las que se mide cada restricción. El Ministerio de Energía y Minas puede emitir un dictamen que limite la producción total de gasolina a no más de la mitad del petróleo que se fabrique para uso doméstico. ¿Qué restricción debe añadirse al modelo para plantear esta condición?
OPTIMIZACIÓN DE SISTEMAS I
CAPÍTULO 2 PROGRAMACION LINEAL: FORMULACIÓN DE PROBLEMAS
2.1.
EJERCICIOS FORMULADOS DE PROGRAMACION LINEAL
Ejercicio 2.1.1: Problema de transporte Un fabricante de jabón y detergentes tiene tres plantas, localizadas en Cincinnati, Denver y Atlanta. Los almacenes principales se encuentran en Nueva York, Boston, Chicago, Los Angeles y Dallas. En las tablas siguientes se proporcionan los requerimientos de ventas del próximo año para cada almacén y los costos de envío desde cada planta a cada almacén. Requerimientos de los almacenes Ubicación del almacén Nueva York Boston Chicago Los Angeles Dallas Total
Ventas anuales (miles de cajas) 50 10 60 30 20 ---170
Costos de envío de 1000 cajas de jabón De / A Cincinnati Denver Atlanta
Nueva York $ 120 210 150
Boston
Chicago
$ 150 220 170
$ 80 150 150
Los Angeles $ 250 100 240
Dallas $ 180 110 200
La capacidad de producción para las plantas de Cincinnatti, Denver y Atlanta son 100 mil, 60 mil y 50 mil cajas, respectivamente. La compañía quiere determinar un programa de entregas que minimice los costos totales de transporte de la compañía.
43
OPTIMIZACIÓN DE SISTEMAS I
FORMULACIÓN: Variables de Decisión: Sea: X11 = Número de cajas enviadas de la primera fábrica (Cincinnati) al primer almacén (Nueva York), en miles de cajas. Análogamente: X12, X13, X14, X15
=
Número de cajas enviadas de la primera fábrica (Cincinnati) al segundo, tercer, etc., almacén (Boston, Chicago, etcétera)
X21, X22, X23, X24, X25 =
Número de cajas enviadas de la segunda fábrica (Denver) al primer, segundo, etc., almacén.
X31, X32, X33, X34, X35 =
Número de cajas enviadas de la tercera fábrica (Atlanta) al primer, segundo, etc., almacén.
Función Objetivo: El objetivo es minimizar costos de transporte. Minimizar: Z =
120X11 + 150X12 + 80X13 + 250X14 + 180X15 + 210X21 + 220X22 + 150X23 + 100X24 + 110X25 + 150X31 + 170X32 + 150X33 + 240X34 + 200X35
El costo total es la suma de los productos, de cada fábrica a cada almacén, del costo de envío de la tabla multiplicado por el número de millares de cajas que se envían. Restricciones: Hay dos conjuntos de restricciones para este problema. El primero garantiza que se cumplirán las necesidades del almacén, entonces, para Nueva York: X11 + X21 + X31 = 50 Lo anterior estipula que la suma de las cajas que se envían a Nueva York de la primera fábrica (Cincinnati), la segunda (Denver) y la tercera (Atlanta) debe ser 50 mil cajas, el requerimiento de ventas de Nueva York. Para los otros almacenes se tiene: Boston: Chicago: 44
X12 + X22 + X32 = 10 X13 + X23 + X33 = 60
OPTIMIZACIÓN DE SISTEMAS I
Los Angeles: Dallas:
X14 + X24 + X34 = 30 X15 + X25 + X35 = 20
El segundo conjunto de restricciones garantiza que las fábricas no excedan sus capacidades de producción. De esta manera, para la fábrica de Cincinnati: X11 + X12 + X13 + X14 + X15 < 100 Esta expresión indica que la cantidad que se envía de la primera fábrica al primer almacén, al segundo, al tercero, etc., no debe exceder la capacidad de 100,000 cajas de la fábrica. En forma similar: Denver: Atlanta:
X21+ X22 + X23 + X24 + X25 < 60 X31 + X32+ X33 + X34 + X35 < 50
Por último, todas las X deben ser mayores o iguales que cero. La solución de este problema de programación lineal ofrecerá el programa óptimo de envíos (es decir, el de menor costo) para la compañía. Es un ejemplo de un tipo especial de problema, conocido, de manera bastante natural, como el problema de transporte. En resumen, la formulación completa de este problema es: Minimizar Z = 120X11 + 150X12 + 80X13 + 250X14 + 180X15 + 210X21 + 220X22 + 150X23 + 100X24 + 110X25 + 150X31 + 170X32 + 150X33 + 240X34 + 200X35 Sujeto a:
X11 + X21 + X31 = 50 X12 + X22 + X32 = 10 Restricciones de X13 + X23 + X33 = 60 requerimientos de X14 + X24 + X34 = 30 almacenes X15 + X25 + X35 = 20 X11 + X12 + X13 + X14 + X15 < 100 Capacidad X21 + X22 + X23 + X24 + X25 < 60 disponible de X31 + X32 + X33 + X34 + X35 < 50 fábricas
Condición de no negatividad X11, X12, …., ……, X35 > 0
45
OPTIMIZACIÓN DE SISTEMAS I
Ejercicio 2.1.2: Problema de mezcla Se obtienen distintos tipos de gasolina mezclando ciertas gasolinas que se obtienen directamente de las operaciones de refinería. En un proceso de refinamiento real hay varias gasolinas para mezcla, varias gasolinas que son productos finales (por ejemplo, distintos grados de gasolina para aviación y para motores) y varias características de importancia para la composición química de los diversos grados de gasolina (por ejemplo, octanaje, presión de vapor, contenido de azufre, contenido de goma). En este ejemplo simplificando se supondrá que la refinería sólo tiene dos tipos de gasolina para mezcla, con las características que se presentan en la siguiente tabla: Tabla 2.1. Características de las gasolinas para mezcla Mezclas disponibles Gasolina para mezcla, tipo 1 Gasolina para mezcla, tipo 2
Octanaje
Presión de vapor
Cantidad disponible
104
5
30 000 barriles
94
9
70 000 barriles
Estas gasolinas para mezcla pueden combinarse para obtener dos productos finales: gasolina para aviación y gasolina para motores. En la siguiente tabla se presentan las características que requieren estos productos finales. Tabla 2.2. Características de las gasolinas finales Productos finales Gasolina para aviación Gasolina para motores
Octanaje mínimo
Presión de vapor máxima
102
6
96
8
Ventas máximas 20 000 barriles Cualquier cantidad
Precio de venta (por barril) $45.10 $32.40
FORMULACIÓN: Variables de Decisión: Sea: X1 = Número de barriles de gasolina para la mezcla 1 utilizados en gasolina para aviación X2 = Número de barriles de gasolina para la mezcla 2 utilizados en gasolina para aviación 46
OPTIMIZACIÓN DE SISTEMAS I
X3 = X4 =
Número de barriles de gasolina para la mezcla 1 utilizados en gasolina para motores Número de barriles de gasolina para la mezcla 2 utilizados en gasolina para motores
Función Objetivo: La función objetivo es maximizar Z = Ingresos totales: Maximizar: Z = 45.10 (X1 + X2) + 32.40 (X3 + X4) = 45.10 X1 + 45.10 X2 + 32.40 X3 + 32.40 X4 Observe que X1 + X2 es la cantidad total de gasolina para aviación mezclada (en barriles); como se vende a 45.10 dólares por barril, los ingresos por este producto son 45.10 (X1 + X2). De manera análoga, los ingresos por la gasolina para motor son de 32.40 (X3 + X4) y la suma de estos términos representa los ingresos totales. Restricciones: Hay varios tipos de restricciones que afectan la forma en que la refinería mezclará su gasolina. La primera es el nivel de ventas o tamaño de la demanda, el hecho de que no pueden venderse más de 20 000 barriles de gasolina para aviación. Lo anterior puede expresarse así: X1 + X2 < 20 000 Otro conjunto de restricciones se refiere a las cantidades disponibles de las gasolinas para mezcla. Entonces: X1 + X3 < 30 000 Observe que X1 + X3 representa la cantidad total de gasolina para mezcla 1 (la suma de la cantidad utilizada en gasolina para aviación, X1, y la cantidad usada en gasolina para motores, X3). La ecuación anterior establece que la cantidad de gasolina para mezcla 1 no debe exceder la cantidad disponible, 30 000 barriles. Hay una restricción similar para la gasolina para la mezcla 2: X2 + X4 < 70 000 Otro conjunto de restricciones tiene que ver con el octanaje de las gasolinas finales. Recuerde que la cantidad total de la gasolina para aviación es X1 + X2 y su octanaje estará definido por las cantidades relativas de X1 + X2, de acuerdo con la siguiente fórmula:
47
OPTIMIZACIÓN DE SISTEMAS I
Octanaje de la gasolina para aviación
104 * X1 + 94 * X2 -------------------------X1 + X2
Las cifras 104 y 94 provienen de la tabla 2.1 y son los octanajes de las gasolinas para mezcla 1 y 2, respectivamente. En la tabla 2.2 se observa que el octanaje de la gasolina para aviación debe ser por lo menos 102, por lo cual se tiene la siguiente restricción: 104 X1 + 94 X2 ------------------- > 102 X1 + X2 Al acomodar la expresión para convertirla en restricción lineal, se tiene: 104 X1 + 94 X2 > 102 X1 + 102 X2 o (104 X1 – 102 X1) + (94 X2 – 102 X2) > 0, ó 2 X1 – 8 X2 > 0 Análogamente, para la gasolina para motores, se tiene: 104 X3 + 94 X4 > 96(X3 + X4) ó 8 X3 – 2 X4 > 0 El último conjunto de restricciones tiene que ver con los requisitos de presión de vapor de las gasolinas finales. En el caso de la gasolina para aviación, la restricción es: 5 X1 + 9 X2 < 6(X1 + X2) ó – X1 + 3X2 < 0 y el requisito de presión de vapor de la gasolina para motores es: 5 X3 + 9 X4 < 8(X3 + X4) ó – 3X3 + X4 < 0 En resumen, la formulación total del modelo de programación lineal es: Maximizar Z = 45.10X1 + 45.10X2 + 32.40X3 + 32.40X4 Sujeto a:
48
X1 + X2 < 20 000
Restricción de la demanda
X1 + X3 < 30 000 X2 + X4 < 70 000
Restricciones de disponibilidad de gasolina para mezclas
2 X1 – 8 X2 > 0 8 X3 – 2 X4 > 0
Restricciones de octanaje
OPTIMIZACIÓN DE SISTEMAS I
– X1 + 3X2 < 0 – 3X3 + X4 < 0
Restricciones de presión de vapor
Condición de no negatividad X1, X2, X3, X4 > 0 Ejercicio 2.1.3: Problema de programación de actividades Una empresa tiene un programa estricto de compromisos de entrega de un producto para los próximos seis meses. El costo de producción varía por mes, por los cambios anticipados en costos de materiales. La capacidad de producción de la compañía es de 100 unidades por mes con tiempo normal y hasta 15 unidades adicionales por mes con tiempo extra. La siguiente tabla muestra los requerimientos de entrega y los costos de producción por mes. Requerimientos y costos Mes Compromisos de entrega (unidades) Costo por unidad en tiempo normal Costo por unidad en tiempo extra
1
2
3
4
5
6
95
85
110
115
90
105
$30
30
32
32
31
32
$35
35
37
37
36
37
El costo de almacenar en inventario una unidad que no se vende es de dos dólares por mes. El problema de la compañía es determinar el número de unidades que debe producir cada mes en tiempo normal y tiempo extra para cubrir los requerimientos con el menor costo. La empresa no tiene unidades disponibles al iniciar el mes 1 y no quiere que sobren unidades al terminar el mes 6. FORMULACIÓN: Variables de Decisión: Sea: X1, X2, X3, X4, X5, X6 = Y1, Y2, Y3, Y4 , Y5 , Y6 =
Número de unidades producidas en tiempo normal cada mes Número de unidades producidas en tiempo extra cada mes
49
OPTIMIZACIÓN DE SISTEMAS I
I1, I2, I3, I4, I5 , I6
=
Número de unidades en almacén vendidas) al final de cada mes
(no
Función Objetivo: El objetivo es minimizar costos: Minimizar: Z = 30X1 + 30X2 + 32X3 + 32X4 + 31X5 + 32X6 + 35Y1 + 35Y2 + 37Y3 + 36Y4 + 37Y5 + 37Y6 + 2I1 + 2I2 + 2I3 + 2I4 + 2I5 + 2I6 La primera parte de esta expresión es el costo de la producción en tiempo normal multiplicado por las cantidades producidas en tiempo normal cada mes. La segunda parte representa el costo de producción en tiempo extra multiplicado por las cantidades que se producen en tiempo extra cada mes. La tercera parte es el costo de almacenamiento de las unidades que no se vendan, multiplicados por el número de unidades no vendidas cada mes. Restricciones: Las restricciones de la producción en tiempo normal son: Por último, se requiere un grupo de restricciones de enlace o de equilibrio para unir los períodos y asegurar que se cumplan los compromisos de entrega. Estas restricciones tienen la siguiente forma: (Fuentes de las unidades) = (Usos de las unidades) ó ⎡ Inventario ⎤ ⎡ Pr oducción en ⎤ ⎡ Pr oducción en ⎤ ⎡Compromisos ⎤ ⎡ Inventario ⎤ ⎢ Inicial ⎥ + ⎢tiempo normal ⎥ + ⎢ tiempo extra ⎥ = ⎢ de entrega ⎥ + ⎢ final ⎥ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ Para el mes 1, esto es: 0 + X1 + Y1 = 95 + I1 puesto que no hay inventario inicial. Al acomodar la ecuación: X1 + Y1 – I1 = 95 Para el mes 2: I1 + X2 + Y2 = 85 + I2, ó I1 + X2 + Y2 - I2 = 85 Para los otros meses: Mes 3: I2 + X3 + Y3 - I3 = 110 Mes 4: I3 + X4 + Y4 - I4 = 115 50
OPTIMIZACIÓN DE SISTEMAS I
Mes 5: Mes 6:
I4 + X5 + Y5 - I5 = 90 I5 + X6 + Y6 - I6 = 105
Puesto que el inventario final debe ser cero, la última restricción es: I6 = 0 En resumen, la formulación es: Minimizar: Z = 30 X1 + 30 X2 + 32 X3 + 32 X4 + 31 X5 + 32 X6 + 35 Y1 + 35 Y2 + 37 Y3 + 36 Y4 + 37 Y5 + 37 Y6 + 2 I 1 + 2 I 2 + 2 I 3 + 2 I 4 + 2 I 5 + 2 I6 Sujeto a:
X1 + Y1 I1 + X2 + Y2 I2 + X3 + Y3 I3 + X4 + Y4 I4 + X5 + Y5 I5 + X6 + Y6
- I1 = 95 - I2 = 85 - I3 = 110 - I4 = 115 - I5 = 90 - I6 = 105 X1 < 100 X2 < 100 X3 < 100 X4 < 100 X5 < 100 X6 < 100 Y1 < 15 Y2 < 15 Y3 < 15 Y4 < 15 Y5 < 15 Y6 < 15 I6 = 0
Restricciones de balance de inventario
Restricciones de producción en tiempo normal
Restricciones de producción en tiempo extra Restricción de inventario final
Condición de no negatividad X1, X2, X3, X4, X5, X6 > 0 Y1, Y2, Y3, Y4, Y5, Y6 > 0 I1, I2, I3, I4, I5, I6 > 0 Ejercicio 2.1.4: Problema de producción Una empresa fabricante de tostadoras eléctricas, debe tomar una decisión sobre la producción de un nuevo modelo. La empresa tiene la posibilidad de emplear 3 técnicas alternativas de producción: manual, semi-automática y mediante el empleo de robots.
51
OPTIMIZACIÓN DE SISTEMAS I
Los requerimientos de cada técnica se resumen en el siguiente cuadro:
Mano de Obra Especializada Mano de Obra no-especializada Tiempo de Taller de Ensamblado
TECNICA DE ENSAMBLADO Manual Semi-automática Robotizada 1 min 4 min 8 min 40 min 30 min 20 min 3 min 2 min 4 min
La disponibilidad de recursos para este producto son los siguientes: 4500 minutos de mano de obra especializada, 36000 minutos de mano de obra no-especializada y 2700 minutos de tiempo disponible de taller de ensamblado. El costo total de producción manual es de $7 por tostadora, de $8 por tostadora para la producción semi-automática, y de $8.5 por tostadora para la producción robotizada. Se necesita producir 1000 tostadoras. Calcular la cantidad de tostadoras que se debe producir con cada técnica de ensamblado. FORMULACIÓN: Variables de Decisión: Xi: Cantidad de tostadoras ensambladas con la técnica i: (= M, S, R) Función Objetivo: Se debe minimizar Costos Minimizar Z = 7 XM + 8XS + 8.5XR Restricciones: Disponibilidad de Recursos: Ensamblado Manual: 1 XM + 4 XS + 8 XR < 4,500 Ensamblado Semiautomático: 40 XM + 30 XS + 20 XR < 36,000 Ensamblado Robotizado 3XM + 2XS + 4XR < 2,700 Condición de Producción: XM + XS + XR = 1000 Condición de No Negatividad: XM > 0 , XS > 0 , XR > 0 52
OPTIMIZACIÓN DE SISTEMAS I
Ejercicio 2.1.5: Problema de asignación de personal El gerente de personal de “La Tortuga Veloz, S.A.”, está analizando la necesidad de mano de obra semi calificada durante los próximos seis meses. Se lleva 1 mes adiestrar a una persona nueva. Durante este período de entrenamiento un trabajador regular, junto con uno en adiestramiento (aprendiz), producen el equivalente a lo que producen 1.2 trabajadores regulares. Se paga $500 mensuales a quien está en entrenamiento, mientras que los trabajadores regulares ganan $800 mensuales. La rotación de personal entre los trabajadores regulares es bastante alta, del 10% mensual. El gerente de personal debe decidir cuántas personas necesita contratar cada mes para adiestramiento. En seguida se da el número de meses-hombre necesarios. También se desea tener una fuerza de trabajo regular de 110 al principio de julio. En cuanto al 1º de enero, hay 58 empleados regulares. Mes Enero Febrero Marzo
Meses-hombre requeridos 60 50 60
Mes Abril Mayo Junio
Meses-hombre requeridos 80 70 100
FORMULACIÓN: Este problema tiene un aspecto dinámico, ya que la fuerza de trabajo en cualquier mes depende de la fuerza de trabajo regular y en adiestramiento del mes anterior. Para cualquier mes, el número total de meses-hombre disponibles se puede expresar como sigue: Variables de Decisión Meses-hombre disponibles: Ri + 0.2Ai en donde: Ri = número de trabajadores regulares al principio del mes Ai = número de aprendices contratados en el mes. Función Objetivo El objetivo global del gerente de personal es minimizar el costo de personal Minimizar Z = 800 (R1 + R2 + R3 + R4 + R5 + R6) + 500 (A1 + A2 + A3 + A4 + A5 + A6)
53
OPTIMIZACIÓN DE SISTEMAS I
Restricciones Entonces los requerimientos de cada mes pueden expresarse por las restricciones: enero
R1 + 0.2A1
≥
60
febrero
R2 + 0.2A2
≥
50
marzo
R3 + 0.2A3
≥
60
abril
R4 + 0.2A4
≥
80
mayo
R5 + 0.2A5
≥
70
junio
R6 + 0.2A6
≥
100
julio (principio)
R7
≥
110
Debido a la rotación, el 10% de los trabajadores regulares se van cada mes. Así, el número de trabajadores regulares disponibles, por ejemplo, al principio de febrero sería: R2 = 0.9R1 + A1 En la misma forma, pueden escribirse las ecuaciones para el número de trabajadores disponibles al principio de cada mes: Enero febrero marzo abril mayo junio julio
R1 R2 R3 R4 R5 R6 R7
= = = = = = =
58 (dado) 0.9 R1 + A1 0.9 R2 + A2 0.9 R3 + A3 0.9 R4 + A4 0.9 R5 + A5 0.9 R6 + A6
Condición de No Negatividad: R1, R2, R3, R4, R5, R6, R7, A1, A2, A3, A4, A5, A6 > 0 Ejercicio 2.1.6: Problema de presupuesto militar Un gobierno ha dispuesto 7500 millones de dólares de su presupuesto general para fines militares. El 60% del presupuesto militar se usara para comprar tanques, aviones y misiles. Éstos pueden adquirirse a un costo por unidad de 3, 10 y 4 millones de dólares, respectivamente. Se ha 54
OPTIMIZACIÓN DE SISTEMAS I
decidido que se deben adquirir al menos 200 tanques y 200 aviones. Debido a la escasez de pilotos experimentados, también se ha decidido no comprar más de 300 aviones. Por razones estratégicas, la proporción de misiles respecto a aviones debe estar en el rango de ¼ a ½ .El objetivo es maximizar la utilidad total de esta armas, siendo las utilidades individuales 1, 3 y 2. Encuentre la solución óptima (ignore el hecho de que la respuesta deba darse en unidades enteras). FORMULACIÓN: Variables de Decisión: X1 = Cantidad de unidades de adquisición de tanques. X2 = Cantidad de unidades de adquisición de aviones. X3 = Cantidad de unidades de adquisición de misiles. Función Objetivo: Se debe maximizar la utilidad total de las armas: Maximizar: Z = 1 X1 + 3 X2 + 2 X3 Restricciones: Esta primera restricción nos indica la cantidad mínima que se deberá comprar de tanques es 200: X1 > 200 En esta segunda restricción nos indica la cantidad mínima que se deberá comprar de aviones es 200: X2 > 200 Según los datos mencionados no se pueden comprar más de 300 aviones debido a que no hay pilotos experimentados por tanto la siguiente restricción será: X2 < 300 También nos indica que por medidas estratégicas la proporción de misiles con respecto a aviones esta en el rango de ¼ a ½. 1 < 4
X3 < 1 X2 2
X3 > 1 ……...4X3 – X2 > 0 X2 4
X3 < 1 …………..2X3 – X2 < 0 X2 2
55
OPTIMIZACIÓN DE SISTEMAS I
La ultima restricción será:
3 X1 + 10X2 + 4X3 < 4500
Ya que el 60% del presupuesto general (7500) es destinado para fines militares y esta a su vez será igual a la suma de la cantidad de armas multiplicada por sus respectivos costos. En resumen la formulación completa de este problema es: Maximizar:
Z = 1X1 + 3X2 + 2X3
Sujeto a: Cantidad mínima de tanques: Cantidad mínima de aviones: Cantidad máxima de aviones: Relación de misiles con aviones: Presupuesto militar:
X1 > 200 X2 > 200 X2 < 300 4X3 – X2 > 0 2X3 – X2 < 0 3 X1 + 10X2 + 4X3 = 4500
Condición de No Negatividad: X1, X2, X3 > 0. Ejercicio 2.1.7: Problema de Mezclas. Un comerciante compra azúcar a granel y vende al detalle. Para venderla tiene dos alternativas: envases de 1 kg y envases de 5 kg. El precio de venta es $300 y $250 por kg respectivamente, y en el mercado del azúcar al detalle se pueden vender 20.000 kg en envases de 1 kg y 17.000 en envases de 5 kg. Debido a un contrato anterior se deben entregar 5.000 kg en envases de 5 kg a un determinado cliente. El comerciante se puede abastecer de azúcar desde dos proveedores. El primero le puede vender hasta 15.000 kg a un precio de $90 por kg, y el segundo le ofrece la cantidad de azúcar que el comerciante desee, pero a un precio de $110 por Kg. y debido a requerimientos de sus distribuidores el comerciante debe vender menos del tercio del azúcar en envases de 1 kg. Además, suponga que el precio de los envases y el proceso de envasado son nulos, y que el comerciante no tiene azúcar almacenada y vende todo el azúcar que compra.
56
OPTIMIZACIÓN DE SISTEMAS I
Formule un problema de programación lineal que permita al comerciante decidir cual es el plan de abastecimiento y ventas de modo de obtener el mayor beneficio en su negocio. FORMULACIÓN: Variables de Decisión X i j : Cantidad , en kilogramos, de azúcar que van en envases de i (=A, B) suministrada por los proveedores j(= 1,2) Donde A: envases de 1 Kg. y B: envases de 5 Kg. 1: Proveedor uno y 2: Proveedor 2 Función Objetivo Maximizar Z = $300(XA1 + XA2) + $250(XB1 + XB2) - $90(XA1 + XB1) - $110(XA2 + XB2) Maximizar Z = 210XA1 + 190 XA2 + 160 XB1 + 140XB2 Esta ecuación establece que el mayor beneficio en el negocio del comerciante se forma con el ingreso obtenido de las ventas del azúcar en envases de 1Kg y envases de 5Kg (Trescientos dólares multiplicados por la sumatoria de los kilogramos del azúcar de 1 kg. del proveedor 1 2) menos el costo por la adquisición del azúcar del proveedor 1 (Noventa dólares multiplicados por la sumatoria del azúcar del proveedor 1 en envases de 1 Kg. Y 5 Kg.) menos el costo por la adquisición del azúcar del proveedor 2 (Ciento diez dólares multiplicados por la sumatoria del azúcar del proveedor 2 en envases de 1 Kg. Y 5 Kg.). Restricciones Ventas en el mercado de azúcar Contrato anterior Abastecimiento del azúcar Requerimiento de distribuidores
R1
(XA1 + XA2) ≤ 20,000 Kg.
R2 R3
(XB1 + XB2) ≤ 17,000 Kg. (XB1 + XB2) ≥ 5,000 Kg
R4
(XA1 + XB1) ≤ 15,000 Kg.
R5
(XA2 + XB2) ≥ 0.
R6
(XA1 + XA2) ≤ ⅓(XA1 + XA2 + XB1 + XB2) ⅔XA1 + ⅔XA2 - ⅓XB1 + ⅓XB2 ≤ 0
57
OPTIMIZACIÓN DE SISTEMAS I
Condición de No Negatividad Xij ≥ 0 ∀i = A, B ∀ j = 1. 2 Ejercicio 2.1.8: Planificación de Personal Las enfermeras de un hospital llegan cada 4 horas y trabajan en turnos de 8 horas continuas. La administración ha decidido la idea de definir 6 cambios de turno al día para minimizar las distracciones y los problemas de comunicación que ocurren en los cambios de turno. El hospital ha realizado un análisis del trabajo requerido durante cada uno de los seis períodos del día. Las características de cada período son las siguientes: Número Período Mínimo Enfermeras 2 AM - 6 AM 1 25 6 AM - 10 AM 2 60 10 AM - 2 PM 3 50 2 PM - 6 PM 4 35 6 PM - 10 PM 5 55 10 PM - 2 AM 6 40 HORA DEL DIA
Las enfermeras que empiezan a trabajar en los períodos 2, 3 y 4 ganan US$40 al día, y aquellas que comienzan en los períodos 1, 5 y 6 ganan US$50 al día. ¿Cuántas enfermeras deben empezar a trabajar en cada turno para minimizar los costos por salarios? FORMULACIÓN: Variables de Decisión En este caso podemos identificar como variable de decisión el número de enfermeras Ni que comienza a trabajar en el turno "i" (i = 1 : : : 6). Función Objetivo El objetivo será disminuir costos Minimizar Z = 50 N1 + 40 N2 + 40 N3 + 40 N4 + 50 N5 + 50 N6
58
OPTIMIZACIÓN DE SISTEMAS I
Restricciones Para construir las restricciones es conveniente recurrir a una representación gráfica de los turnos:
De la gráfica anterior se observa que en cada turno trabajan las enfermeras que comenzaron en dicho turno, pero también las que empezaron en el turno anterior. Por lo tanto, las restricciones de personal mínimo por turno quedan: N1 + N2 ≥ N2 + N3 ≥ N3 + N4 ≥ N4 + N5 ≥ N5 + N6 ≥ N6 + N1 ≥
60 50 35 55 40 25
Condición de No Negatividad Ni ≥ 0 ∀i = 1, 2, …., 6 Ejercicio 2.1.9: Programación de la producción Aceros Arequipa produce un acero especial usado en la industria de la construcción. El departamento de ventas de Aceros Arequipa ha recibido pedidos de 2400, 2200, 2700 y 2500 toneladas de acero para cada uno de los siguientes cuatro meses. La empresa puede satisfacer estas demandas produciendo el acero, extrayéndolo de su inventario, o usando cualquier combinación de las dos alternativas. Se proyecta que los costos de producción por tonelada de acero durante cada uno de los siguientes cuatro meses sean de $7400, $7500, $7600 y $7650. Como los costos suben cada mes, debido a las presiones inflacionarias, tal vez sea mejor que Aceros Arequipa produzca más acero del que necesita en un mes determinado y que almacene el exceso. La capacidad de 59
OPTIMIZACIÓN DE SISTEMAS I
producción, sin embargo, no puede exceder las 4000 toneladas en ningún mes. La producción mensual se termina al final del mes, cuando la demanda se satisface. Cualquier acero remanente se almacena en inventario a un costo de $120 por tonelada por cada mes que permanece allí. Estos datos se resumen en la siguiente tabla:
Demanda (tons) Costo de producción ($/ton) Costo de inventario ($/ton/mes)
Mes 1 2400 7400 120
Mes 2 2200 7500 120
Mes 3 2700 7600 120
Mes 4 2500 7650 120
Si el nivel de producción se incrementa de un mes al siguiente, entonces la compañía incurre en un costo de $50 por tonelada de producción incrementada para cubrir la mano de obra adicional y/o el tiempo extra. Cada tonelada de producción disminuida incurre en un costo de $30 para cubrir los beneficios de empleados no utilizados. El nivel de producción durante el mes anterior fue de 1800 toneladas, y el inventario que comienza es de 1000 toneladas. El inventario al final del cuarto mes debe ser de al menos 1500 toneladas para cubrir la demanda anticipada. Formule un plan de producción para Aceros Arequipa que minimice los costos totales en los siguientes cuatro meses. FORMULACIÓN: Variables de Decisión Pi = Cantidad, en toneladas, de acero que se produce en el mes i(=1,2,3,4). Ii = Cantidad, en toneladas, de acero que se quedan en el inventario al final del mes i(=1,2,3,4). Ai = Aumento, en toneladas, de la producción de acero en el mes i(=1,2,3,4) Di = Disminución, en toneladas, de la producción de acero en el mes i(=1,2,3,4) Función Objetivo Minimizar Z: costo de Producción + costo de Inventario + costo por Aumento de producción. + costo por Disminución de producción 7400*P1 + 7500*P2 + 7600*P3 + 7650* P4 +120*( I1 + I2 + I3 + I4) + 50* (A1 + A2 + A3 + A4) + 30*(D1 + D2 + D3 + D4)
60
OPTIMIZACIÓN DE SISTEMAS I
Restricciones: P0 = 1800 Producción del mes anterior al mes 1. P1 < 4000 Cantidad máxima de producción en el mes 1 P2 < 4000 Cantidad máxima de producción en el mes 2 P3 < 4000 Cantidad máxima de producción en el mes 3 P4 < 4000 Cantidad máxima de producción en el mes 4 I0 = 1000 Inventario inicial del mes 1 es 1000 toneladas I4>= 1500 Inventario para el mes 4 es al menos 1500 toneladas Relación Contable Mes Inventario Inicial + Producción – Inventario Final = Demanda 1 I0 + P1 I1 = 2400 2 I1 + P2 I2 = 2200 + P3 I3 = 2700 3 I2 4 I3 + P4 I4 = 2500 Relación de Aumento y Disminución de Producción Mes 1 P1 – P0 – A1 + D1 = 0 Mes 2 P2 – P1 – A2 + D2 = 0 Mes 3 P3 – P2 – A3 + D3 = 0 Mes 4 P4 – P3 – A4 + D4 = 0 El artificio para esta restricción es darle un valor positivo a Ai si la diferencia de producción de un mes a otro es positivo o darle un valor positivo a Di si la diferencia es negativa. Los dos valores (Ai y Di) no pueden ser positivas, uno de ellos es positivo y el otro cero, dado que la función objetivo determinará la más conveniente para minimizarlo. Condición de No Negatividad Ii > 0; para todo i(=1,2,3,4) Pi > 0; para todo i(=1,2,3,4) Ai > 0; para todo i(=1,2,3,4) Di > 0; para todo i(=1,2,3,4)
61
OPTIMIZACIÓN DE SISTEMAS I
2.2.
PROBLEMAS PROPUESTOS PARA FORMULAR DE PROGRAMACION LINEAL
2.2.1. PescaPerú S.A. desea determinar la mejor forma de cargar las bodegas de su bolichera “Sol” que le proporcione la mejor utilidad posible. “Sol” tiene una capacidad de carga total de 300 tn, divididas en 3 bodegas. La bodega-1 está designada para carga de camarones, la bodega-2 para mariscos y la bodega-3 para pescado. Por disposiciones de mercado a lo más deben de cargarse 130 tn de pescado y la carga de mariscos mas la de camarones no debe superar las 170 tn. Por medidas de seguridad, la carga en la bodega-2, no debe exceder a la tercera parte de la carga realizada en la bodega-3. La carga en la bodega-1, a lo más debe ser las dos quintas partes de lo cargado en la bodega-3. Las utilidades por ton. de camarones es de $1000, por ton de mariscos $700 y por pescado $ 600. 2.2.2. Bata para su campaña escolar, va a fabricar 3 modelos de calzado E1, E2 y E3. El proceso de manufactura del calzado hace que se requieran 2 operaciones de producción. Cada par de calzado de cualquier modelo requiere una hora de tiempo en la operación-1. En la operación-2 el modelo E1 requiere de 1 hora, el modelo E2 de 2 horas y el E3 de 2.5 horas. Bata cuenta con mano de obra suficiente para operar hasta 300 hrs. de tiempo semanal en la operación-1 y hasta 360 hrs. para la operación-2. Se ha calculado una utilidad de S/.14, S/16 y S/17 por cada par de calzado E1, E2 y E3 respectivamente. Se tiene un pronóstico de que la demanda del modelo E1 no será de mas de 500 pares por semana, y que l demanda combinada de los modelos E2 y E3 será como mínimo 300 pero no mas de 600. ¿Cuántos pares de calzado de cada modelo deben fabricarse para obtener la mayor utilidad?. 2.2.3. Dos aleaciones A y B se hacen de cuatro metales diferentes I, II, III, IV de acuerdo con las especificaciones siguientes.
62
OPTIMIZACIÓN DE SISTEMAS I
Aleación A B
Especificaciones A lo más 80% de I A lo más 30% de II Al menos 50% de IV Entre 40% y 60% de II Al menos 30% de III A lo más 70% IV
Los cuatro metales se extraen de diferentes minerales cuyos constituyentes en porcentaje de estos metales, cantidad máxima disponible y costo por tonelada se tabulan como sigue.
Constituyentes (%)
Mineral
Cantidad max. (tons)
I
II
III
IV
OTROS
Precio ($ / ton)
1
1000
20
10
30
30
10
30
2
2000
10
20
30
30
10
40
3
3000
5
5
70
20
0
50
Los precios de venta de las aleaciones A y B son 200 y 300 $/tonelada. Formule el problema como un modelo de programación lineal eligiendo la función objetivo apropiada que hará el mejor uso de la información dada [Sugerencia: sea xijk la cantidad (en toneladas) del metal i(i = I, II, III, IV) obtenida del mineral j(j = 1,2,3) y asignada en la aleación k-ésima (k = A, B).] 2.2.4. Una fábrica de zapatos ha pronosticado la demanda para los siguientes seis meses: 5.000, 6.000, 5.000, 9.000, 6.000 y 5.000 pares de zapatos respectivamente. A principios del mes 1, la empresa tiene 13 empleados. Cada empleado de la fábrica utiliza 15 minutos para producir un par de zapatos y trabaja al mes 150 horas y hasta 40 horas de tiempo extra. Asimismo, cada empleado recibe un salario de 2.000 dólares al mes más 50 dólares por cada hora de tiempo extra que trabaje. A principios de cada mes la empresa puede contratar o despedir empleados. A la empresa le cuesta 1.500 dólares contratar un trabajador y 1.900 dólares despedir un empleado. El costo mensual de almacenamiento de cada par de zapatos es igual al 3% del costo de producir un par de zapatos en tiempo normal. La materia prima necesaria para producir un par de zapatos cuesta 10 dólares.
63
OPTIMIZACIÓN DE SISTEMAS I
Formule un modelo de programación lineal, y resuélvalo utilizando el software SOLVER, de modo tal que minimice el costo de satisfacer la demanda de los siguientes seis meses. 2.2.5. La Corporación Financiera de Desarrollo (COFIDE) está estudiando un plan inversiones para los próximos dos años. Actualmente, COFIDE tiene tres millones de dólares para invertir. COFIDE espera recibir en 6, 12 y 18 meses un flujo de ingresos de las inversiones previas. En la siguiente tabla se presentan los datos: Ingresos de inversiones previas 6 MESES 12 MESES 18 MESES Ingreso $300,000 $400,000 $180,000 Hay tres proyectos de desarrollo (a los que llamaremos proyecto 1, proyecto 2 y proyecto 3 en los que COFIDE está planeando participar. En la siguiente tabla se muestra el flujo de caja que se tendría si COFIDE participara a un nivel del 100% en el proyecto 1 (los números negativos son inversiones y los positivos son ingresos). Así, para participar en el proyecto 1 a un nivel de 100% COFIDE tendría que desembolsar de inmediato $1,000,000. A los seis meses erogaría otros $700,000, etc.
Ingreso
TABLA 1: Flujo de Caja del Proyecto 1 INICIAL 6 MESES 12 MESES 18 MESES 24 MESES -$1,000,000 -$700,000 $1,800,000 $400,000 $600,000
En las siguientes tablas se muestran los flujos de caja de los proyectos 2 y 3: TABLA 2: Flujo de Caja del Proyecto 2 INICIAL 6 MESES 12 MESES 18 MESES 24 MESES Ingreso -$800,000 $500,000 -$200,000 -$700,000 $2,000,000 TABLA 3: Flujo de Caja del Proyecto 3 Ingreso
64
INICIAL 6 MESES 12 MESES 18 MESES 24 MESES -$500,000 $100,000 -$200,000 $300,000 $1,000,000
OPTIMIZACIÓN DE SISTEMAS I
Debido a la política de COFIDE la inversión mínima en cada uno de los tres proyectos tiene que ser de $100,000. A COFIDE no se le permite pedir prestado dinero. Sin embargo, al comienzo de cada período de 6 meses todos los fondos excedentes (esto es, los que no sean colocados en los proyectos 1, 2 y 3) se invierten con un interés del 7% para este período de 6 meses. COFIDE puede participar en cualquiera de los proyectos a un nivel menor que el 100%, en cuyo caso todos los flujos de efectivo de ese proyecto se reducirán en forma proporcional. Por ejemplo, si COFIDE opta por participar en el proyecto 1, a un nivel de 30%, el flujo de caja asociado con esta decisión sería 0.3 veces los datos de la Tabla 1. El problema que actualmente encara COFIDE es decir qué parte de los tres millones en efectivo debe invertirse en cada proyecto y cuánto debe colocarse simplemente por la renta del 7% semestral. La meta del administrador consiste en maximizar el efectivo que habrá al final de los 24 meses. Formule este problema como modelo de programación lineal. 2.2.6. Gracias a una adecuada estrategia de marketing y a la calidad del producto, cierta pequeña fábrica de canastos de mimbre ha recibido pedidos que superan su actual capacidad de producción. Durante las próximas cuatro semanas debe entregar 52, 65, 70 y 85 canastos, respectivamente. Actualmente cuenta con seis artesanos. La gerencia general de la fábrica ha decidido contratar personal nuevo para poder cumplir sus compromisos comerciales. Dada la escasez de artesanos, se deberá contratar personal sin experiencia. Un novato puede ser entrenado para llegar a ser aprendiz durante una semana. La segunda semana trabaja como aprendiz para ganar experiencia. Comenzando la tercera semana (después de dos semanas de trabajo) se transforma en artesano. La producción estimada y sueldos de los empleados es la siguiente:
65
OPTIMIZACIÓN DE SISTEMAS I
PRODUCCIÓN Canastos/sem ana Artesano dedicado sólo a la producción 10 Artesano dedicado a prod. y entrenamiento 5 Aprendiz 5 Novato 1
SALARIOS $/semana 30.000 40.000 15.000 5.000
Cada artesano puede entrenar hasta dos novatos por semana (el entrenamiento de un novato sólo dura una semana). Todo excedente de producción semanal puede ser guardado para cumplir los siguientes compromisos comerciales. Los analistas de la empresa estiman que la demanda semanal de canastos difícilmente superará los noventa canastos, por lo que han decidido terminar el período sin novatos y aprendices, pero con al menos nueve artesanos. Los reglamentos sindicales de la empresa prohíben los despidos por reducción de personal. Formule un modelo de programación lineal que permita definir las contrataciones a realizar, de modo de cumplir los compromisos comerciales a costo mínimo.
66
OPTIMIZACIÓN DE SISTEMAS I
CAPÍTULO 3 EL MÉTODO SIMPLEX
El algoritmo del simplex provee una metodología rápida y efectiva para resolver problemas de programación lineal. El método simplex es un método que llega a la solución óptima a través de iteraciones sucesivas. Este método utiliza los conceptos básicos de álgebra matricial para determinar la solución de un problema lineal. Comienza una solución básica factible inicial y sucesivamente obtiene soluciones en las intersecciones que ofrecen mejores valores para la función objetivo. En cada iteración el método proporciona un indicador que evalúa la optimalidad de la solución encontrada, este indicador es el que nos permite identificar la solución óptima. DEFINICIONES Todo modelo de programación lineal, luego de habérsele agregado las variables de holgura y/o exceso, se convierte en un sistema de ecuaciones con n variables y m ecuaciones, siendo n>m, en donde las m restricciones del modelo dan origen a las m ecuaciones del sistema. Una solución de tal sistema es un vector n-dimensional que satisface la relación Ax = b. Solución básica.- Es aquella solución en la que (n – m) variables se han igualado a cero y los valores de las m variables restantes se han determinado resolviendo las m ecuaciones con m variables. Una solución de este tipo puede tener como máximo m componentes no nulos. Solución básica no degenerada.- Es una solución básica que tiene exactamente m componentes no nulos. Solución básica degenerada.- Es una solución básica que tiene menos de m componentes distintos de cero. PROPIEDADES DE LAS SOLUCIONES El problema de programación lineal consiste en hallar el vector columna X que es solución de: a11x1 + a12x2 + . . . + a1nxn = b1 (1) a21x1 + a22x2 + . . . + a2nxn = b2 ... ... ... ... .. am1x1 + am2x2 + . . . + amnxn = bm 67
OPTIMIZACIÓN DE SISTEMAS I
que haga máximo a: z = c1x1 + c2x2 + . . . + cnxn
(2)
y de tal manera que las variables Xj estén sujetas a las condiciones: xj >= 0 ; j= 1, 2, ..., n (3) En las ecuaciones (1), se supone que: 1. Algunas de las restricciones pueden haber sido desigualdades antes de que les fueran sumadas o restadas nuevas variables para convertirlas en ecuaciones. 2. Todas las bi >= 0, lo cual puede requerir que algunas de las ecuaciones deba multiplicarse por – 1. 3. n > m, y A es de orden m x n. La función (2) es la función objetivo, se observará que se ha definido el problema general de programación lineal como un problema de maximización, que es el problema que se presenta más frecuentemente en la práctica. TEOREMA 1. - Dado un problema de programación lineal, en el cual no puedan existir soluciones básicas factibles degeneradas y en el que se ha formado una solución básica factible en función de las m primeras variables, puede formarse una nueva solución básica factible introduciendo la variable xk, tal que k > m, si al menos un elemento de la k-ésima columna de la matriz reducida es positivo. LA SOLUCIÓN ÓPTIMA Cada solución tiene un valor y la función objetivo controla cuál de las muchas soluciones es la óptima. Si aplicamos el teorema 1 podemos, efectivamente, encontrar dicha solución óptima. TEOREMA 2.- Dado un problema de programación lineal en el cual son imposibles las soluciones básicas factibles degeneradas, en el que la solución óptima es única y donde pueden formarse soluciones básicas factibles adicionales, la solución máxima debe ser una solución factible. ELECCIÓN DE LA VARIABLE DE ENTRADA Si se sabe de qué tipo es la solución óptima y cómo generar una solución de tal índole a partir de otra, se necesita una regla que permita decidir qué variable se debe introducir en la nueva solución.
68
OPTIMIZACIÓN DE SISTEMAS I
TEOREMA 3.- Supongamos que tenemos un problema de programación lineal y una solución básica factible del mismo. Si existe una variable Xk para la cual se puede realizar el cálculo de θ mediante su propia regla, se puede generar otra solución que aumente el valor de la función objetivo en un valor determinado de antemano. Por el teorema 1, tenemos que: Θ = min bi / aik , para todo aik >0 Y por el teorema 2 tenemos que: z’ = z + Θ(ck – zk) Puesto que estamos tratando de encontrar la solución máxima, es lógico exigir que z’ > z. Ya que z’ depende de la variable xk que elegimos, es lógico también requerir que k se elija de forma que el cambio del valor de la solución, z’ – z, resulte tan grande como sea posible, como quiera que esto no sucede normalmente, es necesario el cálculo de todas las θ posibles. En vez de hacer esto, el método usual consiste en determinar como variable que formará parte de la nueva solución, la que satisface ck – zk = max ( cj –zj) Esta es la regla llamada del “ascenso más rápido”. EL ALGORITMO DEL SIMPLEX El algoritmo del Simplex presupone que ya se ha hallado una solución básica factible en el momento de iniciar las iteraciones. El procedimiento detallado para hallar la solución máxima del problema general de programación lineal es el siguiente: 1. a) b) c) 2.
Calculamos cj –zj para cada variable que no está en la presente solución. Si para al menos un j, cj –zj es positivo y si al menos un aij para este j es positivo, entonces existe una mejor solución factible. Si para un j, cj –zj es positivo, pero los aij para este j son no positivos, entonces la función objetivo no está acotada. Si cj –zj es no positivo para todo j, entonces la solución óptima se ha encontrado. Si estamos en el caso 1(a), identificamos la variable que da el mayor cj –zj como xk ( es la columna pivote). Llamamos xr a la variable que se reduciría a cero al aplicar la regla del θ (es la fila pivote). El elemento ark se llama elemento pivote.
69
OPTIMIZACIÓN DE SISTEMAS I
3.
4.
Dividimos la r-ésima fila por ark (elemento pivote), para reducir a 1 el correspondiente elemento de ark en la tabla siguiente. Efectuamos luego las operaciones de fila que reducirán a cero todos los otros aik . Repetimos los pasos 1, 2 y 3 hasta que en alguna tabla se cumpla la condición 1(c). Entonces se ha obtenido la solución óptima.
La teoría del método simplex asegura que la solución hallada en cada paso tiene un valor mayor, o al menos igual, que el de la solución anterior. Puesto que el número de soluciones básicas del sistema de ecuaciones es finito, el algoritmo debe converger hacia la solución óptima en un número finito de iteraciones. La experiencia ha demostrado que el número de iteraciones que deben efectuarse en la mayoría de los problemas que se encuentran en la práctica, oscila entre m y 2m . UN PROBLEMA DE MAXIMIZACIÓN El tipo más sencillo de problema con el que se trabaja en programación lineal es el de maximización, en el que todas las restricciones son de tipo “menor o igual que”. Problema.- Una empresa cuenta con 1000 toneladas del mineral b1, 2000 toneladas del mineral b2 y 500 toneladas del b3. A partir de dichos minerales pueden extraerse y fundirse los productos metálicos 1, 2 y 3. Los requerimientos de fabricación sobre los productos son los siguientes: Una tonelada del producto 1 requiere 5 toneladas de b1, 10 de b2 y 10 de b3. Una tonelada del producto 2 requiere 5 toneladas de b1, 8 de b2 y 5 de b3. Una tonelada del producto 3 requiere 10 toneladas de b1, 5 de b2 y nada de b3. El fabricante obtendrá $100 de utilidades por tonelada del producto 1, $200 por tonelada del producto 2 y $50 por tonelada del producto 3. La empresa desea determinar cuántas toneladas de cada producto que debe fabricar, a partir de los minerales aprovechables, para obtener las máximas utilidades de la operación.
70
OPTIMIZACIÓN DE SISTEMAS I
En este problema de programación lineal, las variables funcionales o de decisión son X1, X2 y X3, que representan las unidades a fabricar de los productos o niveles de actividad. El problema es encontrar el vector X que hace máxima a la función objetivo: Z = 100x1 + 200x2 + 50x3 y que satisface las restricciones: 5x1 + 5x2 + 10x3 <= 1000 10x1 + 8x2 + 5x3 <= 2000 10x1 + 5x2 <= 500
Cantidad disponible de mineral b1. Cantidad “ “ “ b2. Cantidad “ “ “ b3.
y la condición de no negatividad: x1 >= 0; x2 >= 0;
x3>= 0
Puesto que cada una de las restricciones es del tipo “menor o igual”, debemos sumar nuevas variables no negativa, variables de holgura, para obtener: 5x1 + 5x2 + 10x3 + s1 10x1 + 8x2 + 5x3 10x1 + 5x2
+ s2 + s3
= 1000 = 2000 = 500
Vemos inmediatamente que este problema tiene una solución básica inicial: s1 = 1000; s2 = 2000; s3= 500 Que no sólo es una solución básica inicial sino que también es factible. El significado físico de las nuevas variables puede ilustrarse razonando sobre s1. Esta representa, tanto en la primera solución como en todas las posteriores, la cantidad del mineral b1 sobrante en el programa. Si s1 resulta igual a cero en la última iteración, será debido a que el programa emplea todo el material b1 para fabricar todos los productos del mismo. Puesto que x1=x2=x3=0 en la primera solución, s1 es igual a la cantidad total del mineral útil b1. Puesto que de no usar el mineral, no resulta de ningún provecho para la empresa, el coeficiente de s1 en la función objetivo es cero. Cuando se ha hallado una solución básica factible inicial, se está en condiciones de iniciar las iteraciones, para lo cual disponemos toda la información en la tabla simplex inicial:
71
OPTIMIZACIÓN DE SISTEMAS I
cj ck 0 0 0
xk s1 s2 s3
b 1000 2000 500 zj 0 cj – zj
100 x1 5 10 10 0 100
200 50 x3 x2 5 10 8 5 0 5 0 0 200 50 u x2: variable entrante
0 s1 1 0 0 0 0
0 s2 0 1 0 0 0
0 s3 0 0 1 0 0
θ 200 250 100t s3: variable saliente
En la tabla simplex, la primera fila cj, son los coeficientes de las variables en la función objetivo. La primera columna ck, es la de los coeficientes de las variables básicas en la primera solución, la columna xk es la “solución” y contiene a las variables básicas de la presente solución, la siguiente columna b contiene el vector solución, es decir los valores que toman las variables básicas en la solución actual. La sub-matriz bajo las columnas x1, x2 y x3 son los vectores estructurales, es decir los coeficientes de las variables en las restricciones. La sub-matriz bajo las columnas s1, s2 y s3, es la matriz de vectores unitarios. Nótese que cada variable básica está colocada en la fila en la que aparece el 1 de su vector unitario. En la última columna se encuentra el cociente θ. En la penúltima fila de la tabla se encuentra zj que se calcula a partir de la expresión: Zj = Σ ci aij Y la última fila de la tabla, cj – zj, se obtiene restando de cada elemento de la primera fila cj el correspondiente elemento zj. En la solución básica factible inicial, las variables básicas son: s1=1000; s2 = 2000; s3 = 500. Para hacer la prueba de optimalidad a esta solución, evaluamos la última fila de la tabla, cj–zj, vemos que existen varios valores positivos, por lo tanto la solución puede ser mejorada. Por la regla del ascenso más rápido, escogemos como variable entrante en la siguiente solución a la variable x2 por tener el cj–zj más positivo. Para determinar la variable saliente, calculamos el cociente θ = min bi / aik para todo los aik >0, la variable saliente 72
OPTIMIZACIÓN DE SISTEMAS I
resulta ser aquella variable que tiene el θ mínimo. La variable saliente es s3. En la siguiente tabla se ingresa la variable x2 en lugar de s3, el elemento pivote 5 se reduce a la unidad dividiendo toda la tercera fila entre 5, y se realizan operaciones elementales de fila para reducir a cero los elementos sobre y bajo el elemento pivote y conseguir formar el vector unitario bajo la columna correspondiente a la variable x2, variable que en esta nueva solución, es variable básica. Se continúan con el algoritmo del Simplex. Son necesarias dos iteraciones para encontrar la solución óptima. A continuación se presentan las dos tablas sucesivas.
ck 0 0 200
cj xk b 500 s1 s2 1200 x2 100 zj 20000 cj – zj
100 x1 -5 -6 2 400 -300
200 x2 0 0 1 200 0
50 x3 10 5 0 0 50 u x2: variable entrante
0 s1 1 0 0 0 0
0 s2 0 1 0 0 0
0 s3 -1 -1.6 0.2 40 -40
0 s1 0.1 -0.5 0 5 -5
0 s2 0 1 0 0 0
0 s3 -0.1 -1.1 0.2 35 -35
θ 50t 240 sal --
Tabla de 1ra Iteración
Tabla Óptima: cj ck xk b 50 50 x3 s2 950 0 x2 100 200 zj 20500 cj – zj
100 x1 -0.5 -3.5 2 375 -275
200 x2 0 0 1 200 0
50 x3 1 0 0 50 0
Tabla de la 2da Iterac.
La solución óptima encontrada en la segunda iteración, se interpreta como sigue: x1 = 0 x2 = 100 x3 = 50 s1 = 0
No se fabrica el producto 1. Fabricar 100 tons. del producto 2. Fabricar 50 tons. del producto 3. Se consume todo el mineral b1.
73
OPTIMIZACIÓN DE SISTEMAS I
s2 = 950 Hay un sobrante de 950 tons. del mineral b2. s3 = 0 Se consume todo el mineral b3. Z = $22,500 Máximo beneficio. VARIABLES ARTIFICIALES MAXIMIZACIÓN CON RESTRICCIONES DADAS POR “IGUALDADES” Consideremos el mismo ejemplo de maximización, una de cuyas restricciones sea una igualdad. Podemos cambiar una restricción del problema, exigiendo que todo el mineral b2 sea utilizado en la producción. Esto se hace incluyendo una igualdad en la segunda restricción. Considerando las variables de holgura en la primera y tercera restricción, tenemos: 5x1 + 5x2 + 10x3 + s1 10x1 + 8x2 + 5x3 10x1 + 5x2
+ s2
= 1000 = 2000 = 500
Este sistema no tiene una solución básica inicial, y por lo tanto no se cumplen las condiciones para empezar el algoritmo del simplex. Para corregir esta situación, se introduce una “variable artificial” en la segunda restricción, para obtener: 5x1 + 5x2 + 10x3 + s1 10x1 + 8x2 + 5x3 10x1 + 5x2
+ a1 + s2
= 1000 = 2000 = 500
Ahora se tiene la solución básica inicial s1=1000; a1=2000; s2=500. Entonces, una “variable artificial” en una restricción cumple el papel de variable básica en su restricción. A pesar de que se ha corregido el problema para que tenga la forma correcta para empezar el algoritmo, esta no es una solución factible. Las variables artificiales representan “productos imaginarios”, por lo que cualquier valor que tome a1 no satisface la segunda restricción. Dejamos a1 en el sistema de forma que se pueda empezar el algoritmo, pero intentaremos sacarla de éste asignándole un coeficiente en la función objetivo igual a –M. La función objetivo se convierte entonces en: Z = 100x1 + 200x2 + 50x3 – M a1 Si Z se debe maximizar, a1 debe dejar la solución y por lo tanto debe hacerse igual a cero, puesto que M se considera un número muy 74
OPTIMIZACIÓN DE SISTEMAS I
grande, tan grande que puede dominar a los demás números que aparecen en el problema. El hecho de penalizar a la variable artificial en la función objetivo con un coeficiente M, se conoce como el método de la penalización. Cuando se realiza el algoritmo simplex en un problema que contiene variables artificiales, existen tres casos posibles: 1)
2) 3)
Antes de obtener la tabla en la cual todos los cj – zj <= 0, la variable artificial se reemplaza por otra variable. Tenemos entonces una solución básica factible y se continúa hasta determinar la solución óptima. En la tabla final en la cual todos los cj – zj <= 0, la variable artificial permanece en la solución pero es igual a cero. La solución del problema es entonces óptima y factible. Se obtiene una tabla en la cual todos los cj – zj <= 0, pero la variable artificial permanece en la solución con un valor positivo. En este caso, la solución es no factible, es decir, Z no puede optimizarse en función de los términos no negativos. Desde el punto de vista práctico esto significa que se está tratando de hacer algo imposible con los recursos disponibles.
Aplicando el método simplex a este problema, se concluye que no existe solución factible. Se da la condición (3) , puesto que a1 es igual a 950 en la tabla final. cj ck 0 -M 0
xk s1 a1 s2 zj cj-zj
0 -M 100
s1 a1 x2 zj cj-zj
50 -M 100
x3 a1 x1 zj cj-zj
100 x1 5 10 10 -10M 100+10M u
200 x2 5 8 5 -8M 200+8M
50 x3 10 5 0 -5M 50+5M
0 s1 1 0 0 0 0
-M a2 0 1 0 -M 0
0 s2 0 0 1t 0 0
750 1500 50 5000-1500M
0 0 1 100M 0
25 3 0.5 50-3M 150+3M
10 5 0 -5M 50+5M u
1 0 0 0 0
0 1 0 -M 0
-0.5t -1 1 0 -10-M
75 1125 50 8750-1125M
0 0 1 100
0.25 1.75 0.5 62.5-1.75M 137.5+1.75M u
1 0 0 50
0.1 -0.5 0 5+0.5M
0 1 0 -M
-0.05 -0.75 0.1t 7.5+0.75M
0
-5-0.5M
0
-7.5-0.75M
b 1000 2000 500 -2000M
0
75
OPTIMIZACIÓN DE SISTEMAS I
50 -M 200
x3 a1 x2 zj cj-zj
50 950 100 22500-950M
-0.5 -3.05 2 375+3.5M -275-3.5M
0 0 1 200 0
1 0 0 50 0
0.1 -0.5 0 5+0.5M -5-0.5M
0 1 0 -M 0
-0.1 -1.1 0.2 35+1.1M -35-1.1M
MAXIMIZACIÓN CON RESTRICCIONES FORMADAS POR DESIGUALDADES DEL TIPO “MAYOR O IGUAL QUE” Continuaremos con el problema que se viene tratando, pero alterado de forma tal que se requiere que al menos se usen 1000 tons. del mineral b2. Este requerimiento convierte la segunda restricción del problema es una restricción tipo “mayor o igual que”. Haciendo los cálculos apropiados y sumando y restando las nuevas variables que son necesarias, obtenemos: 5x1 + 5x2 + 10x3 + s1 10x1 + 8x2 + 5x3 10x1 + 5x2
– s2 + s3
= 1000 = 1000 = 500
que es el conjunto de ecuaciones que el vector solución X debe satisfacer a la vez que hace máximo la función objetivo: Z = 100x1 + 200x2 + 50x3 No se tiene una solución básica inicial factible, puesto que si tomamos x1=x2=x3=0, obtenemos s1=1000, s2= –1000, s3=500. Aquí la variable de exceso s2, que fue restada en la segunda restricción para convertir la desigualdad en igualdad, no cumple con la restricción de nonegatividad, lo que da lugar a una solución inicial básica no factible. Para tener una solución inicial básica factible, es necesario añadir una variable artificial a la segunda restricción. En la función objetivo esta variable artificial estará penalizado con el coeficiente –M, así: Max Z = 100x1 + 200x2 + 50x3 – Ma1 s. a.: 5x1 + 5x2 + 10x3 + s1 10x1 + 8x2 + 5x3 – s2 + a1 10x1 + 5x2 + s3 x1, x2, x3, s1, s2, s3, a1 >= 0
76
= 1000 = 1000 = 500
OPTIMIZACIÓN DE SISTEMAS I
Este sí es un problema factible, el método simplex da para este problema la siguiente solución: x1=0, x2=100, x3=50, s2=50, Z=22,500. Se cumple la segunda restricción con demasía o exceso, es decir el requerimiento de usar por lo menos 1000 tons. del mineral b2 se cumple, pues se usan 1050 tons., el exceso de 50 sobre el límite mínimo impuesto lo absorbe la variable de exceso s2. MINIMIZACIÓN La tabla simplex para un problema de minimización se dispone en la misma forma que para un problema de maximización. Las diferencias en el problema de minimización son: 1. 2. 3.
El valor de la solución decrece conforme avanzan las iteraciones. En cada iteración se selecciona como variable básica entrante, aquella cuyo valor cj – zj sea el más negativo. Para la variable básica saliente se sigue el mismo criterio de maximización. La solución óptima se alcanza cuando se tienen todos los cj–zj>=0.
Un problema de minimización puede ser resuelto como un problema de maximización, aplicando la regla: Min Z = Max ( – Z). El siguiente es un ejemplo de minimización. Min Z = 2x1 + 4x2 + x3 s.a. : x1 + 2x2 – x3 <= 5 2x1 – x2 + 2x3 = 2 – x1 + 2x2 + 2x3 >= 1 x1, x2, x3 >= 0 Sumando s1 y a1 respectivamente a la primera y segunda restricciones, restando s2 y sumando a2 a la tercera restricción, se tiene la siguiente solución por el método simplex: ck 0 M M
cj xk s1 a1 a2 zj cj-zj
0 M 1
s1 a1 x3 zj cj-zj
b 5 2 1 3M
11/2 1 ½ M+ ½
2 x1 1 2 -1 M 2-M
4 x2 2 -1 2 M 4-M
1 x3 -1 2 2 4M 1-4M
0 s1 1 0 0 0 0
0 s2 0 0 -1 -M M
M a1 0 1 0 M 0
M a2 0 0 1 M 0
½ 3 -½ - ½ +3M 5/2 -3M
3 -3 1 1-3M 3+3M
0 0 1 1 0
1 0 0 0 0
-½ 1 -½ -M ½ -M
0 1 0 M 0
½ -1 ½ M - ½ +2M
77
OPTIMIZACIÓN DE SISTEMAS I
0 2 1
0 0 1
s1 x1 x3
16/3 1/3 2/3
0 1 0
7/2 -1 ½
0 0 1
zj cj-zj
4/3
2 0
-3/2 11/2
1 0
6 1 1 1
2 3 1 1 1
3/2 -3 -1/2 -1/2 9/2
0 0 1 1 0
s1 s2 x3 zj cj-zj
1 0 0
-2/3 1/3 -1/3
-1/6 1/3 1/6
2/3 -1/3 1/3
0 0
1/3 -1/3
5/6 -5/6+M
-1/3 1/3+M
1 0 0 0 0
0 1 0 0 0
½ 1 ½ ½ -½+M
0 -1 0 0 M
Método Simplex: Problemas resueltos La empresa Industria Alfa importa componentes electrónicos para ensamblar dos modelos de computadoras personales. Uno de los modelos se denomina Deskpro Computer, y al otro, Portable Computer. Los administradores están interesados en elaborar el programa semanal de producción de ambos productos. El modelo Deskpro genera una contribución a las utilidades de $50 por unidad y el Portable genera una contribución de $40 por unidad. Se tendrán disponibles un máximo de 150 horas de ensamble para la producción de la semana siguiente. Cada unidad de Deskpro requiere de 3 horas de tiempo de ensamblado, y cada una de Portable requiere de 5 horas. Además, en estos momentos la empresa tiene en inventario sólo 20 monitores de los que se emplean en la Portable; por ello, no es posible ensamblar más de 20 unidades de este tipo. En el almacén sólo se dispone de 300 pies3 de espacio para el almacenamiento de estos nuevos productos. Cada unidad de Deskpro requiere de 8 pies3 de almacén y cada unidad de Portable requiere de 5 pies3. Determine el plan de producción que maximiza las utilidades. El modelo de programación lineal de este problema es el siguiente: x1 = Unidades del modelo Deskpro que se ensamblan. x2 = Unidades del modelo Portable que se ensamblan. Max Z = 50x1 + 40x2 s. a. : 3x1 + 5x2 1x2 8x + 5x2
<= 150 Horas de ensamble disponible. <= 20 Monitores disponibles para la Portable. <= 300 Espacio de almacén disponible. x1, x2 >= 0
Añadiendo una variable de holgura a cada restricción, el problema en la forma estándar es el siguiente: 78
OPTIMIZACIÓN DE SISTEMAS I
Max Z = 50x1 + 40x2 + 0s1 + 0s2 + 0s3 s. a. : 3x1 + 5x2 + s1 1x2 + s2 8x + 5x2 + s3 x1, x2, s1, s2, s3 >= 0
<= 150 <= 20 <= 300
La solución de este problema por el método simplex es el siguiente: Cj
50
40
0
0
0
Ck
Xk
b
x1
x2
s1
s2
s3
0
s1
150
3
5
1
0
0
0
s2
20
0
1
0
1
0
0
s3
300
8
5
0
0
1
0
0
0
0
0
0
50
40
0
0
0
Zj Cj - Zj
0
s1
75/2
0
25/8
1
0
0
s2
20
0
1
0
1
0
50
x1
75/2
1
5/8
0
0
1/8
1875
50
250/8
0
0
50/8
0
70/8
0
0
- 50/8
Zj
Cj - Zj
- 3/8
40
x2
12
0
1
8/25
0
- 3/25
0
s2
8
0
0
- 8/25
1
3/25
50
x1
30
1
0
- 5/25
0
- 5/25
1980
50
40
14/5
0
26/5
0
0
- 14/5
0
- 26/5
Zj
Cj - Zj
El plan de producción que maximiza las ganancias es el siguiente: x1 = 30 x2 = 12 s3 = 8 Z = $1980
Ensamblar 30 computadoras modelo Deskpro. Ensamblar 12 computadoras modelo Portable. No se emplean 8 monitores disponibles para la modelo Portable. Máxima ganancia. 79
OPTIMIZACIÓN DE SISTEMAS I
PROBLEMA Una fábrica de productos químicos produce dos tipos de solventes, 1 y 2. Los costos de producir estos solventes son de $2 y $3 por galón, respectivamente. Un estudio de mercado ha determinado que la demanda mínima del solvente 1 para el próximo mes será de 125 galones. Por su parte, la gerencia de producción ha dispuesto que la producción mínima total de los solventes para el próximo mes sea de 350 galones. El solvente 1 requiere dos horas de tiempo de proceso, y el solvente 2 requiere una hora para su proceso. Se disponen de 600 horas de proceso para la producción del siguiente mes. Determine el plan de producción óptimo. El modelo de programación lineal para este problema es el siguiente: x1 = Galones a fabricar del solvente 1. x2 = Galones a fabricar del solvente 2. Min Z = 2x1 + 3x2 s. a.: 1x1
>=
125
Demanda para el producto 1.
1x1 + 1x2 >=
350
Producción total mínima.
2x1 + 1x2
<=
600
Tiempo de procesamiento.
x1, x2 >= 0 Agregando las variables de holgura, exceso y artificiales al modelo para su solución por el método simplex se tiene: Min Z = 2x1 + 3x2 + 0s1 + Ma1 + 0s2 + Ma2 + 0s3 s. a.: 1x1 1x1 + 1x2 2x1 + 1x2
- s1
+ a1
- s2 + s3
x1, x2, s1, a1, s2, a2, s3 >= 0
80
>=
125
+ a2 >=
350
<=
600
OPTIMIZACIÓN DE SISTEMAS I
La solución de este problema por el método simplex es el siguiente: Cj
2
3
0
M
0
M
0
Ck
Xk
b
x1
x2
s1
a1
s2
a2
s3
M
a1
125
1
0
-1
1
0
0
0
M
a2
350
1
1
0
0
-1
1
0
0
s3
600
2
1
0
0
0
0
1
Zj -475M
2M
M
-M
M
-M
M
0
Cj - Zj
2-M 3-M
M
0
M
0
0
Al haber salido de la base la variable artificial a1, se elimina la columna a1 de la tabla. 2
x1
125
1
0
-1
0
0
0
M
a2
225
0
1
1
-1
1
0
0
s3
350
0
1
2
0
0
1
Zj -250-225M
2
M
-2+M
-M
M
0
Cj - Zj
0
3-M
2-M
M
0
0
Continuando con las iteraciones adicionales del método simplex, se obtiene la siguiente tabla simplex final: Cj
2
3
0
0
0
Ck
Xk
b
x1
x2
s1
s2
s3
2
x1
250
1
0
0
1
1
3
x2
100
0
1
0
-2
-1
0
s1
125
0
0
1
1
1
Zj
800
2
3
0
-4
-1
0
0
0
4
1
Cj - Zj
81
OPTIMIZACIÓN DE SISTEMAS I
El plan de producción que minimiza los costos es el siguiente: x1 = 250 x2 = 100 s1 = 125 Z = $800
82
Fabricar 250 galones del solvente 1. Fabricar 100 galones del solvente 2. Se fabrican 125 galones más del mínimo establecido del solvente1 Costo mínimo.
OPTIMIZACIÓN DE SISTEMAS I
CAPÍTULO 4 EL PROBLEMA DUAL
La Dualidad puede caracterizarse a través de la siguiente afirmación: Para todo problema de maximización de programación lineal existe un problema equivalente de minimización; y a la inversa, para todo problema de minimización de programación lineal existe un problema equivalente de maximización. Asociado a cualquier problema de programación lineal en su forma canónica: Max Z = c x (1) s.a. : A x <= b (2) x >= 0 (3) que se denomina el problema primal, se define el siguiente problema: Min W = bt y (4) s.a. : At y >= ct (5) y >= 0 (6) que se denomina el problema dual. En estos modelos se tiene que: c: Es un vector fila de n componentes. b : Es un vector columna de m componentes. A : Es una matriz de orden m x n. At es la transpuesta de A. x: Es un vector columna de n componentes, cuyos valores deben ser hallados para maximizar la función Z sujeta a las restricciones (2) y (3). y: Es un vector columna de m componentes, cuyos valores deben ser hallados para minimizar la función W sujeta a las restricciones (5) y (6). El problema dual tiene los mismos parámetros que el problema primal, pero en diferentes lugares. RELACIONES PRIMAL – DUAL: a) A todo programa lineal Primal, le corresponde un programa Dual. b) La función objetivo Z del programa Primal está dada por: Z = c x y las restricciones del Dual están dadas por: 83
OPTIMIZACIÓN DE SISTEMAS I
c)
d) e)
At y >= ct Como c es un vector fila de n componentes, entonces el Primal tiene n variables, mientras que el Dual tiene n restricciones. Por lo tanto cada variable del Primal corresponde a una restricción en el Dual. Como b es un vector columna de m componentes, entonces el primal tiene m restricciones ( A x <= b ), mientras que el Dual tiene m variables ( W = bt y). Por lo tanto, a cada restricción del Primal, corresponde una variable en el Dual. En el primal, el objetivo es maximizar la función Z, mientras que en el Dual, el objetivo es minimizar la función W. El rol del vector c en el Primal, corresponde al rol del vector b del programa Dual, y viceversa.
TEOREMA 1 Si x0 es una solución factible del programa primal P, y0 es una solución factible del programa Dual D, entonces Z0 = c x0 <= bt y0 = W0. TEOREMA 2 El Dual del programa Dual es el Primal. TEOREMA 3 El programa lineal P, expresado en forma estandarizada, tiene el Dual dado por D. Primal: Max Z = c x Sujeto a: Ax = b x >= 0
Dual: Min W = bt y Sujeto a: At y >= ct y sin restricción de signo (SRS).
El problema primal no siempre se presenta en su forma canónica, la siguiente tabla resume las reglas de transformación del problema primal a su correspondiente problema dual, sea cual sea la forma en que se presente el problema primal: Problema Primal Máx Mín Restricción1 i <= bi Restricción1 i = bi Restricción1 i >= bi Variable1 i >= 0 84
Problema Dual Mín Máx variable i >= 0 variable i SRS variable i <= 0 restricción i >= ci
OPTIMIZACIÓN DE SISTEMAS I
Variable1 i SRS Variable1 i <= 0
restricción i = ci restricción i <= ci
Reglas de transformación primal – dual 1 Cuando la función objetivo Primal es Max Z = cx PROPIEDADES PRIMAL – DUAL PROPIEDAD DE DUALIDAD DEBIL.- Si x es una solución factible para el problema Primal, y y es una solución factible para el problema Dual, entonces: c x <= bt y Esta desigualdad se cumple para cualquier par de soluciones factibles. PROPIEDAD DE DUALIDAD FUERTE.- Si x es una solución óptima para el problema primal, y y es una solución óptima para el problema Dual, entonces: c x = bt y Así, estas dos propiedades implican que c x < bt y para soluciones factibles si una o ambas no son óptimas para sus problemas respectivos, mientras que la igualdad se cumple cuando ambas son óptimas. PROPIEDAD DE SIMETRÍA.- Para cualquier problema Primal y su problema Dual, las relaciones entre ellas deben ser simétricas, debido a que el Dual de este problema Dual es el problema Primal. Así, las propiedades anteriores se cumplen sin importar cuál de los dos problemas se etiqueta como el problema Primal. TEOREMA DE DUALIDAD Las siguientes son las únicas relaciones posibles entre los problemas Primal y Dual: 1. Si un problema Primal tiene soluciones factibles y una función objetivo acotada ( y por lo tanto tiene solución óptima), entonces ocurre lo mismo para el problema Dual, de manera que se aplican tanto las propiedades de Dualidad Débil como la propiedad de Dualidad Fuerte. 2. Si uno de los problema tiene soluciones factibles y una función objetivo no acotada (y por lo tanto no tiene solución óptima), entonces el otro problema no tiene soluciones factibles.
85
OPTIMIZACIÓN DE SISTEMAS I
3. Si un problema no tiene soluciones factibles, entonces el otro problema no tiene soluciones factibles o bien la función objetivo es no acotada. CASO PARA EL ESTUDIO DEL PROBLEMA DUAL La empresa AgroTec fabrica dos tipos de fertilizantes denominados: 55-10 y 5-10-5. En cada caso, el primer valor se refiere al porcentaje que el producto final tiene de Nitrato químico, el segundo valor se refiere al porcentaje de Fosfato y el tercer valor al porcentaje de Potasio. El fertilizante se estabiliza con un material de relleno que es el barro. Por ejemplo, el 5-5-10 está elaborado con 5% de Nitrato, 5% de Fosfato, 10% de Potasio y 80% de barro. Los productos fabricados se venden a un mayorista que compra toda la cantidad que la empresa puede fabricar, y está dispuesto a pagar $71.50 por tonelada del 5-5-10 y $69.00 por tonelada del 5-10-5. Este mes la disponibilidad y costo de las materias primas son 1100 tons. de Nitrato a $200/ton., 1800 tons. de Fosfato a $80/ton. y 2000 tons. de Potasio a $160/ton. El barro está disponible en cantidades ilimitadas a $10/ton. No hay restricciones de mano de obra ni de empleo de maquinaria, sólo se tiene un costo de $15/ton. por concepto de mezclado de los fertilizantes. Es posible calcular el costo por cada tonelada del producto 5-5-10, de la siguiente manera: Costo del nitrato: 0.05 *($200) Costo del fosfato: 0.05* ($80) Costo del potasio: 0.10*($160) Costo del barro: 0.80* ($10) Costo total de materias primas: Costo de mezclado: Costo total:
= $10.oo = 4.oo = 16.oo = 8.oo $ 38.oo 15.oo $ 53.oo ======= De manera similar se determina el costo por tonelada del fertilizante 5-10-5, que resulta ser de $49.oo En el planteamiento del problema primal, se definen las variables: X1 = Toneladas del fertilizante 5-5-10 que deben fabricarse. X2 = Toneladas del fertilizante 5-10-5 que deben fabricarse.
86
OPTIMIZACIÓN DE SISTEMAS I
Función objetivo: Máx Z = 18.5x1 + 20x2 s.a. : 0.05x1 + 0.05x2
<= 1100
Disponib. de nitrato
0.05x1 + 0.10x2
<= 1800
Disponib. de fosfato
0.10x1 + 0.05x2
<= 2000
Disponib. de potasio
x1, x2 >= 0 Al plantear el problema dual, el objetivo es minimizar el uso de los recursos disponibles, de manera que el valor de los recursos que se usan en la fabricación de cada uno de los productos respectivos, sea igual o mayor que la contribución a las utilidades que reportan dichos productos. RELACIÓN ENTRE LA SOLUCIÓN ÓPTIMA PRIMAL Y LA SOLUCIÓN ÓPTIMA DUAL Cualquier problema dual puede solucionarse utilizando el algoritmo simplex, pero no es la ventaja clave de la dualidad. La principal importancia de la dualidad radica en la relación que existe entre los problemas primal y dual. Para explorar esta relación, continuaremos examinando el problema de la Agro-Tech. Para resolver el problema dual de la Agro-Tech usando el método simplex, se requieren restar una variable de exceso y sumar una variable artificial a cada restricción. Después de añadir estas variables, el problema se expresa como sigue: Minimizar Sujeto a:
W = 1,100y1 + 1,800y2 + 2,000y3 + 0s1 + 0s2 + Ma1 + Ma2 0.05y1 + 0.05y2 + 0.10y3 – 1s1 + 1a1 = 18.5 – 1s2 + 1a2 = 20 0.05y1 + 0.10y2 + 0.05y3 y1, y2, y3, s1, s2, a1, a2 ≥ 0
La solución del problema dual da como resultado un valor de W de 428,000 (véase la tabla 1), que es igual al valor óptimo de la función objetivo del problema primal, Z (tabla 2).
87
OPTIMIZACIÓN DE SISTEMAS I
TABLA 1. Tabla óptima para el planteamiento dual del problema con dos
fertilizantes. cj → ck -1,100 -1,800
xk y1 y2 zj
-1,100 -1,800 2,000
0
0
-M
-M
s2 20 -20
a1 40 -20
a2 -20 20
14,000
-8,000
-14,000
-8,000 -14,000
-M+ 8,000
-M+ 14,000
b y1 y2 y3 s1 340 1 0 3 -40 30 0 1 -1 20 -1,100 -1,800 -1,500 8,000 428,000
cj -zj
0
0
-500
NOTA: El valor negativo de Zd de 428,000 resulta en este caso porque el problema dual fue un problema de minimización que se resolvió utilizando el método simplex de maximización. Al interpretar el problema no se toma en cuenta el signo negativo.
TABLA 2. Tabla óptima del problema primal con dos fertilizantes. cj → ck 18.5 20 0
xk x1 x2 s3 zj cj -zj
b 8,000 14,000 500 428,000
18.5
20.0
0
0
0
x1 1 0 0 18.5 0
x2 0 1 0 20.0 0
s1 40 -20 -3 340 -340
s2 -20 20 1 30 -30
s3 0 0 1 0 0
Es evidente que en el caso de la solución dual, los cálculos necesarios para obtener la solución pueden ser más laboriosos, puesto que se requieren variables artificiales en el proceso de solución. Sin embargo, el concepto importante que debe observarse es la relación que existe entre el primal y el dual en el óptimo. En la solución óptima, los valores de la función objetivo de ambos problemas son iguales. Para cualquier otra solución dual (que no sea óptima) el valor dual de la función objetivo (W) será siempre mayor que el de cualquier valor primal factible (Z). Esto se muestra en forma gráfica en la figura 1.
88
OPTIMIZACIÓN DE SISTEMAS I
Valor de la función objetivo
Problema dual
W Valor óptimo _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Z Problema primal 0
Número de iteraciones
Figura 1. Relaciones entre los valores primal y dual.
La relación entre los valores de la función objetivo en el problema primal y en el dual, tiene una implicación importante para determinar el efecto que tienen cambios en los niveles de los recursos. Para el problema de la Agro-Tech la función objetivo en el dual es: Minimizar
W = 1,100y1 + 1,800y2 + 2,000y3
Puesto que el nivel óptimo del valor primal de la función objetivo Z es igual al valor dual W, puede determinarse el efecto de un cambio en un solo recurso escaso, por ejemplo el nitrato. En estos momentos la disponibilidad de nitrato es 1100 y la contribución al valor de la función objetivo en el dual es 1100y1. Si se aumenta la disponibilidad de nitrato en una unidad, el aumento resultante en W es (1100+1)y1 ó 1100y1+y1. El aumento en las utilidades en el dual para un aumento de una unidad en el nitrato es, por ello, numéricamente igual al valor de la variable dual correspondiente, y1. Dado que Z es igual a W en el nivel óptimo, un aumento de una unidad en el nitrato dará como resultado un aumento en el valor de la función objetivo del primal en una cantidad equivalente a y1. Así, se tiene una forma sencilla de determinar el efecto que tiene un cambio unitario en un recurso determinado. Si el cambio es un aumento unitario, la utilidad Z, aumentará en una cantidad equivalente al valor óptimo de la variable dual correspondiente. Una disminución unitaria en el nivel de un recurso dará como resultado una disminución correspondiente en el valor de la función objetivo en la solución óptima del problema primal. 89
OPTIMIZACIÓN DE SISTEMAS I
Para la Agro-Tech esto significa, como se verá, que un aumento de una tonelada en la disponibilidad de nitrato da como resultado $340 de aumento en las utilidades, en tanto que un aumento de una tonelada en el uso de fosfato da como resultado un aumento de $30 en las utilidades. Un aumento en la disponibilidad de potasio no tendrá impacto sobre las utilidades. Este último resultado es el que se esperaría, puesto que en la solución primal existen 500 toneladas de potasio que no se utilizaron (es un recurso sobrante). Al resolver el problema dual (es decir, al determinar las variables yi) puede determinase el efecto que tiene un cambio en un recurso sobre la función objetivo. Para resolver el dual, además de resolver el primal, se requiere doble esfuerzo. Por fortuna, los valores de las variables duales pueden encontrarse en la tabla óptima del primal. Esto se debe a que existe una variable de holgura para cada restricción primal y una variable dual asociada con cada una de las restricciones primales. A partir de esto, se forma una correspondencia de uno a uno entre las variables duales y las variables primales de holgura. Este concepto puede ilustrarse considerando de nuevo las tablas 1 y 2 asociadas con el problema de la Agro-Tech. En la tabla 2, la tabla óptima del primal, los valores de las variables duales están dados en el renglón Zj. Las variables duales son iguales al valor que aparece en el renglón Zj para las variables de holgura del primal (columnas s1, s2 y s3 de la tabla). Estos valores dan y1 = 340, y2 = 30 y y3 = 0, ya que s1 corresponde a la primera restricción del primal, s2 a la segunda y s3 a la tercera. Debido a la relación tan estrecha entre los planteamientos primal y dual, también es posible obtener la solución al problema primal en la tabla óptima dual. Observando la tabla 1, los valores óptimos para las variables de decisión primales, es decir, x1, y x2, son iguales a los valores que aparecen en el renglón Zj para las variables de excedente s1 y s2. Los valores son x1= 8000 y x2 = 14000 . Los valores de las variables artificiales en el dual no tienen ningún significado en el problema primal: Las variables artificiales se utilizan sólo para tener una solución factible básica inicial y no tienen interpretación física en el problema. El valor de las variables artificiales de la solución factible óptima siempre será cero.
90
OPTIMIZACIÓN DE SISTEMAS I
INTERPRETACIÓN ECONÓMICA DEL DUAL Las variables duales también tiene importantes interpretaciones económicas. Recuerde que cada una de las variables duales equivale a la utilidad adicional que puede obtenerse de una unidad adicional del recurso correspondiente. Es decir, y1=340 implica que cada tonelada adicional de nitrato produce $340 adicionales de utilidad; y2=30 implica que cada tonelada adicional de fosfato produce $30 de utilidad; y y3 =0 implica que no se obtienen utilidades adicionales al añadir toneladas extras de potasio. Cada uno de estos valores presupone que los demás permanecen iguales. Desde el punto de vista de la toma de decisiones en la administración, las variables duales indican la cantidad extra que se estaría en disponibilidad de pagar por una unidad adicional de un recurso específico. En otras palabras, estaríamos dispuestos a pagar un precio más elevado por un recurso escaso, hasta por el valor de la variable dual. Sólo nos interesa el excedente sobre el precio normal, puesto que el precio original del recurso se incluye en el cálculo de las variables. Por ejemplo, cada tonelada adicional de fosfato vale $30 y por ello estaríamos dispuestos a pagar a nuestro proveedor hasta $110 por tonelada ($80 del precio actual más $30 adicionales) por cada tonelada adicional de fosfato. En este caso, el aumento neto en la utilidad por tonelada adicional de recurso será la diferencia entre $30 y el precio más elevado que se pague. Si el proveedor cobrara $10 adicionales por todo el fosfato que exceda 1800 toneladas, se obtendrían $20 por cada tonelada adicional de fosfato. Si el cargo extra fuera $31, no estaríamos dispuestos a comprar el fosfato puesto que el excedente del precio estaría por encima de las utilidades adicionales que se obtendrían. Debido a que los valores de Zj de cada variable de holgura en la tabla simplex, indican el valor de una unidad adicional del recurso correspondiente, con frecuencia estos valores se denominan los precios sombra. El precio sombra es otro término para la variable dual. La relación entre los precios sombra como recurso y la función objetivo puede expresarse de la siguiente manera: el precio sombra para un recurso determinado refleja el impacto que tiene sobre la función objetivo un cambio unitario en el recurso, este impacto en el precio se mantiene mientras el cambio en el recurso se encuentre dentro de los límites determinados por el análisis de sensibilidad.
91
OPTIMIZACIÓN DE SISTEMAS I
Dualidad: Problemas resueltos La empresa Industria Alfa importa componentes electrónicos para ensamblar dos modelos de computadoras personales. Uno de los modelos se denomina Deskpro Computer, y al otro, Portable Computer. Los administradores están interesados en elaborar el programa semanal de producción de ambos productos. El modelo Deskpro genera una contribución a las utilidades de $50 por unidad y el Portable genera una contribución de $40 por unidad. Se tendrán disponibles un máximo de 150 horas de ensamble para la producción de la semana siguiente. Cada unidad de Deskpro requiere de 3 horas de tiempo de ensamblado, y cada una de Portable requiere de 5 horas. Además, en estos momentos la empresa tiene en inventario sólo 20 monitores de los que se emplean en la Portable; por ello, no es posible ensamblar más de 20 unidades de este tipo. En el almacén sólo se dispone de 300 pies3 de espacio para el almacenamiento de estos nuevos productos. Cada unidad de Deskpro requiere de 8 pies3 de almacén y cada unidad de Portable requiere de 5 pies3. Plantee el problema Dual y determine el precio unitario de cada recurso adicional en la solución óptima. El modelo del problema Primal es el siguiente: x1 = Unidades del modelo Deskpro que se ensamblan. x2 = Unidades del modelo Portable que se ensamblan. Max Z = 50x1 + 40x2 s. a. : 3x1 + 5x2 <= 150 Horas de ensamble disponible. 1x2 <= 20 Monitores disponibles para la Portable. 8x + 5x2 <= 300 Espacio de almacén disponible. x1, x2 >= 0 El problema Dual es el siguiente: y1 = Valor monetario de la hora de tiempo de ensamble. y2 = Valor monetario de la unidad de monitor para la Portable. y3 = Valor monetario del pie3 de espacio en el almacén. Min Z = 150y1 + 20y2 + 300y3 s. a. : 3y1 + 8y3 5y1 + 1y2 + 5y3 y1, y2, y3
92
>= 50 >= 40 >= 0
OPTIMIZACIÓN DE SISTEMAS I
El modelo en la forma estándar parar su solución con el método simplex es el siguiente: Min W = 150y1 + 20y2 + 300y3 + 0s1 + Ma2 + 0s2 + Ma2 s. a. : 3y1
+ 8y3 - s1
5y1 + 1y2 + 5y3
+ a1 - s2
= 50 + a2
= 40
y1, y2, y3, s1, a1, s2, a2 >=0 La solución por el método simplex es la siguiente: Cj
150
20
300
0
M
0
M
Ck
Xk
b
y1
y2
y3
s1
a1
s2
a2
M
a1
50
3
0
8
-1
1
0
0
M
a2
40
5
1
5
0
0
-1
1
Zj
-90M
8M
M
13M
Cj - Zj
150-8M 20-M 300-13M
-M
M
-M
M
M
0
M
0
300 y3
50/8
3/8
0
1
-1/8
0
0
M
70/8
25/8
1
0
5/8
-1
1
900+25M M
300
a2
Zj 15000+70M 8
8
Cj - Zj
-300+5M
-M
M
M
0
8
300-25M 20-M
0
8
300-5M 8
300 y3
26/5
0
-3/25
1
-5/25
3/25
150 y1
14/5
1
8/25
0
5/25
8/25
1980
150
12
300
30
12
0
-8
0
-30
-12
Zj Cj - Zj
93
OPTIMIZACIÓN DE SISTEMAS I
De la solución al problema Dual, se tiene la siguiente interpretación: y1 = 14/5 = $2.80
Valor de la hora adicional de tiempo de ensamble.
y2 = 0
Valor de un monitor adicional para la Portable.
y3 = 26/5
Valor de un pie3 adicional de espacio en el almacén.
W = $1980
Costo mínimo de los recursos adicionales.
PROBLEMA: En una mezcla de productos x1, x2, x3 y x4 representan las unidades de los productos 1, 2, 3 y 4 respectivamente. Se tiene el siguiente modelo de programación lineal: Max Z = 4x1 + 6x2 + 3x3 + 1x1 s. a.: 3/2x1 + 2x2 + 4x3 + 3x4 <= 500 Hrs. disponibles de maq. A 4x1 + 1x2 + 2x3 + 1x4 <= 700 Hrs. disponibles de maq. B 2x1 + 3x2 + 1x3 + 2x4 <= 200 Hrs. disponibles de maq. C x1, x2, x3 >= 0 a) Plantee el dual de este problema Min W = 500y1 + 700y2 + 200y3 s. a.: 1.5y1 + 4y2 + 2y3 >= 4 2y1 + 1y2 + 3y3 >= 6 4y1 + 2y2 + 1y3 >= 3 3y1 + 1y2 + 2y3 >= 1 y1, y2, y3 >= 0 b) Halle la solución óptima del primal o del Dual y determine qué máquina o máquinas trabajan a su máxima capacidad. Si se tratase de aumentar la producción ¿Que máquina o máquinas elegiría para contratar más horas? El valor de las variables duales en la solución óptima Dual también se puede determinar hallando la solución óptima del Primal. Se resolverá el Primal:
94
OPTIMIZACIÓN DE SISTEMAS I
Cj Ck
Xk
4
6
3
1
0
0
0
b
x1
x2
x3
x4
s1
s2
s3
0
s1
550
3/2
2
4
3
1
0
0
0
s2
700
4
1
2
1
0
1
0
0
s3
200
2
3
1
2
0
0
1
0
0
0
0
0
0
0
0
4
6
3
1
0
0
0
Zj Cj - Zj
0
s1 4162/3
1/6
0
10/3
5/3
1
0
-2/3
0
s2 6331/3
10/3
0
5/3
1/3
0
1
-1/3
6
x2
662/3
2/3
1
1/3
2/3
0
0
1/3
Zj
400
4
6
2
4
0
0
2
0
0
1
-3
0
0
-2
Cj - Zj
3
x3
125
3/60
0
1
15/30
3/10
0
-6/30
0
s2
425
195/60
0
0
-15/30 -5/10
1
0
6
x2
25
39/60
1
0
15/30 -1/10
0
12/30
1980
81/20
6
3
9/2
3/10 0
54/30
-1/20
0
0
-7/2
Zj
Cj - Zj
-3/10 0 -54/30
De la solución óptima del problema Primal, se tiene que los valores que toman las variables duales en la solución óptima son: y1 = 3/10 = $0.30 Valor de la hora adicional de la máquina A. y2 = 0 y3 = 54/30 = $1.80 Valor de la hora adicional de la máquina C. Las máquinas que trabajan a su máxima capacidad son las máquinas A y C, sus precios sombra son respectivamente $0.30 y $1.80. Si se tratase de elegir una de las dos máquinas para contratar horas adicionales y aumentar la producción, se elegiría la máquina C, por tener un mayor precio dual.
95
OPTIMIZACIÓN DE SISTEMAS I
96
OPTIMIZACIÓN DE SISTEMAS I
CAPÍTULO 5 ANALISIS DE SENSIBILIDAD Una vez que se ha resuelto un problema de programación lineal, puede darse el caso de que uno o varios parámetros de la formulación del problema original, tales como los precios unitarios o la disponibilidad de ciertos recursos cambien, dando origen a un nuevo problema. Si esto sucede, ¿Es necesario volver a resolver el problema desde el principio? La respuesta afortunadamente es no, porque existen métodos, llamados de análisis de sensibilidad, que permiten ahorrar muchas iteraciones, al resolver el nuevo problema partiendo de la solución óptima del problema original. El análisis de sensibilidad permite determinar el impacto del cambio en el modelo sin repetir el proceso de solución completo. Al estudiar y analizar el impacto que tiene cambiar el parámetro de un modelo, es deseable calcular los límites de un cambio, es decir, es deseable saber por ejemplo cuánto puede cambiarse un coeficiente específico de la función objetivo o un valor dado del segundo término de una restricción, sin cambiar la solución óptima que se tiene. Si el cambio propuesto de algún parámetro cae dentro de los límites permitidos de cambio, entonces no ocurre ningún cambio en la solución óptima y no es necesario resolver un problema nuevo. Si el cambio que se propone cae fuera de los límites, entonces la solución óptima existente ya no será óptima y deberá calcularse de nuevo la solución óptima del problema. Los procedimientos del análisis de sensibilidad permiten calcular estos límites del cambio. Se estudiaran varios casos de análisis de sensibilidad. Supongamos que tenemos el siguiente problema de programación lineal referente a la producción de tres tipos de fertilizantes: x1 = Toneladas de fertilizante 5-5-10 que se deben fabricar. x2 = Toneladas “ “ 5-10-5 “ “ “ “ x3 = Toneladas “ “ 5-5-5 “ “ “ “ Se trata de determinar qué combinación de producción de fertilizantes proporciona la máxima utilidad. Max Z = 18.5x1 + 20x2 + 14.5x3
97
OPTIMIZACIÓN DE SISTEMAS I
s.a.: 0. 05x1 + 0.05x2 + 0.05x3 <= 1100 Tons. disponibles de Nitrato 0. 05x1 + 0.10x2 + 0.05x3 <= 1800 Tons. disponibles de Fosfato 0.10x1 + 0.05x2 + 0.05x3 <= 2000 Tons. disponibles de Potasio x1, x2, x3 >= 0 La solución óptima para este problema es la que se muestra en la tabla 1. Cj Xk x1 x2 s3
Ck 18.5 20.0 0 Zj
Cj-Zj
b 8,000 14,000 500 428,000
18.5 x1 1 0 0 18.5 0
20 x2 0 1 0 20 0
14.5 x3 1 0 -0.05 18.5 -4.0
0 s1 40 -20 -3 340 -340
0 s2 -20 20 1 30 -30
0 s3 0 0 1 0 0
Tabla 1. Solución optima para el problema de la producción de tres fertilizantes.
CAMBIO EN EL COEFICIENTE DE LA FUNCIÓN OBJETIVO DE UNA VARIABLE NO BASICA (cj) En este caso el análisis considera el impacto de cambiar el valor de las utilidades (coeficiente de la función objetivo) para una de las variables que de momento es no básica: x3. En el ejemplo que se está estudiando, se refiere al fertilizante 5-5-5. Como la solución óptima no considera la producción de este fertilizante posiblemente porque no es rentable producirlo, se trata de averiguar cuánto debe aumentar su precio con el objeto de hacerlo lo suficientemente rentable para que quede incluido en la mezcla óptima de producción. En este análisis hay que recordar que una variable no básica es aquella cuya contribución neta a las utilidades (es decir, cj –zj ) en la tabla óptima es no positiva. Es decir, las utilidades que se obtendrían al fabricar cualquier cantidad de una variable no básica son menores o iguales que las utilidades a las que sería necesario renunciar. La sensibilidad de la solución óptima a cambios de los coeficientes de la función objetivo puede determinarse añadiendo una cantidad Δj al coeficiente que se tiene de la función objetivo, cj . Por ello, el nuevo coeficiente de la función objetivo es: cj = Δj + cj
98
OPTIMIZACIÓN DE SISTEMAS I
Es posible determinar qué tan grande puede ser Δj a partir del requerimiento de optimalidad de que (cj – zj) sea cero o negativo para un problema de maximización. Para el coeficiente modificado cj, esto significa que cj – zj <= 0. La sensibilidad se mide a través del valor de Δj puesto que indica el intervalo de costos sobre los cuales la solución óptima existente seguirá siendo óptima. Con respecto a x3, es deseable determinar la magnitud del aumento en el precio que se requeriría para fabricar el fertilizante 5-5-5. Puede responderse esta pregunta determinando los valores de Δ3 (y c3) para la variable x3. Se comienza el proceso añadiendo un coeficiente Δ3 al coeficiente c3 asociado con x3 en la tabla. La tabla 2 muestra la tabla modificada. Antes de que x3 se pueda volver básica, el valor (cj – zj) asociado con x3 debe volverse no negativo. Esto significa que Δ3 – 4.0 >= 0 Despejando Δ3, se tiene que Δ3 >= 4.0. Puesto que c3 = c3 + Δ3, entonces c3 = 14.5 + Δ3 Sustituyendo Δ3 >= 4.0 se obtiene c3 >= 18.5
Cj Xk x1 x2 s3
Ci 18.5 20.0 0 Zj
Cj-Zj
b 8,000 14,000 500 428,000
18.5 x1 1 0 0 18.5 0
20 x2 0 1 0 20 0
14.5+Δ3 x3 1 0 -0.05 18.5 Δ3-4.0
0 s1 40 -20 -3 340 -340
0 s2 -20 20 1 30 -30
0 s3 0 0 1 0 0
Tabla 2. Tabla modificada para un cambio en c3.
Esto indica que si el precio de x3 se elevara un poco más de los $4.00, es decir, si su contribución a las utilidades fuera mayor que $18.50, entonces la producción de x3 se volvería más rentable que la mezcla actual de producción de 8,000 tons. de x1 y 14,000 tons. de x2. Si el precio se aumentara exactamente $4.00, se llegaría a un punto de decisión en el que podría fabricarse x3, pero no se obtendrían utilidades adicionales. Se obtendrían los mismos $428,000 de utilidades para esta solución óptima alternativa. 99
OPTIMIZACIÓN DE SISTEMAS I
En general, para cualquier variable no básica el cambio necesario para dicha variable se convierta en básica será: Δj >= | cj – zj | Si la utilidad de la variable básica disminuye, no hay cambio en la solución óptima; o si la contribución a las utilidades aumenta en un cantidad inferior a |cj – zj | para la variable, no habrá cambio en la solución óptima. Sólo si la contribución a las utilidades aumenta en una cantidad que sea mayor que el valor actual de |cj – zj | cambiará la solución óptima. Una variable no básica no se encuentra en la solución óptima porque las utilidades que se obtienen al fabricar ese producto son inferiores a lo que se perdería por hacerlo. CAMBIO EN EL COEFICIENTE DE LA FUNCIÓN OBJETIVO DE UNA VARIABLE BÁSICA (cj) Ahora se considerará el cambio en el coeficiente de utilidades de una variable básica, digamos x1, que representa el nivel de producción del fertilizante 5-5-10. Es deseable saber cuál es el valor máximo en el que puede cambiar este coeficiente básico de utilidades antes de cambiar las variables básicas restantes en la solución óptima. Si cambia la contribución a las utilidades de una variable básica, entonces puede producirse uno de dos resultados. Si el coeficiente de la variable básica disminuye, entonces es posible que la variable tuviera que dejar la base puesto que tal vez no fuera suficientemente rentable para seguir siendo básica. Por otro lado, si la contribución a las utilidades aumenta, podría obtenerse un mayor nivel de producción para la variable que se considera. A diferencia de los cambios en los coeficientes de contribución para las variables básicas, en el caso de las variables que sí son básicas deben considerarse tanto aumentos como disminuciones en los coeficientes cj. En este caso, los cambios en los coeficientes de contribución a las utilidades, tendrán de alguna manera algún impacto sobre la solución existente. Para analizar el efecto que tienen los cambios en la contribución a las utilidades para una variable básica, es posible añadir un coeficiente Δj al coeficiente cj que ya se tiene. De nuevo denotaremos la nueva contribución a las utilidades como cj = cj + Δj. En el caso de la variable no básica, la adición de Δj afectó sólo una columna de la tabla, sin embargo el caso de una variable básica puede resultar afectada más de una columna. Por ello, para determinar los límites de Δj, debemos examinar todos los valores (cj – zj) que se ven afectados por Δj. 100
OPTIMIZACIÓN DE SISTEMAS I
Para x1 la contribución a las utilidades es 18.5, se ha añadido un coeficiente Δ1 para utilizarlo en el análisis de cambios en las utilidades para x1. El resultado se muestra en la tabla 3. Cj Ck 18.5+Δ1 20.0 0 Zj
Xk x1 x2 s3
B 8,000 14,000 500 428,000+8,000 Δ1 Cj-Zj
18.5+ Δ1 x1 1 0 0 18.5+ Δ1 0
20 x2 0 1 0 20 0
14.5 x3 1 0 -0.05 8.5+ Δ1 -4.0+ Δ1
0 s1 40 -20 -3 340-40 Δ1 -340-40 Δ1
0 s2 -20 20 1 30-20 Δ1 -30+20 Δ1
Tabla 3. Tabla modificada para un cambio en c1.
Para que la solución actual siga siendo óptima, debe asegurarse que ningún valor (cj – zj) de la tabla 3 se vuelva positivo. La pregunta es ¿Cuánto puede cambiar c1 en una dirección positiva o negativa de manera que mantengan las condiciones de optimalidad? Puede determinarse la magnitud de estos cambios, Δj, despejando una desigualdad para cada uno de los valores no básico, es decir: cj – zj <= 0. Se tienen entonces las siguientes condiciones para un cambio de Δ1 en el valor de las utilidades de c1: – 4 – Δ1 <= 0 – 340 – 40Δ1 <= 0 – 30 + 20Δ1 <= 0
Δ1 >= – 4 Δ1 >= – 8.5 Δ1 <= 1.5
Luego de elegirse el conjunto más restrictivo se obtiene que los cambios permisibles en c1 pueden expresarse como – 4 <= Δ1 <= 1.5. Por ello, la contribución a las utilidades de x1 no pueden aumentar en más de $1.50 o disminuir en más de $4. Entonces las utilidades de x1 están limitadas a quedar en el intervalo $14.5 <= c1 <= $20. CAMBIOS EN UN NIVEL DE RECURSOS (bi) Al igual que en el caso de cambios en los coeficientes de la función objetivo, la sensibilidad de la solución óptima a cambios en los recursos se mide a través de una cota superior y una cota inferior, par el nivel del recurso que se modifica. Para calcular el efecto de modificar el nivel de un recurso, se añade un cantidad Δj al recurso que se quiere cambiar y después se vuelve a aplicar el proceso de solución. La tabla 4 muestra el nivel modificado del primer recurso. En este caso, el nuevo nivel de recurso para el nitrato es 101
0 s3 0 0 1 0 0
OPTIMIZACIÓN DE SISTEMAS I
1100 +ΔN, donde ΔN representa el posible aumento o disminución en la disponibilidad de Nitrato. Cj Ck 18.5+Δ1 20.0 0 Zj
Xk x1 x2 s3
B 1,100+ ΔN 1,800 2,000 0 Cj-Zj
18.5 x1 0.05 0.05 0.10 0 18.5
20 x2 0.05 0.10 0.05 0 20
14.5 x3 0.05 0.05 0.05 0 14.5
0 s1 1 0 0 0 0
0 s2 0 1 0 0 0
0 s3 0 0 1 0 0
Tabla 4. Tabla inicial para el nuevo nivel de recursos.
Si se procede con la iteración simplex normal y acarreamos el valor ΔN en cada paso, se llega a la tabla óptima para el problema (tabla 5). En esta tabla óptima se observa que el valor de la función objetivo aumenta en $340 por cada tonelada adicional de nitrato disponible para usarlo al costo original. Así mismo se reducirá en $340 por cada tonelada de nitrato que ya no pueda usarse. También se ve que los nuevos valores de la solución son funciones del cambio en el recurso ΔN. Puesto que los valores de la solución siempre deben ser no negativos, pueden utilizarse estas funciones para determinar la cantidad de disponibilidad de nitrato que puede aumentarse o disminuirse antes de que la mezcla de producción que se tiene ya no sea óptima. Para hacer esto, se estructura una desigualdad para cada función, mayor o igual que cero, y se obtiene de ella el intervalo de ΔN que satisface a cada una de ellas. Estas desigualdades y las variables básicas correspondientes son: x1: 8,000 + 40ΔN >= 0 x2: 14,000 – 20ΔN >= 0 s3: 500 – 3ΔN >= 0 Cada desigualdad produce un posible tamaño para el cambio ΔN. Este cambio neto debe ser no negativo para mantener la factibilidad y, por ello, la desigualdad. Despejando ΔN se tiene: ΔN >= – 200 ΔN <= 700 ΔN <= 166.67 Se determina que los límites de ΔN son – 200 <= ΔN <= 166.67.
102
OPTIMIZACIÓN DE SISTEMAS I
Expresado en términos de la disponibilidad de nitrato, bN, se tiene: 1100 – 200 <= bN <= 1100 + 166.67 900 <= bN <= 1266.67 Así la solución óptima seguirá siendo óptima si existen cuando menos 900 toneladas de nitrato disponibles o si no hay más de 1266.67 toneladas. Cj Ck 18.5 20.0 0 Zj
Xk x1 x2 s3
b 8,000+40ΔN 14,000-20 ΔN 500-3 ΔN 428,000 Cj-Zj
18.5 x1 1 0 0 18.5 0
20 x2 0 1 0 20 0
14.5 x3 1 0 -0.05 18.5 -4.0
0 s1 40 -20 -3 340 -340
0 s2 -20 20 1 30 -30
0 s3 0 0 1 0 0
Tabla 5. Tabla óptima para el nuevo nivel de recuso 1.
No es necesario volver a resolver el problema original cada vez que hay un cambio en el nivel de un recurso, porque las funciones de ΔN pueden calcularse directamente a partir de la tabla óptima que se tiene. Obsérvese que los coeficientes de ΔN en la tabla óptima son los mismos que los coeficientes de la columna s1. Esto resulta del hecho de que s1 es la variable de holgura asociada con el nitrato. Siempre será cierto que los coeficientes de la variable Δi en una tabla óptima serán los mismos que los de la variable de holgura si. Para las variables de exceso, los signos se invierten. Entonces, esto permite hacer cálculos para las cotas inferior y superior de Δi en forma directa a partir de la tabla óptima que se tiene. Otro resultado importante que se puede determinar de la tabla 5, es que el valor de zj para la holgura correspondiente proporciona el valor de una unidad adicional de ese recurso al mismo costo. En el ejemplo, el valor de zj para s1 fue 340, por ello una unidad adicional de nitrato valía $340. Esto tiene relación con el valor de la variable dual correspondiente y se denomina precio sombra. La relación entre los precios sombra como recurso y la función objetivo puede expresarse de la siguiente manera: el precio sombra para un recurso determinado refleja el impacto que tiene sobre la función objetivo un cambio unitario en el recurso, este impacto en el precio se mantiene mientras el cambio en el recurso se encuentre dentro de los límites determinados por el análisis de sensibilidad. INTRODUCCIÓN DE UNA NUEVA VARIABLE Las variables de decisión suelen representar los niveles de las distintas actividades bajo consideración. En algunas situaciones estas actividades se seleccionan de entre otras por ser más atractivas, por lo que queda la pregunta si vale la pena incluir algunas actividades no consideradas. Es 103
OPTIMIZACIÓN DE SISTEMAS I
decir ¿Cambiará la solución óptima original se agrega cualquiera de éstas actividades? En este análisis juega un papel importante la teoría de la dualidad. Agregar una variable equivale a introducir en el modelo una nueva variable, con los coeficientes apropiados en las restricciones y en la función objetivo. El único cambio que resulta en el problema dual es la introducción de una nueva restricción. Una vez hechos estos cambios ¿Será la solución óptima original, junto con la nueva variable igual a cero (no básica), todavía óptima para el problema primal? Una pregunta equivalente es si todavía es factible la solución básica complementaria para el problema dual. En el siguiente ejemplo, XNUEVA representa el nivel de producción de un tercer producto que se ha agregado al modelo, resultando: Max Z = 3x1 + 5x2 + 4XNUEVA s.a.: x1 + 2XNUEVA <= 4 2x2 + 3XNUEVA <= 12 3x1 + 2x2 + XNUEVA <= 18 x1, x2, XNUEVA >= 0 Antes de introducir XNUEVA, la solución óptima para el problema original es la que se muestra en la siguiente tabla: Cj Xk s1 x2 x1
Ck 0 5 3 Zj
Cj-Zj
b 2 6 2 36
3 x1 0 0 1 3 0
5 x2 0 1 0 5 0
0 s1 1 0 0 0 0
0 s2 1/3 ½ -1/3 3/2 -3/2
0 s3 -1/3 0 1/3 1 -1
La pregunta ahora es ¿Si se incluye XNUEVA la solución seguirá siendo óptima? Para responder a esta pregunta, se verifica la solución básica complementaria para el problema dual, que en la tabla óptima se identifica como: ( y1, y2, y3 ) = ( 0, 3/2, 1)
104
OPTIMIZACIÓN DE SISTEMAS I
Esta solución es óptima para el problema original, por lo que satisface las restricciones duales originales. Pero ¿ Satisface la nueva restricción dual ? 2y1 + 3y2 + y3 >= 4 Al sustituir esta nueva solución, se ve que: 2(0) + 3(3/2) + 1 >= 4 , se satisface. Por lo tanto esta solución dual sigue siendo factible, es decir óptima. En consecuencia la solución primal original (2, 6, 2, 0, 0) junto con XNUEVA=0 todavía es óptima, y se concluye que no debe incluirse este nuevo producto en el plan de producción. Análisis de Sensibilidad: Problemas resueltos 1. En un problema de producción xi representan las unidades que se producen del artículo i. Se trata de maximizar los ingresos por la venta de estos artículos. Se tiene el siguiente modelo de programación lineal: Max Z = x1 s. a. : x1 + 2x2 + x2 <= 6 x4 <= 4
+ 2x2 + 3x3 + 4x4 x3 + 2x4 <= 12 Unids disponibles del recurso 1 Unids disponibles del recurso 2 Unids disponibles del recurso 3 x1, x2, x3, x4 >= 0
La solución óptima para este problema es: Cj
1
2
3
4
0
0
0
Ck
Xk
b
x1
x2
x3
x4
s1
s2
s3
3
x3
12
1
2
1
2
1
0
0
0
s2
6
0
1
0
0
0
1
0
0
s3
4
0
0
0
1
0
0
1
Zj
36
3
6
3
6
3
0
0
-2
-4
0
-2
-3
0
0
Cj - Zj
105
OPTIMIZACIÓN DE SISTEMAS I
a)
Determine el intervalo de sensibilidad para c1. -2 + ∆1 >= 0 Despejando, se tiene que: ∆1 >= 2 El intervalo de sensibilidad para c1 es: [ 2, ∞ >
b)
¿En qué intervalo de b2 permanecerían sin cambio el conjunto de variables básicas que forman la solución óptima? x3: 12 + 0∆2 >= 0 s2: 6 + 1∆2 >= 0 s3: 4 + 0∆2 >= 0 Despejando se obtiene: ∆2 >= – 6 El intervalo de variación de b2 será: [ -6, ∞ >
c)
¿Cuál sería el efecto sobre la solución óptima si b2 = 8 ? Si la disponibilidad del recurso 2 se incrementa a 8, no se afecta la solución óptima porque b2 puede incrementarse hasta infinito.
d)
¿Sobre qué intervalo puede variar c3 sin que cambie la solución óptima? Afectando el coeficiente c3 en una cantidad ∆3 en la solución óptima, se tiene: x1: -2 - ∆3 <= 0 x2: -4 -2∆3 <= 0 x4: -2 -2∆3 <= 0 s1: -3 -1∆3 <= 0 Despejando ∆3, se tiene que el intervalo de variación de c3 es: 3 – 1 <= c3 < ∞
2.
106
Fertil S.A. fabrica tres tipos de fertilizantes químicos: 5-10-5, 5-8-8 y 8-12-12. Los fertilizantes se fabrican con nitratos, fosfatos, potasio y un relleno inerte. La mezcla de estos componentes en los fertilizantes está reflejado por su tipo, es decir, el fertilizante 510-5 contiene 5% de nitrato, 10% de fosfato, 5% de potasio, y la diferencia es relleno inerte. Las utilidades que se obtienen por la venta son de $16.00, $22.80 y $12.40 por tonelada de fertilizante respectivamente. La empresa dispone de 1200 tons de nitrato, 2000 tons de fosfato, 1500 tons de potasio y una cantidad ilimitada de relleno inerte a su disposición. Se vende todo lo que
OPTIMIZACIÓN DE SISTEMAS I
se produce, y la empresa ya tiene un pedido comprometido de 8000 tons del 5-8-8. a.
Determine el plan de producción que maximice las utilidades. El modelo de programación lineal de este problema es: x1 = Tons de fertilizante 5-10-5 que se fabrican durante el mes. x2 = Tons. “ “ 5-8-8 “ “ “ “ “ mes. x3 = Tons. “ “ 8-12-12 “ “ “ “ “ mes. Max Z = 16x1 + 22.8x2 s. a.: 0.05x1 + 0.10x1 + 0.05x1 +
+ 12.4 x3
0.05x2 + 0.08x3 <= 1200 0.08x2 + 0.12x3 <= 2000 0.08x2 + 0.12x3 <= 1500 x2 >= 8000 x1, x2, x3, >= 0
La solución óptima de este problema es: Cj Xk s1 x1 s4 x2
Ck 0 16 0 22.8 Zj
Cj-Zj
b 75 10000 4500 12500 445000
16 x1 0 1 0 0 16 0
22.8 x2 0 0 0 1 22.8 0
12.4 x3 0 0 1.5 1.5 34.2 -21.8
0 s1 1 0 0 0 0 0
0 s2 -0.37 20 -12.5 -12.5 35 -35
0 s3 -0.25 -20 25 25 250 -250
0 s4 0 0 1 0 0 0
-M a1 0 0 -1 0 0 -M
El plan de producción óptimo es: x1=10,000 Se producen 10,000 toneladas del fertilizante 5-10-5. x2=12,500 Se producen 12,500 toneladas del fertilizante 5-8-8. x3= 0 No se produce el fertilizante 8-12-12. s1=75 No se usan 75 tons de Nitrato. s4=4,500 Se producen 4,500 tons adicionales a las 8000 tons que ya se tienen comprometidos del fertilizante 5-88. Z=$445,000 Utilidad máxima. b.
¿Cuál es el nuevo valor de la F.O. si el pedido comprometido del fertilizante 5-8-8 se eleva a 10000 tons.?
107
OPTIMIZACIÓN DE SISTEMAS I
Si el pedido comprometido de fertilizante 5-8-8 se eleva a 10,000 tons., esto no afecta a la solución óptima, porque en el plan de producción óptimo este fertilizante se produce en una cantidad de 12,500 tons. Además, el precio dual es igual a cero (y4 = 0), esto quiere decir que el valor de la función objetivo no cambia. c.
¿ Cuánto gana o pierde la empresa por fabricar el fertilizante 8-1212 ? Si se fabrica el fertilizante 8-12-12 se pierde $21.80 por cada tonelada fabricada, esto porque en la solución óptima c3 – z3 = 21.80
d.
¿ Cuánto puede variar la utilidad del fertilizante 5-10-5 sin que se afecte la solución óptima ? Afectando el coeficiente c1 en una cantidad ∆1 en la solución óptima, se tiene: s2: -35 - 20∆1 <= 0 s3: -250 + 20∆1 <= 0 Despejando ∆1 se tiene: 1.5 <=
∆1 <= 12.5
Por lo tanto la utilidad del fertilizante 8-12-12 puede variar en el intervalo: 14.5 <= c1 <= 28.5
108
OPTIMIZACIÓN DE SISTEMAS I
CAPÍTULO 6 PROGRAMACION LINEAL ENTERA
6.1. INTRODUCCIÓN Hasta ahora hemos visto los problemas de programación lineal en el dominio de los reales. Sin embargo, en muchos modelos algunas o todas las variables de decisión deben ser enteras. Estos modelos son conocidos como modelos de programación lineal entera (PLE). A primera vista podría parecer más fácil resolver problemas con restricción de enteros, ya que transforman un problema continuo en un problema discreto. Sin embargo, los algoritmos que permiten resolver los problemas PLE son más complejos y requieren mucho más tiempo computacional. Los modelos de programación lineal entera se pueden clasificar en: Modelo
Tipos de Variables de Decisión
Completamente entero (PLE)
Todas son enteras
Mixto (PLM)
Algunas, pero no todas son enteras
Binaria (PLB)
Todas son binarias (0 ó 1)
Ejercicio 6.1.1. Cantidad óptima de restaurantes. Boxcar es una nueva cadena de restaurantes de comida rápida (fase food) que está planificando expandirse en Washington DC. Aún cuando la comida es de alta calidad, la principal atracción de esta cadena de restaurantes es su diseño. En el centro de la ciudad el interior del local se construyó de forma parecida al interior de un container, mientras que en los suburbios los restaurantes se construyeron al interior de verdaderos containers. La compañía dispone de US$ 2.7 millones para su expansión. Cada restaurante en los suburbios requiere US$ 200.000 en inversión, y cada local en el centro requiere de US$ 600.000. Se proyecta que luego de los gastos, la ganancia neta semanal en los locales de los suburbios (que estarán abiertos las 24 horas) será en promedio US$1200. Los restaurantes del centro abrirán sólo 12 horas al día, pero debido a una gran cantidad de clientes durante las horas de trabajo las proyecciones indican que la ganancia neta semanal será de US$2000. La compañía desea abrir al menos 2 restaurantes en el centro. 109
OPTIMIZACIÓN DE SISTEMAS I
Boxcar actualmente tiene 19 administradores. Cada local en los suburbios requerirá tres administradores para su funcionamiento las 24 horas, y se cree que con sólo un administrador en el centro por restaurante sería suficiente. Boxcar desea saber cuántos restaurantes podría abrir para maximizar su ganancia neta semanal. Formulación. Resumiendo el problema, se tiene • Boxcar debe decidir cuántos restaurantes debe abrir en los suburbios y en el centro de Washington DC • Desean maximizar su ganancia total semanal promedio • La inversión total no puede exceder US$ 2.7 millones • Se deben abrir al menos 2 restaurantes en el centro • Sólo se cuenta con 19 administradores. Variables de decisión: X1 = Número de restaurantes que se deben construir en los suburbios. X2 = Número de restaurantes que se deben construir en el centro. Un Modelo Matemático sería: Maximizar Z = 1200 X1 + 2000 X2 s.a. 200 X1 + 600 X2 < 2’700 X2 > 2 3 X1 + X2 < 19 X1, X2 > 0, enteros Si solucionamos el ejercicio sin considerar que X1 y X2 son enteras, tendremos el siguiente resultado, con WINQSB:
110
OPTIMIZACIÓN DE SISTEMAS I
La solución a este problema, sin considerar las variables como enteras, sería 5.44 restaurantes en los suburbios y 2.69 restaurantes en el centro. Como vemos la solución no es entera, y entraríamos en la posibilidad de redondearlos, por lo que obtendríamos los siguientes resultados:
X1
X2
¿Es una SOLUCIÓN FACTIBLE?
¿Cuánto vale Z?
5.44 5 5 6 6
2.69 2 3 2 3
SI SI NO cumple R1 NO cumple R3 NO cumple R1 y R3
11900 10000 No cumple No cumple No cumple
Como vemos en la tabla, haciendo todos los redondeos posibles vemos que la solución sería X1 = 5 y X2 = 2, donde Z = 10,000, pero si somos más detallistas otra solución posible, sin considerar redondeos, sería X1= 4 y X2= 3, donde Z = 10,800. Y entonces habremos encontrado una solución mejor que si redondeamos.
111
OPTIMIZACIÓN DE SISTEMAS I
En conclusión: Posibles resultados del redondeo Los puntos pueden ser no-factibles Los puntos pueden ser factibles pero noóptimos Los puntos pueden ser factibles y óptimos Nota: Imponer restricción de enteros agrega dos restricciones al problema: X1 entero y X2 entero. Así es que tal como vimos antes el valor de la función objetivo NO puede mejorar. En un problema de maximización esto significa que el valor de la función objetivo disminuirá o en el mejor de los casos será el mismo que el valor óptimo del problema de programación lineal en el dominio de los reales. La solución entera del problema es: X1 = 4, X2 = 3, Z = US$ 10.800 Si fueran más variables, el análisis sería más tedioso. 6.2.
SOLUCIÓN DE PROBLEMAS LIENALES ENTEROS MEDIANTE EL PROCEDIMIENTO BRANCH & BOUND Cuando se requiere que un problema tenga una solución con enteros, significa que hay un número finito de puntos de solución posibles. A pesar que teóricamente se puede numerar en su totalidad todas las soluciones posibles, en general, no es factible en términos de computación. Sin embargo, si pueden encontrarse formas de evitar grandes extensiones de soluciones. La técnica de ramificar y restringir (Branch & Bound) es un método para lograrlo. Consiste en hacer un árbol en la que se ramifica y restringe las variables de decisión que no son enteras. Se inicia con una solución inicial, donde las variables pueden contener valores enteros y/o reales (nodo original). Y de ahí se van originando dos ramas, una rama con una restricción de igualdad de alguna variable no entera, cuyo valor es el menor entero de la misma, y luego se obtiene una nueva solución colocándola en el nodo inferior que conecta a la rama principal. La otra rama se coloca esa misma variable como restricción mayor igual al entero mas uno de la otra rama. Este proceso se va repitiendo nodo por nodo. El ejercicio 6.1 se puede solucionar así:
112
OPTIMIZACIÓN DE SISTEMAS I
Problema Original Solución PL X1 = 5.44 X2 = 2.69 Z = 11900
X2 = 2 Solución PL X1 = 5 X2 = 2 Z = 10000 Mejor solución con enteros en la rama
X2 > 3 Solución PL X1 = 4 X2 = 3 Z = 10800 Nueva solución, es óptima, No hay más ramas por investigar
Como vemos, primero tomamos en cuenta la rama X2 = 2, hasta no hallar una solución entera con X1 se seguiría ramificando. Como se consiguió una solución entera entonces se sigue con la otra rama X2 > 3, si no se conseguía valor entero entonces se seguiría ramificando hasta conseguirla. Pero como se consiguió solución entera se compara con la otra solución y se elige aquel que tenga el mayor Z, que en este caso fue X1 = 4 X2 = 3 y Z = 10,800 Ejercicio 6.2.1. Decisión de Inversión Después de muchos años con bajos intereses en los bancos, la señorita Rosas ha decidido incursionar el la bolsa. Sin embargo, ella desea hacer una inversión cautelosa. Ella escuchó que las acciones de una compañía de telecomunicaciones se están vendiendo en US$55 c/u (incluyendo comisiones) y se proyecta su venta en US$68. También está considerando invertir en un fondo mutuo, el cuál según un diario especializado, daría un retorno de la inversión de un 9% el próximo año. Para esta primera incursión en el mercado la Srta. Rosas ha sido extremadamente "modesta" en sus objetivos. Ella desea invertir sólo lo suficiente para obtener un retorno de US$250. Además ella confía más en el fondo mutuo que en la bolsa, por lo tanto se impuso la restricción que la máxima cantidad a invertir en la bolsa no
113
OPTIMIZACIÓN DE SISTEMAS I
excederá el 40% de su inversión total, y su inversión en acciones no será más de US$750. Ella desea saber cómo debería invertir. Formulación. Variables de Decisión X1 = Cantidad de acciones de Telecomunicaciones que debe adquirir. X2 = Cantidad en dólares que debe invertir en el fondo mutuo. Función Objetivo Minimizar la inversión de dólares en la compra de acciones y en la inversión en los fondos mutuos. Mínimizar Z = 55 X1 + X2 Restricciones Obtener un retorno de al menos US$250 al año (68 -55) X1 + 0.09 X2 > 250 Invertir no más de US$ 750 en acciones. 55 X1 < 750 Invertir en la bolsa no más del 40% de su inversión total 55 X1 < 0.40 ( 55 X1 + X2) 33 X1 - 0.40 X2 < 0 El modelo matemático mixto sería: Mínimizar Z = 55 X1 + X2 s.a. 13 X1 + 0.09 X2 > 25 55 X1 < 750 33 X1 -0.40 X2 < 0 X1, X2 >= 0, X1 entero Según el procedimiento Branch & Bound, el óptimo se encuentra en X1 = 12 y X2 = 1044.44 6.3. VARIABLES BINARIAS Se denominan variables binarias aquellas que están restringidas a dos valores únicamente, por lo general estos valores son cero y uno.
114
OPTIMIZACIÓN DE SISTEMAS I
Si Y < 1 Y>0 Y es entera Entonces Y es una variable binaria (0,1) 6.3.1. Aplicaciones de Variables Binarias en Programación Lineal Entera Las variables binarias pueden ser de gran ayuda en el planteamiento de ciertos problemas de decisión, algunas aplicaciones "típicas" se describen a continuación. Decisiones Dicotómicas Cuando se tienen solo 2 elecciones, la decisión se puede representar por variables de decisión restringidas exclusivamente a 2 valores. Yi = ⎡1, si la decisión i es sí ⎣ 0, si la decisión i es no o sea: Yi ≤ 1 Yi ≥ 0 y Yi es un entero Ejemplos: ¿Debe emprenderse este proyecto? ¿Debe hacerse esta inversión en particular? ¿Debe realizarse esta instalación en este sitio en particular? Alternativas Mutuamente Excluyentes. Si se tiene un conjunto de alternativas de decisión, pero sólo una decisión en el grupo puede ser si, se requiere de este tipo de restricciones. ∑ Yi = 1 Exactamente una decisión en el grupo debe ser si. ∑ Yi ≤ 1 Cuando mucho una decisión en el grupo puede ser si. En donde la suma se toma únicamente sobre las variables del grupo. Decisiones Contingentes Se dice que una decisión es contingente cuando depende de decisiones anteriores, en otras palabras:
115
OPTIMIZACIÓN DE SISTEMAS I
La decisión K es contingente con la decisión J si se permite que K sea Si únicamente cuando J es Si. Esto sucede cuando la decisión K comprende una acción consecuente que se volvería irrelevante o imposible si la decisión J es no. En forma de restricción, escribiríamos: Yk ≤ Yj Si Yj = 1 Permite elegir libremente a Yk, o sea que puede tomar el valor de cero o de uno según convenga a la función objetivo. Mientras que Yj = 0 fuerza a que Yk = 0 Matemáticamente se escribiría: Yk - YJ ≤ 0 Ejercicio 6.3.1. Decisión de Inversión en Proyectos El Gerente de una importante empresa multinacional está tratando de decidir cuáles proyectos financiar para el próximo año. Recibió las 8 propuestas que se presentan a continuación. Después de un estudio minucioso, hizo un cálculo estimado del valor de cada proyecto en una escala de 0 a 100. El gerente de investigación desea encontrar una combinación de proyectos que tenga el valor total más alto. Sin embargo, existen varias limitaciones. Primero, cuenta con un presupuesto de US$320,000. Segunda, debe aceptar o descartar un proyecto (es decir no hay financiación parcial). Tercera, hay ciertos proyectos relacionados como es el caso de los proyectos G y H. El gerente no desea que estos proyectos sean financiados si ambos son elegidos. El proyecto D no debe recibir financiación a menos que A también lo haga (no obstante, A puede ser financiado sin D). Formular el problema del gerente como un problema de programación lineal (con enteros). Propuesta Costo (miles de dólares) Valor
A
B
C
D
E
F
G
H
$80
15
120
65
20
10
60
100
40
10
80
50
20
5
80
100
Variables de Decisión Yi = ⌠ 1, si el proyecto i (= A, B, C, D, E, F, G, H) SI se financia. ⎩ 0, si el proyecto i (= A, B, C, D, E, F, G, H) NO se financia
116
OPTIMIZACIÓN DE SISTEMAS I
Función Objetivo Se debe maximizar el valor total Maximizar Z=40 XA+10 XB+80XC+50XD+20XE+5XF+80XG+100XH Restricciones Presupuesto 80XA + 15XB + 120XC + 65XD + 20XE + 10XF + 60XG + 100XH < 320 Los proyectos G y H están relacionados, no pueden ser financiados ambos. XG + XH < 1 Restricción de proyectos mutuamente excluyentes El proyecto D no debe recibir financiación a menos que A también lo haga. XD < XA
XD - XA < 0
…. Decisiones contingentes
Todas las variables son binarias Xi ε {0, 1} para todo i = A, B, C, D, E, F, G, H Restricciones Alternativas: En ocasiones puede elegirse entre dos restricciones, de manera que debe cumplirse una "o bien" la otra. En un modelo de Programación Lineal TODAS las restricciones deben cumplirse para que éste tenga solución factible, esto se debe a que la presencia de restricciones del tipo "o bien" crea un espacio de soluciones no convexo. Lo anterior se puede evitar incorporando al modelo variables binarias y definiendo a M como un número suficientemente grande el cual, al sumarlo a cualquiera de las restricciones, automáticamente estaríamos eliminando esa restricción porque sería redundante. Ejemplo: Suponga que se debe elegir sólo una de las siguientes 2 restricciones 3 X1 + 2 X2 ≤ 20, o bien, X1 + 3 X2 ≤ 15 Podemos hacer redundante cualquiera de las dos al agregarle M, un valor muy alto 3 X1 + 2 X2 ≤ 20 + M X1 + 3 X2 ≤ 15 117
OPTIMIZACIÓN DE SISTEMAS I
o bien 3 X1 + 2 X2 ≤ 20 X2 + 3 X2 ≤ 15 + M Como no sabemos cual de las dos alternativas anteriores sea la mas conveniente, introducimos la variable binaria Y, y dejamos que el proceso de solución asigne el valor mas conveniente para esta variable, y al hacerlo seleccione automáticamente la mejor alternativa. Si Y = ⎧ 0 si se elimina la primera restricción. ⎩1 si se elimina la segunda restricción. 3X1 + 2X2 ≤ 20 + M (1-Y) → redundante p / Y = 0, activa p/ Y=1 X1 + 3X2 ≤ 15 + M (Y) → activa p / Y = 0, redundante p/ Y=1 Reordenando los términos (todas las variables del lado izquierdo quedarían ⇒ 3X1 + 2X2 + MY ≤ 20 + M X1 + 3X2 - MY ≤ 15 Y≤1 Y≥0 Y es entero Este planteamiento garantiza que una de las restricciones originales debe cumplirse mientras que la otra queda eliminada. Deben cumplirse K de N restricciones: Un caso más general del problema anterior seria cuando se tiene un conjunto de N restricciones de las cuales deben cumplirse K (más de una), pero las restricciones específicas que se deben cumplir no se conocen de antemano. K → Número de restricciones que deben cumplirse N → Total de restricciones del grupo. K
118
OPTIMIZACIÓN DE SISTEMAS I
Si definimos Yi = ⌠ 1, si la i-ésima restricción no se cumple donde i = 1,2,...N ⎩ 0, si la i-ésima restricción si se cumple El planteamiento equivalente de Programación Lineal Entera sería: f1 ( x1 , x2 , .............xn ) ≤ d1 + M ( Y1 ) f2 ( x1 , x2 , .............xn ) ≤ d2 + M ( Y2 ) fN ( x1 , x2, .............x n ) ≤ dN + M ( YN ) ∑ Yi = N - K Y1 ≤ 1 Y2 ≥ 0 Yi es entero para i = 1, 2 ,....N Ejercicio 6.3.2. Problema de Costo Fijo: Cuando se inicia una actividad o corrida de producción, es muy común que se presente un costo de preparación independientemente del nivel de actividad o la cantidad producida. En estos casos, el costo total de producción denominado "Costo de Actividad" es equivalente a la suma del costo fijo en el que se incurre al inicio y el costo variable que depende de la cantidad producida. Costo de actividad.- Es la suma de un costo variable relacionado con el nivel de actividad más un costo de preparación que se requiere para iniciar dicha actividad. Sea: Xj Nivel de actividad j.(Unidades producidas) Cj Xj Costo variable Kj Costo fijo para esa actividad j. Xj → Nivel de actividad Cj → Costo por unidad Kj → Costo de preparación Si se tienen j actividades diferentes y se desea minimizar los costos totales de producción, tendríamos: Minimizar Z = f1 (x1) + f2 (x2) +............fn (xn) Donde fj (xj) =⎧ Kj + CjXj , si Xj > 0 ⎩ 0, si Xj = 0 Minimizar Z = ∑ ( Kj + CjXj ) 119
OPTIMIZACIÓN DE SISTEMAS I
Si Kj fuera cero para todos los j el problema seria de P.L. pero si Kj > 0 hay que replantear el problema introduciendo n decisiones de si ó no acerca de emprender las n actividades respectivas. Yj =⎧ 1, si X j > 0 ⎩ 0 , si X j = 0 Minimizar Z = ∑ ( Cj Xj + KjYj ) Además, es necesario garantizar que siempre que la variable Xj tome un valor positivo, la variable Yj correspondiente tome un valor de uno. Si introducimos M como un número extremadamente grande, las restricciones Xj ≤ M Yj para j = 1, 2, 3, ........ N nos garantizan que siempre que Xj > 0 ⇒ Yj = 1 y cuando Xj = 0 Yj X 0 Yj puede ser 1 1
Pero como se está minimizando el problema al optimizar siempre va a descartar el valor Yj = 1. El problema quedaría: : Minimizar Z = ∑ ( Cj Xj + KjYj ) Sujeto a: Xj - MYj ≤ 0 Yj ≤ 1 Yj ≥0 y Yj es entero para j = 1, 2, 3, ....... n Restricciones de Aportaciones Suponga que se tienen las siguientes restricciones: a) b)
120
Si se compra el producto j, se deben adquirir por lo menos 20 unidades No se pueden adquirir más de 100 unidades del producto j
OPTIMIZACIÓN DE SISTEMAS I
Sea Xj = unidades que se adquieren del producto j Un intento por representar las restricciones de a) y b) podría ser: 20 < Xj < 100 Sin embargo, esta restricción no representa las condiciones ya que obliga a que la variable Xj tome valores entre 20 y 100, no considera la condición Si... Si definimos una variable binaria Yj para representar la decisión respecto a comprar o no comprar el artículo j, tendremos: Yj = 1 Indica que Si se compra el artículo j Yj = 0 Indica que No se compra el artículo j. Podríamos expresar las condiciones a) y b) de la siguiente manera: Xj < 100Yj Xj > 20Yj Si Yj = 0 obliga a que Xj sea 0, mientras que Yj = 1 permite que la variable Xj tome valores entre 20 y 100. Ejercicio 6.3.3: Cierta compañía industrial ha decidido expandirse construyendo una nueva fábrica ya sea en Lima o en Arequipa. Está considerando también la construcción de un nuevo almacén en aquella ciudad que se seleccione para la nueva fábrica. La información sobre cada alternativa se muestra en la siguiente tabla: Valor presente neto
Capital requerido inversión
Fabrica en Lima
7 millones
20 millones
Fabrica en Arequipa
5 millones
15 millones
Almacén en Lima
4 millones
12 millones
Almacén en Arequipa
3 millones
10 millones
El capital disponible para inversión es $ 35, 000, 000. El objetivo es encontrar la combinación de alternativas que maximice el valor presente neto.
121
OPTIMIZACIÓN DE SISTEMAS I
Planteamiento con variables binarias: Numero de Decisión
Pregunta de Sí o No
Variable de Decisión
Valor Presente Neto
Cap. Req. de inversión (mills )
1
¿se construye la fábrica en Lima ?
Y1
7
20
2
¿Se construye la fábrica en Arequipa?
Y2
5
15
3
¿Se construye el almacén en Lima?
Y3
4
12
4
¿Se construye el almacén en Arequipa ?
Y4
3
10
Sea: Yi = ⌠ 1, si la decisión i es Si donde i = 1,2,3,4 ⎩ 0, si la decisión i es No Las primeras dos decisiones representan alternativas mutuamente excluyentes. Y1 + Y2 = 1 Las decisiones 3 y 4 son contingentes en relación con las decisiones 1 y 2. Y3 - Y1 ≤ 0 Y4 - Y2 ≤ 0 El modelo completo quedaría: Sujeto A:
122
Maximizar Z = 7Y1 + 5Y2 + 4Y3 + 3Y4 20Y1 + 15Y2 + 12Y3 + 10 Y4 ≤ 35 Y1 + Y2 = 1 - Y1 + Y3 ≤ 0 - Y2 + Y4 ≤ 0 Y1 ≤ 1 Y1 ≥ 0 Yi es entero, para i = 1,2,3,4
OPTIMIZACIÓN DE SISTEMAS I
Ejercicio 6.3.4. Problema de ubicación de almacenes Una compañía planea expandir sus actividades en el área mediante la apertura de dos nuevos almacenes. Tiene bajo consideración tres posibles sitios (como se muestra en la figura). Cuatro clientes deben tener satisfechos sus demandas que son D1 , D2 , D3 y D4. Se asume que entre dos sitios puede satisfacer todas las demandas, pero el sitio uno puede suplir a los clientes 1, 2 y 4 solamente: el sitio 3 puede suplir a los clientes 2, 3 y 4 mientras que el sitio 2 puede suplir a todos los cliente. El costo por unidad de transportación del sitio i al cliente j es Cij. Para cada almacén se tienen los siguientes datos. Sitio
Capacidad
Capital inv. inicial $
Costo: oper / unidad
1
A1
K1
P1
2
A2
K2
P2
3
A3
K3
P3
El problema es seleccionar los sitios apropiados para construir 2 almacenes las cuales minimizan los costos totales de inversión, operación y transporte. El costo total apertura y operación de una almacén es una función NO lineal (caso anterior) por que sus costos de inversión son fijos independientemente de las unidades almacenadas y los costos de operación son proporcionados por unidad. Definimos Yi ⎧ 1 Si el sitio i se selecciona ⎩ 0 Si el sitio i No se selecciona Xij → Cantidades vendidas del almacén i al cliente j. Restricciones de capacidad: Almacén 1 X12 + X11 + X14 ≤ A1Y1 Almacén 2 X21 + X22 + X23 + X24 ≤ A2Y2 Almacén 3 X32 + X33 + X34 ≤ A3Y3 Como solo se pueden seleccionar 2 de los 3 almacenes Y1 + Y2 + Y3 = 2
123
OPTIMIZACIÓN DE SISTEMAS I
Restricciones de demanda: X11 + X21 = D1 X12 + X22 + X32 = D2 X23 + x33 = D3 X14 + X24 + X34 = D4
Cliente 1 Cliente 2 Cliente 3 Cliente 4
Costos de almacén en 1 ⇒ K1Y1 + P1 ( X11 + X12 + X14 ) + C11X11 + C12X12 + C14X14 Similarmente para 2 y 4 K2Y2 + P2 ( X21 + X22 + X23 +X24 ) + C21X21 + C22X22 + C23X23 + C24X24 K3Y3 + P3 ( X32 + X33 + X34 ) + C32X32 + C33X33 + C34X34 Finalmente el problema planteado queda Min Z = K1Y1 + P1 ( X11 + X12 + X14 ) + C11X11 + C12X12 + C14X14 + K2Y2 + P2 ( X21 + X22 + X23 + X24 ) + C21X21 + C22X22 + C23X23 + C24X24 + K3Y3 + P3 ( X32 + X33 + X34 ) + C32X32 + C33X33 + C34X34 S. A.: X11 + X12 + X14 - A1Y1 ≤ 0 X21 + X22 + X23 + X24 - A2Y2 ≤ 0 X32 + X33 + X34 - A3Y3 ≤ 0 Y1 + Y2 + Y3 = 2 X11 + X21 = D1 X12 + X22 + X32 = D2 X23 + X33 = D3 X14 + X21 + X34 = D4 Yi ≤ 1 Yi ≥ 0 Yi es entero para i = 1, 2, 3 Xij ≥ 0 para toda ( i,j ) Ejercicio 6.3.5. Problema de carga fija Cierta compañía fabricante de pinturas tiene disponibles tres procesos diferentes estandarizados para producir pinturas blancas para casas. Cada proceso tiene unos costos fijos y un costo de proceso por galón. La capacidad de cada proceso es como sigue:
124
OPTIMIZACIÓN DE SISTEMAS I
Proceso Número
Costo fijo
Costo (dólares / galón )
Capacidad máxima diaria (galones)
1
$ 100
5
2000
2
200
4
3000
3
300
3
4000
La compañía espera una demanda diaria de 3500 galones. El problema es mostrar qué procesos usar y qué capacidades con el fin de satisfacer su demanda diaria con un costo total mínimo. Formulación del modelo Variables de decisión. Sea: Y1 = ⎧ 1 Si el proceso 1 es usado ⎩ 0 Si el proceso 1 no es usado Y2 = ⎧ 1 Si el proceso 2 es usado ⎩ 0 Si el proceso 2 no es usado Y3 = ⎧ 1 Si el proceso 3 es usado ⎩ 0 Si el proceso 3 no es usado Las variables Y1 , Y2 , Y3 son variables binarias (0,1) Variables de producción. Sea X1 = nivel de producción para el proceso 1 X2 = nivel de producción para el proceso 2 X3 = nivel de producción para el proceso 3 Función objetivo. El objetivo es escoger los procesos y los niveles de producción para satisfacer la demanda diaria minimizando el costo total . Sea Z una variable que denota el costo total.
125
OPTIMIZACIÓN DE SISTEMAS I
Entonces: Z = 5X1 + 4X2 + 3X3 Costo total variable de producción
+ 100Y1 + 200Y2 + 300Y3 Costo total fijo
Restricciones. Tenemos dos tipos de restricciones sobre las variables de producción. Para satisfacer la demanda diaria: X1 + X2 + X3 = 3500 Para no sobrepasar el límite de capacidad: Proceso 1: X1 ≤ 2000 Proceso 2: X2 ≤ 3000 Proceso 3: X3 ≤ 4000 Observe que si usamos cualquier proceso a un nivel positivo, tenemos que garantizar que se ha incurrido tanto en los costos fijos como en los costos variables de producción. Esto es, por ejemplo, si X1 > 0 (usamos el proceso 1) entonces Y1 = 1 (tenemos que seleccionar el proceso 1). Esto lleva a las siguientes relaciones entre las variables continuas Xj y las variables entera Yj. Para proceso 1: Si X1 = 0, entonces Y1 = 0 Si X1 > 0, entonces Y1 = 1 Si Y1 = 0, entonces X1 = 0. Para proceso 2: Si X2 = 0, entonces Y2 = 0 Si X2 > 0, entonces Y2 = 1 Si Y2 = 0, entonces X2 = 0. Para proceso 3: Si X3 = 0, entonces Y3 = 0 Si X3 > 0, entonces Y3 = 1. Si Y3 = 0, entonces X3 = 0. Cada conjunto de tres restricciones dadas antes, simultáneamente con la correspondiente restricción de capacidad, pueden ser combinadas en una sola restricción. 126
OPTIMIZACIÓN DE SISTEMAS I
Para el primer conjunto de tres restricciones (proceso 1) consideremos la desigualdad X1 ≤ 2.000Y1 Observe que la desigualdad también incluye la restricción de capacidad para proceso 1. Recuerde que Y1 tiene que ser 0 ó 1. Así, si Y1 = 0 en 2000Y1 ≥ X1, entonces 2.000Y1 = 0, lo cual implica que X1 = 0. Si X1 = 0, entonces Y1 = 0, ya que estamos minimizando el costo total Z. Si X1 > 0, entonces 2000 Y1 > 0 puede ocurrir solamente si Y1 = 1. De manera similar se expresaría la dependencia entre las variables asociadas a los otros dos procesos. El modelo completo quedaría: PROBLEMA DE PROGRAMACION ENTERA Minimizar Z = 5X1 + 4X2 + 3X3 + 100Y1 + 200Y2 + 300Y3 Sujeto a: X1 + X2 + X3 = 3500 X1 ≤ 2000 Y1 X2 ≤ 3000 Y2 X3 ≤ 4000 Y3 Yi es binaria para i = 1, 2, 3 Xi ≥ 0 para i = 1, 2, 3 Ejercicio 6.3.6. Problema de presupuesto de capital Cierta compañía tiene la oportunidad de invertir el próximo de año en cinco proyectos diferentes, P1, P2 , P3 , P4 y P5 , cada uno con un beneficio neto estimado como se muestra en la tabla . Proyecto número
Beneficio neto esperado ( 000 s )
1
$ 100
2
80
3
70
4
60
5
90
127
OPTIMIZACIÓN DE SISTEMAS I
Ya que de los diferentes requerimientos de cada proyecto (mano de obra, equipo, etc.), los costos varían de proyecto a proyecto. Además las obligaciones de requerimientos de flujo de caja hacen que la Cia. no pueda invertir en todos los cinco proyectos. En la tabla se listan los costos totales o salidas de caja requeridos para invertir en cada proyecto. Proyecto número
Costo esperado ( miles)
1
$ 60
2
40
3
20
4
40
5
50
La Cia. estima que tendrá una disponibilidad de caja en la cantidad de $150.000 para el próximo año. a)
¿En cuales proyectos podrid invertir la Cia. el próximo año? Variables de decisión Yj = ⎡ 1 si el proyecto j es seleccionado j = 1, 2, 3, 4, 5. ⎣ 0 si el proyecto j no es seleccionado Y1, Y2, Y3 , Y4 y Y5 Son variables de decisión binarias. Función objetivo. La meta de la Cia. es seleccionar los proyectos que maximicen la utilidad total esperada. Sea Z = utilidad total esperada, entonces la función objetivo es Maximizar Z = 100 Y1 + 80Y2 + 70Y3 + 60Y4 + 90Y5. Restricciones sobre las variables de decisión. Cantidad disponible para inversión: 60Y1 + 40Y2 + 20Y3 + 40Y4 + 50Y5 ≤ 150
128
OPTIMIZACIÓN DE SISTEMAS I
RESUMEN DEL MODELO DE PROGRAMACION ENTERA Maximizar Z = 100Y1 + 80Y2 + 70Y3 + 60 Y4+ 90Y5 Sujeto a 60Y1 + 40Y2 + 20Y3 + 40Y4 + 50Y5 ≤ 150 Yi es binaria para i = 1, 2, 3, 4, 5. b)
Suponga que la gerencia ha decidido que exactamente un proyecto puede ser seleccionado del conjunto de proyectos P1, P3 y P5. Pero, los proyectos P2 y P4 pueden ser seleccionados sujetos a la restricción de presupuesto. ¿Cuál restricción (o restricciones) necesita ser agregada al modelo original? Solución.- Ya que uno de P1, P3, ó P5 y solo uno, puede ser seleccionado, exactamente una de las tres variables Y1, Y3 y Y5 puede tomar el valor de uno. Y1 + Y2 + Y3 = 1, restricción a ser agregada
c)
Suponga que la Cia. ha decidido que no más de uno de los dos proyectos, P2 y P4, puede ser seleccionado. ¿Cuál restricción adicional necesita ser agregada al modelo original? Y2 + Y4 ≤ 1. Restricción a ser agregada
d)
Suponga que la Cia. ha decidido que si P3 es seleccionado, entonces P4 tiene que ser seleccionada. ¿Cuál restricción adicional necesita ser agregada al modelo original? Solución.Y3 ≤ Y4 restricción a ser agregada RESUMEN DEL MODELO DE PROGRAMACION ENTERA Maximizar Z = 100Y1 + 80Y2 + 70Y3 + 60 Y4+ 90Y5 Sujeto a 60Y1 + 40Y2 + 20Y3 + 40Y4 + 50Y5 ≤ 150 Y1 + Y2 + Y3 = 1 Y2 + Y4 ≤ 1 Y3 - Y4 ≤ 0 Yi es binaria para i = 1, 2, 3, 4, 5.
129
OPTIMIZACIÓN DE SISTEMAS I
EJERCICIOS PROPUESTOS 1.
Presupuesto de capital Se esta evaluando el capital de cinco proyectos a lo largo de un horizonte de planificación de tres años. La siguiente tabla proporciona las utilidades para cada proyecto, y los egresos anuales asociados Egresos (millones US$)/ anuales Proyecto
1
2
3
1 2 3 4 5 Fondos disponibles Mill.US.$
5 4 3 7 8
1 7 9 4 6
8 10 2 1 10
25
25
25
Utilidades Mill .US.$ 20 40 20 15 30
Determinar los proyectos que se van a ejecutar durante un horizonte de tres años 2.
Sea p1, p2, y p3 variables cuyos valores son 1, si se va a abrir una planta en particular y 0 en cualquier otro caso. Escriba una restricción lineal separada para cada caso abcdef-
3.
130
si se abre la planta 1, entonces la planta 2 no debería abrirse si se abre la planta 1, entonces la planta 2 debería abrirse al menos una de las tres plantas debería abrirse no más de dos de las tres plantas deberían abrirse si ni la planta 2 ni la planta 3 se abre, entonces la planta 1, no debería abrirse si se abre la planta 1 o la planta 3 no se abre, entonces la planta 2 debe abrirse
Inversiones La junta de directores estudia el conjunto de inversiones, donde Ri y Ci representan el rendimiento total y el costo de la inversión i. Se quiere maximizar no más de M dólares en total. Determinar un plan óptimo de inversión.
OPTIMIZACIÓN DE SISTEMAS I
inversión 1 2 3 4 5 6 7 4.
Condiciones Ninguna Sólo si 1 Sólo si 2 Se hará si 1 y 2 No si 1 o 2 No si 2 y 3 Solo si 2 y no 3
La ciudad de Lima piensa reubicar subestaciones de policía para obtener una mejor vigilancia en áreas de alta criminalidad. Las ubicaciones bajo consideración junto con las áreas que pueden ser cubiertas a partir de dichas ubicaciones son: Ubicación potencia de las subestaciones A B C D E F G
Áreas cubiertas 1.5.7 1.2.5.7 1.3.5 2.4.5 3.4.6 4.5.6 1.5.6.7
Formular un modelo de programación de enteros que se pudiera utilizar para encontrar el número mínimo de localizaciones necesarias a fin de proporcionar cobertura para todas las áreas. 5.
El Congreso está en proceso de formar un comité para que maneje las quejas de los estudiantes. Las instrucciones recibidas de la administración son incluir por lo menos una mujer, un hombre, un estudiante, un administrador y un miembro del profesorado. Diez personas ha sido nominadas identificadas para simplificar, por las letras A a la J. La mezcla de estas personas en las diferentes categorías se da así: Categoría Mujeres Hombres Estudiantes Administradores Profesorado
Personas A,b,c.d,e F,g,h,i,j A,b,c,j E,f D,g,hi
El Congreso desea formar el comité mas reducido posible y, al mismo tiempo, garantizar la representación de cada una de las cinco categorías. Formular el modelo. 131
OPTIMIZACIÓN DE SISTEMAS I
5.
MAYORISTA CORP, fabrica 2 productos A y B. Cada unidad de producto A requiere 1 hora de servicio de ingeniería, 8 horas de mano de obra directa y 4 libras de material. Una unidad de B necesita 3 horas de ingeniería, 3 horas de mano de obra directa y 2 libras de material. Se dispone de 800 horas de ingeniería, 880 horas de manos de obra directa y 3000 libras de material cada mes. Utilidades
Producto A Venta de unidades 0-40 40-100 100-150 150-más
Utilidad unitaria $ 10 9 8 6
Producto A Venta de unidades
Utilidad unitaria $
0-50 50-100 100-más
6 4 3
Determinar un plan óptimo para maximizar la utilidad mensual 6.
Programación en una aerolínea Lan Perú. Desea programar no más de un vuelo desde Lima hasta cada una de las siguientes ciudades: Arequipa, Cusco, Trujillo y Iquitos, Los horarios de salida disponibles son 8, 10, 12 de la mañana. Lan Perú arrienda los aviones al costo de $5000 hasta la 10am, y de $3000 después de las 10 y está en posibilidad de arrendar cuando mucho 2 por horario de salida. La tabla muestra las utilidades esperadas por vuelo antes de los costos de arrendamientos. Determinar un plan óptimo de vuelos Tabla de utilidades en millares de dólar Arequipa Cusco Trujillo Iquitos
7.
132
8 am 10 9 14 18
10 am 6 10 11 15
12 am 6 9 10 10
Instalación Cada día un electricista debe decidir que generadores conectar. Tiene 3 generadores. Hay dos períodos en el día. En el primer período se necesitan 2900 MEGAWATTS. En el segundo, 3900 MW. Un generador que se conecte para el primer período puede ser usado en el segundo sin causar un nuevo gasto de conexión.
OPTIMIZACIÓN DE SISTEMAS I
Todos los generadores principales como lo son A, B y C son apagados al término del día. Formular el modelo Costo fijo de conexión $3.000 $2.000 $1.000
Generador A B C
8.
Costo por período por MW usado $5 $4 $7
Capacidad máxima por período MW 2.100 1.800 3.000
Natación. El entrenador de natación debe asignar competidores para la prueba de 200 metros combinados por equipos para mandarlos a las olimpiadas juveniles. En la siguiente tabla se muestra los cinco mejores nadadores y sus mejores tiempos en segundos
Tipo nado Dorso Pecho Mariposa Libre
Carl 37.7 43.4 33.3 29.2
Cristina 32.9 33.1 28.5 26.4
David 33.8 42.2 38.9 29.6
Antonio 37.0 34.7 30.4 28.5
José 35.4 41.8 33.6 31.1
Determinar la mejor asignación para minimizar la suma de los mejores tiempos
133
OPTIMIZACIÓN DE SISTEMAS I
134
OPTIMIZACIÓN DE SISTEMAS I
BIBLIOGRAFÍA
G.D.EPEN, F.JGOULD, C.P SCHMIDT, JEFFREY H MOORE, LARRY R. WEATHERFORD. (2000). Investigación de Operaciones. En la ciencia administrativa. Quinta edición. Prentice Hall, México. HILLIER FREDERIC, LIEBERMAN GERALD. (2004). Investigación de Operaciones. Mc Graw-Hill Interamericana. Editores, S.A. de CV.
RIOS INSUA SIXTO, RIOS INSUA DAVID, CABALLERO ALFONSO, JIMENEZ JACINTO. (1997). Programación Lineal y Aplicaciones. Ejercicios resueltos. Alfaomega Grupo Editor, España. SWEENEY, ANDERSON, WIILIAMS (1998). Métodos Cuantitativos para los negocios. Séptima Edición. Internacional Thomson Editores, México TAHA, HAMDY A. (1998). Investigaciones de Operaciones. Una introducción. Sexta Edición. Prentice Hall. S.A. México
WINSTON WAYNE. (1994). Investigación de Operaciones. Aplicaciones y Algoritmos. Grupo Editorial Iberoamericana. México.
135