Programación lineal. Estimar M. Ejemplos.

Anuncio
Programación lineal. Estimar M. Ejemplos.
José Luis Morales
Departamento de Matemáticas. ITAM. 2010.
José Luis Morales
Programación lineal. Estimar M. Ejemplos.
Los problemas P y P̄
minimizar
x
sujeta a
minimizar
x
sujeta a
cT x
Ax = b,
x ≥ 0,
b≥0
c T x + M(y1 + y2 + · · · + ym )
Ax + y = b,
José Luis Morales
x ≥ 0,
y ≥ 0.
Programación lineal. Estimar M. Ejemplos.
¿Cómo estimar M?
Resultado obtenido de la teorı́a:
Me − λ − sy = 0
en donde λ es el vector de multiplicadores de Lagrange asociado
con Ax − b = 0 en el problema original; s y es el vector de
multiplicadores de Lagrange asociado con y en el problema
modificado. Entonces M debe escogerse tal que
M = max(0, λi )
para garantizar que sy ≥ 0.
José Luis Morales
Programación lineal. Estimar M. Ejemplos.
Observaciones:
M está relacionado con λ de manera sencilla
M no necesariamente tiene que ser grande
De la primera condición de optimalidad tenemos.
c − AT λ − s = 0;
s≥0
Si despreciamos s y multiplicamos (izquierda) por A
AAT λ̄ = Ac.
AAT es cuadrada m × m y no singular.
Si suponemos que los signos de los multiplicadores estimados
son incorrectos entonces podemos obtener fácilmente
M = max(Mmin , ||λ̄||∞ ).
José Luis Morales
Programación lineal. Estimar M. Ejemplos.
Observaciones:
M está relacionado con λ de manera sencilla
M no necesariamente tiene que ser grande
De la primera condición de optimalidad tenemos.
c − AT λ − s = 0;
s≥0
Si despreciamos s y multiplicamos (izquierda) por A
AAT λ̄ = Ac.
AAT es cuadrada m × m y no singular.
Si suponemos que los signos de los multiplicadores estimados
son incorrectos entonces podemos obtener fácilmente
M = max(Mmin , ||λ̄||∞ ).
José Luis Morales
Programación lineal. Estimar M. Ejemplos.
Observaciones:
M está relacionado con λ de manera sencilla
M no necesariamente tiene que ser grande
De la primera condición de optimalidad tenemos.
c − AT λ − s = 0;
s≥0
Si despreciamos s y multiplicamos (izquierda) por A
AAT λ̄ = Ac.
AAT es cuadrada m × m y no singular.
Si suponemos que los signos de los multiplicadores estimados
son incorrectos entonces podemos obtener fácilmente
M = max(Mmin , ||λ̄||∞ ).
José Luis Morales
Programación lineal. Estimar M. Ejemplos.
Observaciones:
M está relacionado con λ de manera sencilla
M no necesariamente tiene que ser grande
De la primera condición de optimalidad tenemos.
c − AT λ − s = 0;
s≥0
Si despreciamos s y multiplicamos (izquierda) por A
AAT λ̄ = Ac.
AAT es cuadrada m × m y no singular.
Si suponemos que los signos de los multiplicadores estimados
son incorrectos entonces podemos obtener fácilmente
M = max(Mmin , ||λ̄||∞ ).
José Luis Morales
Programación lineal. Estimar M. Ejemplos.
Observaciones:
M está relacionado con λ de manera sencilla
M no necesariamente tiene que ser grande
De la primera condición de optimalidad tenemos.
c − AT λ − s = 0;
s≥0
Si despreciamos s y multiplicamos (izquierda) por A
AAT λ̄ = Ac.
AAT es cuadrada m × m y no singular.
Si suponemos que los signos de los multiplicadores estimados
son incorrectos entonces podemos obtener fácilmente
M = max(Mmin , ||λ̄||∞ ).
José Luis Morales
Programación lineal. Estimar M. Ejemplos.
Observaciones:
M está relacionado con λ de manera sencilla
M no necesariamente tiene que ser grande
De la primera condición de optimalidad tenemos.
c − AT λ − s = 0;
s≥0
Si despreciamos s y multiplicamos (izquierda) por A
AAT λ̄ = Ac.
AAT es cuadrada m × m y no singular.
Si suponemos que los signos de los multiplicadores estimados
son incorrectos entonces podemos obtener fácilmente
M = max(Mmin , ||λ̄||∞ ).
José Luis Morales
Programación lineal. Estimar M. Ejemplos.
Problema Klee-Minty, n = 5.
maximizar
sujeta a
x1 + 10x2 + 100x3 + 1000x4 + 10000x5
x1 + 20x2 + 200x3 + 2000x4 + 20000x5 ≤ 108
x2 + 20x3 + 200x4 + 2000x5 ≤ 106
x3 + 20x4 + 200x5 ≤ 104
x4 + 20x5 ≤ 102
x5 ≤ 100
x
≥ 0.
Estimación: M = 0.5.
El método sigue funcionando con M ≤ 2.2204, ×10 −16 .
λT = (−1, 0, 0, 0, 0)
José Luis Morales
Programación lineal. Estimar M. Ejemplos.
Problema Klee-Minty, n = 5.
maximizar
sujeta a
x1 + 10x2 + 100x3 + 1000x4 + 10000x5
x1 + 20x2 + 200x3 + 2000x4 + 20000x5 ≤ 108
x2 + 20x3 + 200x4 + 2000x5 ≤ 106
x3 + 20x4 + 200x5 ≤ 104
x4 + 20x5 ≤ 102
x5 ≤ 100
x
≥ 0.
Estimación: M = 0.5.
El método sigue funcionando con M ≤ 2.2204, ×10 −16 .
λT = (−1, 0, 0, 0, 0)
José Luis Morales
Programación lineal. Estimar M. Ejemplos.
Problema Klee-Minty, n = 5.
maximizar
sujeta a
x1 + 10x2 + 100x3 + 1000x4 + 10000x5
x1 + 20x2 + 200x3 + 2000x4 + 20000x5 ≤ 108
x2 + 20x3 + 200x4 + 2000x5 ≤ 106
x3 + 20x4 + 200x5 ≤ 104
x4 + 20x5 ≤ 102
x5 ≤ 100
x
≥ 0.
Estimación: M = 0.5.
El método sigue funcionando con M ≤ 2.2204, ×10 −16 .
λT = (−1, 0, 0, 0, 0)
José Luis Morales
Programación lineal. Estimar M. Ejemplos.
Problema Klee-Minty, n = 5.
maximizar
sujeta a
x1 + 10x2 + 100x3 + 1000x4 + 10000x5
x1 + 20x2 + 200x3 + 2000x4 + 20000x5 ≤ 108
x2 + 20x3 + 200x4 + 2000x5 ≤ 106
x3 + 20x4 + 200x5 ≤ 104
x4 + 20x5 ≤ 102
x5 ≤ 100
x
≥ 0.
Estimación: M = 0.5.
El método sigue funcionando con M ≤ 2.2204, ×10 −16 .
λT = (−1, 0, 0, 0, 0)
José Luis Morales
Programación lineal. Estimar M. Ejemplos.
El caso infactible
minimizar
x
sujeta a
c T x + M(y1 + y2 + · · · + ym )
Ax + y = b,
x ≥ 0,
y ≥ 0.
Observación: La solución x, y 6= 0 NO cambia con respecto a M.
Claramente los multiplicadores λ, s x , sy dependen de M.
Teorı́a
Práctica
José Luis Morales
Programación lineal. Estimar M. Ejemplos.
El caso infactible
minimizar
x
sujeta a
c T x + M(y1 + y2 + · · · + ym )
Ax + y = b,
x ≥ 0,
y ≥ 0.
Observación: La solución x, y 6= 0 NO cambia con respecto a M.
Claramente los multiplicadores λ, s x , sy dependen de M.
Teorı́a
Práctica
José Luis Morales
Programación lineal. Estimar M. Ejemplos.
El caso infactible
minimizar
x
sujeta a
c T x + M(y1 + y2 + · · · + ym )
Ax + y = b,
x ≥ 0,
y ≥ 0.
Observación: La solución x, y 6= 0 NO cambia con respecto a M.
Claramente los multiplicadores λ, s x , sy dependen de M.
Teorı́a
Práctica
José Luis Morales
Programación lineal. Estimar M. Ejemplos.
Problema: boeing1
0
50
100
150
200
250
300
350
0
50
100
150
José Luis Morales
200
nz = 3485
250
300
350
Programación lineal. Estimar M. Ejemplos.
Problema: stair
0
50
100
150
200
250
300
350
0
50
100
150
200
250
nz = 3856
José Luis Morales
300
350
400
450
Programación lineal. Estimar M. Ejemplos.
Problema: pilot87
0
500
1000
1500
2000
0
500
1000
1500
2000 2500 3000
nz = 73152
José Luis Morales
3500
4000
4500
Programación lineal. Estimar M. Ejemplos.
Descargar