Sie sind auf Seite 1von 21

6- Mtodos de punto interior en

programacin lineal (MPI)


DEFINICIONES
Sea (P) el siguiente problema de programacin
lineal:
(P) Min cTx /
Ax = b
x 0,
donde c Rn, b Rm y A es una matriz de rango
completo mxn con n>m.
Sea la regin factible
S = { x Rn, / Ax = b, x 0 }
y su interior relativo:
S0 = { x Rn, / Ax = b, x >0 }
MPI: obtiene soluciones factibles intermedias en S0
2
En forma genrica, sea:
Min f0(x) /
(1) fi(x) 0 i=1..m
A.x = b
Con fi convexa, dos veces contnuamente diferenciable,
Am,n, de rango m

Asumimos que el problema anterior es estrictamente


factible, o sea, existe un punto interior al dominio z /
fi(z) < 0 i=1..m , Az=b
El problema (1) lo podemos reformular como:
Min f0 ( x ) I
i 1.. m
( fi ( x )) /

A. x b 3
Donde: I ( u ) 0 u 0, I ( u ) u 0,
I-(u) es la una funcin indicatriz de R-:

-1 0

Aproximacin de I-(u) con barrera logartmica:

(2)
Min f0 ( x ) 1
t log( f ( x )) /
i 1.. m
i

A. x b
4
As, (2) es un problema con restricciones de
igualdad lineales.
Para t>0, -1/t. log (-u) es una aproximacin
diferenciable de I- y la aproximacin mejora
cuando t

-1
Propiedades de la barrera logartmica: convexa,
dos veces contnuamente diferenciable
5
Caso particular: prog. Lineal
la funcin barrera logartmica es:
xRn, x>0 p(x)= - log xi = - log xi
I=1..n i=1..n

La barrera penaliza las variables prximas a cero, o


sea, la frontera de S. (III)
DEF: x*=argmin p(x) xS0= es el centro analtico de S
(maximiza e producto de las variables)
Idea principal: en cada paso el costo de (P) disminuye
y soluciones intermedias en S0 (no en S).
A efectos de cumplir con ambos objetivos, se
construyen nuevas funciones objetivos penalizadas
donde aparece la funcin barrera, por ejemplo:
R, xR+n f(x)=cTx+p(x)
6
METODOS DE CAMINO CENTRAL (MCC):

DEF: para cada valor de queda definida una funcin


de la familia f(x), el punto donde se produce el mnimo
de esta funcin se llama punto central y a la curva x()
se le llama camino central para el problema (P)
x() = argmin f(x)
xS0

PROPS: x() es diferenciable y x() valor


ptimo de (P) cuando crece
Existen diferentes implementaciones del mtodo de
camino central variando la forma en que se
parametriza la curva.
Idea principal: en cada paso el costo de (P) disminuye
y soluciones intermedias en S0 (no en S).
7
A efectos de cumplir con ambos objetivos: mejora
de costos y aproximacin al centro analtico, se
construyen nuevas funciones objetivos penalizadas
(funciones auxiliares) donde aparece la barrera:

(a) Frish, Fiacco y McCormick. El parmetro est asociado al


gap de dualidad:
R, xR+n f(x)=cTx+p(x)
(b) Huard, Renegar. El parmetro K es una cota superior del
costo ptimo y q n es una constante:
xS0 y cTx < K, fK(x)=-qlog(K-cTx)+p(x)
(c) Karmarkar. El parmetro v es una cota inferior del costo
ptimo y q n es una constante:
xS0 , fv(x)= qlog(cTx-v)+p(x)
(funcin potencial)

8
Parametrizaciones en MCC: cada una de las anteriores
funciones auxiliares genera una parametrizacin diferente
x() del camino central:

(a) Primal-dual: R, xR+n , f(x)=cTx+p(x) (convexa)


El nombre de esta parametrizacin se debe a la estrecha relacin
entre el parmetro y el gap de dualidad : =n/
(b) Primal: xS0 y cTx < K, fK(x)=-qlog(K-cTx)+p(x) (convexa)
Es llamada primal debido a que el parmetro K es una cota superior
de la funcin objetivo primal.
(c) Dual: xS0 , fv(x)= qlog(cTx-v)+p(x) (no convexa)
Es llamada dual debido a que el parmetro v es una cota inferior del
valor ptimo del objetivo, estando asociado al valor de la funcin
objetivo dual, para alguna una solucin dual factible

9
Parametrizacin primal-dual

20.0000

15.0000

10.0000
p(x)
cx
a1.cx+p(x)
a2.cx+p(x)
a3.cx+p(x)
a4.cx+p(x)
5.0000

0.0000
1 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190

-5.0000

10
Parametrizacin primal

150.0000

100.0000

50.0000
p(x)
cx
-q.log(K1-cx)+p(x)
-q.log(K2-cx)+p(x)
-q.log(K3-cx)+p(x)
-q.log(K4-cx)+p(x)
0.0000
1 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190

-50.0000

-100.0000

11
Paramerizacin dual

500.0000

400.0000

300.0000

200.0000
p(x)
cx
n.log(cx-v1)+p(x)
100.0000
n.log(cx-v2)+p(x)
n.log(cx-v3)+p(x)
n.log(cx-v4)+p(x)
0.0000
1 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190

-100.0000

-200.0000

-300.0000

12
ALGORITMO MCC GENERAL:

