programación matemática

54
Programación Matemática Profesor: Juan Pérez Retamales

Upload: others

Post on 16-Oct-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Programación Matemática

Profesor: Juan Pérez Retamales

Capítulo 2: Una breve visita a los métodos de punto Interior

Programación Matemática

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.

Imágenes de diarios desde clase de profesor R. Vanderbei.

Imágenes de diarios desde clase de profesor R. Vanderbei.

Imágenes de diarios desde clase de profesor R. Vanderbei.

Punto Interior Método de Karmarkar

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

Esquema ilustrativo

f

SIMPLEX Gradiente Proyectado

Radio

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.