Programacion_Lineal

Download Report

Transcript Programacion_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
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:
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–y=0
¿Cuál es la región factible
x  0
y  0
?
del sistema
x5

x–y0
x5
x0
y0
x–y0
x=5
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?
La siguiente tabla resume los datos del problema:
Caja tipo A Caja tip B Disponibles
Chocolate
3
2
500
Almendras
1
1,5
100
Frutas
1
1
85
Precio en euros
13
13,50
Expresamos mediante inecuaciones la información descrita:
Entonces hemos de maximizar z = 13x + 13,50y
Con las restricciones:
3x
x
x
x
x = nº de cajas de tipo A
y = nº de cajas de tipo B
z = nº de € obtenidos por
las ventas
+ 2y  500 (por el chocolate almacenado)
+ 1,5y  100 (por la almendra almacenada)
+
y  85 (por la fruta almacenada)

0
y 
0
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?
La siguiente tabla resume los datos del problema:
Emisora FM Emisora AM Disponibles
Música rock
12
5
120
Música clásica
6
8
180
Información general
5
10
100
Coste en euros
5000
4000
Expresamos mediante inecuaciones la información descrita:
Entonces hemos de minimizar z = 5000x + 4000y
Con las restricciones:
12x
6x
5x
x
x
x = nº de días de FM
y = nº de días de AM
z = coste en € por los
días de emisión
+ 5y  120 (por la música rock)
+ 8y  180 (por la música clásica)
+ 10y  100 (por la información general)
+
y 
7 (emitir al menos una semana)

0
y 
0
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.
Formulación matemática
Función objetivo
Optimizar (maximizar o minimizar) z = ax + by sujeta a las siguientes restricciones
a1x + b1y  d1
 a2x + b2y  d2
... ... ...
 a x + b y  d
n
n
n
• 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.
• 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.
• La región factible puede ser acotada o no acotada.
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.
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.
•
Finalmente evaluamos la función
objetivo z = 13x + 13,50y en cada
vértice, para obtener el máximo.
•
•
•
R(0, 100/1,5)
Q(55, 30)
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 €
P(85, 0)
Método analítico o de los vértices: problema 2
• En un primer paso representamos
la región factible.
R(0, 10)
• En un segundo paso obtenemos
los vértices de la región factible.
• Finalmente evaluamos la función
objetivo z = 5000x + 4000y en
cada vértice, para obtener el
mínimo.
Q(7.37, 6.32)
S(0, 7)
• 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)
P(10, 0)
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.
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
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
Resolución gráfica: número de soluciones
Para un problema de maximización
Solución única
Infinitas soluciones
No hay solución
Resolución gráfica: número de soluciones
Para un problema de minimización
Solución única
Infinitas soluciones
No hay solución
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.
Cantidad por barril Cantidad por barril
de «Clásica»
de «Suprema»
Malta
3,5
12
Lúpulo
8
4
Levadura
4
15
Definimos las variables:
Cantidad total
disponible
2300
3800
3200
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)
Producción: maximizar los beneficios
Resolviéndolo gráficamente observamos que la solución es la intersección de las rectas:



3,5x + 12y = 2300
8x + 4y = 3800
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 €
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 €.
Tejido A
Tejido B
Tejido C
Factoría 1
7
19
12
Definimos las variables:
Factoría 2
16
21
6
Cantidad mínima a fabricar
250
300
170
x = número de horas que trabaja la factoría 1
y = número de horas que trabaja la factoría 2
z = coste en €
Entonces hemos de minimizar z = 1700x + 1400 y
7x
19x
12x
+ 16y  250 (por las unidades a atender del tejido A)
+
21y  300 (por las unidades a atender del tejido B)
+
6y  170 (por las unidades a atender del tejido C)
x  0, y  0
(por ser cantidades físicas)
Producción: minimizar los costos
Resolviéndolo gráficamente observamos que la solución es la intersección de las rectas:
 12x + 6y = 170

 7x +16y = 250
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 €
El problema de la dieta
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:
A
B
Proteínas
8,8
25,4
Grasas
1,5
34,5
Hidratos de carbono
56,5
2,3
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.
Definimos las variables:
x = cantidad en gramos de A en la dieta
y = cantidad en gramos de B en la dieta
z = 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)
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 = 80
0,565x + 0,023y = 100
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 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?
Definimos las variables:
E
Br
Be
L
1
3
2
O
2
1
2
x =número de cajas de Lisboa a Évora
y = número de cajas de Lisboa a Braga
z = coste del transporte en unidades monetarias
El problema del transporte
Construimos la tabla que
indican el número de cajas
que se transportan de un
lugar a otro.
Évora
Braga
Beja
Total
Lisboa
x
y
25 − x − y
25
Oporto
20 − x
15 − y
x + y − 20
15
20
15
5
40
Total
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 ≤ 20
y ≤ 15
x + y 20
x  0, y  0
El problema del transporte
Representamos la región factible
A
B
Los vértices son:
A(5, 15), B(10, 15), C(20, 5) y D(20, 0).
C
La función objetivo en estos vértices vale:
zA = 90, zB = 85, zC = 55, zD = 45.
D
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.