Depto. Matemáticas – IES Elaios Tema: Programación Lineal

24
Depto. Matemáticas – IES Elaios Tema: Programación Lineal Presentación elaborada por el profesor José Mª Sorando, ampliando y adaptando las diapositivas de la Editorial SM

description

Depto. Matemáticas – IES Elaios Tema: Programación Lineal Presentación elaborada por el profesor José Mª Sorando, ampliando y adaptando las diapositivas de la Editorial SM. Inecuaciones lineales. Interpretación geométrica. Toda recta ax + by + c = 0 divide al plano en tres regiones: - PowerPoint PPT Presentation

Transcript of Depto. Matemáticas – IES Elaios Tema: Programación Lineal

Page 1: Depto. Matemáticas – IES Elaios Tema:  Programación Lineal

Depto. Matemáticas – IES Elaios

Tema: Programación Lineal

Presentación elaborada por el profesor José Mª Sorando,ampliando y adaptando las diapositivas de la Editorial SM

Page 2: Depto. Matemáticas – IES Elaios Tema:  Programación Lineal

Inecuaciones lineales.

Interpretación geométrica Toda recta ax + by + c = 0 divide al plano en tres regiones:

El conjunto de puntos (x, y) del plano para los que ax + by + c = 0 El conjunto de puntos (x, y) del plano para los que ax + by + c > 0 El conjunto de puntos (x, y) del plano para los que ax + by + c < 0

A la parte del plano que es solución de una inecuación se le llama región factible de la inecuación.

La recta x – y + 1 = 0 divide al plano en las siguientes tres regiones:

Page 3: Depto. Matemáticas – IES Elaios Tema:  Programación Lineal

¿Cuál es la región factible

del sistema

x 0y 0x 5x – y 0

x 0y 0

Sistemas de inecuaciones lineales. Interpretación geométrica

• Cuando deben satisfacerse simultáneamente más de una inecuación estamos ante un sistema de inecuaciones lineales.

• El conjunto de soluciones del sistema se puede obtener por la intersección de las diferentes regiones factibles de las inecuaciones.

• A dicha región se le llama región factible del sistema.

x = 5

x 5

x – y = 0

x – y 0

Page 4: Depto. Matemáticas – IES Elaios Tema:  Programación Lineal

Programación lineal: Un problema de máximos

Problema 1: Una fábrica de bombones tiene almacenados 500 kg de chocolate, 100 kg de almendras y 85 kg de frutas. Produce dos tipos de cajas: las de tipo A contienen 3 kg de chocolote, 1 kg de almendras y 1 kg de frutas; la de tipo B contiene 2 kg de chocolate, 1,5 kg de almendras y 1 kg de frutas. Los precios a que vende las cajas de tipo A y B son 13 y 13,50 €, respectivamente. ¿Cuántas cajas de cada tipo debe fabricar para maximizar sus ingresos?

Caja tipo A Caja tip B DisponiblesChocolate 3 2 500Almendras 1 1,5 100

Frutas 1 1 85Precio en euros 13 13,50

La siguiente tabla resume los datos del problema:

Expresamos mediante inecuaciones la información descrita: x = nº de cajas de tipo Ay = nº de cajas de tipo Bz = nº de € obtenidos por

las ventasEntonces hemos de maximizar z = 13x + 13,50y

Con las restricciones:

3x + 2y 500 (por el chocolate almacenado) x + 1,5y 100 (por la almendra almacenada) x + y 85 (por la fruta almacenada) x 0 y 0

Page 5: Depto. Matemáticas – IES Elaios Tema:  Programación Lineal

Programación lineal: Un problema de mínimos

Problema2: Un grupo local posee dos emisoras de radio, una de FM y otra de AM. La emisora de FM emite diariamente 12 horas de música rock, 6 horas de música clásica y 5 horas de información general. La emisora de AM emite diariamente 5 horas de música rock, 8 horas de música clásica y 10 horas de información general. Cada día que emite la emisora de FM le cuesta al grupo 5000 €, y cada día que emite la emisora de AM le cuesta al grupo 4000 €. Sabiendo que tiene enlatado para emitir 120 horas de música rock, 180 horas de música clásica y 100 horas de información general, ¿cuántos días deberá emitir con ese material cada una de la emisoras para que el coste sea mínimo, teniendo en cuenta que entre las dos emisoras han de emitir al menos una semana?

Emisora FM Emisora AM DisponiblesMúsica rock 12 5 120

Música clásica 6 8 180Información general 5 10 100

Coste en euros 5000 4000

