programación matemática
TRANSCRIPT
Punto Interior
Los métodos de punto interior, tal como su nombre lo indican, buscan al interior del dominio para llegar al punto óptimo.
El método simplex, como sabemos lo hace mediante la inspección de los vértices o SBF.
Punto Interior
En términos teóricos los métodos de punto interior son más eficientes que el método Simplex.
Sin embargo en la práctica esto no se ha plasmado del todo en los solvers debido a lo muy depurado, estudiado y optimizado que está el Simplex.
En la actualidad y con el correr del tiempo esta situación se ha venido revirtiendo, principalmente porque se ha abordado con más fuerza la NLP, la cual usa métodos de punto interior, lo cual a su vez a hecho que en el caso de LP, éstos sean cada vez más eficientes.
Punto Interior
El método Simplex lamentablemente podría llegar a recorrer todos los vértices en su búsqueda del óptimo (clásico ejemplo del cubo de Klee-Minty). (tiempo exponencial)
Los métodos de barrera no tienen ese problema, en efecto se puede demostrar que presentan tiempo polinomial de resolución con respecto al tamaño de la instancia.
Este tipo de métodos fue definido originalmente para NLP, y por problemas de cálculo no se masificaron.
Pero …
Punto Interior
Un poco de historia de los que marcan hitos: G. Dantzig en 1947 Simplex (tiempo
exponencial)
L. Khachiyan en 1979 Método del
elipsoide (tiempo polinomial)
N. Karmarkar en 1984 Método de punto
interior (tiempo polinomial, ha sido bien estudiado)
Punto Interior
En términos metodológicos la secuencia es:
Simplex
Elipsoide
Karmarkar
Primales – duales (barrera logarítmica)
Punto Interior Método Elipsoide
¿Qué es eso?:
La idea es ir “encerrando” la región de interés en cada paso, en una elipsoide, la cual cada vez es más pequeña.
Elipsek
zk
Elipsek+1
zk+1
Punto Interior Método de Karmarkar
Idea:
Transformar el PPL a un formato particular para Karmarkar. Que consiste básicamente en escalar y centrar el problema al Simplex unitario, luego encontrar una dirección de mejora, moverse según un largo de paso, encontrar un nuevo punto, y volver a transformar el espacio (se reduce). Este método sigue hasta que la solución es menor que una cierta medida pequeña positiva de convergencia.
Punto Interior Método de Karmarkar
min
. .
0n
z c x
s a
Ax
x S
0
*
1. Rango
111 12. ,..., es factible 1 0, 1
1
3. 0
A n
x An n n
z
,
m n
n
A
c x
1: 1; 0; 1,...,
nn
i iiS x x x i n
Punto Interior Método de Karmarkar
1 11xn
1diag
1 1
x x
A Ax
c x c
AB
1.- Inicializar
2.- Definir
Proyección del gradiente
1t t
d I B B B B c
1
1
11
1
k
k
t
dx
n n d
x xx
x x
3.- Cálculo de paso
4.- Criterio detención
1
1
TERMINAR
Ir a paso 1
k
k
c x
c x
0,1 típico 2/3
0 pequeño
1
1
11 1t t
x x x yT x T y
x x x y
Punto Interior Método de Karmarkar
Método para transformar un problema al formato requerido por Karmarkar
Punto Interior Método de Karmarkar
Método para transformar un problema al formato requerido por Karmarkar
PASO 1: Identificar el problema y escribirlo en forma canónica
min
. .
0
cx
s a
Ax b
x
Punto Interior Método de Karmarkar
Método para transformar un problema al formato requerido por Karmarkar
PASO 2: Plantear el problema dual
max
.
0
b
s a
A c
Punto Interior Método de Karmarkar
Método para transformar un problema al formato requerido por Karmarkar
PASO 3: Minimizar la brecha primal dual, y plantear el problema
min
.
, 0
cx b
s a
Ax b
A c
x
Punto Interior Método de Karmarkar
Método para transformar un problema al formato requerido por Karmarkar
PASO 4: Poner el problema del Paso 3 en forma estándar
min
.
, , , 0
cx b
s a
Ax hp b
A hd c
x hd hp
Punto Interior Método de Karmarkar
Método para transformar un problema al formato requerido por Karmarkar
PASO 5-a: Introducir una restricción del tipo “gran M” con el objetivo de hacer patente que el problema es acotado y, según esta cota normalizarlo.
1 1
"grande" tal que:n m
i i i ii i
Q
x hd hp Q
Punto Interior Método de Karmarkar
Método para transformar un problema al formato requerido por Karmarkar
PASO 5-b: Introducir la nueva restricción en el problema y formular
1 1
min
.
, , , 0
n m
i i i ii i
cx b
s a
Ax hp b
A hd c
x hd hp Q
x hd hp
Punto Interior Método de Karmarkar
Método para transformar un problema al formato requerido por Karmarkar
PASO 6: Variable de holgura para nueva restricción
1 1
min
.
, , , , 0
n m
i i i ii i
cx b
s a
Ax hp b
A hd c
x hd hp hq Q
x hd hp hq
Punto Interior Método de Karmarkar
Método para transformar un problema al formato requerido por Karmarkar
PASO 7: Utilizamos la restricción auxiliar t=1 para hacer nulos los RHS.
1 1
1 1
min
.
0
0
0
1
, , , , , 0
n m
i i i ii in m
i i i ii i
cx b
s a
Ax hp bt
A hd ct
x hd hp hq Qt
x hd hp hq t Q
x hd hp hq t
Punto Interior Método de Karmarkar
Método para transformar un problema al formato requerido por Karmarkar
PASO 8: Utilizamos un cambio de las variables en el factor (Q+1)
1
1
1
1
1
1
x
hd
hp
hq
t
x Q y
Q y
hd Q y
hp Q y
hq Q y
t Q y
1 1
1 1
min
.
0
0
0
1
0
i i i i
i i i i
x
x hp t
hd tn m
x hd hp hq ti i
n m
x hd hp hqi i
cy y b
s a
Ay y by
Ay y cy
y y y y y Qy
y y y y y t
y
Punto Interior Método de Karmarkar
Método para transformar un problema al formato requerido por Karmarkar
PASO 9: Hacer que la variable evaluada en e*(1/n) sea factible. Para lo
cual se usa una variable artificial que haga “la pega” la llamamos yb , (b de “brecha”). Siempre existirán unos vectores, escalares y una constante grande talque.
1
2
31 1
1 1
min
.
0
0
0
1
0
i i i i
i i i i
x b
x hp t b
hd t bn m
x hd hp hq t bi i
n m
x hd hp hq bi i
cy y b My
s a
Ay y by V y
Ay y cy V y
y y y y y Qy v y
y y y y y t y
y
Punto Interior Método de Karmarkar
Método para transformar un problema al formato requerido por Karmarkar
PASO 9 (cont.): cuando M es grande el problema es equivalente a:
1
2
31 1
1 1
min
.
0
0
0
0
1
0
i i i i
i i i i
b
x hp t b
hd t bn m
x hd hp hq t bi i
xn m
x hd hp hq bi i
y
s a
Ay y by V y
Ay y cy V y
y y y y y Qy v y
cy by
y y y y y t y
y
Punto Interior Método de Karmarkar
Método para transformar un problema al formato requerido por Karmarkar
Ejemplo (Tarea Hacer):
1 2
1 2
1 2
1 2
max 3
. .
2 8
4 15
, 0
z x x
s a
x x
x x
x x
Punto Interior Métodos de Barrera (Primal - Dual)
La idea de construcción de la metodología (Una forma):
plantear un sistema de ecuaciones que represente la minimización de la brecha entre el primal y el dual.
Tomar un enfoque incremental para solucionarlo.
Identificar los términos no lineales imponer una barrera.
Plantear el nuevo problema lineal resultante y resolver.
La idea del método es avanzar por el interior del espacio de soluciones factibles, a través de pasos que nos acerquen al óptimo, los cuales quedan definidos por un factor µ que representa una “barrera”.
Punto Interior Métodos de Barrera (Primal - Dual)
min
. .
, 1,...,
0i i
cx
s a
Ax b x b i m
x
max
.
, 1,...,
0i i
b
s a
A c c i n
Punto Interior Métodos de Barrera (Primal - Dual)
THC
0, 1,...,
0, 1,...,i i i
i i i
x b i m
c x i n
Recuerden notación de filas y columnas de A
Punto Interior Métodos de Barrera (Primal - Dual)
Se introducen variables de holgura
0, 1,...,i
Ax s b
s i m
s Ax b
0, 1,...,i
A w c
w i n
w c A
Punto Interior Métodos de Barrera (Primal - Dual)
Entonces lo que nos queda es lo siguiente
0
0
Ax s b
A w c
s
w x
m
n
n n
m “·” m = m
Punto Interior Métodos de Barrera (Primal - Dual)
0
0
Ax s b
A w c
s
w x
Tenemos 2m+2n ecuaciones y 2m+2n incógnitas
¿Qué opinan? ¿Podemos Resolverlo?
Punto Interior Métodos de Barrera (Primal - Dual)
0
0
Ax s b
A w c
s
w x
No todas las ecuaciones son lineales
Punto Interior Métodos de Barrera (Primal - Dual)
En efecto, la complejidad que se deriva del THC es la que hace que resolver PPL’s sea más complejo que resolver sistemas lineales
Punto Interior Métodos de Barrera (Primal - Dual)
Hagamos un poco de modificación al sistema de ecuaciones anterior, a ver si podemos hacer algo con él…
Punto Interior Métodos de Barrera (Primal - Dual)
Introducimos valores µ que nos permiten lidiar con las restricciones de dominio (desigualdades)
1
1m
n
Ax s b
A w c
s
w x
Punto Interior Métodos de Barrera (Primal - Dual)
Supongamos que podemos encontrar un punto inicial, y un paso de avance de modo que:
0 0
0 0
0 0
0 0
1
1m
n
A x x s s b
A w w c
s s
w w x x
Punto Interior Métodos de Barrera (Primal - Dual)
Supongamos que podemos encontrar un punto inicial, y un paso de avance de modo que:
0 0
0 0
0 0 0 0
0 0 0 0
1
1m
n
A x s b Ax s
A w c A w
s s s s
w x w x wx w x
Punto Interior Métodos de Barrera (Primal - Dual)
Supongamos que podemos los términos incrementales cuadráticos son despreciables, y aproximamos:
0 0
0 0
0 0
A x s b Ax s
A w c A w
s s s
0 0
0 0
1ms
w x wx w x
0 01nw x
Punto Interior Métodos de Barrera (Primal - Dual)
Supongamos que podemos los términos incrementales cuadráticos son despreciables, y aproximamos:
0 0
0 0
0 0 0 0
0 0 0 0
1
1m
n
A x s b Ax s
A w c A w
s s s
w x wx w x
Este sí es lineal
Punto Interior Métodos de Barrera (Primal - Dual)
¿Pero que se hace para solucionarlo?
Calcular un nuevo valor para x1=x0+x
Escoger una barrera µ menor para la siguiente iteración
Repetir el proceso hasta que se cumpla:
0
0
0
Ax s b
c A w
cx b
Factibilidad Primal
Factibilidad Dual
“GAP” de Dualidad
Punto Interior Métodos de Barrera (Primal - Dual)
Veamos otro enfoque, que es el clásico para generalizar.
Lo que vimos antes sirve para hacerse una idea de dónde viene el método, pero a partir de los temas que ya hemos visto.
Punto Interior Métodos de Barrera (Primal - Dual)
Enfoque de barrera logarítimica:
Se introducen términos logarítmicos de penalización en la FO.
1 1min log log
. .
0
n n
i ii icx x s
s a
Ax s b
x
Punto Interior Métodos de Barrera (Primal - Dual)
Enfoque de barrera logarítimica:
Se calcula la función lagrangeana.
1 1log log
n n
i ii iL cx x s b Ax s
Punto Interior Métodos de Barrera (Primal - Dual)
Enfoque de barrera logarítimica:
Calculamos las derivadas de la función lagrangeana.
1
1
1
0
1
1
0
1
0
x
n
s
n
xL
L x Ax
x
sL
Ls
s
LL Ax s b
Punto Interior Métodos de Barrera (Primal - Dual)
Enfoque de barrera logarítimica:
Calculamos las derivadas de la función lagrangeana.
1
1
1
0
1
1
(recordemos que)
1
1
x
n
n
xL
L x Ax
x
x
c A w w
x
wx
Punto Interior Métodos de Barrera (Primal - Dual)
Enfoque de barrera logarítimica:
Calculamos las derivadas de la función lagrangeana.
11
0
1
1
s
n
sL
Ls
s
s
Punto Interior Métodos de Barrera (Primal - Dual)
Enfoque de barrera logarítimica:
Entonces, en conjunto, las condiciones de óptimo de KKT del problema con barrera logarítmica son:
1
1m
n
Ax s b
A w c
s
w x
Punto Interior Métodos de Barrera (Primal - Dual)
Enfoque de barrera logarítimica:
Entonces, en conjunto, las condiciones de óptimo de KKT del problema con barrera logarítmica son:
1
1m
n
Ax s b
A w c
s
w x
Lo que es equivalente a la primera deducción que hicimos a partir del problema de brecha primal dual
Punto Interior Métodos de Barrera (Primal - Dual)
= =1
=0.01
=
=1
Recorrido interior
¿Y cómo se vería lo que hace el método?
Dibujo de: E. Carreño, et. Al. “OPTIMIZACIÓN DE SISTEMAS LINEALES USANDO MÉTODOS DE PUNTO INTERIOR”, Scientia Et Technica, Universidad Tecnológica de Pereira, ISSN 0122-1701, Mayo 2004.
Punto Interior Métodos de Barrera (Primal - Dual)
Recordar en PL los que marcan tendencia son:
Dantzig – Simplex
Khachiyan – Elipsoide
Karmarkar – Punto Interior
En términos de métodos, acabamos de ver:
Simplex (hasta el cansancio)
Karmarkar
Bases de métodos de barrera (primal-dual)
Los métodos de punto interior son cada vez más eficientes, y cuando enfrenten instancias de PPL grandes, tengan un buen solver lineal (CPLEX, Gurobi, etc.), les recomiendo escoger la opción de uso de métodos de punto interior.