Programacion Lineal
Programacion Lineal
Programacion Lineal
LINEAL (LP)
matricial
s .a .
a 11 x 1 + a 12 x 2 + ... + a 1 n x n = b 1
a 21 x 1 + a 22 x 2 + ... + a 2 n x n = b 2
a m 1 x 1 + a m 2 x 2 + ... + a mn x n = b m
x 1 0 , x 2 0 ,..., x n 0
b 1 0 , b 2 0 ,..., b m 0
z = cx
Ax= b
x 0, b 0
Ejemplo
max x1 + 3x 2
s.a.
2 x1 + x 2 5
x 1 + 3x 2 9
x1 0
x2 0
x1
max (1 3)
x2
2 1 x1 5
s.a.
1 3 x 2 9
x1 0
x 2 0
Formulacin de problemas 1
Problema de la dieta
Una persona para su alimentacin normal debe tomar diariamente 75 mg
de protenas, 1.2 mg de calcio, 1.2 mg de hierro y 3600 caloras.
Qu cantidad mnima de leche, huevos y pan debe tomar diariamente
una persona para cubrir las necesidades de calcio y hierro si consume
al da por lo menos 2 rebanadas de pan?
Protenas
Calcio
H ierro
Caloras
Leche
(por taza)
8 gm
0.3 gm
0.1 m g
175
H uevos
(por unidad)
7 gm
0.03 gm
1.5 m g
75
Carne
(por onza)
20 gm
0.01 gm
3.0 m g
150
Pan
(por rebanada)
2 gm
0.01 gm
0.6 m g
75
Queso
(por onza)
7 gm
0.25 gm
0.1 m g
100
Formulacin de Problemas 2
Un estudiante debe realizar un examen de problemas y se le da la
posibilidad de escogerlos entre los que figuran en tres listas. Los
problemas de la lista 1 se puntan con 5 puntos cada uno, los de la 2
con 4 puntos y los de la tres con 6. El alumno sabe que necesita 3
minutos para resolver cada problema de la lista 1, 2 minutos para los
de la 2 y 4 minutos para los de la 3. Dispone de 3 horas y media para
realizar el examen. Los problemas de las listas 1 y 2 emplean bastante
clculo y el alumno no desea dedicarles ms de 2 horas y media.
Cmo puede alcanzar la puntuacin mxima?
Formulacin de Problemas 3
Se desea encontrar la mezcla ms barata de las tres harinas tal que la
fraccin de los nutrientes uno, dos y tres en la mezcla sea mayor o
igual a 0.04, 0.02 y 0.07, respectivamente.
Harina
0.06
0.02
0.09
15
0.03
0.04
0.05
12
0.04
0.01
0.03
Formulacin de Problemas 4
Una compaa tiene dos grados de inspectores 1 y 2, que son
asignados al control de calidad. Se requiere inspeccionar al
menos 1800 piezas por da (8 horas). El inspector de grado 1
chequea piezas a velocidad de 25 piezas por hora con una
exactitud del 98%. Los de grado 2 chequean a velocidad de 15
piezas por hora con una exactitud del 95%. El salario del
inspector de grado 1 es de 4 /hora, y el de grado 2 de 3/hora.
Cada vez que se produce un error, el coste a la compaa es de
2 . La compaa tiene 8 inspectores de grado 1 y 10 de grado
2. Determinar la asignacin ptima de inspectores que
minimicen el coste total de inspeccin.
x1 8 x 2 10
5x1 + 3x 2 45
x2
x1 0 x 2 0
15
B(8,10)
x2=10
10
5
A(8,5/3)
10
x1
Solucin Grfica
max
z = x1 + 2 x2
s.a.
x1 + 2 x2 10
x1 + x2 1
x2 4
x2
x1 0 x2 0
D
x2=4
C(2,4)
4
E
1
B(10,0)
x1
1
x1+x2=1
10
Algunas definiciones
Solucin factible: La solucin que satisface todas las restricciones
Regin factible: Conjunto de todas las soluciones factibles
Solucin ptima: Es una solucin factible y su valor de la funcin objetivo
es mayor que el del resto de las soluciones factibles
Valor ptimo: El valor de la funcin que corresponde a la solucin ptima
Solucin alternativa: Cuando existe ms de una solucin ptima
ptimo nico: Cuando no existe otro ptimo
ptimo sin lmite: Cuando el problema no tiene un ptimo finito.
Si m<n, el problema
tiene infinitas
soluciones
a 21x1 + a 22 x 2 + ... + a 2 n x n = b 2
a m1x1 + a m 2 x 2 + ... + a mn x n = b m
x1 0, x 2 0,..., x n 0
b1 0, b 2 0,..., b m 0
El problema no tiene
solucin trivial
Problema LP
x2
x*
Optimo
Si la solucin se encuentra en
un vrtice, podra pensarse en
un mtodo de solucin que
evaluase J = cx en cada
vrtice y escogiera el mejor, si
existe.
x1
El nmero mximo de vrtices corresponde a los distintos grupos de
m columnas que podemos formar con las n existentes en A, o sea:
n
n!
=
m m!(n m)!
Manipulacin de desigualdades
Convertir las desigualdades en igualdades a travs de las variables
de holgura
1. Desigualdad menor o igual
x1 + 2x 2 + 3x 3 + 4x 4 + x 5 = 25
x1 + 2 x 2 + 3x 3 + 4 x 4 25
2. Desigualdad mayor o igual
2x1 + x 2 3x 3 x 6 = 12
2 x1 + x 2 3x 3 12
3. Variables sin restricciones
x1 = x 2 x 3
x2 0
x3 0
x1
xr
(S1)
x i = bi 0 para i = 1,2,...,m
no bsica x j = 0
para j = m+1,...,n
Z = c B x B = c1b1 + L + c m bm
De aqu se deduce que el algoritmo, verifica si es posible encontrar
mejores soluciones bsicas factibles que proporcionen un mayor valor de
Z y si la solucin actual es ptima. En caso contrario, el mtodo obtiene
una solucin bsica factible adyacente con un valor mayor de Z.
x1
M
+ a rs x s = br
xr
La solucin:
(S2)
xj = 0
+ a ms x s = bm
Z = ci (bi ais ) + c s
m
i = 1,K, m
xs = 1
M
xm
x i = bi a is
i =1
j = m + 1,K, n , j s
cs = ci (bi a is ) + cs ci bi = cs ci a is
m
i =1
i =1
i =1
c j = c j c B Pj
Criterio de Optimalidad 1
En un problema de maximizacin, una solucin bsica
factible es ptima, si las ganancias relativas de sus
variables no bsicas son todas negativas o cero
Criterio de Optimalidad 2
Cuando xs se incrementa, los valores de las variables bsicas cambian, ya que:
x i = bi a is x s
i = 1,K, m
Si:
a is < 0
xi se incrementa si xs se incrementa
a is = 0
xi no vara
a is > 0
bi
=
max
x
min
Por tanto el incremento de xs tiene que ser:
s
a is > 0 a
is
Regla del
radio
mnimo
Soluciones degeneradas
Si al calcular una solucin bsica alguna de las variables bsicas resulta
ser cero, se dice que el vrtice es degenerado, o que se trata de una
solucin bsica factible degenerada.
Puede aparecer en el vrtice inicial cuando una bi es cero, o al calcular
un nuevo vrtice. En este caso, puede ocurrir que
bi br
min =
=0
ais > 0 a
a
is
rs
Con lo que el
incremento en J:
b
c s r = 0
a rs
Resumen
1 Poner el problema en forma
cannica, escribiendo en
problema en forma de tabla y
escoger la base
2 Para cada variable no bsica
calcular las ganancias relativas,
escoger la mayor. Si es 0, es
el ptimo, sino, seleccionar esa
variable xs para entrar en la
base. Si todos los ais son <0, no
hay solucin.
3 Calcular el menor de los
cocientes bi/ais (ais>0) que
determina la variable que sale
de la base.
c1
c2
c3
c4
c5
0
(ais>0)
bi/ais
cB
Base
x1
x2
x3
x4
x5
x3
-1
x4
14
4,3
x5
-1
cssum(ci
ais)
ganancia
relativa
Variables artificiales 1
min
i = 1
s.a
Ax+y = b;
x 0;
y 0;
Variables artificiales 2
Teora de la dualidad 1
Primario
min
s.a.
z = cx
Ax b
x 0, b 0
max
z = b
s.a.
A c
0, c 0
Dual
Primario
min
z = cx
max
s.a.
Ax = b
s.a.
x 0,
b0
z = b
A c
libres
Forma
simtrica
Forma
asimtrica
Ejemplo
Primario
max 6 x1 + 4 x2
x
sujeto a :
2 x1 + 4 x2 48
4 x1 + 2 x2 60
3 x1 42
x1 0
x2 0
Dual
min 48 z1 + 60 z 2 + 42 z 3
z
sujeto a :
2 z1 + 4 z 2 + 3 z 3 6
4 z1 + 2 z 2 + 0 z 3 4
z3
z1 0, z 2 0, z 3 0
z1
Teora de la Dualidad 2
f (x)
L (x * , )
* , *
x1
x2
x*
Teoremas de Dualidad
Teorema 1: El dual del dual es el primario
Teorema 2: Cualquier solucin factible del primario da un valor de mayor
que o al menos igual al valor de obtenido para cualquier solucin factible
del dual
= cx = b
Anlisis de la sensibilidad 1
1.- Cambio en los parmetros bj
Si los coeficientes del lado derecho de las restricciones
cambian de b => b+b la solucin ptima es:
xB = B-1 b
Anlisis de la sensibilidad 2
2.- Cambio en los coeficientes de coste: cj => cj + cj
Hay que volver a calcular la ganancia relativa de las
variables no bsicas:
c j = c j c B Pj
Sustituyendo cj por su nuevo valor.
Si se cumple que las nuevas c j 0 los cambios no afectan
a la solucin ptima inicial, sino slo al valor ptimo de la
funcin:
z = (cj + cj)xj
Si no se cumple => habra que introducir esa variable como
una nueva variable bsica y seguir con el algoritmo del
simplex
Anlisis de la sensibilidad 3
3.- Aadir variables nuevas xn+j j=1,2,...
Las nuevas variables se toman como no bsicas y se
calculan las ganancias relativas:
c n + j = c n + j c B Pj = c n + j CBB 1A n + j
n+ j
Anlisis de la sensibilidad 4
4.- Cambio en los coeficientes de la matriz A: aij => aij + aij
Si los coeficientes que cambian slo son los de las variables
no-bsicas, hay que calcular nuevamente las ganancias
relativas:
c j = c j C B B 1 A j