1
Programaci´ on on Matem´ atica. atica.
Formulaci´ on on de problemas de programaci´ on on lineal.
1. PROBLEM PROBLEMA A DE PLANEAM PLANEAMIENTO IENTO DE LA PRODUC PRODUCCION. CION. Se procesan tres productos a trav´ trav´es es de tres operaciones diferentes. diferentes. Los tiempos (en minutos) minutos) requeridos por unidad de cada producto en cada operaci´ on, la capacidad diaria de las operaciones (en minutos minutos por p or d´ıa) y el beneficio b eneficio por unidad vendida de cada producto (en miles de pesetas) son como sigue: Operaci´ on on 1 2 3 Ganancias/unidad (miles de p esetas)
Tiem Tiempo po por por unid unidad ad (min (minut utos os)) Capa Ca paci cida dad d de P1 P2 P3 operaci´ on on (minutos/dıa) 1 2 1 4 30 8 0 2 4 60 1 4 0 4 20 3
2
5
Si todas las unidades producidas se venden, determinar la producci´ on on diaria optima ´optima para cada producto que maximice el beneficio. Soluci´ on.on.- Encontrar x1 , x2 y x3 tal que
maximice z = 3x1 + 2x2 + 5x3 sujeta sujeta a x1 + 2x2 + x3 ≤ 430 8x1 + 2x3 ≤ 460 ≤ 420 x1 + 4x2 x1 , x2 , x3 ≥ 0 La soluci´on on optima o´ptima es x1 = 0, x2 = 100 y x3 = 230. Esto nos reporta un beneficio de 11 350,000. 2. PROBLEMA DEL PRODUCTO MIXTO. Una compa˜ n´ıa se s e dedica d edica a la producpro ducci´on on de dos tipos de fertilizantes: H-fosfato y L-fosfato. Para su fabricaci´ on on se utilizan tres clases diferentes de materias primas: C1 , C2 y C3 . Se conoce, por unidad, lo que cada uno de los fertilizantes necesita de materia prima-: H-fos H-fosfa fato to L-fo L-fosfa sfato to t. dispo disponi nibl bles es/me /mess C1 2 1 15 00 C2 1 1 12 00 C3 1 0 5 00 Beneficios netos/t. 15 10 ¿Cu´antas antas toneladas se deben producir de cada tipo de fertilizante para que el beneficio neto total tota l sea m´aximo? aximo?
2
Programaci´ on Matem´ atica.
Soluci´ on.-Encontrar x1 y x2 tal que
maximice z = sujeta a
15x1 +
10x2
0,5x1 + 0,5x2 ≤ 1500 0,25x1 + 0,5x2 ≤ 1200 0,25x1 ≤ 500 x1 , x2 ≥ 0 La soluci´ on o´ptima es x1 = 2000, x2 = 1000 y z = 40000.
´ 3. PROBLEMA DE MEZCLA OPTIMA. Una refiner´ıa obtiene tres tipos de fuel: F1 , F2 y F3; mezclando adecuadamente tipos diferentes de gasolina cruda: C1, C2, C3 y C4, que produce.
Vende al exterior los tipos de fuel as´ı como la gasolina cruda que no utiliza para la producci´ on de los fueles. Se conoce: Gasolina cruda C1 C2 C3 C4
Calidad Producci´ on Coste (octanos/barril) (barriles/d´ıa) (u.m./barril) 68 4000 1.02 86 5050 1.15 91 7100 1.35 99 4300 2.75
Calidad m´ınima Precio de venta Demanda Fuel (octanos/barril) (u.m./barril) (no barriles) F1 95 5.15 10000/d´ıa a lo sumo F2 90 3.95 Vende todo lo que produce F3 85 2.99 15000/d´ıa al menos La gasolina cruda la puede vender a 2.95 u.m. el barril si el n´ umero de octanos es mayor o igual que 90 y a 1.85 si es menor de 90. ¿Cu´ antos barriles cada d´ıa se deben fabricar de F1, F2 y F3 para que se maximice el beneficio total por ventas? Plantear como un problema de programaci´ on lineal. umero de barriles de crudo Ci (i = 1, . . . , 4) empleados Soluci´ on.- Encontrar xij ≡ n´ para la fabricaci´ on del fuel tipo j e yi ≡ n´ umero de barriles de crudo Ci que se venden directamente; i = 1, . . . , 4 y j = 1, . . . , 3, tal que maximicez = 5,15(x11 + x21 + x31 + x41 ) + 3,95(x12 + x22 + x32 + x42 ) + 2,99(x13 + x23 + x33 + x43 )+1 ,85(y1 + y2 )+2 ,95(y3 + y4 ) − 4000 ∗ 1,02 − 5050 ∗ 1,15 − 7100 ∗ 1,35 − 4300 ∗ 2,75 sujeta a x11 + x12 + x13 + y1 = 4000 x21 + x22 + x23 + y2 = 5050 x31 + x32 + x33 + y3 = 7100 x41 + x42 + x43 + y4 = 4300
3
Programaci´ on Matem´ atica.
68x11 + 86x21 + 91x31 + 99 x41 ≥ 95 x11 + x21 + x31 + x41 68x12 + 86x22 + 91x32 + 99 x42 ≥ 90 x12 + x22 + x32 + x42 68x13 + 86x23 + 91x33 + 99 x43 ≥ 85 x13 + x23 + x33 + x43 x11 + x21 + x31 + x41 ≤ 10000 x13 + x23 + x33 + x43 ≥ 15000 xij ≥ 0 e yi ≥ 0; para i = 1, . . . , 4 y j = 1, . . . , 3.
La soluci´ on o´ ptima es fabricar 4958 barriles de F1, 0 de F2 y 15000 de F3. Concretamente al resolver el problema por el m´etodo simplex se obtiene x11 = 683,87, x41 = 4274,19, x13 = 2824,19, x23 = 5050, x33 = 7100, x43 = 25,8, y1 = 491,93 y z = 39996,61. 4. PROBLEMA DE LA DIETA. Existen tres vitaminas distintas: X, Y y Z, y tres tipos diferentes de alimentos: leche, carne y huevos. A continuaci´ on se indica la cantidad de vitaminas que contiene cada unidad de cada tipo de alimento: leche (mg/litro) X 1 Y 100 Z 20 Coste/unidad 1.2
carne (mg/kilo) 4 20 100 1.8
huevos necesidades m´ınimas (mg/unidad) (mg) 10 1 10 250 10 120 0.8
Determinar que cantidad de leche, carne y huevos necesita tomar el organismo para obtener con el m´ınimo gasto posible una dieta que satisfaga las necesidades m´ınimas. Soluci´ on.- Encontrar x 1 ≡ litros de leche, x 2 ≡ kilos de carne y x 3 ≡ huevos que debe
tomar tal que minimice z = sujeta a
1,2x1 + 1,8x2 x1 + 4x2 100x1 + 20x2 20x1 + 100x2 x1
,
x2
+ 0,8x3 + 10x3 ≥ 1 + 10x3 ≥ 250 + 10x3 ≥ 120 , x3 ≥ 0 y x3 entero.
La soluci´ on es tomar 2.354 litros de leche y 0.729 kilos de carne. Esto supone un coste de 4.1375.
4
Programaci´ on Matem´ atica.
5. PROBLEMA DE LA PERDIDA POR AJUSTES. Una f´abrica de papel recibi´o tres pedidos de rollos de papel con los anchos y longitudes indicados en la tabla siguiente: No Pedido Anchura Longitud 1 5 10 2 7 30 3 9 20 Los rollos se producen en la f´ abrica con dos anchos est´ andar, 10 y 20, los cuales hay que recortar a los tama˜ nos especificados por los pedidos. No existe l´ımite sobre la longitud de los rollos est´andar ya que pueden unirse unos con otros para proporcionar las longitudes requeridas. Formular el problema de determinar el patr´ on o patrones de corte que minimice la p´erdida por ajustes y satisfaga la demanda. Soluci´ on.- Denoto por tipo 1 el rollo de anchura 10 y por tipo 2 el rollo de anchura 20. Sea xij longitud cortada del rollo tipo i seg´ un el patr´ on de corte j . S´olo consideramos
los patrones de corte cuya anchura sobrante es menor que la anchura m´ as peque˜ na de los pedidos. Anchura x11 x12 x13 x21 x22 x23 x24 x25 x26 5 2 0 0 4 2 2 1 0 0 7 0 1 0 0 1 0 2 1 0 9 0 0 1 0 0 1 0 1 2 Anchura sobrante 0 3 1 0 3 1 1 4 2 Encontrar xij tales que minimicen z = 3x12 + x13 + 3x22 + x23 + x24 + 4 x25 + 2 x26 + 5 s1 + 7 s2 + 9 s3 sujeta a 2x11 + 4 x21 + 2 x22 + 2 x23 + x24 − s1 = 10 x12 + x22 + 2 x24 + x25 − s2 = 30 x13 + x23 + x25 − s3 = 20 xij ≥ 0; donde s1 , s2 y s3 son las longitudes producidas en exceso de los rollos, de ancho 5,7 y 9, respectivamente. 6. PROBLEMA DE TRANSPORTE. Una empresa de transporte debe enviar desde las localidades A y B , 70 y 80 t. de carga, respectivamente, a las localidades X , Y y Z , donde deben recibirse 35, 65 y 50 t., respectivamente. Los costes de transporte por unidad de los or´ıgenes a los destinos son X Y Z A 56 62 93 B 17 54 67
5
Programaci´ on Matem´ atica.
Plantear el problema para determinar el plan de transporte que minimice el coste total. Soluci´ on.- Denoto por xij la cantidad transportada desde el origen i al destino j ; donde i = 1, 2 y j = 1, 2, 3.
minimizar z = 56x11 + 62x12 + 93 x13 + 17x21 + 54x22 + 67 x23 sujeta a x11 + x12 + x13 = 70 x21 + x22 + x23 = 80 x11 + x21 = 35 x12 + x22 = 65 x13 + x23 = 50 xij ≥ 0 i = 1, 2 y j = 1, 2, 3.
´ 7. PROBLEMA DE ASIGNACION DE RECURSOS. El problema consiste en asignar una serie de trabajos a una serie de t´ecnicos. Denotaremos los trabajos por T1, T2,....., Tn y a los t´ecnicos por TE1, TE2, ......, TEn.
Sabemos que cij es el coste de que el t´ecnico TEi realice el trabajo Tj (i,j=1, ....., n). Si cada t´ecnico s´ olo puede realizar un u´nico trabajo y cada trabajo s´ olo lo puede realizar un u ´nico t´ecnico, calcular la asignaci´ on o´ptima para que se realicen los n trabajos con el menor coste posible. o 1; para i,j=1,. . . ,n tales que Soluci´ on.- Encontrar xij ≡ variable con valor 0 ´ minimicen z = sujeta a
n n i=1
n in
j =1 cij xij
xij = 1; ∀ j = 1, . . . , n j =1 xij = 1; ∀i = 1, . . . , n ´ 1; ∀i, j = 1, . . . , n . xij = 0 o =1
Si la variable xij vale 1 indica que el t´ecnico TEi realiza el traba jo Tj.
8. PROBLEMA DEL AGENTE VIAJERO. Denotamos por C1, C2,....., Cn n ciudades distintas. Se conoce el coste de desplazarse desde cualquiera de las ciudades a todas las restantes, cij : coste de ir desde Ci hasta Cj. Determinar la forma menos costosa de recorrer todas las ciudades de manera que partiendo de una cualquiera de ellas se pase una y s´ olo una vez por el resto de las ciudades y se vuelva a la de partida. o 1; para i,j=1,. . . ,n tales que Soluci´ on.- Encontrar xij ≡ variable con valor 0 ´
6
Programaci´ on Matem´ atica.
minimicen z = sujeta a
n n
j =1 cij xij
i=1
n in xij = 1; ∀ j = 1, . . . , n j x ij = 1; ∀i = 1, . . . , n =1
=1
≥ 1; ∀{I, J } partici´o nde {1, . . . , n} ´ 1; ∀i, j = 1, . . . , n . xij = 0 o i∈I
j ∈J x ij
Si la variable xij vale 1 indica que de la ciudad Ci me dirijo a la Cj.
´ DE CAPITAL. Una compa˜ 9. PROBLEMA DE INVERSI ON n´ıa quiere planificar su inversi´on a lo largo de T periodos de tiempo: P1 , P2 , ....., PT.
Existen una serie de proyectos: PR1 , PR2 , ....., PRN que puede seleccionar. Una vez elegido uno de ellos, tiene que invertir una determinada cantidad a lo largo de los T-periodos. Sea aij la inversi´on necesaria en el proyecto PRj durante el periodo Pi. Sea v j el rendimiento del proyecto PRj despu´es de los T periodos de tiempo. Adem´as la compa˜ n´ıa dispone de un determinado capital para cada uno de los T periodos. Sea Bi : capital disponible para el periodo i (i=1, ....., T). ¿Cu´ales son los proyectos que debe elegir la compa˜ n´ıa para hacer m´aximo el rendimiento total de la inversi´ on? ´ 1; para j=1,. . . ,N tales que Soluci´ on.- Encontrar x j ≡ variable con valor 0 o maximicen z = sujeta a
N
j =1 v j x j
N
≤ B i ; ∀i = 1, . . . , T x j = 0 o ´ 1; ∀ j = 1, . . . , N . j =1 aij x j
Si la variable x j vale 1 indica que elijo el proyecto PRj y si vale 0 no invierto en ese proyecto. 10. PROBLEMA DEL MONTAJE DE UN PRODUCTO. Se dispone de dos tipos de m´ aquinas: 1 taladro y 5 fresadoras, para realizar el montaje de un producto compuesto por dos piezas: P1 y P2. El tiempo (en minutos) de estas m´ aquinas requerido por cada pieza viene reflejado en la tabla siguiente: Piezas Taladro P1 3 P2 5
Fresadora 20 15
Si ninguna m´ aquina puede trabajar m´ as de treinta minutos por encima de cualquier otra al d´ıa; el tiempo de trabajo de fresadoras se reparte (al d´ıa) por igual entre las 5 y suponiendo 8 horas, como m´ aximo, de trabajo al d´ıa para cada una de las m´ aquinas.
7
Programaci´ on Matem´ atica.
Determinar el tiempo de trabajo de cada m´ aquina de forma que se produzca el mayor n´umero de montajes completos al d´ıa. Soluci´ on.- Encontrar x1 y x2 tales que
maximicen z = m´ın {x1 , x2 } sujeta a 3x1 + 5 x2 ≤ 480 20x1 + 15x2 ≤ 5 ∗ 480 x |3x1 + 5 x2 − 20x +15 | ≤ 30 5 x1, x2 ≥ 0 y enteros. 1
2
Puede escribirse como el siguiente modelo lineal maximicen z = y sujeta a 3x1 + 5 x2 ≤ 480 20x1 + 15x2 ≤ 5 ∗ 480 x ≤ 30 3x1 + 5 x2 − 20x +15 5 20x +15x 3x1 + 5 x2 − ≥ −30 5 y ≤ x 1 y ≤ x 2 x1 , x2 , y ≥ 0 y entero. 1
2
1
2
´ O CONTROL DE CALIDAD. Una empresa 11. PROBLEMA DE INSPECCION dispone de dos tipos diferentes de inspectores ( I1, I2 ) para el control de calidad de sus productos.
Se necesita inspeccionar al menos 1800 piezas al d´ıa (8 horas). Cada inspector del tipo I1 inspecciona 25 piezas a la hora , con un error del 2 %, y cada inspector del tipo I2 inspecciona 15 piezas a la hora, con un error del 5 %. Los sueldos por hora son de 4 y 3 unidades para los inspectores I1 e I2, respectivamente. El gasto por cada pieza err´ onea aparecida en la inspecci´ on es de 2 unidades. Sabiendo que la compa˜ n´ıa dispone al d´ıa de un m´ aximo de 8 inspectores tipo I1 y de 10 tipo I2, ¿qu´e cantidad de inspectores I1 e I2 debe dedicar la empresa al control de calidad de los productos con el fin de obtener gasto m´ınimo?. Soluci´ on.- Encontrar x1 , x2 tales que
minimicen z = (4 + 0,5 ∗ 2)x1 + (3 + 0,75 ∗ 2)x2 sujeta a (25x1 + 15x2 ) ∗ 8 ≥ 1800 x1 ≤ 8 x2 ≤ 10 x1 , x2 ≥ 0 y enteros.
8
Programaci´ on Matem´ atica.
12. PROBLEMA TIPO MOCHILA. Disponemos de una serie de art´ıculos (A1, A2 , ..., An) de los que se conoce su peso (w1, w2 ,..., w3), su volumen (v1 ,v2 ,...,vn) y su valor (r1 ,r2 ,..., rn) por unidad. ¿Qu´ e cantidad de art´ıculos de tipo Ai (i=1, .....,n) hay que cargar en un determinado veh´ıculo de transporte del que se conoce el peso m´ aximo que puede soportar, T, as´ı como su volumen m´ aximo, K, para maximizar el valor de la carga total transportada? Soluci´ on.- Encontrar x1 , x2 , . . . , xn tales que
maximicen z = sujeta a
n
i=1 ri xi
n in
wi xi ≤ T i=1 vi xi ≤ K =1
xi ≥ 0 y enteros.
´ AGR´ 13. PROBLEMA DE PRODUCCION ICOLA. Un individuo posee tres fincas de una determinada extensi´ on que disponen de una cierta cantidad de agua:
Extensi´o n Disponibilidad de agua FINCAS (Hect´areas) (miles de litros) F1 350 1500 F2 700 2000 F3 300 900 Tiene la posibilidad de cultivar en cada una de ellas tres tipos de plantas: yuca, patata y ma´ız, de las que se conocen los datos siguientes: Extensi´on m´axima Plantas (hect´ a reas) (A) yuca 600 (B) patata 900 (C) ma´ız 300
Agua necesaria Beneficio esperado (miles de litros/hect´ a rea) (u.m./hect´ area) 5 2.4 4 1.8 3 0.60
El porcentaje de extensi´ on cultivado en las tres fincas ha de coincidir. Plantear el problema de determinar cu´ antas hect´ areas se dedicar´ an al cultivo de A, B y C en cada finca de forma que se obtenga un beneficio total m´ aximo.
9
Programaci´ on Matem´ atica.
Soluci´ on.- Encontrar xAi , xBi , xCi para i = 1, 2 y 3, tales que
maximicen z = 400(xA1 + xA2 + xA3 ) + 300(xB1 + xB2 + xB3 )+ 100(xC 1 + xC 2 + xC 3 ) sujeto a xA1 + xB 1 + xC 1 ≤ 350 xA2 + xB 2 + xC 2 ≤ 700 xA3 + xB 3 + xC 3 ≤ 300 5xA1 + 4 xB 1 + 3 xC 1 ≤ 1500 5xA2 + 4 xB 2 + 3 xC 2 ≤ 2000 5xA3 + 4xB 3 + 3 xC 3 ≤ 900 xA1 + xA2 + xA3 ≤ 600 xB 1 + xB 2 + xB 3 ≤ 900 xC 1 + xC 2 + xC 3 ≤ 300 x +x +x = x +x700 +x 350 x +x +x = x +x300 +x 700 xAi , xBi , xCi ≥ 0; ∀i = 1, 2, 3. A1
B1
C 1
A2
B2
C 2
A2
B2
C 2
A3
B3
C 3
La soluci´ on o´ptima es xA1 = 250, xB2 = 500, xA3 = 42,85 y xB 3 = 171,42 que reporta un beneficio de 318571.4 unidades. 14. CONTROL DE INVENTARIOS. Se fabrica un producto para satisfacer la demanda de los siguientes n periodos. En el periodo i la demanda ri (unidades) puede satisfacerse con la producci´ on xi (unidades) en este periodo y/o el inventario que se tiene de periodos anteriores. Si el nivel de producci´ o n en el periodo i es mayor que el que se tuvo en el i − 1, es decir, xi > xi−1, se incurre en un coste de ai unidades monetarias por unidad en exceso. Por otra parte si xi < xi−1 , se a˜ nade un coste de bi unidades monetarias por unidad en que se disminuye el nivel de producci´ on. Se tiene un coste di por cada unidad que se reserva para el periodo i + 1. Sea ci el coste de producci´ on de una unidad del producto en el periodo i. El objetivo del modelo es determinar el esquema o´ptimo de producci´ on de tal manera que el coste total del sistema inventario-producci´ on se minimice. Plantear el modelo de programaci´ on lineal correspondiente. a Soluci´ on.- Denoto por I i al inventario al comienzo del periodo i. Este ser´ i −1
I i =
(x j − r j ).
j =1
minimizar z = ni=2 di−1 I i + ni=1 ci xi + x1 ≥ r 1 sujeta a xi + I i ≥ r i ; para i = 2, . . . , n ui ≥ x i − xi−1 ; i = 2, . . . , n li ≥ x i−1 − xi ; i = 2, . . . , n xi ≥ 0; i = 1, . . . , n li , ui ≥ 0; i = 2, . . . , n .
n
i=2 a i ui +
n
i=2 bi li
10
Programaci´ on Matem´ atica.
´ 15. PROBLEMA DE LOCALIZACI ON.
En una regi´ on de un pa´ıs existen 6 ciudades importantes. En este momento debe decidirse en cu´ ales de ellas debe construirse una estaci´ on de bomberos. Se desea construir el m´ınimo n´umero de instalaciones para asegurar que hay al menos una estaci´ on a menos de 16 unidades de tiempo de cada ciudad. El tiempo requerido para ir desde cada ciudad a cada una de las otras se da en la tabla siguiente. C 1 C 2 C 3 C 4 C 5 C 6 C 1 C 2 C 3 C 4 C 5 C 6
0 10 13 30 30 20
10 0 25 35 20 10
13 25 0 15 30 20
30 35 15 0 15 25
30 20 30 15 0 14
20 10 20 25 14 0
Por otro lado, el coste de construcci´ on es diferente en cada ciudad. Se dispone de un total de 180 u.m., y los costes son 30, 45, 40, 50, 80 y 90 u.m., respectivamente. Plantear un problema que permita determinar el n´ umero de estaciones de bomberos que deben construirse. Soluci´ on.- Denotamos por x i una variable que tome valor uno si se instala en la ciudad i y cero, en otro caso; i = 1, . . . , 6.
minimizar z = sujeta a
6 i=1
xi
30x1 + 45 x2 + 40x3 + 50x4 + 80 x5 + 90x6 ≤ 180 x1 + x2 + x3 ≥ 1 x1 + x2 + x6 ≥ 1 x1 + x3 + x4 ≥ 1 x3 + x4 + x5 ≥ 1 x4 + x5 + x6 ≥ 1 x2 + x5 + x6 ≥ 1 xi = 0, 1 i = 1, . . . , 6.
16. PROBLEMA DE CARGA FIJA. Hay que planificar la producci´on de 2000 unidades de un determinado producto, para lo que se dispone de tres m´ aquinas de las que se detallan su coste fijo (k j ), el coste por unidad de producci´ on (c j ) as´ı como la capacidad de producci´ o n de cada una de ellas (C j )
11
Programaci´ on Matem´ atica.
M´aquina k j 1 100 2 300 3 200
c j
C j
10 600 2 800 5 1200
Plantear mediante programaci´ on lineal el problema de determinar el n´ umero de unidades a fabricar en cada m´ aquina que minimice el coste total de producci´on del lote de 2000 unidades. umero de unidades a fabricar en la m´ aquina i, i=1,2,3. El proSoluci´ on.- Sea xi el n´ blema ser´ıa minimizar z = 100y1 + 300y2 + 200y3 + 10 x1 + 2 x2 + 5 x3 sujeta a x1 + x2 + x3 = 2000 x1 ≤ 600 y1 x2 ≤ 800 y2 x3 ≤ 1200y3 xi ≥ 0 ; i = 1, 2, 3 yi = 0, 1 ; i = 1, 2, 3.