La siguiente tabla resume los datos del problema:

Expresamos mediante inecuaciones la información descrita: x = nº de días de FMy = nº de días de AMz = coste en € por los

días de emisiónEntonces hemos de minimizar z = 5000x + 4000y

Con las restricciones:

12x + 5y 120 (por la música rock) 6x + 8y 180 (por la música clásica) 5x + 10y 100 (por la información general) x + y 7 (emitir al menos una semana) x 0 y 0

Page 6: Depto. Matemáticas – IES Elaios Tema:  Programación Lineal

Programación lineal: Elementos

La programación matemática es una técnica mediante la cual se permite calcular el valor óptimo (máximo o mínimo, según los casos) de una función objetivo cuyas variables están sujetas a un conjunto de restricciones.

Cuando la función objetivo y las restricciones son lineales, se dice que se está ante un problema de programación lineal.

Un problema de programación lineal consta, por tanto, de los siguientes elementos:

1. Un conjunto de variables reales x1, x2, …, xn denominadas variables de decisión.

2. Una función objetivo de primer grado cuyas variables son las variables de decisión y que se pretende optimizar (hallar su máximo o su mínimo). La función objetivo es en realidad la representación matemática del objetivo general de la situación mediante la cual se pretende tomar la mejor decisión.

3. Un conjunto de restricciones establecidas mediante relaciones lineales entre las variables del problema y que pueden ser de igualdad o de desigualdad.

Page 7: Depto. Matemáticas – IES Elaios Tema:  Programación Lineal

Formulación matemática

Optimizar (maximizar o minimizar) z = ax + by sujeta a las siguientes restricciones

a1x + b1y d1

a2x + b2y d2

... ... ... anx + bny dn

Función objetivo

• Solución posible: cualquier par de valores (x1, y1) que cumpla todas la restricciones. Al conjunto de soluciones posibles de un problema lineal se le llama región factible.

• Solución óptima: un par de valores (x1, y1), si existe, que hace máxima o mínima la función objetivo.

• Un problema de pr. lineal puede tener ninguna, una o infinitas soluciones óptimas.

• La región factible puede ser acotada o no acotada.

• Si la solución óptima es única, estará en un vértice.

• Si hay infinitas soluciones óptimas, estarán en un lado de la región factible.

Page 8: Depto. Matemáticas – IES Elaios Tema:  Programación Lineal

Resolución analítica

Se deben dar los siguientes pasos:1. Se representa gráficamente la región factible.2. Se obtienen las coordenadas de todos los vértices de dicha región factible. 3. Se evalúa la función objetivo en los vértices de la región factible.4. Se elige la solución óptima del problema (el vértice que hace mayor o menor la

función objetivo).

Al aplicar estos pasos se pueden dar las siguientes posibilidades:

La región factible es acotada.El problema siempre tiene solución óptima. Puede haber:1. Una única solución. 2. Infinitas soluciones. Dos vértices solución óptimas, el segmento de extremos esos vértices son también soluciones óptimas del problema.

La región factible no es acotada. Se sigue el mismo criterio que en el caso anterior, pero existe la posibilidad de que no haya solución óptima.Es preferible utilizar el método gráfico.

Page 9: Depto. Matemáticas – IES Elaios Tema:  Programación Lineal

Método analítico o de los vértices: problema 1

• En un primer paso representamos la región factible.

• En un segundo paso obtenemos los vértices de la región factible.

R(0, 100/1,5)

Q(55, 30)

P(85, 0)

• Finalmente evaluamos la función objetivo z = 13x + 13,50y en cada vértice, para obtener el máximo.

• z(P) = 13 · 85 + 13,50 . 0 = 1105 €• z(Q) = 13 · 55 + 13,50 . 30 = 1125 €• z(R) = 13 · 0 + 13,50 · 100/1,5 = 900 €

Page 10: Depto. Matemáticas – IES Elaios Tema:  Programación Lineal

Método analítico o de los vértices: problema 2

• En un primer paso representamos la región factible.

• En un segundo paso obtenemos los vértices de la región factible.

R(0, 10)

Q(7.37, 6.32)

P(10, 0)

• Finalmente evaluamos la función objetivo z = 5000x + 4000y en cada vértice, para obtener el mínimo.

• z(P) = 5000 · 10+4000 · 0 = 50000 €• z(Q) = 5000 · 7,37+4000 · 6,32 =

62130 €• z(R) = 5000 · 0+4000 · 10 = 40000 €• z(S) = 5000 · 0+4000 · 7 = 28000 €• z(T) = 5000 · 7+4000 · 10 = 35000 €

