You are on page 1of 6

Braulio GUTIRREZ PARI

FACULTAD: FIA Ingeniera Civil

Mtodo de Puntos Interiores Primal Primalpara Programacin g Lineal: Dual p Construccin, Implementacin y Experimentacin Experimentacin

NDICE 1. Planteamiento del Problema Objetivos j 2. Marco terico 2 1 Conceptos 2.1 C t Bsicos B i para la construccin del MPIPD 2.6 Fundamentos p 2.6.1 El Mtodo de Newton, 2 6 2 El Mt 2.6.2 Mtodo d de d L Lagrange g 2.6.3 El Mtodo de Barrera Logartmica 4. Mtodo puntos interiores Primal-Dual para PL - Construccin C t i - ImplementacinI l t i Experimentacin
1
Braulio GUTIRREZ P

Introduccin

Introduccin

Planteamiento del Problema

Dentro D t d de l la optimizacin, ti i i es que el mtodo Simplex p indiscutible q (1947) representa un clsico en la resolucin de problemas de Programacin Lineal. No obstante, cuando se realiza un anlisis terico con respecto a su eficacia, eficacia el Simplex es considerado de tiempo de ejecucin exponencial.
Braulio GUTIRREZ P

En los E l ltimos lti t i t aos treinta surgieron i p de mtodos con una filosofa otro tipos diferente, desplazarse por el interior de la regin factible. factible Los resultados tericos fueron sorprendentes, pues mostraron que el problema de Programacin lineal poda ser resuelto en un tiempo de ejecucin polinomial

Braulio GUTIRREZ P

Introduccin

Introduccin

Por los aos noventa surgieron mtodos con la misma estrategia, desplazarse por el interior del poliedro de factibilidad, pero con la diferencia que stos usaban tanto el primal como el dual para resolver el problema de programacin i lineal. li l Estos E t mtodos t d estaban t b fundamentados en los Mtodos numricos de Newton, Barrera y Lagrange, estas herramientas matemticas fusionadas produjeron lo que hoy en da se denomina Mtodo de Puntos Interiores Primal Dual para programacin lineal,
Braulio GUTIRREZ P

y actualmente, es considerada la manera ms eficiente fi i t que se conoce para p resolver el problema p de programacin lineal. Existen varias versiones de este mtodo, mtodo una de ellas constituir justamente el motivo de esta exposicin.

Braulio GUTIRREZ P

Objetivos

Objetivos

Objetivos Especficos

Objetivos Obj ti Generales G l 1. Investigar mtodos alternativos al mtodo Simplex para la resolucin de P bl Problemas d Programacin de P i Lineal Li l 2. Otorgar al estudiante una herramienta poderosa en la resolucin de problemas para Programacin Lineal
Braulio GUTIRREZ P

1. Construir el mtodo de p puntos interiores Primal-Dual para programacin Lineal, con toda las justificaciones matemticas necesarias 2 Implementar 2. I l t el l algoritmo l it correspondiente di t en el computador. 3. Realizar experimentos computacionales que corroboren la eficacia del mtodo frente a problemas de gran tamao
Braulio GUTIRREZ P

Hiptesis

Marco terico

Hi t i Hiptesis Es posible realizar un estudio completo sobre el ms eficiente mtodo para la resolucin del problema de programacin lineal y llevarlo a la prctica.

El Problema de Programacin Lineal El problema de programacin lineal en la forma estndar corresponde: Minimizar ctx Ax = b x0 donde c Rn, x Rn , b Rm y A Rmxn es la matriz de restricciones del problema con rango(A)=m y (m < n) ctx Ax = b x0 funcin objetivo restricciones condiciones de no negatividad
10

Braulio GUTIRREZ P

Braulio GUTIRREZ P

Dualidad

Dualidad

Dualidad Dado el p problema de Programacin g lineal en la forma estndar Minimizar ctx Ax = b, x 0 ( Primal ) Su Dual en la forma estndar es Maximizar bty Aty + z = c , z 0 ( Dual ) n donde z R , y Rm irrestricta. El dual del dual es el primal. La verdadera utilidad del justamente en las relaciones q que existen Dual est j entre ambos problemas.
Braulio GUTIRREZ P

Relacin Variable-restriccin entre el Primal y su dual Minimizacin Variable 0 0 I Irrestricta ti t Restriccin = Maximizacin Restriccin = Variable 0 0 Irrestricta

