MATEMATICAS
DEPARTAMENTO DE MATEMATICAS
INFORME FINAL
Minimizaci
on de funciones convexas sobre la envoltura
convexa de un conjunto finito de puntos usando el
m
etodo de puntos interiores
Maestra en Ingeniera Matematica.
AUTOR:
ASESORA:
TRUJILLO - PERU
Febrero - 2015
*Dedicatoria
En el transcurso de la realizacion de esta tesis he recibido ayuda, apoyo y confianza de
muchas personas a las que quiero expresar mi agradecimiento. A mi asesora de tesis, Dra.
Jenny Margarita Rojas Jeronimo, quien me ha guiado siempre, con valiosas sugerencias, su
progreso. Tambien quiero agradecer a los profesores de la Maestra en Ingeniera Matematica,
quienes han contribuido a mi formacion.
*Agradecimiento
La presente tesis esta dedicada primeramente a mi Padre Celestial y a Jesucristo porque
sin ellos nada lograra en esta vida, en segundo lugar a mis queridos padres Arqumides
Gamboa Orbegoso y Yolanda Ferrer Guzman por su amor y apoyo moral e incondicional
para seguir estudiando y lograr el objetivo trazado para un futuro mejor y ser orgullo para
ellos y de toda la familia, en tercer lugar a mi querido esposo Carlos Michael Gutierrez Ocas
e Hija Camila Michelle por su amor, apoyo y comprension.
Gracias.
Indice
Introduccio1.
n6 Convexidad
1.1. Formulacion del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
19
2. M
etodos de punto interior
2.1. Idea basica del algoritmo del punto interior . . . . . . . . . . . . . . . . . . .
20
20
21
21
22
22
22
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
*Resumen
El presente Informe tiene como objetivo fundamental describir un algoritmo usando el
metodo de puntos interiores para minimizar una funcion convexa f : Rn R, sobre la envoltura convexa de un conjunto finito de m puntos en Rn usando las coordenadas baricentricas
para representar los puntos interiores del poliedro P = conv(Z) donde Z = {x1 , , xm } es
el conjunto de m puntos de Rn . En particular el algoritmo puede tambien ser usado para
hallar la proyeccion ortogonal de un punto xc Rn hacia P .
PALABRAS Y FRASES CLAVES : Minimizacion de funciones convexas, envolvente
convexa. Metodos de punto interior. Coordenadas baricentricas.
ABSTRACT
In this paper we are describe an interior-point method for minimizing a smooth strictly
convex function f : Rn R, on the convex hull P of m points in Rn using the barycentric
coordinates for representing points in P and generates points en P . In particular, the algorithm can be use to compute the orthogonal projection of a point xc Rn hacia P .
Key words: Minimizing convex functions, hull convex. Interior-point methods. Barycentric
coordinates.
*Introduccion La Optimizacion es muy importante en la resolucion de problemas aplicativos, en las diferentes areas de la ciencia, su finalidad es determinar las soluciones que
representen el valor optimo, al maximizar o minimizar una funcion objetivo, la que constituye una relacion matematica entre las variables de decision, parametros y una magnitud que
representa el objetivo.
Cuando la funcion objetivo y todas las funciones que definen las restricciones son lineales y
son definidas sobre Rn se tiene un problema de optimizacion lineal o tambien conocido como
problema de Programacion lineal (PL) continua, en otro caso, es un problema de Programacion no lineal [3]. Sin embargo cuando la funcion objetivo es una funcion convexa y las
restricciones definen una region convexa, el problema es uno de Programacion convexa, que
es el que vamos a tratar en el presente trabajo[1],[2].
Durante decadas el metodo Simplex ha sido el metodo preferido para resolver problemas de
programacion lineal continua. Sin embargo, desde el punto de vista teorico, el tiempo de
calculo requerido por este metodo, para resolver un problema lineal, crece exponencialmente
a medida que el n
umero de variables mas el de restricciones del problema aumentan, esto es
seg
un el tama
no del problema. Este crecimiento exponencial corresponde al peor caso posible
y que puede presentarse en muchos casos reales[5].
Muchos investigadores trataron de desarrollar algoritmos cuyos tiempos de calculo creciera en tiempo polinomial con el tama
no del problema. En 1987 Karmarkar[5] anuncio el
desarrollo de un nuevo algoritmo para resolver problemas de PL grandes, cuya complejidad
computacional es polinomial y resulto altamente competitivo frente al metodo simplex en la
solucion de problemas de grandes dimensiones. Este algoritmo se basa en la b
usqueda del
optimo a traves de puntos del interior de la region factible, de all el nombre de algoritmo de
punto interior[6,7]. En realidad el algoritmo de Karmarkar y todas sus variantes se conocen
como algoritmos de punto interior [7]. En este informe presentamos un algoritmo de punto
interior para resolver un problema de optimizacion lineal que define una funcion f : Rn R
convexa y diferenciable sujeta a la envoltura convexa de los puntos de Rn , Z = {z 1 , , z m }.
El problema es resolver:
mn f (z)
(0.1)
s.a. : z convZ
(0.2)
Se muestra que la principal dificultad para resolver este problema usando el metodo Simplex,
es que conocer explcitamente convZ no es tarea facil. Por otro lado si m es mayor que
d = dim{convZ} entonces la aplicacion afn := convZ tal que Z no es inyectiva
y en general cualquier x en la envolvente convexa de Z tiene mas de una representacion de
la forma x = Z, .
Material y Metodos Los materiales de este trabajo estan constituidos por los conceptos
y teoras a de la programacion lineal, programacion convexa, funciones convexas sobre un
simplex, Coordenadas baricentrica, proyeccion de direcciones sobre simplexes y metodo de
punto interior para problemas de optimizacion lineal. Ademas se hace uso de los conceptos
del algebra lineal y de analisis real.
Se utiliza el metodo constructivo, para la generacion del algoritmo que caracteriza la
metodologa propuesta, mediante el siguiente procedimiento:
1. Formulacion del problema de minimizar una funcion convexa diferenciable, definida
sobre la envolvente convexa de m puntos cada uno en Rn .
2. Basado en las coordenadas baricentricas, se describe un algoritmo que permite resolver
el problema planteado.
3. Usando el metodo de punto interior para resolver el problema de optimizacion, se
describe un nuevo algoritmo para resolver el problema.
4. Se mostrara las ventajas y desventajas del algoritmo usando el metodo de puntos
interiores.
Resultados El planteamiento general de un problema de Optimizacion que se resuelve es:
Min f (x)
s.a. x conv(Z)
z11 z12 . . .
1 2
z2 z2 . . .
donde Z = {z 1 , z 2 , . . . , z m } es un conjunto finito de puntos en Rn , y Z =
..
.. ..
.
. .
1
2
zn zn . . .
i
n
la matriz n m con columnas z y f : R R una funcion convexa diferenciable.
problema es equivalente a:
z1m
z2m
..
.
znm
Este
Min g()
s.a.
donde
m
X
g() := f (
i z i ) = f (Z)
i=1
m
:= { R : i 0,
m
X
i = 1}.
i=1
El algoritmo usa las coordenadas baricentricas para representar puntos interiores del poliedro
y generar nuevos puntos en el con coordenadas positiva. En particular el algoritmo puede ser
usado para calcular la proyeccion ortogonal de un punto xc Rn hacia el poliedro. Analisis
y Discusion
1.
Convexidad
Definiciones basicas y algunas propiedades:
Definici
on 1.1 Sean x1 , x2 Rn , el SEGMENTO CERRADO que une los puntos x1
es el conjunto denotado por [x1 , x2 ] y definido como:
y x2 ,
Definici
on 1.4 Sea x Rn , diremos que x es COMBINACION
CONVEXA de los puntos
x1 , x2 , ... , xm Rn cuando existan m n
umeros reales t1 , t2 , ... , tm no negativos
y cuya suma sea la unidad, que verifiquen que:
x = t1 x1 + t2 x2 + ... + tm xm
8
m
X
ti = 1.
i=1
Demostraci
on:
) Si A es convexo entonces
m
X
ti xi A con xi A,
i=1
m
X
ti = 1 , 0 ti 1, i = 1, ..., m.
i=1
ti xi A ,
i=1
m1
X
t1 x1 +t2 x2
ti = 1 , xi A, 0 ti 1, i = 1, ..., m 1.
i=1
ti xi A xi A, tal que
i=1
m
X
ti = 1 . . . () , 0 ti 1, i = 1, ..., m
i=1
En efecto:
sabemos que:
m
X
m1
X
ti xi =
i=1
Sea t =
m1
X
ti xi + tm xm
i=1
ti entonces:
i=1
m
X
i=1
Sea y =
m1
X
i=1
m1
X
ti xi = t
i=1
ti
x + t m xm
t i
m1
X
ti
xi , como 0 ti 1 entonces 0 ti
ti = t
t
i=1
luego:
0
Ademas:
m1
X
i=1
ti
1
t
m1
1X
1
ti
=
ti = . t = 1
t
t i=1
t
y como
xi A
9
Ademas:
t + tm =
m1
X
ti + tm =
i=1
m
X
ti = 1
i=1
m
X
ti xi A
i=1
pues A es convexo.
) Demostraremos que si:
t1 x1 + ... + tm xm A, m N, xi A, 0 ti 1, i = 1, ..., m
tal que
m
X
i=1
de convexidad.
t [0, 1]
Definici
on 1.6 Sea f : X R una funcion definida sobre un conjunto convexo X
n
CONCAVA
10
Demostraci
on:
fi (x) ui
i = 1, n
El siguiente resultado garantiza que, para problemas donde la funcion es concava, la lnea
de eficiencia queda determinada mediante el procedimiento de escalarizacion.
Proposici
on 1.4 Si, en el problema (P M ), X es un subconjunto convexo de Rn y f es
c
oncava, para cada solucion de (P M ) x0 , existen c1 , c2 , ... , cn 0 no todos nulos y tales
que x0 es solucion de (P Ec ).
Demostraci
on:
B = {u Rn : u f (x0 )}.
A es convexo por la proposicion anterior, y se demuestra sin ninguna dificultad que B tambien lo es, Ademas, el interior de B es, obviamente, el conjunto formado por los u =
(u1 , u2 , ... , un ) Rn tales que:
ui > fi (x0 ), i = 1, ..., n.
De ser x0 solucion de (P M ) se obtiene que A B o = , ya que, si existiera u A B o ,
existira x X con fi (x) ui , i = 1, ..., n, y ui > fi (x0 ), i = 1, ..., n. Pero entonces:
fi (x) > fi (x0 ), i = 1, ..., n,
y por consiguiente, x0 no resolvera (P.M ). De los teoremas de separacion de conjuntos
convexos podemos deducir que existen c1 , c2 , ..., cn no todos nulos y tales que:
n
X
ck u k
k=1
n
X
ck v k
k=1
siempre que (u1 , ..., un ) A y (v1 , ..., vn ) B. En particular, puesto que f (x) A si
x X y f (x0 ) B, es:
n
n
X
X
ck fk (x)
ck fk (x0 ),
k=1
k=1
11
n
X
n
X
ck fk (x0 )
k=2
ck fk (x0 ),
k=1
es decir:
c1 z c1 f1 (x0 )
z < f1 (x0 )
c1 z c1 f1 (x0 )
Como c1 > 0
z f1 (x0 )().
Por lo tanto c1 es positivo.
ck = 1,
k=1
c
ck
k=1
HIPERPLANO
en
Demostraci
on:
Sean
x1 , x2 H, entonces:
a x1 =
a x2 =
x1 + (1 ) x2 H
H es convexo.
Definici
on 1.8 : Sea a un vector no nulo de Rn , y R. Los conjuntos:
H + = { x Rn / a x }
H = { x Rn / a x }
se denominan
SEMIESPACIOS CERRADOS
de Rn .
a . x2
x1 + (1 ) x2 H +
H + es convexo.
Analogamente para H .
Proposici
on 1.7 : Sean A1 , A2 Rn dos conjuntos convexos, se cumplen las siguientes
afirmaciones:
1. A1 A2 es un conjunto convexo.
2. A1 + A2 = { x1 + x2 / x1 A1 , x2 A2 }
es convexo.
3. A1 A2 = { x1 x2 / x1 A1 , x2 A2 }
es convexo.
4. La interseccion arbitraria de un n
umero finito o infinito de conjuntos convexos es un
conjunto convexo.
Demostraci
on:
2.
Sean
u , v A1 + A2 , entonces:
u = x1 + x2 donde x1 A1 y x2 A2
v = y1 + y2 donde y1 A1 y y2 A2
Por lo tanto:
u + (1 ) v A1 + A2 . 2
3. De forma analoga, sean u, v A1 A2 , entonces: u = x1 x2 donde x1 A1 y x2
A2 y v = y1 y2 donde y1 A1 y y2 A2 . Sea [0, 1], tenemos: u = x1
x2 ademas (1 ) v = (1 ) y1 (1 ) y2 . Sumando miembro a miembro, y ubicando
convenientemente las igualdades anteriores, se tiene:
u + (1 ) v = ( x1 + (1 ) y1 ) ( x2 + (1 ) y2 )
{z
}
|
{z
}
|
A1
A2
C0 (A) = { x R /x =
k
X
j=1
j xj ,
k
X
j = 1 , 0 j 1 , xj A , j = 1, ..., k }
j=1
15
Definici
on 1.10 La envoltura convexa de un n
umero finito de puntos x1 , ..., xk+1 Rn es
llamado POLITOPO .
Si x2 x1 , x3 x1 , . . . , xk+1 x1 son linealmente independientes entonces C0 (x1 , ..., xk+1 )
la envoltura convexa de x1 , ..., xk+1 es llamada el SIMPLEX O SIMPLEJO con vertices x1 , ..., xk+1 .
Definici
on 1.11 : La interseccion de un n
umero finito de semiespacios cerrados de Rn se
Teorema 1.8 (Carathedory) Sea S un conjunto arbitrario en Rn . Si x C0 (S) entonces x C0 (x1 , ..., xn+1 ) donde xj S , j = 1, ..., n + 1 . En otras palabras, x puede ser
representado como:
x=
n+1
X
j xj ,
j=1
n+1
X
j = 1 , j 0 , xj S , j = 1, ..., n + 1
j=1
Demostraci
on:
k+1
X
j xj ,
k+1
X
j=1
j = 1 , j 0 , xj S , j = 1, . . . , k + 1
j=1
k
X
j = 1.
j=1
n+1
X
j=1
2)
3)
j xj ,
n+1
X
j = 1 , j 0 , xj S , j = 1, ..., k + 1
j=1
Si k = n se tiene la tesis.
Si k > n, entonces:
x x1 , x3 x1 , ... xk+1 x1
|2
{z
}
mas de n vectores (k vectores)
16
uj (xj x1 ) = 0
j=2
k+1
X
uj xj =
k+1
X
j=2
Sea u1 =
k+1
X
k+1
X
uj , entonces
j=2
uj x1
j=2
uj = 0 , y
j=1
k+1
X
j=1
k+1
X
u j xj = u 1 x1 +
j=1
uj x1
j=2
k+1
X
uj xj =
j=1
k+1
X
k+1
X
k+1
X
u j x1
j=1
k+1
X
u j xj = x1
j=1
!
uj
= x1 (0)
j=1
k+1
X
uj xj = 0
j=1
donde alg
un uj son no nulos, es decir existen algunos uj > 0. Luego:
x=
k+1
X
j xj + 0
j=1
k+1
k+1
X
X
x=
j xj uj xj = 0
j=1
x=
j=1
k+1
X
(j uj )xj = 0
j=1
j
, uj > 0}
uj
17
Existe alg
un j0 tal que:
=
j0
uj0
Luego:
x=
k+1
X
(j uj )xj
j 6= j0 .
j=1
el cual posee k terminos (pues hay uno que es cero), luego teniendo k + 1 terminos, hemos
llegado a tener k terminos, repitiendo este proceso anterior se llega tener k = n. 2
Definici
on 1.12 Un conjunto C 6= en Rn es denominado
x C implica que x C , 0.
Si el cono C es convexo, se denomina
CONO CONVEXO.
18
CONO
1.1.
Formulaci
on del problema
(1.1)
s.a. : x conv(Z)
(1.2)
(1.3)
La dificultad tpica al resolver (1.3) es que los puntos factibles x Z R\ son parametrizados por m parametros Rm , x = Z donde m n . Particularmente los parametros
son hallados de manera u
nica por x, si conv(Z) es un simplex. Ademas durante la ejecucion
del algoritmo se requerira del calculo de Z para varios .
Sea f() := f (Z), g(x) := f (x), g() := g(Z). Entonces
f() = Z T f (Z),
2 f() = Z T 2 f (Z)Z
Para aplicar el algoritmo primal de punto interior al problema (1.3), se reformula como:
min{ : f() 0, 0, eT 1 = 0}
(1.4)
m
X
lni ,
(, ) S 0
i=1
+ (, ),
(, ) S 0
Abreviando
= (, ) = (, )T y = (
) := f(),
A := diag(). Luego:
em + 1
+ (
)
!
g () A1
1
(
) =
1
(
) =
"
#
T
T
2
2 2
Z
(g(x)g(x)
+
f
(x))Z
+
g
()
1
2 (
) = 2
()T
1
donde x = Z.
Existe un criterio simple para analizar la optimalidad de un punto para el problema
(1.3) una vez que es calculado el gradiente f( ).
19
2.
M
etodos de punto interior
2.1.
Idea b
asica del algoritmo del punto interior
= x1
sujeta a 0 x1 2
Si se usa x2 como variable auxiliar, se puede reexpresar el problema como sigue:
max z
= x1
x1 + x 2 = 2
x1 , x2 0.
Los pasos que se dieron difcilmente definen un algoritmo en el sentido normal, pero la
idea es interesante! Se necesitan ciertas modificaciones que garanticen que 1) los pasos generados a lo largo del gradiente no se pasen del punto optimo en B, y 2) en el caso general
n dimensional, la direccion definida por el gradiente proyectado no cause un empantanamiento del algoritmo en un punto no optimo. Esto es, basicamente, lo que se logra con el
algoritmo del punto interior de Karmarkar.
3.
()
:= argmin{ (
) :
S 0}
= argmin{ (, ) : > 0, > f(), eT = 1}
(3.1)
eT
=1
(3.2)
La ruta central esta bien definida para > 0 y ademas converge a la solucion optima de
(1.3) cuando 0.
Para cada
0 S 0 y 0 > 0 se define tambien una ruta no-central
(), > 0 que pasa a
0
0
traves de
en 0 y
(0 ) =
como:
() := argmin{ (
) 0 (
0 )T
:
S )}
o equivalentemente, se puede definir como la solucion del sistema no lineal:
(
) 0 (
0 ) + ey = 0
(3.3)
eT
=1
(3.4)
3.1.
(3.5)
Algoritmo:
Inicio:
0 = (0 , 0 ) S 0 arbitrarios, 0 := 0 f(0 ) > 0, estos generaran una sucesion
k 0 y
k = (k , k ) S 0 , k = 0, 1, ,.
Iteracion basica:
(
,
) := (k ,
k ) (
+ ,
+ ) =: (k+1 ,
k+1 )
luego calcular un
+ con 0 <
+ <
,
+ S 0 que consiste en calcular un paso de correccion
y otro de prediccion. El paso de correccion mejora
, es decir se aproxima con buena exactitud
a la ruta central. El paso de prediccion, reduce
a un adecuado
+ y calcula un
+ S 0.
21
3.1.1.
Paso de Correcci
on
Este paso consiste en una o mas iteraciones del metodo de Newton para resolver el sistema
(1.4) con =
usando como valor inicial
. Por lo tanto la correccion de Newton
se
obtiene de resolver el sistema:
"
#
!
"
#
2 (
) e 4
(
)
=
eT
0
y
0
Luego con min := argmin{ (
+ 4
) : > 0}, el punto
+ :=
+ min 4
S 0 sera
la mejor aproximacion a la ruta central. Los paso de Newton se repiten hasta que 4
sea
lo suficientemente peque
no. Un criterio de parada para las iteraciones de Newton es cuando
4
T 2 (
)4
1/4.
3.1.2.
Paso de Predicci
on
Sea
S 0 el resultado del paso de prediccion. Entonces considerando la ruta no central
() =
+ (
)
0 (
)
Luego se encuentra min = min{ > 0 :
() S 0 } y sea
+ = min + (1 )
,
+ =
(
+ )
donde = 0,7.
3.1.3.
Ejemplo
Sea el conjunto :
Z = {z i : z i = (i1 , i2 , , in )T , i = 1, 2, , m}
de puntos donde ij [0, 1] distribuidos aleatoreamente, sea la funcion cuadratica convexa
f (x) = (x xc )T (x xc ) donde tambien xc [0, 1]n \ convZ. El criterio de parada usado fue:
106 . El punto inicial 0 = (1, 1, , 1)T /m Rm . Se aplico el algoritmo para valores
grandes de n respecto a m. Los resultados se muestran en la siguiente tabla cuando n = 20
fijo y m se varia:
m
Iter tiempo
1000 28
0.28
2000 36
0.78
3000 42
1.41
4000 45
2.16
5000 48
2.9
6000 51
3.70
22
iter
35
35
35
36
36
37
tiempo
0.14
0.27
0.33
0.78
1.57
2.49
23
Recomendaciones
Debido al amplio campo de aplicacion que tiene el area de optimizacion sobre todo en
la toma de decisiones y los modelos, muchos de ellos, son de minimizacion de funciones
convexas, se recomienda seguir estudiando nuevas estrategias para obtener la solucion con
un tiempo y exactitud deseada.
Referencias
[1] Bertsekas, DP,Projected Newton methods for optimization problems with simple constraints. 1982. Siam J. Control Optimo 20:221-246.
[2] Botkin,N. Stoer. J., Minimization of a convex function on the convex hull of a point
set, 2007. Mathematical Methods of Operations Research., 62. pp.167-185.
[3] Fiacco,A., McCormick,G.P., Nonlinear Programming: Sequential Unconstrained
Minimization Techniques, Wiley. New York, pp.273-281. 2008.
[4] Frisch, K.R., The Logarithmic Potential Method for Convex programming, Unpublished manuscript. Institute of Economics. University Oslo Norway, 1999.
[5] Karmarkar, A New polynomial-time algorithm for linear programming, Combinatorica. 4 pp373-395. 1999.
[6] Nestorov Yu, Nemirovsky, A., Interior Point Polynomial Methods in Convex programming,. Siam. Philadelphia .2000.
[7] Wright, S.J.,Primal-Dual Interior Point Methods. Siam, philadelphia 1998.
24