T(7, 0)

S(0, 7)

Page 11: Depto. Matemáticas – IES Elaios Tema:  Programación Lineal

Resolución geométrica

Se deben dar los siguientes pasos:1. Se representa gráficamente la región factible.2. Si la función objetivo es z = ax + by, se representa gráficamente la recta inicial

ax + by = 0 y se la considera movible de forma paralela a lo largo del eje OY.

Page 12: Depto. Matemáticas – IES Elaios Tema:  Programación Lineal

Método gráfico o de la recta móvil: problema 1

• Representamos la región factible.

• Representamos el vector director de la función objetivo.

• Trazamos rectas paralelas al vector director que pasen por los vértices: P, Q, R.

• El óptimo del problema ha de estar en Q ya que la recta que pasa por él tiene mayor ordenada en el origen que las demás.

Es decir, es donde z = 13x + 13,50y alcanza el mayor valor

Page 13: Depto. Matemáticas – IES Elaios Tema:  Programación Lineal

Método gráfico: problema 2

• Representamos la región factible.

• Representamos el vector director de la función objetivo.

• Trazamos rectas paralelas al vector director que pasen por los vértices: P, Q, R, S y T.

• El óptimo del problema ha de estar en S ya que la recta que pasa por él tiene menor ordenada en el origen que las demás.

Es decir, es donde z = 5000 x + 4000y alcanza el menor valor

Page 14: Depto. Matemáticas – IES Elaios Tema:  Programación Lineal

Para un problema de maximización

Solución única Infinitas soluciones No hay solución

Resolución gráfica: número de soluciones

Page 15: Depto. Matemáticas – IES Elaios Tema:  Programación Lineal

Para un problema de minimización

Solución única Infinitas soluciones No hay solución

Resolución gráfica: número de soluciones

Page 16: Depto. Matemáticas – IES Elaios Tema:  Programación Lineal

Cantidad por barril

de «Clásica»

Cantidad por barril de «Suprema»

Cantidad total disponible

Malta 3,5 12 2300 Lúpulo 8 4 3800

Levadura 4 15 3200

Producción: maximizar los beneficios

Una fábrica de cervezas produce dos variedades distintas de bebida: «Clásica» y «Suprema». En la siguiente tabla se indican las cantidades de malta, lúpulo y levadura necesarias para producir un barril de cada una de las dos modalidades. También se indica la cantidad total disponible de cada una de las tres materias primas. El beneficio por un barril de «Clásica» es de 25 € y de 35 € para la «Suprema». Determinar la producción de cada tipo de cerveza de manera que se maximice el beneficio.

Definimos las variables:x = cantidad a fabricar de «Clásica»y = cantidad a fabricar de «Suprema»z = beneficio en €

Entonces hemos de maximizar z = 25x + 35y

3,5x + 12y 2300 (por la disponibilidad de malta) 8x + 4y 3800 (por la disponibilidad de lúpulo) 4x + 15y 3200 (por la disponibilidad de levadura) x 0, y 0 (por ser cantidades físicas)

Page 17: Depto. Matemáticas – IES Elaios Tema:  Programación Lineal

Producción: maximizar los beneficios

Por tanto: se deben fabricar 443,90 barriles de «Clásica» y 62,20 barriles de «Suprema» con un beneficio de z = 25 . 443,90 + 35 . 62,20 = 13274,50 €

Resolviéndolo gráficamente observamos que la solución es la intersección de las rectas:

3,5x + 12y = 2300 8x + 4y = 3800

Page 18: Depto. Matemáticas – IES Elaios Tema:  Programación Lineal

Factoría 1 Factoría 2 Cantidad mínima a fabricarTejido A 7 16 250Tejido B 19 21 300Tejido C 12 6 170

Producción: minimizar los costos

Una empresa textil fabrica tres tipos de tejidos, A, B y C. La empresa tiene dos factorías, cada una de las cuales puede producir tres tipos de tejidos en las cantidades por hora que se indican en la tabla de abajo. La empresa debe atender un pedido de 250 unidades de A, 300 de B y 170 de C. ¿Cuántas horas debe trabajar cada factoría para servir este pedido con un coste mínimo, sabiendo que una hora de trabajo de la factoría 1 cuesta 1700 €, y en la factoría 2, 1400 €.

Definimos las variables:x = número de horas que trabaja la factoría 1y = número de horas que trabaja la factoría 2z = coste en €

Entonces hemos de minimizar z = 1700x + 1400 y