k=0
Repeat
1- Calcular k+1=f( k) , segn sea la parametrizacin utilizada
2- Calcular xk+1= x( k+1) con algn algoritmo de optimizacin
3- k = k +1
Until ( k) < 2-L

13
Clasificacin segn la parametrizacin ()

Primal Primal-dual Dual

f(x) fK(x)=-qlog(K-cTx)+p(x) f(x)=cTx+p(x) fv(x)=qlog(cTx-v)+p(x)


f(x) q. c -x-1 c -x-1 q. c -x-1
K-cTx cTx-v

() (n/q)(K- cTx) n/ (n/q)(cTx-v)


Act. K=K+(1- ) cTx = / v= v+(1-) cTx
(0,1) (n/q,1)

14
Actualizacin del parmetro
A continuacin se especifica la forma de actualizar el
parmetro en el paso 1 del algoritmo general de MCC:
(a) Parametrizacin primal-dual:
k+1= k / donde (0,1) es un nmero arbitrario
La eleccin de influye sobre la complejidad del algoritmo y depende
si se elige un modelo de paso corto o largo.
(b) Parametrizacin primal
KK+1=Kk+(1- ) cTxK
KK es una sucesin decreciente, cTxK+1 < cTxK y (K)=K- cTxk es
decreciente
(c) Parametrizacin dual
vk+1= vk+(1-) cTxk, con q>n para que exista convergencia y (n/q,1)

15
Clculo de xK+1 (ver I,II)

En el paso 2 del algoritmo general de MCC se haca


referencia al clculo de xK+1 mediante un algoritmo de
optimizacin. El algoritmo usado ms frecuentemente es
el scaling steepest descendent (SDD).

Escalado de variables: sea el cambio de variables x=Dy donde D es


diagonal positiva. Dado x0S0 se escala respecto a x0 mediante la
transformacin x=X0y / X0 =(x01,.. X0n) NOTA: el punto x0 se
transforma en el e (vector de n unos).
Descomposicin de un vector en espacios ortogonales: sean
Am,n y d Rn, d puede ser descompuesto de una nica forma
en d=dx+dy donde:
dx N(A)={x Rn/ Ax=0} y
dy R(A)={x Rn/ x=Atw, w Rm}
La operacin proyeccin es una transformacin lineal
representada por PA
16
ALGORITMO SDD GENERAL:

Sean x0S0 y f: S0 R contnuamente diferencible


k=0
Repeat
1- Escalado: A=AXK, g=XK f(xK)
2- Direccin de bsqueda: h=-PA.g
3- Bsqueda lineal: y=e+h / y>0
4- Escalado: xK+1=XK.y
5- k = k +1
Until ||h(x, )|| <

17
Sean (P) Min cTx / y su dual (D) Max bTw /
Ax = b Atw + z = c
x 0, z 0,
Lema: z Rn es una holgura dual factible de (D)
z 0 y PAz=PAc
Demos: sea z 0 , z es holgura dual factible para (D)
para algn wRm, c - z = Atw. Por otro lado, c z
puede descomponerse de forma nica en:
c-z = PA(c-z)+ Atw PAz=PAc.

NOTA: Aplicando el lema anterior, dada x1 S, (D) es


equivalente a: Min x1Tz /
PAz = PAc,
z 0,

18
Clculo del gap para la parametrizacin primal-dual:

Sean x() los puntos del camino central, entonces PAf (x)=0,
o sea: PAc-PAx-1=0 PAc=PAx-1 cp =PAc =PAx-1/ ,

Como x-1/ 0 y PAx-1/ = cp =PAc, aplicando el lema anterior,


x-1/ es una holgura dual factible el gap de dualidad ser:
= x(). x-1 ()/ = n/

19
ALGORITMO DE KARMARKAR:
Sea el problema (P), presentado de la siguiente forma:
(P) Min cTx / Ax = 0
aTx = 1, x 0,
Este formato se puede obtener directamente introduciendo variables en el
(P) original.
Sea q=n en la funcin potencial, e inicialmente v=0, entonces:
f0(x)=nlog(cTx)+p(x) ,
esta funcin es homognea de grado 0: f0(bx)= f0(x) para cualquier b>0,
x>0.
Sea x>0 / Ax=0 pero aTx>0 1 x/ aTx es factible y tiene el mismo valor
potencial
De acuerdo a lo anterior se puede seguir el siguiente esquema:
1- Eliminar la restriccin aTx =1
2- Usar SSD para encontrar f0
3- Calcular x= xK/ aTxK
Si v 0, las conclusiones anteriores son vlidas, considerando:
v=v. aTx (sigue siendo factible) y f0(x)=nlog(c-va)Tx.p(x)
20
fv(x)=nlog(cTx-v)+p(x) ,
v= valor ptimo conocido (si se desconoce, calcular vkv)
v0v, cota inferior de v
x0S0
k=0
Repeat
1- Escalado: A=AXK, c=XKc, a=XK a
2- Cota inferior: vK+1=max {vK,v(xK)}
3- Direccin de bsqueda: h=--PA. ( n (c-vK+1a) -e)
(cTx- vK+1)
4- Bsqueda lineal: y=e+h / y>0
5- Volver al conjunto factible: y*=y/(aTy)
6- Escalado: xK+1=XK.y*
7- k = k +1
Until convergencia ((xK, K) < 2-L

21

Das könnte Ihnen auch gefallen