Esta relaciones pueden ser utilizadas para calcular de una manera directa el dual de un problema en cualquier formato
Mtodo de Puntos Interiores Primal-Dual para Programacin Lineal 12

11

Condiciones de KKT
.

Fundamentos para la construccin

Condiciones de Optimalidad de Karush-Kuhn-Tucker Consideremos el problema PL en su forma estndar: Minimizar ctx Ax = b x0 Los puntos x*, y*, z* son ptimos para el Primal y el Dual, respectivamente, si juntos satisfacen: Ax = b, x 0 (factibilidad primal) Aty + z = c, c y irrestricto, z 0 (factibilidad Dual) z tx = 0 (Condicin de Complementariedad) Estas condiciones de KKT representan condiciones necesarias y suficientes para un minimizador global.
Braulio GUTIRREZ P

Fundamentos p para la Construccin de MPIPD

Mt Mtodo d de d Newton N t Mtodo de Lagrange g g Mtodo de Barrera Logartmica

13

Braulio GUTIRREZ P

14

Fundamentos para la construccin

Fundamentos para la construccin

El Mtodo de Newton (1687). Resuelve problemas de optimizacin sin la presencia de restricciones F( x ) = 0 , F: Rn Rn , F con primera derivada continua Newton (versin 1) x( k+ 1 ) = x( k ) J -1( x ( k ) ). F( x( k ) ) F (x( k+1 ) ) < Newton (versin 2) J ( x( k ) )dx = - F( x( k ) ) x( k+1 ) = x( k ) + dx F (x( k+1 ) ) < Cada nuevo punto se obtendr del anterior anterior, siguiendo el siguiente procedimiento iterativo x( k+1 ) = x( k ) + dx
Braulio GUTIRREZ P

El Mtodo de Lagrange (1788). Transforma un problema de optimizacin p p con restricciones de igualdad, en un problema irrestricto. As, si intentamos resolver el problema Minimizar f (x) Sujeto a: gi(x) = 0, i = 1,,m su funcin Lagrangiana Minimizar L(x,y) = f (x) - y i gi(x)
i =1 m

x
Braulio GUTIRREZ P

Rn

y Rm
16

15

Fundamentos para la construccin

Punto Interior

