Optimizing emergency supply delivery with aircraft
1. Universidad Nacional Mayor de San Marcos
Facultad de Ingeniería de Sistemas e Informáticag
Investigación de Operaciones I
óProgramación Lineal
Docente : Lic. Gabriel Solari Carbajal
2. Programación Lineal
INTRODUCCION
Programación Lineal
INTRODUCCION.-
Es considerado uno de los avances científicos más
importante de mediados del siglo XX S impacto haimportante de mediados del siglo XX. Su impacto ha
sido extraordinario.
L ió li l (PL) h i tLa programación lineal (PL) es una herramienta para
resolver problemas de optimización utilizando modelos
matemáticos donde las restricciones y función objetivomatemáticos donde las restricciones y función objetivo
son funciones lineales.
Los problemas que se ajustan al modelo de la PL seLos problemas que se ajustan al modelo de la PL se
conocen como problemas de programación lineal
(PPL). La PL es una técnica poderosa para resolver
2
( ) p p
PPL.
3. Programación Lineal
DEFINICION
Programación Lineal
DEFINICION.-
La PL es una técnica que consiste en optimizar
(ma imi ar o minimi ar) na f nción lineal llamada(maximizar o minimizar) una función lineal llamada
función objetivo.
E tié d ti i l bú d dEntiéndase por optimizar como la búsqueda de una
solución (un valor máximo o mínimo) dentro de una
región factible (conjunto de soluciones) delimitada porregión factible (conjunto de soluciones) delimitada por
un conjunto de restricciones también lineales.
3
5. Programación Lineal
FUNCION OBJETIVO
Programación Lineal
FUNCION OBJETIVO.-
1) Es una función lineal de la forma:
por ejemplo:
nn2211 xcxcxcZOptimizar +++= L
por ejemplo:
21 x480x400ZMax +=
2) Permite localizar en el conjunto de soluciones
factibles, la solución óptima.
5
7. Programación Lineal
PRINCIPIOS BÁSICOS DE LA PL
Programación Lineal
PRINCIPIOS BÁSICOS DE LA PL.-
1) Proporcionalidad.-
Cada variable de decisión participa en forma
proporcional sobre la función objetivo y las
t i irestricciones.
a) Si un producto A ocupa 3 m3 de espacio de
almacenamiento entonces x productos ocupanalmacenamiento, entonces x productos ocupan
3x m3. (Proporcionalidad).
7
8. Programación Lineal
PRINCIPIOS BÁSICOS DE LA PL
Programación Lineal
b) Si un producto A ocupa 3 m3 de espacio de
almacenamiento entonces prod ctos oc pan
PRINCIPIOS BÁSICOS DE LA PL.-
almacenamiento, entonces x productos ocupan
3x m3, pero para cada 10 productos
almacenados se debe dejar un espacio de 0.5almacenados se debe dejar un espacio de 0.5
m. (No hay proporcionalidad).
8
9. Programación Lineal
PRINCIPIOS BÁSICOS DE LA PL
Programación Lineal
2) Aditividad.-
PRINCIPIOS BÁSICOS DE LA PL.-
Las variables de decisión en forma conjunta,
participan aditivamente sobre la función objetivo y
l t i ilas restricciones.
a) Si un producto A ocupa 3 m3 de espacio de
almacenamiento y un producto B ocupa 5 m3almacenamiento y un producto B ocupa 5 m3,
entonces x productos de A y y productos de B
ocupan 3x + 5y m3. (Aditividad).p y ( )
9
10. Programación Lineal
PRINCIPIOS BÁSICOS DE LA PL
Programación Lineal
b) La combinación de 3 m3 de un producto A y 5 m3
de n prod cto B reaccionan q ímicamente
PRINCIPIOS BÁSICOS DE LA PL.-
de un producto B reaccionan químicamente
obteniéndose 4 m3 de un producto C. (No es
aditivo)aditivo).
10
11. Programación Lineal
PRINCIPIOS BÁSICOS DE LA PL
Programación Lineal
3) Divisibilidad.-
PRINCIPIOS BÁSICOS DE LA PL.-
Los valores de las variables de decisión pueden
dividirse en cualquier fracción tomando cualquier
l l tivalor real no negativo.
a) X = cantidad de galones a producir de gasolina.
(Valor real ≥ 0) (Divisibilidad)(Valor real ≥ 0). (Divisibilidad).
11
12. Programación Lineal
PRINCIPIOS BÁSICOS DE LA PL
Programación Lineal
b) Y = número de camiones que se utilizan para
transportar gasolina (Programación entera) (La
PRINCIPIOS BÁSICOS DE LA PL.-
transportar gasolina. (Programación entera). (La
variable no es divisible).
12
13. Programación Lineal
PRINCIPIOS BÁSICOS DE LA PL
Programación Lineal
4) Certidumbre.-
PRINCIPIOS BÁSICOS DE LA PL.-
Los valores de los parámetros del modelo son
constantes conocidas. Los parámetros permanecen
t l l d lcomo tal en el modelo.
a) El precio unitario de un producto es c u.m. El
valor de c es constante para este modelovalor de c es constante para este modelo.
(Certidumbre).
13
14. Programación Lineal
PRINCIPIOS BÁSICOS DE LA PL
Programación Lineal
b) El precio unitario de un producto no es un valor
conocido ni predecible (Condición de
PRINCIPIOS BÁSICOS DE LA PL.-
conocido ni predecible. (Condición de
incertidumbre o riesgo).
14
15. Programación Lineal
REPRESENTACIÓN MATEMÁTICA DE UN PPL
Programación Lineal
REPRESENTACIÓN MATEMÁTICA DE UN P.P.L..-
1) Representación algebraica desarrollada.-
nn2211 xcxcxcZOptimizar +++= L
sujeto asujeto a
1nn1212111 b),,(xaxaxa ≥=≤+++ L
M
2nn2222121 b),,(xaxaxa ≥=≤+++ L
mnmn22m11m b),,(xaxaxa ≥=≤+++ L
M
15
i0xi ∀≥
16. Programación Lineal
REPRESENTACIÓN MATEMÁTICA DE UN PPL
Programación Lineal
REPRESENTACIÓN MATEMÁTICA DE UN P.P.L..-
2) Representación algebraica compacta.-
n
∑=
=
n
1i
iixcZOptimizar
sujeto asujeto a
j
m n
iji b),,(xa ≥=≤∑∑ j
1j 1i
iji ),,(∑∑= =
i0xi ∀≥ 0i
16
17. Programación Lineal
REPRESENTACIÓN MATEMÁTICA DE UN PPL
Programación Lineal
REPRESENTACIÓN MATEMÁTICA DE UN P.P.L..-
3) Representación matricial desarrollada.-
[ ] ⎥
⎤
⎢
⎡ 1
x
x
[ ]
⎥
⎥
⎥
⎦
⎢
⎢
⎢
⎣
=
n
2
n21
x
xcccZOptimizar
M
L
⎦⎣ nx
17
18. Programación Lineal
REPRESENTACIÓN MATEMÁTICA DE UN PPL
Programación Lineal
REPRESENTACIÓN MATEMÁTICA DE UN P.P.L..-
sujeto a
⎥
⎥
⎤
⎢
⎢
⎡
≥≤⎥
⎥
⎤
⎢
⎢
⎡
⎥
⎥
⎤
⎢
⎢
⎡
2
1
2
1
n22221
n11211
b
b
)(x
x
aaa
aaa
L
L
⎥
⎥
⎦
⎢
⎢
⎣
≥=≤
⎥
⎥
⎦
⎢
⎢
⎣
⎥
⎥
⎦
⎢
⎢
⎣ m
2
n
2
mn2m1m
n22221
b
),,(
xaaa
MM
L
MMM
⎦⎣
⎥
⎤
⎢
⎡
⎥
⎤
⎢
⎡ 0x1
⎥
⎥
⎥
⎦⎢
⎢
⎢
⎣
≥
⎥
⎥
⎥
⎦
⎢
⎢
⎢
⎣ 0
0x2
MM
18
⎥⎦⎢⎣⎥
⎦
⎢
⎣ 0xn
19. Programación Lineal
REPRESENTACIÓN MATEMÁTICA DE UN PPL
Programación Lineal
REPRESENTACIÓN MATEMÁTICA DE UN P.P.L..-
4) Representación matricial compacta.-
XcZOptimizar =
sujeto asujeto a
b),,(XA ≥=≤
0X ≥
19
20. Programación Lineal
FORMAS DE UN PPL
Programación Lineal
FORMAS DE UN P.P.L..-
1) Forma canónica de maximización.-
XcZMax =
sujeto asujeto a
bXA ≤
0X ≥
20
21. Programación Lineal
FORMAS DE UN PPL
Programación Lineal
FORMAS DE UN P.P.L..-
2) Forma estándar de maximización.-
XcZMax =
sujeto asujeto a
bXA =
0X ≥
21
22. Programación Lineal
FORMAS DE UN PPL
Programación Lineal
FORMAS DE UN P.P.L..-
3) Forma canónica de minimización.-
XcZMin =
sujeto asujeto a
bXA ≤
0X ≥
22
23. Programación Lineal
FORMAS DE UN PPL
Programación Lineal
FORMAS DE UN P.P.L..-
4) Forma estándar de minimización.-
XcZMin =
sujeto asujeto a
bXA =
0X ≥
23
24. Programación Lineal
REGLAS DE EQUIVALENCIA
Programación Lineal
REGLAS DE EQUIVALENCIA.-
Regla 1.-
a) Max Z = cX es equivalente a Min -Z = -cX.
ejemplo xx3x2ZMax +−=ejemplo 321 xx3x2ZMax +=
321 xx3x2ZMin −+−=−es equivalente a
b) Min Z = cX es equivalente a Max -Z = -cX.
iejemplo
es equivalente a
321 x6x5x4ZMin −+=
321 x6x5x4ZMax +−−=−
24
q 321
25. Programación Lineal
REGLAS DE EQUIVALENCIA
Programación Lineal
REGLAS DE EQUIVALENCIA.-
Regla 2.-
a) La restricción j-ésima de la forma ∑cjixi ≤ bj es
equivalente a la restricción -∑cjixi ≥ -bj.
ejemplo
es equivalente a
55x3x6x4 321 ≤−+
55x3x6x4 −≥+−−es equivalente a
b) La restricción j-ésima de la forma ∑cjixi ≥ bj es
equivalente a la restricción -∑cjixi ≤ -bj
55x3x6x4 321 ≥+
equivalente a la restricción ∑cjixi ≤ -bj.
ejemplo 31x7x2x3 321 ≥+−
25
es equivalente a 31x7x2x3 321 −≤−+−
26. Programación Lineal
REGLAS DE EQUIVALENCIA
Programación Lineal
REGLAS DE EQUIVALENCIA.-
Regla 3.-
La restricción j-ésima de la forma ∑cjixi = bj puede
descomponerse como la intersección de dos
restricciones ∑cjixi ≤ bj y ∑cjixi ≥ bj.
ejemplo
65119
j p
es equivalente a
6x5x11x9 321 =+−
q
6x5x11x9 321 ≤+−
6x5x11x9 ≥+
26
6x5x11x9 321 ≥+−
27. Programación Lineal
REGLAS DE EQUIVALENCIA
Programación Lineal
REGLAS DE EQUIVALENCIA.-
Regla 4.-
a) Si se tiene m restricciones de la forma AX ≤ b,
pueden convertirse en igualdad mediante la adición
de un vector Y, llamado vector de variables de
holgura. El vector Y tiene m componentes no
negativasnegativas.
ejemplo 15x5x6 21 ≤+
19x7x3 ≤
se convierte a
19x7x3 21 ≤−
15xx5x6 321 =++
27
321
19xx7x3 421 =+−
28. Programación Lineal
REGLAS DE EQUIVALENCIA
Programación Lineal
REGLAS DE EQUIVALENCIA.-
b) Si se tiene m restricciones de la forma AX ≥ b,
p eden con ertirse en ig aldad mediante la resta depueden convertirse en igualdad mediante la resta de
un vector Y’, llamado vector de variables de exceso.
El vector Y’ tiene m componentes no negativasEl vector Y tiene m componentes no negativas.
ejemplo
35x2x7 21 ≥+
se convierte a
21
21x9x8 21 ≥+
se convierte a
35xx2x7 321 =−+
21xx9x8 421 =−+
28
421
29. Programación Lineal
REGLAS DE EQUIVALENCIA
Programación Lineal
REGLAS DE EQUIVALENCIA.-
Regla 5.-
Una variable no restringida xi, (xi ∈ 〈-∞, +∞〉), puede
escribirse como la diferencia de dos variables no
negativas. Sea xi una variable no restringida, luego
kji xxx −=
donde xj ≥ 0 y xk ≥ 0. Se cumple que:
Si xi > 0 entonces xj > xki j k
Si xi = 0 entonces xj = xk
Si 0 t
29
Si xi < 0 entonces xj < xk
31. Programación Lineal
PROBLEMA 01
Programación Lineal
PROBLEMA 01.-
Se tiene que abastecer urgentemente una zona
declarada en emergencia se disponen de dos tipos dedeclarada en emergencia, se disponen de dos tipos de
aviones, el A y el B.
C t í ti f t l d b tiblCaracterísticas referente al consumo de combustible,
aceite, carga útil y tiempo que demora de ida y vuelta
están en la tabla adjunta igualmente están en ella laestán en la tabla adjunta, igualmente están en ella la
disponibilidad de aceite y combustible de la base,
plantear el problema con miras a que se transporte la
máxima carga posible con la gasolina y el aceite
disponible.
31
32. Programación LinealProgramación Lineal
A B Disponibilidad
TIPO DE AVION
A B Disponibilidad
Gasolina/hora 8 12 800 galones
Aceite/hora 0.25 0.2 40 galonesg
Horas de viaje 5 4
Carga útil (kg) 400 480
32
36. Programación Lineal
El programa queda:
Programación Lineal
B480A400ZMax +=
El programa queda:
B480A400ZMax +
sujeto a
800B48A40 ≤ 800B48A40 ≤+
40B80.0A25.1 ≤+
0B,A ≥
36
37. Programación Lineal
PROBLEMA 02
Programación Lineal
PROBLEMA 02.-
Se desea averiguar las cantidades de ciertos alimentos
q e deben comerse para satisfacer ciertosque deben comerse para satisfacer ciertos
requerimientos nutritivos a un costo mínimo.
Supongamos que las consideraciones se limitan aSupongamos que las consideraciones se limitan a
leche, carne, huevos y a las vitaminas A, C y D.
Supongamos que el número de miligramos deSupongamos que el número de miligramos de
vitaminas contenidas en cada unidad de alimentos se
da en la tabla siguiente:
37
40. Programación Lineal
Restricciones
Programación Lineal
Restricción por requerimiento mínimo de vitamina A:
Restricciones
1H10CL ≥++
Restricción por requerimiento mínimo de vitamina C:Restricción por requerimiento mínimo de vitamina C:
50H10C10L100 ≥++
Restricción por requerimiento mínimo de vitamina D:
10H10C100L10 ≥++
Restricciones de no negatividad:
0HCL ≥
40
0H,C,L ≥
42. Programación Lineal
El programa queda:
Programación Lineal
El programa queda:
H20C44L40ZMin ++=
sujeto a
H20C44L40ZMin ++
110C 1H10CL ≥++
50H10C10L100 ≥++
0HCL ≥
10H10C100L10 ≥++
0H,C,L ≥
42
43. Programación Lineal
PROBLEMA 03
Programación Lineal
PROBLEMA 03.-
La compañía Mauser, fabricante de fusiles automáticos,
ti 3 d t t l l f ttiene 3 departamentos en los cuales se manufacturan
sus modelos S-1000 y S-2000, las capacidades
mensuales son las siguientes:
Requerimientos unitarios
de tiempo (en horas)
mensuales son las siguientes:
de tiempo (en horas)
Departamentos
Horas disponibles
en el siguiente mes
Modelo
S-2000
Modelo
S-1000
Departamento 1 4 2 1,600
Departamento 2 2.5 1 1,200
43
Departamento 3 4.5 1.5 1,600
44. Programación Lineal
La utilidad del modelo S 1000 es de 40 dólares por
Programación Lineal
La utilidad del modelo S-1000 es de 40 dólares por
unidad y la del modelo S-2000 es de 10 dólares por
unidad; suponiendo que la compañía puede venderunidad; suponiendo que la compañía puede vender
cualquier cantidad de estos productos, debido a
condiciones favorables de mercado.
Determinar el número de unidades de cada modelo que
se debe de fabricar de manera que se maximice la
utilidad total.
44
45. Programación Lineal
PROBLEMA 04
Programación Lineal
Un barco tiene tres bodegas: en la proa, en el centro y
en la popa Los límites de capacidad son:
PROBLEMA 04.-
en la popa. Los límites de capacidad son:
C id dCapacidad
Peso Volumen
(Ton) (Pi
3
)
Bodega
(Ton) (Pies
3
)
Proa 2,000 100,000
Centro 3 000 135 000Centro 3,000 135,000
Popa 1,500 30,000
45
46. Programación Lineal
Se ofrecen los siguientes cargamentos y los dueños de
Programación Lineal
Se ofrecen los siguientes cargamentos y los dueños de
los barcos pueden aceptar el total o una porción
cualquiera de cada artículo.cualquiera de cada artículo.
Cantidad Ganacia
Peso Vol/Ton por Ton
(Ton) (Pies
3
) ($)
Artículo
( )
A 6,000 60 6
B 4,000 50 8
C 2,000 25 5
46
47. Programación Lineal
Para preservar el equilibrio de barco el peso en cada
Programación Lineal
Para preservar el equilibrio de barco, el peso en cada
bodega debe ser proporcional a la capacidad en
toneladas.toneladas.
¿Cómo debe distribuirse la carga para hacer máxima la
ganancia?ganancia?
47
48. Programación Lineal
La siguiente gráfica permite visualizar el problema e
Programación Lineal
La siguiente gráfica permite visualizar el problema e
identificar las variables de decisión.
PROA
A xA1
xA2
xA3 PROA
B
A2A3
xB1
xB2
CENTRO
B xB2
xB3
xC1 x
C
C1 xC2
xC3
48
POPA
49. Programación Lineal
SOLUCION
Programación Lineal
SOLUCION.-
Variables de decisión
xij : cantidad en toneladas del artículo i que se
transporta en la bodega j.
i = A, B y C
j = 1 (Proa), 2 (Centro) y 3 (Popa)
Ejemplo
xC2 : cantidad de toneladas del artículo C que sexC2 : cantidad de toneladas del artículo C que se
transporta en la bodega 2 (Centro)
49
50. Programación Lineal
Restricciones
Programación Lineal
Restricciones por límite de cantidad de artículos:
0006
Restricciones
000,6xxx 3A2A1A ≤++
000,4xxx 3B2B1B ≤++ 3B2B1B
000,2xxx 3C2C1C ≤++
Restricciones por límite de capacidad de peso del
barco:
000,2xxx 1C1B1A ≤++ 000,2xxx 1C1B1A ≤++
000,3xxx 2C2B2A ≤++
5001
50
500,1xxx 3C3B3A ≤++
51. Programación Lineal
Restricciones por límite de capacidad de volumen del
Programación Lineal
Restricciones por límite de capacidad de volumen del
barco:
000,100x25x50x60 1C1B1A ≤++ ,1C1B1A
000,135x25x50x60 2C2B2A ≤++
00030255060 ≤++ 000,30x25x50x60 3C3B3A ≤++
Restricción para preservar el equilibrio del barco:
500,1
xxx
000,3
xxx
000,2
xxx 3C3B3A2C2B2A1C1B1A ++
=
++
=
++
,,,
Restricciones de no negatividad:
0≥ i∀ j∀
51
0xij ≥ i∀ j∀