PROGRAMACIÓN DINÁMICA DETERMINISTA EL GRAN ROMPECABEZA “La Programación Dinámica es una técnica empleada para resolver un sinnúmero de problemas de optimización. Consistente en fragmentar un problema mayor en pequeños fragmentos llamados etapas. Lo tedioso de este modelo está en aquellos problemas que requieren de un número de etapas excesivamente alto”. La programación dinámica determinista se caracteriza porque los datos son valores determinados o conocidos. Teniendo que recurrir a la utilización sistemática de combinaciones factibles para un problema dado, hasta encontrar la solución óptima que logre satisfacer las condiciones dadas. Este algoritmo tuvo sus inicios en Richard Bellman, quien realizó una serie de estudios relacionados con misiles dirigidos. 1. MODELOS DE PROGRAMACIÓN DINÁMICA CON VALORES DISCRETOS Para la solución de los problemas emplearemos el método de recursión hacia delante y acumulación hacia atrás. Para comprenderlo veamos algunos ejemplos. Ejemplo Nº 1: Dada la siguiente función objetivo sujeta a la restricción mostrada, encontrar la solución óptima. MaxZ = 3X1 + 2X 2X1 + X Xi ≥ 0 2 2 + 3X + 4X 3 3 ≤ 6 entero Se subdivide en etapas, donde cada etapa deberá ser optimizada. Veamos el diagrama de las etapas que resultaran: d1 = Valor de X1 S1 = 6 d2 = Valor de X2 S2 = S1 – 2 X1 1 d3 = Valor de X3 S3 = S2 – X2 2 3 r1 = 3 X1 r2 = 2 X2 r3 = 4 X3 f1 = r1 + f2* f2 = r2 + f3* f3 = r3* Definiremos algunos términos antes de entrar en el algoritmo solución: di : decisión a tomar en cada etapa ri : rendimiento en cada etapa mide la decisión fi : rendimiento acumulado Si : variable de estado (cantidad de recurso disponible al inicio de la etapa. Para cada etapa, en este problema, no se puede exceder del recurso disponible. Por lo tanto las variables de decisión están sujetas a los siguientes intervalos de valores: 0 ≤ X1 ≤ S1 / 2 ; es decir que X1 = {0, 1, 2, 3} 0 ≤ X2 ≤ S2 ; es decir que X2 = {0, 1, 2, 3, 4, 5,6} 0 ≤ X3 ≤ S3 / 3 ; es decir que X3 = {0, 1, 2} Esta misma suposición se puede aplicar para encontrar las combinaciones de valores que puede tomar cada variable de estado: S1 = {6} S2 = {0, 2, 4, 6} S3 = {0, 1, 2, 3,4, 5, 6} Se inicia el algoritmo de programación mediante tabla, partiendo desde la última etapa y acumulado los resultados hasta llegar a la primera. ETAPA Nº 3 d3 = X3 S3 0 1 2 X3* f3* 0 0 --- --- 0 0 1 0 --- --- 0 0 2 0 --- --- 0 0 3 0 4 --- 1 4 4 0 4 --- 1 4 5 0 4 --- 1 4 6 0 4 8 2 8 Para la etapa mostrada, se debe cumplir los siguientes criterios: i) ii) iii) f3 = max {4 X3} X3 ≤ S3 / 3 S3 = S2 – X2 ETAPA Nº 2 d2 = X2 X2* f2* S2 0 1 2 3 4 5 6 0 0+0 --- --- --- --- --- --- 0 0 2 0+0 2+0 4+0 --- --- --- --- 2 4 4 0+4 2+4 4+0 6+0 8+0 --- --- 4 8 6 0 + 8 2 + 4 4 + 4 6 + 4 8 + 0 10 + 0 12 + 0 6 12 Para la etapa mostrada, se debe cumplir los siguientes criterios: i) f2 = max {2 X2 + f3*} ii) X2 ≤ S2 iii) S2 = S1 – 2X1 ETAPA Nº 1 Para la etapa mostrada, se debe cumplir los siguientes criterios: d1 = X1 S1 6 0 1 2 3 0 + 12 3 + 8 6 + 4 9 + 0 X1* f1* 0 f1 = max {3 X1 + f2*} X1 ≤ S1 / 2 i) ii) iii) 12 S1 = 6 Para el problema en cuestión la solución óptima está dada por: Z = 12 X1 = 0 SOLUCIÓN ÓPTIMA X2 = 6 X3 = 0 Ejemplo Nº 2 (Problema Propuesto Nº 4 / Sección 10.4a / Extraído del Libro Investigación de Operaciones “Una Introducción” , Sexta Edición, Editorial Prentice Hall) Un estudiante debe seleccionar 10 cursos electivos de 4 diferentes departamentos y por lo menos un curso de cada departamento. Los 10 cursos se han asignado a los 4 departamentos en una forma que maximice los conocimientos. El estudiante mide los conocimientos en una escala de 100 puntos y traza la siguiente gráfica: NÚMERO DE CURSOS DEPARTAMENTO 1 2 3 4 5 6 ≥7 I 25 50 60 80 100 100 100 II 20 70 90 100 100 100 100 III 40 60 80 100 100 100 100 IV 10 20 30 40 50 60 70 ¿Cómo debe seleccionar los cursos el estudiante? Partiremos por definir el problema gráficamente: d1 = Valor de X1 S1 = 10 d2 = Valor de X2 d3 = Valor de X3 S2 = S1 – X1 1 S3 = S2 – X2 2 d4 = Valor de X4 S4 = S3 – X3 3 4 r1 = f(X1) r2 = f(X2) r3 = f(X3) r4 = f(X4) f1 = r1 + f2* f2 = r2 + f3* f3 = r3 + f4* f4 = r4* Para cada etapa, en este problema, se deberá tener en cuenta que hay que asignar por lo menos un curso a cada departamento. Por lo tanto las variables de decisión están sujetas a los siguientes intervalos de valores: 1 ≤ X1 ≤ S1 – 3 ; es decir que X1 = {1, 2, 3, 4, 5, 6, 7} 1 ≤ X2 ≤ S2 – 2 ; es decir que X2 = {1, 2, 3, 4, 5, 6, 7} 1 ≤ X3 ≤ S3 – 1 ; es decir que X3 = {1, 2, 3, 4, 5, 6, 7} 1 ≤ X4 ≤ S4 ; es decir que X4 = {1, 2, 3, 4, 5, 6, 7} Esta misma suposición se puede aplicar para encontrar las combinaciones de valores que puede tomar cada variable de estado: S1 = {10} S2 = {3, 4, 5, 6, 7, 8, 9} S3 = {2, 3, 4, 5, 6, 7, 8} S4 = {1, 2, 3, 4, 5, 6, 7} Se inicia el algoritmo de programación mediante tabla, partiendo desde la última etapa y acumulado los resultados hasta llegar a la primera. ETAPA Nº 4 d4 = X4 3 4 5 6 7 X4* f4* --- --- --- --- --- 1 10 20 --- --- --- --- --- 2 20 10 20 30 --- --- --- --- 3 30 4 10 20 30 40 --- --- --- 4 40 5 10 20 30 40 50 --- --- 5 50 6 10 20 30 40 50 60 --- 6 60 7 10 20 30 40 50 60 70 7 70 S4 1 1 10 2 10 3 2 Para la etapa mostrada, se debe cumplir los siguientes criterios: i) ii) iii) f4 = max { r4*} X4 ≤ S4 S4 = S3 – X3 ETAPA Nº 3 d3 = X3 S3 1 2 3 4 5 6 7 X3* f3* 2 40 + 10 --- --- --- --- --- --- 1 50 3 40 + 20 60 + 10 --- --- --- --- --- 2 70 4 40 + 30 60 + 20 80 + 10 --- --- --- --- 3 90 5 40 + 40 60 + 30 80 + 20 100 + 10 --- --- --- 4 110 6 40 + 50 60 + 40 80 + 30 100 + 20 100 + 10 --- --- 4 120 7 40 + 60 60 + 50 80 + 40 100 + 30 100 + 20 100 + 10 --- 4 130 8 40 + 70 60 + 60 80 + 50 100 + 40 100 + 30 100 + 20 100 + 10 4 140 Para la etapa mostrada, se debe cumplir los siguientes criterios: i) ii) iii) f3 = max {r3 + f4*} X3 ≤ S3 – 1 S3 = S2 – X2 ETAPA Nº 2 d2 = X2 S2 1 2 3 4 5 6 7 X2* f2* 3 20 + 50 --- --- --- --- --- --- 1 70 4 20 + 70 70 + 50 --- --- --- --- --- 2 120 5 20 + 90 70 + 70 90 + 50 --- --- --- --- 2,3 140 6 20 + 110 70 + 90 90 + 70 100 + 50 --- --- --- 2,3 160 7 20 + 120 70 + 110 90 + 90 100 + 70 100 + 50 --- --- 2,3 180 8 20 + 130 70 + 120 90 + 110 100 + 90 100 + 70 100 + 50 --- 3 200 9 20 + 140 70 + 130 90 + 120 100 + 110 100 + 90 100 + 70 100 + 50 3,4 210 Para la etapa mostrada, se debe cumplir los siguientes criterios: i) ii) iii) f2 = max {r2 + f3*} X2 ≤ S2 – 2 S2 = S1 – X1 ETAPA Nº 1 d1 = X1 S1 3 1 2 3 4 5 6 7 25 + 210 50 + 200 60 + 180 80 + 160 100 + 140 100 + 120 100 + 70 X1* f1* 2 250 Para la etapa mostrada, se debe cumplir los siguientes criterios: i) ii) iii) f1 = max { r1 + f2*} X1 ≤ S1 – 3 S1 = 10 Para el problema en cuestión la solución óptima está dada por: Z = 250 X1 = 2 X2 = 3 SOLUCIÓN ÓPTIMA X3 = 4 X4 = 1 Ejemplo Nº 3 (Problema Propuesto Nº 7 / Sección 10.4a / Extraído del Libro Investigación de Operaciones “Una Introducción” , Sexta Edición, Editorial Prentice Hall) El alguacil Bassam se ha postulado para su reelección en el condado de Washington. Los fondos disponibles para la campaña son de alrededor de 10 000 dólares. Aún cuando al comité de reelección le gustaría iniciar la campaña en los cinco distritos del condado, los fondos limitados dictan lo contrario. La siguiente tabla enumera la población votante y la cantidad de fondos necesaria para iniciar una campaña efectiva en cada distrito. La elección para cada distrito es qe reciban todos los fondos asignados , o ninguno. ¿Cómo se deben asignar los fondos? Fondos Distrito Población 1 3 100 3 500 2 2 600 2 500 3 3 500 4 000 4 2 800 3 000 5 2 400 2 000 Requeridos ($) Para este problema veremos un caso particular, las variables de decisión serán del tipo binaria. Es decir, para el caso de no asignar fondos tomará el valor de 0, de lo contrario será 1. d1 = X1 d2 = X2 S2 = S1 – 3 500 X1 S1 = 10 000 1 d3 = X3 S3 = S2 – 2 500 X2 2 d4 = X4 S4 = S3 – 4 000 X3 3 d5 = X5 S5 = S4 – 3 000 X4 4 5 r1 = f(X1) r2 = f(X2) r3 = f(X3) r4 = f(X4) r5 = f(X5) f1 = r1 + f2* f2 = r2 + f3* f3 = r3 + f4* f4 = r4 + f5* f5 = r5* Para cada etapa, en este problema, se deberá tener en cuenta que la variable de decisión sólo podrá tomar dos valores {0, 1}. Por lo tanto las variables de decisión están sujetas a los siguientes intervalos de valores: 0 ≤ X1 ≤ S1 / 3 500 0 ≤ X2 ≤ S2 / 2 500 0 ≤ X3 ≤ S3 / 4 000 0 ≤ X4 ≤ S4 / 3 000 0 ≤ X5 ≤ S5 / 2 000 Las combinaciones de valores que puede tomar cada variable de estado serán: S1 = {10 000} S2 = {6 500, 10 000} S3 = {4 000, 6 500, 7 500, 10 000} S4 = {0, 2 500, 3 500, 4 000, 6 000, 6 500, 7 500, 10 000} S5 = {0, 500, 1 000, 2 500, 3 000, 3 500, 4 000, 4 500, 6 000, 6 500, 7 000, 7 500, 10 000} ETAPA Nº 5 d5 = X5 S5 0 1 X5* f5* 0 0 --- 0 0 500 0 --- 0 0 1 000 0 --- 0 0 2 500 0 2 400 1 2 400 3 000 0 2 400 1 2 400 3 500 0 2 400 1 2 400 4 000 0 2 400 1 2 400 4 500 0 2 400 1 2 400 6 000 0 2 400 1 2 400 6 500 0 2 400 1 2 400 7 000 0 2 400 1 2 400 7 500 0 2 400 1 2 400 10 000 0 2 400 1 2 400 Para la etapa mostrada, se debe cumplir los siguientes criterios: i) ii) iii) f5 = max { r5*} X5 ≤ S5 / 2 000 S5 = S4 – 3 000 X4 ETAPA Nº 4 d4 = X4 S4 0 1 X4* f4* 0 0+0 --- 0 0 2 500 0 + 2 400 --- 0 2 400 3 500 0 + 2 400 2 800 + 0 1 2 800 4 000 0 + 2 400 2 800 + 0 1 2 800 6 000 0 + 2 400 2 800 + 2 400 1 5 200 6 500 0 + 2 400 2 800 + 2 400 1 5 200 7 500 0 + 2 400 2 800 + 2 400 1 5 200 10 000 0 + 2 400 2 800 + 2 400 1 5 200 Para la etapa mostrada, se debe cumplir los siguientes criterios: f4 = max {r4 + f5*} X4 ≤ S4 / 3 000 S4 = S3 – 4 000 X3 i) ii) iii) ETAPA Nº 3 d3 = X3 S3 0 1 X3* f3* 4 000 0 + 2 800 3 500 + 0 1 3 500 6 500 0 + 5 200 3 500 + 2 400 1 5 900 7 500 0 + 5 200 3 500 + 2 800 1 6 300 10 000 0 + 5 200 3 500 + 5 200 1 8 700 Para la etapa mostrada, se debe cumplir los siguientes criterios: f3 = max {r3 + f4*} X3 ≤ S3 / 4 000 S3 = S2 – 2 500 X2 i) ii) iii) ETAPA Nº 2 d2 = X2 S2 0 1 X2* f2* 6 500 0 + 5 900 2 600 + 3 500 1 6 100 10 000 0 + 8 700 2 600 + 6 300 1 8 900 Para la etapa mostrada, se debe cumplir los siguientes criterios: i) ii) iii) f2 = max {r2 + f3*} X2 ≤ S2 / 2 500 S2 = S1 – 3 500 X1 ETAPA Nº 1 d1 = X1 S1 0 1 X1* f1* 10 000 0 + 8 900 3 100 + 6 100 1 9 200 Para la etapa mostrada, se debe cumplir los siguientes criterios: i) ii) iii) f1 = max {r1 + f2*} X1 ≤ S1 / 3 500 S1 = 10 000 Para el problema en cuestión la solución óptima está dada por: Z = 9 200 X1 = 1 X2 = 1 SOLUCIÓN ÓPTIMA X3 = 1 X4 = 0 X5 = 0 Ejemplo Nº 4 Un vendedor tiene que decidir cuántas unidades de 3 artículos llevar en su recorrido por varios ciudades del interior a fin de maximizar ventas. Sólo se vende hasta una unidad de cada artículo en cada lugar. Una regla de venta es que en cada lugar se venda al menos un artículo. En la tabla se muestran los artículos, los lugares donde se venden, los precios para cada lugar, el espacio por unidad que ocupan y la capacidad del vehículo del vendedor. ESPACIO POR LUGAR ARTÍCULO AGUADULCE CHITRÉ DAVID UNIDAD (p3) 1 100 120 140 1 2 200 180 230 2 3 300 350 260 3 CAPACIDAD DEL VEHÍCULO: 10 p3 SUGERENCIA: Considere los lugares como etapas y las 7 posibles combinaciones de artículos a llevar en cada lugar como variables de decisión de cada etapa. d1 = Valor de X1I d2 = Valor de X2I S2 = S1 – X1I S3 = S2 – X2I S1 = 10 1 2 d3 = Valor de X3I 3 r1 = f(X1) r2 = f(X2) r3 = f(X3) f1 = r1 + f2* f2 = r2 + f3* f3 = r3* En este problema nos encontramos nuevamente que se trata tipo binario, llevar o no llevar. COMBINACIONES ARTÍCULO FORMA 1 2 3 e (p3) A 1 0 0 1 B 0 1 0 2 C 0 0 1 3 D 1 1 0 3 E 1 0 1 4 F 0 1 1 5 G 1 1 1 6 Los posibles valores de combinaciones para los estado serán: S1 = {10} S2 = {4, 5, 6, 7, 8, 9} S3 = {1, 2, 3, 4, 5, 6, 7, 8} ETAPA Nº 3 (DAVID) d3 = X3 I ; X3 I ≤ S3 ; S3 = S2 – X2 I ; f3 = max { r3*} S3 A (1) B (2) C (3) D (3) E (4) F (5) G (6) X3 I* f3* 1 140 --- --- --- --- --- --- A 140 2 140 230 --- --- --- --- --- B 230 3 140 230 260 370 --- --- --- D 370 4 140 230 260 370 400 --- --- E 400 5 140 230 260 370 400 490 --- F 490 6 140 230 260 370 400 490 630 G 630 7 140 230 260 370 400 490 630 G 630 8 140 230 260 370 400 490 630 G 630 ETAPA Nº 2 (CHITRÉ) d2 = X2 I ; X2 I ≤ S2 – 1 ; S2 = S1 – X1 I ; f2 = max { r2 + f3*} E (4) F (5) G (6) X2 I* f2* --- --- --- A, C 490 --- --- E 610 6 120 + 490 180 + 400 350 + 370 300 + 370 470 + 230 530 + 140 --- C 720 7 120 + 630 180 + 490 350 + 400 300 + 400 470 + 370 530 + 230 650 + 140 E 840 8 120 + 630 180 + 630 350 + 490 300 + 490 470 + 400 530 + 370 650 + 230 F 900 9 120 + 630 180 + 630 350 + 630 300 + 630 470 + 490 530 + 400 650 + 370 G 1 020 S2 A (1) B (2) C (3) D (3) 4 120 + 370 180 + 230 350 + 140 300 + 140 5 120 + 400 180 + 370 350 + 230 300 + 230 470 + 140 ETAPA Nº 1 (AGUADULCE) d1 = X1 I ; X1 I ≤ S1 – 2 ; S1 = 10 ; f 1 = max { r 1 + f 2*} S1 A (1) B (2) C (3) D (3) E (4) F (5) G (6) 10 100 + 1 020 200 + 900 300 + 840 300 + 840 400 + 720 500 + 610 600 + 490 X1 I* f1* C, D 1 140 La solución óptima para este problema es: OPCIÓN Nº 1: OPCIÓN Nº 2: ARTICULOS ARTICULOS LUGAR A LLEVAR LUGAR A LLEVAR AGUADULCE 3 AGUADULCE 1, 2 CHITRÉ 1, 3 CHITRÉ 1, 3 DAVID 1, 2 DAVID 1, 2 ZMÁX = $ 1 140. 00 ZMÁX = $ 1 140. 00 Ejemplo Nº 5 Dada la siguiente función objetivo sujeta a la restricción mostrada, encontrar la solución óptima. MaxZ = (Y1 + 2 ) + Y 2 Y 3 + (Y 4 − 5 ) 2 2 Y1 + Y 2 + Y 3 + Y 4 ≤ 5 Yi ≥ 0 d1 = Valor de Y1 S1 = 5 d4 = Valor de Y4 d2 = Valor de Y2 S4 = S1 – Y1 1 entero S2 = S4 – Y4 4 d3 = Valor de Y3 S3 = S2 – Y2 2 3 r1 = (Y1 + 2)2 r4 = (Y4 – 5)2 r2 = Y2 r3 = Y3 f1 = r1 + f4* f4 = r4 + f2* f2 = r2 f3* f3 = r3* Los posibles valores de combinaciones para los estado serán: S1 = {5} S2 = {0, 1, 2, 3, 4, 5} S3 = {0, 1, 2, 3, 4, 5} S4 = {0, 1, 2, 3, 4, 5} ETAPA Nº 3 d3 = Y3 ; Y3 ≤ S3 ; S3 = S2 – Y2; f 3 = max { r3* } S3 0 1 2 3 4 5 Y3* f3* 0 0 --- --- --- --- --- 0 0 1 0 1 --- --- --- --- 1 1 2 0 1 2 --- --- --- 2 2 3 0 1 2 3 --- --- 3 3 4 0 1 2 3 4 --- 4 4 5 0 1 2 3 4 5 5 5 ETAPA Nº 2 d2 = Y2 ; Y2 ≤ S2 ; S2 = S4 – Y4; f 2 = max { r2 f3* } S2 0 1 2 3 4 5 Y2* f2* 0 (0) (0) --- --- --- --- --- 0 0 1 (0) (1) (1) (0) --- --- --- --- 0, 1 0 2 (0) (2) (1) (1) (2) (0) --- --- --- 1 1 3 (0) (3) (1) (2) (2) (1) (3) (0) --- --- 1, 2 2 4 (0) (4) (1) (3) (2) (2) (3) (1) (4) (0) --- 2 4 5 (0) (5) (1) (4) (2) (3) (3) (2) (4) (1) (5) (0) 2, 3 6 ETAPA Nº 4 S4 d4 = Y4 ; Y4 ≤ S4 ; S4 = S1 – Y1 ; f 4 = max { r4 + f2*} 0 1 2 3 4 5 Y4* f4* 0 25 + 0 --- --- --- --- --- 0 25 1 25 + 0 16 + 0 --- --- --- --- 0 25 2 25 + 1 16 + 0 9+0 --- --- --- 0 26 3 25 + 2 16 + 1 9+0 4+0 --- --- 0 27 4 25 + 4 16 + 2 9+1 4+0 1+0 --- 0 29 5 25 + 6 16 + 4 9+2 4+1 1+0 0+0 0 31 5 Y1* f1* 49 + 25 5 74 ETAPA Nº 1 S1 0 5 4 + 31 d1 = Y1 ; Y1 ≤ S1 ; S1 = 10 ; f 1 = max { r1 + f4*} 1 2 3 4 9 + 29 16 + 27 25 + 25 36 + 25 Para el problema en cuestión la solución óptima está dada por: Z = 74 Y1 = 5 Y2 = 0 Y3 = 0 Y4 = 0 SOLUCIÓN ÓPTIMA Ejemplo Nº 6 ABC Tech, una escuela privada de ingeniería, acaba de recibir una donación de un antiguo alumno por un monto de $ 100 000. El vicepresidente financiero del ABC Tech planea invertir el dinero para financiar un conjunto de becas. Puede invertir de tres formas con diferentes rendimientos. Los tres esquemas de inversión y sus rendimientos después de tres años (incluyendo el capital) se muestra en la tabla para diferentes niveles de inversión. Sugiérale al vicepresidente una cartera de inversiones que produzca el mayor rendimiento para becas y reinversión utilizando la programación dinámica. Rendimientos sobre la Inversión Inversión (en miles Plan X Plan Y Plan Z 0 0 0 0 25 50 60 40 50 110 90 100 100 150 130 175 d1 = Valor de X1 S1 = 100 d2 = Valor de X2 S2 = S1 – X1 1 d3 = Valor de X3 S3 = S2 – X2 2 3 r1 = f(X1) r2 = f(X2) r3 = f(X3) f1 = r1 + f2* f2 = r2 + f3* f3 = r3* Los posibles valores de combinaciones para los estado serán: S1 = {100} S2 = {0, 50, 75, 100} S3 = {0, 25, 50, 75, 100} ETAPA N º 3 d3 = X3 ; X3 ≤ S3 ; S3 = S2 – X2 ; f3 = max { r3*} S1 0 25 50 100 X1* f1* 0 0 --- --- --- 0 0 25 0 40 --- --- 25 40 50 0 40 100 --- 50 100 75 0 40 100 --- 50 100 100 0 40 100 175 100 175 ETAPA N º 2 d2 = X2 ; X2 ≤ S2 ; S2 = S1 – X1 ; f2 = max { r2 + f3*} S2 0 25 50 100 X2* f2* 0 0+0 --- --- --- 0 0 50 0 + 100 60 + 40 90 + 0 --- 0, 25 100 75 0 + 100 60 + 100 90 + 40 --- 25 160 100 0 + 175 60 + 100 90 + 100 130 + 0 50 190 ETAPA N º 1 d1 = X1 ; X1 ≤ S1 ; S1 = 100 ; f1 = max { r1 + f2*} S1 0 25 50 100 X1* f1* 100 0 + 190 50 + 160 110 + 100 150 + 0 25 , 50 210 Para el problema en cuestión la solución óptima está dada por: SOLUCIÓN 1 SOLUCIÓN 2 SOLUCIÓN 3 Z = 210 Z = 210 Z = 210 X1 = 25 X1 = 50 X1 = 50 X2 = 25 X2 = 25 X2 = 0 X3 = 50 X3 = 25 X3 = 50 Ejemplo Nº 7: La Dra. Kathy Mireya may, Que recién obtuvo su doctorado en psicología, acaba de aceptar un empleo en Hays State University y debe mudarse pronto a ese lugar. Para hacerlo, utilizará su único automóvil, dado que su esposo Ernesto P., llevará después el resto de sus artículos domésticos. Kathy ha determinado que tiene 9 pies cúbicos disponible para transportar artículos necesarios a Hays. En la tabla se muestra que está pensando llevar, junto con su volumen en pies cúbicos y su prioridad en una escala de 1 a 10, de acuerdo con la opinión de Kathy.ç ARTÍCULO VOLUMEN PRIORIDAD Ropa 2 8 TV 6 3 Horno Microonda 6 5 Libros 3 9 Artículos Personales 1 9 Determine que artículos debe transportar Kathy para maximizar sus prioridades, utilizando la programación dinámica. d1 = X1 S1 = 9 d2 = X2 S2 = S1 – 2 X1 1 d3 = X3 S3 = S2 – 6 X2 2 d4 = X4 d5 = X5 S4 = S3 – 6 X3 S5 = S4 – 3 X4 3 5 4 r1 = 8 X1 r2 = 3 X2 r3 = 5 X3 r4 = 9 X4 r5 = 9 X5 f1 = r1 + f2* f2 = r2 + f3* f3 = r3 + f4* f4 = r4 + f5* f5 = r5* Las combinaciones de valores que puede tomar cada variable de estado serán: S1 = {9} S2 = {7, 9} S3 = {1, 3, 7, 9} S4 = {1, 3, 7, 9} S5 = {0, 1, 3, 4, 6, 7, 9} ETAPA Nº 5 d5 = X5 ; X5 ≤ S5 ; S5 = S4 – 3 X4 ; f5 = max { r5*} S5 0 1 X5* f5* 0 0 --- 0 0 1 0 9 1 9 3 0 9 1 9 4 0 9 1 9 6 0 9 1 9 7 0 9 1 9 9 0 9 1 9 ETAPA Nº 4 d4 = X4 ; X4 ≤ S4 / 3; S4 = S3 – 6 X3 ; f4 = max { r4 + f5*} S4 0 1 X4* f4* 1 0+9 --- 0 9 3 0+9 9+0 0, 1 9 7 0+9 9+9 1 18 9 0+9 9+9 1 18 ETAPA Nº 3 d3 = X3 ; X3 ≤ S3 / 6; S3 = S2 – 6 X2 ; f3 = max { r3 + f4*} S3 0 1 X3* f3* 1 0+9 --- 0 9 3 0+9 --- 0 9 7 0 + 18 5+9 0 18 9 0 + 18 5+9 0 18 ETAPA Nº 2 d2 = X2 ; X2 ≤ S2 / 6; S2 = S1 – 2 X1 ; f2 = max { r2 + f3*} S2 0 1 X2* f2* 7 0 + 18 3+9 0 18 9 0 + 18 3+9 0 18 ETAPA Nº 1 d1 = X1 ; X1 ≤ S1 / 9; S1 = 9 ; f1 = max { r1 + f2*} S1 0 1 X1* f1* 9 0 + 18 8 + 18 1 26 Para el problema en cuestión la solución óptima está dada por: Z = 26 X1 = 1 X2 = 0 SOLUCIÓN ÓPTIMA X3 = 0 X4 = 1 X5 = 1 Ejemplo Nº 8: La campaña política para la rectoría de la Universidad ABC se encuentra es su última etapa y las preliminares indican que la elección está pareja. Uno de los candidatos tiene suficientes fondos para comprar tiempo en TV por un total de 5 comerciales en las horas de mayor audiencia en estaciones localizadas en cuatro centros regionales diferentes. Con base a la información preliminar se hizo una estimación del número de votos adicionales que se pueden ganar en los diferentes centros según el número de comerciales que se contraten. Estas estimaciones se dan en la tabla en miles de votos: Centro Regional Comerciales Chiriquí Azuero Coclé Veraguas 0 0 0 0 0 1 4 5 3 6 2 7 9 7 8 3 9 11 12 10 4 12 10 14 11 5 15 9 16 12 Determinar cómo deben distribuirse los comerciales entre los centros regionales, utilizando la herramienta de programación dinámica. d1 = Valor de X1 S1 = 5 d2 = Valor de X2 d3 = Valor de X3 S2 = S1 – X1 1 S3 = S2 – X2 2 d4 = Valor de X4 S4 = S3 – X3 3 4 r1 = f(X1) r2 = f(X2) r3 = f(X3) r4 = f(X4) f1 = r1 + f2* f2 = r2 + f3* f3 = r3 + f4* f4 = r4* Las combinaciones de valores que puede tomar cada variable de estado serán: S1 = {5} S2 = {0, 1, 2, 3, 4, 5} S3 = {0, 1, 2, 3, 4, 5} S4 = {0, 1, 2, 3, 4, 5} ETAPA Nº 4 d4 = X4 ; X4 ≤ S4 ; S4 = S3 – X3 ; f 4 = max { r4*} 1 2 3 4 5 X4* f4* --- --- 0 0 --- --- --- 1 6 8 --- --- --- 2 8 6 8 10 --- --- 3 10 0 6 8 10 11 --- 4 11 0 6 8 10 11 12 5 12 S4 0 0 0 --- --- --- 1 0 6 --- 2 0 6 3 0 4 5 ETAPA Nº 3 S3 d3 = X3 ; X3 ≤ S3 ; S3 = S2 – X2 ; f 3 = max { r3 + f4*} 0 1 2 3 4 5 X3* f3* 0 0+0 --- --- --- --- --- 0 0 1 0+6 3+0 --- --- --- --- 0 6 2 0+8 3+6 7+0 --- --- --- 1 9 3 0 + 10 3+8 7+6 12 + 0 --- --- 2 13 4 0 + 11 3 + 10 7+8 12 + 6 14 + 0 --- 3 18 5 0 + 12 3 + 11 7 + 10 12 + 8 14 + 6 16 + 0 3, 4 20 X2* f2* ETAPA Nº 2 S2 d2 = X2 ; X2 ≤ S2 ; S2 = S1 – X1 ; f 2 = max { r2 + f3*} 0 1 2 3 4 5 0 0+0 --- --- --- --- --- 0 0 1 0+6 5+0 --- --- --- --- 0 6 2 0+9 5+6 9+0 --- --- --- 1 11 3 0 + 13 5+9 9+6 11 + 0 --- --- 2 15 4 0 + 18 5 + 13 9+9 11 + 6 10 + 0 --- 0, 1, 2 18 5 0 + 20 5 + 18 9 + 13 11 + 9 10 + 6 9+0 1 23 5 X1* f1* 15 + 0 0 23 ETAPA Nº 1 S1 0 5 0 + 23 d1 = X1 ; X1 ≤ S1 ; S1 = 5 ; f 1 = max { r1 + f2*} 1 2 3 4 4 + 18 7 + 15 9 + 11 12 + 6 Para el problema en cuestión la solución óptima está dada por: Z = 23 X1 = 0 SOLUCIÓN ÓPTIMA X2 = 1 X3 = 3 X4 = 1 Ejemplo Nº 9: Una empresa tiene $ 10,000.00 para invertir en cualquiera de 4 riesgos de duración anual. El dinero no invertido en estos riesgos puede colocarse a interés anual del 10 % anual. ¿Cómo deben emplearse los fondos? CANTIDAD PARA VALOR NETO AL FINAL INVERTIR DEL AÑO 1 2 000 2 500 2 3 000 3 800 3 6 000 7 500 4 7 000 8 200 RIESGO d1 = X1 d2 = X2 S2 = S1 – 2 000 X1 S1 = 10 000 1 d3 = X3 S3 = S2 – 3 000 X2 2 d4 = X4 S4 = S3 – 6 000 X3 3 d5 = X5 S5 = S4 – 7 000 X4 4 5 r1 = f(X1) r2 = f(X2) r3 = f(X3) r4 = f(X4) r5 = f(X5) f1 = r1 + f2* f2 = r2 + f3* f3 = r3 + f4* f4 = r4 + f5* f5 = r5* Las combinaciones de valores que puede tomar cada variable de estado serán: S1 = {10 000} S2 = {8 000, 10 000} S3 = {5 000, 7 000, 8 000, 10 000} S4 = {1 000, 2 000, 4 000, 5 000, 7 000, 8 000, 10 000} S5 = {0, 1 000, 2 000, 3 000, 4 000, 5 000, 7 000, 8 000, 10 000} ETAPA Nº 5 d5 = X5 ; X5 = S5 ; S5 = S4 – 7 000 X4 ; f5 = max { r5*} S5 0 0 0 1 000 2 000 3 000 4 000 5 000 7 000 8 000 10 000 1 000 2 000 3 000 4 000 5 000 7 000 8 000 10 000 1 100 2 200 3 300 4 400 5 500 7 700 8 800 X5* f5* 0 0 1 000 1 100 2 000 2 200 3 000 3 300 4 000 4 400 5 000 5 500 7 000 7 700 8 000 8 800 11 000 10 000 11 000 ETAPA Nº 4 d4 = X4 ; X4 ≤ S4 / 7 000; S4 = S3 – 6 000 X3 ; f4 = max { r4 + f5*} S4 0 1 X4* f4* 1 000 0 + 1 100 --- 0 1 100 2 000 0 + 2 200 --- 0 2 200 4 000 0 + 4 400 --- 0 4 400 5 000 0 + 5 500 --- 0 5 500 7 000 0 + 7 700 8 200 + 0 1 8 200 8 000 0 + 8 800 8 200 + 1 100 1 9 300 10 000 0 + 11 000 8 200 + 3 300 1 11 500 ETAPA Nº 3 d3 = X3 ; X3 ≤ S3 / 6 000; S3 = S2 – 3 000 X2 ; f3 = max { r3 + f4*} S3 0 1 X3* f3* 5 000 0 + 5 500 --- 0 5 500 7 000 0 + 8 200 7 500 + 1 100 1 8 600 8 000 0 + 9 300 7 500 + 2 200 1 9 700 10 000 0 + 11 500 7 500 + 4 400 1 11 900 ETAPA Nº 2 d2 = X2 ; X2 ≤ S2 / 3 000; S2 = S1 – 2 000 X1 ; f2 = max { r2 + f3*} S2 0 1 X2* f2* 8 000 0 + 9 700 3 800 + 5 500 0 9 700 10 000 0 + 11 900 3 800 + 8 600 1 12 400 ETAPA Nº 1 d1 = X1 ; X1 ≤ S1 / 2 000; S1 = 10 000 ; f1 = max { r1 + f2*} S1 0 1 X1* f1* 10 000 0 + 12 400 2 500 + 9 700 0 12 400 Para el problema en cuestión la solución óptima está dada por: Z = 12 400 X1 = 0 SOLUCIÓN ÓPTIMA X2 = 1 X3 = 1 X4 = 0 X5 = 1 000 2. MODELOS DE PROGRAMACIÓN DINÁMICA CON VALORES CONTINUOS 2.1 PROBLEMAS DE UNA RESTRICCIÒN Ilustraremos este modelo a través de una serie de ejemplos. Ejemplo Nº 1: MaxZ = 7 X 12 + 6 X 4X1 + 2X 2 2 + 5X + 3X 3 2 3 ≤ 10 Xi ≥ 0 d1 = Valor de X1 S1 = 10 d3 = Valor de X3 S3 = S1 – 4X1 1 d2 = Valor de X2 S2 = S3 – 3X3 3 2 r1 = 7 X12 r3 = 5 X32 r2 = 6 X2 f1 = r1 + f3* f3 = r3 + f2* f2 = r2* Iniciamos desde la última etapa definida en el diagrama, para este caso es la etapa 2. Buscamos los máximos, ya que el criterio es maximizar. f2 = 6 X2 y 0 ≤ 2 X2 ≤ S2 Por tratarse de la ecuación de una recta el máximo se dará en el extremo derecho, sustituyendo este: f2* = 6 (S2 / 2) = 3 S2 X2* = S2 / 2 y Recordemos que f3 = r3 + f2* = 5 X32 + f2* y S2 = S3 – 3X3 f3 = 5 X32 + 3 S2 = 5 X32 + 3 (S3 – 3X3) f3 = 5 X32 + 3 S3 – 9 X3 y 0 ≤ 3 X3 ≤ S3 Si se observa en detalle la función f3 corresponde al tipo de las cuadráticas, para encontrar el valor de X3 que hace que la función sea máxima es necesario emplear las técnicas de derivadas para criterios de máximos y mínimos. ∂f 3 9 = 10 X 3 − 9 = 0 ⇒ X 3 = ∂X 3 10 ∂ 2 f3 = +10 ∂X 32 lo que representa un mínimo Para ello lo que hacemos es evaluar los extremos de los valores de X3 para encontrar la serie de combinaciones para los que representa un máximo. f3 ( X3 = 0 ) = 3 S3 y f3 ( X3 = S3 / 3) = 5 / 9 S32 Como en ambos casos se depende de la variable de estado se igualarán ambas funciones para definir en que casos específicos una representa un máximo y la otra un mínimo. 3 S3 = 5 / 9 S32 → 5 S32 - 27 S3 = 0 Para este caso las raíces son S3 = 0 y S3 = 5.4 VALOR PRUEBA VALOR PRUEBA INTERVALO 0 ≤ S3 ≤ 5.4 (S3 = 3) S3 ≥ 5.4 (S3 = 9) ES MÁXIMO f3 = 3 S3 9 27 0 ≤ S3 ≤ 5.4 f3 = 5 / 9 S32 5 45 S3 ≥ 5.4 FUNCIÒN Si usted observa en detalle S3 = S1 – 4X1 lo que permite que 0 ≤ S3 ≤ 10 Por esta razón definiremos dos intervalos de análisis f3* ( X3* = 0 ) = 3 S3 para S3 ≤ 5.4 f3* ( X3* = S3 / 3 ) = 5 / 9 S32 para S3 ≥ 5.4 Pasaremos ahora a la etapa 1 f1 = r1 + f3* = 7 X12 + f3* S 3 ≤ 5 .4 3S 3 f 1* = 7 X 12 + S 3 ≥ 5 .4 5 9 S 32 Sustituyendo S3 = S1 – 4X1 = 10 – 4X1 en las expresiones anteriores se obtiene 3(10 − 4 X 1 ) f 1* = 7 X 12 + X 1 ≥ 1 . 15 5 9 (10 − 4 X 1 ) 2 X 1 ≤ 1 . 15 Además el valor máximo que puede tomar X1 es de 2.5 Para esta etapa analizaremos cada caso en particular: a) f1* = 7 X12 + 3 (10 – 4 X1) 1.15 ≤ X1 ≤ 2.5 Mínimo en X1 = - b / 2a = -(-12) / (2 (7)) = 6 / 7; como es un mínimo y además está fuera del intervalo de la función dada se evalúan los extremos. f1* ( X1* = 1.15 ) = 25.4575 b) f1* = 7 X12 + 5 / 9 (10 – 4 X1)2 f1* ( X1* = 2.5 ) = 43.75 y 0 ≤ X1 ≤ 1.15 Mínimo en X1 = - b / 2a = -(-40/9) / (2 (143/9)) = 40 / 143; como representa un mínimo se calculan los extremos. f1* ( X1* = 0 ) = 55.56 y f1* ( X1* = 1.15 ) = 25.4575 Solución final del problema: ZMAX = 55.56 X1 * = 0 X2* = 0 X3* = 10 / 3 Ejemplo Nº 2: MaxZ = 3 X 1 − X 12 + 4 X X1 + X 2 + X 2 − 2X 2 2 + 7X 3 ≤1 3 Xi ≥ 0 d1 = Valor de X1 S1 = 1 d2 = Valor de X2 S2 = S1 – X1 d3 = Valor de X3 S3 = S2 – X2 1 2 3 r1 = 3 X1 – X12 r2 = 4 X2 – 2 X22 r3 = 7 X3 f1 = r1 + f2* f2 = r2 + f3* f3 = r3* Iniciamos desde la última etapa definida en el diagrama, para este caso es la etapa 3. Buscamos los máximos, ya que el criterio es maximizar. f3 = 7 X3 y 0 ≤ X3 ≤ S3 Por tratarse de la ecuación de una recta el máximo se dará en el extremo derecho, sustituyendo este: f3* = 7 (S3) = 7 S3 y X3* = S3 Recordemos que f2 = r2 + f3* = 4 X2 – 2 X22 + f3* y S3 = S2 – X2 f2 = 4 X2 – 2 X22 + 7 S3 = 4 X2 – 2 X22 + 7 (S2 – X2) f2 = – 2 X22 – 3 X2 + 7 S2 y 0 ≤ X2 ≤ S2 Si se observa en detalle la función f2 corresponde al tipo de las cuadráticas, para encontrar el valor de X2 que hace que la función sea máxima es necesario emplear las técnicas de derivadas para criterios de máximos y mínimos. ∂f 2 3 = −4 X 2 − 3 = 0 ⇒ X 2 = − 4 ∂X 2 ∂2 f2 = −4 ∂X 22 lo que representa un máximo Aún cuando el valor de X2 encontrado representa un máximo, por ser negativo no está dentro del rango de factibilidad (valores positivos). Para ello lo que hacemos es evaluar los extremos de los valores de X2 para encontrar la serie de combinaciones para los que representa un máximo. f2 ( X2 = 0 ) = 7 S2 y f2 ( X2 = S2) = – 2 S22 + 4 S2 Como en ambos casos se depende de la variable de estado se igualarán ambas funciones para definir en que casos específicos una representa un máximo y la otra un mínimo. 7 S2 = – 2 S22 + 4 S2 → 2 S22 + 3 S2 = 0 Para este caso las raíces son S2 = 0 y S2 = – 0.5 Como los valores de estado no pueden romper el principio de no negatividad se analizarán sólo los positivos 0 ≤ S2 ≤ 1 VALOR PRUEBA FUNCIÒN 0 ≤ S2 ≤ 1 (S2 = 1) f2 = 7 S2 7 f2 ( X2 = S2) = – 2 S22 + 4 S2 2 MÁXIMO X Si usted observa en detalle no es necesario dividir esta función en dos intervalos. Lo que significa que la mejor combinación para esta etapa es: f2* ( X2* = 0 ) = 7 S2 para 0 ≤ S2 ≤ 1 Pasaremos ahora a la etapa 1 f1 = r1 + f2* = 3 X1 – X12 + f2* f1 = 3 X1 – X12 + 7 S2 = 3 X1 – X12 + 7 (S1 – X1) f1 = – X12 – 4 X1 + 7 S1 y 0 ≤ X1 ≤ S1 = 1 ∂f 1 = −2 X 1 − 4 = 0 ⇒ X 1 = −2 ∂X 1 ∂ 2 f1 = −2 2 ∂X 1 lo que representa un máximo Aún cuando el valor de X1 encontrado representa un máximo, por ser negativo no está dentro del rango de factibilidad (valores positivos). Para ello lo que hacemos es evaluar los extremos de los valores de X1 para encontrar la serie de combinaciones para los que representa un máximo. f1 ( X1 = 0 ) = – (0)2 – 4 (0) + 7 (1) = 7 f1 ( X1 = S1 = 1) = – (1)2 – 4 (1) + 7 (1) = 2 Como podrá observar el mejor valor resulta de cuando X1 = 0, de aquí podemos concluir Solución final del problema: ZMAX = 7 X1* = 0 X2* = 0 X3* = 1 2.2 PROBLEMAS DE DOS RESTRICCIONES En este caso en particular Usted notará que el procedimiento de optimización es similar al caso anterior, lo que le parecerá nuevo es el hecho de que se debe satisfacer la dos condiciones restrictivas del problema al mismo tiempo. Para ello veremos algunos problemas para ilustrar al lector. Ejemplo Nº 1: MaxZ = 15 X 1 + 10 X X1 + 2X 2 ≤ 6 3X1 + X 2 ≤8 2 d1 = Valor de X1 d2 = Valor de X2 S11 = 6 S21 = 6 – X1 S21 = 8 S22 = 8 – 3 X1 1 2 r1 = 15 X1 r2 = 10 X2 f1 = r1 + f2* f2 = r2* Para dar inicio a la solución del problema partiremos por establecer los rangos de las variables de decisión: R1: 0 ≤ X1 ≤ 6 0 ≤ X2 ≤ S21 / 2 R2: 0 ≤ X1 ≤ 8 0 ≤ X2 ≤ S22 Daremos inicio por la etapa 2: 0 ≤ X 2 ≤ 0 . 5 S 21 0 ≤ X 2 ≤ S 22 ⎧ f 2 = ⎨10 X 2 ⎩ En esta etapa pueden presentarse dos casos Caso A: S21 / 2 ≤ S22 f2 ( X2 = S21 / 2 ) = 10 ( S21 / 2 ) = 5 S21 Caso B: S22 ≤ S21 / 2 f2 ( X2 = S22 ) = 10 ( S22 ) = 10 S22 Para pasar a la etapa 1 tenemos que evaluar los valores de X1 para cada uno de los 2 casos antes expuestos, obteniendo: Caso B: Caso A: S21 / 2 ≤ S22 (6 – X1) / 2 ≤ 8 – 3 X1 X1 ≤ 2 S22 8 – 3 X1 ≤ S21 / 2 ≤ (6 – X1) / 2 X1 ≥ 2 Además el valor de X1 no debe exceder de 6 para satisfacer a R1 y R2 al mismo tiempo. Habiendo definido los valores de X1 para cada caso se procederá a optimizar la función para cada caso mostrado. ⎧ 5 (6 − X 1 ) f1 = 15 X 1 + ⎨ ⎩10 (8 − 3 X 1 ) 0 ≤ X1 ≤ 2 2 ≤ X1 ≤ 6 Se analizará cada caso por separado, para luego comparar los máximos de cada uno Caso A: f1 = 30 + 10 X1 0 ≤ X1 ≤ 2 Esta función representa el Lugar Geométrico de una recta, donde el máximo se dará en el extremo derecho, obteniéndose: f1 ( X1 = 2) = 30 Caso B: f1 = 80 – 15 X1 2 ≤ X1 ≤ 6 Se presenta nuevamente el Lugar Geométrico de una recta con pendiente negativa, al contrario del Caso A, el máximo se presentará en el extremo izquierdo. f1 ( X1 = 2) = 50 Solución final del problema: ZMAX = 50 X1* = 2 X2* = 2 Ejemplo Nº 2: MaxZ = 4X1 + 4X 2 2X1 + 7X 2 ≤ 21 7X1 + 2X 2 ≤ 21 d1 = Valor de X1 d2 = Valor de X2 S11 = 21 S21 = 21 – 2 X1 S21 = 21 S22 = 21 – 7 X1 1 2 r1 = 4 X1 r2 = 14 X2 f1 = r1 + f2* f2 = r2* Para dar inicio a la solución del problema partiremos por establecer los rangos de las variables de decisión: R1: 0 ≤ X1 ≤ 21 / 2 0 ≤ X2 ≤ S21 / 7 R2: 0 ≤ X1 ≤ 21 / 7 0 ≤ X2 ≤ S22 / 2 Daremos inicio por la etapa 2: ⎧ f 2 = ⎨14 X 2 ⎩ 0 ≤ X 2 ≤ 1 / 7 S 21 0 ≤ X 2 ≤ 1 / 2 S 22 En esta etapa pueden presentarse dos casos Caso A: S21 / 7 ≤ S22 / 2 f2 ( X2 = S21 / 7 ) = 14 ( S21 / 7 ) = 2 S21 Caso B: S22 / 2 ≤ S21 / 7 f2 ( X2 = S22 / 2 ) = 14 ( S22 / 2 ) = 7 S22 Para pasar a la etapa 1 tenemos que evaluar los valores de X1 para cada uno de los 2 casos antes expuestos, obteniendo: Caso B: Caso A: S21 / 7 (21 – 2 X1) / 7 ≤ S22 / 2 ≤ (21 – 7 X1) / 2 S22 / 2 (21 – 7 X1) / 2 X1 ≤ 7 / 3 ≤ S21 / 7 ≤ (21 – 2 X1) / 7 X1 ≥ 7 / 3 Además el valor de X1 no debe exceder de 21 / 7 = 3 para satisfacer a R1 y R2 al mismo tiempo. Habiendo definido los valores de X1 para cada caso se procederá a optimizar la función para cada caso mostrado. ⎧ 2 (21 − 2 X 1 ) f1 = 4 X 1 + ⎨ ⎩ 7 (21 − 7 X 1 ) 0 ≤ X1 ≤ 7 / 3 7 / 3 ≤ X1 ≤ 3 Se analizará cada caso por separado, para luego comparar los máximos de cada uno Caso A: f1 = 42 0 ≤ X1 ≤ 7/3 Esta función representa el Lugar Geométrico de una recta horizontal, donde el máximo se dará en todo valor comprendido entre 0 y 7 / 3, obteniéndose: f1 ( 0 ≤ X1 ≤ 7 / 3 ) = 42 Caso B: f1 = 147 – 45 X1 7/3 ≤ X1 ≤ 3 Se presenta nuevamente el Lugar Geométrico de una recta con pendiente negativa, el máximo se presentará en el extremo izquierdo. f1 ( X1 = 7 / 3 ) = 42 Solución final del problema: ZMAX = 42 0 ≤ X1* ≤ 7 / 3 X2* = (21 – 2 X1) / 7