Escolar Documentos
Profissional Documentos
Cultura Documentos
Programación lineal
Contenido
Referencia histórica
Ejemplos
j p
Elementos de un problema
C
Caso d
de d
dos variables.
i bl R
Resolución
l ió gráfica
áfi
El p
problema dual
Interpretación de las variables duales
Condiciones de holgura complementaria
07/03/2010 2
Breve reseña histórica
07/03/2010 3
Elementos de la P.L
La programación
L ió lilineall resuelve
l problemas
bl d
de
optimización donde tanto la función que se quiere
optimizar
p como las restricciones a las qque están
sometidas las variables vienen dadas mediante
funciones lineales.
07/03/2010 4
Elementos de la P.L
07/03/2010 5
Elementos de la P.L
Cuando
C d lla región
ió ffactible
tibl no es acotada
t d no se concluye
l
simplemente que exista una solución óptima en un
vértice,, ya
y que
q el problema
p p
puede no tener solución
óptima. En este caso se cumple: Si una región factible
es no acotada, y si la función objetivo tiene un valor
máximo (mínimo)
(mínimo), entonces el valor óptimo se alcanza
en un vértice.
07/03/2010 6
Ejemplo
j p 1
07/03/2010 7
Datos del problema. Ejemplo 1
A B C Beneficios
M 2 1 1 4
E 1 2 1 6
Disponibilidad
es
180 160 100
07/03/2010 8
Elementos del problema 1
Variables:
x = número de artículos manuales
07/03/2010 9
Planteamiento. Ejemplo 1
Max z = 4x + 6y
2 x + y ≤ 180
x + 2 y ≤ 160
x + y ≤ 100
x ≥ 0, y ≥ 0
07/03/2010 10
Resolución gráfica
4x + 6y = 0
Resolución. Ejemplo 1
x + 2 y = 160
x + y = 100
X = 40, y = 60
07/03/2010 12
Ejemplo 2
07/03/2010 13
Datos del p
problema 2
Menos de 20.000 € ó
20.000 más
Periódico 40 100
Radio 50 25
8.000 6.000
07/03/2010 14
Planteamiento. Ejemplo
j p 2
Variables:
x = cantidad gastada en periódicos
y = cantidad gastada en la radio
Mi z = x + y
Min
s .a
40 x + 50 y ≥ 8000
100 x + 25 y ≥ 6000
x ≥ 0, y ≥ 0
07/03/2010 15
Resolución ggráfica. Ejemplo
j p 2
x+y=0
Solución. Ejemplo 2
40 x + 50 y = 8000
100 x + 25 y = 6000
07/03/2010 17
Problema de programación lineal
07/03/2010 18
⎡ a11 ... a1n ⎤
⎢ ⎥
A la matriz A = ... ... ... la denominamos matriz de coeficientes técnicos
⎢ ⎥
⎢⎣am1 ... amn ⎥⎦
⎛ b1 ⎞
Al vector b = ⎜ ... ⎟ lo denominamos vector de recursos
⎜ ⎟
⎜b ⎟
⎝ m⎠
⎛ x1 ⎞
⎜ ⎟
Al vector x = ... lo denominamos vector de incógnitas
⎜ ⎟
⎜x ⎟
⎝ n⎠
Notación matricial de un p
problema de p
programación
g lineal
{
SP = x: Ax ≤ b ,x
x≥0 }
El conjunto
j t SP se d
denomina
i conjunto
j t ffactible
tibl o de
d
oportunidades
07/03/2010 20
Dual de un problema de PL. Introducción
07/03/2010 21
10 Max 40 x + 25 y
s.a
2 x + 2 y ≤ 20
8
6
(5 5)
(5,5) 2 x + y ≤ 15
0.5 x + y ≤ 10
4 x ≥ 0, y ≥ 0
1 2 3 4 5 6 7
La solución
L l ió es 5 pantalones
l y 5 camisas
i
Los beneficios que obtiene 325€
07/03/2010 23
Imagina ahora que alguien le quiere comprar el negocio.
negocio
El sastre querrá conseguir como mínimo lo que obtenía
2 u 1 + 2 u 2 + 0 .5 u 3 ≥ 4 0
2 u1 + u 2 + u 3 ≥ 2 5
u 1 ≥ 0, u 2 ≥ 0, u 3 ≥ 0
Donde u1,u
u2,u
u3 son los precios del algodón,
algodón lana y seda
El comprador quiere minimizar su coste:
07/03/2010 24
Problema dual para el sastre
Veremos que la solución para este nuevo problema es u1=5, u2=15, u3=0
Notar que la función objetivo vale 325
07/03/2010 25
P j d
Pareja de problemas
bl que llllamaremos: P
Problema
bl primal
i l y problema
bl d
duall
[PP] [PD]
07/03/2010 26
Definición del problema dual. Cada problema de programación lineal
ti
tiene un problema
bl d
duall asociado
i d
07/03/2010 27
Con la notación matricial
07/03/2010 28
El problema dual es un nuevo problema de
programación lineal.
Si ell problema
bl primal
i l es dde max ell d
duall es d
de min
i
Número de variables primales igual a número de
restricciones duales y viceversa
viceversa.
Los coeficientes del objetivo primal son los términos
independientes de las restricciones duales y viceversa
viceversa.
La matriz de coeficientes técnicos dual es la matriz
transpuesta de la primal.
Las variables duales son no negativas
07/03/2010 29
PROPIEDADES DE LOS PROGRAMAS LINEALES.
07/03/2010 30
(0,2)2
Max(x + y)
s.a.
s a x+y y ≤ 2⎫
⎪
x-y ≤ 0 ⎬
1.5
x y ≥ 0 ⎪⎭
x,y
1 (1,1)
05
0.5
f(1,1) = 1 + 1 = 2
f(0,2) = 0 + 2 = 2
0.2 0.4 0.6 0.8 1
( , 0)) = 0 + 0 = 0
f(0, (0,0)
Pero cualquier punto del segmento [(1,1),(0,2)] también
proporciona la solución óptima del programa.
programa
(0 2)
(0,2)
1.5
(1,1)
1
x+y=2
0.5
Max(c D x) = Min(b D u)
x∈SP u∈SD
07/03/2010 33
Teorema de Kuhn y Tucker para programas lineales
07/03/2010 34
Lo demostraremos para un problema con dos variables y dos restricciones
L P (x1 , x2 ,u1 ,u2 ) = c1x1 + c2x2 + u1 (b1 − a11x1 − a12x2 ) + u2 (b2 − a21x1 − a22 x2 )
07/03/2010 35
L P (x1 , x2 ,u1 ,u2 ) = c1x1 + c2x2 + u1 (b1 − a11x1 − a12x2 ) + u2 (b2 − a21x1 − a22 x2 )
[5] , [6] xi ≥ 0 uj ≥ 0
El programa dual expresado en la forma estándar de K
K-T
T es
07/03/2010 37
Condiciones de Kuhn-Tucker para el problema dual
],[ ] uj ≥ 0,, xi ≥ 0
[[5D],[6D]
IMPORTANTE
07/03/2010 40
tanto si (x* ,u
Por tanto, u* ) es la solución del problema primal entonces (u* , x* ) es
la solución de su problema dual y además los valores óptimos de ambos
programas coinciden:
L P (x1 , x2 ,u1 ,u2 ) = c1x1 + c2 x2 + u1 (b1 − a11x1 − a12 x2 ) + u2 (b2 − a21x1 − a22 x2 )
−Max(
M (−b D u)) = Min(b
Mi (b D u))
u∈SD
07/03/2010 41
Condiciones de holgura complementaria
Si (x1* , x *2 ) y (u1* , u2* ) son soluciones óptimas de los dos problemas
se cumple:
(
u1* a11x1* + a12x*2 − b1 = 0)
u*2 (a *
21 1x + a22x*2 −b ) = 0
2
x1* (a u*
11 1 + a u*
21 2 −c ) =0
1
x*2 (a u*
21 1 + a u*
22 2 −c ) =0
2
07/03/2010 42
IMPORTANTE
Sea
(
x* = x1* ,..., xi* ,..., xn* ) Un plan óptimo para [PP]
(
u* = u1* ,...,u*j ,...,um
*
) Un plan óptimo para [PD]
07/03/2010 43
Si
* * * *
x > 0 → a u + ... + a u + ... + a u = ci
i 1i 1 ii i , mi m
Si
07/03/2010 44
Si
* * * *
a u + ... + a u + ... + a u > ck → x = 0
1k 1 kk k, mk m k
Si
07/03/2010 45
Ejemplo: Resolución del problema dual (sastre)
07/03/2010 46
Como lla solución
C l ió d dell problema
bl primal
i l es (5
(5,5),
5) llas d
dos restricciones
ti i d
duales
l
serán de igualdad en el óptimo.
Como la tercera restricción primal es no saturada en el óptimo, la tercera
variable dual óptima será nula u3* = 0.
Con estas condiciones resolvemos el dual. En el óptimo se cumplirá:
07/03/2010 47
Ejemplo
07/03/2010 48
Resolvemos gráficamente el problema dual con dos variables
10
6
Curva de nivel 0
−5
u2 = u1 → (0,0); (1, −2.5)
4
2
(0,2)
Solución
2
1 3 u1* = 0
( , )
2 2 u*2 = 2
Valor mínimo
2 4 6 8
10x0+4x2=8
Aplicando las condiciones de holgura complementaria
obtenemos la solución óptima del programa primal.
primal
x1* = 4
x*2 =0
x*3 = 0
07/03/2010 51
Interpretación de las variables duales
Supongamos que ( ) (
x1* , x2* ,..., xn* y u1* , u2* ,..., um* ) son soluciones
primal y dual respectivamente.
respectivamente
El teorema de dualidad garantiza que:
( z* = c x
*
1 1 + c2 x2* + ... + cn xn* ) = ( b1u1* + b2u2* + ... + bmum* = w *)
Si calculamos las derivadas de z* respecto a las bj tendremos:
∂z * *
= uj
∂b j
“La
La variación que se produce en el óptimo primal cuando
cambiamos el término bj de una restricción es igual a la variable
dual correspondiente a esa restricción”
07/03/2010 52