7x + 16y 250 (por las unidades a atender del tejido A)19x + 21y 300 (por las unidades a atender del tejido B)12x + 6y 170 (por las unidades a atender del tejido C) x 0, y 0 (por ser cantidades físicas)

Page 19: Depto. Matemáticas – IES Elaios Tema:  Programación Lineal

Producción: minimizar los costos

Por tanto el coste mínimo se obtiene para x = 8,13 horas, y = 12,07 horas y dicho coste es z = 1700 . 8,13 + 1400 . 12,07 = 30717 €

Resolviéndolo gráficamente observamos que la solución es la intersección de las rectas:

12x + 6y = 170

7x +16y = 250

Page 20: Depto. Matemáticas – IES Elaios Tema:  Programación Lineal

El porcentaje de proteínas, grasas e hidratos de carbono en dos alimentos, A y B, viene dado por la tabla que aparece a continuación:

El precio por unidad de A es 0,01 € y el de B es 0,005 €. Se desea preparar un producto alimenticio para animales domésticos combinando los alimentos A y B. Si un animal necesita consumir como mínimo 55 gramos de proteínas, 80 g de grasas y 100 g de hidratos de carbono, se desea calcular la combinación del producto que minimiza los costes.

Proteínas Grasas Hidratos de carbonoA 8,8 1,5 56,5B 25,4 34,5 2,3

El problema de la dieta

Definimos las variables:x = cantidad en gramos de A en la dietay = cantidad en gramos de B en la dietaz = coste en €

Entonces hemos de minimizar z = 0,01 x + 0,005 y

0,088x + 0,254y 55 (por los gramos de proteínas a consumir como mínimo)0,015x + 0,345y 80 (por los gramos de grasas a consumir como mínimo)0,565x + 0,023y 100 (por los gramos de hidratos de carbono a consumir como mínimo) x 0, y 0 (por ser cantidades físicas)

Page 21: Depto. Matemáticas – IES Elaios Tema:  Programación Lineal

Por tanto el coste mínimo se obtiene para x = 167,85 gramos de A, y = 224,59 gramos de B y dicho coste es z = 0,01 . 167,85 + 0,005 . 224,59 = 2,80 €

El problema de la dieta

Resolviéndolo gráficamente observamos que la solución es la intersección de las rectas:

0,015x + 0,345y = 800,565x + 0,023y = 100

Page 22: Depto. Matemáticas – IES Elaios Tema:  Programación Lineal

El problema del transporte

Desde las ciudades de origen de Lisboa (L) y Oporto (O) se surte de pescado a las ciudades de destino de Évora (E), Braga (Br) y Beja (Be). La tabla del margan muestra los costes, en unidades monetarias, de transportar una caja de pescado desde un lugar de origen a un lugar de destino:Las cantidades ofertadas por las ciudades de origen son 25 cajas en L y 15 en O.Las cantidades demandadas por las ciudades de destino son 20 cajas por E, 15 por Br y 5 por Be. ¿Cuál es la mejor opción para distribuir el pescado de forma que los costes de transporte sean los más bajos posibles y de forma que todas las ciudades de destino sean totalmente abastecidas con las cantidades demandadas?

E Br Be

L 1 3 2

O 2 1 2

Definimos las variables:x =número de cajas de Lisboa a Évoray = número de cajas de Lisboa a Bragaz = coste del transporte en unidades monetarias

Page 23: Depto. Matemáticas – IES Elaios Tema:  Programación Lineal

El problema del transporte

Entonces hemos de minimizar: z = 1x + 3y + 2(25 − x − y) + 2(20 − x) + 1(15 − y) + 2(x + y − 20)

= −x + 2y + 65

x + y ≤25 x ≤ 20y ≤ 15x + y 20x 0, y 0

Évora Braga Beja Total

Lisboa x y 25 − x − y 25

Oporto 20 − x 15 − y x + y − 20 15

Total 20 15 5 40

Construimos la tabla que indican el número de cajas que se transportan de unlugar a otro.

Page 24: Depto. Matemáticas – IES Elaios Tema:  Programación Lineal

El problema del transporte

Los vértices son: A(5, 15), B(10, 15), C(20, 5) y D(20, 0).

La función objetivo en estos vértices vale: zA = 90, zB = 85, zC = 55, zD = 45.

La solución óptima se encuentra en D, x = 20, y = 0.

La mejor distribución es 20 cajas de Lisboa a Évora, 5 cajas de Lisboa a Beja, 15 cajas de Oporto a Beja. El coste total es de 45 unidades monetarias.

Representamos la región factible

A B

C

D