Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programacion Lineal T08
Programacion Lineal T08
tulo 8
PROGRAMACION LINEAL
8.1.
Introduccin
o
La programacin lineal es una tcnica matemtica relativamente reciente (siglo XX), que consiste
o
e
a
en una serie de mtodos y procedimientos que permiten resolver problemas de optimizacin en el
e
o
a
mbito, sobre todo, de las Ciencias Sociales.
Nos centraremos en este tema en aquellos problemas simples de programacin lineal, los que tienen
o
slamente 2 variables, problemas bidimensionales.
o
Para sistemas de ms variables, el procedimiento no es tan sencillo y se resuelven por el llamado
a
mtodo Simplex (ideado por G.B.Danzig, matemtico estadounidense en 1951).
e
a
Recientemente (1984) el matemtico indio establecido en Estados Unidos, Narenda Karmarkar,
a
ha encontrado un algoritmo, llamado algoritmo de Karmarkar, que es ms rpido que el mtodo
a a
e
simplex en ciertos casos. Los problemas de este tipo, en el que intervienen gran nmero de variables,
u
se implementan en ordenadores.
8.2.
127
CAP
ITULO 8. PROGRAMACION LINEAL
128
La recta divide al plano en dos regiones, una de las cuales es la solucin de la inecuacin. Para
o
o
saber qu parte es, hay dos procedimientos:
e
1. Se despeja la y de la inecuacin, poniendo cuidado en que si en una inecuacin multiplicamos o
o
o
dividimos por un nmero negativo, la desigualdad cambia de sentido.
u
En este caso tend
amos que:
y
3 2x
3
Observando el dibujo vemos que la recta divide al eje de ordenadas (y) en dos partes.
La solucin de la inecuacin ser aquella parte en la que la y sea mayor que la recta, es decir, la
o
o
a
parte superior.
o
por tanto el semiplano que contiene al (1,2) es la solucin, es decir el semiplano superior, como
o
hab
amos obtenido antes.
Cualquiera de los procedimientos es vlido si se realiza con correccin.
a
o
8.3.
Un sistema de inecuaciones lineales, por tanto, es un conjunto de inecuaciones del tipo anterior, y
resolverlo consistir en resolver grcamente cada inecuacin (como en el caso anterior), representar
a
a
o
la solucin en un mismo grco y la solucin total ser la parte comn a todas las soluciones.
o
a
o
a
u
CAP
ITULO 8. PROGRAMACION LINEAL
129
2x + 3y 3
2x y 9 0
2x 5y 5 0
Si representamos las rectas:
2x + 3y = 3 (recta r)
2x y 9 = 0 (recta s)
2x 5y 5 = 0 (recta t)
2x 3y = 3
2x y 9 = 0
Sumando 4y = 12 = y = 3.
Y sustituyendo que da 2x + 3(3) = 3, es decir 2x 9 = 3, y entonces x = 3.
Luego r y t se cortan en el punto (3,-3).
Ejercicios:
1. Calcular los otros dos vrtices.
e
2. Resolver los sistemas de inecuaciones lineales siguientes encontrando los vrtices de las regiones
e
que sean solucin:
o
x + 2y 12
3x + 6y 420
3x + 5y 150
2x + y 4
a)
b)
c)
4x + 2y 290
3x + 3y 120
x 2y 6
xy 0
CAP
ITULO 8. PROGRAMACION LINEAL
130
Lo mismo ocurre con y 1, que ser en este caso la parte inferior a la recta horizontal y = 1, es
a
decir:
En el caso particular de que sea x 0 o y 0, las rectas coincidirn con los ejes de coordenadas.
a
Ejercicios: Resolver los sistemas de inecuaciones lineales siguientes, encontrando los vrtices de las
e
regiones que sean solucin:
o
x + 3y 50
2x + y 10
5x + 15y 150
9x 8y 0
x + 3y 12
6x + 8y 120
b) 3x + 4y 60 c)
a)
x0
0x8
x0
0y2
y0
y0
Nota: Las dobles desigualdades como 0 x 8 se pueden desdobler en otras dos, x 0 y x 8.
CAP
ITULO 8. PROGRAMACION LINEAL
8.4.
131
a1 x + b1 y c1
a2 x + b2 y c2
.
.
am x + bm y cm
Los puntos del plano que cumplen el sistema de desigualdades forman un recinto convexo acotado
(poligonal) o no acotado, llamado regin factible del problema.
o
Todos los puntos de dicha regin cumplen el sistema de desigualdades. Se trata de buscar, entre
o
todos esos puntos, aquel o aquellos que hagan el valor de F(x,y) mximo o m
a
nimo, segn sea el
u
problema.
Los puntos de la regin factible se denominan soluciones factibles.
o
De todas esas soluciones factibles, aquellas que hacen ptima (mxima o m
o
a
nima) la funcin objeo
tivo se llaman soluciones optimas.
En general,un problema de programacin lineal puede tener una, innitas o ninguna solucin.
o
o
Lo que si se verica es la siguiente propiedad:
Propiedad:
Si hay una unica solucin optima, sta se encuentra en un vrtice de la regin factible, y si hay
o
e
e
o
innitas soluciones optimas, se encontrarn en un lado de la regin factible.
a
o
Es posible que no haya solucin optima, pues cuando el recinto es no acotado, la funcin objetivo
o
o
puede crecer o decrecer indenidamente.
Para resolver el problema, podemos abordarlo de dos formas, pero antes a aplicar cualquiera
de ellas siempre hay que dibujar la regin factible, resolviendo el sistema de inecuaciones lineales
o
correspondiente, como se ha visto en los ep
grafes anteriores (la regin factible puede estar acotada o
o
no), y se calculan los vrtices de dicha regin.
e
o
8.4.1.
Forma geomtrica
e
En este caso se representa el vector director de la recta que viene dada por la ecuacin de la funcin
o
o
objetivo,F (x, y) = A x + B y , que hay que maximizar o minimizar.
El vector director de la recta A x + B y viene dado por v = (B, A). Adems, como lo unico que
a
nos importa es la direccin del vector y no su mdulo (longitud), podemos dividir a las coordenadas
o
o
del vector si los nmeros son muy grandes, puesto que vectores con coordenadas proporcionales tienen
u
la misma direccin.
o
Posteriormente, se trazan rectas paralelas a este vector que pasen por los vrtices de la regin
e
o
factible (si es acotada) , o por todo el borde de la regin factible (cundo no es acotada) y se observa
o
a
en qu vrtice la funcin F se hace mxima (o m
e e
o
a
nima) sin ms que tener en cuenta cul de las rectas
a
a
tiene mayor (o menor) ordenada en el origen, es decir, qu recta corta en un punto mayor o menor al
e
eje y.
Ejemplo: Maximizar la funcin F (x, y) = 2000x + 5000y sujeta a las restricciones:
o
2x + 3y 3
2x y 9 0
2x 5y 5 0
CAP
ITULO 8. PROGRAMACION LINEAL
132
CAP
ITULO 8. PROGRAMACION LINEAL
133
Se trata ahora de trazar paralelas al vector que pasen por los vrtices anteriores, es decir:
e
8.4.2.
Forma algebraica
Consiste, simplemente, en susituir cada uno de los vrtices de la regin en la funcin objetivo. La
e
o
o
solucin optima vendr dada por aquel que tome el mayor (o menor) valor.
o
a
Ejemplo: Maximizar la funcin F (x, y) = 2000x + 5000y sujeta a las restricciones:
o
2x + 3y 3
2x y 9 0
2x 5y 5 0
Con la misma regin factible que en el caso anterior.
o
Los vrtices eran los puntos (0,-1), (5,1) y (3,-3).
e
De esta forma sustituyendo:
F (5, 1) = 2000 5 + 5000 1 = 10000 + 5000 = 15000
F (0, 1) = 2000 0 + 5000 (1) = 0 5000 = 5000
F (3, 3) = 2000 3 + 5000 (3) = 6000 15000 = 9000
Vemos que el valor mximo se alcanza para el vrtice (5,1) y que dicho valor es 15. La misma solucin
a
e
o
que se obten antes.
a
Ejercicio: Resolver los problemas de programacin lineal:
o
CAP
ITULO 8. PROGRAMACION LINEAL
134
2x + y 10
x + 3y 12
Maximizar F (x, y) = 4x + 5y sujeto a:
.
0x8
0y2
3x + 2y 12
4x + 5y 29
.
Minimizar F (x, y) = 12x + 10y sujeto a:
x0
y0
4x + 2y 6
7x + 8y 28
Maximizar F (x, y) = 120x + 80y sujeto a:
.
x0
y0
4x + 5y 20
Minimizar F (x, y) = 12x + 8y sujeto a: 7x + 2y 14 .
xy
1.
2.
3.
4.
8.5.
Puede ocurrir que la solucin optima no sea unica, e incluso que no exista, como en los ejemplos
o
siguientes:
Ejemplo 1:
x + y 14
2x + 3y 36
Maximizar g(x, y) = 3x + 4y sujeta a las rectricciones:
.
4x + y 16
x 3y 0
Si representamos la regin factible:
o
2 40
,
, B = (6, 8), C = (12, 4)
3 3
CAP
ITULO 8. PROGRAMACION LINEAL
135
Si aplicamos el mtodo geomtrico, deber trazar paralelas al vector director por los vrtices, pero
e
e
a
e
como la regin en no acotada, dichas rectas son cada vez mayores al trazarlas sobre los puntos de la
o
recta t, que son soluciones factibles. Por tanto el problema no tiene solucin.
o
En general, un problema de mximos no tiene solucin si la regin factible no est acotada supea
o
o
a
riormente, y un problema de m
nimos no tiene solucin si la regin no est acotada inferiormente.
o
o
a
Tambin puede tener el problema innitas soluciones:
e
Ejemplo 2:
x+y 5
y x+3
y + 2x 16
4y x 22
La regin es, en este caso:
o
CAP
ITULO 8. PROGRAMACION LINEAL
136
8.6.
El verdadero valor de las tcnicas de la programacin lineal consiste en poder aplicarlas a problemas
e
o
reales.
Para resolver estos problemas se deben seguir los siguientes pasos, a la vez que vemos como se
aplicar a un ejemplo concreto.
a
Ejemplo:
Una fbrica de muebles fabrica dos tipos de sillones, S1 y S2. La fbrica cuenta con dos secciones;
a
a
carpinter y tapicer
a
a.
Hacer un silln de tipo S1 requiere 1 hora de carpinter y 2 de tapicer mientras que uno de tipo
o
a
a,
S2 requiere 3 horas de carpinter y 1 de tapicer
a
a.
El personal de tapicer trabaja un total de 80 horas, y el de carpinter 90.
a
a
Las ganancias por las ventas de S1 y S2 (unidad) son, respectivamente 60 y 30 euros. Calcular
cuntos sillones de cada tipo hay que hacer para maximizar las ganancias.
a
CAP
ITULO 8. PROGRAMACION LINEAL
137
Este es un problema t
pico en el que hay que usar las tcnicas de programacin lineal. Intentaremos
e
o
seguir el siguiente esquema:
1. Leer el enunciado , determinar la funcin objetivo y denir las variables.
o
En este caso, queremos hacer mximo el benecio, es decir, queremos maximizar una funcin.
a
o
Como queremos determinar las cantidades de sillones S1 y S2 respectivamente, llamemos x=n
de unidades de S1 e y=n de unidades de S2.
La funcin benecio a maximizar ser: B(x, y) = 60 x + 30 y, que es la funcin objetivo.
o
a
o
2. Reordenar los datos del problema y escribir las inecuaciones correspondientes.
En este paso es conveniente el uso de tablas:
Tiempo(horas)
S1
S2
Disponible
Tiempo(horas)
S1
S2
Necesario
Disponible
Carpinter
a
1
3
90
Cantidad
x
y
Tapicer
a
2
1
80
Carpinter
a
x
3y
x + 3y
90
Tapicer
a
2x
y
2x + y
80
x + 3y 90
2x + y 80
y adems
a
x0
y0
pues el n de unidades producidas no puede ser negativo.
Ya tenemos por tanto las restricciones.
3. Representar grcamente la regin factible, calcular sus vrtices y el vector si usamos el mtodo
a
o
e
e
geomtrico.
e
En este caso, representando la regin factible:
o
CAP
ITULO 8. PROGRAMACION LINEAL
138
en el lado correspondiente CD, sobre la recta 2x + y = 80, desde que x vale 30 hasta que vale
40, todas las soluciones son vlidas.
a
30
20
31
18
32
16
33
14
34
12
35
10
36
8
37
6
38
4
39
2
40
0
CAP
ITULO 8. PROGRAMACION LINEAL
8.7.
139
Hasta C1
3
225
Hasta C2
25
375
Hasta C3
35
4
Determina el n de art
culos que debe enviar la empresa desde cada planta a cada ciudad para que los
costes de transporte sean m
nimos.
Para problemas de este tipo necesitamos una nueva variable.
Sea x=unidades de P1 a C1, y=unidades de P1 a C2 y z=unidades de P1 a C3.
Tiene que vericarse entonces que x + y + z = 5000.
Si desde P1 a C1 se env x unidades, como en C1 necesitan 3500, desde P2 se mandarn a C1
an
a
3500 x. Razonando del mismo modo con y y z, se obtiene la tabla:
Env
os
Desde P1
Desde P2
Hasta C1
x
3500 x
Hasta C2
y
4000 y
Hasta C3
z = 5000 x y
4500 z = 4500 (5000 x y)
o
en slo 2.
o
Para obtener las restricciones imponemos que cada cantidad ha de ser mayor o igual que cero, es
decir:
x0
3500 x 0
y0
4000 y 0
5000 x y 0
500 + x + y 0
Por tanto el sistema de inecuaciones es:
x0
x 3500
y0
y 4000
x + y 5000
x + y 500
Como se trata de minimizar costes, la funcin objetivo es:
o
C(x, y) = 3 x + 2 5 y + 3 5 (5000 x y) + 2 25 (3500 x) + 3 75 (4000 y) + 4 (500 + x + y)
C(x, y) = 1 25 x 0 75 y + 22625
CAP
ITULO 8. PROGRAMACION LINEAL
140
Hasta C1
0
3500
Hasta C2
4000
0
Hasta C3
1000
3500
Ejercicio:
Dos fbricas de cemento, F1 y F2, producen respectivamente 3000 y 4000 sacos de cemento al d
a
a.
Hay que enviar ese cemento a tres centros de ventas C1, C2 y C3 en cantidades de 3000, 2500 y
1500 sacos respectivamente.
Los costes de transporte de cada fbrica a los puntos de venta vienen dados, en euros por cada
a
saco, por:
Env
os
Desde F1
Desde F2
Hasta C1
2
15
Hasta C2
25
3
Hasta C3
2
1
Determina cmo hay que distribuir la produccin para que el transporte resulte lo ms econmico
o
o
a
o
posible.