PUNTOS EXTREMALES El conjunt conjunto o de solucione solucioness factible factibless de un problema problema de Programaci Programación ón Lineal Lineal en forma estándar: P = = fx 2 Rn : Ax = Ax = b; b; x 0g es un poliedro convexo. En el curso de Optimización se vió una caracterización de este conjunto (Teorema de Caratheodory) a través de un número …nito de elementos: los puntos extremales y las direcciones extremales. Esta caracterización es la base del algoritmo SIMPLEX. De…nición: Un vector x 2 Rn es un punto extremo de un poliedro P si y sólo si no puede escribirse como combinación convexa estricta de dos puntos distintos de P de P ,, o sea: x es punto extremo ()
x = x = x1 + (1 )x2 =) x1 = x = x 2 = x: = x: x1 ; x2 2 P ; 0 < < 1
El conjunto de puntos extremales se denota E = E (P ). Teorema: (Caracterización de los puntos extremales de un p oliedro en forma
estándar) Sea P Sea P Rn un poliedro representado en forma estándar: P = fx 2 Rn : Ax = Ax = b; b; x 0g ; donde A donde A 2 Rm n es una matriz de rango m. Entonces Entonces x es un punto extremo m m de P si si y sólo si existe una submatriz B 2 B 2 R de A; de A; de de modo que pueda particionarse A ticionarse A = = [B N ] N ], reordenando las columnas si es necesario, y que cumple:
1. det(B det(B ) = 6 0; 0;
B b 1
2. x =
0n
m
;
3. B
1
b 0m :
Demost: ((=): Supongamos Supongamos que x satisface satisface 1,2,3. Si escogemos escogemos u; v 2 P
tales que: x = u = u + + (1 )v; con con 2 (0; (0; 1); 1); particionemos u; particionemos u; v en la misma forma que x , i.e. u = entonces:
u B
uN
; v =
B b u
v B
vN
1
0n
m
=
B
uN
1
+ (1 )
;
v B
vN
;
y porque u N ; vN son subvectores 0 y 0 < < 1, se tiene necesariamente que uN = v N = 0 n m : Además, tenemos que:
Au = Av
u [B N ] = Bu 0 v B
N
nm B
= [B N ]
0n
= b;
= BvN = b;
m
lo que implica que u N = v N = B 1 b y por lo tanto, u = v = x y x es un punto extremal. Aquí hemos usado la hipótesis de que A tiene rango m al suponer que det(B) 6 = 0: (=)): Notemos que rank(A) = m implica n m. Sea ahora x un punto extremal de P y supongamos que hemos reordenado las variables de modo que las componentes estrictamente positivas de x son las k primeras, i.e.
x = (x1 ; x2 ;:::;x k ; 0; :::; 0) = t
x k 0n
k
; xi > 0 ; i = 1;:::;k:
Si k = 0; tenemos el caso singular en que x es el vector nulo = 0n y por tanto A x = A0n = 0m = b. Como rank(A) = m, podemos elegir cualesquiera m vectores columna de A; linealmente independientes, los cuales formarán la matriz B y es claro que las propiedades 1,2,3 se satisfacen pues B 1 b = B 1 0m = 0m . Si 0 < k m, demostremos que los correspondientes k primeros vectores columna de A son `:i: En caso contrario, existirán escalares j , j = 1;:::;k, no todos nulos tales que:
k
X A j
j =
0m :
(1)
j =1
De…namos el vector = (1 ;:::; k ; 0; :::; 0) 2 Rn , completando el resto de las (n k) componentes con ceros. Entonces, para todo t 0 se tiene la identidad: 1 1 x = (x + t) + ( x t): (2) 2 2 Es claro que de (1) se tiene A = 0m y por lo tanto A(x t) = b; para todo t 0. Además, si t > 0 es su…cientemente pequeño, los vectores x t tendrán todas sus componentes 0 y pertenecerán al poliedro P . En efecto, escojamos ahora t 0 > 0 tal que: t
xj tj 0; 8 j = 1; 2;:::;k; 8t 2 [0; t0 ]; es decir, tomamos: t0 = min ft0;1 ; t0;2 g; xj 0 < t0;1 = min ; 1 j k; j < 0 ; j 0 < t0;2 = min
x
j
j
; 1 j k; j > 0 ;
2
(3) (4) (5)
con lo cual:
x j
xj + tj
xj +
xj + tj
0; para 1 j k; j 0; t 2 (0; t0 );
j
j = 0; para 1 j k : j < 0;
y además:
x j
xj tj
xj
xj tj
0; para 1 j k; j 0; t 2 (0; t0 ):
j
j = 0; para 1 j k; j > 0;
Notemos que alguno de los conjuntos f j : 1 j k; j < 0g ó f j : 1 j k; j > 0g puede ser vacío pero nunca ambos (porque 6 = 0 n ) y en tal caso t0;1 = +1 ó t0;2 = +1, aunque siempre 0 < t0 < +1: De ese modo, hemos expresado x como combinación convexa estricta de dos vectores distintos de P ; lo que contradice que x sea punto extremo. En conclusión, los vectores A j ; j = 1;:::;k, son linealmente independientes. Entonces podemos construir una m msubmatriz B de A; que incluya las k primeras columnas, de modo que det(B) 6 = 0 puesto que por hipótesis rank(A) = m. Además, como x 2 P :
0 x 1 A = B 0 x = b; A x = [B N ] @ 0 k
k
mk
0n
mk
m
y por tanto:
x k 0m
k
= B
1
b 0m ;
es decir, se cumplen las propiedades 1,2,3. El caso que nos queda es cuando k > m, pero este caso es imposible porque ya hemos demostrado que los k primeros vectores de A son `:i:y rank(A) = m. Corolario: El conjunto de puntos extremales E de un poliedro P (en forma estándar) es un conjunto …nito y el número de puntos extremales de P está n n acotado por el número combinatorio = : m nm Demost: Es claro que el número total de submatrices de orden m que pueden extraerse de una matriz A m n; con n m, es el número total de combin naciones de n en m; . Por el teorema de caracterización, el número de m puntos extremales no puede ser mayor que este número combinatorio. Teorema: Sea P = fx 2 Rn : Ax = b; x 0n g un poliedro en forma estándar, con A m n; y rank(A) = m: a) Si P 6 = ? entonces E 6 = ?, es decir todo poliedro en forma estándar no vacío tiene siempre puntos extremales. b) Si P 6 = ? y acotado entonces x 2 P si y sólo si x es una combinación convexa de los puntos extremales.
3
Demost:
a) Sea x 2 P , entonces se tiene que Ax = b; x 0n . Supongamos que las componentes estrictamente positivas del vector x son las k primeras x = (x1 ;:::;x k ; 0;:::; 0) : Si k m y b = 0m el vector nulo x = 0n es un punto extremo de P : Si k m y b 6 = 0 m al menos una de las k primeras columnas de A debe ser no nula y por tanto, entre estas k primeras columnas de A existe al menos un vector `:i: Si suponemos que todas las A j ; j = 1;:::;k, son `:i:, podemos completar una matriz B m m con el resto de las columnas de A, tal que det(B) 6 = 0, y entonces x será un punto extremo pues se cumplen las propiedades 1,2,3 del teorema de caracterización. Si las k primeras columnas de A son linealmente dependientes (que es también el caso k > m), tal como se hizo en la demostración del teorema que caracteriza los puntos extremales, podemos construir un vector 6 = 0n tal que A = 0m con las últimas n k componentes nulas y usarlo para descomponer el vector x como una combinación convexa de dos puntos x t de P (2). Además, tomando t = t 0;1 y t = t 0;2 , con t 0;1 ; t0;2 dados en (4,5), obtenemos que los vectores x 1 = x + t0;1 y x 2 = x t0;2 tienen al menos una componente nula más que las de x. Precisamente la (o las) componente(s) donde se toma el mínimo en (4,5). De este modo, x se expresa como combinación convexa de dos vectores x1 ; x2 2 P que tienen al menos una componente nula adicional. Es importante notar que estamos suponiendo que es posible calcular t0;1 y t0;2 ; lo que es equivalente a suponer que los conjuntos f j : 1 j k; j < 0g y f j : 1 j k; j > 0g son ambos no vacíos. El caso en que el vector tal que A = 0m ; tenga todas sus componentes de un solo signo (podemos siempre ponerlas 0) lo estudiaremos más adelante y signi…ca que P es un conjunto no acotado. Para la existencia de puntos extremales esto no afecta pues si tenemos el caso 0, utilizamos la identidad: t
x = (x t) + t; en lugar de (2) y siempre vamos a obtener al menos un vector x 2 = (x t0;2 ) con una componente adicional nula. Ahora el proceso descrito puede repetirse con los dos vectores x1 , x2 y expresar cada uno de ellos como combinación convexa de pares de vectores (x1;1 ; x1;2 ); (x2;1 ; x2;2 ) que tengan al menos una componente nula más: x1 x2
= x1;1 + (1 )x1;2 ; = x 2;1 + (1 )x2;2 ;
o en el caso que tengamos 0n lo hacemos sólo con el vector x 2 = (x t0;2 ). Combinación convexa de combinaciones convexas produce siempre combinaciones convexas y por tal motivo x puede expresarse como combinación convexa de estos nuevos vectores con más componentes nulas. Por ejemplo, para ;; 2 [0; 1] se tiene: x = x1 + (1 )x2 = = [x1;1 + (1 )x1;2 ] + (1 )[x 2;1 + (1 )x2;2 ] = = []x1;1 + [(1 )]x1;2 + [(1 ) ]x2;1 + [(1 )(1 )]x2;2 ; 4
y es claro que: + (1 ) + (1 ) + (1 )(1 ) = 1: En el caso 0n el vector x se expresa como combinación convexa de vectores con componentes nulas adicionales más combinaciones positivas de vectores con todas las componentes positivas o nulas. Repitiendo sistemáticamente este proceso, llegaremos a obtener al menos un vector de P con al menos n m componentes nulas y con vectores columnas de A linealmente independientes asociados a las componentes positivas. Tales vectores, por el teorema de caracterización, son puntos extremales de P y por tanto E 6 = ?. b) El proceso constructivo de la demostración de a) asegura que cualquier punto x 2 P podemos expresarlo como combinación convexa de los puntos extremales de P siempre y cuando no aparezca un vector con todas sus componentes de igual signo. Como ya hemos señalado, veremos más adelante que esto equivale a que P es no acotado. Recíprocamente, es evidente que si x es una combinación convexa de los puntos extremales de P entonces pertenece a P por ser éste un conjunto convexo.
Ejemplo:
Expresar un punto de P como combinación convexa de puntos extremales, sin conocer los puntos extremales de P : Consideremos el poliedro: P = (x1 ; x2 ) 2 R2 : x1 + x2 2; 8x1 + 3x2 8; x1 ; x2 0 :
Exprese el punto ( 12 ; 1) 2 P como combinación convexa de los puntos extremales de P : Solución: Al vector ( 12 ; 1) de P le corresponde el vector ( 12 ; 1; 21 ; 1) en la forma es~ : El problema se debe resoslver en 4 dimensiones, trabajando con el tándar P ~ escribe: poliedro en forma estándar. P se t
t
t
P = x 2 R4 : Ax = b; x 04 ;
donde: A =
1
1 1 0 8 3 0 1
;
b =
2 8
:
Si los puntos extremales no son conocidos, hay que partir de la combinación lineal positiva de todos los vectores de A e ir haciendo ceros los coe…cientes, aprovechando la dependencia lineal que exista entre los vectores de A que queden, tal y como se hizo en la demostración del Teorema anterior. El proceso se repite hasta que obtengamos una combinación lineal positiva con vectores de A que sean `:i: 5
Primero, es claro que:
2 1 1 1 1 1 0 8
=
+1
8
2
+
3
2
+1
0
1
;
pero los vectores de A son `:d:, por lo que podemos escribir, por ejemplo:
0 1 1 1 0 0
=1
+0
8
1
3
8
0
1
;
y el vector formado por los coe…cientes: 0 = (1; 0; 1; 8) podemos utilizarlo para expresar x 0 = ( 12 ; 1; 21 ; 1) como combinación convexa de dos puntos de P que tengan una componente más igual a cero: t
t
x0 = (x0 + t1 0 ) + (1 )(x0 t2 0 ): Si t1 ; t2 0 y no son ambos nulos, siempre podemos tomar 2 [0; 1] pues de la fórmula anterior se deduce que: x0 = x 0 + [t1 (1 )t2 ]0 =) t1 (1 )t2 = 0 =) =
t2 2 [0; 1]: t1 + t2
Es inmediato que A(x0 + t 1 0 ) = A(x0 + t 2 0 ) = b; por lo que debemos escoger t1 ; t2 de modo que tengan también componentes positivas y al menos una nula. Notemos que x0 + t0 0 si t 2 [ 12 ; 81 ]; así que de…nimos t1 = 81 ; t2 = 21 y tendremos = 54 ; x0 =
4 1 x01 + x02 ; i.e. 5 5 5 8
0 1=2 1 0 1 0 0 1 BB 1 CC = 4 BB 1 CC + 1 BB 1 CC : @ 1=2 A 5 @ A 5 @ 1 A
(6)
3 8
1
0
5
Los vectores x01 ; x02 tienen una componente igual a cero, pero para que sean puntos extremales tienen que tener al menos 2. O lo que es lo mismo, los vectores de A asociados a las componentes positivas de x 01 ; x02 son todavía `:d: El proceso se repite con cada uno de los vectores: Para x 01 podemos hallar la combinación lineal nula:
0 1 8 1 5 1 0
=1
8
3
3
+
0
3
;
y el vector 01 = (1; 83 ; 35 ; 0) lo usamos para expresar x 01 como combinación convexa de dos vectores con más componentes nulas que x01 ; i.e. t
9 3 x01 + t01 0 , t 2 ; ; 40 8 6
y poniendo t 1 = 83 ; t2 =
9 40
en la expresión:
x01 = (x01 + t1 01 ) + (1 )(x01 t2 01 ) y calculando = 83 igual que antes obtenemos: 5 8
0 1 0 1 1 0 2=5 1 BB 1 CC = 3 BB 0 CC + 5 BB 8=5 CC : @ A 8@ 1 A 8@ 0 A 3 8
0
0
0
Por otro lado, para x 02 tenemos la combinación nula:
0 1 1 0 =1
0
1
3
0
3
1
;
y análogamente usamos el vector 02 = (0; 1; 1; 3) para expresar x 02 como combinación convexa de vectores de P con una componente más nula. Y teniendo en cuenta que x 02 + t02 0 para t 2 [1; 1]; tomando t 1 = 1; t2 = 1 y = 21 obtenemos: 0 0 0 1 1 1 2 0 = + : 1 0 2 2 2 5 2 8 t
0 BB @
1 CC A
0 BB @
1 CC A
0 BB @
1 CC A
Finalmente, sustituyendo en (6) tendremos:
0 1=2 1 0 1 1 0 2=5 1 0 0 1 0 0 1 BB 1 CC = 3 BB 0 CC + 1 BB 8=5 CC + 1 BB 2 CC + 1 BB 0 CC ; @ 1=2 A 10 @ 1 A 2 @ 0 A 10 @ 0 A 10 @ 2 A 1
0
0
2
8
que es una expresión del vector x0 como combinación convexa de puntos extremales.
7