El Mtodo de Barrera Logartmica (1968). Transforma un problema de optimizacin con restricciones de d i desigualdad, ld d en un problema bl i irrestricto. ti t Minimizar f (x) Sujeto a: x 0 Aadiendo la funcin barrera, a la funcin objetivo Minimizar f ( (x) ) Log(x L ( j)
j =1 n

Punto Interior para programacin lineal en forma estndar El mtodo de punto interior, en realidad requiere que los punto de iteracin, deben ser estrictamente factibles, esto es xk > 0 y zk > 0. Esta propiedad origina el trmino de punto interior El conjunto factible f Primal- Dual = {(x,y,z): Ax = b, Aty + z = c, (x , z) 0 } El conjunto estrictamente factible Primal- Dual o o = {(x,y,z): Ax = b, Aty + z = c, (x , z) > 0 } lo cul podemos denotar como ( xk , yk , zk ) 0 o
Braulio GUTIRREZ P

: parmetro de penalizacin x() x* 0 El conjunto de minimizadores x() es llamado Trayectoria central


Braulio GUTIRREZ P

17

18

Punto Interior

MPIPD para Programacin Lineal


Minimizar ctx Ax = b x0
n

Punto P t i interior t i para PL en la l forma f estndar t d x t 3 x 1+ x 2 + x 3 = 6 [0,0,6] x1 , x2 , x3 0 Punto interior

Construccin (P)

[1,3,2]t [0,6,0]t Los p puntos [ [0,6,0] ]t

[6,0,0]t

LP(x,y x y) = ctx 3 log(xj) - yt(Ax - b)


j=1

x1

Punto frontera y [ [2,4,0] ]t, No estn en el interior

x2

Maximizar M i i b ty t Ay + z = c z0
n

(D)

debido a que las componentes de [2,4,0]t , son ceros. ceros


Braulio GUTIRREZ P

x1 y x3 de

[0,6,0]t

x3
19
Braulio GUTIRREZ P

LD(x,y,z) = bty + 3 log(zj) - xt(Aty + z - c)


j=1

20

MPIPD para Programacin Lineal


LP(x,y x y) = ctx 3 log(xj) - yt(Ax - b)
j=1 n n

MPIPD para Programacin Lineal

C Construccin t i

C Construccin t i Simplificando las expresiones algebraicas resultantes, se obtiene, tres sistemas de ecuaciones siguientes:

LD(x,y,z) = bty + 3 log( l (zj) - xt(Aty + z - c) )


j=1

LD = c At y z = 0 x

LD = b Ax = 0 y
LD = Z 1e x = 0 z

LP = c X 1e At y = 0 x
LP = b Ax = 0 y

Ax = b Aty + z = c XZe = e

...(

donde X= diag(x) , Z= diag(z) y e = [1 1 . . .1]t n


Mtodo de Puntos Interiores Primal-Dual para Programacin Lineal 21

Se p puede observar cuando =0, , las condiciones de Optimalidad KKT son satisfechas, pero por cuestiones numricas, nosotros debemos comenzar fijando un >0 inicial, y aproximarlo iterativamente hacia cero.
Mtodo de Puntos Interiores Primal-Dual para Programacin Lineal 22

MPIPD para Programacin Lineal


D fi Definamos l la t trayectoria t i central t l como:
C = { ( x , y , z ) : > 0 }

MPIPD para Programacin Lineal

Se muestra de manera intuitiva la trayectoria central

La Trayectoria central C es un arco de puntos estrictamente factibles, que juega un rol importante en la teoria de algoritmos Primal Dual. Para cada > 0 se tiene los puntos ( x , y , z ) 0C Otra manera de definir C es 0 F ( x , y , z ) = 0 XZe- e

x x*

, ( x , z ) > 0

x0

x
24

Mtodo de Puntos Interiores Primal-Dual para Programacin Lineal

23

Mtodo de Puntos Interiores Primal-Dual para Programacin Lineal

MPIPD para Programacin Lineal

MPIPD para Programacin Lineal

El mtodo de puntos interiores Primal-Dual, encuentran soluciones ptimas ( x* , y* , z* ), aplicando variantes del mtodo de Newton a las tres condiciones de igualdad en ( ) y modificando las direcciones de bsqueda q y longitud de paso, de manera que las desigualdades (x , z) 0 sean satisfechas estrictamente en cada iteracin. Las condiciones de Optimalidad en una forma ligeramente diferente F : 2n+m 2n+m

Donde F es actualmente lineal, en los dos primeros trminos Ax b, Aty + z - c , y solo suavemente no lineal en los dems trminos XZe - e . El mtodo Newton forma un modelo lineal para F alrededor del punto actual y obtiene la direccin de bsqueda (dx,dy,dz), resolviendo el siguiente sistema de ecuaciones lineales:

dx J (x,y,z) dy = -F (x,y,z)
dz

Ax b F (x,y,z) = Aty + z - c XZe - e


Braulio GUTIRREZ P

=0

Donde J es el Jacobiano de F. Si el punto actual es estrictamente ti t t factible f tibl ( eso es, ( xk , yk , zk ) 0 o ), ) las l ecuaciones del paso de Newton son:
25
Braulio GUTIRREZ P

26

4
.

MPIPD para Programacin Lineal


A 0 0 0 At I Z 0 X dx 0 dy = 0 dz -Xze+ e

MPIPD para Programacin Lineal

En otro caso definamos los vectores residuales rp = b - Ax rd = c - Aty-z yz rc = ue Xze

A 0 0 0 At I Z 0 X

dx dy = dz

rp rd rc

1XA 1 (AZ 1(Xr dy = (A d (AZ-1 At) -1 (A -1 ( d-rc)+r ) p) t dz = rd - A dy dy = Z-1 ( rc Xdz ) Calculada el paso de Newton (dx,dy,dz), debemos elegir la longitud de los pasos adecuados, de modo que preserve x > 0 y z > 0. eso es posible utilizando xj zj P = min ; dxj < 0 D = min ; dzj < 0 ; dx dz j j Ahora podemos desplazarnos prudentemente;

x x + (0.95) (P)dx y y + (0.95) (P)dy z z + (0.95) (P)dz donde el factor 0.95 mantiene al margen de la frontera
27
Braulio GUTIRREZ P

Resolviendo indirectamente tenemos


Braulio GUTIRREZ P

28

4
Algoritmo

Algoritmo

4
PASO 4: Calcular

Algoritmo
dy = (AZ-1XAt) -1 (AZ -1 (Xrd - rc) + rp) dz = rd - Atdy 1 (r Xdz) dx = Z -1 c

Inicializacin: x,z Rn x,z > 0, y Rm , > 0, >0 PASO 1: MIENTRAS:


c x b y
t k t k

PASO 5: Calcular

P = min

1 + bt yk

<

, no satisface, HACER
PASO 6: Asignar

xj ; dxj

D = min

zj ; dzj

dxj < 0 dzj < 0

PASO 2: Definir X = diag(x) y Z = diag(z) rp = b - Ax rd = c Aty - z rc = uoe - Xz


29

x x + (0.95) (P)dx y y + (0.95) (0 95) (P)dy z z + (0.95) (P)dz


n

PASO 3: Calcular
Braulio GUTIRREZ P

t t PASO 7: Hacer k +1 = c x b y 2

, y volver al PASO 1
30

Braulio GUTIRREZ P

Implementacin
[m,n] = size(A); e = ones(n,1); u =100; iter = 0; x = ones(n,1); ones(n 1); y = zeros(m,1); zeros(m 1); z = x; while abs(c'*x-b'*y)/(1+abs(b'*y))> 0.000001 X = diag(x); Z = diag(z); rd = c-A'*y-z; rp = b-A*x; rc = u*e-X*Z*e; dy = (A*inv(Z)*X*A')\(A*inv(Z)*(X*rd-rc)+rp); (A*inv(Z)*X*A')\(A*inv(Z)*(X*rd rc)+rp); dz = rd-A'*dy; dx=Z\(rc-X*dz); aP P = -1/min(min(dx./x),-1); 1/ i ( i (d / ) 1) aD = -1/min(min(dz./z),-1); iter = iter+1 x = x+0.95*aP*dx; y = y+0.95*aD*dy; z = z+0.95*aD*dz; u = 0.1*abs(c'*x-b'*y)/n^2; end

Ejemplo 1

El siguiente ejemplo nos muestra cmo el algoritmo de MPIPD, partiendo con una solucin inicial factible, converge a la l solucin l i ptima. ti
Minimizar -2 2x1 7x2 4x1 + 5x2 40 2x1 + x2 8 2x1 + 5x2 20 x1 , x2 0
k 1 2 3 4 5 6
31 10 9 8 7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10 32

Punto P t ptimo ti x* = [0 8]t

x0 = x1 = x2 = x3 = x4 = x5 = x6 =

5 2.35 2.27 1.18 0.12 0 12 0.01 0.00

3 6.07 6.12 7.02 7.90 7 90 7.99 8.00

Punto inicial factible x0 = [5 3]t

Braulio GUTIRREZ P

Braulio GUTIRREZ P

Ejemplo 2

Ejemplo 3

Ahora con un punto inicial infactible x0 = [1 1]t , tambin converge a la solucin ptima ptima. Punto ptimo 10 9 x* = [0 8]t x k 1 2 3 4 5 6 7 8 x0 = x1 = x2 = x3 = x4 = x5 = x6 = x7 = x8 = 1 0.93 0 93 3.14 2 99 2.99 1.13 0.99 0.01 0.00 0 00 0.00 1 1.77 1 77 5.16 5.53 5 53 7.07 7.93 8.00 8.00 8.00 8 00
[1 1]t
Braulio GUTIRREZ P

Se gener un problema de Programacin lineal de 220 restricciones y 320 variables, m Simplex MPIPD 220 220 n 320 320 iter 762 21 tiempo 692 692.28 28 8 8.656 656 V V. objet objet. -185790 -185791 185791.7 7

8 7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10

Este resultado muestra la eficacia computacional del algoritmo del MPIPD frente al mtodo Simplex, tanto en el tiempo y el nmero de iteraciones realizadas Punto inicial Infactible

33

Braulio GUTIRREZ P

34

Conclusiones

Conclusiones

1. El mtodo de puntos interiores Primal-Dual es relativamente nuevo, y constituye una alternativa al mtodo Simplex. 2. Los mtodos de puntos Interiores son mecanismos que abordan el problema de un modo diferente: Crean una sucesin de puntos por el interior de la regin de factibilidad la cual converge hacia un ptimo. factibilidad, ptimo 3 El mtodo 3. t d de d puntos t i t i interiores P i l D l est Primal-Dual t basado en tres estrategias numricas, El mtodo de N t Newton, L Lagrange y Penalizacin P li i Interna I t
Braulio GUTIRREZ P

4. El mtodo de puntos interiores Primal-Dual es de fcil implementacin computacional. 5 En la parte experimental, 5. experimental cuando el mtodo es sometido a problemas de grandes dimensiones, result tener un buen desempeo. desempeo

35

Braulio GUTIRREZ P

36