Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Me Todo Karmarkar
Me Todo Karmarkar
= 0
1.1. Proyective Scaling Algorithm (Karmarkar, 1984).
1. Inicializacion: x
1
= 1
1
n
2. Denimos:
x = diag(x
k
)
A = A x
c = xc
Luego, la matriz asociada a las restricciones activas (que coincide con la region factible
porque solo hay restricciones de igualdad)viene dada por:
B =
A
1
t
Y por tanto la proyecci on del gradiente de la funci on objetivo sobre las restricciones
activas viene dada por:
d = (I
B
t
(
B
t
B)
1
B) c
2
Como veremos mas adelante, todo PL puede ser escrito en la forma exigida por el algoritmo
IN70K: Programaci on Matem atica Pag. 2
3. Sea x
k+1
=
1
n
1 +
d
n
d
Entonces
x
k+1
=
x x
1
t
x x
4. Criterio de detenci on:
Si c
t
x
k+1
< terminar.
Si no, k k + 1. Ir a 1.
5. Redondear la soluci on.
Observacion: y son parametros de la implementaci on. se elige en [0,1] siendo un valor
tpico el de 2/3. se escoge peque no (Recordar que z
= 0).
1.2. Interpretaci on geometrica
Dado un punto x
k
se aplica una transformaci on que nos cambia de espacio a otro en el cual el
punto x
k
corresponde al centro del simplex standar S
3
. En este nuevo espacio, nos movemos
en la direccion
d en una cantidad /n.
T(x) =
x
1
x
1
t
x
1
x
T
1
(y) =
xy
1 xy
3
En efecto, T() puede descomponerse en otras 2 transformaciones: T = T
1
T
2
donde:
T
1
: x z = n
1
x
1
x; diagonal scaling(centrado)
T
2
: z y =
1
1
t
z
z; radial proyection (proyecci on sobre simplex standar)
IN70K: Programaci on Matem atica Pag. 3
1.3. Procedimiento para llevar un PL a la forma exigida por Kar-
markar
Sabemos que cualquier PL puede llevarse a la forma:
mn c
t
x
s.a Ax = b
x 0 x = (x
1
...x
n
)
Agregamos una restricci on 1
t
x Q, que si el problema es acotado siempre puede
escribirse:
mn c
t
x
s.a Ax = b
1x +x
n+1
= Q
x
i
0
Homogenizamos las restricciones haciendolas iguales a 0. Para ello agregamos una
variable x
n+2
= 1.
mn c
t
x
s.a Ax bx
n+2
= 0
1x +x
n+1
Qx
n+2
= 0
1x +x
n+1
+x
n+2
= Q+ 1
x
i
0
Necesitamos que la tercera ecuacion quede igual a 1, lo que logramos por medio de un
cambio de variable: x
i
= (Q+ 1)y
i
mn c
t
y
s.a Ay by
n+2
= b
1y +y
n+1
Qy
n+2
= 0
1y +y
n+1
+y
n+2
= 1
y
i
0
Necesitamos incorporar que 1
1
n
sea factible. Para ello agregamos variables articiales
y
n+3
mn c
t
y +My
n+3
s.a Ay by
n+2
(A1 b)y
n+3
= b
1y +y
n+1
Qy
n+2
(n + 1 Q)y
n+3
= 0
1y +y
n+1
+y
n+2
+y
n+3
= 1
y
i
0
Observacion: Para que las nuevas restricciones sean equivalentes a las anteriores,
necesitamos que y
n+3
= 0. Esto se logra penalizando mucho y
n+3
(M 1).
Solo nos falta exigir que z
= 0
4
.
Tenemos x
1
= (1/3, 1/3, 1/3)
Iteraci
on 1:
x = diag(x
1
) =
1/3 0 0
0 1/3 0
0 0 1/3
A = A x = (0, 1, 1)
1/3 0 0
0 1/3 0
0 0 1/3
1/3 0 0
0 1/3 0
0 0 1/3
(1, 3, 3) = (1/3, 1, 1)
B =
A
1
t
0 1/3 1/3
1 1 1
d = (I
B
t
(
B
t
B)
1
B) c = ... = (2/9, 3/8, 1/9)
|
d| =
6
9
4
En efecto, 3x
1
3x
2
= 0 y por tanto el problema se reduce a la minimizacion de x
1
que podemos hacer
descender hasta 0
IN70K: Programaci on Matem atica Pag. 5
Entonces, considerando =
3
4
2
(Winston):
x
2
= (
1
3
,
1
3
,
1
3
) +
n
d
|
d|
= (1/4, 3/8, 3/8)
Aplicando T
1
x
2
= (1/4, 3/8, 3/8)
Tenemos que vericar que c
t
x < . Supongamos que nuestro es tal que no se cumple
(para poder seguir iterando).
Iteraci
on 2:
x = diag(x
1
) =
1/4 0 0
0 3/8 0
0 0 3/8
A = A x = (0, 1, 1)
1/4 0 0
0 3/8 0
0 0 3/8
1/4 0 0
0 3/8 0
0 0 3/8
B =
A
1
t
0 3/8 3/8
1 1 1
d = (I
B
t
(
B
t
B)
1
B) c = ... = (1/6, 1/12, 1/12)
|
d| =
1
2
6
Entonces, considerando =
3
4
2
:
x
3
= (
1
3
,
1
3
,
1
3
) +
n
d
|
d|
= (1/4, 3/8, 3/8)
Aplicando T
1
x
3
= (2/11, 9/22, 9/22)
Supongamos nuevamente que c
t
x > .
Iteraci
on 3:
x = diag(x
2
) =
2/11 0 0
0 9/22 0
0 0 9/22
A = A x = (0, 1, 1)
2/11 0 0
0 9/22 0
0 0 9/22
2/11 0 0
0 9/22 0
0 0 9/22
B =
A
1
t
0 9/22 9/22
1 1 1
d = (I
B
t
(
B
t
B)
1
B) c = ...
|
d| = ...
Entonces, considerando =
3
4
2
:
x
4
= (
1
3
,
1
3
,
1
3
) +
n
d
|
d|
= ...
Aplicando T
1
x
4
= (8/62, 27/62, 27/62)
Supongamos nuevamente que c
t
x > .
Iteraci
on 15:
x
16
= (0, 0017098; 0,499145; 0,499145) (0, 1/2, 1/2)
z
= 0, 0017098 0
Observacion: Por que x
i
siempre es el mismo?. Porque en este caso, nuestra regi on factible
es una unica recta y nos movemos en una misma cantidad .
2
i=1
x
i
+
2
i=1
w
i
+
4
i=1
h
i
= 60
x
i
, w
i
, h
i
0
5
Suponiendo que el optimo existe y es acotado
IN70K: Programaci on Matem atica Pag. 8
Homogenizamos
mn x
1
+ 3x
2
(8w
1
+ 15w
2
)
s.a 2x
1
x
2
+h
1
8t = 0
x
1
+ 4x
2
+h
2
15t = 0
2w
1
+w
2
h
3
1t = 0
w
1
+ 4w
2
h
4
3t = 0
2
i=1
x
i
+
2
i=1
w
i
+
4
i=1
h
i
60t = 0
2
i=1
x
i
+
2
i=1
w
i
+
4
i=1
h
i
+t = 61
x
i
, w
i
, h
i
, t 0
Hacemos los siguientes cambios de variable
x
1
= 61y
1
w
1
= 61y
3
h
1
= 61y
5
h
3
= 61y
7
h
5
= 61y
9
x
2
= 61y
2
w
2
= 61y
4
h
2
= 61y
6
h
4
= 61y
8
t = 61y
10
Con lo cual el problema queda:
mn y
1
+ 3y
2
8y
3
15y
4
s.a 2y
1
y
2
+y
5
8y
10
= 0
y
1
+ 4y
2
+y
6
15y
10
= 0
2y
3
+y
4
y
7
1y
10
= 0
y
3
+ 4y
4
y
8
3y
10
= 0
9
i=1
y
i
60y
10
= 0
10
i=1
y
i
= 1
y
i
0
Tenemos que hacer que 1
1
n
sea factible:
mn y
1
+ 3y
2
8y
3
15y
4
+My
11
s.a 2y
1
y
2
+y
5
8y
10
+ 6y
11
= 0
y
1
+ 4y
2
+y
6
15y
10
+ 9y
11
= 0
2y
3
+y
4
y
7
1y
10
1y
11
= 0
y
3
+ 4y
4
y
8
3y
10
+ 1y
11
= 0
9
i=1
y
i
60y
10
+ 52y
11
= 0
11
i=1
y
i
= 1
y
i
0
IN70K: Programaci on Matem atica Pag. 9
O equivalentemente, podemos minimizar la variable articial e imponer que la brecha
entre las funciones objetivos primales y duales sea identicamente nula:
mn y
11
s.a 2y
1
y
2
+y
5
8y
10
+ 6y
11
= 0
y
1
+ 4y
2
+y
6
15y
10
+ 9y
11
= 0
2y
3
+y
4
y
7
1y
10
1y
11
= 0
y
3
+ 4y
4
y
8
3y
10
+ 1y
11
= 0
9
i=1
y
i
60y
10
+ 52y
11
= 0
y
1
+ 3y
2
8y
3
15y
4
= 0
11
i=1
y
i
= 1
y
i
0
2.3. Problema 3
1. Se pretende utilizar Fase I para encontrar una soluci on b asica factible para cierto
problema (P). Para ello, se debe resolver el siguiente problema lineal.
(P1) mn t
1
+t
2
s.a 3x
1
+ 2x
2
+t
1
= 2
4x
1
+ 5x
2
+t
2
= 8
x
1
, x
1
, t
1
, t
2
0
En que t
1
y t
2
son las variables articiales propias de la Fase I. Lleve el problema (P1)
a la forma exigida por Karmarkar.
Hint: Se sabe que el problema (P) es factible.
2. Considere el siguiente problema:
mn 2x
1
+x
2
+x
3
s.a x
1
+x
2
2x
3
= 0
x
1
x
3
= 0
x
1
+x
2
+x
3
= 1
a) Muestre que el problema anterior est a en la forma exigida por Karmarkar.
b) Realice una primera iteraci on del algoritmo de Karmarkar sabiendo que la matriz
de proyecci on a las restricciones activas viene dada por
6
:
P
q
=
1/4 1 2/3
1 2 1/3
2/3 1/3 1
= 0
Esta en la forma exigida por Karmarkar.
b) En esta primera iteraci on:
x =
1/3 0 0
0 1/3 0
0 0 1/3
c =
1/3 0 0
0 1/3 0
0 0 1/3
2
1
1
2/3
1/3
1/3
Entonces
d = P
q
c =
1/3 0 0
0 1/3 0
0 0 1/3
2/3
1/3
1/3
13/18
1/9
0
d| =
173
18
Luego, tomando =
1
2
:
x =
1
3
,
1
3
,
1
3
+
n
d
|
d|
=
1
3
,
1
3
,
1
3
+
1
6
324
173
13
18
,
1
9
, 0
1
3
,
1
3
,
1
3
1
173
13
18
,
1
9
, 0