Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Ejer

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 348

Versión muy parecida a la publicada.

OPTIMIZACIÓN NO LINEAL
Y DINÁMICA
Héctor Manuel Mora Escobar
Departamento de Matemáticas
Universidad Nacional de Colombia
Bogotá

i
ISBN

ii
A Hélène, Nicolás y Sylvie
iv
ÍNDICE GENERAL

PRÓLOGO ix

NOTACIÓN xiii

1 INTRODUCCIÓN 1
1.1 GENERALIDADES . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 MÍNIMOS CUADRADOS: UNA RECTA . . . . . . . . . . . 5
1.3 MÍNIMOS CUADRADOS: CASO GENERAL . . . . . . . . . 6
1.4 SOLUCIÓN POR MÍNIMOS CUADRADOS DE UN SIS-
TEMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.5 COLUMNA TUBULAR DE PESO MÍNIMO . . . . . . . . . 8
1.6 CONSTRUCCIÓN DE UNA CAJA DE COSTO MÍNIMO . 10
1.7 LOCALIZACIÓN DE UNA CENTRAL . . . . . . . . . . . . 11
1.8 CONVERGENCIA Y ORDEN DE CONVERGENCIA . . . . 11

2 CONJUNTOS CONVEXOS 17

3 MATRICES DEFINIDAS Y SEMIDEF. POSITIVAS 33


3.1 FACTORIZACIÓN DE CHOLESKY . . . . . . . . . . . . . . 33
3.2 ALGORITMO DE LA FACTORIZACIÓN DE CHOLESKY 37
3.3 MATRICES DEFINIDAS POSITIVAS . . . . . . . . . . . . . 38
3.4 MATRICES SEMIDEFINIDAS POSITIVAS . . . . . . . . . 45
3.5 MATRICES DEFINIDAS POSITIVAS EN UN SUBESPACIO 50
3.5.1 En el espacio nulo de una matriz . . . . . . . . . . . . 52

4 FUNCIONES CONVEXAS Y GENERALIZACIONES 59


4.1 FUNCIONES CONVEXAS . . . . . . . . . . . . . . . . . . . 59
4.2 GENERALIZACIONES DE FUNCIONES CONVEXAS . . . 68
4.3 CONVEXIDAD Y GENERALIZACIONES EN UN PUNTO 78

v
ÍNDICE GENERAL

5 OPTIMALIDAD EN PUNTOS INTERIORES 83

6 CONDICIONES DE KARUSH-KUHN-TUCKER 93
6.1 GENERALIDADES . . . . . . . . . . . . . . . . . . . . . . . 93
6.2 PROBLEMAS CON DESIGUALDADES . . . . . . . . . . . 101
6.3 PROBLEMAS CON DESIGUALDADES E IGUALDADES . 110
6.4 CONDICIONES DE SEGUNDO ORDEN . . . . . . . . . . . 119

7 MINIMIZACIÓN EN UNA VARIABLE 127


7.1 CÁLCULO DE LAS DERIVADAS . . . . . . . . . . . . . . . 131
7.2 MÉTODO DE NEWTON . . . . . . . . . . . . . . . . . . . . 133
7.3 MÉTODO DE LA SECANTE . . . . . . . . . . . . . . . . . 137
7.4 MÉTODO DE NEWTON CON DERIVACIÓN NUMÉRICA 138
7.5 MÉTODOS DE ENCAJONAMIENTO (BRACKETING) . . 140
7.6 BÚSQUEDA SECUENCIAL . . . . . . . . . . . . . . . . . . 140
7.7 SECCIÓN DORADA O ÁUREA . . . . . . . . . . . . . . . . 144
7.8 MINIMIZACIÓN POR INTERPOLACIÓN CUADRÁTICA . 147
7.8.1 Interpolación cuadrática . . . . . . . . . . . . . . . . 148
7.8.2 Cálculo del minimizador de la parábola. . . . . . . . . 149
7.9 MÉTODO DE LOS TRES PUNTOS PARA λ ∈ R . . . . . . 150
7.10 MÉTODO DE LOS TRES PUNTOS PARA λ ≥ 0 . . . . . . 152
7.11 INTERPOLACIÓN CUADRÁTICA EN UN INTERVALO . 154
7.12 MINIMIZACIÓN IMPRECISA . . . . . . . . . . . . . . . . . 156
7.12.1 Criterio del porcentaje . . . . . . . . . . . . . . . . . . 156
7.12.2 Regla de Armijo . . . . . . . . . . . . . . . . . . . . . 157
7.12.3 Regla de Goldstein . . . . . . . . . . . . . . . . . . . . 161
7.13 MINIMIZACIÓN DE UNA FUNCIÓN CUADRÁTICA . . . 162

8 MINIMIZACIÓN SIN RESTRICCIONES 169


8.1 CÁLCULO DEL GRADIENTE Y DEL HESSIANO . . . . . 172
8.2 MÉTODO DE NEWTON . . . . . . . . . . . . . . . . . . . 175
8.3 MÉTODOS DE LA REGIÓN DE CONFIANZA . . . . . . . 177
8.3.1 Una estrategia exacta . . . . . . . . . . . . . . . . . . 178
8.3.2 Otra estrategia general . . . . . . . . . . . . . . . . . . 185
8.3.3 El punto de Cauchy . . . . . . . . . . . . . . . . . . . 186
8.3.4 El método “dogleg” . . . . . . . . . . . . . . . . . . . 188
8.4 MÉTODO DEL DESCENSO MÁS PENDIENTE . . . . . . . 194
8.5 MÉTODOS DE DIRECCIONES CONJUGADAS . . . . . . . 197
8.6 MÉTODO DEL GRADIENTE CONJUGADO: GC . . . . . 199
8.7 MÉTODO DE DAVIDON, FLETCHER Y POWELL: DFP . 201

vi
ÍNDICE GENERAL

8.8 MÉTODO BFGS . . . . . . . . . . . . . . . . . . . . . . . . . 206


8.9 MÉTODO CÍCLICO COORDENADO CONTINUO . . . . . 209
8.10 MÉTODO CÍCLICO COORDENADO DISCRETO . . . . . 210
8.11 MÉTODO DE HOOKE Y JEEVES CONTINUO: HJC . . . 212

9 MÉTODOS DE PENALIZACIÓN Y DE BARRERA 217


9.1 MÉTODO DE PENALIZACIÓN . . . . . . . . . . . . . . . . 217
9.2 MÉTODO DE BARRERA . . . . . . . . . . . . . . . . . . . 220

10 MÉT. MINIMIZACIÓN CON RESTRICCIONES 225


10.1 MÉTODO DEL GRADIENTE REDUCIDO DE WOLFE . . 226
10.2 MÉTODO DEL GRADIENTE PROYECTADO DE ROSEN 241

11 MÉTODOS DE PUNTO INTERIOR 251


11.0.1 Notación . . . . . . . . . . . . . . . . . . . . . . . . . 252
11.1 SOLUCIÓN DE UN SISTEMA FRECUENTE . . . . . . . . 253
11.2 MÉTODOS DE PUNTO INTERIOR PARA P.L. . . . . . . . 254
11.2.1 Condiciones de optimalidad . . . . . . . . . . . . . . . 254
11.3 MÉTODO PRIMAL-DUAL AFÍN FACTIBLE . . . . . . . . 256
11.4 TRAYECTORIA CENTRAL . . . . . . . . . . . . . . . . . . 262
11.5 MÉTODO PREDICTOR-CORRECTOR DE MEHROTRA . 264
11.6 COMPLEMENTARIEDAD LINEAL . . . . . . . . . . . . . . 268
11.7 PROGRAMACIÓN CUADRÁTICA CONVEXA . . . . . . . 271

12 PROGRAMACIÓN DINÁMICA 279


12.1EL PROBLEMA DE LA RUTA MÁS CORTA . . . . . . . . . 280
12.1.1 Enunciado del problema . . . . . . . . . . . . . . . . . 280
12.1.2 Planteamiento del problema de optimización . . . . . 282
12.1.3 Solución por programación dinámica . . . . . . . . . . 283
12.1.4 Resultados numéricos . . . . . . . . . . . . . . . . . . 285
12.1.5 Solución hacia atrás . . . . . . . . . . . . . . . . . . . 287
12.2 EL PROBLEMA DE ASIGNACIÓN DE MÉDICOS . . . . . 289
12.2.1 Enunciado del problema . . . . . . . . . . . . . . . . . 289
12.2.2 Planteamiento del problema de optimización . . . . . 290
12.2.3 Solución recurrente . . . . . . . . . . . . . . . . . . . . 290
12.2.4 Resultados numéricos . . . . . . . . . . . . . . . . . . 291
12.2.5 Problema de asignación de médicos con cotas superiores294
12.2.6 Problema de asignación de médicos con cotas inferi-
ores y superiores . . . . . . . . . . . . . . . . . . . . . 297
12.3 EL PROBLEMA DEL MORRAL . . . . . . . . . . . . . . . . 303

vii
ÍNDICE GENERAL

12.3.1 Enunciado del problema . . . . . . . . . . . . . . . . . 303


12.3.2 Planteamiento del problema de optimización . . . . . 303
12.3.3 Solución recurrente . . . . . . . . . . . . . . . . . . . . 304
12.3.4 Resultados numéricos . . . . . . . . . . . . . . . . . . 305
12.4 PROBLEMA DE UN SISTEMA ELÉCTRICO . . . . . . . . 308
12.4.1 Enunciado del problema . . . . . . . . . . . . . . . . . 308
12.4.2 Planteamiento del problema de optimización . . . . . 309
12.4.3 Solución recurrente . . . . . . . . . . . . . . . . . . . . 310
12.4.4 Resultados numéricos . . . . . . . . . . . . . . . . . . 311
12.5 MANTENIMIENTO Y CAMBIO DE EQUIPO . . . . . . . . 313
12.5.1 Enunciado del problema . . . . . . . . . . . . . . . . . 313
12.5.2 Solución recurrente . . . . . . . . . . . . . . . . . . . . 314
12.5.3 Resultados numéricos . . . . . . . . . . . . . . . . . . 315
12.6 PROBLEMA DE PRODUCCION Y ALMACENAMIENTO . 317
12.6.1 Enunciado del problema . . . . . . . . . . . . . . . . . 317
12.6.2 Planteamiento del problema de optimización . . . . . 318
12.6.3 Solución recurrente . . . . . . . . . . . . . . . . . . . . 320
12.6.4 Resultados numéricos . . . . . . . . . . . . . . . . . . 321

BIBLIOGRAFÍA 329

viii
PRÓLOGO

El nombre de este libro difiere un poco del utilizado en la primera edición:


Programación No Lineal. Actualmente hay una tendencia a utilizar la pal-
abra optimización para designar los temas donde, perdón por la redundan-
cia, se optimiza (se minimiza o se maximiza). La palabra clásica, tradicional
y muy conocida, programación, induce cierta confusión, pues también se uti-
liza para programación de computadores y lenguajes de programación. La
tradición de todas maneras pesa y en este libro se utilizan indistintamente
las dos palabras.
Esta segunda edición tiene dos capı́tulos adicionales, uno sobre métodos
de punto interior y otro sobre Optimización Dinámica. También tiene una
sección nueva sobre métodos de región de confianza. El tema de matrices
definidas positivas en un subespacio está ahora en el tercer capı́tulo. Final-
mente algunos pequeños errores fueron corregidos.
El propósito de este libro introductorio es presentar algunos de los re-
sultados y de los métodos más importantes y útiles de la Optimización No
Lineal y una introducción a la Optimización Dinámica. Estos temas cor-
responden al curso Programación No Lineal y Dinámica de las carreras de
Ingenierı́a de Sistemas y de Matemáticas. En tiempo, esto corresponde a
cuatro horas semanales durante quince semanas aproximadamente. Para
los estudiantes de Matemáticas puede ser conveniente dejar de lado algunos
métodos y, a cambio, estudiar las demostraciones de algunos de los teoremas
fundamentales.
Además de los resultados que permiten la caracterización de los mı́nimos
de funciones de varias variables, también aparecen en el capı́tulo 2 algunos
resultados que no se emplean directamente para el estudio de los mı́nimos,
pero que sı́ hacen parte de la teorı́a clásica de convexidad, o se utilizan
para la demostración de algunos teoremas, o sirven para el estudio de la
Optimización Lineal. Creo que para poder seguir sin mucha rapidez este
libro en las quince semanas, se puede omitir el capı́tulo 2, del cual sólo se

ix
“necesita” la definición de conjunto convexo.
También por “razones de tiempo”, este libro no contiene nada sobre
dualidad, no hay resultados sobre calificación de restricciones, ni están “to-
dos” los métodos importantes. Faltarı́an algunos métodos espécificos, por
ejemplo, para programación cuadrática, complementariedad lineal y algo-
ritmo de Lemke, métodos de programación cuadrática secuencial, método
de conjunto activo como tal. Obviamente hay otros métodos importantes
que definitivamente quedan por fuera del alcance de este libro, por ejemplo,
métodos para mı́nimos cuadrados (sin o con restricciones), métodos para
optimización global, métodos para optimización no suave (no diferenciable),
métodos para problemas grandes de PNL (large-scale) y métodos paralelos.
Este libro tiene un enfoque utilitario en el sentido de que lo importante
de cada resultado es su aplicación e interpretación y no su justificación. Por
esta razón casi todas las proposiciones están presentadas sin demostración,
éstas se pueden encontrar en los libros citados en la bibliografı́a. En cambio
hay bastantes ejemplos que permiten, eso espero, comprender el alcance, las
condiciones de aplicación y las implicaciones de cada resultado.
Mis primeros conocimientos de PNL los tuve del profesor Jean Legras
en la Universidad de Nancy en Francia. Posteriormente seguı́ aprendiendo
al dictar el curso de PNL, para lo cual usé bastante el libro de Bazaraa y
Shetty (Bazaraa, Sherali y Shetty en la segunda edición). El lector notará
la gran influencia del libro de Bazaraa en la redacción de estas notas.
Quiero agradecer especialmente a los profesores Lucimar Nova, Jaime
Malpica, Luis G. Moreno, Argemiro Echeverry, Felix Soriano y Jorge Mauri-
cio Ruiz, quienes tuvieron la amabilidad y la paciencia de leer la versión
inicial de este libro. También quiero agradecer a los estudiantes del curso
Programación No Lineal y Dinámica de las carreras de Ingenierı́a de Sis-
temas y de Matemáticas, en especial a Sandra Toro, Héctor López y David
Báez. Las sugerencias, comentarios y correcciones de todos ellos, fueron
muy útiles.
Deseo agradecer a la Universidad Nacional por haberme permitido des-
tinar parte de mi tiempo de trabajo para dedicarlo a esta obra, este tiempo
fue una parte importante del necesario para la realización del libro.
El texto fue escrito en Latex. Quiero también agradecer al profesor
Rodrigo De Castro quien amablemente me ayudó a resolver las inquietudes
y los problemas presentados.
Finalmente, y de manera muy especial, agradezco a Hélène, Nicolás y Syl-

x
vie. Sin su apoyo, comprensión y paciencia no hubiera sido posible escribir
este libro.

xi
xii
NOTACIÓN

Rn = {(x1 , x2 , . . . , xn ) : xj ∈ R, ∀j}
Rn := conjunto universal
x es un vector o punto ⇔ x ∈ Rn
S es un conjunto ⇔ S ⊆ Rn
M(m, n) = Rm×n = conjunto de matrices reales de tamaño m × n
si A ∈ M(m, n), entonces A es de la forma:
 
a11 a12 ... a1n
 a21 a22 ... a2n 
A= .
 
.. .. .. 
 .. . . . 
am1 am2 . . . amn

M(n, 1) = Rn×1 = conjunto de matrices columna de n componentes.


M(1, n) = R1×n = conjunto de matrices fila de n componentes.
AT = la transpuesta de la matriz A.
Rn := M(n, 1) = Rn×1  
x1
 x2 
x = (x1 , x2 , . . . , xn ) :=  . 
 
 .. 
x
T
  n
x = x1 x2 . . . x n  
Ai· = fila i-ésima de la matriz A = ai1 ai2 . . . ain
 
a1j
 a2j 
A·j = columna j-ésima de la matriz A =  . 
 
 .. 
amj
n
X
kxk1 = |xi |
i=1

xiii
n
X 1/2
kxk2 = x2i
i=1
kxk∞ = max |xi |
1≤i≤n
dp (x, y) = kx − ykp , p = 1, 2, ∞
B(c, r) = {x : ||x − c|| < r}
Bp (c, r) = {x : ||x − c||p < r}
B[c, r] = {x : ||x − c|| ≤ r}
Bp [c, r] = {x : ||x − c||p ≤ r}
xk = x(k) =vector x en la iteracioón k, k = 0, 1, 2 . . .
Qk = Q(k) =matriz Q en la iteracioón k ,k = 0, 1, 2 . . .
(Q)k = k veces el producto de la matriz Q por sı́ misma.
Q-1 = inversa de la matriz Q
R(x̄, d) = {x̄ + µd : µ ∈ R} recta que pasa por x̄ y es paralela a d 6= 0
S(x̄, d) = {x̄ + µd : µ ≥ 0} semirrecta que empieza en x̄ y va en la dirección
de d 6= 0
f, g1 , g2 , . . . , gm , h1 , h2 , . . . , hl son funciones de variable vectorial y valor real,
es decir:

f, g1 , g2 , . . . , gm , h1 , h2 , . . . , hl : Rn −→ R

A : conjunto admisible = {x : x cumple todas las restricciones }


I = {1 ≤ i ≤ m : gi (x̄) = 0}
f 0 (x̄) = ∇f (x̄) = gradf (x̄) = gradiente de f calculado en x̄

 
∂f
(x̄)
∂x1
 
 
∂f
 
 
 (x̄) 
0
f (x̄) = 
 ∂x2 

 .. 

 . 

 
 ∂f 
(x̄)
∂xn

f 00 (x̄) = ∇2 f (x̄) = Hf (x̄) = H(x̄) = Hessiano o matriz hessiana de f en x̄

xiv
∂2f ∂2f ∂2f
 
 ∂x2 (x̄) ∂x2 ∂x1
(x̄) . . .
∂xn ∂x1
(x̄)
 1 
 ∂2f ∂2f ∂2f
 

(x̄) (x̄) ... (x̄)
∂x22

f (x̄) =  ∂x1 ∂x2
00 ∂xn ∂x2
 

 .. .. .. .. 

 . . . . 

 
 ∂2f ∂2f 2
∂ f 
(x̄) (x̄) . . . (x̄)
∂x1 ∂xn ∂x2 ∂xn ∂x2n

f es acotada ⇔ f es acotada inferiormente.


min f (x) ⇔ minimizar f (x)
x ≥ y ⇔ xi ≥ yi para todo i
x ≥ 0 ⇔ xi ≥ 0 para todo i
x ≥ 0, x ≯ 0 ⇔ x no tiene componentes negativas y xi = 0 para algún i
Rn+ = {(x1 , x2 , ..., xn ) : xi ≥ 0, ∀i} = el ortante no negativo de Rn .

min f (x) min f (x)



x∈A sujeto a x∈A
A∗ = A∗f = {x∗ : f (x∗ ) ≤ f (x) para todo x ∈ A}
Argmin f (x) = {x∗ : f (x∗ ) ≤ f (x) para todo x ∈ S}
x∈S
w = argmin f (x) si el conjunto Argmin f (x) tiene un solo elemento w
x∈S x∈S

S = interior de S.
co (S) = envolvente convexa de S.
pe (C) = conjunto de puntos extremos del convexo C.
λ̄ = argmej f (x + λd) indica un valor de λ tal que x + λ̄d es mejor que x,
o sea, f (x + λ̄d) < f (x) y cumple condiciones como la de Armijo o la de
Goldstein, o ...
ej = j-ésima columna de la matriz identidad
(
a si |a| ≥ |b|
dom{a, b} = : valor dominante
b si |a| < |b|
ρ(A) = max{|λi |C : λi es valor propio de A} = radio espectral de A.
nf (A) = número de filas de la matriz A.
log x = logaritmo de x en base e.
m̄ = número de desigualdades activas.
♦ : fin del ejemplo.

xv
bxc = parte entera de x = parte entera inferior de x = max{n ∈ Z : n ≤ x}.
dxe = parte entera superior de x = min{n ∈ Z : n ≥ x}.
c = mejor{a, b} ⇔ c ∈ {a, b}, ϕ(c) = min{ϕ(a), ϕ(b)}para una función ϕ
dada.
En la escritura de numeros decimales, los enteros están separados de los
decimales por medio de un punto. No se usa la notación española (los
enteros están separados de los decimales por una coma). No se utiliza un
sı́mbolo para separar las unidades de mil de las centenas.

xvi
Capı́tulo 1

INTRODUCCIÓN

1.1 GENERALIDADES
Se puede decir que un problema de programación matemática (optimización),
consiste en encontrar un punto que minimice (o que maximice) el valor de
una función f (x), con la condición de que x esté en un conjunto A. Este
problema se puede denotar ası́:

min f (x)
sujeto a x ∈ A,

y de manera más sencilla, eliminando la expresión sujeto a,

min f (x)
x ∈ A.

Usualmente el conjunto A está definido por medio de igualdades y desigual-


dades matemáticas.
El objetivo de la programación lineal es la minimización de una función
lineal, con restricciones (igualdades o desigualdades) también lineales. De
manera general, un problema de programación lineal es de la forma:

min f (x)
g1 (x) ≤ 0
g2 (x) ≤ 0

1
CAPÍTULO 1. INTRODUCCIÓN

...
gm (x) ≤ 0
h1 (x) = 0
h2 (x) = 0
...
hl (x) = 0,

donde f , gi , hj son funciones de Rn en R, f es una función lineal, y las


restricciones (desigualdades e igualdades) son lineales, es decir, las funciones
gi , hj son afines. Una función es afı́n si se puede expresar como una función
lineal más una constante. Si f es lineal se puede expresar de la forma

c1 x1 + c2 x2 + · · · + cn xn ,
donde c1 , c2 , ... , cn son constantes. Si gi es una función afı́n, se puede
expresar de la forma

ai1 x1 + ai2 x2 + · · · + ain xn + bi ,


donde ai1 , ai2 , ... , ain , bi son constantes.
Si f no es lineal, o si alguna restricción no es lineal (la función corres-
pondiente no es afı́n), se tiene un problema de programación no lineal,
PNL.
Minimizar una función lineal no nula sin restricciones, no tiene interés
ya que el óptimo no es acotado, o sea, el valor de f no es acotado inferi-
ormente (tampoco superiormente). Mientras no se diga lo contrario, para
subconjuntos de R o para funciones de valor real, acotado significará acotado
inferiormente.
En el caso no lineal, minimizar una función de varias variables sin res-
tricciones, sı́ es un problema usual e importante. Obviamente, si además
hay restricciones el problema se hace más difı́cil.
Vale la pena recordar y presentar algunos resultados usuales, algunas
suposiciones y notaciones usadas en este libro. El conjunto de puntos que
cumplen todas las restricciones se llama conjunto admisible, factible o
realizable y se denotará por A. Si no hay ninguna restricción se sobreen-
tiende que A = Rn .
Todo problema de maximización se puede convertir en un problema de
minimización multiplicando por −1 la función objetivo (función objetivo o

2
1.1. GENERALIDADES

función económica es la función que se desea minimizar o maximizar), y se


obtiene un problema equivalente.

max ϕ(x) (1.1)


x ∈ A,

es equivalente a

min f (x) = −ϕ(x) (1.2)


x ∈ A,

o sea, ξ ∗ = x∗ y ϕ∗ = −f ∗ , donde ξ ∗ es el punto óptimo del problema (1.1),


ϕ∗ es el valor máximo de (1.1), x∗ es el punto óptimo del problema (1.2), f ∗
es el valor mı́nimo de (1.2).
Si la función objetivo se multiplica o se divide por una constante posi-
tiva o si se le suma o se resta cualquier constante, entonces se obtiene un
problema equivalente. Es decir, sean α > 0, β ∈ R,

min ϕ(x) = αf (x) + β (1.3)


x ∈ A,

es equivalente a

min f (x) (1.4)


x ∈ A,

o sea, ξ ∗ = x∗ y ϕ∗ = αf ∗ + β, donde ξ ∗ es el punto óptimo del problema


(1.3), ϕ∗ es el valor mı́nimo de (1.3), x∗ es el punto óptimo del problema
(1.4), f ∗ es el valor mı́nimo de (1.4).
Una restricción de la forma ≥ se puede convertir en una desigualdad de
la forma ≤ simplemente multiplicando ambos lados de la desigualdad por
−1, o sea,

p(x) ≥ 0,

es equivalente a

3
CAPÍTULO 1. INTRODUCCIÓN

−p(x) ≤ 0.

En programación lineal y en programación no lineal, por razones prác-


ticas, no se consideran desigualdades estrictas. Una de las razones es que
los números utilizados en los computadores son sólo aproximaciones de los
números reales, y a veces la aproximación para dos números reales diferentes
es la misma, por ejemplo, los números 1 y 1 + 10−20 , en la mayorı́a de las
representaciones usuales en computador, no se diferencian. Por otro lado,
si tomamos el intervalo [0, 1], el conjunto de números con que trabaja el
computador es finito, y es mucho más pequeño que el conjunto de racionales
en [0, 1], a su vez subconjunto propio de [0, 1].
Además las desigualdades estrictas generalmente dan lugar a conjuntos
admisibles abiertos, en los cuales es más difı́cil o a veces imposible garantizar
la existencia de un punto óptimo, por ejemplo, el siguiente problema no tiene
solución

min x1 + x2
x1 > 0
x2 > 0.

Una manera de tratar una desigualdad estricta consiste en escoger un


número positivo, suficientemente pequeño ε, y suponer que hay equivalencia
“práctica” entre las dos desigualdades siguientes

q(x) < 0,
q(x) ≤ −ε.

Si las variables x1 , ... , xn -además de cumplir con las igualdades y


desigualdades- deben ser enteras, entonces no se tiene un problema de PNL
usual, sino un problema de programación no lineal entera. Si las
variables únicamente pueden tomar los valores 0 y 1, entonces se habla de
programación no lineal binaria.
A continuación hay algunos ejemplos sencillos de planteamiento de prob-
lemas de PNL, algunos sin restricciones, otros con restricciones, algunos con
pocas variables, otros con la posibilidad de muchas variables.

4
1.2. MÍNIMOS CUADRADOS: UNA RECTA

1.2 APROXIMACIÓN POR MÍNIMOS


CUADRADOS: UNA RECTA
Conocidos m ≥ 2 puntos (x1 , y1 ), (x2 , y2 ), ...,(xm , ym ), se desea encontrar
una lı́nea recta que pase lo “más cerca” posible de ellos. Supóngase que no
hay dos puntos que tengan la misma coordenada xi .
La manera usual de medir la cercanı́a de la recta a los puntos es sumando
el cuadrado de la distancia vertical de cada punto a la recta. De ahı́ el
nombre de mı́nimos cuadrados. Una recta cualquiera, no vertical, se puede
representar de la forma y = ax + b. Para nuestro caso, se desea determinar
los coeficientes a y b. La distancia vertical entre el punto (xi , yi ) y la recta
es

|yi − (axi + b)|,


luego se desea encontrar los valores a, b que minimicen
m
X
f (a, b) = (axi + b − yi )2 .
i=1
Por ejemplo, si hay cuatro puntos (0, 0.1), (1, 0.9), (2, 4.1), (2.9, 8.3)
se desea minimizar

f (a, b) = (b − 0.1)2 + (a + b − 0.9)2 + (2a + b − 4.1)2 + (2.9a + b − 8.3)2 .

En una calculadora cientı́fica de bolsillo se puede resolver este problema,


es decir, se obtienen los valores óptimos

a∗ = 2.8476 ,
b∗ = −0.8502 ,
f ∗ = f (a∗ , b∗ ) = 3.4581 ,
y = 2.8476 x − 0.8502 .

Si en lugar de una recta se escogiera una parábola y = c + bx + ax2 , la


“mejor” serı́a

y = 0.0612 − 0.0425x + 0.9997x2


f ∗ = 0.0332 ..

5
CAPÍTULO 1. INTRODUCCIÓN

1.3 APROXIMACIÓN POR MÍNIMOS


CUADRADOS: CASO GENERAL
Conocidos m puntos (x1 , y1 ), (x2 , y2 ), ..., (xm , ym ) y un conjunto de n ≤
m funciones linealmente independientes ϕ1 (x), ϕ2 (x), ..., ϕn (x), se desea
encontrar coeficientes α1 , α2 , ..., αn tales que la función

ϕ(x) = α1 ϕ1 (x) + α2 ϕ2 (x) + · · · + αn ϕn (x),


pase lo más cerca posible, en el sentido de mı́nimos cuadrados, de los m
puntos.
Algunos ejemplos de conjuntos de funciones pueden ser :
1, x, x2 , xm−1
1, ex , e2x , ..., e(m-1)x
1, cos(x), sen (x), cos(2x), ...
..
.
Para encontrar la función ϕ(x) que aproxima por mı́nimos cuadrados los
m puntos se necesita minimizar

m
X
f (α1 , ..., αn ) = (ϕ(xi ) − yi )2
i=1
 2
m
X Xn
f (α) =  αj ϕj (xi ) − yi  .
i=1 j=1

Sea Φ la matriz de tamaño m × n


 
ϕ1 (x1 ) ϕ2 (x1 ) ... ϕn (x1 )
 ϕ1 (x2 ) ϕ2 (x2 ) ... ϕn (x2 ) 
Φ= .
 
.. .. .. ..
 . . . . 
ϕ1 (xm ) ϕ2 (xm ) . . . ϕn (xm )
Entonces

 
α1
n
X   α2 
αj ϕj (xi ) = ϕ1 (xi ) ϕ2 (xi ) . . . ϕn (xi )
 
 .. 
j=1
 . 
αn

6
1.4. SOLUCIÓN POR MÍNIMOS CUADRADOS DE UN SISTEMA

= Φi· α,

o sea, se trata de resolver el problema

m
X
min f (α) = (Φi· α − yi )2
i=1
m
X 2
= (Φ α)i − yi
i=1
m
X 2
= Φα − y i
i=1
min f (α) = || Φ α − y ||22 .

1.4 SOLUCIÓN POR MÍNIMOS CUADRADOS


DE UN SISTEMA LINEAL
Un sistema de m ecuaciones lineales con n incógnitas se puede escribir en la
forma

Ax =b
Ax − b =0
|| A x − b || =0
|| A x − b ||2 =0
|| A x − b ||22 = 0.

Si el número de ecuaciones es mayor que el número de incógnitas, m ≥ n,


es muy probable que el sistema no tenga solución, es decir, no se podrá
encontrar un x tal que la norma de A x − b sea nula. Sin embargo, se puede
tratar de encontrar un x∗ que minimice el cuadrado de la norma:

min f (x) = || A x − b ||22 .


Este x∗ se llama solución por mı́nimos cuadrados o seudosolución.
Obviamente si existe solución verdadera, ésta también será seudosolución.
Se ve claramente que el problema general de aproximación por mı́nimos
cuadrados es un problema de solución de un sistema de ecuaciones lineales
(más ecuaciones que incógnitas), por mı́nimos cuadrados.

7
CAPÍTULO 1. INTRODUCCIÓN

La manera más usual de resolver el problema anterior, cuando las colum-


nas de A son linealmente independientes y A no es de tamaño muy grande, es
mediante la solución de las ecuaciones normales ([Bj´’o96], [Sto93], [Gol89]):

AT A x = AT b.

1.5 DISEÑO DE UNA COLUMNA TUBULAR


DE PESO MÍNIMO
En este problema, adaptación del propuesto en [Aro89], se tiene una columna
(vertical) en forma de tubo de altura h, empotrada en la base y libre en la
parte superior. Se desea determinar el radio promedio R y el espesor e de
la columna de manera que soporte una carga vertical P y que el peso de la
columna sea mı́nimo. En esta sección e no indica el valor 2.71828... . Por
razones de construcción, es necesario cumplir con ciertas medidas mı́nimas
y máximas para el radio y para el espesor:

Rmin ≤ R ≤ Rmax , emin ≤ e ≤ emax .

Para que la columna se pueda considerar como tubular se necesita que


el radio promedio sea mayor que 20 veces el espesor. La carga máxima que
puede soportar este tipo de columna, sin que falle por pandeo, está dada por
π 2 EI/4h2 , donde I es el momento de inercia de la sección transversal de la
columna y E es el módulo de elasticidad del material. Se conoce, además,
la densidad % y el máximo esfuerzo de compresión σa que puede soportar el
material.
Si R >> e, entonces el área transversal y el momento de inercia están
dados por:

A = 2πRe , I ≈ πR3 e.

Al minimizar la masa de la columna se tiene

min f (R, e) = 2%hπRe,

y las restricciones son:

π 3 R3 Ee
P ≤
4h2

8
1.5. COLUMNA TUBULAR DE PESO MÍNIMO

P
≤ σa
2πRe
Rmin ≤ R ≤ Rmax
emin ≤ e ≤ emax
0 ≤ 20e ≤ R.

Uitilizando la forma general:

min f (R, e) = 2%hπRe


4P h2 − π 3 R3 Ee ≤ 0
P − 2πReσa ≤ 0
Rmin − R ≤ 0
R − Rmax ≤ 0
emin − e ≤ 0
e − emax ≤ 0
20e − R ≤ 0
−e ≤ 0.

Este problema se puede enfocar de otra manera, considerando como vari-


ables el radio interno R1 y el radio externo R2 ,

A = π(R22 − R12 ),
π 4
I = (R − R14 ).
4 2
Entonces el problema quedarı́a de la siguiente forma:

min f (R1 , R2 ) = π%h(R22 − R12 )


P
≤ σa
π(R2 − R12 )
2

π 3 E(R24 − R14 )
P ≤
16h2
Rmin ≤ R1
R2 ≤ Rmax
emin ≤ R2 − R1 ≤ emax
R1 + R2
≥ 20.
2(R2 − R1 )

9
CAPÍTULO 1. INTRODUCCIÓN

1.6 CONSTRUCCIÓN DE UNA CAJA DE


COSTO MÍNIMO
Este problema es una adaptación del planteado en [Sim75]. Una compañı́a
quı́mica necesita transportar 1000 metros cúbicos de un gas muy tóxico,
desde su centro de producción a un laboratorio situado en otro departa-
mento.
Para ello desea construir una caja muy hermética, en forma de para-
lelepı́pedo rectangular, para ser transportada en tractomula. El material
para el fondo y la tapa cuesta $200000 por metro cuadrado. El de las caras
laterales cuesta $100000 por metro cuadrado y su disponibilidad es de 50
metros cuadrados. Las dimensiones máximas que puede tener la caja para
ser llevada en una tractomula son: 2 metros de ancho, 5 metros de largo y
3 metros de alto. Independientemente de las dimensiones de la caja, cada
viaje redondo (ida y vuelta) en tractomula cuesta $800000. Asumiendo que
no hay lı́mite para el tiempo total necesario para todos los viajes, ¿qué
dimensiones debe tener la caja para minimizar el costo total, es decir, el
costo de transporte más el de construcción?
Sean:

x1 = ancho de la caja,
x2 = largo de la caja,
x3 = alto de la caja.

1000
min z = 800000d e + 200000(2x1 x2 )
x1 x2 x3
+100000(2x1 x3 + 2x2 x3 )
x1 ≤ 2
x2 ≤ 5
x3 ≤ 3
2x1 x3 + 2x2 x3 ≤ 50
x ≥ 0,
donde dte indica la parte entera superior de t, es decir, el mı́nimo entero
mayor o igual a t, ası́, por ejemplo, d2.1e = 3, d2e = 2, d−1.9e = −1. La
expresión x ≥ 0 indica que todas las variables deben ser no negativas, o sea,
para este caso, x1 , x2 , x3 ≥ 0.

10
1.7. LOCALIZACIÓN DE UNA CENTRAL

1.7 LOCALIZACIÓN DE UNA CENTRAL


En una región hay m ciudades, de cada ciudad se conocen las coordenadas
(ui , vi ) y el número de habitantes ni . Se desea determinar las coordenadas
(x1 , x2 ) de una central termoeléctrica de manera que se minimice la suma
de las pérdidas entre la central y las diferentes ciudades. Se conoce una
función creciente g tal que dada una distancia di entre la central y una
ciudad, conocido c̄ consumo promedio por habitante (igual en todas las
ciudades), entonces las pérdidas entre la central y esta ciudad están dadas
por ni c̄ g(di )
La distancia entre la central y una ciudad es
p
(x1 − ui )2 + (x2 − vi )2 ,

luego las pérdidas están dadas por


p 
ni c̄ g (x1 − ui )2 + (x2 − vi )2 .

Entonces se desea minimizar la suma total de pérdidas


m
X p 
min f (x1 , x2 ) = ni c̄ g (x1 − ui )2 + (x2 − vi )2 .
i=1

Como c̄ es constante,
m
X p 
min f (x1 , x2 ) = ni g (x1 − ui )2 + (x2 − vi )2 .
i=1

1.8 CONVERGENCIA Y ORDEN DE


CONVERGENCIA
Sea || || una norma sobre Rn . Se dice que una sucesión de vectores {xk } con-
verge a x∗ si la sucesión de números reales { ||xk − x∗ || } tiende a cero. Como
todas las normas de Rn son equivalentes entonces no importa cual norma
se use. Dicho de otra forma, si utilizando una norma hay convergencia en-
tonces con cualquiera otra norma la sucesión de vectores será convergente
hacia el mismo vector x∗ y, obviamente, si con una norma no hay conver-
gencia, entonces no es posible que haya convergencia con otra norma. Si la
sucesión de vectores es convergente, se denotará

11
CAPÍTULO 1. INTRODUCCIÓN

lim xk = x∗ ,
k→∞

o también,

xk −→ x∗ ,
k→∞

o de manera más compacta y sencilla,

xk → x∗ .

Ejemplo 1.1.
1 1
xk = (2 − , 3 + 2 ) → (2, 3) = x∗ ,
k
r k
1 1
ya que ||xk − x∗ ||2 = + → 0,
k2 k4
1
o también ||xk − x∗ ||∞ = → 0. 3
k
Definición 1.1. Una sucesión de vectores {xk } que converge a x∗ se dice
que tiene orden de convergencia p > 0, si p es el mayor valor tal que

||xk+1 − x∗ ||
lim = β < ∞.
k→∞ ||xk − x∗ ||p

Si p = 1 y β < 1 se dice que la convergencia es lineal con tasa de conver-


gencia β. Algunos autores no colocan restricción sobre β para llamar lineal
a la convergencia de orden uno. En la práctica, para que la convergencia
lineal sea buena, se requiere que β ≤ 41 , [Fle87]. Si p = 2 la convergencia se
llama cuadrática. Si

||xk+1 − x∗ ||
lim = 0,
k→∞ ||xk − x∗ ||

la convergencia se llama superlineal y se presenta cuando p > 1 o cuando


p = 1 y β = 0.
También se puede definir el orden de convergencia en términos de cotas
de los cocientes

12
1.8. CONVERGENCIA Y ORDEN DE CONVERGENCIA

||xk+1 − x∗ ||
≤ β < ∞,
||xk − x∗ ||p
o también ||xk+1 − x∗ || = O( ||xk − x∗ ||p ).

Ejemplo 1.2.
1 1
xk = ( 2 + , 3 − )
k k
tiene orden de convergencia uno, pero no es lineal ya que xk → (2, 3) y
1

||xk+1 − x∗ || k+1 2
lim = lim √ = 1. 3
k→∞ ||xk − x∗ || 1
k 2
k→∞

Ejemplo 1.3.
1
xk =
k2
Aparentemente, al ver un cuadrado en el denominador, se podrı́a pensar que
el orden de convergencia es 2. Sin embargo, tiene orden de convergencia uno
con β = 1. O sea, tiene el mismo orden de convergencia y el mismo valor β
del ejemplo anterior. 3

Ejemplo 1.4.

xk+1 = xk xk = (xk )2 , con − 1 < x1 < 1,

tiene orden de convergencia 2, o sea, cuadrático, con β = 1. También se


puede decir que la convergencia es superlineal. Los primeros valores son:
−0.9, 0.81, 0.6561, 0.430467, 0.185302, 0.034337, 0.001179, 0.000001, ... .
3

Ejemplo 1.5.
1
xk = 3 +
22k
tiene orden de convergencia 2, con β = 1. 3

Ejemplo 1.6.
1 1
xk = , yk =
3kk2 3k
1
tienen convergencia lineal con tasa . 3
3

13
CAPÍTULO 1. INTRODUCCIÓN

Ejemplo 1.7.
1
xk =
k!
tiene convergencia lineal con tasa 0, o sea, es superlineal. 3

Ejemplo 1.8. √
xk+1 = xk xk , 0 < x1 < 1.
tiene convergencia de orden 1.5 . 3

EJERCICIOS
1.1. Se desea encontrar una recta que pase lo más cerca posible, en el sen-
tido de mı́nimos cuadrados, de los puntos (1, 7), (2, 11), (3, 18), (4, 28).
Plantee explı́citamente el problema de optimización correspondiente.

1.2. Se desea encontrar una recta de pendiente no negativa que pase lo


más cerca posible, en el sentido de mı́nimos cuadrados, de los puntos
(1, 7), (2, 11), (3, 18), (4, 28). Plantee explı́citamente el problema de
optimización correspondiente.

1.3. Se desea encontrar una parábola que pase lo más cerca posible, en
el sentido de mı́nimos cuadrados, de los puntos (1, 7), (2, 11), (3, 18),
(4, 28). Plantee explı́citamente el problema de optimización correspon-
diente.

1.4. Se desea encontrar una parábola convexa que pase lo más cerca posi-
ble, en el sentido de mı́nimos cuadrados, de los puntos (1, 7), (2, 11),
(3, 18), (4, 28). Plantee explı́citamente el problema de optimización
correspondiente.

1.5. Se desea construir un recipiente en hojalata, en forma de cilindro cir-


cular recto, con fondo, pero sin tapa. Su volumen debe ser 1000 cm3 ,
el cociente entre la altura y el diámetro debe variar entre 1 y 1.5 y la
altura no debe ser superior a 40 cm. Plantee el problema si se desea
minimizar la hojalata usada.

1.6. Se desea encontrar una seudosolución o solución por mı́nimos cuadra-


dos del sistema sobredeterminado x1 + 2x2 = 2; 3x1 + 4x2 = 1;
5x1 + 6x2 = 1. Plantee explı́citamente el problema de optimización
correspondiente.

14
1.8. CONVERGENCIA Y ORDEN DE CONVERGENCIA

1.7. Se desea encontrar una seudosolución o solución por mı́nimos cuadra-


dos, no negativa, del sistema sobredeterminado x1 + 2x2 = 2; 3x1 +
4x2 = 1; 5x1 + 6x2 = 1. Plantee explı́citamente el problema de opti-
mización correspondiente.

15
CAPÍTULO 1. INTRODUCCIÓN

16
Capı́tulo 2

CONJUNTOS CONVEXOS

Sea V el espacio vectorial Rn . Mientras no se diga lo contrario, todos los


conjuntos son subconjuntos de Rn , todos los puntos o vectores son elementos
de Rn , todos los números son números reales. La mayorı́a de las definiciones
y resultados que siguen, se pueden generalizar fácilmente a otros espacios
vectoriales.

.......................... ........ ....


........ . . . . ......... ............. .....
..................... ...... ..... . . ...... .....
..................................
. .
....................... .
......
.
.
. . . . . . . . . . . . .. ..
... . . . . . ..... .
................................ ..... .................... ....
..... . . . . . . . . ...... .....
................................. ..... . . . . . . . . . ..... .....
.................................. .... ............................ .....
.................................... ......................................... ..
......
.
................................. ............................... .....
... ............................ .............................. .....
..... . . . . . . . . . . ...... .....
....... . . . . . . . . ....... ... . . . . . . . . . . ...
........................... .....
..................... ......... ... ..................... .
..
.....
............................. .
.... . . . . . . . . .. .....
...................... .....
... . . . . . . ... .....
.................................... .....

convexo convexo convexo


..... ..........................
....... ......... ......
.......... ...... .....
..... ....
.... . .. .... ...
................... .... ... ......................... .........................
.... . . . .... .... ... ...... . . ...... ...... . . ......
.................. ... ..... . . . ..... ..... . . . .....
... ... ... ............. ... .............
.................. .... . ....................... .......................
............................... ... ... .............. .. .............. ..
.......................
. ... ... .... . . . . ..... .... . . . . .....
.................. ..................
........................... ... ..
. ........ . ........ ........ . ........
.... . . . ......... . . . . ... ... .
.. ......... .........
.......................... ............................. ...
..... ....
.
.. . ...... ....... . ... ...... .....
........... ........ .. ........ .....
......... ........ ..............................

no convexo no convexo no convexo

Figura 2.1

Definición 2.1. Sea C un subconjunto de V . Se dice que C es convexo


si dados x, y en C, λ un escalar en el intervalo [0, 1], entonces z = zxyλ =
(1-λ)x + λy también está en C. Gráficamente, un conjunto C es convexo si
dados dos puntos x, y en C , cualquier punto del segmento de recta que los
une, también está en C.

17
CAPÍTULO 2. CONJUNTOS CONVEXOS

Ejemplos triviales de conjuntos convexos son: V , ∅, {x̄}.


Ejemplo 2.1. {(x1 , x2 ) : x21 + x22 ≤ 1} es convexo. 3
Ejemplo 2.2. La bola (o esfera) cerrada de Rn , con centro en c y radio
r denotada por B̄(c, r) = B[c, r] = {x : ||x − c|| ≤ r} y la bola abierta
B(c, r) = {x : ||x − c|| < r}, son conjuntos convexos. 3
Ejemplo 2.3. Dados x̄, d 6= 0 elementos de Rn , la recta que pasa por x̄
y es paralela a d, o sea, R(x̄, d) = {x̄ + µd : µ ∈ R} y la semirrecta que
empieza en x̄ y va en la dirección de d, o sea , S(x̄, d) = {x̄ + µd : µ ≥ 0},
son ejemplos de conjuntos convexos.3
Ejemplo 2.4. C = {(x1 , x2 ) : x2 = x21 } no es convexo ya que (0, 1) =
1 1
2 (1, 1) + 2 (−1, 1) no está en el conjunto, aunque (1, 1) y (−1, 1) sı́ están en
C. 3
Ejemplo 2.5. {(x1 , x2 ) : x2 ≥ x21 } sı́ es convexo. 3
Definición 2.2. Dados c ∈ Rn , c 6= 0, α ∈ R, se llama hiperplano al
siguiente conjunto:

H = Hc,α = {x ∈ Rn : cT x = α}.
Este hiperplano genera dos semiespacios cerrados:

H + = {x ∈ Rn : cT x ≥ α},
H − = {x ∈ Rn : cT x ≤ α},

y dos semiespacios abiertos:


H + = {x ∈ Rn : cT x > α},

H − = {x ∈ Rn : cT x < α}.

Ejemplo 2.6. El conjunto {(x1 , x2 , x3 ) : 2x1 − 3x2 + 4x3 = 5} es un hiper-


plano de R3 . El conjunto {(x1 , x2 , x3 ) : 2x1 − 3x2 + 4x3 > 5} es un semies-
pacio abierto de R3 . 3

En R un hiperplano es un punto y los semiespacios semirrectas. En R2


los hiperplanos son las rectas y los semiespacios los semiplanos. En R3 los
hiperplanos son los planos.

18
◦ ◦
Los conjuntos H, H + , H − , H + , H − son convexos. Veamos que H es
convexo. Sean: x, y ∈ H, λ ∈ [0, 1], z = (1-λ)x + λy. El punto z está en H
si y solamente si cT z = α ; efectuando el cálculo:

cT z = cT ((1-λ)x + λy) = (1-λ)cT x + λcT y = (1-λ)α + λα = α,

luego z está en H, luego H es convexo. En esta demostración no se utilizó


que λ ∈ [0, 1], entonces no sólo los puntos del segmento de recta están en H,
sino que todos los puntos de la recta que pasa por x y y también están en H,
es decir, H es una variedad lineal. Un conjunto L es una variedad lineal o
variedad afı́n si dados x, y en L, λ un escalar, entonces z = zxyλ = (1-λ)x+λy
también está en L.
Veámos ahora que H + es convexo. Sean: x, y ∈ H + , λ ∈ [0, 1], z =
(1-λ)x + λy. Entonces cT x ≥ α, cT y ≥ α, λ, 1-λ ≥ 0.

cT z = cT ((1-λ)x + λy) = (1-λ)cT x + λcT y ≥ (1-λ)α + λα = α,

entonces H + también es convexo, y de manera semejante se comprueba que


◦ ◦
H − , H + , H − son convexos.

Proposición 2.1. H es un hiperplano si y solamente si H es una translación


de un subespacio vectorial de dimensión n-1. Dicho de otra forma, H es un
hiperplano si y solamente si, para todo x ∈ H, el conjunto H −x = H −{x} =
{y − x : y ∈ H} es un subespacio vectorial de dimensión n − 1.

Proposición 2.2. La intersección de dos conjuntos convexos es un convexo.

La demostración es muy sencilla. Sean: C, D convexos, x, y ∈ C ∩ D,


λ ∈ [0, 1], z = (1-λ)x + λy. Como C es convexo entonces z ∈ C. Como D
es convexo z ∈ D. Luego z ∈ C ∩ D.

Proposición 2.3. La intersección de cualquier familia de conjuntos con-


vexos es un convexo, independientemente de que la familia sea finita, in-
finita, enumerable o no enumerable. Dicho de otra forma, sea {Ci }i∈I una
familia de conjuntos convexos, entonces
\
Ci es un conjunto convexo.
i∈I

19
CAPÍTULO 2. CONJUNTOS CONVEXOS

En cambio, no se puede afirmar que la unión de dos convexos sea siempre un


convexo. Por ejemplo, en R2 las bolas B((0, 0), 1), B((2, 0), 1) son conjuntos
convexos, pero su unión no es un convexo.
Ejemplo 2.7. Las restricciones de un problema de programación lineal son
igualdades, es decir representan hiperplanos, o bien, son desigualdades y en
este caso representan semiespacios. Ası́ cualquier conjunto admisible de un
problema de programación lineal es simplemente la intersección de hiper-
planos y semiespacios, luego es un conjunto convexo. En particular, dada
una matriz real A de tamaño m × n, los siguientes conjuntos son convexos.

{x ∈ Rn : Ax = b},
{x ∈ Rn : Ax ≥ b},
{x ∈ Rn : Ax = b, x ≥ 0},
{x ∈ Rn : Ax ≥ b, x ≥ 0}. 3

Ejemplo 2.8.
\
{(x1 , x2 ) : x1 cos θ + x2 sen θ ≤ 1},
0≤θ≤2π

es decir, la bola (para la norma k k2 ) con centro en 0 = (0, 0) y radio 1,


denotada B2 [0, 1], es un conjunto convexo, puesto que es intersección de
semiespacios. 3
Definición 2.3. Se llama un polı́topo a cualquier conjunto que se pueda
expresar como la intersección de un número finito de semiespacios cerrados
(o de semiespacios cerrados e hiperplanos).

Directamente de la definición se puede concluir que un polı́topo es un con-


junto convexo y cerrado.
Definición 2.4. Un poliedro es un polı́topo acotado.
Ejemplo 2.9. El conjunto admisible de cualquier problema de programa-
ción lineal es un polı́topo. 3
Ejemplo 2.10. El subconjunto de R2 definido por las siguientes restric-
ciones es un poliedro.

−x1 + x2 ≥ 2

20
x2 ≥ 3
x2 ≤ 5
x ≥ 0. 3
\
Ejemplo 2.11. B2 [0, 1] = {(x1 , x2 ) : x1 cos θ + x2 sen θ ≤ 1} no es
0≤θ≤2π
un polı́topo. 3

Proposición 2.4. Si C es un conjunto convexo y α un número, entonces

αC = {αx : x ∈ C}

es un conjunto convexo.

Proposición 2.5. Si C y D son conjuntos convexos, entonces

C + D = {x + y : x ∈ C, y ∈ D}

es un conjunto convexo.

Corolario 2.1. Si C, D son conjuntos convexos y α, β son números, en-


tonces

αC + βD = {αx + βy : x ∈ C, y ∈ D}

es un conjunto convexo. En particular C − D = {x − y : x ∈ C, y ∈ D}


también es convexo.

Ejemplo 2.12. Partiendo de que B((0, 0), 1) es un conjunto convexo, se


puede afirmar que

B((2, −3), 4) = {(2, −3)} + 4 B((0, 0), 1)

es también un conjunto convexo. 3

Proposición 2.6. Si C ⊆ Rm , D ⊆ Rp son convexos, entonces C × D ⊆


Rm+p , también es convexo.

Ejemplo 2.13. El intervalo [2, 3] es convexo. También son convexos B[0, 2]


⊆ R2 y R2 . Luego el conjunto {(x1 , x2 , x3 ) : 2 ≤ x1 ≤ 3, x22 + x23 ≤ 4} y el
conjunto {(x1 , x2 , x3 ) : 2 ≤ x1 ≤ 3} también son convexos. 3

21
CAPÍTULO 2. CONJUNTOS CONVEXOS

Definición 2.5. Se llama combinación convexa de x1 , x2 , ... , xm


elementos de V a una combinación lineal en la que todos los escalares son
no negativos y además su suma es uno, es decir:

m
X
1 2 m
x = λ1 x + λ2 x + . . . + λm x , λi ≥ 0 ∀i, λi = 1.
i=1

Si todos los escalares son positivos la combinación convexa se llama es-


tricta. Se denotará por cc(A) el conjunto de todas las combinaciones
convexas de elementos de A, es decir, el conjunto de todas las combina-
ciones convexas de subconjuntos finitos de A.

La combinación convexa es la generalización de la expresión (1-λ)x + λy


con λ en el intervalo [0, 1].

Ejemplo 2.14. Dados (1, 0), (0, 0) y (0, 1), son ejemplos de combinaciones
convexas:

1 1 1 1 1
( , ) = (1, 0) + (0, 0) + (0, 1)
2 4 2 4 4
(0, 1) = 0(1, 0) + 0(0, 0) + 1(0, 1). 3

Definición 2.6. Sea A un subconjunto de V . Se llama envolvente con-


vexa de A, o convexo generado por A, o casco convexo de A, denotado
co(A), al conjunto convexo más pequeño que contenga a A. Esto quiere decir
que si C es un conjunto convexo que contiene a A , entonces necesariamente
co(A) está contenido en C.

La anterior definición es descriptiva, pero no constructiva.

22
........................... ...........................
........ . . . . ......... ........ . . . . .........
..................... ....... ..................... .......
..... . . . . . . . . . ..... ..... . . . . . . . . . .....
............................................. .............................................
................................ ................................
.... . . . . . . . . . . . . ... .... . . . . . . . . . . . . ...
................................. .................................
.................................... ....................................
................................. .................................
... ............................ ... ............................
..... . . . . . . . . . . ...... ..... . . . . . . . . . . ......
....... . . . . . . . . ....... ....... . . . . . . . . .......
..................... ......... ..................... .........
............................. .............................

A co(A)
... ...
........ ........
.......... ..........
.............
. .............
.
............... ..............
... . . . . .. ... . . . . ...
................ ................
...................
. .
...................
. . . . . . . . .. . . . . . . . . ..
....................... ......................
.................... .. .......................
... . . . . . . . . .... ... . . . . . . . . ....
........................................
. ............................
. . . . .... ................ . . . . . . . . . . . . ..
................... ........ . ....
........ .. ..............................
................ ........... ................................
......... ..... .........................................................................................

B co(B)
· ........
.............
..... . . ......
..... . . . ......
...
.................................
.. . . . . . . . ...
..... . . . . . . . . .......
..... . . . . . . . . . ......
..... ............................
· · ........................................
...............................
.............................
... . . . . . . . . . . ....
...........................
... ......................
.... . . . . . . . . ..
.....................
... . . . . . . ....
· · ....................................

D co(D)

Figura 2.2
Proposición 2.7. El convexo generado por A se puede caracterizar “cons-
tructivamente” como la intersección de todos los convexos que contienen a
A,
\
co (A) = C.
C convexo,
A⊆C

Esta intersección está bien definida ya que por lo menos existe un con-
junto convexo que contiene a A: el espacio completo Rn .
Proposición 2.8. co (A) = cc(A) .

Ejemplo 2.15. co ({(1, 0), (0, 1), (0, 0)}) = {(x1 , x2 ) : x1 + x2 ≤ 1, x ≥ 0},
co ({(1, 0), (0, 1), (0, 0), (0.1, 0.2)}) = {(x1 , x2 ) : x1 + x2 ≤ 1, x ≥ 0},
co ({(x1 , x2 ) : x1 x2 = 0, x21 + x22 ≤ 1, x ≥ 0}) = {(x1 , x2 ) : x1 + x2 ≤ 1, x ≥
0},
co ({(x1 , x2 ) : x2 = x21 }) = {(x1 , x2 ) : x2 ≥ x21 }. 3

23
CAPÍTULO 2. CONJUNTOS CONVEXOS

Proposición 2.9. Teorema de Caratheodory. Todo elemento de co(A)


se puede expresar como combinación convexa de a lo más n + 1 puntos de
A (recuérdese que A ⊆ Rn ). Es decir, si x ∈co(A) existen x1 , x2 , ... , xm
en A y escalares λ1 , λ2 , ... , λm tales que

m
X
1 2 m
x = λ1 x + λ2 x + · · · + λm x , λi ≥ 0 ∀i, λi = 1, m ≤ n + 1.
i=1

Serı́a erróneo pensar que toda envolvente convexa se puede expresar como
la envolvente de a lo más n + 1 puntos, puesto que la existencia de n + 1
puntos está garantizada para un punto, pero a medida que éste varı́a también
varı́an los n + 1 puntos.
Proposición 2.10. Un conjunto C es un poliedro si y solamente si se puede
expresar como la envolvente convexa de un número finito de puntos.
Definición 2.7. Sea C convexo, x en C. Se dice que x es punto extremo
de C, si no es posible expresar x como combinación convexa estricta de dos
puntos distintos de C, es decir:

x = (1-λ)u + λv
u, v ∈ C =⇒ u = v = x.
λ ∈]0, 1[
El conjunto de puntos extremos de C se denota pe(C).

punto
....................... ...
.......
punto
.......... . . . ............
............................
..... . . . . . . . . . ....... extremo .........
... . ....
extremo
............................................
. .................
.
................................. ...............
... . . . . . . . . . . . . . .. .................
................................. ..................
.................................... .........................
................................
... ....................... ......... punto no .
......................
. puntos no
..... . . . . . . . . .. . ...... .... . . . . . . . . ...
....... . . . . . . . . ......
..................... ......... extremo
............................. ..
.............................
...........................
.. . . . . . . . . . . . ..
extremos
.............................
... . . . . . . . . . . . . ...
..........................................................................................

Figura 2.3
Ejemplo 2.16. Dado el conjunto convexo

{(x1 , x2 ) : x21 + x22 ≤ 1}


√ √
( 2 2
2 ,− 2 ) es punto extremo. El punto (0.2, 0.4) no es punto extremo. 3
√ √
2 2
Ejemplo 2.17. El punto ( 2 , − 2 ) no es punto extremo de {(x1 , x2 ) : x21 +
x22 = 1}. 3

24
Ejemplo 2.18. (1, 0), (0, 1), (0, 0) son puntos extremos de {(x1 , x2 ) : x1 +
x2 ≤ 1, x ≥ 0}. 3
Proposición 2.11. Sean: C convexo, x en C. x es punto extremo de C si
y solamente si al quitar x de C se tiene un convexo, es decir, si y solamente
si
C \ {x} = {y ∈ C : y 6= x} es convexo.
Proposición 2.12. Todo conjunto convexo, cerrado y acotado se puede ex-
presar como la envolvente convexa de sus puntos extremos, o sea

C = co pe(C) .
Ejemplo 2.19. B[0, 1] = co {x : kxk = 1} . 3


Ejemplo 2.20. B(0, 1) 6= co (∅). 3


6 co {(0, 0)} . 3

Ejemplo 2.21. {x : x ≥ 0} =
Proposición 2.13. Un conjunto C es un poliedro si y solamente si se puede
expresar como la envolvente convexa de sus puntos extremos y el número de
puntos extremos es finito.
 
C = co pe(C) , # pe(C) < ∞.
Definición 2.8. Sean: C un convexo, d ∈ V , d 6= 0. Se dice que d es una
dirección de C si para todo x ∈ C y para todo µ positivo , x + µd también
está en C. Dicho de otra forma, d 6= 0 es dirección de C si para todo x ∈ C
la semirrecta S(x, d) es subconjunto de C.

Es claro que un conjunto convexo acotado no tiene direcciones y que un


convexo con direcciones no es acotado.
Definición 2.9. Dos direcciones d1 , d2 de un conjunto convexo C son equi-
valentes si una es múltiplo positivo de la otra, es decir, si existe µ > 0 tal
que d1 = µd2 .
Definición 2.10. Una dirección d de un convexo C, se llama dirección
extrema si no existen dos direcciones de C: d1 y d2 , no equivalentes, tales
que d sea combinación lineal positiva de d1 , d2 . Dicho de otra manera:

d = µ1 d1 + µ2 d2
d1 , d2direcciones de C =⇒ d, d1 , d2 son equivalentes.
µ1 , µ2 > 0

25
CAPÍTULO 2. CONJUNTOS CONVEXOS

Ejemplo 2.22. Consideremos el conjunto definido por las siguientes restric-


ciones:

−x1 + x2 ≥ 2
x2 ≥ 3
x ≥ 0

Este conjunto es convexo, ya que es intersección de cuatro semiplanos.


Los puntos extremos de este conjunto son: (0, 3) y (1, 3).
Para el mismo conjunto (1, 4), (0, 0.001), (345, 345) son direcciones, y no lo
son (0, 0), (−0.01, 100) , (−3, −4).
Son direcciones extremas (0, 0.001), (10, 10) o cualquier dirección equivalente
a una de las dos. 3

Definición 2.11. Un conjunto K se llama cono con vértice en v , si


para todo x ∈ K y para todo µ > 0 el punto v + µ(x − v) también está en
K. Geométricamente, K es un cono con vértice en v si para todo x en K, la
semirrecta que parte de v, sin incluirlo, y pasa por x está contenida en K.

Según la definición, el vértice v no está necesariamente en el cono. Si no


se habla explı́citamente del vértice se supone que éste es el origen.

Definición 2.12. Un conjunto K se llama cono, si para todo x ∈ K y


para todo µ > 0 el punto µx también está en K.

. ..
................................................ ...........................................
................................ ..........................................
.......................... .... ........................................
............................. ......................................................
............................ .. . . . . . . . . . . . . . .....
...................... .... ...................................
......................... .................................
........................ ............................................
.................. .... ... . . . . . . . . . ......
..................... ............................
.................... ... .......................
.............. .... ...................................
................. .. . . . . . . .....
................ ......................
.......... .... .........
.............. ....................
............. ........... . . . ........................
............ ........... . . . . . .. . . . .....
.......... ..
...
..
..
.................................... ...............
......... .......... . . . . . . . . . . . .............
........... . . . . . . . . . . . .
........ ..................................................................... ..............
v .. ....
....................................................................................................................................... v . ..
......

cono no convexo cono convexo

Figura 2.4
Ejemplo 2.23. {(x1 , x2 ) : x1 x2 = 0}, es decir, el conjunto formado por los
puntos sobre los ejes, es un cono no convexo. 3

26
Ejemplo 2.24. {(x1 , x2 ) : x ≥ 0}, es decir, el primer cuadrante, es un cono
convexo. 3

Ejemplo 2.25. El conjunto de direcciones del conjunto definido por las


siguientes restricciones es un cono convexo.

−x1 + x2 ≥ 2
x2 ≥ 3
x ≥ 0. 3

En general, sean C un convexo y DC el conjunto de direcciones de C. Si


DC 6= ∅, entonces DC es un cono convexo

Definición 2.13. Sean: A un conjunto, x un punto cualquiera. Se define


la distancia del punto x al conjunto A, según la norma k k, al valor

d(x, A) = → inf kx − yk
y∈A

Obviamente si x ∈ A, entonces d(x, A) = 0.

Proposición 2.14. Sean: A un conjunto cerrado, x ∈


/ A. Entonces existe
x̃ ∈ A tal que

kx − x̃k = min kx − yk = d(x, A) > 0.


y∈A

Como corolario se puede afirmar que para conjuntos cerrados, x está en


A si y solamente si d(x, A) = 0. Cuando se utiliza la norma euclideana kk2 ,
en conjuntos convexos y cerrados, hay un único punto de A más cercano a
x.

Proposición 2.15. Sean: C un conjunto convexo cerrado, x ∈


/ C. Entonces
existe un único xC ∈ C, el punto de C más cercano a x, tal que

kx − xC k2 = min kx − yk2 = d2 (x, C) > 0.


y∈C

Si el punto x estuviera en C, el punto xC serı́a el mismo x.

27
CAPÍTULO 2. CONJUNTOS CONVEXOS

...............
............. .. ..........
x ..... ...............................................................................
....... . . . . ........ ............................
...... .... .. .. .. .. ...... .... . . . . . . . . . . ...
....... .... .. .. .. .. ........
. .. ............................
.
. . . . . . . . . .. ............
.... .. .... .. .. .. .. .. ..... ...............................
..... .. .... .. .. .. .. .. .....
.... . . . . . . . . . ..
xC .................................
.................................
....
y
...... .. .... .. .. .. .. .. .....
..... .. .... .. .. .. .. .. .....
... . .. .... .. .. .. .. .. ....
.......................................
.................................... D y
.... .. .... .. .. .. .. .. ... ................................ ..
... . . . . . . . . ... ......................................
.... . .... .. .. .. .. ...... ......................................
..... . . . . . . .....
......... .. .. .. ...... .........................................
......... . . .........
................... ... . . . . . . . . . . . . . . . . .. u
................................................................................................................. D

C D ..... u

Figura 2.5
Ejemplo 2.26. Sea A = B(0, 1) = {x : kxk < 1}. El punto x = (−1, 0) no
está en A, sin embargo d(x, A) = 0. 3
Ejemplo 2.27. Sea A = {x : x21 + x22 ≤ 4, x21 + x22 ≥ 1, x2 ≥ 0} cerrado. El
punto x = (0, 0) no está en A, d2 (x, A) = 1, sin embargo, d2 (x, (1, 0)) = 1,
d2 (x, (0, 1)) = 1 y los puntos (1, 0), (0, 1) están en A. 3
Ejemplo 2.28. Sean: C = {x : x1 + x2 ≥ 2}, x = (0, 0) ∈
/ C.

d1 (x, C) = 2,

d2 (x, C) = 2,
d∞ (x, C) = 1,
d1 (x, (1, 1)) = 2,
d1 (x, (2, 0)) = 2,

d2 (x, (1, 1)) = 2 , xC = (1, 1). 3

Ejemplo 2.29. Sean: C = {(x1 , x2 ) : x2 ≥ 2}, x = (0, 0) ∈


/ C.

d2 (x, C) = 2,
d∞ (x, C) = 2,
d∞ (x, (0, 2)) = 2,
d∞ (x, (1, 2)) = 2,
d2 (x, (0, 2)) = 2 , xC = (0, 2). 3

Definición 2.14. Sean A y B dos conjuntos. Un hiperplano H los separasi


A está contenido en uno de sus semiespacios cerrados y B está contenido en
el otro. Un hiperplano H los separa estrictamente si A está contenido en
uno de sus semiespacios abiertos y B está contenido en el otro. Se dice que

28
A y B están separados fuertemente si existe ε > 0, c ∈ Rn , α ∈ R tales
que cT x ≤ α para todo x en A y cT x ≥ α+ε para todo x en B. Dicho de otra
forma, un hiperplano H los separa fuertemente si los separa estrictamente
y además la distancia de H a por lo menos uno de los conjuntos es positiva.

Proposición 2.16. Sean: C un convexo cerrado, x ∈ / C. Entonces existe


un hiperplano Hvα = H = {y : v y = α} tal que contiene a x y uno de sus
T

semiespacios abiertos contiene a C.

En general, puede haber varios hiperplanos, pero uno que siempre sirve
es el perpendicular al vector x − xC y que pasa por x, es decir:

v = x − xC ,
α = v T x,
entonces x ∈ H = {y : v T y = α},

C ⊆H − = {y : v T y < α},
o sea, vTy < α para todo y ∈ C.

Si con el mismo vector normal v, se hace pasar el hiperplano por el punto


0.5x + 0.5xC entonces C está en un semiespacio abierto y x en el otro, es
decir, el hiperplano separa estrictamente al punto x y al conjunto C. Más
aún, la separación es fuerte.

Ejemplo 2.30. Sean: A = {x : x21 + x22 ≤ 4, x21 + x22 ≥ 1, x2 ≥ 0}, x =


(0, 1/2) ∈
/ A. No existe ningún hiperplano que separe el punto x del conjunto
A. 3

Ejemplo 2.31. Sean: C = {x : x2 ≥ x21 }, x = (3, 0) ∈ / C. El punto de C


más cercano a x es xC = (1, 1). El hiperplano H = {x : 2x1 − x2 = 6} pasa
por x y uno de sus semiespacios abiertos contiene a C. Otro hiperplano
con las mismas caracterı́sticas puede ser H = {x : 2x1 − 1.1x2 = 6}. El
hiperplano H = {x : 2x1 − x2 = 3.5} separa estrictamente al punto x y al
conjunto C. 3

29
CAPÍTULO 2. CONJUNTOS CONVEXOS

.......
............ ...........
C
...... . . . ....... ............................
........ . .. .. ..........
.................. ....... . . . . . .....
.... . . . . . . ..... ..... .... .. .. .. .. .........
.................................. ..
.. . . . . . . . .
.... . . . . . . . . . ... ...... .... .. .... .. .. .. .. .. ...
... ...................... ...... .... .. .... .. .. .. .. .. .....
............................ ...... ..... .. .... .. .. .. .. .. .....
...............................................
. ....
. ..... ....... .. .... .. .. .. .. .. ......
. . . . ..
...................
................. ..... ..... .. .... .. .. .. .. .. ....
..... . ... .....
............... .... . .. ...... ..... .. .... .. .. .. .. .. ...
... ......
.......
..... ...... .... .. .... .. .. .. .. .. ....
........... . ....... ... . . . . . . . . ...
.
.....
. .
. ...... .... .. .. .. .. .... .....
A .......
......
.... ......
..... ..... . . . . . . .......
....... .. .. .. .. ....... xC .....
.....
.....
.... ...... ......... . . ......... . .
..
......
. .... ................... .
.
.
.....
...
.. ........ . .........
...... ... . .... . .....
...... ........ ... ..
. . .
....... ................... ..
..... .
.
H ......
.....
...... .. . . . . ...
..................
.... . . . . . . ... B H .....
....
.....
.
.
.
...... ....................... ..... .
........
. ............................. ..
......
. x ..
...... .. . . . . . . . . . . .. .....
..... ............................. .
...
.
...... .... . . . . . . . . . . . .... ..
..
.
...... ........................................................................................ .....

Figura 2.6

Ejemplo 2.32. Sean: C = {x : x1 + x2 ≥ 4}, x = (1, 1) ∈ / C. El punto de


C más cercano a x es xC = (2, 2). El hiperplano H = {x : x1 + x2 = 2} pasa
por x, uno de sus semiespacios abiertos contiene a C y es el único con estas
caracterı́sticas. 3

La última proposición se puede generalizar a dos conjuntos convexos,


cerrados, uno de los cuales debe ser acotado.

Proposición 2.17. Si C, D son dos conjuntos convexos, cerrados y por lo


menos uno de ellos es acotado, entonces existe un hiperplano que los separa
estrictamente.

Ejemplo 2.33. Sean: C = {x : x2 ≥ x21 }, D = {x : (x1 − 3)2 + x22 ≤


4}. El hiperplano H = {x : 2x1 − x2 = 1.5} separa estrictamente los dos
conjuntos. 3

Ejemplo 2.34. Sean: C = {x : x2 ≤ 0}, D = {x : x1 x2 ≥ 1, x1 ≥ 0}. No


existe ningún hiperplano que los separe estrictamente. 3

Definición 2.15. Sean: A un conjunto, H un hiperplano. H se llama


hiperplano de apoyo de A, si H y la frontera de A (denotada ∂A) no son
disyuntos, y además A está contenido en uno de los semiespacios cerrados
de H.

Proposición 2.18. Sea C un conjunto convexo. Si x ∈ ∂C, entonces existe


un hiperplano de apoyo de C que pasa por x.

30
Ejemplo 2.35. Sean: A = {x : x21 + x22 ≤ 4, x21 + x22 ≥ 1, x2 ≥ 0}, x = (0, 1).
x ∈ ∂A, sin embargo no existe un hiperplano de apoyo de A que pase por
x. 3

Ejemplo 2.36. Sean: C = B∞ [0, 1] = {x : |x1 | ≤ 1, |x2 | ≤ 1}, x = (1, 0),


y = (1, 1) -puntos de la frontera de C-. Existe un único hiperplano de apoyo
de C que pase por x, a saber H = {(x1 , x2 ) : x1 = 1} = {(1, x2 )}. Este
mismo hiperplano es hiperplano de apoyo de C en y. Sin embargo, en y hay
muchos más hiperplanos de apoyo, por ejemplo, {(x1 , x2 ) : x1 + x2 = 2}.3

En matemáticas, varias definiciones se enuncian primero en un punto


y luego se consideran en todo el conjunto, por ejemplo, la definición de
continuidad se hace primero en un punto y después en todo un conjunto. La
convexidad de un conjunto también se puede definir en un punto.

Definición 2.16. Sea C un conjunto, x̄ ∈ C. Se dice que C es convexo


con respecto a x̄, o también “estrellado” (forma de estrella) con respecto a
x̄, si para todo y en C, y para todo real λ en el intervalo [0, 1], entonces
z = zx̄yλ = (1-λ)x̄ + λy también está en C.

Ejemplo 2.37. El conjunto de puntos, en R2 , que están sobre los ejes


coordenados, no es convexo, pero sı́ es convexo con respecto al origen. 3

Ejemplo 2.38. Una estrella regular de cinco puntas no es un conjunto


convexo, pero sı́ es un conjunto convexo con respecto a cada uno de los
puntos del pentágono regular formado por los cinco vértices interiores.

Usando la definición de convexidad en un punto, se puede decir que un


conjunto es convexo si es convexo con respecto a cada uno de sus puntos.

EJERCICIOS

2.1. Sea A = {(x1 , x2 ) : x21 ≤ x2 }. Halle co (A).

2.2. Sea A = {(x1 , x2 ) : x31 = x2 }. Halle co (A).

2.3. Sea A = {(x1 , x2 ) : x31 ≤ x2 }. Halle co (A).

2.4. Sea A = {(x1 , x2 ) : x1 > 0, x1 |x2 | ≥ 1}. ¿A es cerrado? Halle co (A).


¿ co (A) es cerrado? Dé condiciones suficientes para que si A es cerrado,
entonces co (A) sea cerrado.

31
CAPÍTULO 2. CONJUNTOS CONVEXOS

2.5. Sea C = {(x1 , x2 ) : |x1 | ≤ x2 }. Halle los puntos extremos, las direc-
ciones y las direcciones extremas de C.

2.6. Sea C = {(x1 , x2 ) : x21 ≤ x2 }. Halle los puntos extremos, las direc-
ciones y las direcciones extremas de C.

2.7. Sea C = {(x1 , x2 , x3 ) : x21 ≤ x2 , x1 + x2 + x3 ≤ 1}. Halle los puntos


extremos, las direcciones y las direcciones extremas de C.

2.8. Sean: C un convexo, A una matriz m × n, D = {y : y = Ax, x ∈ C}.


Muestre que D es un convexo.

2.9. Sean: A una matriz m × n, (m ≤ n) de rango m, D = {d : Ad = 0, d ≥


0, d 6= 0} =
6 ∅. Muestre que D es un cono convexo.

2.10. Sean x1 , ..., xm elementos no nulos de Rn . Una combinación lineal


de estos elementos se llama no negativa si todos los escalares son no
negativos, y se llama positiva si todos los escalares son positivos. Sea
cnn(x1 , ..., xm ) el conjunto de todas las combinaciones lineales no neg-
ativas y cp(x1 , ..., xm ) el conjunto de todas las combinaciones lineales
positivas. Muestre que los conjuntos cnn(x1 , ..., xm ) y cp(x1 , ..., xm )
son conos convexos.

32
Capı́tulo 3

MATRICES DEFINIDAS Y
SEMIDEFINIDAS
POSITIVAS

3.1 FACTORIZACIÓN DE CHOLESKY


Sea A una matriz simétrica. Bajo ciertas condiciones (como se verá pos-
teriormente, si y solamente si es definida positiva), existe una matriz U
triangular superior invertible tal que U T U = A. El cálculo se puede hacer
por filas, es decir, primero se obtienen los elementos de la primera fila de U ,
en seguida los de la segunda, etc.
Supongamos conocidos los elementos de las filas 1, 2, ..., k-1 de la matriz
U . O sea, se conocen los elementos uij para i = 1, 2, ..., k-1 y para j =
i, i + 1, ..., n. Como U es triangular superior, se sabe también que uij = 0
para i > j. Al multiplicar la fila k de la matriz U T por la columna k de la
matriz U se tiene:

akk = (U T )k· U·k


= (U·k )T U·k
Xn
= u2ik
i=1
Xk n
X
= u2ik + u2ik
i=1 i=k+1

33
CAPÍTULO 3. MATRICES DEFINIDAS Y SEMIDEF. POSITIVAS

k
X X
akk = u2ik + u2ik
i=1 i>k
k
X
= u2ik
i=1
k-1
X
= u2ik + u2kk .
i=1

De la última igualdad todo se conoce salvo ukk , entonces


v
u
u k-1
X
ukk = takk − u2ik , k = 1, ..., n. (3.1)
i=1

Para que tenga sentido la raı́z cuadrada se necesita que la cantidad bajo el
radical sea no negativa. Como además, U es invertible (y su determinante
es igual al producto de los elementos diagonales), entonces ukk 6= 0. Luego
para poder obtener U de manera adecuada se necesita que

k-1
X
akk − u2ik > 0 , k = 1, ..., n. (3.2)
i=1

Al multiplicar la fila k de la matriz U T por la columna j de la matriz U , con


k < j, se tiene:

akj = (U T )k· U·j


= (U·k )T U·j
Pn
= i=1 uik uij

k
X n
X
= uik uij + uik uij
i=1 i=k+1
k
X X
= uik uij + uik uij
i=1 i>k

34
3.1. FACTORIZACIÓN DE CHOLESKY

k
X
= uik uij
i=1
k-1
X
akj = uik uij + ukk ukj .
i=1

De la última igualdad todo se conoce salvo ukj , entonces

k-1
X  1
ukj = akj − uik uij , k = 1, ..., n-1 (3.3)
ukk
i=1
j = k + 1, ..., n.

En resumen, si siempre se cumple la condición (3.2), mediante las fór-


mulas (3.1) y (3.3) se puede obtener la matriz U .

Ejemplo 3.1.  
16 -12 8 -16
 -12 18 -6 9 
A=
 8 -6

5 -10 
-16 9 -10 46


u11 = 16 = 4
-12
u12 = = -3
4
8
u13 = =2
4
-16
u14 = = -4
4

p
u22 = 18 − (-3)2 = 3
-6 − (-3)(2)
u23 = =0
3
9 − (-3)(-4)
u24 = = -1
3

p
u33 = 5 − (2)2 − (0)2 = 1

35
CAPÍTULO 3. MATRICES DEFINIDAS Y SEMIDEF. POSITIVAS

−10 − (2)(-4) − (0)(-1)


u34 = = −2
1

p
u44 = 46 − (-4)2 − (-1)2 − (-2)2 = 5,
entonces,
 
4 -3 2 -4
 0 3 0 -1 
 0 0 1 -2  3
U = 

0 0 0 5

Ejemplo 3.2.  
16 -12 8
A =  -12 7 -6 
8 -6 5

u11 = 4
u12 = -3
u13 = 2
p √
u22 = 7 − (-3)2 = −2,
luego no existe la factorización de Cholesky para esta matriz A.3

Ejemplo 3.3.  
16 -12 8
A =  -12 18 -6 
8 -6 4

u11 = 4
u12 = -3
u13 = 2
u22 = 3
u23 = 0

u33 = 0 = 0,

luego, aunque con

36
3.2. ALGORITMO DE LA FACTORIZACIÓN DE CHOLESKY

 
4 -3 2
U =  0 3 0 ,
0 0 0

se tiene la igualdad A = U T U , no existe la factorización de Cholesky para


esta matriz A puesto que U no es invertible. 3

3.2 ALGORITMO DE LA FACTORIZACIÓN


DE CHOLESKY
La factorización de Cholesky es muy empleada en la solución de sistemas de
ecuaciones lineales cuando la matriz de coeficientes es simétrica y definida
positiva, lo cual es bastante frecuente. Por ejemplo, las matrices de rigidez de
los problemas estructurales son definidas positivas. Dado el sistema Ax =
b, si se conoce la factorización, se tiene entonces U T U x = b. Si se toma
y = U x el problema se convierte en U T y = b. Este sistema de ecuaciones
lineales es muy fácil de resolver, puesto que es triangular inferior. Una
vez obtenido y, se resuelve U x = y, también fácil de efectuar puesto que
es triangular superior, obteniéndose ası́ x solución del sistema inicial. El
método de Cholesky es más rápido que el método de Gauss.
Otra de las ventajas importantı́simas del método de la factorización de
Cholesky, cuando se hace utilizando el computador, es que la matriz U se
puede almacenar exactamente donde estaba la matriz A, o sea, si el pro-
grama se elabora de forma adecuada, a medida que se obtiene un elemento
uij , éste se puede almacenar justamente donde estaba el elemento aij . Ob-
viamente al finalizar el proceso los valores de la matriz A se han perdido, y
en su lugar está la matriz U . En la mayorı́a de los casos esto no es ningún
problema, por el contrario, es una gran ventaja: únicamente se requiere
espacio para almacenar una matriz y no para dos.
En el algoritmo presentado a continuación se hace uso de esta ventaja,
ası́ al comienzo los valores aij corresponden, en realidad a los elementos de
A, pero al final estarán los valores de la matriz U . Si al final la variable
error vale 0, se está indicando que se pudo efectuar la factorización de
Cholesky, si vale 1 no hay factorización de Cholesky para esta matriz, o
sea, A no es definida positiva. La variable de entrada ε indica la tolerancia
o precisión en el siguiente sentido: los valores positivos menores que ε se
pueden considerar como nulos.

37
CAPÍTULO 3. MATRICES DEFINIDAS Y SEMIDEF. POSITIVAS

datos: A, n, ε
resultados: A, error
error = 0
para k = 1, ..., n mientras error= 0
s = akk
para i = 1, ..., k − 1
s = s − a2ik
fin-para i
si s <  ent
error= 1
parar
fin-ent
sino

akk = s
para j = k + 1, ..., n
t = akj
para i = 1, ..., k-1
t = t − aik aij
fin-para i
akj = t/akk
fin-para j
fin-sino
fin-para k

3.3 MATRICES DEFINIDAS POSITIVAS


Definición 3.1. Una matriz A real, simétrica (obviamente cuadrada) es
definida positiva (o positivamente definida) si:

xT Ax > 0 para todo x 6= 0.

Ejemplo 3.4. La matriz identidad de orden n.

xT Ix = xT x
= kxk22
≥ 0 para todo x
> 0 para todo x 6= 0.

Luego la matriz identidad es definida positiva. 3

38
3.3. MATRICES DEFINIDAS POSITIVAS

Ejemplo 3.5. La matriz nula de orden n.

xT 0x = 0.

luego la matriz nula no es definida positiva. 3

Para una matriz simétrica A

n
X n-1 X
X n
xT Ax = aii x2i + 2 aij xi xj .
i=1 i=1 j=i+1

Ejemplo 3.6.
 
1 2
A=
2 5

xT Ax = x21 + 5x22 + 4x1 x2


= (x1 + 2x2 )2 + x22
≥ 0 para todo x
= 0 sssi (x1 + 2x2 )2 = 0, x22 = 0
= 0 sssi x1 + 2x2 = 0, x2 = 0
= 0 sssi x1 = 0, x2 = 0
= 0 sssi x = 0,

luego A es definida positiva. 3

Ejemplo 3.7.
 
1 2
B=
2 4

xT Bx = x21 + 4x22 + 4x1 x2


= (x1 + 2x2 )2
≥ 0 para todo x,
= 0 , por ejemplo para x1 = 2, x2 = −1,

luego B no es definida positiva. 3

39
CAPÍTULO 3. MATRICES DEFINIDAS Y SEMIDEF. POSITIVAS

Ejemplo 3.8.  
1 2
C=
2 3

xT Cx = x21 + 3x22 + 4x1 x2


= (x1 + 2x2 )2 − x22 ,
= −1 , por ejemplo para x1 = 2, x2 = −1,

luego C no es definida positiva. 3

Definición 3.2. Una submatriz principal de A es la obtenida al quitar de


A algunas (o ninguna) filas y exactamente esas columnas correspondientes.
Una submatriz estrictamente principal Ak es la obtenida al quitar de
A las filas y columnas k + 1, k + 2, ..., n con 1 ≤ k ≤ n, es decir, las n
submatrices estrictamente principales de A son:

 
  a11 a12
A1 = a11 , A2 =
a21 a22
 
a11 a12 a13
A3 =  a21 a22 a23  ..., An = A.
a31 a32 a33

Definición 3.3. El determinante de una submatriz principal se llama un


subdeterminante principal; el determinante de una submatriz estricta-
mente principal se llama un subdeterminante estrictamente principal.
Los n subteterminantes estrictamente principales son:

 
  a11 a12
δ1 = det a11 = a11 , δ2 = det , . . . , δn = det(A).
a21 a22

En ejemplos pequeños, es relativamente fácil aplicar directamente la


definición para saber si una matriz simétrica es definida positiva. Para
ejemplos grandes, no solo se vuelve difı́cil, sino casi imposible. La siguiente
proposición da condiciones necesarias y suficientes para la caracterización
de matrices definidas positivas.

Proposición 3.1. (Condiciones necesarias y suficientes.) Dada una matriz


simétrica las siguientes siete afirmaciones son equivalentes:

40
3.3. MATRICES DEFINIDAS POSITIVAS

(1) A es definida positiva;

(2) todos los λi , valores propios de A (reales por ser simétrica), son posi-
tivos;

(3) todos los δi , subdeterminantes estrictamente principales, son positivos;

(4) todos los pivotes akkk , en el método de eliminación de Gauss sin per-
mutación, son positivos;

(5) existe una matriz U triangular superior invertible tal que A = U T U


(ésta es la factorización de Cholesky);

(6) existe una matriz W invertible tal que A = W T W ;

(7) todos los subdeterminantes principales son positivos.

Observación: la factorización de Cholesky, en general, no es única, pero


hay únicamente una matriz U con los elementos diagonales positivos.
Para matrices grandes, en casos no triviales, la caracterización más us-
ada es la factorización de Cholesky. Obviamente, si se tiene una matriz U
triangular superior e invertible, se tiene una matriz W invertible. Tratar de
averiguar si una matriz es definida positiva mediante la sexta caracterización
casi nunca se utiliza, salvo en el caso, en que por anticipado, se sabe que la
matriz A = W T W , con W invertible.

Ejemplo 3.9. Los valores propios de la matriz identidad son 1, 1, ..., 1 ;


δi = 1 para todo i ; todos los pivotes, en la eliminación gaussiana, tienen el
valor 1 ; I = I T I. Como ejemplo de la sexta caracterización:

   √   √ 
1 0 0 3/2 0 1/2 3/2 0 -1/2
 0 1 0 = 0 1 √ 0   0 1 √ 0 
0 0 1 -1/2 0 3/2 1/2 0 3/2

Por cualquiera de los criterios se ve que la matriz identidad es definida


positiva. 3

Ejemplo 3.10. Los valores propios de la matriz nula son 0, 0, ..., 0 ; δi =


0 para todo i ; la eliminación gaussiana no se puede efectuar; como la
matriz nula no es invertible no se puede expresar como producto de matrices
invertibles. Por cualquiera de los criterios se ve que la matriz nula no es
definida positiva. 3

41
CAPÍTULO 3. MATRICES DEFINIDAS Y SEMIDEF. POSITIVAS

Ejemplo 3.11.
 
1 2
A= , det(A − λI) = (1 − λ)(5 − λ) − 4 = λ2 − 6λ + 1,
2 5
√ √
sus raı́ces (los valores propios) son: λ1 = 3 + 8, λ2 = 3 − 8 ; δ1 = 1,
δ2 = 1 ; en la eliminación de Gauss sin permutaciones
   
(1) 1 2 (2) 1 2
A = , A = ,
2 5 0 1
(1) (2)
luego a11 = 1, a22 = 1.
  
1 0 1 2
A= .
2 1 0 1
Luego, por cualquiera de los criterios, la matriz A es definida positiva. 3

Ejemplo 3.12.
 
1 2
B= , det(B − λI) = (1 − λ)(4 − λ) − 4 = λ2 − 5λ,
2 4

sus raı́ces (los valores propios) son: λ1 = 5, λ2 = 0 ; δ1 = 1, δ2 = 0 ; en


la eliminación de Gauss sin permutaciones
   
(1) 1 2 (2) 1 2
B = , B = ,
2 4 0 0
(1) (2)
luego b11 = 1, b22 = 0. Al tratar de encontrar la factorización de Cholesky:
  
1 0 1 2
B= .
2 0 0 0
Como B no es invertible no se puede encontrar W invertible, tal que B =
W T W . Luego, por cualquiera de los criterios, la matriz B no es definida
positiva. 3

Ejemplo 3.13.
 
1 2
C= , det(C − λI) = (1 − λ)(3 − λ) − 4 = λ2 − 4λ − 1,
2 3
√ √
sus raı́ces (los valores propios) son: λ1 = 2 + 5, λ2 = 2 − 5 ; δ1 = 1,
δ2 = −1 ; en la eliminación de Gauss sin permutaciones

42
3.3. MATRICES DEFINIDAS POSITIVAS

   
1 2 1 2
C (1) = , C (2) = ,
2 3 0 −1
(1) (2)
luego c11 = 1, c22 = −1. Al tratar de encontrar la factorización de
Cholesky ésta no se puede realizar, ya que aparece la raı́z de un número
2
negativo. Si C = W T W entonces det(C) = det(W T ) det(W ) = det(W ) ,
pero como det(C) = −1, entonces no existe tal matriz W . Luego, por
cualquiera de los criterios, la matriz C no es definida positiva. 3

Proposición 3.2. (Condiciones necesarias.) Si A es una matriz simétrica


definida positiva entonces:

(1) aii > 0 para todo i ;

(2) a2ij < aii ajj para todo i 6= j ;

(3) max aii = max |aij |, es decir, max |aij | es un elemento diagonal;
i i,j i,j

(4) 2|aij | < aii + ajj para todo i 6= j.

Ejemplo 3.14. Sean:

     
5 6 2 4 2 3
A= , B = D= , ,
6 -3 4 7 3 3
 
10 -3 5
C =  -3 1 −1  .
5 -1 3

Para cada criterio se presenta un ejemplo de una matriz que no lo cumple,


luego no es definida positiva y un segundo ejemplo de una matriz que cumple
el criterio y, sin embargo, no es definida positiva.

(1) A no cumple el criterio, luego no es MDP.


B cumple el criterio y, sin embargo no es MDP.

(2) B no cumple el criterio, luego no es MDP.


C cumple el criterio y, sin embargo, no es MDP.

(3) A no cumple el criterio, luego no es MDP.


B cumple el criterio y, sin embargo, no es MDP.

43
CAPÍTULO 3. MATRICES DEFINIDAS Y SEMIDEF. POSITIVAS

(4) D no cumple el criterio, luego no es MDP.


B cumple el criterio y, sin embargo, no es MDP. 3

Definición 3.4. Una matriz es de diagonal estrictamente dominante


por filas si:

n
X
|aij | < |aii | , para todo i.
j=1
j6=i

Una matriz es de diagonal estrictamente dominante por columnas


si:

n
X
|aij | < |ajj | , para todo j.
j=1
j6=i

Una matriz es de diagonal estrictamente dominante si es de diagonal


estrictamente dominante por columnas y de diagonal estrictamente domi-
nante por filas.

Es obvio que para matrices simétricas las tres definiciones anteriores coinci-
den.

Proposición 3.3. (Condiciones suficientes.) Si A es una matriz simétrica,


de diagonal estrictamente dominante y positiva, entonces es definida posi-
tiva.

Ejemplo 3.15.
 
4 1 -2
A= 1 5 3 
-2 3 6

cumple el criterio, luego es definida positiva. 3

Ejemplo 3.16.
 
1 2
A=
2 5

no cumple el criterio y, sin embargo, es definida positiva. 3

44
3.4. MATRICES SEMIDEFINIDAS POSITIVAS

3.4 MATRICES SEMIDEFINIDAS POSITIVAS


Definición 3.5. Una matriz A real, simétrica (obviamente cuadrada) es
semidefinida positiva o definida no negativa si:

xT Ax ≥ 0 para todo x.

Es evidente que toda matriz definida positiva es semidefinida positiva.


Algunas veces, no en estas notas, se agrega a la definición de matrices
semidefinidas positivas la existencia de un x no nulo tal que xT Ax = 0.
Según esta otra definición una matriz definida positiva no serı́a semidefinida
positiva.

Ejemplo 3.17. Los ejemplos anteriores de matrices definidas positivas son


matrices semidefinidas positivas. 3

Ejemplo 3.18. La matriz nula 0. Aplicando la definición xT 0x = 0, luego


la matriz nula es semidefinida positiva. 3

Ejemplo 3.19.  
1 2
B= ,
2 4

xT Bx = x21 + 4x22 + 4x1 x2


= (x1 + 2x2 )2
≥ 0 para todo x,

luego B es semidefinida positiva. 3

Ejemplo 3.20.  
1 2
C= ,
2 3

xT Cx = x21 + 3x22 + 4x1 x2


= (x1 + 2x2 )2 − x22
= −1 por ejemplo para x1 = 2, x2 = −1,

luego C no es semidefinida positiva. 3

45
CAPÍTULO 3. MATRICES DEFINIDAS Y SEMIDEF. POSITIVAS

Ejemplo 3.21.  
0 0
E= ,
0 −1

xT Ex = −x22
= −1 por ejemplo para x1 = 0, x2 = 1,

luego E no es semidefinida positiva. 3


Proposición 3.4. Dada una matriz A simétrica, las siguientes siete afir-
maciones son equivalentes:

(1) A es semidefinida positiva;

(2) todos los λi valores propios de A son no negativos;

(3) δi ≥ 0 para todo i y para cualquier reordenamiento simétrico de filas y


de columnas, es decir, para cualquier permutación de las filas y de las
columnas correspondientes;

(4) los pivotes akkk , en el método de eliminación de Gauss posiblemente


con permutaciones simétricas, son todos no negativos;

(5) existe una matriz U triangular superior, posiblemente no invertible,


tal que A = U T U ;

(6) existe una matriz W , posiblemente no invertible, tal que A = W T W ;

(7) todos los subdeterminantes principales son no negativos.

Observación: El séptimo criterio es un caso particular del tercer criterio


pero más fácil de aplicar.
Es claro que las caracterizaciones para las matrices definidas positivas
son más fuertes que las caracterizaciones para las matrices semidefinidas
positivas. En los ejemplos de matrices definidas positivas se observa clara-
mente que éstas cumplen con las caracterizaciones de matrices semidefinidas
positivas.
Ejemplo 3.22. Los valores propios de la matriz nula son 0, 0, ..., 0 ; δi = 0
para todo i y para cualquier reordenamiento simétrico de filas y columnas;
la eliminación de Gauss (con posibilidad de permutación) conduce a pivotes
nulos; 0 = 0T 0 ; todos los subdeterminantes principales son nulos. Por
cualquiera de los criterios se ve que la matriz nula es semidefinida positiva. 3

46
3.4. MATRICES SEMIDEFINIDAS POSITIVAS

Ejemplo 3.23.
 
1 2
B= , det(B − λI) = (1 − λ)(4 − λ) − 4 = λ2 − 5λ,
2 4
sus raı́ces (los valores propios) son: λ1 = 5, λ2 = 0 ; sin reordenamientos
δ1 = 1, δ2 = 0 ; únicamente hay un solo reordenamiento de B:
 
4 2
2 1
δ1 = 4, δ2 = 0 ; en la eliminación de Gauss
   
(1) 1 2 (2) 1 2
B = , B = ,
2 4 0 0
(1) (2)
luego b11 = 1, b22 = 0. Al tratar de encontrar la factorización de Cholesky:
  
1 0 1 2
B= ;
2 0 0 0
los subdeterminantes principales son 0 (sin quitar filas ni columnas), 1 (qui-
tando la segunda fila y la segunda columna) y 4 (quitando la primera fila y
la primera columna). Luego, por cualquiera de los criterios, la matriz B es
semidefinida positiva. 3
Ejemplo 3.24.
 
1 2
C= , det(C − λI) = (1 − λ)(3 − λ) − 4 = λ2 − 4λ − 1,
2 3
√ √
sus raı́ces (los valores propios) son: λ1 = 2 + 5, λ2 = 2 − 5 ; sin reorde-
namientos δ1 = 1, δ2 = −1 ; en la eliminación de Gauss
   
1 2 1 2
C (1) = , C (2) = ,
2 3 0 −1
(1) (2)
luego c11 = 1, c22 = −1 ; al tratar de encontrar la factorización de
Cholesky ésta no se puede realizar, ya que aparece la raı́z de un número
2
negativo. Si C = W T W entonces det(C) = det(W T ) det(W ) = det(W ) ,
pero como det(C) = −1, entonces no existe tal matriz W . Los subde-
terminantes principales son −1 (sin quitar filas ni columnas), 1 (quitando
la segunda fila y la segunda columna) y 3 (quitando la primera fila y la
primera columna). Luego, por cualquiera de los criterios, la matriz C no es
semidefinida positiva. 3

47
CAPÍTULO 3. MATRICES DEFINIDAS Y SEMIDEF. POSITIVAS

Ejemplo 3.25.
 
0 0
E= , det(E − λI) = (0 − λ)(−1 − λ) = λ2 + λ,
0 −1
sus raı́ces (los valores propios) son: λ1 = 0, λ2 = −1 ; sin reordenamientos
δ1 = 0, δ2 = 0 ; el único reordenamiento simétrico (de filas y de columnas)
da como resultado:
 
−1 0
,
0 0
δ1 = −1, δ2 = 0 ; al tratar de encontrar la factorización de Cholesky ésta
no se puede realizar, ya que aparece la raı́z de un número negativo. Tampoco
se puede encontrar W tal que E = W T W . Los subdeterminantes principales
son 0 (sin quitar filas ni columnas), 0 (quitando la segunda fila y la segunda
columna) y −1 (quitando la primera fila y la primera columna). Luego la
matriz E no es semidefinida positiva. 3
Proposición 3.5. (Condiciones necesarias.) Si A es una matriz simétrica
semidefinida positiva entonces:

(1) aii ≥ 0 para todo i ;


(2) a2ij ≤ aii ajj para todo i, j ;
(3) max aii = max |aij |, es decir, max |aij | es un elemento diagonal;
(4) 2|aij | ≤ aii + ajj para todo i, j ;
(5) aii = 0 ⇒ Ai· = 0, A·i = 0 ;
(6) δi ≥ 0 para todo i.

Ejemplo 3.26.
     
0 0 1 2 1 3
A = , B= , C= ,
0 -1 2 3 3 2
 
  8 5 8
0 1
D = , E =  5 4 6 .
1 1
8 6 9
Para cada criterio se presenta un ejemplo de una matriz que no lo cumple,
luego no es semidefinida positiva y un segundo ejemplo de una matriz que
cumple el criterio y, sin embargo, no es semidefinida positiva.

48
3.4. MATRICES SEMIDEFINIDAS POSITIVAS

(1) A no cumple el criterio, luego no es MSDP.


C cumple el criterio y, sin embargo, no es MSDP.

(2) B no cumple el criterio, luego no es MSDP.


E cumple el criterio y, sin embargo, no es MSDP.

(3) C no cumple el criterio, luego no es MSDP.


E cumple el criterio y, sin embargo, no es MSDP.

(4) C no cumple el criterio, luego no es MSDP.


E cumple el criterio y, sin embargo, no es MSDP.

(5) D no cumple el criterio, luego no es MSDP.


A cumple el criterio y, sin embargo, no es MSDP.

(6) B no cumple el criterio, luego no es MSDP.


A cumple el criterio y, sin embargo, no es MSDP. 3

Definición 3.6. Una matriz A simétrica es definida negativa si −A es


definida positiva. Una matriz A simétrica es semidefinida negativa si
−A es semidefinida positiva. Una matriz A simétrica es indefinida si no
es ni semidefinida positiva ni semidefinida negativa, o lo que es lo mismo, si
existen x, y tales que (xT Ax)(y T Ay) < 0, o también, si tiene por lo menos
un valor propio positivo y por lo menos un valor propio negativo.

Ejemplo 3.27.
 
−1 −2
es definida negativa. 3
−2 −5

Ejemplo 3.28.
 
1 2
A = no es semidefinida positiva,
2 3
 
-1 -2
−A = tampoco es semidefinida positiva,
-2 -3

luego A es indefinida. Sean: x = (2, −1), y = (1, 0). Entonces (xT Ax)
(y T Ay) = (−1)(1) = −1, lo que comprueba que A es indefinida. 3

49
CAPÍTULO 3. MATRICES DEFINIDAS Y SEMIDEF. POSITIVAS

3.5 MATRICES DEFINIDAS POSITIVAS EN


UN SUBESPACIO VECTORIAL
Es posible que una matriz no sea definida positiva pero cumpla la propiedad
xT Ax > 0 para todos los vectores x en algún conjunto especial. Para sube-
spcios vectoriales se tiene la siguiente definición.
Definición 3.7. Sea E un subespacio vectorial de Rn . Una matriz simétrica
A es definida positiva en E si

xT Ax > 0, ∀x ∈ E, x 6= 0.
A es semidefinida positiva en E si

xT Ax ≥ 0 , ∀x ∈ E.

Obviamente si una matriz es definida positiva es definida positiva en


cualquier subespacio. Si E = Rn , se tienen las definiciones usuales de matriz
definida positiva y matriz semidefinida positiva. Si E = {0} cualquier matriz
simétrica es semidefinida positiva y definida positiva en E.
La definición de matriz definida positiva en un subespacio vectorial es
útil sobre todo cuando la matriz no es definida positiva, y sı́ es definida
positiva en algún subespacio vectorial de Rn .
Ejemplo 3.29. La matriz
 
0 1
A=
1 0
no es definida positiva ni semidefinida positiva. Tampoco es semidefinida
negativa. Sus valores propios son 1, −1. Sea x ∈ E = {(x1 , x2 ) : 3x1 − x2 =
0}.

  
T
  0 1 x1
x Ax = x1 x2
1 0 x2
= 2x1 x2
= 2x1 (3x1 )
= 6x21
> 0 si x1 6= 0.

Luego A es definida positiva en E. 3

50
3.5. MATRICES DEFINIDAS POSITIVAS EN UN SUBESPACIO

Saber si una matriz es definida positiva en un subespacio vectorial apli-


cando directamente la definición puede ser fácil para matrices pequeñas,
sin embargo, es muy útil tener procedimientos precisos para matrices de
cualquier tamaño.
Sean: E un subespacio vectorial de Rn , v 1 , v 2 , ..., v k una base de E, E la
matriz n × k cuyas columnas son los vectores v 1 , v 2 , ..., v k . Los elementos
de la forma Eξ caracterizan completamente a E, es decir, x es un elemento
de E si y solamente si existe ξ ∈ Rk tal que x = Eξ. Una matriz simétrica
A es definida positiva en E si xT Ax > 0 para todo x ∈ E, x 6= 0, o sea, si
(Eξ)T AEξ = ξ T E T AEξ > 0 para todo ξ ∈ Rk , ξ 6= 0.

Proposición 3.6. Sea A una matriz simétrica. A es definida positiva en


E si y solamente si E T AE es definida positiva. A es semidefinida positiva
en E si y solamente si E T AE es semidefinida positiva.

En esta proposición el criterio no depende de la base escogida. Para


saber si la matriz E T AE, de tamaño k × k, es definida positiva se utiliza
cualquiera de los criterios vistos anteriormente.

Ejemplo 3.30. Sean:

 
0 1
A = ,
1 0
E = {(x1 , x2 ) : 3x1 − x2 = 0}.

La dimensión de E es 1. Una base de E es v 1 = [1 3]T , entonces


 
1
E= ,
3

E T AE = [6] = 6 > 0,
luego A es definida positiva en E. 3

Ejemplo 3.31. Sean:

 
1 2 3
A =  2 4 5 ,
3 5 6
E = {(x1 , x2 , x3 ) : x1 + x2 + x3 = 0}.

51
CAPÍTULO 3. MATRICES DEFINIDAS Y SEMIDEF. POSITIVAS

La dimensión de E es 2. Una base de E es v 1 = [1 0 -1]T , v 2 = [0 1 -1]T ,


entonces

 
1 0
E =  0 1 ,
-1 -1
 
T 1 0
E AE = .
0 0

Luego A es semidefinida positiva en E. Si se escoge otra base la conclusión


será la misma. Otra base de E es v 1 = [1 0 -1]T , v 2 = [1 -2 1]T , entonces

 
1 1
E =  0 -2  ,
-1 1
 
T 1 1
E AE = ,
1 1

luego A es semidefinida positiva en E. 3

3.5.1 En el espacio nulo de una matriz


Con frecuencia un subespacio vectorial está definido como el espacio nulo
de una matriz. En este caso hay un procedimiento explı́cito para encontrar
una base.

Definición 3.8. Sea M una matriz p × n. El espacion nulo de M es el


conjunto

N (M ) = {x ∈ Rn : M x = 0}.

Este conjunto es un subespacio vectorial de Rn . Si M no es la matriz nula


existe una matriz M̄ cuyas filas son linealmente independientes y además

N (M ) = N (M̄ ).
En lo que sigue se supone que las filas de M son linealmente inde-
pendientes. Esto implica que 1 ≤ p ≤ n y que el rango de M es p. Si
p = n, entonces N (M ) = {0}. Como generalización se puede decir que si
M no tiene filas (p = 0), entonces N (M ) = Rn .

52
3.5. MATRICES DEFINIDAS POSITIVAS EN UN SUBESPACIO

El problema que estudiaremos a continuación es el siguiente. Dada A


matriz simétrica n × n y M matriz p × n, rango(M ) = p, se desea saber si
A es definida positiva (o semidefinida positiva) en N (M ).
Si p = n, entonces A es definida positiva y semidefinida positiva en
N (M ) = {0}. Para la generalización p = 0, se trata simplemente de
averiguar si A es definida positiva en Rn . En consecuencia podemos suponer
que 1 ≤ p < n. El espacio N (M ) tiene dimensión q = n − p, o sea, cualquier
base de N (M ) tiene q elementos.
Para poder aplicar la proposición 3.6 se requiere conocer una matriz E
cuyas columnas son los vectores de una base de N (M ). Como rango(M ) = p,
entonces existe B de tamaño p × p, submatriz de M , invertible. Entonces el
sistema

M x = 0,

es equivalente a

B −1 M x = M 0 x = 0.

La matriz M 0 tiene una caracterı́stica importante, tomando adecuada-


mente p columnas se obtiene la matriz identidad de orden p. La matriz M 0
se puede obtener por multiplicación explı́cita o también llevando M a la
forma escalonada reducida por filas.
Sean: L la submatriz p × q formada por las demás columnas de M 0 ,
xB el vector columna p × 1 construido con las componentes del vector x
correspondientes a las columnas de M 0 que forman la matriz identidad, xL
el vector columna q × 1 construido con las demás componentes del vector
x. Las variables xB se llaman variables básicas. Las variables xL se llaman
variables libres.
El sistema M 0 x = 0 es equivalente a

 
  xB
Ip L = 0,
xL
luego xB = −LxL .

Una manera de obtener una base de N (M ) es mediante el siguiente pro-


cedimiento: dar a la primera variable libre (componente de xL ) el valor 1
y a las demás variables libres el valor 0. De esa manera xB = −L·1 y se

53
CAPÍTULO 3. MATRICES DEFINIDAS Y SEMIDEF. POSITIVAS

obtiene el primer elemento de la base. Enseguida, se le da a la segunda vari-


able libre el valor 1 y a las demás variables libres el valor 0. De esa manera
xB = −L·2 y se obtiene el segundo elemento de la base. Y ası́ sucesivamente
hasta obtener los q elementos de la base. Entonces la matriz E tiene la forma
 
−L
E= ,
Iq
o la matriz obtenida por permutación de filas para concordar con el orden
de las variables. De manera más precisa: si las variables básicas son las p
primeras (y las variables libres las q últimas), entonces no se requiere hacer
ninguna permutación de filas, en caso contrario se reordenan las filas.
Dicho en palabras, en las p filas de E correspondientes a las variables
básicas se colocan las p filas de −L, y en las q filas de E correspondientes a
las variables libres se colocan las q filas de Iq .

Ejemplo 3.32.  una matriz E para N (M ) subespacio nulo de la


 Encontrar
matriz M = 1 1 1 .
La matriz M ya está en la forma escalonada reducida. Consideremos, por
ejemplo, que la primera columna de M constituye I y que las dos últimas
forman L

 
I = 1
 
L = 1 1
 
xB = x1
 
x2
xL = ,
x3

entonces
 
−1 −1
E= 1 0 . 3
0 1

Ejemplo 3.33. Encontrar una matriz E para N (M ) subespacio nulo de la


matriz
 
1 2 3 4
M= .
5 6 7 8
Llevándola a la forma escalonada reducida resulta

54
3.5. MATRICES DEFINIDAS POSITIVAS EN UN SUBESPACIO

 
1 0 −1 −2
.
0 1 2 3
Las dos primeras columnas de M constituyen I y las dos últimas forman L

 
−1 −2
L =
2 3
 
x1
xB =
x2
 
x3
xL = ,
x4

entonces
 
1 2
 −2 −3 
E= . 3
 1 0 
0 1

Ejemplo 3.34. Averiguar si A es semidefinida positiva en N (M ) subespacio


nulo de la matriz M ,

 
−2 1 1 1 1

 1 1 1 1 1 

A = 
 1 1 1 1 1 

 1 1 1 1 1 
1 1 1 1 1
 
1 2 3 4 5
M =  2 4 6 7 8 .
3 6 9 10 12

Llevando M a la forma escalonada reducida se obtiene


 
1 2 3 0 0
 0 0 0 1 0 
0 0 0 0 1
Las columnas 1, 4, 5 constituyen I, la segunda y tercera forman L,

55
CAPÍTULO 3. MATRICES DEFINIDAS Y SEMIDEF. POSITIVAS

 
2 3
L =  0 0 
0 0
 
x1
xB =  x4 
x5
 
x2
xL = ,
x3

entonces
 
−2 −3 x1
   0 0  x4

−L 
= 0 0 
 x5
Iq 
 1 0  x2
0 1 x3
En este caso es indispensable reordenar las filas para obtener la matriz

 
−2 −3

 1 0 

E = 
 0 1 
.
 0 0 
0 0

Aplicando la proposición 3.6:

 
T −11 −16
E AE = .
−16 −23

Los valores propios de E T AE son 0.0880, −34.0880, luego A no es semidefinida


positiva en N (M ). 3

EJERCICIOS

3.1 - 3.12 Diga si las siguientes matrices son definidas positivas, semidefinidas
positivas, definidas negativas, semidefinidas negativas, o indefinidas.

56
3.5. MATRICES DEFINIDAS POSITIVAS EN UN SUBESPACIO

   
1 2 3 1 2 3  
1 2 3 -4 5
A = 2 4 5 , A = 2 4 5 , A =
    ,
5 -7
3 6 6 3 5 6

   
1 0 0 9 -18 -15  
-9 6
A4 =  0 4 0  , A5 =  -18 40 22  , A6 = ,
6 -4
0 0 6 -15 22 42
   
10 1 -1 2 10 1 1 2
1 11 -2 3  1 20 -2 3
A7 =  8
   
 -1 -2 12 -3  , A =  1 -2 30 25
 ,

2 3 -3 13 2 3 25 20

   
10 1 -1 2 10 1 1 2
1 11 -2 3   1 20 -2 3
A9 =  10
   
 -1 -2 12 -14  , A =  1 -2 30
,
2 
2 3 -14 13 2 3 2 -20
   
10 1 1 2 10 1 1 2
 1 11 2 3 
A11 12  1 11 2 3
 
=
 1 2 12 13  , A =  1 2 12 13
 .

2 3 13 11 2 3 13 14

3.13 Diga si las siguientes matrices A son definidas positivas o semidefinidas


positivas en el espacio nulo de la matriz M.

 
2 0 0
A13 =  0 −2 0  , M 13 = 0 0 −1 .
 

0 0 −2
 
2 0 0
A14 =  0 −2 0  , M 14 = 0 1 0 .
 

0 0 2
 
2 2 1
A15 =  2 1 0  , M 15 = 3 2 1 .
 

1 0 2

57
CAPÍTULO 3. MATRICES DEFINIDAS Y SEMIDEF. POSITIVAS

 
2 2 1  
16 16 2 4 6
A =  2 1 0 , M = .
3 6 10
1 0 2
   
2 2 1 2 4 6
A17 =  2 1 0  , M 17 =  3 6 10  .
1 0 2 10 10 10

58
Capı́tulo 4

FUNCIONES CONVEXAS
Y GENERALIZACIONES

4.1 FUNCIONES CONVEXAS


Definición 4.1. Una función f con valores reales, definida en un convexo
no vacı́o C, es convexa, si para todo x, y en C y para todo λ en [0, 1]

f (zxyλ ) = f ((1 − λ)x + λy) ≤ (1 − λ)f (x) + λf (y) = fxyλ .

La función f es estrictamente convexa si para todo x, y en C, x 6= y y


para todo λ en ]0, 1[

f (zxyλ ) = f ((1 − λ)x + λy) < (1 − λ)f (x) + λf (y) = fxyλ .

La noción de convexidad se puede interpretar geométricamente de la


siguiente manera: una función es convexa si al tomar dos puntos (x, f (x)),
(y, f (y)) (de la “gráfica” de f ) y unirlos por medio de un segmento de recta,
éste nunca queda por debajo de la gráfica.

Definición 4.2. Una función f definida en un convexo no vacı́o es cóncava


( estrictamente cóncava) si −f es convexa (estrictamente convexa).

Es claro, según la definición, que toda función estrictamente convexa


también es convexa. Como para λ = 0 y para λ = 1 siempre se tiene
f (x) ≤ f (x) y f (y) ≤ f (y), entonces en la definición de convexidad se puede
hacer variar λ únicamente en el intervalo abierto ]0, 1[.

59
CAPÍTULO 4. FUNCIONES CONVEXAS Y GENERALIZACIONES

..
f (t) ............. ...
...
... .
....
.
... ...
... ...
..
f (y) ...... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ............
... ..
...
...... .
.
... ....... ..
... ..... ... .
... ..... ... ...
... ..
...... .....
. ..
.. .
... ..... .... ..
... ..... .....
... ..
...... .......
.
..
..
... .
..... ......
. ..
... ... ......
.
(1-λ)f (x) + λf (y) ...... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ............ .........
... ...
. .
.
.
...
.
..
.
. ..
..
..
. ..
..... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .............. ... ........... ..
f (z) ...
...
. ..
..
.
..
... ......... ..
..
...
... ........ .. ..
..
... ..
.
... ........... ..
... ....
. ... .
. ..
......... ... ... ... ... ... ... ... ... ... ... ... ...................................
f (x) ... ............... ..
.
.
..
..
..
... .. .. ..
... .. .. ..
.
. .
. .
.............................................................................................................................................................................................................................................................
.
..
...
...
x z y t
.

Figura 4.1

Ejemplo 4.1. f : C ⊆ R −→ R, f (x) = x2 . Gráficamente se “ve” que f es


convexa. Por otro lado, sean x, y en C, λ en el intervalo [0, 1],

2
fxyλ − f (zxyλ ) = (1 − λ)x2 + λy 2 − (1 − λ)x + λy
= λx2 − λ2 x2 + λy 2 − λ2 y 2 − 2λxy + 2λ2 xy
= x2 λ(1 − λ) + y 2 λ(1 − λ) − 2xyλ(1 − λ)
= (x − y)2 λ(1 − λ)
≥ 0.
Luego f (zxyλ ) ≤ fxyλ , es decir, f es convexa. Además si x 6= y, entonces
(x−y)2 > 0, y si λ está en el intervalo abierto ]0, 1[ se tiene que λ(1−λ) > 0,
luego fxyλ − f (zxyλ ) > 0, o sea, f es estrictamente convexa. 3

En la figura 4.2 las funciones en a), b) y c) son convexas; la función en a) es


estrictamente convexa; las funciones en c) y d) son cóncavas; la función en
d) es estrictamente cóncava; la función en e) no es ni convexa ni cóncava.
Ejemplo 4.2. Sean: c ∈ Rn , α ∈ R, f : C ⊆ Rn −→ R, f (x) = cT x + α.
Si n = 2 la gráfica corresponde a una parte de un plano.

fxyλ − f (zxyλ ) = (1 − λ)(cT x + α) + λ(cT y + α)



−cT (1 − λ)x + λy − α = 0
Esta función es convexa, pero no estrictamente convexa, también es cóncava
y no es estrictamente cóncava. 3

60
4.1. FUNCIONES CONVEXAS

... ... ...


f (t) .............. f (t) .............. f (t) .............. ......
.......
... ... ... .......
... ... ... .......
.. .. ... .. ..
.......
... ..... .
.......
..
.
... .... ... ..... ... .......
... ... .... ... ....... ..... ... .......
....
. ..... ... .............
... ...... .
...
. ... ........... ..
..
... ........ ..... ... ....... ..... . ..
......... ....... ....... .......... .......
. ...
.
... .......................... ... ......... ...... ....
... ...
... ... ....
.. .. ...
....................................................................................... ....................................................................................... ......................................................................................
... ... ...
t t t
a) b) c)
.. ..
f (t) ............. f (t) .............
.... ......................... ....
... ....... ... ..
......
... ..... .. ...
... ..... ... ..
...
..... ........
. .
...
..... .... .........
... ..... .... .. ..... ...
... .....
.... ... ... ..... ...
... ... ... .... .....
.....
..
..
... ... ... ..... ...
.. ...
... ... ......
................
... ..
................................................................................... ....................................................................................
... ...
t t
d) e)

Figura 4.2

Ejemplo 4.3. f : C ⊆ Rn −→ R, f (x) = kxk.


f (zxyλ ) = f (1 − λ)x + λy = k(1 − λ)x + λyk
≤ k(1 − λ)xk + kλyk
= |1 − λ|kxk + |λ|kyk
= (1 − λ)f (x) + λf (y).

Entonces la norma es una función convexa. 3

Ejemplo 4.4. Sean: x = (0, 0), y = (0, 1), λ = 1/2, z = zxyλ = (0, 1/2).
Entonces kzk = k0.5yk = 0.5kyk. Por otro lado (1-λ)kxk + λkyk = 0.5kyk.
Luego ninguna norma kk es una función estrictamente convexa. Esto no con-
tradice el resultado de Análisis Funcional, según el cual la norma euclidiana
es una norma estrictamente convexa. 3

Ejemplo 4.5. f : [−2, 3] −→ R, f (x) = x3 . Si x = −1, y = 1, λ = 1/4,


entonces

3 1 3 1 3
fxyλ − f (zxyλ ) = (−1) + (1) − (−1) + (1)
4 4 4 4
1 −1
= − −
2 8

61
CAPÍTULO 4. FUNCIONES CONVEXAS Y GENERALIZACIONES

3
= − .
8
Luego f no es convexa. Tampoco es cóncava. Sin embargo, para esta
función, al cambiar el conjunto de definición, se puede tener convexidad. 3
Ejemplo 4.6. f : [0, 3] −→ R, f (x) = x3 es convexa, más aún, es estricta-
mente convexa. 3
Definición 4.3. Sean: f : A −→ R una función, α un número real. Se
llama un conjunto de nivel al subconjunto de A:

Γα = {x ∈ A : f (x) ≤ α}.
Proposición 4.1. Sea C un convexo. Si f : C −→ R es convexa, entonces
todos los conjuntos de nivel son convexos. En particular {x : f (x) ≤ 0} es
un convexo.
Proposición 4.2. Sea C un conjunto convexo. Si f : C −→ R, g : C −→ R
son funciones convexas y α y β son números no negativos, entonces

αf + βg : C −→ R es convexa.
En particular, αf , f + g son convexas.

Obviamente también se tiene la generalización para más de dos funciones.


Si f1 , ..., fm son funciones convexas definidas en un convexo C, y α1 , ...αm
son escalares no negativos, entonces

α1 f1 + ... + αm fm : C −→ R es convexa.

Uno esperarı́a que el producto de dos funciones convexas fuera una


función convexa, pero no es cierto en general. Basta con considerar x, x2
que son funciones convexas en R, pero f (x) = x3 no es convexa en R.
Proposición 4.3. Sea C un conjunto convexo. Si f : C −→ R es convexa,
entonces las siguientes “ampliaciones” de f son funciones convexas:

f1 : Rm × C × Rp −→ R, f1 (u, x, v) = f (x)
f2 : Rm × C −→ R, f2 (u, x) = f (x)
f3 : C × Rp −→ R, f3 (x, v) = f (x).
Ejemplo 4.7. Como la función f (x) = x2 es convexa, entonces f1 (x1 , x2 ) =
x21 , f2 (x1 , x2 ) = x22 son convexas, luego g(x1 , x2 ) = x21 + x22 es una función
convexa. 3

62
4.1. FUNCIONES CONVEXAS

Proposición 4.4. Sean: C un convexo no vacı́o, f : C −→ R. Si f es


convexa, entonces es continua en el interior de C, o sea, la continuidad en
el interior de C es una condición necesaria para la convexidad.
Ejemplo 4.8. f : [0, 1] −→ R definida por f (x) = [x] (parte entera) no es
continua en [0, 1], pero es convexa en [0, 1] y continua en ]0, 1[. 3
Ejemplo 4.9.
x2

si x 6= 0
f (x) =
1 si x = 0,
Como f no es continua en x = 0, entonces no es convexa. 3
Definición 4.4. Sean: C ⊆ Rn un convexo no vacı́o, f : C −→ R. Se llama
epı́grafo de f al subconjunto de Rn+1 :

epi(f ) = {(x, λ) : f (x) ≤ λ}.


Proposición 4.5. Sea C ⊆ Rn un convexo no vacı́o. f : C −→ R es
convexa si y solamente si su epı́grafo es un conjunto convexo.
Ejemplo 4.10. Sean: f : R −→ R, f (x) = |x| .

epi(f ) = {(x1 , x2 ) : |x1 | ≤ x2 }


= {(x1 , x2 ) : x1 ≤ x2 si x1 ≥ 0, −x1 ≤ x2 si x1 ≤ 0}
= {(x1 , x2 ) : x1 − x2 ≤ 0 si x1 ≥ 0, −x1 − x2 ≤ 0 si x1 ≤ 0}
= {(x1 , x2 ) : x1 − x2 ≤ 0, −x1 − x2 ≤ 0}

es convexo por ser intersección de dos semiespacios, luego f es convexa. 3


Ejemplo 4.11. Sean:

x = (0, 0, 0) ∈ epi(f ),
y = (0, -1, -1) ∈ epi(f ),
λ = 1/2,
1 1
z = x + y = (0, -1/2, -1/2) ∈ / epi(f ),
2 2
ya que f (0, -1/2) = -1/8  -1/2.

Entonces epi(f )no es convexo, luego f no es convexa. 3

63
CAPÍTULO 4. FUNCIONES CONVEXAS Y GENERALIZACIONES

Proposición 4.6. Sean: C un convexo no vacı́o, f : C −→ R convexa,


ϕ : f (C) −→ R convexa y creciente (u ≤ v ⇒ ϕ(u) ≤ ϕ(v)). Entonces
g = ϕ ◦ f : C −→ R, definida por g(x) = ϕ(f (x)), es convexa.
Ejemplo 4.12. La función g(x1 , x2 ) = (2x1 + 3x2 + 4)2 definida para x ≥ 0
es convexa, pues f (x1 , x2 ) = 2x1 + 3x2 + 4 es convexa y ϕ(t) = t2 es convexa
y creciente en [16, ∞]. La función g es convexa en todo R2 , pero esto no se
deduce de la proposición anterior. 3
Ejemplo 4.13. La función g(x1 , x2 ) = exp(2x1 + 3x2 + 4) es convexa pues
f (x1 , x2 ) = 2x1 + 3x2 + 4 es convexa y ϕ(t) = exp(t) es convexa y creciente
en R. 3
Proposición 4.7. Sean: C ⊆ Rn un convexo abierto y no vacı́o, f : C −→
R diferenciable. Entonces f es convexa si y solamente si para todo x, x̄ ∈ C

f (x) − f (x̄) ≥ f 0 (x̄)T (x − x̄).


La anterior desigualdad se puede presentar ası́:

f (x) ≥ f (x̄) + f 0 (x̄)T (x − x̄).


Si n = 1 la expresión del lado derecho representa la recta tangente a la curva
en el punto (x̄, f (x̄)), o sea, una función derivable es convexa si y solamente
si la curva queda por encima de todas las rectas tangentes.

f (t) ............... ...


...
...
.

... ..
... ...
...
.. ...
...... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ......
f (x) ...
...
...
.
... . .....
....
... .. .. ......
... . ....
f (x̄) + f 0 (x̄)T (x − x̄) ......... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...........................
... . ...
... ..... ..
... .... .... ..
... .... ......
... ............... ..
..
..
... ......... ..
... ..
.
............. ..
......
.
... .
...
.
. ..
... .
...
. ..
....... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ............
f (x̄) ...
... ...
.. ..
..
... ...
..
..
..
... ...
.
..
........ .
. ..
... .
.. .............. .
. ..
... ...
...
............. .
. ..
.. . .
... ............................. ......... .
.
. ..
... .
..
.. . ..
... ...
.... .
. ..
.
. ....... .
.
.............................................................................................................................................................................................................................................................
.. .
...
...
....
.
.....
.....
..
..
x̄ x t
.

Figura 4.3

En general, la expresión del lado derecho representa la aproximación


lineal de la función en x̄, o sea, una función diferenciable es convexa si y
solamente si cualquier aproximación lineal subevalúa la función.

64
4.1. FUNCIONES CONVEXAS

Ejemplo 4.14. Sea f (x1 , x2 ) = x21 + x22 definida en todo R2 . Como f es


diferenciable y además

f (x) − f (x̄) − f 0 (x̄)T (x − x̄) =


 
x1 -x̄1
x21 x22 x̄21 x̄22
 
= + − − − 2x̄1 2x̄2
x2 -x̄2
= x21 + x22 − x̄21 − x̄22 − 2x̄1 x1 + 2x̄21 − 2x̄2 x2 + 2x̄22
= x21 + x22 + x̄21 + x̄22 − 2x̄1 x1 − 2x̄2 x2
= (x1 − x̄1 )2 + (x2 − x̄2 )2
≥ 0.

Entonces f es convexa. 3
Proposición 4.8. Sean: C ⊆ Rn un convexo abierto y no vacı́o, f : C −→
R diferenciable. Entonces f es convexa si y solamente si

f 0 (y) − f 0 (x) (y − x) ≥ 0
T
para todo x, y ∈ C.
Si n = 1 el gradiente es simplemente la derivada, y ası́ la anterior de-
sigualdad está indicando que f 0 (x) es creciente.
Ejemplo 4.15. Sea f (x1 , x2 ) = x21 + x22 definida en todo R2 . Como f es
diferenciable y además

f 0 (y) − f 0 (x) (y − x) = f 0 (y)T − f 0 (x)T (y − x)


T 
 
 y1 -x1
= [2y1 2y2 ] − [2x1 2x2 ]
y2 -x2
 
y1 -x1
= [2(y1 − x1 ) 2(y2 − x2 )]
y2 -x2
= 2(y1 − x1 )2 + 2(y2 − x2 )2
≥ 0. 3

Entonces f es convexa.
Ejemplo 4.16. Sea f (x1 , x2 ) = x31 + x22 definida en todo R2 . Como f es
diferenciable y además

 
0 0
T y1 -x1
[3y12 [3x21

f (y) − f (x) (y − x) = 2y2 ] − 2x2 ]
y2 -x2

65
CAPÍTULO 4. FUNCIONES CONVEXAS Y GENERALIZACIONES

 
y1 -x1
= [3(y12 − x21 ) 2(y2 − x2 )]
y2 -x2
= 3(y1 + x1 )(y1 − x1 )2 + 2(y2 − x2 )2
= −3, si x = (−1, 0), y = (0, 0).

Entonces f no es convexa. 3

Ejemplo 4.17. Sea f (x1 , x2 ) = x31 + x22 definida en C = {(x1 , x2 ) : x1 ≥ 0}.


Como f es diferenciable y además

f 0 (y) − f 0 (x) (y − x) = 3(y1 + x1 )(y1 − x1 )2 + 2(y2 − x2 )2


T

≥ 0,

entonces, según la última proposición, f es convexa en el interior de C.


Faltarı́a por ver que también es convexa en todo C. 3

Definición 4.5. Sea A ⊆ Rn un conjunto abierto. F : A −→ Rn se llama


monótona si
T
F (y) − F (x) (y − x) ≥ 0 para todo x, y ∈ A.

La última proposición se puede enunciar ası́: una función diferenciable


f , definida en un convexo abierto, es convexa si y solamente si su gradiente
es monótono.
Una función de una sola variable (definida en un intervalo de R) es
monótona si es creciente en todo el conjunto de definición o si es decreciente
en todo el conjunto de definición.

Proposición 4.9. Sean: C un convexo abierto y no vacı́o, f : C → R


doblemente diferenciable. Entonces
 2 f es convexa si y solamente si la matriz
∂ f
hessiana Hf (x) = f 00 (x) = (x) es semidefinida positiva en todo
∂xj ∂xi
punto x de C.

Recuérdese que para funciones doblemente diferenciables se cumple que


∂2f ∂2f
= , luego la matriz hessiana es simétrica.
∂xj ∂xi ∂xi ∂xj

Ejemplo 4.18. Sea f (x1 , x2 ) = x21 + x22 definida en todo R2 . Como f es


doblemente diferenciable y además

66
4.1. FUNCIONES CONVEXAS

 
00 2 0
f (x) =
0 2

es definida positiva, luego semidefinida positiva, entonces f es convexa. 3

Una caracterı́stica de las funciones cuadráticas, de las afines (lineal más


una constante) y de las constantes es que su matriz hessiana es constante,
es decir, no depende del punto donde se evalúe.

Proposición 4.10. Sean: C un convexo abierto no vacı́o, f : C −→ R


doblemente diferenciable. Si la matriz hessiana f 00 (x) es definida positiva
en todo punto x de C, entonces f es estrictamente convexa.

Ejemplo 4.19. Sea f (x1 , x2 ) = x21 + x22 definida en todo R2 . Como f es


doblemente diferenciable y además
 
00 2 0
f (x) =
0 2

es definida positiva, entonces f es estrictamente convexa. 3

Ejemplo 4.20. Sea f (x1 , x2 ) = x41 + x22 definida en todo R2 . Como f es


doblemente diferenciable y además

12x21 0
 
00
f (x) =
0 2

es semidefinida positiva para todo x, entonces f es convexa. La matriz


hessiana no siempre es definida positiva, por ejemplo para x1 = 0, luego a
partir de la última proposición no se puede afirmar que f sea estrictamente
convexa, sin embargo, sı́ lo es. 3

Ejemplo 4.21. Sea f : B[(3, 2), 1] → R definida por f (x1 , x2 ) = x31 + x22 .
La función f es doblemente diferenciable, además
 
00 6x1 0
f (x) =
0 2

es semidefinida positiva siempre que x1 ≥ 0, en particular, en el conjunto


abierto definido por la restricción x1 > 0, que contiene la bola B[(3, 2), 1],
entonces f es convexa, más aún, es estrictamente convexa. 3

67
CAPÍTULO 4. FUNCIONES CONVEXAS Y GENERALIZACIONES

Ejemplo 4.22. Sea f (x1 , x2 ) = x21 x22 definida en todo R2 . La función f es


doblemente diferenciable,

2x22 4x1 x2
 
00
f (x) =
4x1 x2 2x21

no es semidefinida positiva ya que δ2 = −12x21 x22 , entonces f no es con-


vexa. 3

Ejemplo 4.23. Sea f (x1 , x2 ) = 5(3x1 − 4x2 − 2)2 + 6(x1 − 2x2 )2 definida
en todo R2 . Como f es doblemente diferenciable y además
 
00 102 -144
f (x) = , δ1 = 102, δ2 = 480.
-144 208
Entonces la matriz hessiana es definida positiva y la función f es estricta-
mente convexa. 3

4.2 GENERALIZACIONES DE FUNCIONES


CONVEXAS
Definición 4.6. Una función f con valores reales, definida en un convexo
no vacı́o C, es cuasiconvexa, si para todo x, y ∈ C y para todo λ en el
intervalo [0, 1]

f (zxyλ ) = f ((1 − λ)x + λy) ≤ max{f (x), f (y)}.

...
.. ... ..
f (t) ............... ...
... f (t) ............... ..................
.........
. ... . .......
.... ... .... ......
... ... ... ...
.......
... ....
.. ... .. ....
... ... ... .....
... ... ... .....
... ... ... ......
.
... ... ... ...
....
... ... ... ....
... ... ... ....
... ...
..... ... ..
.....
... ... ..
......................................
....... . ...
... ..... ... ... ...
... .... ... ... ..
..
... ...
... ... ... .
..
.
... ... .... ... ...
... ... .. ... ...
... ... ... ... ...
... ...
... ... ... .
....
.
... ... .... ... ...
... ... .. ... ...
... ...
... ... ... ...
... .... ..... ... ...
... .......... ...
... ...
. .
.......................................................................................................................................................... ..........................................................................................................................................................
.. ..
t t
a) b)
Figura 4.4

68
4.2. GENERALIZACIONES DE FUNCIONES CONVEXAS

Definición 4.7. Una función f con valores reales, definida en un convexo


no vacı́o C, es cuasicóncava, si −f es cuasiconvexa.
Proposición 4.11. Toda función convexa es cuasiconvexa.
Ejemplo 4.24. f (x1 , x2 ) = x21 + x22 es convexa, luego es cuasiconvexa. 3
Proposición 4.12. Sea C ⊆ R convexo, f : C −→ R. Si f es monótona,
entonces es cuasiconvexa.
Ejemplo 4.25. f (x) = x3 siempre es creciente, luego es cuasiconvexa. 3
Ejemplo 4.26. f (x) = x2 definida en todo R no es monótona, sin embargo,
sı́ es cuasiconvexa. 3
Proposición 4.13. Sean: C ⊆ Rn convexo, f : C −→ R. f es cuasiconvexa
si y solamente si para todo real α, el conjunto de nivel Γα es convexo.

Obviamente la anterior caracterización de funciones cuasiconvexas es una


condición necesaria para funciones convexas
Ejemplo 4.27. f (x1 , x2 ) = (x1 + 2x2 − 3)3 + 4 no es convexa en R2 , ya que
 
00 6(x1 + 2x2 − 3) 12(x1 + 2x2 − 3)
f (x) =
12(x1 + 2x2 − 3) 24(x1 + 2x2 − 3)
y para x = (0, 0), δ1 = −18, luego la matriz hessiana no es semidefinida
positiva. Sin embargo,

Γα = {(x1 , x2 ) : (x1 + 2x2 − 3)3 + 4 ≤ α}


= {(x1 , x2 ) : (x1 + 2x2 − 3)3 ≤ α − 4}

= {(x1 , x2 ) : x1 + 2x2 − 3 ≤ 3 α − 4}

= {(x1 , x2 ) : x1 + 2x2 ≤ 3 α − 4 + 3}
es convexo (es un semiespacio) para todo α, luego f es cuasiconvexa en todo
R2 . 3

Ejemplo 4.28. f : (2, ∞) −→ R, f (x) = x no es convexa, sin embargo,
 √
∅ si α < √2
Γα =
[2, α2 ] si α ≥ 2,
es convexo para todo α, entonces f es cuasiconvexa. Por otro lado, la
función es estrictamente creciente, luego es creciente y, por lo tanto, es
cuasiconvexa. 3

69
CAPÍTULO 4. FUNCIONES CONVEXAS Y GENERALIZACIONES

Ejemplo 4.29. f (x1 , x2 ) = x21 x22 .

Γ0 = {(x1 , x2 ) : x21 x22 ≤ 0}


= {(x1 , x2 ) : x21 x22 = 0}
= {(x1 , x2 ) : x1 x2 = 0}
= {(x1 , x2 ) : x1 = 0, o , x2 = 0}
= { puntos sobre los ejes }

no es un conjunto convexo, entonces f no es cuasiconvexa y mucho menos


convexa. 3
Ejemplo 4.30. Sea f : [−2, 5[−→ R definida por f (x) = −|x|. f no es
convexa. Además, si x = −2, y = 3, λ = 0.2, entonces

max{f (x), f (y)}-f (zxyλ ) = max{f (x), f (y)}-f ((1 − λ)x + λy)
= max{-2, -3} − f (-1)
= −2 − −1
= −1.

Luego f no es cuasiconvexa. 3
Proposición 4.14. Sean: C un convexo abierto y no vacı́o, f : C −→ R
una función diferenciable. Entonces f es cuasiconvexa si y solamente si
para todo x, y ∈ C:

f (y) ≤ f (x) ⇒ f 0 (x)T (y − x) ≤ 0.


La anterior implicación es obviamente equivalente a f 0 (x)T (y − x) > 0 ⇒
f (y) > f (x) .
Ejemplo 4.31. f (x) = x3 es cuasiconvexa ya que: f (y) ≤ f (x) implica que
y ≤ x, o sea, y − x ≤ 0 entonces α(y − x) ≤ 0 para α ≥ 0. En particular
3x2 (y − x) ≤ 0. 3
Ejemplo 4.32. f (x1 , x2 ) = (x1 + x2 )3 es cuasiconvexa ya que: f 0 (x)T (y −
x) > 0 es equivalente a 3(x1 + x2 )2 ((y1 + y2 ) − (x1 + x2 )) > 0, lo que implica
que y1 + y2 > x1 + x2 , luego f (y) > f (x). 3
Ejemplo 4.33. f (x1 , x2 ) = x1 x2 no es cuasiconvexa en R2 ya que para x =
(1, 0), y = (−1, 1), se cumple f (y) = −1 ≤ f (x) = 0, pero f 0 (x)T (y − x) =
[01][−21]T = 1
0. 3

70
4.2. GENERALIZACIONES DE FUNCIONES CONVEXAS

Definición 4.8. Sean: C un conjunto convexo, f : C −→ R. Se dice que f


es estrictamente cuasiconvexa si para todo x, y ∈ C con f (x) 6= f (y) y
para todo λ en el intervalo ]0, 1[

f (zxyλ ) = f ((1 − λ)x + λy) < max{f (x), f (y)}.


Un poco en contra de lo que se espera, no se tiene que cuasiconvexidad
estricta implica cuasiconvexidad.
Ejemplo 4.34. Sea f definida en todos los reales por
(
1 si x = 0
f (x) =
0 si x 6= 0.
f es estrictamente cuasiconvexa, pero no es cuasiconvexa. 3
Ejemplo 4.35. Sea f definida en todos los reales por
(
1 si x 6= 0
f (x) =
0 si x = 0.
f es cuasiconvexa, pero no es estrictamente cuasiconvexa. 3
Definición 4.9. Sean: C un conjunto convexo, f : C −→ R. Se dice que f
es fuertemente cuasiconvexa si para todo x 6= y ∈ C y para todo λ en
el intervalo ]0, 1[

f (zxyλ ) = f ((1 − λ)x + λy) < max{f (x), f (y)}.


Ejemplo 4.36. f (x) = 1 − exp(-x2 ) no es convexa, es cuasiconvexa, fuerte-
mente y estrictamente cuasiconvexa. 3
Ejemplo 4.37. f (x) = max{0, x2 -1} es convexa, no es fuertemente cuasi-
convexa, sı́ es cuasiconvexa y estrictamente cuasiconvexa. 3
Proposición 4.15.
convexidad estricta =⇒ cuasiconvexidad fuerte.
cuasiconvexidad fuerte =⇒ cuasiconvexidad estricta
cuasiconvexidad fuerte =⇒ cuasiconvexidad .
Definición 4.10. Sea f : A −→ R doblemente diferenciable en un punto
x̄ ∈ A. Se llama hessiano orlado (bordered) de f en el punto x̄ a la
matriz de tamaño (n + 1) × (n + 1)
 00
f (x̄) f 0 (x̄)

\00
B = B(x̄) = B(f, x̄) = f (x̄) = .
f 0 (x̄)T 0

71
CAPÍTULO 4. FUNCIONES CONVEXAS Y GENERALIZACIONES

Definición 4.11. Se llama submatriz principal del hessiano orlado,


a toda submatriz de B obtenida quitando algunas de las primeras n filas de
B y quitando exactamente esas mismas columnas. De manera más precisa,
sean: k ∈ {1, . . . , n}, γ = {i1 , . . . , ik } con 1 ≤ i1 < i2 < · · · < ik ≤ n. La
matriz Bkγ (x̄) de tamaño (k + 1) × (k + 1), obtenida al dejar únicamente los
elementos bij tales que i, j ∈ {i1 , . . . , ik , n+1}, es una submatriz principal del
hessiano orlado. Si γ = {1, 2, . . . , k} la matriz se denota simplemente Bk (x̄)
y se llama submatriz estrictamente principal del hessiano orlado.

Ejemplo 4.38. Bn (x̄) = B(x̄). 3

Ejemplo 4.39. Sean: n = 2, k = 1, γ = {2}. Entonces


 
b22 b23
B1γ = . 3
b32 b33

Ejemplo 4.40. Sean: n = 2, k = 1. Entonces


 
b11 b13
B1 = . 3
b31 b33

Proposición 4.16. Sean: C un convexo sólido (de interior no vacı́o), f :


C −→ R doblemente diferenciable. Si f es cuasiconvexa, entonces

det Bk (x) ≤ 0 , ∀k = 1, . . . , n, ∀x ∈ C.

Ejemplo 4.41. Sea f (x1 , x2 ) = x31 + x22 defininida en todo R2 .

6x1 0 3x21
 

B(x) =  0 2 2x2  ,
2
3x1 2x2 0
6x1 3x21
 
det(B1 (x)) = det = −9x41 ,
3x21 0
det(B2 (x)) = det(B(x)) = −18x41 − 24x1 x22 .

Si x1 = −1 y x2 = 1, entonces det(B2 (x)) = 6, luego f no es cuasiconvexa.


Lo anterior también se puede ver aplicando directamente la definición. Si
x = (−5, 5), y = (1, 0), λ = 0.6, entonces z = (−1.4, 2), f (x) = −100,
f (y) = 1, f (z) = 1.256. 3

72
4.2. GENERALIZACIONES DE FUNCIONES CONVEXAS

Para funciones de una variable, la proposición anterior no sirve para


nada pues para toda función doblemente diferenciable
 00
f (x) f 0 (x)

B(x) =
f 0 (x) 0
y det(B1 (x)) = det(B(x)) = −(f 0 (x))2 ≤ 0.

Ejemplo 4.42. Sea f (x) = x3 definida en todo R .

6x 3x2
 
B(x) = ,
3x2 0
det(B1 (x)) = det(B(x)) = −9x4 .

Entonces la proposición apenas permite decir que posiblemente f es cuasi-


convexa. Recuérdese que x3 sı́ es cuasiconvexa. Por otro lado, si se considera
f (x) = −x2 que no es cuasiconvexa, la proposición anterior dice que −x2
cumple esta condición necesaria para cuasiconvexidad. 3

Proposición 4.17. Sean: C un convexo sólido, f : C −→ R doblemente


diferenciable. Si

det Bk (x) < 0 , ∀k = 1, . . . , n, ∀x ∈ C,
entonces f es cuasiconvexa.

Ejemplo 4.43. Sea f (x1 , x2 ) = x21 − x22 definida en R2 .

 
2 0 2x1
B(x) =  0 -2 -2x2  ,
2x1 -2x2 0
det(B2 (x)) = 8(x21 − x22 )
= 8 para x = (1, 0).

Luego la función no es cuasiconvexa. 3

Ejemplo 4.44. Sea f (x) = log x con x ∈ C =]0, ∞[. En este libro log
indica el logaritmo en base e.

73
CAPÍTULO 4. FUNCIONES CONVEXAS Y GENERALIZACIONES

− x12 1
 
B(x) = x
1
x 0
1
det(B1 (x)) = − < 0 ∀x ∈ C.
x2
Luego f (x) = log x es cuasiconvexa. 3

Ejemplo 4.45. Sea f (x) = x2 en R.

 
2 2x
B(x) = ,
2x 0
det(B1 (x)) = −4x2 .

Como det(Bk (x)) no es siempre negativo, entonces la proposición anterior


no permite garantizar que f (x) = x2 sea cuasiconvexa. Sin embargo, f sı́ es
cuasiconvexa, más aún es estrictamente convexa. 3

Definición 4.12. Sean: C un convexo abierto y no vacı́o, f : C −→ R


diferenciable. f es seudoconvexa si para todo x, y ∈ C

f 0 (x)T (y − x) ≥ 0 ⇒ f (y) − f (x) ≥ 0.

.. ..
f (t) ............... ......
.....
...
...
.....
....
f (t) ............... ...
.. ... ... .. ...
... ... ... ... ...
.. ... ... .. ...
...
...
... ... ... .
....
... ... ... ..
...
.. ...
... ... . ... ....
... ... ... ... ....
... ... ... ... ..
.....
.
... ...
... ... .....
...
... .. ... .....
. . .....
... ...
... ... ......
...
...
... ... ... ..
...
...
........
.
... ... ... ........
...
...
.. ... ......
... . .....
... ... ... ... .....
... ... ... ... .
.....
.
... .
... .. ... ....
...
... .. ... ....
... .. ....
... ... ... ... ...
... ... ... ... ..
.
... ... .. ... ...
... ... ..... ... ...
.........
... ... ...
... ... ...
.
... ... ..
...
........................................................................................................................................................... ............................................................................................................................................................
.. .. ...
t t
a) b)
Figura 4.5

Estas dos funciones de la Figura 4.5 son seudoconvexas. En la Figura 4.4 ,


la primera función no es seudoconvexa, la segunda sı́ lo es.

74
4.2. GENERALIZACIONES DE FUNCIONES CONVEXAS

La definición de función seudoconvexa es muy parecida a la caracteri-


zación de funciones diferenciables cuasiconvexas, pero es más fuerte. En la
seudoconvexidad la desigualdad no estricta implica que f (y) > f (x), en cam-
bio en la cuasiconvexidad se requiere la desigualdad estricta para implicar
el mismo resultado.
Proposición 4.18. Toda función seudoconvexa es cuasiconvexa.

Si una función de una variable, derivable, es seudoconvexa, entonces,


cuando se anula la derivada se tiene un mı́nimo. Además si en un punto la
derivada es positiva, entonces, a partir de ese punto la función es creciente.
Si en un punto la derivada es negativa, entonces antes de ese punto la función
es decreciente.
Proposición 4.19. Sea C un convexo, abierto y no vacı́o. Si f : C −→ R
es diferenciable y convexa, entonces f es seudoconvexa.
Ejemplo 4.46. f (x1 , x2 ) = x21 + x22 es convexa y diferenciable, luego es
seudoconvexa. 3
Ejemplo 4.47. f :] − 4, −2[−→ R, f (x) = x3 no es convexa. Veámos que
sı́ es seudoconvexa. Ante todo, f es diferenciable. Sean x, y ∈] − 4, −2[.

f 0 (x)T (y − x) ≥ 0 ⇔ 3x2 (y − x) ≥ 0
⇔ (y − x) ≥ 0
⇔ y≥x
⇔ y 3 ≥ x3
⇔ y 3 − x3 ≥ 0
⇔ f (y) − f (x) ≥ 0.
Luego f es seudoconvexa. 3
Ejemplo 4.48. f : R −→ R, f (x) = x3 no es convexa, pero sı́ es cuasicon-
vexa. Veámos que no es seudoconvexa. Sean: x = 0, y = -1.

f 0 (x)T (y − x) = 0(−1 − 0)
= 0
≥ 0,
sin embargo,

f (y) − f (x) = (-1)3 − (0)3 = −1  0. 3

75
CAPÍTULO 4. FUNCIONES CONVEXAS Y GENERALIZACIONES

2
Ejemplo 4.49. Sea f (x) = 1 − e−x definida en toda la recta real. ¿Es
convexa? ¿Es cuasiconvexa? ¿Es seudoconvexa?

2
f 0 (x) = 2xe−x ,
2
f 00 (x) = e−x (2 − 4x2 ),
f 00 (1) = −2e−1 < 0.

Como hay puntos donde la “matriz” hessiana no es semidefinida positiva,


entonces se puede afirmar que f no es convexa. Obsérvese que x2 varı́a entre
cero e infinito, entonces exp(−x2 ) varı́a entre cero y uno, luego f (x) toma
valores entre cero y uno. En particular toma el valor cero, valor mı́nimo, para
x = 0. Por medio de los conjuntos de nivel se puede saber si es cuasiconvexa.

2
1 − e−x ≤ α
−x2
e ≥ 1−α
2
−x ≥ log(1 − α)
2
x ≤ − log(1 − α)
p
|x| ≤ − log(1-α) = t.

Entonces

 ∅ si α < 0,
Γα = [ − t, t] si 0 ≤ α < 1,
si α ≥ 1.

R
Luego f es cuasiconvexa. Para averiguar si f es seudoconvexa, estudiemos
tres casos diferentes: x nulo, x positivo, x negativo.
i) Sea x = 0.

f 0 (x)T (y − x) ≥ 0
f 0 (0)(y − 0) ≥ 0
0 ≥ 0.

Como lo anterior siempre es cierto, se deberı́a cumplir que

f (y) − f (x) ≥ 0

76
4.2. GENERALIZACIONES DE FUNCIONES CONVEXAS

f (y) − f (0) ≥ 0
f (y) ≥ 0,
y siempre se cumple ya que cero es el valor mı́nimo de la función.
ii) Sea x > 0. Entonces f 0 (x) > 0.

f 0 (x)T (y − x) ≥ 0
f 0 (x)(y − x) ≥ 0
(y − x) ≥ 0
y ≥ x>0
f (y) ≥ f (x) ( por ser f creciente en ]0, ∞[)
f (y) − f (x) ≥ 0.

iii) Sea x < 0. Entonces f 0 (x) < 0.

f 0 (x)T (y − x) ≥ 0
f 0 (x)(y − x) ≥ 0
(y − x) ≤ 0
y ≤ x<0
f (y) ≥ f (x) ( por ser f decreciente en ] − ∞, 0 [ )
f (y) − f (x) ≥ 0.
Luego en los tres casos se cumple la implicación, entonces la función f es
seudoconvexa. 3
Proposición 4.20. Sean: C un convexo abierto, f : C −→ R doblemente
diferenciable. Si

det Bk (x) < 0, ∀k = 1, . . . , n, ∀x ∈ C,
entonces f es seudoconvexa.

Estas condiciones suficientes son las mismas de la cuasiconvexidad. Más


adelante hay un resultado que relaciona cuasiconvexidad y seudoconvexidad
para funciones doblemente diferenciables definidas sobre conjuntos sólidos.
Por las mismas razones de dos ejemplos anteriores, f (x) = log x es seudo-
convexa para x > 0. Por otro lado, usando la proposición anterior, no se
puede afirmar que f (x) = x2 sea seudoconvexa.

77
CAPÍTULO 4. FUNCIONES CONVEXAS Y GENERALIZACIONES

Proposición 4.21. Sean: C un convexo sólido, f : C −→ R cuadrática.



Entonces f es cuasiconvexa en C si y solamente si f es seudoconvexa en C.

En la literatura sobre métodos de minimización en una variable es muy


frecuente encontrar métodos para funciones unimodales. Las definiciones de
unimodalidad pueden variar ligeramente.
Definición 4.13. [Avr76] Una función ϕ es unimodal en el intervalo
I = [a, b] si existe λ∗ minimizador de ϕ en I tal que ϕ es estrictamente
decreciente en [a, λ∗ ] y estrictamente creciente en [λ∗ , b].

Esta definición de unimodalidad es equivalente, para funciones de una


variable definidas en un intervalo, a la cuasiconvexidad fuerte con existencia
de un minimizador global.
Definición 4.14. [Lue89] Una función ϕ es unimodal en el intervalo I =
[a, b] si existe un único λ∗ minimizador local de ϕ en I.
Ejemplo 4.50. Sea ϕ definida en el intervalo [−1, 1] por

0
 si x = 0,
ϕ(x) = 1 6 0 y es racional,
si x =

2 si x es irracional.

Este ejemplo muestra que las dos definiciones no son equivalentes ya que
x∗ = 0 es el único minimizador local, pero ϕ no es estrictamente creciente
en [0, 1]. 3
Proposición 4.22. Toda función de una variable, estrictamente convexa es
unimodal.

4.3 CONVEXIDAD Y GENERALIZACIONES


EN UN PUNTO
Las definiciones de convexidad, cuasiconvexidad y seudoconvexidad se han
hecho para todos los puntos de un conjunto convexo C, pero se pueden
modificar para aplicarlas a un solo punto.
Definición 4.15. Sean: C un conjunto convexo, f : C −→ R, x̄ un elemento
de C. Se dice que f es convexa en x̄ si para todo y ∈ C y para todo
λ ∈ [0, 1],

f (zx̄yλ ) = f ((1 − λ)x̄ + λy) ≤ (1 − λ)f (x̄) + λf (y) = fx̄yλ .

78
4.3. CONVEXIDAD Y GENERALIZACIONES EN UN PUNTO

Ejemplo 4.51.
x2

si x 6= 0
f (x) =
1 si x = 0,
no es convexa (no es continua), sin embargo, f sı́ es convexa en x̄ = 0. 3

Definición 4.16. Sean: C un conjunto convexo, f : C −→ R, x̄ un elemento


de C. Se dice que f es cuasiconvexa en x̄ si para todo y ∈ C y para todo
λ ∈ [0, 1],

f (zx̄yλ ) = f ((1 − λ)x̄ + λy) ≤ max{f (x̄), f (y)}.

Ejemplo 4.52. (
cos x si x 6= 1
f (x) =
2 si x = 1
no es cuasiconvexa (basta con tomar x = -π, y = π, λ = 1/2, z = 0), sin
embargo, f sı́ es cuasiconvexa en x̄ = 1. 3

Definición 4.17. Sean: C un convexo abierto y no vacı́o, f : C −→ R


diferenciable, x̄ ∈ C. Se dice que f es seudoconvexa en x̄ si para todo
y ∈ C,

f 0 (x̄)T (y − x̄) ≥ 0 =⇒ f (y) − f (x̄) ≥ 0.

Ejemplo 4.53. f (x) = x3 es seudoconvexa en cualquier punto diferente de


cero. 3

Si se hubiera presentado primero la definición de convexidad en un punto,


la definición de convexidad (global) se podrı́a presentar de la siguiente man-
era. Sea C un convexo; se dice que f : C −→ R es convexa en C, si es
convexa para todo x ∈ C.
Hasta ahora las definiciones de convexidad, cuasiconvexidad y seudocon-
vexidad se aplican a funciones definidas en conjuntos convexos. Mangasarian
[Man69] presenta definiciones que pueden aplicarse a funciones definidas en
conjuntos no convexos, por ejemplo:

Definición 4.18. Una función f : A −→ R se llama convexa en un punto


x̄ ∈ A si para todo y ∈ A y para todo λ ∈ [0, 1] tales que zx̄yλ = (1 − λ)x̄ +
λy ∈ A se cumple que

f (zx̄yλ ) = f ((1 − λ)x̄ + λy) ≤ (1 − λ)f (x̄) + λf (y) = fx̄yλ .

79
CAPÍTULO 4. FUNCIONES CONVEXAS Y GENERALIZACIONES

Ejemplo 4.54. Sean: a, b dos números diferentes, f : {a, b} → R. Según


la definición de Mangasarian, f es convexa en a y también en b, luego es
convexa en todo el conjunto {a, b}. 3

La convexidad y sus generalizaciones se conservan cuando se restringe


la función a un conjunto más pequeño. Por ejemplo, si f es convexa en C,
entonces es convexa en cualquier subconjunto convexo de C. En particular,
si f es convexa en C, entonces, para todo x ∈ C y para todo d ∈ Rn , d 6= 0,
la restricción de f a R(x, d) ∩ C también es convexa. El conjunto R(x, d)
es la recta que pasa por x y es paralela a d, entonces la restricción de f a
R(x, d) ∩ C es una función de una sola variable.

EJERCICIOS
4.1. Determine si f (x1 , x2 ) = x21 +2x1 x2 −10x1 +5x2 es convexa, o cóncava,
o ninguna de las dos. Determine en qué conjunto f es convexa.
4.2. Determine si f (x1 , x2 ) = x1 e-x1 -x2 es convexa, o cóncava, o ninguna de
las dos. Determine en qué conjunto f es convexa.
4.3. Determine si f (x1 , x2 ) = −x21 − 5x22 + 2x1 x2 + 10x1 − 10x2 es convexa,
o cóncava, o ninguna de las dos. Determine en qué conjunto f es
convexa.
4.4. Sea C = {(x1 , x2 ) : |xi | ≤ 1, ∀i}. Determine si f (x1 , x2 ) = 2(x2 − x21 )2
es convexa en C, o cóncava, o ninguna de las dos. Determine en qué
conjunto f es convexa.
4.5. Sea f (x1 , x2 ) = x21 + x32 . ¿Es f convexa? ¿Es f convexa en (0, 0)? ¿Es
f seudoconvexa? ¿Es f seudoconvexa en (0, 0)? Determine en qué
conjunto f es convexa.
4.6. Sea f (x1 , x2 ) = x41 + x32 . ¿Es f convexa? ¿Es f convexa en (0, 0)? ¿Es
f seudoconvexa? ¿Es f seudoconvexa en (0, 0)? Determine en qué
conjunto f es convexa.
4.7. Sean: C un convexo, g : C −→ R convexa. Muestre que {x ∈
C : g(x) ≤ 0} es un convexo.
4.8. Sea
(
x2 si x < 0,
f (x) =
x3 si x ≥ 0.

80
4.3. CONVEXIDAD Y GENERALIZACIONES EN UN PUNTO

¿Es f continua? ¿Es f diferenciable? ¿Es f doblemente diferenciable?


¿Es f convexa? ¿Es f seudoconvexa?

4.9. Sean: C un convexo, g : C −→ R cóncava. Muestre que {x ∈


C : g(x) > 0} es un convexo.

4.10. Sean: C un convexo, g : C −→ R cóncava. Muestre que f (x) = 1/g(x)


es convexa en {x ∈ C : g(x) > 0}.

4.11. Sean: c ∈ Rn , f (x) = (cT x)2 . Determine si f es convexa. Determine


en qué conjunto f es convexa.

4.12. Sea f : Rn −→ R continua. Determine las condiciones que debe


cumplir f para que {x : f (x) = 0} sea convexo.

4.13. Sean: C convexo, f : C −→ R. Muestre que f es convexa si y sola-


mente si

1 1 1 1
f ( x + y) ≤ f (x) + f (y) ∀x, y ∈ C
2 2 2 2
4.14. Sean: f1 , ..., fm funciones convexas definidas en un convexo C; α1 , ...,
αm ≥ 0. Muestre que f (x) = yα1 f1 (x) + ... + αm fm (x) es convexa.

4.15. Sean f1 , ..., fm funciones convexas definidas en un convexo C. Muestre


que f (x) = max{f1 (x), ..., fm (x)} es convexa.

4.16. Sean: c, d ∈ Rn , α, β ∈ R, C = {x : dT x + β > 0},

cT x + α
f (x) = .
dT x + β
¿Es f seudoconvexa en C? ¿Es f seudocóncava en C?

81
CAPÍTULO 4. FUNCIONES CONVEXAS Y GENERALIZACIONES

82
Capı́tulo 5

CONDICIONES DE
OPTIMALIDAD EN
PUNTOS INTERIORES

Sean: B un subconjunto de Rn , f : B −→ R, A un conjunto abierto con-


tenido en B. En este capı́tulo se estudiarán condiciones de optimalidad para
el problema de minimizar f (x) cuando x varı́a en A. Este problema de
minimización se denotará simplemente

min f (x) (PM)


x ∈ A.

Si A no es abierto, las condiciones de optimalidad, de este capı́tulo, se


aplican a los puntos interiores de A. En este caso, si f y A cumplen ciertas
propiedades adicionales, aunque el estudio se haga en el interior de A los
resultados pueden ser válidos en todo A.
Con frecuencia A = B = Rn y ası́ se tiene un problema de minimización
sin restricciones (irrestricto), que se denotará simplemente por

min f (x),
sobreentendiendo que el conjunto A es todo Rn .
Definición 5.1. Un punto x∗ ∈ A se llama minimizador global o abso-
luto (o también punto de mı́nimo global) y f ∗ = f (x∗ ) se llama mı́nimo
global o absoluto (o valor mı́nimo global) de PM, si

83
CAPÍTULO 5. OPTIMALIDAD EN PUNTOS INTERIORES

f ∗ = f (x∗ ) ≤ f (x) ∀x ∈ A.
Un punto x∗ ∈ A se llama minimizador global estricto y f ∗ = f (x∗ )
se llama mı́nimo global estricto de PM, si

f ∗ = f (x∗ ) < f (x) ∀x ∈ A, x 6= x∗ .


Un punto x∗ ∈ A se llama minimizador local o relativo y f ∗ = f (x∗ ) se
llama mı́nimo local o relativo de PM, si existe r > 0 tal que

f ∗ = f (x∗ ) ≤ f (x) ∀x ∈ A ∩ B(x∗ , r).


Un punto x∗ ∈ A se llama minimizador local estricto y f ∗ = f (x∗ ) se
llama mı́nimo local estricto de PM, si existe r > 0 tal que

f ∗ = f (x∗ ) < f (x) ∀x ∈ A ∩ B(x∗ , r), x 6= x∗ .

Un punto x∗ ∈ A se llama minimizador global aislado si existe una


vecindad de x∗ donde no hay otros minimizadores globales.
Un punto x∗ ∈ A se llama minimizador local aislado si existe una
vecindad de x∗ donde no hay otros minimizadores locales.

Obsérvese que todo minimizador global también es minimizador local.


Para minimizadores globales, estricto es equivalente a único, y cualquiera
de estas dos caracterı́sticas implica aislamiento. Es posible que no haya
minimizadores locales o que no haya minimizadores globales.

Ejemplo 5.1. Sea f (x) = cos x en el intervalo [−20, 20]. El punto x = π es


minimizador local estricto y aislado, también es minimizador global aislado.
El valor −1 es un mı́nimo local y global. 3

Ejemplo 5.2. Sea f (x) = x2 en todos los reales. El punto x = 0 es


minimizador local y global estricto y aislado. El valor 0 es un mı́nimo local
y global. 3

Ejemplo 5.3. Sea f (x) = x2 en el intervalo [3, 9]. El punto x = 3 es


minimizador local y global estricto y aislado. 3

Ejemplo 5.4. Sea f (x) = bxc (parte entera, también llamada parte entera
inferior). El conjunto de minimizadores locales es R\Z (el conjunto de todos
los reales no enteros). 3

84
Ejemplo 5.5. Sea f (x) = dxe (parte entera superior). Todos los puntos
son minimizadores locales. 3

Ejemplo 5.6. Sea f (x) = x2 en el intervalo ]3, 9]. Para este problema no
hay minimizadores locales ni globales. 3

Ejemplo 5.7. Sea f (x) = x3 en toda la recta real. Para este problema no
hay minimizadores locales ni globales. 3

Ejemplo 5.8. Sea


(
x2 1 + x2 + sin(1/x)

si x 6= 0,
f (x) =
0 si x = 0.
El punto x = 0 es un minimizador local y global estricto, pero no es mini-
mizador local aislado. 3

Si el problema planteado es de maximización, basta con multiplicar por


menos uno a la función f y ası́ un minimizador de un problema es maxi-
mizador del otro. Obviamente el valor mı́nimo global de un problema cor-
responde al valor máximo global del otro problema multiplicado por menos
uno.

min f (x) (PM)


x ∈ A.

max g(x) = −f (x) (PMAX)


x ∈ A.

Sean:

A∗ : conjunto de minimizadores globales del PM,



f : mı́nimo global del PM,

A : conjunto de maximizadores globales del PMAX,

g : máximo global del PMAX.

Entonces

A∗ = A,

85
CAPÍTULO 5. OPTIMALIDAD EN PUNTOS INTERIORES

f ∗ = −g ∗ .

Los resultados anteriores también son ciertos si se cambia la palabra


global por la palabra local. El siguiente enunciado es simplemente una
manera de decir algo obvio con otras palabras.
Proposición 5.1. El PM tiene minimizador global si y solamente si el
conjunto de imágenes f (A) tiene mı́nimo.
La “proposición” anterior, utilizada junto con condiciones suficientes
para que f (A) tenga mı́nimo, permite garantizar la existencia de un mini-
mizador global para el PM.
Proposición 5.2. Las siguientes son algunas de las condiciones suficientes
para que exista minimizador global:

ˆ f (A) es cerrado y acotado.

ˆ f (A) es cerrado y acotado inferiormente.

ˆ f es continua, A es cerrado y acotado.

Ejemplo 5.9. Sea f (x1 , x2 ) = sen x1 + cos x2 en todo R2 . El conjunto


imagen es simplemente f (A) = [−2, 2] cerrado y acotado, luego existe por
lo menos un minimizador global. 3
Ejemplo 5.10. Sea f (x1 , x2 ) = x21 + x32 en A = {x : x ≥ 0}. El conjunto
imagen es simplemente f (A) = [0, ∞[ cerrado y acotado inferiormente, luego
existe por lo menos un minimizador global. 3
Ejemplo 5.11. Sean: A = {(x1 , x2 ) : x1 + x2 = 2, x1 ≥ 0, x2 ≥ 0}, f (x) =
x31 + x22 . Como A es cerrado y acotado y f es continua, entonces existe un
minimizador global de f en A. 3
Ejemplo 5.12. Sea f (x) = 1/(1 + x2 ) en todo R. Esta función es continua
en un cerrado, f (A) es acotado inferiormente ya que f (x) ≥ 0 para todo x,
sin embargo, no existe minimizador. 3
Definición 5.2. Una función f definida en S subconjunto no acotado de
Rn es coercitiva si

lim f (x) = +∞.


||x||→∞

Esto quiere decir que dado cualquier M > 0 existe R > 0 tal que si x ∈ S y
||x|| > R, entonces f (x) > M .

86
Ejemplo 5.13. S = Rn , f (x) = ||x|| es coercitiva.
S = Rn , f (x) = ||x||2 es coercitiva.
S = Rn , f (x) = ||x − x̄||2 (para un x̄ fijo) es coercitiva.
S = Rn+ , f (x) = ||x − x̄||2 (para un x̄ fijo) es coercitiva.
2 2
S = R2 , f (x) = ex1 + ex2 − x1001 − x2
100 es coercitiva.

S = R2 , f (x) = a1 x1 + a2 x2 + a3 no es coercitiva. 3
Ejemplo 5.14. Sean: S = R2 , f (x) = (x1 −x2 )2 . f no es coercitiva, aunque
es coercitiva con respecto a x1 y con respecto a x2 . 3
Proposición 5.3. Sea A cerrado y no acotado. Si f : A −→ R es continua
y coercitiva, entonces existe x∗ minimizador global de f en A.
Ejemplo 5.15. Sean: A = R2+ , f (x1 , x2 ) = (x1 − 4)3 + (x2 − 5)2 . Como
A es cerrado y f es continua y coercitiva, entonces existe por lo menos un
minimizador global. 3
Ejemplo 5.16. Sean: A el interior de R2+ , f (x1 , x2 ) = (x1 − 4)2 + (x2 − 5)2 .
Como A no es cerrado no se puede aplicar la proposición anterior. Sin
embargo, sı́ existe un minimizador global (el punto x = (4, 5)). 3

De la definición se deduce fácilmente que, si una función es coercitiva


en un conjunto no acotado, entonces es coercitiva en cada uno de sus sub-
conjuntos no acotados. En particular si una función es coercitiva en Rn ,
entonces es coercitiva en cualquier conjunto no acotado.
Proposición 5.4. Sean: x̄ un punto interior de A, f diferenciable en x̄. Si
x̄ es un minimizador local del PM, entonces f 0 (x̄) = 0.
Los puntos donde se anula el gradiente se llaman puntos crı́ticos.
Ejemplo 5.17. Sean: A = R2 , f (x1 , x2 ) = (x1 + x2 − 5)2 + (3x1 − 2x2 )2 .
Entonces f es continua, A es cerrado y f es coercitiva, luego existe por
lo menos un minimizador global. Al obtener el gradiente f 0 (x) = (20x1 −
10x2 − 10,−10x1 + 10x2 − 10) se deduce que el único punto que cumple la
condición necesaria de anular el gradiente es x = (2, 3), luego necesariamente
es el minimizador global ya que todos los puntos son interiores. 3
Ejemplo 5.18. Sea f (x) = x3 en el intervalo [2, ∞[. Como A es cerrado,
f es continua y coercitiva, entonces existe un minimizador global. Si el
minimizador global x∗ fuera punto interior, entonces f 0 (x∗ ) = 0, pero esto
no es posible, luego el minimizador tiene que ser el único punto no interior,
es decir, x∗ = 2. 3

87
CAPÍTULO 5. OPTIMALIDAD EN PUNTOS INTERIORES

Ejemplo 5.19. Sean: A = R2 , f (x1 , x2 ) = x21 +x32 . En este caso no se puede


garantizar que f (A) tenga mı́nimo. Como f 0 (x) = (2x1 , 3x22 ), se deduce que
el único punto que cumple la condición necesaria de anular el gradiente es
x̄ = (0, 0), pero no se puede afirmar que es minimizador local o minimizador
global. Más aún, x̄ = (0, 0) no es minimizador local -y tampoco global- pues
los puntos de la forma (0, −ε), con ε > 0 y pequeño, son mejores que x̄ y
están muy cerca de x̄. 3
Ejemplo 5.20. Sean: A = {(x1 , x2 ) : x1 + x2 ≥ 1, x1 ≥ 0, x2 ≥ 0},
f (x1 , x2 ) = x21 +x32 . Entonces f es continua, A es cerrado y f (A) es continua
y coercitiva, luego existe por lo menos un minimizador global. Al obtener
el gradiente f 0 (x) = (2x1 , 3x22 ) se deduce que no hay puntos interiores que
cumplan la condición necesaria de anular el gradiente, luego el minimizador
global debe ser un punto de A que esté en la frontera. 3
Ejemplo 5.21. f (x1 , x2 ) = x21 − x22 en todo R2 , x̄ = (0, 0) es el único
candidato a ser minimizador local. No es minimizador global ya que, por
ejempo, x = (0, 1) es mejor. Tampoco es minimizador local pues , si ε es
un número positivo pequeño, los puntos (0, ε) son puntos vecinos y mejores
que x̄. 3
Proposición 5.5. Sean: x̄ un punto interior de A, f doblemente diferen-
ciable en x̄. Si x̄ es un minimizador local del PM, entonces f 0 (x̄) = 0 y
f 00 (x̄) es semidefinida positiva.
Ejemplo 5.22. Sean: A = R2 , f (x1 , x2 ) = x21 − x22 . Al calcular el gradiente
y la matriz hessiana, se obtiene
   
0 2x1 00 2 0
f (x) = , f (x) = .
-2x2 0 −2
Se deduce que el único punto que cumple la condición necesaria de anular
el gradiente es x = (0, 0), sin embargo, la matriz hessiana en este punto no
es semidefinida positiva, luego x = (0, 0) no es minimizador local, luego no
existe minimizador local ni global. 3
Ejemplo 5.23. Sean: A = {(x1 , x2 ) : x1 + x2 > −4}, f (x1 , x2 ) = (x1 + x2 −
5)2 + (3x1 − 2x2 )2 . Al calcular el gradiente y la matriz hessiana se obtiene
   
20x1 -10x2 -10 20 -10
f 0 (x) = , f 00 (x) = .
-10x1 + 10x2 -10 -10 10
Se ve que en x = (2, 3) se anula el gradiente y la matriz hessiana es
semidefinida positiva, luego x = (2, 3) es candidato a ser minimizador local. 3

88
Proposición 5.6. Sean: x̄ un punto interior de A, f doblemente diferen-
ciable en x̄. Si f 0 (x̄) = 0 y además f 00 (x̄) es definida positiva, entonces x̄ es
un minimizador local del PM.

Ejemplo 5.24. Sean: A = {(x1 , x2 ) : x1 + x2 > −4}, f (x1 , x2 ) = (x1 +


x2 − 5)2 + (3x1 − 2x2 )2 . Considerando el ejemplo anterior se observa que en
x̄ = (2, 3) se anula el gradiente y la matriz hessiana no sólo es semidefinida
positiva sino que también es definida positiva, por lo tanto se concluye que
x = (2, 3) es minimizador local. 3

Ejemplo 5.25. Sean: A = R2 , f (x1 , x2 ) = x41 + x22 . Al calcular el gradiente


y la matriz hessiana se obtiene

4x31 12x21 0
   
f 0 (x) = , f 00 (x) = .
2x2 0 2
Se observa que en x = (0, 0) se anula el gradiente y la matriz hessiana
es semidefinida positiva, luego es candidato a minimizador local. Como la
matriz hessiana no es definida positiva en x = (0, 0), entonces la proposición
anterior no permite garantizar que sea un minimizador local. Sin embargo,
sı́ lo es, ya que es el único punto donde la función vale cero. Más aún, es
minimizador global. 3

Proposición 5.7. Sean: x̄ un punto interior de A, f doblemente diferen-


ciable en x̄. Si f 0 (x̄) = 0 y existe r > 0 tal que f 00 (x) es semidefinida
positiva para todo x ∈ B(x̄, r), entonces x̄ es un minimizador local del PM.

Ejemplo 5.26. Sean: A = R2 , f (x1 , x2 ) = x41 + x22 . Al calcular el gradiente


y la matriz hessiana se obtiene

4x31 12x21 0
   
0 00
f (x) = , f (x) = .
2x2 0 2
Se observa que en x = (0, 0) se anula el gradiente y para cualquier r > 0 la
matriz hessiana es semidefinida positiva en B((0, 0), r), luego x = (0, 0) es
minimizador local del PM. 3

Proposición 5.8. Sean: A un conjunto convexo, abierto, f : A −→ R


convexa y diferenciable o simplemente seudoconvexa. Un punto x̄ elemento
de A es minimizador global del PM si y solamente si f 0 (x̄) = 0.

Ejemplo 5.27. A = R2 , f (x1 , x2 ) = x21 + x22 es diferenciable y se vio que es


convexa, luego x̄ es minimizador global si y solamente si

89
CAPÍTULO 5. OPTIMALIDAD EN PUNTOS INTERIORES

   
2x̄1 0
f 0 (x̄) = = .
2x̄2 0
Luego el único minimizador global es x̄ = (0, 0). 3

Proposición 5.9. Sean: A un conjunto convexo y abierto, f : A −→ R


seudoconvexa. Si x̄ es minimizador local, entonces es minimizador global.

Proposición 5.10. Sean: C convexo, f : C −→ R convexa o estrictamente


cuasiconvexa. Si x∗ es un minimizador local del PM, entonces x∗ es un
minimizador global del PM.

Las dos últimas proposiciones se pueden resumir de la siguiente forma.


Si f es seudoconvexa (en un convexo abierto) o convexa o estrictamente
cuasiconvexa (en un convexo cualquiera), entonces todo minimizador local
es minimizador global.

Proposición 5.11. Sea C convexo, f : C −→ R fuertemente cuasiconvexa


(o estrictamente convexa). Si x∗ es un minimizador local del PM, entonces
x∗ es el único minimizador global del PM.

Ejemplo 5.28. Sea A = {(x1 , x2 ) : x1 + x2 > −4}, f (x1 , x2 ) = (x1 + x2 −


5)2 + (3x1 − 2x2 )2 . El punto x = (2, 3) es minimizador local y como f es
convexa, entonces es minimizador global. Además, como f es estrictamente
convexa, entonces x = (2, 3) es el único minimizador global. 3

Ejemplo 5.29. Sea A = R, f (x) = [x]. El punto x = 3/2 es minimizador


local, f es cuasiconvexa, sin embargo, x = 3/2 no es minimizador global.
Una propiedad importante de las funciones definidas sobre un intervalo
cerrado y acotado, cuando son estrictamente cuasiconvexas o cuando son
unimodales, es que si se calcula la función en dos puntos interiores se puede
construir un intervalo más pequeño donde tambien está el minimizador. 3

Proposición 5.12. Sean ϕ : [a, b] −→ R unimodal o estrictamente cua-


siconvexa, σ, τ tales que a < σ < τ < b, λ∗ minimizador de ϕ en [a, b].
Entonces

ϕ(σ) ≤ ϕ(τ ) ⇒ λ∗ ∈ [a, τ ],


ϕ(σ) ≥ ϕ(τ ) ⇒ λ∗ ∈ [σ, b].

90
Como la unimodalidad implica la cuasiconvexidad estricta, entonces en
la proposición anterior se puede quitar la hipótesis alterna de unimodalidad.

Ejemplo 5.30. Sea f (x) = x2 definida en [−1, 5]. Como f (1) < f (3),
entonces el minimizador de f en [−1, 5] está en [−1, 3]. 3

EJERCICIOS

En los ejercicios 5.1 a 5.10 estudie el problema propuesto, use condiciones


necesarias, suficientes y otros argumentos. Encuentre, si es posible, un punto
crı́tico, los puntos crı́ticos, un minimizador, los minimizadores. ¿Son estos
puntos minimizadores globales?

5.1. Minimizar f (x1 , x2 , x3 ) = x22 + 4x2 x3 +3x23 − 6x2 − 10x3 + 100 en R3 .

5.2. Minimizar f (x1 , x2 ) = sen (x1 x2 ) en R2 .

5.3. Minimizar f (x1 , x2 ) = (x1 − 1)2 + ex1 + x22 − 2x2 + 1 en R2 .

5.4. Minimizar f (x1 , x2 ) = x31 + 3x21 + x22 + 3x1 − 2x2 + 2 en R2 .

5.5. Minimizar f (x1 , x2 ) = x41 + 4x31 + 6x21 + x22 + 4x1 − 2x2 + 2 en R2 .

5.6. Minimizar f (x1 , x2 ) = 11x21 + 11x22 − 18x1 x2 + 4x1 + 4x2 + 142 en R2 .

5.7. Minimizar f (x1 , x2 ) = (x1 + x2 )/(x21 + x22 + 1) en R2 .

5.8. Minimizar f (x1 , x2 ) = (x21 − x2 )2 en R2 .

5.9. Minimizar f (x1 , x2 , x3 ) = 2x21 + x22 + x23 + x1 x2 + x2 x3 − 6x1 − 7x2 −


8x3 + 20 en R3 .

5.10. Minimizar f (x1 , x2 ) = x21 + 2x1 x2 − 10x1 + 5x2 − 8x3 + 20 en R2 .

5.11. Sea x∗ minimizador global de f en A. Sea B subconjunto de A. Dé


condiciones sobre B (por ejemplo, suficientes), para que exista mini-
mizador global de f en B.

91
CAPÍTULO 5. OPTIMALIDAD EN PUNTOS INTERIORES

92
Capı́tulo 6

CONDICIONES DE
KARUSH-KUHN-TUCKER

Considérese inicialmente el mismo problema de minimización visto hasta


ahora:

min f (x) (PM)


x ∈ A.

donde A es un conjunto cualquiera, no necesariamente abierto. Los re-


sultados presentados en este capı́tulo permiten estudiar las condiciones de
optimalidad en puntos cualesquiera (interiores o no interiores).

6.1 GENERALIDADES
Definición 6.1. Sean: d ∈ Rn , d 6= 0, x̄ ∈ A. d es dirección (local) de
descenso de f en el punto x̄, si existe ε > 0 tal que

f (x̄ + λd) < f (x̄) para todo λ ∈]0, ε[.

Definición 6.2. Sean: d ∈ 0Rn , d 6= 0, x̄ ∈ A. d es dirección (local) de


ascenso de f en el punto x̄, si existe ε > 0 tal que

f (x̄ + λd) > f (x̄) para todo λ ∈]0, ε[.

Ejemplo 6.1. f (x1 , x2 ) = x21 + x22 en R2 , x̄ = (3, 4). En este ejemplo


sencillo minimizar f es equivalente a minimizar la distancia de un punto al

93
CAPÍTULO 6. CONDICIONES DE KARUSH-KUHN-TUCKER

origen. La distancia del punto x̄ al origen es 5 y una dirección de descenso


es aquella que permite, a partir de x̄, acercarse al origen. El punto x̄ está en
la circunferencia con centro en el origen y radio 5, entonces las direcciones
de descenso son las que permiten entrar al cı́rculo a partir de x̄, o sea,
d = (d1 , d2 ) es dirección de descenso si 3d1 + 4d2 < 0. Obsérvese que las
direcciones tangentes a la circunferencia en x̄, es decir, 3d1 + 4d2 = 0 con
d 6= 0, son direcciones de ascenso. Las otras direcciones de ascenso deben
cumplir con 3d1 + 4d2 > 0. 3
Proposición 6.1. Sean: d ∈ Rn , d 6= 0, x̄ ∈ Rn , f diferenciable en x̄.

ˆ si f 0 (x̄)T d < 0, entonces d es dirección de descenso.

ˆ si f 0 (x̄)T d > 0, entonces d es dirección de ascenso.

ˆ si f 0 (x̄)T d = 0, entonces d puede ser dirección de descenso, o de as-


censo o ninguna de las dos.

Además si f 0 (x̄) 6= 0 y f es convexa, entonces d 6= 0 es dirección de descenso


si y solamente si f 0 (x̄)T d < 0
Utilicemos la siguiente notación:

Dd : conjunto de direcciones de descenso de f en x̄,


Da : conjunto de direcciones de ascenso de f en x̄,
F− : conjunto de direcciones tales que f 0 (x̄)T d < 0,
F+ : conjunto de direcciones tales que f 0 (x̄)T d > 0,
F̄ : conjunto de direcciones no nulas tales que f 0 (x̄)T d = 0,
F̄− : conjunto de direcciones no nulas tales que f 0 (x̄)T d ≤ 0,
= F− ∪ F̄ ,
F̄+ : conjunto de direcciones no nulas tales que f 0 (x̄)T d ≥ 0,
= F+ ∪ F̄ .

Entonces la proposición anterior se puede expresar ası́ :

F− ⊆ Dd ⊆ F̄− ,
F+ ⊆ Da ⊆ F̄+ .

Si f es convexa y f 0 (x̄) 6= 0, entonces

94
6.1. GENERALIDADES

F− = Dd ,
F+ = Da .

Ejemplo 6.2. f (x1 , x2 ) = x21 + x22 en R2 , x̄ = (3, 4). Utilizando la notación


anterior, el ejemplo 6.1 se resume ası́:

Dd = {(d1 , d2 ) : 3d1 + 4d2 < 0},


Da = {(d1 , d2 ) : 3d1 + 4d2 ≥ 0, d 6= 0}.

Utilizando el valor f 0 (x̄)T d

F− = {(d1 , d2 ) : 6d1 + 8d2 < 0},


F+ = {(d1 , d2 ) : 6d1 + 8d2 > 0},
F̄+ = {(d1 , d2 ) : 6d1 + 8d2 ≥ 0, d 6= 0}.

En este caso

Dd = F− ,
Da = F̄+ . 3

Ejemplo 6.3. f (x1 , x2 ) = x31 + (x2 − 3)4 en R2 , x̄ = (0, 2).

F− = {(d1 , d2 ) : 0d1 − 4d2 < 0},


F− = {(d1 , d2 ) : d2 > 0},
F̄ = {(d1 , d2 ) : d2 = 0, d1 6= 0},
F+ = {(d1 , d2 ) : d2 < 0}.

En este ejemplo, en F̄ hay direcciones de ascenso y de descenso:

d1 = (−1, 0) ∈ F̄ es dirección de descenso,


d2
= (1, 0) ∈ F̄ es dirección de ascenso. 3

95
CAPÍTULO 6. CONDICIONES DE KARUSH-KUHN-TUCKER

Definición 6.3. Sean: d ∈ Rn , d 6= 0, x̄ ∈ A. d es dirección realizable


o admisible (local) o factible en el punto x̄ con respecto al conjunto A,
si existe ε > 0 tal que

x̄ + λd ∈ A para todo λ ∈]0, ε[.


Sea Dr el conjunto de direcciones realizables o admisibles en el punto x̄ con
respecto al conjunto A. Los tres resultados siguientes son consecuencias
directas de las definiciones.
Proposición 6.2. Si x̄ es un punto interior de A, entonces Dr = Rn \ {0}.
O sea, todo vector no nulo es dirección realizable.
Proposición 6.3. Si x̄ es un minimizador local de PM, entonces

Dr ∩ Dd = ∅.
Proposición 6.4. Sean: x̄ ∈ A, f diferenciable en x̄. Si x̄ es un mini-
mizador local del PM, entonces

Dr ∩ F− = ∅.

La aplicación de este último resultado se facilita en algunos problemas


de dos variables dibujando la región admisible, siempre y cuando la función
objetivo tenga una interpretación sencilla. Para problemas de tres o más
variables la interpretación geométrica es casi siempre muy difı́cil o imposible.
Para problemas donde la región admisible está definida por desigualdades se
verá, más adelante, un criterio para caracterizar la mayorı́a de las direcciones
realizables mediante los gradientes de algunas desigualdades.
Proposición 6.5. Estos conjuntos de direcciones Dd , Dr , F− , F+ ,...
son conos.
Ejemplo 6.4. Minimizar f (x) = x21 + x22 en A = {(x1 , x2 ) : x1 + x2 ≥ 2, x ≥
0}. Considérese el punto x̄ = (2, 0).
Siempre la primera comprobación que se debe hacer es la factibilidad del
punto, en este caso, como x̄ cumple todas las restricciones, entonces está en
A. Al dibujar el conjunto A se observa que éste es simplemente el primer
cuadrante quitándole un pedazo de punta de forma triángular. El punto
x̄ es uno de los puntos extremos de A. Las direcciones realizables son las
comprendidas entre la dirección oriente inclusive y la dirección noroccidental
inclusive,

96
6.1. GENERALIDADES

Dr = {(d1 , d2 ) : d2 ≥ 0, d1 + d2 ≥ 0, d 6= 0}.
Las direcciones de descenso son simplemente aquellas que van, por lo menos
parcialmente, hacia la izquierda,

Dd = {(d1 , d2 ) : d1 < 0}.


Como los dos conjuntos no son disyuntos, por ejemplo d = (−1, 2) está en
ambos, entonces x̄ = (2, 0) no es minimizador local. 3

Ejemplo 6.5. Minimizar f (x) = x21 + x22 en A = {(x1 , x2 ) : x1 + x2 ≥


2, x ≥ 0}. Considérese el punto x̄ = (2, 2). Este punto cumple todas las
restricciones, entonces es factible. Como es punto interior

Dr = Rn \ {0}.
Además F− = {(d1 , d2 ) : d1 + d2 < 0}.

Como los dos conjuntos no son disyuntos, entonces x̄ = (2, 2) no es mini-


mizador local. 3

Ejemplo 6.6. Minimizar f (x) = x21 + x22 en A = {(x1 , x2 ) : x1 + x2 ≥ 2, x ≥


0}. Considérese el punto x̄ = (1, 1). Este punto cumple todas las restric-
ciones, entonces es factible. Las direcciones realizables son las comprendidas
entre la dirección suroriental inclusive, pasando por la dirección oriente y la
dirección norte, hasta la dirección noroccidental inclusive:

Dr = {(d1 , d2 ) : d1 + d2 ≥ 0, d 6= 0}.
Dd = F− = {(d1 , d2 ) : d1 + d2 < 0}.

Como los dos conjuntos son disyuntos, entonces x̄ = (1, 1) es buen candidato
a minimizador local. Por otro lado, es “claro” que es el punto de A más
cercano al origen. 3

Ejemplo 6.7. Minimizar f (x) = -x1 en A = {(x1 , x2 ) : x21 + x22 ≥ 1, x21 +


(x2 + 1)2 ≤ 4, x1 ≥ 0}. Considérese el punto factible x̄ = (0, 1). El conjunto
admisible tiene forma de cuerno. En la punta (0, 1) hay dos circunferencias
tangentes. Razonamientos geométricos permiten afirmar que en este punto
no hay direcciones realizables, entonces Dr = ∅, luego Dr ∩Dd = ∅. Según lo
anterior x̄ = (0, 1) es un buen candidato a minimizador local. Minimizar f

97
CAPÍTULO 6. CONDICIONES DE KARUSH-KUHN-TUCKER

corresponde a maximizar x1 , o sea, el minimizador es el punto realizable que


tenga más grande la primera coordenada.
√ El minimizador global es (2, -1).
Si ε > 0 es pequeño, el punto (ε, 1 − ε2 ) es factible, está muy cerca de
(0, 1) y además mejora el valor de f . Lo anterior muestra que x̄ = (0, 1) no
es minimizador local. 3

La mayorı́a de los problemas de programación no lineal se plantean como


la minimización de una función f en un conjunto definido por desigualdades
e igualdades. Para facilitar el estudio de las condiciones de Karush-Kuhn-
Tucker, KKT, se presentará primero el problema únicamente con desigual-
dades y posteriormente con desigualdades e igualdades. Las funciones gi , hj
están definidas en Rn y tienen valor real.

min f (x) (PMD)


g1 (x) ≤ 0
g2 (x) ≤ 0
...
gm (x) ≤ 0.

min f (x) (PMDI)


g1 (x) ≤ 0
g2 (x) ≤ 0
...
gm (x) ≤ 0
h1 (x) = 0
h2 (x) = 0
...
hl (x) = 0.

En todos los casos A indica el conjunto de puntos admisibles o realizables,


es decir, el conjunto de puntos que cumplen todas las restricciones.
Definición 6.4. Se dice que la desigualdad gi (x) ≤ 0 está activa o sat-
urada en un punto x̄ si se cumple exactamente la igualdad, es decir, si
gi (x̄) = 0. Se dice que la desigualdad gi (x) ≤ 0 está inactiva o no satu-
rada o pasiva en un punto x̄ si se cumple estrictamente la desigualdad,

98
6.1. GENERALIDADES

es decir, si gi (x̄) < 0. Sea x̄ admisible. Se denotará por I el conjunto de


ı́ndices de las desigualdades activas o saturadas:

I = {i : gi (x̄) = 0}.
Obsérvese que una desigualdad se cumple o no se cumple en un punto
x̄. Si se cumple puede estar activa o inactiva.
Si para todo i ∈ I las funciones gi son diferenciables, sea

G− = {d : gi0 (x̄)T d < 0 ∀i ∈ I},


Ḡ− = {d : gi0 (x̄)T d ≤ 0 ∀i ∈ I, d 6= 0}.

Proposición 6.6. Sea x̄ tal que:


x̄ es un punto admisible del PMD,
gi es diferenciable en x̄ para i ∈ I,
gi es continua en x̄ para i ∈/ I.
Entonces:

G− ⊆ Dr ⊆ Ḡ− .
Como corolario de la proposición anterior:
Proposición 6.7. Sea x̄ tal que:
x̄ es un punto admisible del PMD,
f es diferenciable en x̄,
gi es diferenciable en x̄ para i ∈ I,
gi es continua en x̄ para i ∈/ I.
Si x̄ es un minimizador local del PMD, entonces:

Dd ∩ G− = ∅,
F− ∩ Dr = ∅,
F− ∩ G− = ∅.

Ejemplo 6.8. Considere x̄ = (1, 3) para el siguiente problema:

min f (x) = (x1 − 3)2 + (x2 − 2)2


x2 ≥ x21 + 2
x1 ≥ 0

99
CAPÍTULO 6. CONDICIONES DE KARUSH-KUHN-TUCKER

x2 ≥ 5/2.

Es necesario plantear el problema en la forma usual:

min f (x) = (x1 − 3)2 + (x2 − 2)2


x21 − x2 + 2 ≤ 0
−x1 ≤ 0
−x2 + 5/2 ≤ 0.

Ante todo se estudia la factibilidad del punto x̄ y se observa que cumple


todas las restricciones. Además se deduce que I = {1} ya que la única
restricción activa es la primera. También f , g1 son diferenciables en x̄ ; g2 ,
g3 son continuas en x̄ ; f 0 (x̄) = [−4 2]T , g10 (x̄) = [2 -1]T ,

F− = {(d1 , d2 ) : − 4d1 + 2d2 < 0},


G− = {(d1 , d2 ) : 2d1 − d2 < 0}.

Claramente los dos conjuntos son disyuntos, entones x̄ = (1, 3) es un buen


candidato a minimizador local. Al dibujar la región admisible y teniendo en
cuenta que f representa el cuadrado de la distancia de un punto x = (x1 , x2 )
a (3, 2), se “observa” que el minimizador global es precisamente x̄ = (1, 3). 3

Ejemplo 6.9. Considere x̄ = (1, 1) para el siguiente problema:

min f (x) = (x1 − 3)2 + (x2 − 2)2


x21 − x2 + 2 ≤ 0
−x1 ≤ 0
−x2 + 5/2 ≤ 0.

El punto x̄ no es admisible. 3

Ejemplo 6.10. Considere x̄ = (0, 5/2) para el siguiente problema:

min f (x) = (x1 − 3)2 + (x2 − 2)2


x21 − x2 + 2 ≤ 0
−x1 ≤ 0

100
6.2. PROBLEMAS CON DESIGUALDADES

−x2 + 5/2 ≤ 0.

El punto x̄ es factible; I = {2, 3}; f , g2 , g3 son diferenciables en x̄; g1 es


continua en x̄; f 0 (x̄) = [-6 1]T , g20 (x̄) = [-1 0]T , g30 (x̄) = [0 -1]T ,

F− = {(d1 , d2 ) : − 6d1 + d2 < 0},


G− = {(d1 , d2 ) : d1 > 0, d2 > 0}.

Estos dos conjuntos no son disyuntos, d = (1, 1) está en ambos conjuntos,


luego x̄ = (0, 5/2) no es minimizador local. 3

Ejemplo 6.11. Considere x̄ = (1, 1) para el siguiente problema:

min f (x) = (x1 − 5)2 + x22


x1 + x2 − 2 ≤ 0
-x1 -x2 + 2 ≤ 0
−x1 ≤ 0
−x2 ≤ 0.

El punto x̄ es factible; I = {1, 2}; f , g1 , g2 son diferenciables en x̄; g3 ,


g4 son continuas en x̄; f 0 (x̄) = [-8 2]T , g10 (x̄) = [1 1]T , g20 (x̄) = [-1 -1]T ,

F− = {(d1 , d2 ) : − 8d1 + 2d2 < 0},


G− = {(d1 , d2 ) : d1 + d2 < 0, −d1 − d2 < 0} = ∅.

Estos dos conjuntos son disyuntos, luego x̄ = (1, 1) es candidato a mini-


mizador local. Sin embargo, no lo es ya que si ε > 0 es pequeño, el punto
(1 + ε, 1 − ε) es factible, está muy cerca de (1, 1) y además mejora el valor
de f . Lo anterior muestra que x̄ = (1, 1) no es minimizador local. El mini-
mizador global es el punto (2, 0). 3

6.2 PROBLEMAS CON DESIGUALDADES


El estudio sistemático de los conjuntos F- , G- da lugar a las condiciones
de Fritz John y a las condiciones de Karush-Kuhn-Tucker. Estas condi-
ciones también son conocidas con el nombre de Kuhn-Tucker únicamente,
sin embargo, se da también crédito al trabajo de Karush en una tesis de

101
CAPÍTULO 6. CONDICIONES DE KARUSH-KUHN-TUCKER

maestrı́a de la Universidad de Chicago, en 1939. Las condiciones de KKT,


cuando se pueden aplicar, permiten un manejo algorı́tmico y preciso, aún
para problemas con muchas variables.

Definición 6.5. Un punto x̄ admisible para el PMD tal que: gi es diferen-


ciable en x̄ para i ∈ I, se llama regular si los gradientes gi0 (x̄) para i ∈ I
son linealmente independientes o si I = ∅.

Proposición 6.8. Condiciones necesarias de KKT para el PMD. Sea x̄ tal


que:
x̄ es un punto admisible del PMD,
f es diferenciable en x̄,
gi es diferenciable en x̄ para i ∈ I,
gi es continua en x̄ para i ∈/ I, y
x̄ es regular.
Si x̄ es un minimizador local del PMD, entonces existen escalares ui , i ∈ I,
tales que:

X
f 0 (x̄) + ui gi0 (x̄) = 0, (6.1)
i∈I
ui ≥ 0 , i ∈ I.

Ejemplo 6.12. Considere x̄ = (0, 2) para el siguiente problema:

min f (x) = (x1 − 3)2 + (x2 − 2)2


x21 − x2 + 2 ≤ 0
−x1 ≤ 0
−x2 + 5/2 ≤ 0.

El punto x̄ es no es factible, luego no puede ser minimizador. 3

Ejemplo 6.13. Considere x̄ = (1, 3) para el siguiente problema:

min f (x) = (x1 − 3)2 + (x2 − 2)2


x21 − x2 + 2 ≤ 0
−x1 ≤ 0
−x2 + 5/2 ≤ 0.

102
6.2. PROBLEMAS CON DESIGUALDADES

El punto x̄ es factible; I = {1} ; f , g1 son diferenciables en x̄ ; g2 , g3


son continuas en x̄ ; el conjunto formado por el gradiente g10 (x̄) = [2 -1]T es
linealmente independiente, luego x̄ es regular.

     
X -4 2 0
f 0 (x̄) + ui gi0 (x̄) = + u1 = ,
2 -1 0
i∈I

entonces

u1 = 2 ≥ 0.
Luego x̄ = (1, 3) es un buen candidato a minimizador local. 3

Ejemplo 6.14. Considere x̄ = (0, 5/2) para el siguiente problema:

min f (x) = (x1 − 3)2 + (x2 − 2)2


x21 − x2 + 2 ≤ 0
−x1 ≤ 0
−x2 + 5/2 ≤ 0.

El punto x̄ es factible, I = {2, 3}, f , g2 , g3 son diferenciables en x̄, g1


es continua en x̄, el conjunto formado por los gradientes g20 (x̄) = [-1 0]T ,
g30 (x̄) = [0 -1]T es linealmente independiente, luego x̄ es regular.

       
0
X -6 -1 0 0
f (x̄) + ui gi0 (x̄) = + u2 + u3 = ,
1 0 -1 0
i∈I

entonces

u2 = −6  0 , u3 = 1.
Luego x̄ = (0, 5/2) no es minimizador local. 3

Ejemplo 6.15. Considere x̄ = (1, 1) para el siguiente problema:

min f (x) = x21 + x22


2 − x1 − x2 ≤ 0
1 − x1 ≤ 0

103
CAPÍTULO 6. CONDICIONES DE KARUSH-KUHN-TUCKER

1 − x2 ≤ 0.

El punto x̄ es factible; I = {1, 2, 3} ; f , g1 , g2 , g3 son diferenciables en


x̄, pero el conjunto formado por los tres gradientes no es linealmente in-
dependiente, luego no se puede aplicar el teorema. Sin embargo, el punto
x̄ = (1, 1) sı́ es el minimizador global. En este ejemplo sencillo se puede ver
que al suprimir la primera restricción el conjunto admisible no cambia. O
sea, el problema anterior es exactamente equivalente a:

min f (x) = x21 + x22


1 − x1 ≤ 0
1 − x2 ≤ 0.

El punto x̄ = (1, 1) es factible; I = {1, 2}, f , g1 , g2 son diferenciables en


x̄ ; el conjunto formado por los gradientes g10 (x̄) = [-1 0]T , g20 (x̄) = [0 -1]T
es linealmente independiente, luego x̄ es regular.

       
2 -1 0 0
+ u1 + u2 = ,
2 0 -1 0
entonces,

u1 = 2 ≥ 0 , u2 = 2 ≥ 0.
Luego x̄ = (1, 1) es candidato a minimizador local. 3
Ejemplo 6.16. Considere x̄ = (0, 1) para el siguiente problema:

min f (x1 , x2 ) = −x2


−x21 − x22 + 1 ≤ 0
x21 + (x2 + 1)2 − 4 ≤ 0
−x2 ≤ 0.

El punto x̄ es factible; I = {1, 2} ; f , g1 , g2 son diferenciables en x̄ ; g3 es


continua en x̄; el conjunto formado por los dos gradientes g10 (x̄) = [0 -2]T ,
g20 (x̄) = [0 4]T no es linealmente independiente, luego no se puede aplicar el
teorema. Sin embargo, al construir la región admisibles, se “ve” que el punto
x̄ = (0, 1) sı́ es el minimizador global. Acá no se puede quitar ninguna de
las restricciones pues el conjunto admisible se altera. Habrı́a necesidad de
utilizar otros criterios para el estudio de este problema. 3

104
6.2. PROBLEMAS CON DESIGUALDADES

En los ejemplos anteriores ha sido relativamente simple saber si un punto


x̄ cumple o no cumple condiciones de KKT. En un caso general, suponiendo
x̄ admisible y regular, se trata de resolver un problema de la forma

Ay = b
y ≥ 0,

donde A es una matriz n × m̄, siendo m̄ el número de desigualdades satu-


radas; b = −f 0 (x̄); y el vector columna m̄ × 1 compuesto por las variables
ui , i ∈ I ; las columnas de A son los gradientes de las desigualdades acti-
vas evaluados en x̄. Como x̄ es regular, entonces las columnas de A son
linealmente independientes, luego m̄ ≤ n.
El problema anterior se puede resolver de dos maneras, la primera con-
siste en resolver el siguiente problema de programación lineal

min z = 0T y
Ay = b
y ≥ 0.

Resolver este problema de PL equivale simplemente a encontrar un punto


que cumpla las restricciones Ay = b, y ≥ 0. Muy posiblemente es necesario
introducir variables artificiales y efectuar únicamente la primera fase del
método de las dos fases para saber si hay puntos admisibles de este prob-
lema de PL (x̄ es punto de KKT) o no hay puntos admisibles (x̄ no es
minimizador).
La segunda forma de encontrar la solución consiste en resolver el sistema
Ay = b y ver si hay solución tal que y ≥ 0. Más precisamente:
1) Construir la matriz ampliada  = [A b] de tamaño n × (m̄ + 1).
2) Convertirla, mediante operaciones elementales por filas, en una matriz
 
I c
Â0 = ,
0 d

donde I es la matriz identidad de orden m̄, 0 es la matriz (n − m̄) × m̄


compuesta por ceros, c es un vector columna m̄ × 1, d es un vector columna
(n − m̄) × 1, es decir, se obtiene el siguiente sistema equivalente

105
CAPÍTULO 6. CONDICIONES DE KARUSH-KUHN-TUCKER

   
I c
y= ,
0 d
o sea,

Iy = c
0y = d.

El paso 2) siempre es posible puesto que las columnas de A son linealmente


independientes.
3) Si d 6= 0 , el sistema Ay = b no tiene solución y el punto x̄ no es
minimizador local. Si d = 0 , el sistema Ay = b tiene como única solución
y = c.
4) Si y = c ≥ 0 , el punto x̄ es punto de KKT. Si y = c  0 , entonces x̄ no
es minimizador local.
Ejemplo 6.17. Considere x̄ = (1, 1, 1, 1) para el siguiente problema:

min f (x) = x21 + 3x22 + x23 + x24

(x1 − 4)2 + x22 + x23 + x24 − 15 ≤ 0


1 − x2 ≤ 0
10 − x1 − 2x2 − 3x3 − 4x4 ≤ 0
4 − x1 − x2 − x3 − x4 ≤ 0.

El punto x̄ es factible; I = {2, 3, 4} ; f , g2 , g3 , g4 son diferenciables en x̄ ;


g1 es continua en x̄ ; el conjunto formado por los gradientes

g20 (x̄) = [ 0 -1 0 0 ]T ,
g30 (x̄) = [ -1 -2 -3 -4 ]T ,
g40 (x̄) = [ -1 -1 -1 -1 ]T
es linealmente independiente. El gradiente de f es f 0 (x̄) = [2 6 2 2]T . El
problema que hay que resolver es el siguiente:

   
0 -1 -1   -2
 -1 y1
-2 -1  
  -6 

 0 y2  =  
-3 -1   -2 
y3
0 -4 -1 -2

106
6.2. PROBLEMAS CON DESIGUALDADES

y ≥ 0,
donde y1 = u2 , y2 = u3 , y3 = u4 . Si se resuelve por PL,

min z = 0y1 + 0y2 + 0y3

   
0 -1 -1   -2
 -1 y1
-2 -1  
  -6 

 0 y2  =  
-3 -1   -2 
y3
0 -4 -1 -2
y ≥ 0.
Cambiando signos para obtener términos independientes no negativos, intro-
duciendo 4 variables artificiales (podrı́a bastar con 3 ya que y1 sirve como
segunda variable básica) y planteando la función objetivo artificial de la
primera fase, se tiene

min za = 0y1 + 0y2 + 0y3 + y4 + y5 + y6 + y7

  y   
0 1 1 1 0 0 0 1 2
 1  y2 
2 1 0 1 0 0 
  6 
 = 

0   ... 
 
 0 3 1 0 0 1
  2 
0 4 1 0 0 0 1 y7 2
y ≥ 0.
Al final de la primera fase u2 = y1 = 4, u3 = y2 = 0, u4 = y3 = 2,
y4 = y5 = y6 = y7 = 0, za∗ = 0, luego hay puntos factibles. Entonces x̄ es
punto de KKT.
Si se resuelve de la segunda manera, se construye la matriz ampliada
 
0 -1 -1 -2
 -1 -2 -1 -6 
 0 -3 -1 -2  ,
 

0 -4 -1 -2
y por medio de operaciones elementales sobre las filas se llega a
 
1 0 0 4
 0 1 0 0 
 0 0 1 2 ,
 

0 0 0 0

107
CAPÍTULO 6. CONDICIONES DE KARUSH-KUHN-TUCKER

lo cual indica, primero, que el sistema sı́ tiene solución, y, segundo, que
la solución tiene todas sus componentes no negativas, luego x̄ es punto de
KKT. 3

Si las funciones gi , i ∈
/ I son diferenciables en x̄, y si se considera que los
ui correspondientes son nulos, la admisibilidad y las condiciones necesarias
de KKT se pueden escribir ası́:

gi (x̄) ≤ 0 , i = 1, ..., m (6.2)


m
X
f 0 (x̄) + ui gi0 (x̄) = 0 (6.3)
i=1
ui ≥ 0 , i = 1, ..., m
ui gi (x̄) = 0 , i = 1, ..., m. (6.4)

La primera condición que debe cumplir un punto x̄ para tratar de ser


minimizador, es la de ser admisible, o sea, cumplir todas las restricciones
gi (x̄) ≤ 0. Estas condiciones (6.2) se conocen también con el nombre de
condiciones de factibilidad principal o “primal” (con frecuencia se
utiliza en español técnico la palabra “primal”, aunque
P puede ser un angli-
cismo). La existencia de ui ≥ 0, tales que f 0 (x̄) + ui gi0 (x̄) = 0, se conoce
con el nombre de condiciones de factibilidad dual (6.3). Las condiciones
(6.4) ui gi (x̄) = 0 se conocen con el nombre de condiciones de holgura
complementaria.
Si g(x̄) denota el vector columna [g1 (x̄) g2 (x̄) ... gm (x̄)]T , g 0 (x̄) de-
nota la matriz n × m cuyas columnas son los gradientes g10 (x̄), g20 (x̄),...,
0 (x̄), y teniendo en cuenta que uT g(x̄) es suma de números no positivos,
gm
entonces la admisibilidad y las condiciones necesarias de KKT se pueden
escribir

g(x̄) ≤ 0
0 0
f (x̄) + g (x̄)u = 0
u ≥ 0
T
u g(x̄) = 0.

Introduciendo la función lagrangiana, o simplemente el lagrangiano, fun-


ción de n + m variables x1 , ..., xn , u1 , ..., um

108
6.2. PROBLEMAS CON DESIGUALDADES

m
X
L(x, u) = f (x) + ui gi (x) = f (x) + uT g(x),
i=1

y denotando por L0x (x̄, u)


las componentes del gradiente L0 (x̄, u) correspon-
dientes a las derivadas parciales de L con respecto a las variables xj , y
de manera análoga L0u (x̄, u), entonces la admisibilidad y las condiciones de
KKT se expresan

L0u (x̄, u) ≤ 0
L0x (x̄, u) = 0
u ≥ 0
uT
L0u (x̄, u) = 0.

Los coeficientes ui se conocen con el nombre de coeficientes de KKT


o coeficientes de Lagrange. Un punto que cumple las condiciones
necesarias de KKT se llama un punto de KKT.

Proposición 6.9. Condiciones suficientes de KKT para el PMD. Si el punto


x̄ cumple las condiciones necesarias de KKT para el PMD y además
f es seudoconvexa en x̄,
gi es cuasiconvexa y diferenciable en x̄ para i ∈ I,
entonces x̄ es un minimizador global del PMD.

Ejemplo 6.18. Considere x̄ = (1, 3) para el siguiente problema:

min f (x) = (x1 − 3)2 + (x2 − 2)2


x21 − x2 + 2 ≤ 0
−x1 ≤ 0
−x2 + 5/2 ≤ 0.

El punto x̄, como se vio en el ejemplo 6.8, cumple las condiciones necesarias
de KKT. Falta por ver si f es seudoconvexa en x̄ y si g1 es diferenciable y
cuasiconvexa en x̄. La matriz hessiana de f ,
 
00 2 0
f (x) = ,
0 2

109
CAPÍTULO 6. CONDICIONES DE KARUSH-KUHN-TUCKER

es definida positiva para todo x, luego f es convexa. Como es diferenciable,


entonces es seudoconvexa y en particular es seudoconvexa en x̄. La función
g1 es diferenciable, su matriz hessiana,
 
00 2 0
g1 (x) = ,
0 0
es semidefinida positiva para todo x, luego g1 es convexa, entonces es cua-
siconvexa y en particular es cuasiconvexa en x̄. Luego x̄ = (1, 3) es mini-
mizador global. 3

Ejemplo 6.19. Considere x̄ = (1, 1) para el siguiente problema:

min f (x) = cos x1 + exp(x1 + x2 )


2 − x1 − x2 ≤ 0
x21 + x22 − 2 ≤ 0.

Obviamente este punto es minimizador global puesto que es el único punto


admisible. Sin embargo, no es un punto de KKT (no es regular), luego no
cumple condiciones suficientes. 3

6.3 PROBLEMAS CON DESIGUALDADES E


IGUALDADES
Para el PMDI (problema de minimización con desiguladades e igualdades),
sea p = m̄ + l, es decir, p es el número de desigualdades activas más el
número de igualdades.

Definición 6.6. Un punto x̄ admisible para el PMDI tal que: gi es difer-


enciable en x̄ para i ∈ I , hj es diferenciable en x̄ para todo j , se llama
regular si los gradientes gi0 (x̄) con i ∈ I y h0j (x̄), ∀j son linealmente inde-
pendientes, o si p = 0, o sea, si I = ∅ y l = 0.

Proposición 6.10. Condiciones necesarias de Karush-Kuhn-Tucker para el


PMDI. Sea x̄ tal que:
x̄ es un punto admisible del PMDI,
f es diferenciable en x̄,
gi es diferenciable en x̄ para i ∈ I,
hj es diferenciable en x̄ para todo j,
gi es continua en x̄ para i ∈/ I, y

110
6.3. PROBLEMAS CON DESIGUALDADES E IGUALDADES

x̄ es regular.
Si x̄ es un minimizador local del PMDI, entonces existen escalares ui , i ∈ I,
vj ∀j tales que:

X l
X
f 0 (x̄) + ui gi0 (x̄) + vj h0j (x̄) = 0, (6.5)
i∈I j=1
ui ≥ 0 , i∈I

Ejemplo 6.20. Considere x̄ = (1, 3) para el siguiente problema:

min f (x) = (x1 − 3)2 + (x2 − 2)2


−x1 ≤ 0
−x2 + 5/2 ≤ 0
−x21 + x2 − 2 = 0.

El punto x̄ es factible, I = ∅, f , h1 son diferenciables en x̄, g1 , g2 son


continuas en x̄, el conjunto formado por el gradiente h01 (x̄) = [-2 1]T es
linealmente independiente, o sea, x̄ es regular.

l      
0
X X -4 -2 0
f (x̄) + ui gi0 (x̄) + vj h0j (x̄) = + v1 = ,
2 1 0
i∈I j=1

entonces
v1 = −2.
Luego x̄ = (1, 3) es buen candidato a minimizador local. 3

Ejemplo 6.21. Considere x̄ = ( 2/2, 5/2) para el siguiente problema:

min f (x) = (x1 − 3)2 + (x2 − 2)2


−x1 ≤ 0
−x2 + 5/2 ≤ 0
−x21 + x2 − 2 = 0.

El punto x̄ es factible, I = {2}, f , g2 , h1 son diferenciables en x̄, g1 es


continua en √ x̄, el conjunto formado por los gradientes g20 (x̄) = [0 -1]T ,
0 T
h1 (x̄) = [- 2 1] es linealmente independiente, o sea, x̄ es regular.

111
CAPÍTULO 6. CONDICIONES DE KARUSH-KUHN-TUCKER

 √     √   
2-6 0 - 2 0
+ u2 + v1 = ,
1 -1 1 0

entonces
√ √
u2 = 2 − 3 2  0 , v1 = 1 − 3 2.

Luego x̄ = ( 2/2, 5/2) no es minimizador local. 3

De manera análoga a los problemas con desigualdades, para saber si x̄


admisible es punto de KKT, se debe resolver un problema de la forma

 
y
A = b
v
y ≥ 0.

donde A es una matriz n×p, siendo p = m̄+l, m̄ el número de desigualdades


saturadas; b = −f 0 (x̄) ; y es el vector columna m̄ × 1 compuesto por las
variables ui , i ∈ I ; v el vector columna l × 1 compuesto por las variables
vj ; las columnas de A son los gradientes de las desigualdades activas y de
las igualdades evaluados en x̄. Como x̄ es regular, entonces las columnas de
A son linealmente independientes, luego p = m̄ + l ≤ n.
El problema anterior se puede resolver de dos maneras, la primera con-
siste en resolver el siguiente problema de programación lineal

min z = 0T y + 0T v
 
y
A = b
v
y ≥ 0
v ∈ Rl .

Si el algoritmo que se va a usar supone que todas las variables son no


negativas, entonces es necesario convertir el problema de PL anterior en uno
con todas las variables no negativas. Lo usual es descomponer cada variable
vj en la diferencia de dos variables no negativas vj = vj+ − vj− , con vj+ , vj− ≥
0 , y efectuar los cambios correspondientes. Además muy posiblemente es
necesario introducir variables artificiales y efectuar únicamente la primera

112
6.3. PROBLEMAS CON DESIGUALDADES E IGUALDADES

fase del método de las dos fases para saber si hay puntos admisibles de este
problema de PL (x̄ es punto de KKT) o no hay puntos admisibles (x̄ no es
minimizador).
La segunda forma de encontrar la solución consiste en resolver el sistema
 
y
A =b
v
y ver si hay solución tal que y ≥ 0. Más precisamente:
1) Construir la matriz ampliada  = [A b] de tamaño n × (p + 1).
2) Convertirla, mediante operaciones elementales por filas, en una matriz
 
Im̄ 0 c
Â0 =  0 Il e  ,
0 0 d
donde c es un vector columna m̄ × 1, e es un vector columna l × 1, d es
un vector columna (n − m̄ − l) × 1, es decir, se obtiene el siguiente sistema
equivalente
   
Im̄ 0   c
 0 Il  y
=  e ,
v
0 0 d
o sea,

Im̄ y = c
Il v = e
0y + 0v = d.

El paso 2) siempre es posible puesto que las columnas de A son linealmente


independientes.
 
y
3) Si d 6= 0 el sistema A = b no tiene solución y el punto x̄ no es
v
minimizador local. Si d = 0 el sistema tiene como única solución y = c,
v = e.
4) Si y = c ≥ 0 el punto x̄ es punto de KKT. Si y = c  0, entonces x̄ no es
minimizador local.

Ejemplo 6.22. Considere x̄ = (1, 1, 1, 1) para el siguiente problema:

113
CAPÍTULO 6. CONDICIONES DE KARUSH-KUHN-TUCKER

min f (x) = x21 + 3x22 + x23 + x24

(x1 − 4)2 + x22 + x23 + x24 − 15 ≤ 0


1 − x2 ≤ 0
x1 + 2x2 + 3x3 + 4x4 − 10 = 0
x1 + x2 + x3 + x4 − 4 = 0.

El punto x̄ es factible, I = {2}, f , g2 , h1 , h2 son diferenciables en x̄, g1


es continua en x̄, el conjunto formado por los gradientes

g20 (x̄) = [ 0 -1 0 0 ]T ,
h01 (x̄) = [ 1 2 3 4 ]T ,
h02 (x̄) = [ 1 1 1 1 ]T

es linealmente independiente. El gradiente de f es f 0 (x̄) = [2 6 2 2]T . El


problema que hay que resolver es el siguiente:

   
0 1 1   -2
 -1 y1
2 1 
  -6 

 0 v1  =  
3 1   -2 
v2
0 4 1 -2
y ≥ 0,

donde y1 = u2 . Si se resuelve como un problema de PL con variables no


negativas, entonces se hacen los cambios v1 = v1+ − v1- , v2 = v2+ − v2- , y se
considera la función objetivo más sencilla

min z = 0y1 + 0v1+ + 0v2+ + 0v1- + 0v2-

 
  y1  
0 1 1 -1 -1  -2
 -1 v1+ 
2 1 -2 -1   -6
v2+
  
   =  
 0 3 1 -3 -1 
   -2 
 v1- 
0 4 1 -4 -1 -2
v2-
y, v1+ , v2+ , v1- , v2- ≥ 0.

114
6.3. PROBLEMAS CON DESIGUALDADES E IGUALDADES

Al resolver este problema de PL con variables no negativas se obtiene u2 =


y1 = 4, v1+ = 0, v2+ = 0, v1- = 0, v2- = 2, luego v1 = 0, v2 = −2.
Entonces x̄ es un punto de KKT.
Si se resuelve de la segunda manera, se construye la matriz ampliada
 
0 1 1 -2
 -1 2 1 -6 
 .
 0 3 1 -2 
0 4 1 -2
Por medio de operaciones elementales sobre las filas se llega a
 
1 0 0 4
 0 1 0 0 
 ,
 0 0 1 -2 
0 0 0 0
lo cual indica primero, que el sistema sı́ tiene solución, y, segundo, que y, una
parte de la solución, tiene todas sus componentes no negativas: u2 = y1 = 4,
luego x̄ es punto de KKT. 3

Si las funciones gi , i ∈
/ I son diferenciables en x̄, y si se considera que los
ui correspondientes son nulos, la admisibilidad y las condiciones necesarias
de KKT se pueden escribir ası́:

gi (x̄) ≤ 0 , i = 1, ..., m
hj (x̄) = 0 , j = 1, ..., l
m
X l
X
f 0 (x̄) + ui gi0 (x̄) + vj h0j (x̄) = 0
i=1 j=1
ui ≥ 0 , i = 1, ..., m
ui gi (x̄) = 0 , i = 1, ..., m.

Si g(x̄) denota el vector columna [g1 (x̄) g2 (x̄) ... gm (x̄)]T , g 0 (x̄) denota
la matriz n×m cuyas columnas son los gradientes g10 (x̄), g20 (x̄),..., gm 0 (x̄), h(x̄)
T 0
denota el vector columna [h1 (x̄) h2 (x̄) ... hl (x̄)] , h (x̄) denota la matriz
n × l cuyas columnas son los gradientes h01 (x̄), h02 (x̄),..., h0l (x̄), entonces la
admisibilidad y las condiciones necesarias de KKT se pueden escribir

115
CAPÍTULO 6. CONDICIONES DE KARUSH-KUHN-TUCKER

g(x̄) ≤ 0
h(x̄) = 0
0 0 0
f (x̄) + g (x̄)u + h (x̄)v = 0
u ≥ 0
T
u g(x̄) = 0.

Utilicemos la función lagrangiana, o simplemente el lagrangiano, función


de n + m + l variables x1 , ..., xn , u1 , ..., um , v1 , ..., vl , definida por:

m
X l
X
L(x, u, v) = f (x) + ui gi (x) + vj hj (x)
i=1 j=1
= f (x) + uT g(x) + v T h(x).

Denotemos por L0x (x̄, u, v) las componentes del gradiente del lagrangiano
L0 (x̄, u, v) correspondientes a las derivadas parciales de L con respecto a
las variables xj , y de manera análoga L0u (x̄, u, v) y L0v (x̄, u, v). Entonces la
admisibilidad y las condiciones de KKT se expresan ası́ :

L0u (x̄, u, v) ≤ 0
L0v (x̄, u, v) = 0
L0x (x̄, u, v) = 0
u ≥ 0
u T
L0u (x̄, u, v) = 0.

Estudiar, uno a uno, puntos admisibles puede ser un proceso inacabable.


Para problemas pequeños, sin partir de un punto admisible explı́cito, se
puede tratar de resolver completamente un problema estudiando todas las
posibilidades para el conjunto I.

Ejemplo 6.23. Resolver, utilizando condiciones de KKT, el siguiente prob-


lema:

min f (x) = (x1 − 3)2 + (x2 − 2)2


−x1 ≤ 0

116
6.3. PROBLEMAS CON DESIGUALDADES E IGUALDADES

−x2 + 5/2 ≤ 0
−x21 + x2 − 2 = 0.

En este ejemplo el conjunto admisible A es no acotado y cerrado (pues es


intersección de cerrados), la función f es continua y coercitiva, entonces
el PMDI tiene por lo menos un minimizador global. Sea x̄ un punto ad-
misible. Como no se sabe exactamente qué punto es, entonces es necesario
estudiar todas las posibilidades. Estas se pueden agrupar en función de las
posibilidades de I: I = ∅, I = {1}, I = {2}, I = {1, 2}.
i) I = ∅ :

l      
0
X X 2(x̄1 -3) −2x̄1 0
f (x̄) + ui gi0 (x̄) + vj h0j (x̄) = + v1 = .
2(x̄2 -2) 1 0
i∈I j=1

Como se tiene que cumplir la igualdad, entonces

−x̄21 + x̄2 − 2 = 0 , luego x̄2 = x̄21 + 2,

     
2(x̄1 − 3) -2x̄1 0
2 + v1 = .
2(x̄1 + 2 − 2) 1 0
De donde

2(x̄1 − 3) − 2v1 x̄1 = 0


2x̄21 + v1 = 0.

Reemplazando v1 = −2x̄21 ,

2(x̄1 − 3) + 4x̄31 = 0
2(2x̄31 + x̄1 − 3) = 0
(x̄1 − 1)(2x̄21 + 2x̄1 + 3) = 0.

El polinomio cuadrático no tiene raı́ces reales ya que su discriminante vale


−20, entonces:

x̄1 = 1

117
CAPÍTULO 6. CONDICIONES DE KARUSH-KUHN-TUCKER

x̄2 = 3
v1 = −2.

Entonces la suposición I = ∅ conduce al punto x̄ = (1, 3) que cumple las


condiciones necesarias de KKT.
ii) I = {1}: como está activa la primera desigualdad y se cumple la igual-
dad, entonces:

−x̄1 = 0
−x̄21 + x̄2 − 2 = 0.

Luego x̄2 = 2, es decir, la suposición I = {1} conduce al punto x̄ = (0, 2)


que no es realizable.
iii) I = {2}: como está activa la segunda desigualdad y se cumple la
igualdad, entonces:

−x̄2 + 5/2 = 0
−x̄21 + x̄2 − 2 = 0.

Luego x̄2 = 5/2, x̄1 = ±√ 2/2, es decir, la suposición I = {2} conduce,
o bien√ al punto x̄ = (− 2/2, 5/2) que no es admisible, o bien al punto
x̄ = ( 2/2, 5/2) que no cumple condiciones necesarias de KKT.
iv) I = {1, 2}: como están activas la primera y la segunda desigualdad y
se cumple la igualdad, entonces:

−x̄1 = 0
−x̄2 + 5/2 = 0
−x̄21 + x̄2 − 2 = 0.

Pero no existe ningún punto que cumpla las tres igualdades. En resumen,
hay un solo punto que cumple condiciones necesarias de KKT, y como existe
por lo menos un minimizador, entonces este punto x̄ = (1, 3) debe ser el
minimizador global. 3

Proposición 6.11. Condiciones suficientes de KKT para el PMDI. Si el


punto x̄ cumple las condiciones necesarias de KKT para el PMDI y además

118
6.4. CONDICIONES DE SEGUNDO ORDEN

f es seudoconvexa en x̄,
gi es cuasiconvexa en x̄ para i ∈ I,
hj es cuasiconvexa en x̄ para vj > 0,
hj es cuasicóncava en x̄ para vj < 0,
entonces x̄ es un minimizador global del PMDI.
Ejemplo 6.24. Considere x̄ = (1, 3) para el siguiente problema:

min f (x) = (x1 − 3)2 + (x2 − 2)2


−x1 ≤ 0
−x2 + 5/2 ≤ 0
−x21 + x2 − 2 = 0.

El punto x̄ cumple condiciones necesarias de KKT, además


 
2 0
f 00 (x) =
0 2
es definida positiva para todo x, luego f es convexa, como es diferenciable,
entonces es seudoconvexa y en particular es seudoconvexa en x̄. La función
h1 es diferenciable, la matriz hessiana de −h1 ,
 
00 2 0
−h1 (x) = ,
0 0
es semidefinida positiva para todo x, luego −h1 es convexa, es decir, h1
es cóncava, entonces es cuasicóncava y en particular es cuasicóncava en x̄.
Luego x̄ = (1, 3) es minimizador global. 3

6.4 CONDICIONES DE SEGUNDO ORDEN


Ası́ como para puntos interiores hay condiciones necesarias (... y hessiana
semidefinida positiva) y condiciones suficientes de segundo orden (... y hes-
siana definida positiva), es decir, que utilizan derivadas parciales de segundo
orden, también hay condiciones de segundo orden para puntos no interiores.
La diferencia principal consiste en que no se exige que la hessiana sea semi-
definida positiva en todo Rn , sino en un subespacio.
Definición 6.7. Sean: A el conjunto admisible de PMDI, x̄ admisible, gi
diferenciable en x̄ para i ∈ I, hj diferenciable en x̄ para todo j, gi continua
en x̄ para i ∈
/ I, x̄ regular. El espacio tangente T es el conjunto de

119
CAPÍTULO 6. CONDICIONES DE KARUSH-KUHN-TUCKER

puntos de Rn ortogonales a los gradientes activos {gi0 (x̄), i ∈ I, h0j (x̄), ∀j} ,
es decir

T = {y ∈ Rn : gi0 (x̄)T y = 0, ∀i ∈ I , h0j (x̄)T y = 0, ∀j}.


Si p = m̄+l = 0, es decir, si no hay desigualdades activas y no hay igualdades

T = Rn .
Si p = n

T = {0}.

Denotando por M la matriz p × n = (m̄ + l) × n, cuyas filas son los


gradientes gi0 (x̄)T , i ∈ I, h0j (x̄)T , j = 1, ..., l, (exactamente la transpuesta de
la matriz A utilizada en el cálculo de los coeficientes ui , vj para un x̄ dado),
el espacio tangente se define sencillamente como

T = {y ∈ Rn : M y = 0}.
Dicho de otra forma, T es simplemente el espacio nulo de la matriz M ,
y claro está, es un subespacio vectorial de Rn . El significado de T puede
tener la siguiente interpretación geométrica en R3 (o en R2 ): Si x̄ está en la
frontera de A, y si se puede construir un plano tangente a la superficie en
x̄ o una única recta tangente, el espacio tangente es un plano (o una recta)
que pasa por el origen y es paralelo al plano tangente (o a la recta tangente).
Ejemplo 6.25. Sean: A en R2 definido por dos desigualdades

(x1 + 1)2 + x22 − 25 ≤ 0


−x1 − x2 ≤ 0,
x̄ = (2, 4). El conjunto A es un pedazo de cı́rculo. La recta tangente a A
en el punto x̄ = (2, 4) es

R = {(y1 , y2 ) : 3y1 + 4y2 = 22}.


El espacio tangente es la recta paralela a R que pasa por el origen:

T = {(y1 , y2 ) : 3y1 + 4y2 = 0}.


Si se considera x̄ = (1, 3), el espacio tangente es todo R2 . Si se considera
x̄ = (−4, 4), no se puede construir “la recta tangente” a A en (−4, 4). El
espacio tangente es T = {(0, 0)}. 3

120
6.4. CONDICIONES DE SEGUNDO ORDEN

Ejemplo 6.26. Sean: A en R3 definido por

x21 + x22 + x23 − 20 ≤ 0,

x̄ = (2, 0, 4). El plano tangente a A en x̄ es

P = {(y1 , y2 , y3 ) : y1 + 2y3 = 10}.


El espacio tangente es el plano paralelo a P que pasa por el origen:

T = {(y1 , y2 , y3 ) : y1 + 2y3 = 0}. 3


Ejemplo 6.27. Sean: A en R3 definido por

x21 + x22 + x23 − 20 ≤ 0,


x1 + 2x2 + 3x3 − 14 = 0,

x̄ = (2, 0, 4). La recta tangente a A, en x̄ es

R = {(2, 0, 4) + t(-4, -1, 2) : t ∈ R}.


El espacio tangente es la recta paralela a R que pasa por el origen:

T = {(y1 , y2 , y3 ) : y1 + 2y3 = 0, y1 + 2y2 + 3y3 = 0}


= {t(-4, -1, 2) : t ∈ R} 3.

Sean: x̄ un punto de KKT para el PMDI, ū, v̄ sus coeficientes de La-


grange, L00x (x̄, ū, v̄) la submatriz de la matriz hessiana del lagrangiano cor-
respondiente a las derivadas parciales de segundo orden con respecto a las
variables xi , o sea,
m
X l
X
L00x = L00x (x̄, ū, v̄) 00
= f (x̄) + ūi gi00 (x̄) + v̄j h00j (x̄).
i=1 j=1

Como para las desigualdades inactivas ui = 0, entonces la definición de


L00x
se puede dar como expresión de los hessianos de las desigualdades activas
y de las igualdades:

X l
X
L00x = L00x (x̄, ū, v̄) 00
= f (x̄) + ūi gi00 (x̄) + v̄j h00j (x̄).
i∈I j=1

121
CAPÍTULO 6. CONDICIONES DE KARUSH-KUHN-TUCKER

Sean: I + = {i : ūi > 0}, I o = {i : ūi = 0}. Si i ∈ I + se dice que la


restricción gi (x) ≤ 0 está fuertemente activa. Si i ∈ I o se dice que la
restricción gi (x) ≤ 0 está débilmente activa. Sean: m̄+ el número de de-
sigualdades fuertemente activas, m̄o el número de desigualdades débilmente
activas. Sea p+ = m̄+ + l, o sea, el número de desigualdades fuertemente
activas más el número de igualdades. Obviamente I es unión disyunta de
I + e I 0 y además m̄ = m̄+ + m̄o .
Sea M̃ la matriz de tamaño p+ × n cuyas filas son los gradientes de las
desigualdades fuertemente activas y los gradientes de las igualdades calcu-
lados en x̄. Dicho de otra forma, M̃ se obtiene quitando de M las filas
correspondientes a los gradientes de las desigualdades débilmente activas.
Sea T̃ el espacio nulo de M̃ , o sea, T̃ = {y ∈ Rn : M̃ y = 0}. Si p+ , (el
número de filas de M̃ ) es cero se considera que T̃ = Rn .

Proposición 6.12. Condiciones necesarias de segundo orden. Sean: x̄


un punto de KKT del PMDI, f , gi , i ∈ I, hj , j = 1, ..., l doblemente difer-
enciables en x̄. Si x̄ es un minimizador local, entonces L00x es semidefinida
positiva en T .

Proposición 6.13. Condiciones suficientes de segundo orden. Sean: x̄ un


punto de KKT del PMDI, f , gi , i ∈ I, hj , j = 1, ..., l doblemente diferencia-
bles en x̄. Si L00x es definida positiva en T̃ , entonces x̄ es un minimizador
local estricto.

Ejemplo 6.28. Considere x̄ = (0, 0) para el siguiente problema:

min f (x1 , x2 ) = x21 − x22


−x1 − x2 ≤ 0.

El punto x̄ es factible; I = {1}; f , g1 son diferenciables en x̄; el conjunto


formado por el gradiente g10 (x̄) = [−1 − 1]T es linealmente independiente,
o sea, x̄ es regular.

     
0 −1 0
+ u1 = ,
0 −1 0

u1 = 0,

luego x̄ = (0, 0) es un punto de KKT.

122
6.4. CONDICIONES DE SEGUNDO ORDEN

   
2 0 0 0
L00x = +0
0 −2 0 0
 
2 0
=
0 −2
T = {(y1 , y2 ) : − y1 − y2 = 0}.

Una base de este subespacio puede ser el conjunto formado por el vector
[1 − 1]T , luego

 
1
E =
−1
 
2 0 1
L00x E
T
 
E = 1 −1
0 −2 −1
= 0, matriz semidefinida positiva.

Luego x̄ cumple condiciones necesarias de segundo orden. La desigualdad


activa es débilmente activa, luego m̄+ = 0, p+ = 0, M̃ no tiene filas, T̃ = R2 .
Como L00x no es definida positiva en R2 , entonces x̄ no cumple condiciones
suficientes de segundo orden. En resumen, utilizando condiciones de KKT y
de segundo orden se puede decir que x̄ es un buen candidato a minimizador
local. Sin embargo, no es minimizador local ya que un punto de la forma
(0, ε) es admisible, mejor que x̄ y está muy cerca de él. 3

Ejemplo 6.29. Considere x̄ = (0, 0, 0) para el siguiente problema:

1
min f (x1 , x2 , x3 ) = x21 − x22 + (x3 − 1)3
3
−6 − x1 − x2 − x3 ≤ 0
−x3 ≤ 0.

El punto x̄ es factible; I = {2}; f , g2 son diferenciables en x̄; g1 es continua


en x̄; el conjunto formado por el gradiente g20 (x̄) = [0 0 −1]T es linealmente
independiente, o sea, x̄ es regular.

     
0 0 0
 0  + u2  0  =  0  ,
1 −1 0

123
CAPÍTULO 6. CONDICIONES DE KARUSH-KUHN-TUCKER

u2 = 1,

luego x̄ = (0, 0, 0) es un punto de KKT.

   
2 0 0 0 0 0
L00x =  0 −2 0  + 1 0 0 0 
0 0 −2 0 0 0
 
2 0 0
=  0 −2 0 
0 0 −2
T = {(y1 , y2 , y3 ) : − y3 = 0}.

Una base de este subespacio puede ser el conjunto formado por los vectores
[1 0 0]T , [0 1 0]T , luego

 
1 0
E =  0 1 ,
0 0
  
  2 0 0 1 0
1 0 0 
E T L00x E = 0 −2 0  0 1 
0 1 0
0 0 −2 0 0
 
2 0
= no es semidefinida positiva,
0 −2

luego x̄ no cumple condiciones necesarias de segundo orden, entonces no es


minimizador local ni global. 3

Ejemplo 6.30. Considere x̄ = (0, 3, 0) para el siguiente problema:

min f (x1 , x2 , x3 ) = x21 − x22 + x23


−x2 ≤ 0
x2 − 3 ≤ 0.

El punto x̄ es factible; I = {2}; f , g2 son diferenciables en x̄; g1 es continua


en x̄; el conjunto formado por el gradiente g20 (x̄) = [0 1 0]T es linealmente
independiente, o sea, x̄ es regular.

124
6.4. CONDICIONES DE SEGUNDO ORDEN

     
0 0 0
 −6  + u2  1  =  0  ,
0 0 0
u2 = 6.
Luego x̄ = (0, 3, 0) es un punto de KKT.

   
2 0 0 0 0 0
L00x =  0 −2 0  + 6 0 0 0 
0 0 2 0 0 0
 
2 0 0
=  0 −2 0 ,
0 0 2
T = {(y1 , y2 , y3 ) : y2 = 0}.
Una base de este subespacio puede ser el conjunto formado por los vectores
[1 0 0]T , [0 0 1]T , luego

 
1 0
E =  0 0 ,
0 1
  
  2 0 0 1 0
T 00 1 0 0 
E Lx E = 0 −2 0  0 0 
0 0 1
0 0 2 0 1
 
2 0
= es definida positiva.
0 2
Entonces x̄ cumple condiciones necesarias de segundo orden. Más aún, no
hay desigualdades débilmente activas, entonces M̃ = M , T̃ = T . En conse-
cuencia, L00x es definida positiva en T̃ , es decir, x̄ = (0, 3, 0) cumple condi-
ciones suficientes y es minimizador local estricto. 3

EJERCICIOS

En los ejercicios 6.1 a 6.15 estudie el problema propuesto, use condiciones


necesarias, suficientes, condiciones de segundo orden y otros argumentos.
Encuentre, si es posible, puntos de KKT. ¿Son estos puntos minimizadores?
¿Son minimizadores globales?

125
CAPÍTULO 6. CONDICIONES DE KARUSH-KUHN-TUCKER

6.1. Minimizar f (x1 , x2 ) = x21 + x22 , sujeto a 3x1 + 4x2 = 12.

6.2. Minimizar f (x1 , x2 ) = x21 + x22 , sujeto a 3x1 + 4x2 ≥ 12.

6.3. Minimizar f (x1 , x2 ) = 2x21 + x22 , sujeto a 3x1 + 4x2 = 12.

6.4. Minimizar f (x1 , x2 ) = x21 + x22 , sujeto a 3x1 + 4x2 = 12, x1 ≤ 0.

6.5. Minimizar f (x1 , x2 ) = x21 +x22 , sujeto a 3x1 +4x2 = 12, x1 ≤ 0, x2 ≥ 3.

6.6. Minimizar f (x1 , x2 ) = x21 − x22 , sujeto a 3x1 + 4x2 = 12.

6.7. Minimizar f (x1 , x2 ) = x21 − x22 , sujeto a 3x1 + 4x2 ≥ 12.

6.8. Minimizar f (x1 , x2 ) = x21 − x22 , sujeto a 3x1 + 4x2 ≤ 12, x ≥ 0.

6.9. Minimizar f (x1 , x2 ) = x21 − x22 , sujeto a 3x1 + 4x2 ≥ 12, x ≥ 0.

6.10. Minimizar f (x) = cT x, sujeto a ||x − a||2 = r, con c 6= 0, r > 0.

6.11. Minimizar f (x) = cT x, sujeto a ||x − a||2 ≤ r, con c 6= 0, r > 0.

6.12. Minimizar f (x1 , x2 ) = x31 + x22 , sujeto a 3x1 + 4x2 = 12.

6.13. Minimizar f (x1 , x2 ) = x31 + x22 , sujeto a 3x1 + 4x2 ≥ 12.

6.14. Minimizar f (x1 , x2 ) = x31 + x22 , sujeto a 3x1 + 4x2 ≤ 12, x ≥ 0.

6.15. Minimizar f (x1 , x2 ) = x31 + x22 , sujeto a 3x1 + 4x2 ≥ 12, x ≥ 0.

126
Capı́tulo 7

MÉTODOS DE
MINIMIZACIÓN EN UNA
VARIABLE

En la mayorı́a de métodos de minimización en varias variables sin restric-


ciones o con restricciones, es necesario resolver problemas implı́citos de min-
imización en una variable. Si f es una función de varias variables y valor
real, y están fijos un punto x = xk y una dirección d = dk 6= 0, entonces con
mucha frecuencia se debe resolver el siguiente subproblema: minimizar una
función ϕ que depende únicamente de λ

min ϕ(λ) = f (x + λd),


donde λ varı́a en un conjunto Λ. Los casos más corrientes son:

Λ = R,
Λ = [0, ∞[,
Λ = [0, λmax ].

Los tres casos anteriores se pueden generalizar a:

Λ = R,
Λ = [a, ∞[,
Λ = [a, b].

127
CAPÍTULO 7. MINIMIZACIÓN EN UNA VARIABLE

Casi siempre cuando Λ = [0, ∞] o cuando Λ = [0, λmax ] la dirección d =


dk es una dirección de descenso, entonces existe ε > 0 tal que ϕ(λ) < ϕ(0)
para todo λ ∈ [0, ε].
En general, cada método de minimización en una variable es adecuado
para un solo caso de variación de λ, sin embargo, frecuentemente, se puede
modificar el método para adaptarlo a otro conjunto Λ.
La minimización en una variable también es llamada búsqueda lineal.
Siempre se supondrá, por lo menos, que ϕ es continua.
Algunos métodos de minimización en una variable necesitan usar se-
gundas derivadas (y primeras derivadas), otros no necesitan usar segundas
derivadas, pero sı́ necesitan primeras derivadas, y finalmente otros métodos
solamente requieren valores de la función ϕ en varios puntos.
Dependiendo de la función ϕ y del método, en algunos casos se construye
una sucesión {λk } que tiende a λ∗ minimizador local o global de la función.
Obviamente como se trata de una sucesión infinita, no es posible calcular
todos los elementos, pero como es usual, el proceso se detiene cuando

|λk+1 − λk | ≤ ελ dado,

o también,


λk+1 − λk
≤ ε0 dado,
λk λ

o para evitar denominadores cercanos a cero,

|λk+1 − λk |
≤ ε0λ dado.
1 + |λk |

Este hecho indica que λk+1 está suficientemente cerca de λ∗ , o bien, que el
proceso está avanzando muy lentamente.
Otro criterio usado para detener el proceso (puede ser usado simultá-
neamente) consiste en parar cuando el valor de ϕ varı́a muy poco, o sea,
si

|ϕ(λk+1 ) − ϕ(λk )| ≤ εϕ dado ,

o también,

128

ϕ(λk+1 ) − ϕ(λk )
≤ ε0ϕ dado ,
ϕ(λk )

o para evitar denominadores muy pequeños,

|ϕ(λk+1 ) − ϕ(λk )|
≤ ε0ϕ dado .
1 + |ϕ(λk )|

Cuando se emplean primeras derivadas de ϕ también se puede usar si-


multáneamente un criterio de parada que verifica si ϕ0 está cerca de cero, o
sea, si λk es casi un punto crı́tico,

|ϕ0 (λk )| ≤ εϕ0 dado.


Siempre es necesario utilizar en casi todos los métodos un número máxi-
mo de iteraciones, llamado en este libro MAXIT. Esto permite impedir que
un método gaste demasiado tiempo, o peor aún, que resulte un ciclo sin fin
y obligue a abortar el programa o a apagar el computador.
En cualquier algoritmo de minimización en una variable, cuando λ varı́a
en un conjunto no acotado ([0, ∞[ ó R) es necesario preveer la posibilidad
de que ϕ no esté acotada inferiormente, lo que implica que no tiene mini-
mizador.
Otras veces la sucesión tiende a un punto λ0 donde simplemente se anula
la primera derivada, lo cual bajo ciertas condiciones, garantiza un mini-
mizador.
En otros métodos se parte de un intervalo de incertidumbre [a0 , b0 ] y
el método construye intervalos [ak , bk ] encajonados en los anteriores y de
menor tamaño que también contienen al minimizador λ∗ . En este caso el
proceso termina cuando

bk − ak < ε dado.
En los métodos llamados de descenso, además de buscar convergencia,
se busca que siempre la función disminuya de valor, o sea, una condición
indispensable es que

ϕ(λk+1 ) < ϕ(λk ).


La minimización de funciones de una variable es un subproblema que se
efectúa muchas veces. Si cada vez se pide mucha precisión, cada vez se gasta

129
CAPÍTULO 7. MINIMIZACIÓN EN UNA VARIABLE

un tiempo no despreciable. En algunos métodos las primeras veces que se


utiliza la minimización en una variable no se requiere mucha precisión en la
aproximación del minimizador λ∗ . Es una buena idea entonces detener el
proceso cuando se ha obtenido una disminución suficiente en el valor de ϕ

ϕ(λ0 ) − ϕ(λk ) > µ|(λk − λ0 )dT f 0 (x)|,


donde 0 < µ < 1. Obviamente si se escoge µ muy pequeño la condición se
satisface muy fácilmente. Con frecuencia la dirección es tal que dT f 0 (x) < 0
(lo cual garantiza una dirección de descenso), λ0 = 0, λ > 0 y se trata de
un método de descenso, entonces el criterio de disminución suficiente es:

ϕ(λk ) < ϕ(0) + µλk dT f 0 (x).


Los métodos de minimización en una variable, que se presenten en este
libro, siempre estarán enfocados a minimizar f (x + λd), pero obviamente
también se pueden aplicar para funciones que son explı́citamente de una
variable, por ejemplo, para minimizar ϕ(λ) = cosλ + λ/2 en el intervalo
[−1, 1].
Los valores de ε los da el usuario, pero generalmente se exige que no le
pidan al método más de la mitad de cifras significativas de las dadas por la
máquina usada. Por ejemplo, si un computador da 16 cifras significativas,
entonces el valor de ε dado por el usuario debe ser mayor que 10-8 . Es
frecuente relacionar la anterior condición con εmaq : el ε de la máquina,
definido como la menor cantidad positiva tal que el computador puede hacer
la diferencia entre 1 y 1 + εmaq .

εmaq = min{ε : 1 + ε “diferente de” 1}.


Una forma aproximada de encontrar εmaq consiste en empezar con ε = 1
e ir dividiéndolo por 2 hasta que el computador no diferencie entre 1 y 1 + ε.
Entonces se toma como ε0maq el penúltimo valor obtenido, es decir, el doble
del útimo valor obtenido.

ε=1
s=1+ε
mientras s 6= 1
ε = ε/2
s=1+ε
fin-mientras
ε0maq = 2ε

130
7.1. CÁLCULO DE LAS DERIVADAS

Obviamente la aproximación del εmaq depende del tipo de números us-


ados: “flotantes”, “doble precisión”, ... . Por ejemplo, trabajando en
un microcomputador con procesador AMD 486DX40 (tiene coprocesador
matemático) y en precisión sencilla, en MS-Fortran 5.1 o en Turbo C 3.0, se
obtiene el valor

ε0maq = 1.192 ∗ 10-7 .


En este caso no hubo diferencia entre los dos lenguajes (y compiladores),
pero podrı́a haberla. Trabajando en doble precisión el valor encontrado es

ε0maq = 1.0842 ∗ 10-19 .


Utilizando εmaq , para que el valor de ε no sea demasiado pequeño, se
acostumbra exigir que

ε> εmaq .
Cuando se trabaja con números en doble precisión los arreglos gastan el
doble de memoria que los arreglos en precisión sencilla. El tiempo para las
operaciones también puede ser mayor. Sin embargo, como regla general, es
preferible utilizar números en doble precisión.

7.1 CÁLCULO DE LAS DERIVADAS


La derivada de ϕ esta ı́ntimamente relacionada con la derivada direccional
de f en la dirección d,

ϕ(λ + η) − ϕ(λ)
ϕ0 (λ) = lim
η→0 η
f (x + λd + ηd) − f (x + λd)
= lim
η→0 η
f (x + λd + ηδd0 ) − f (x + λd)
= lim ,
η→0 η

donde

d
δ = kdk =
6 0 , d0 = , kd0 k = 1.
δ
Ası́:

131
CAPÍTULO 7. MINIMIZACIÓN EN UNA VARIABLE

f (x + λd + ηδd0 ) − f (x + λd)
ϕ0 (λ) = lim δ
η→0 ηδ
0 0
= δf (x + λd; d ),

o sea, δ veces la derivada direccional de f en el punto x + λd con respecto


a la dirección (de norma uno) d0 .

ϕ0 (λ) = δf 0 (x + λd)T d0
ϕ0 (λ) = f 0 (x + λd)T d, (7.1)

en particular,

ϕ0 (0) = f 0 (x)T d.

De manera semejante se puede expresar la segunda derivada de ϕ usando


el hessiano:

ϕ00 (λ) = dT f 00 (x + λd)d, (7.2)

en particular,

ϕ00 (0) = dT f 00 (x)d.

Los métodos de minimización en una variable que utilizan la primera


o segunda derivada requerirı́an entonces el conocimiento del gradiente y
de la matriz hessiana. O sea, en una parte del programa de computador,
debe haber subprogramas, procedimientos, subrutinas o funciones para el
cálculo del gradiente y del hessiano. Este cálculo puede ser exacto, es decir,
mediante las expresiones analı́ticas de las derivadas parciales de la función
f , o bien mediante aproximaciones numéricas.
Cuando en el programa se tiene la expresión analı́tica del gradiente y del
hessiano, sı́ se puede pensar en calcular ϕ0 y ϕ00 mediante (7.1) y (7.2). Sin
embargo, se debe evaluar la necesidad de precisión y el tiempo necesario para
el cálculo exacto del gradiente y del hessiano, y para el producto matricial.
Si por el contrario, se tiene simplemente una fórmula aproximada para
calcular el gradiente y el hessiano de f , no es adecuado utilizar las fórmulas

132
7.2. MÉTODO DE NEWTON

(7.1) y (7.2) para calcular ϕ0 y ϕ00 . En este caso es mucho mejor aproximar
directa y numéricamente ϕ0 y ϕ00 . Para tal efecto algunas de las fórmulas
más utilizadas son:

ϕ(λ + η) − ϕ(λ)
ϕ0 (λ) ≈ , (7.3)
η
η
|error| ≤ max |ϕ00 |.
2 [λ,λ+η]
ϕ(λ + η) − ϕ(λ − η)
ϕ0 (λ) ≈ , (7.4)

η2
|error| ≤ max |ϕ000 |.
6 [λ−η,λ+η]

ϕ(λ + η) − 2ϕ(λ) + ϕ(λ − η)


ϕ00 (λ) ≈ , (7.5)
η2
η2
|error| ≤ max |ϕ0000 |.
12 [λ−η,λ+η]

Estas fórmulas, para aproximar numéricamente derivadas de funciones


de una variable, son teóricamente más exactas cuando η es más pequeño.
Sin embargo, en la práctica esto no es necesariamente cierto. Dependiendo
de ϕ y de λ, si η es demasiado pequeño el numerador o el denominador
pueden ser cero (numéricamente). En las tablas 7.1, 7.2, 7.3 hay ejemplos
de utilización de la fórmula (7.4) con números en doble precisión (8 bytes)
en un microcomputador sin coprocesador matemático.

7.2 MÉTODO DE NEWTON


Este método busca un punto λ̄ donde la primera derivada de ϕ se anula. Si
ϕ00 (λ̄) > 0, entonces λ̄ es un minimizador local. Si ϕ es convexa, entonces
λ̄ es un minimizador global. La fórmula se puede deducir de dos formas
equivalentes: aplicando el método de Newton para hallar una raı́z de ϕ0 , o
bien buscando un punto crı́tico de la aproximación cuadrática de ϕ alrededor
de λk .
La fórmula del método de Newton para resolver g(λ) = 0 es

g(λk )
λk+1 = λk − ,
g 0 (λk )

133
CAPÍTULO 7. MINIMIZACIÓN EN UNA VARIABLE

ϕ(λ) = λ4 , λ = 2, ϕ0 (2) = 32
η e0
ϕ
1.0E+00 4.00000000E+01
1.0E-01 3.20800000E+01
1.0E-02 3.20008000E+01
1.0E-03 3.20000080E+01
1.0E-04 3.20000001E+01
1.0E-05 3.20000000E+01
1.0E-06 3.20000000E+01
1.0E-07 3.20000000E+01
1.0E-08 3.19999999E+01
1.0E-09 3.20000026E+01
1.0E-10 3.20000026E+01
1.0E-11 3.20000026E+01
1.0E-12 3.20028448E+01
1.0E-13 3.19744231E+01
1.0E-14 3.23296945E+01
1.0E-15 3.19744231E+01
1.0E-16 0.00000000E+00
.. ..
. .
1.0E-20 0.00000000E+00
Tabla 7.1

entonces la fórmula del método de Newton para “buscar” un minimizador


es:

ϕ0 (λk )
λk+1 = λk − . (7.6)
ϕ00 (λk )
La aproximación cuadrática de ϕ alrededor de λk es

1
ϕ(λ) ≈ p2 (λ) = ϕ(λk ) + ϕ0 (λk )(λ − λk ) + ϕ00 (λk )(λ − λk )2 .
2
Al buscar un punto λ = λk+1 donde se anule la derivada de p2 se obtiene
exactamente la fórmula (7.6).
Proposición 7.1. [Lue89] Sean: ϕ con tercera derivada continua, ϕ0 (λ̄) =
0, ϕ00 (λ̄) 6= 0. Si λ0 está suficientemente cerca de λ̄, entonces el método de
Newton para hallar una raı́z de ϕ0 converge a λ̄ con orden de convergencia
superior o igual a dos.

134
7.2. MÉTODO DE NEWTON

ϕ(λ) = λ4 , λ = 2E + 6, ϕ0 (2) = 3.2E + 19


η ϕe0
1.0E+00 3.20000000E+19
1.0E-01 3.20000000E+19
1.0E-02 3.20000000E+19
1.0E-03 3.19999974E+19
1.0E-04 3.20000189E+19
1.0E-05 3.20002981E+19
1.0E-06 3.19996538E+19
1.0E-07 3.19652941E+19
1.0E-08 3.19975064E+19
1.0E-09 3.00647711E+19
1.0E-10 0.00000000E+00
.. ..
. .
1.0E-20 0.00000000E+00
Tabla 7.2

En [Baz93] hay condiciones más especı́ficas para garantizar la conver-


gencia.
Generalmente, las condiciones son favorables y el método de Newton con-
verge muy rápidamente ya que su convergencia es cuadrática. Sin embargo,
en otros casos sus inconvenientes son:

ˆ puede no converger,

ˆ puede converger a un maximizador,

ˆ se requiere verificar que ϕ00 (λk ) 6= 0,

ˆ es necesario calcular primeras y segundas derivadas de ϕ.

Ejemplo 7.1. Aplicar el método de Newton para minimizar f (x1 , x2 ) =


x41 + (x1 + x2 )2 , a partir de x = (−2, 3), en la dirección d = (−1, 4).

k λk ϕ(λk ) ϕ0 (λk ) ϕ00 (λk ) λk+1


0 0.0000 17.0000 38.0000 66.0000 -0.5758
1 -0.5758 4.6436 7.1925 42.3416 -0.7456
2 -0.7456 4.0056 0.4736 36.8815 -0.7585
3 -0.7585 4.0026 0.0025 36.4969 -0.7585
4 -0.7585 4.0026 0.0000 36.4949 -0.7585

135
CAPÍTULO 7. MINIMIZACIÓN EN UNA VARIABLE

ϕ(λ) = 5120λ1/10 , λ = 1024, ϕ0 (1024) = 1


η e0
ϕ
1.0E+00 1.00000027E+00
1.0E-01 1.00000000E+00
1.0E-02 1.00000000E+00
1.0E-03 9.99999999E-01
1.0E-04 1.00000000E+00
1.0E-05 9.99999975E-01
1.0E-06 1.00000034E+00
1.0E-07 9.99998520E-01
1.0E-08 9.99989425E-01
1.0E-09 1.00044417E+00
1.0E-10 1.00044417E+00
1.0E-11 1.00044417E+00
1.0E-12 9.09494702E-01
1.0E-13 0.00000000E+00
.. ..
. .
1.0E-307 0.00000000E+00
1.0E-308 división por 0.
Tabla 7.3

En la tabla de resultados aparece la columna de ϕ(λk ) simplemente para ver


que el valor de la función ϕ de este ejemplo va disminuyendo.

Conociendo el valor de λ̄ = −0.758533053, se puede comprobar la con-


vergencia cuadrática del método de Newton.

k λk |λk -λ̄|/|λk-1 -λ̄|2


0 0.000000000
1 -0.575757559 2.31900354
2 -0.745625404 0.84487552
3 -0.758465288 0.67049867
4 -0.758533051 0.65922594
5 -0.758533053 0.65916705
6 -0.758533053 0.65916705 3

136
7.3. MÉTODO DE LA SECANTE

7.3 MÉTODO DE LA SECANTE

Es una aproximación al método de Newton. También se busca un punto


λ̄ donde la primera derivada de ϕ se anule. No utiliza segundas derivadas
ϕ00 (λk ), utiliza únicamente valores de la primera derivada de ϕ. La fórmula
del método de la secante se puede obtener simplemente reemplazando, en la
fórmula (7.6) del método de Newton, ϕ00 (λk ) por una aproximación

ϕ0 (λk ) − ϕ0 (λk-1 )
ϕ00 (λk ) ≈ .
λk − λk-1

Entonces la fórmula del método de la secante para “buscar” un minimizador


es:

ϕ0 (λk )
λk+1 = λk − (7.7)
ϕ0 (λk ) − ϕ0 (λk-1 )
λk − λk-1
λk-1 ϕ (λk ) − λk ϕ0 (λk-1 )
0
= .
ϕ0 (λk ) − ϕ0 (λk-1 )

Se puede mostrar, [Ham91]


√ o [Atk78], que la convergencia del método de
la secante es de orden (1 + 5)/2 ≈ 1.618, o sea, la convergencia es bastante
buena, pero no tanto como en el método de Newton. Las desventajas del
método de la secante son:

ˆ puede no converger,

ˆ puede converger a un maximizador,

ˆ se requiere verificar que ϕ0 (λk ) − ϕ0 (λk-1 ) 6= 0,

ˆ es necesario calcular primeras derivadas de ϕ.

Ejemplo 7.2. Aplicar el método de la secante para minimizar f (x1 , x2 ) =


x41 + (x1 + x2 )2 , a partir de x = (−2, 3), en la dirección d = (−1, 4).

137
CAPÍTULO 7. MINIMIZACIÓN EN UNA VARIABLE

k λk ϕ0 (λk ) λk+1
0 0.0000 38.0000
1 0.1000 44.8440 -0.5552
2 -0.5552 8.0688 -0.6990
3 -0.6990 2.2265 -0.7538
4 -0.7538 0.1737 -0.7584
5 -0.7584 0.0042 -0.7585
6 -0.7585 0.0000 -0.7585
7 -0.7585 0.0000 -0.7585 3

La única ventaja del método de la secante con respecto al de Newton es que


no necesita evaluar segundas derivadas. Como en ambos métodos se necesita
el valor de las primeras derivadas, estos dos métodos no son muy utilizados
(salvo casos especı́ficos) para minimizar funciones ϕ(λ) = f (x + λd).

7.4 MÉTODO DE NEWTON CON


DERIVACIÓN NUMÉRICA
El método de Newton se puede utilizar, utilizando simplemente valores de
la función para aproximar numéricamente las dos derivadas:

ϕ(λk + η) − ϕ(λk − η)

λk+1 = λk −
ϕ(λk + η) − 2ϕ(λk ) + ϕ(λk − η)
η2
η ϕ(λk + η) − ϕ(λk − η)
λk+1 = λk − ·
2 ϕ(λk + η) − 2ϕ(λk ) + ϕ(λk − η)

Como este método es casi el método de Newton, entonces cuando se


dan las condiciones adecuadas converge rápidamente. También hereda la
mayorı́a de la desventajas:

ˆ puede no converger,

ˆ puede converger a un máximo,

ˆ problemas con un denominador nulo o casi nulo,

ˆ se necesita escoger adecuadamente el valor de η.

138
7.4. MÉTODO DE NEWTON CON DERIVACIÓN NUMÉRICA

Ejemplo 7.3. Aplicar el método de Newton con derivación numérica para


minimizar f (x1 , x2 ) = x41 +(x1 +x2 )2 , a partir de x = (−2, 3), en la dirección
d = (−1, 4), con λ0 = 0, η = 0.1, ε = 0.00005.

k λk ϕ(λk ) ϕ(λk + η) ϕ(λk -η)


0 0.0000 17.0000 21.1381 13.5221
1 -0.5768 4.6362 5.5683 4.1272
2 -0.7470 4.0050 4.2365 4.1421
3 -0.7598 4.0026 4.1852 4.1848
4 -0.7599 4.0026 4.1850 4.1850

Es interesante notar que hubo convergencia hacia −0.7599 y no hacia


−0.7585 como en el método de Newton exacto o en el método de la secante.
Si se escoge ε = 10−10 se hace una iteración más, pero de todas maneras
la convergencia se da hacia −0.7599. La razón es que para este ejemplo
η = 0.1 es demasiado grande y las aproximaciones de las derivadas no son
suficientemente buenas. Con η = 0.01 la convergencia (con 4 decimales)
sı́ se da hacia −0.7585. Es bueno recordar que valores de η muy pequeños
pueden dar lugar a numeradores nulos o casi nulos (entonces λk+1 ≈ λk ) o
a denominadores nulos o casi nulos. 3

Ejemplo 7.4. Aplicar el método de Newton con derivación numérica para


minimizar f (x1 , x2 ) = x41 +(x1 +x2 )2 , a partir de x = (−2, 3), en la dirección
d = (−1, 4), con λ0 = 0, η = 0.01, ε = 0.00005.

k λk ϕ(λk ) ϕ(λk + η) ϕ(λk -η)


0 0.0000 17.0000 17.3833 16.6233
1 -0.5758 4.6435 4.7176 4.5737
2 -0.7456 4.0056 4.0122 4.0027
3 -0.7585 4.0026 4.0044 4.0044
4 -0.7585 4.0026 4.0044 4.0044 3

Aquı́ como en los demás ejemplos, los cálculos intermedios se hacen en


doble precisión y los resultados tabulados son aproximaciones con un número
fijo de cifras decimales. O sea, λ2 = −0.7456 no se obtiene con los valores
tabulados de la fila k = 1, sino con los valores internos. Con los valores
tabulados se obtendrı́a −0.7431. 3

139
CAPÍTULO 7. MINIMIZACIÓN EN UNA VARIABLE

7.5 MÉTODOS DE ENCAJONAMIENTO


(BRACKETING)
Cuando se desea minimizar ϕ(λ) en [a, b], se le da al intervalo [a, b] el nom-
bre de intervalo de incertidumbre. La mayorı́a de los métodos van
construyendo intervalos de incertidumbre anidados, [ak+1 , bk+1 ] ⊆ [ak , bk ], y
de tamaño cada vez menor, hasta obtener un intervalo tan pequeño como se
desee. Para que el método sea adecuado se necesitan dos cosas: primero que
el tamaño de los intervalos tienda a cero, y segundo, que en cada subintervalo
haya por lo menos un minimizador global. Si la función ϕ es cuasiconvexa,
entonces se puede cumplir la segunda condición mediante la adecuada apli-
cación del siguiente resultado:
Proposición 7.2. Sean: ϕ∗ el valor mı́nimo de ϕ en el intervalo Λ = [a, b],
Λ∗ el conjunto de minimizadores (globales), a < σ < τ < b, Λ0 = [a, τ ] si
ϕ(σ) < ϕ(τ ), Λ0 = [σ, b] si ϕ(σ) ≥ ϕ(τ ). Si ϕ es cuasiconvexa en λ, entonces
Λ∗ ∩ Λ0 6= ∅. Dicho de otra forma, el valor mı́nimo de ϕ en el intervalo Λ0
también es ϕ∗ .
Si hay un solo minimizador λ∗ en Λ, entonces necesariamente λ∗ está en
Λ0 . La proposición anterior se puede generalizar a m ≥ 2 puntos intermedios.
Proposición 7.3. Sean: ϕ∗ el valor mı́nimo de ϕ en el intervalo Λ = [a, b],
Λ∗ el conjunto de minimizadores (globales), a = µ0 < µ1 < ... < µm <
µm+1 = b, µj el mejor punto (menor valor de ϕ) entre µ1 , ..., µm , Λ0 =
[µj−1 , µj+1 ]. Si ϕ es cuasiconvexa en Λ, entonces Λ∗ ∩ Λ0 6= ∅.
Los dos métodos siguientes son aplicaciones de las dos proposiciones an-
teriores donde además se garantiza que el tamaño de los intervalos tiende a
cero. En el método de la sección dorada se disminuye el número de evalua-
ciones de la función en cada iteración.

7.6 BÚSQUEDA SECUENCIAL


Este método sirve para minimizar funciones estrictamente cuasiconvexas en
un intervalo [a, b]. Dado un intervalo de incertidumbre [ak , bk ] se evalúa la
función en m ≥ 2 puntos intermedios igualmente espaciados µ1 , µ2 , .., µm , se
escoge el mejor punto, o sea, el µj donde la función ϕ toma el menor valor,
y ası́ el nuevo intervalo estará centrado en él.

bk − ak
δ = ,
m+1

140
7.6. BÚSQUEDA SECUENCIAL

µj = ak + jδ, j = 1, ..., m,

µ = mejor {µ1 , ..., µm },
ak+1 = µ∗ − δ,
bk+1 = µ∗ + δ.

El esquema de algoritmo serı́a el siguiente:

datos: a, b, ε, m
l =b−a
mientras l ≥ ε
δ = l/(m + 1)
µj = a + j, j = 1, ..., m
µ∗ = mejor{µ1 , ..., µm }
a = µ∗ − δ
b = µ∗ + δ
l =b−a
fin-mientras
λ∗ = mejor{a, µ∗ , b}
Ejemplo 7.5. Aplicar el método de búsqueda secuencial para minimizar
f (x1 , x2 ) = x41 + (x1 + x2 )2 , a partir de x = (−2, 3), en la dirección d =
(−1, 4), con [a, b] = [−1, 0], m = 2, ε = 0.1.

k ak bk µ1 ϕ(µ1 ) µ2 ϕ(µ2 ) µ∗
0 -1.000 0.000 -0.667 4.160 -0.333 7.716 -0.667
1 -1.000 -0.333 -0.778 4.009 -0.556 4.798 -0.778
2 -1.000 -0.556 -0.852 4.158 -0.704 4.058 -0.704
3 -0.852 -0.556 -0.753 4.003 -0.654 4.206 -0.753
4 -0.852 -0.654 -0.786 4.016 -0.720 4.030 -0.786
5 -0.852 -0.720 -0.808 4.047 -0.764 4.003 -0.764
6 -0.808 -0.720
λ∗ ≈ 0.764

Ejemplo 7.5

El método de búsqueda secuencial puede ser usado con m = 2 o con


m = 100. Para escoger el valor de m se necesita evaluar el tiempo total que
dura el algoritmo para hallar un intervalo de incertidumbre suficientemente
pequeño. La mayorı́a del tiempo se gasta en evaluaciones de la función
y en comparaciones para hallar µ∗ . El número total de evaluaciones es

141
CAPÍTULO 7. MINIMIZACIÓN EN UNA VARIABLE

igual al número de iteraciones multiplicado por el número de evaluaciones


de la función en cada iteración. Obviamente con m grande el número de
iteraciones es menor, pero el número de evaluaciones por iteración es mayor.
Sea k el número de iteraciones.

2
bk − ak = (bk-1 − ak-1 )
m+1
 k
2
= (b0 − a0 ).
m+1
Como se desea que bk − ak ≤ ε,

 k
2 ε

m+1 b0 − a0
2 ε
k log ≤ log .
m+1 b0 − a0
Como log(2/(m + 1)) < 0,

ε
log
b0 − a0
k ≥
2
log
m+1
b0 − a0
log
= ε .
m+1
log
2
Sea

b0 − a0
L0 = ,
ε
entonces

L0
k = d e. (7.8)
m+1
log
2

núm. total evaluaciones = mk,

142
7.6. BÚSQUEDA SECUENCIAL

m
núm. total evaluaciones ≈ L = c(m) L0 . (7.9)
m+1 0
log
2

Si la evaluación de la función ϕ es demorada con respecto a las demás


operaciones y comparaciones, se debe escoger el valor de m que minimice
el número total de evaluaciones. Si no se tiene en cuenta la parte entera
superior en (7.8), o sea, si se minimiza la aproximación del número total de
evaluaciones (7.9), el valor óptimo de m serı́a = 3.311. Como obviamente
m debe ser entero se puede aproximar por m = 3. Para m = 2 o m = 4
el número total de evaluaciones no se altera mucho. De todas maneras es
claro, según la fórmula, que para valores grandes de m el número total de
evaluaciones también se hace grande.

m c(m)
2 4.93
3 4.33
4 4.37
5 4.55
6 4.79
7 5.05

Afinando un poquito se puede observar que cuando m es impar el µj que


queda en el punto medio del intervalo [ak , bk ] coincide con el µ∗ del intervalo
anterior, luego en ese caso se hacen m − 1 evaluaciones por iteración.

m c(m)
2 4.93
3 2.89
4 4.37
5 3.64
6 4.79
7 4.33

En ambos casos se ve que el valor m = 3 es la mejor opción, cuando lo


más costoso es evaluar la función. Esto sucede en la mayorı́a de los casos.
Si no hay seguridad sobre la cuasiconvexidad de la función, puede ser mejor
utilizar un valor grande de m, para evitar cambios bruscos no previstos en
un subintervalo y tener ası́ más posibilidad de obtener un minimizador

143
CAPÍTULO 7. MINIMIZACIÓN EN UNA VARIABLE

7.7 SECCIÓN DORADA O ÁUREA


Este método sirve para minimizar funciones estrictamente cuasiconvexas o
unimodales en un intervalo [a, b]. Dado un intervalo de incertidumbre [ak , bk ]
se evalúa la función en dos puntos intermedios σk , τk y de manera análoga
a la búsqueda secuencial, el nuevo intervalo estará dado por los vecinos del
mejor punto. Hay dos diferencias importantes: la primera consiste en que
los puntos no están igualmente espaciados, y la segunda, la más importante,
los puntos σk , τk se escogen de tal manera que se haga una sola evaluación
de la función por iteración.
En la deducción del método se hacen suposiciones muy razonables:

ak < σk < τk < bk ,


σk − ak = bk − τk (simetrı́a).

Es necesario definir que tan cerca o que tan lejos están los puntos inter-
medios de los extremos.

1
σk = ak + α(bk − ak ) , con 0<α< ,
2
τk = bk − α(bk − ak ),
= ak + (1 − α)(bk − ak ).

Para deducir el valor de α se puede suponer que

ϕ(σk ) ≤ ϕ(τk ),
entonces el nuevo intervalo es

[ak+1 , bk+1 ] = [ak , τk ]


En este nuevo intervalo está σk y se busca que uno de los puntos σk+1 ,
τk+1 coincida con σk , ası́ basta con evaluar la función una sola vez por
iteración, en el punto que no coincidió. En resumen hay dos posibilidades:
σk+1 = σk , o bien τk+1 = σk .
Si σk+1 = σk

ak+1 + α(bk+1 − ak+1 ) = ak + α(bk − ak )

144
7.7. SECCIÓN DORADA O ÁUREA

ak + α(τk − ak ) = ak + α(bk − ak )
ak + α(1 − α)(bk − ak ) = ak + α(bk − ak ),

entonces

α(1 − α) = α
α = 0 valor inadecuado.

Si τk+1 = σk

ak+1 + (1 − α)(bk+1 − ak+1 ) = ak + α(bk − ak )


ak + (1 − α)(τk − ak ) = ak + α(bk − ak )
ak + (1 − α)(1 − α)(bk − ak ) = ak + α(bk − ak ),

entonces

(1 − α)2 = α
 √
3 + 5
valor inadecuado


α = 2√
 3 − 5 ≈ 0.381966011. √

2
De manera análoga, si

ϕ(σk ) > ϕ(τk ),

el nuevo intervalo es

[ak+1 , bk+1 ] = [σk , bk ],


σk+1 = τk .

El esquema del algoritmo serı́a el siguiente:

Ejemplo 7.6. Aplicar el método de la sección áurea para minimizar la


función f (x1 , x2 ) = x41 + (x1 + x2 )2 , a partir de x = (−2, 3), en la dirección
d = (−1, 4), con [a, b] = [−1, 0], ε = 0.1.

145
CAPÍTULO 7. MINIMIZACIÓN EN UNA VARIABLE

datos: a, b, ε
l = b − a, δ = αl
σ = a + δ, τ = b − δ
fs = ϕ(σ), ft = ϕ(τ )
mientras l ≥ ε
l = (1 − α)l, δ = αl
si fs ≤ ft ent
b = τ, τ = σ, σ = a + δ
ft = fs, fs = ϕ(σ)
fin-ent
sino
a = σ, σ = τ, τ = b − δ
fs = ft, ft = ϕ(τ )
fin-sino
fin-mientras
λ∗ = mejor{a, σ, τ, b}

k ak bk σk ϕ(σk ) τk ϕ(τk )
0 -1.000 0.000 -0.618 4.377 -0.382 6.875
1 -1.000 -0.382 -0.764 4.003 -0.618 4.377
2 -1.000 -0.618 -0.854 4.165 -0.764 4.003
3 -0.854 -0.618 -0.764 4.003 -0.708 4.049
4 -0.854 -0.708 -0.798 4.031 -0.764 4.003
5 -0.798 -0.708 -0.764 4.003 -0.743 4.073
El número total de evaluaciones de la función en el método de la sección
dorada se calcula de manera semejante al método de búsqueda secuencial.

bk − ak = (1 − α)(bk-1 − ak-1 )
= (1 − α)k (b0 − a0 ).

Como se desea que bk − ak ≤ ε, entonces

ε
(1 − α)k ≤ ·
b0 − a0
Tomando logaritmo en ambos lados de la desigualdad

146
7.8. MINIMIZACIÓN POR INTERPOLACIÓN CUADRÁTICA

ε
k log(1 − α) ≤ log ,
b0 − a0
ε
log
b0 − a0
k≥
log(1 − α)
b0 − a0
log L0
k≥ ε = ,
− log(1 − α) − log(1 − α)
k = d2.0781L0 e,
núm. total evaluaciones ≈ 2.0871 L0 .

7.8 MINIMIZACIÓN POR INTERPOLACIÓN


CUADRÁTICA

Para hallar λ∗ minimizador de ϕ en R se puede construir una parábola


que pase por tres puntos conocidos y aproximar λ∗ por el punto donde se
anula la derivada de la parábola. Obviamente si la parábola es estrictamente
convexa (hacia arriba) el punto donde se anula la derivada es exactamente
el minimizador de la parábola.
Partiendo de un λ0 (generalmente λ0 = 0), se obtienen tres puntos t1 ,
t2 , t3 , se construye la parábola p(t) que pase por (t1 , ϕ(t1 )), (t2 , ϕ(t2 )),
(t3 , ϕ(t3 )) y se aproxima λ∗ por t0 donde se anula p0 (t). Si ϕ es estrictamente
convexa, entonces p es estrictamente convexa. Pero puede suceder que ϕ no
sea estrictamente convexa y que p sı́ lo sea. En el peor de los casos, en
que p no es estrictamente convexa, tratar de minimizar por interpolación
cuadrática, puede traer, sin embargo, un resultado aceptable si por lo menos
uno de los puntos t1 , t2 , t3 , t0 es mejor que λ0 .
Si se necesita bastante precisión, aun a costa de gastar mucho más
tiempo, se puede aplicar varias veces la interpolación cuadrática de la sigu-
iente manera: partiendo de λ0 obtener t1 , t2 , t3 , t0 y el mejor de estos cuatro
puntos será λ1 ; partiendo de λ1 obtener otros t1 , t2 , t3 , t0 y el mejor de estos
cuatro puntos será λ2 y ası́ sucesivamente.
Cuando ϕ es cuadrática, entonces p(t) y ϕ(t) coinciden. Si además ϕ es
estrictamente convexa, el minimizador de p es exactamente λ∗ .

147
CAPÍTULO 7. MINIMIZACIÓN EN UNA VARIABLE

7.8.1 Interpolación cuadrática


Sea ϕ una función de variable y valor real. Sean: t1 , t2 , t3 tres valores
diferentes, y ϕ1 , ϕ2 , ϕ3 los valores de ϕ en estos tres puntos. O sea,

ϕi = ϕ(ti ), i = 1, 2, 3.
El polinomio de grado no superior a dos (muy posiblemente una pará-
bola) que pasa por los puntos (ti , ϕi ) es el siguiente:

(t − t2 )(t − t3 ) (t − t1 )(t − t3 ) (t − t1 )(t − t2 )


p(t) = ϕ1 + ϕ2 + ϕ3
(t1 − t2 )(t1 − t3 ) (t2 − t1 )(t2 − t3 ) (t3 − t1 )(t3 − t2 )
1 2
= t (ϕ1 (t3 − t2 ) − ϕ2 (t3 − t1 ) + ϕ3 (t2 − t1 ))
d
+t(−ϕ1 (t23 − t22 ) + ϕ2 (t23 − t21 ) − ϕ3 (t22 − t21 ))

+ϕ1 (t3 − t2 )t3 t2 − ϕ2 (t3 − t1 )t3 t1 + ϕ3 (t2 − t1 )t2 t1 ,
1
= [at2 + bt + c]
d
donde

d = (t2 − t1 )(t3 − t1 )(t3 − t2 ),


a = ϕ1 (t3 − t2 ) − ϕ2 (t3 − t1 ) + ϕ3 (t2 − t1 ),
b = −ϕ1 (t23 − t22 ) + ϕ2 (t23 − t21 ) − ϕ3 (t22 − t21 ),
c = ϕ1 (t3 − t2 )t3 t2 − ϕ2 (t3 − t1 )t3 t1 + ϕ3 (t2 − t1 )t2 t1 ·

Además de necesitar que los tres valores t1 , t2 , t3 sean diferentes se puede


suponer que están ordenados, es decir: t1 < t2 < t3 . En este caso t2 se puede
expresar como combinación convexa estricta de t1 , t3 :

t2 = (1 − ν)t1 + νt3 , 0 < ν < 1.


Para saber si p(t) es una parábola estrictamente convexa (tiene mı́nimo),
una parábola degenerada (una recta) o una parábola estrictamente cóncava,
basta con estudiar el signo de a, numerador del coeficiente de t2 , ya que
d > 0.

a = ϕ1 (t3 − t1 )(1 − ν) − ϕ2 (t3 − t1 ) + ϕ3 (t3 − t1 )ν



= (t3 − t1 ) ϕ1 (1 − ν) − ϕ2 + ϕ3 ν .

148
7.8. MINIMIZACIÓN POR INTERPOLACIÓN CUADRÁTICA

Es claro que:

a > 0 si ϕ2 < (1 − ν)ϕ1 + νϕ3 ,


a = 0 si ϕ2 = (1 − ν)ϕ1 + νϕ3 ,
a < 0 si ϕ2 > (1 − ν)ϕ1 + νϕ3 .

Estos resultados se interpretan geométricamente de la siguiente forma:


p(t) es una parábola esctrictamente convexa si el punto (t2 , ϕ2 ) queda por
debajo del segmento de recta que une los puntos (t1 , ϕ1 ), (t3 , ϕ3 ) y es una
recta si el punto (t2 , ϕ2 ) queda en ese segmento de recta. Un caso particular
de parábola estrictamente convexa se tiene cuando ϕ2 < ϕ1 , ϕ3 . Si t1 > t2 >
t3 y ϕ2 < ϕ1 , ϕ3 también se obtiene una parábola estrictamente convexa.

7.8.2 Cálculo del minimizador de la parábola.


Para el caso de una parábola estrictamente convexa, su minimizador t0 = t∗p
está dado por −b/2a, o sea,

1 s23 ϕ1 + s31 ϕ2 + s12 ϕ3


t∗p = , (7.10)
2 t23 ϕ1 + t31 ϕ2 + t12 ϕ3
donde

tij = ti − tj ,
sij = t2i − t2j .

Conocidos los valores ti , ϕi , para el cálculo de t∗p es necesario efectuar 10


sumas o restas, 10 multiplicaciones y 1 división.
Otra expresión equivalente, pero con un número más pequeño de opera-
ciones (7 sumas o restas, 5 multiplicaciones y 1 división) es la siguiente:

(t2 − t1 )2 (ϕ2 − ϕ3 ) − (t2 − t3 )2 (ϕ2 − ϕ1 )


t∗p = t2 − . (7.11)
2[(t2 − t1 )(ϕ2 − ϕ3 ) − (t2 − t3 )(ϕ2 − ϕ1 )]
Para el caso particular de puntos igualmente espaciados: t2 = t1 + η,
t3 = t2 + η,

η ϕ3 − ϕ1
t∗p = t2 − . (7.12)
2 ϕ1 − 2ϕ2 + ϕ3

149
CAPÍTULO 7. MINIMIZACIÓN EN UNA VARIABLE

Obsérvese que la fórmula anterior es la misma del método de Newton


con aproximación numérica de las derivadas. Otro caso particular se tiene
cuando: t2 = t1 + η, t3 = t2 + 2η,

η 4ϕ1 − 3ϕ2 − ϕ3
t∗p = t2 − . (7.13)
2 -2ϕ1 + 3ϕ2 − ϕ3

7.9 MÉTODO DE LOS TRES PUNTOS PARA


λ∈R
La idea de este método de minimización, sobre toda la recta real, es muy
sencilla. Se trata de encontrar, a partir de λk , tres valores adecuados t1 , t2 ,
t3 que permitan obtener el minimizador t∗p de la parábola que pasa por los
tres puntos y escoger enseguida como λk+1 el mejor de los cuatro valores t1 ,
t2 , t3 , t∗p . Se espera ası́ construir a partir de λ0 una sucesión λ1 , λ2 , . . . tal
que λk → λ∗ .
Los tres valores t1 , t2 , t3 son adecuados si por lo menos uno de el-
los es mejor que λk (para algún i ϕi = ϕ(ti ) < ϕ(λk )) y si además la
parábola de interpolación es estrictamente convexa. Esto se logra, por ejem-
plo, si ϕ2 < ϕ1 , ϕ3 , ϕ(λk ). Ası́ t∗p queda en el intevalo ]t1 , t3 [ y el mejor de
los cuatro puntos es simplemente el mejor entre t2 ,t∗p . Esto garantiza que
ϕ(λk+1 ) < ϕ(λk ). Obviamente si dos valores ti son mejores que λk , entonces
posiblemente λk+1 será mucho mejor.
El primer paso consiste simplemente en encontrar un punto t2 mejor que
λk . Se puede empezar con λk + η. Si éste no es mejor se averigua si λk -η es
mejor. Si ninguno de los dos es mejor entonces se reduce el tamaño de η. El
proceso continúa hasta encontrar un punto mejor que λk , o bien hasta que
η sea casi nulo, lo que indica que λk es posiblemente un minimizador local.

datos: λk , ε, η0 , 0 < ε < |η0 |, α ∈]0, 1[


exito = 0, η = η0
mientras exito = 0 y |η| > ε
si ϕ(λk + η) < ϕ(λk ) ent exito = 1
sino
η = −η
si ϕ(λk + η) < ϕ(λk ) ent exito = 1
sino η = −αη
fin-sino
fin-mientras
si exito = 1 ent t1 = λk , t2 = λk + η

150
7.9. MÉTODO DE LOS TRES PUNTOS PARA λ ∈ R

El valor de α puede ser simplemente α = 1/2. El valor de η0 utilizado


como dato para la búsqueda de un punto mejor que λk puede ser constante
o puede estar relacionado con el cambio en λ, por ejemplo γ(λk − λk-1 ), con
γ = 1/2 o cualquier otro valor mayor que cero. Para que cumpla con la
condición ε < |η0 | se puede utilizar η0 = dom{γ(λk -λk-1 ), 2ε}.

Después de haber encontrado un punto mejor que λk , se trata de buscar


puntos cada vez mejores hasta encontrar un punto peor que el mejor punto
obtenido. Si λk + η es mejor que λk se averigua si λk + 2η es aún mejor y
después se estudia λk + 4η y ası́ sucesivamente hasta encontrar uno peor.
Esto se puede lograr mediante el siguiente algoritmo.

datos: t1 , t2 , R suficientemente grande


η = t2 − t1
β = 2 o cualquier valor mayor que 1
exito = 0
mientras exito = 0 y |t2 + η| < R
η = βη
si ϕ(t2 + η) < ϕ(t2 ) ent t1 = t2 , t2 = t2 + η
sino t3 = t2 + η, exito = 1
fin-mientras

Al final de este algoritmo, si exito=1 hay tres puntos adecuados t1 , t2 , t3 ,


y a continuación es necesario calcular t∗p minimizador de la parábola y es-
coger el mejor entre t2 y t∗p . Por otro lado, exito=0 indica que no fue posible
encontrar los tres puntos y que, para los valores utilizados para la variable
independiente t, posiblemente la función no está acotada inferiormente y no
tiene minimizador.

Ejemplo 7.7. Aplicar el método de los tres puntos para minimizar f (x1 , x2 )
= x41 + (x1 + x2 )2 , a partir de x = (−2, 3), en la dirección d = (−1, 4), con
λ0 = 0.

151
CAPÍTULO 7. MINIMIZACIÓN EN UNA VARIABLE

k λk t mejor t1 t2 t3 t∗p
ϕ(λk ) ϕ(t) ϕ(t1 ) ϕ(t2 ) ϕ(t3 ) ϕ(t∗p )

0 0.0000 -0.1000 -0.3000 -0.7000 -1.5000 -0.8062


17.0000 13.5221 8.3621 4.0661 12.3125 4.0434
1 -0.8062 -0.7558 -0.8062 -0.7558 -0.6550 -0.7592
4.0434 4.0027 4.0434 4.0027 4.2038 4.0026
2 -0.7592 -0.7584 -0.7592 -0.7584 -0.7570 -0.7585
4.0026 4.0026 4.0026 4.0026 4.0026 4.0026
3 -0.7585
4.0026 3

7.10 MÉTODO DE LOS TRES PUNTOS PARA


λ≥0
Se trata simplemente de adaptar el método anterior de tal forma que siempre
λk ≥ 0. Se desea entonces encontrar, a partir de λk , tres valores t1 , t2 , t3 ,
no negativos, tales que t2 es el punto intermedio, y es mejor que los otros
dos.
El primer paso consiste simplemente en encontrar un punto t2 ≥ 0 mejor
que λk . Esta búsqueda se puede esquematizar ası́:

datos: λk , ε, η0 , 0 < ε < |η0 |, α =∈]0, 1[


exito = 0, η = η0
mientras exito = 0 y |η| > ε
si λk + η ≥ 0 y ϕ(λk + η) < ϕ(λk ) ent exito = 1
sino
η = −η
si λk + η ≥ 0 y ϕ(λk + η) < ϕ(λk ) ent exito = 1
sino η = −αη
fin-sino
fin-mientras
si exito = 1 ent t1 = λk , t2 = λk + η

Al final del algoritmo anterior, si exito = 0, entonces posiblemte λk es


un minimizador.

152
7.10. MÉTODO DE LOS TRES PUNTOS PARA λ ≥ 0

Después de haber encontrado un punto, no negativo, mejor que λk , se


trata de buscar puntos, no negativos, cada vez mejores hasta encontrar un
punto peor que el mejor punto obtenido.

datos: : t1 ≥ 0, t2 ≥ 0, ε > 0, R suf. grande


η = dom{t2 -t1 , 2ε}
β = 2 o cualquier valor mayor que 1
exito = 0
mientras exito = 0 y |t2 + η| < R y |η| ≥ ε,
η = βη
si t2 + η ≥ 0 ent
si ϕ(t2 + η) < ϕ(t2 ) ent t1 = t2 , t2 = t2 + η
sino t3 = t2 + η, exito = 1
fin-ent
sino η = η/β 2
fin-mientras
si exito = 1 ent t∗p = . . . , λk+1 = mejor{t∗p , t2 }
sino
si |η| > ε ent posiblemente no hay minimizador
sino λk+1 = t2
fin-sino

Ejemplo 7.8. Aplicar el método de los tres puntos para minimizar f (x1 , x2 )
= x41 + (x1 + x2 )2 , a partir de x = (−2, 3), en la dirección d = (1, −4), con
λ ≥ 0, λ0 = 0.

k λk t mejor t1 t2 t3 t∗p
ϕ(λk ) ϕ(t) ϕ(t1 ) ϕ(t2 ) ϕ(t3 ) ϕ(t∗p )
0 0.0000 0.1000 0.3000 0.7000 1.5000 0.8062
17.0000 13.5221 8.3621 4.0661 12.3125 4.0434
1 0.8062 0.7255 0.8062 0.7255 0.5643 0.7592
4.0434 4.0226 4.0434 4.0226 4.7287 4.0026
2 0.7592 0.7585 0.7591 0.7585 0.7574 0.7585
4.0026 4.0026 4.0026 4.0026 4.0026 4.0026
3 0.7585
4.0026 3

Ejemplo 7.9. Aplicar el método de los tres puntos para minimizar f (x1 , x2 )
= x41 + (x1 + x2 )2 , a partir de x = (−2, 3), en la dirección d = (−1, 4), con
λ ≥ 0, λ0 = 0.

153
CAPÍTULO 7. MINIMIZACIÓN EN UNA VARIABLE

λ∗ = 0.0000. 3

7.11 INTERPOLACIÓN CUADRÁTICA EN UN


INTERVALO [a, b]
Dada ϕ una función estrictamente cuasiconvexa, se desea hallar λ∗ mini-
mizador de ϕ en un intervalo [a, b]. Se trata de combinar adecuadamente la
interpolación cuadrática con el método de búsqueda secuencial con 5 puntos
intermedios no equidistantes. Los puntos se escogen para favorecer la ten-
dencia que muestre la función, pero también asegurando que el tamaño del
intervalo decrece de manera adecuada.
......
..........
........
.......
...
.......
.....
.....
.....
.....
..
......
.....
....
...
...
...
.... .
....
.... ..
...
.... ....
.... ....
....
.... ......
.
.... ...
.... ....
..... ....
..... .....
.....
..... .. ......
.
...... .....
...... ......
....... ......
........ .......
.........
........... ..
..
. ..
.........
.
.................. ..........
............................................. ...
.. .
.. ..
.. ..
.. ..
ε .. ..
.. ............ ..
.. ..
. .
..
..
..
..
t0 t1 t2 t3 ..
..
t4 t5 t6
... ... ... ... .. ... ... ...

ak µk mk bk

Figura 7.1

En la iteración k, dado el intervalo [ak , bk ], se calcula el punto medio


mk . Si este punto es mejor que ak y bk , entonces pk , el minimizador de
la parábola, queda en el interior del intervalo. Sea µk el mejor entre pk y
mk . Si µk < mk se hace t2 = µk , alrededor de t2 se escogen 2 puntos muy
cercanos, t1 = t2 − ε/2, t3 = t2 + ε/2 y, además, se escogen t4 , t5 igualmente
espaciados entre t3 y bk . Ver Figura 7.1 .
Si µk ≥ mk se hace t4 = µk , alrededor de t4 se escogen 2 puntos muy
cercanos, t3 = t4 − ε/2, t5 = t4 + ε/2 y, además, se escogen t1 , t2 igualmente
espaciados entre ak y t3 . Ver Figura 7.2 .
Los extremos ak , bk corresponden a t0 , t6 . Como en la búsqueda secuen-
cial, se escoge ti el mejor de los cinco puntos interiores y el nuevo intervalo

154
7.11. INTERPOLACIÓN CUADRÁTICA EN UN INTERVALO

.............
........
.......
......
......
.....
.....
.....
.....
.....
.....
.....
.....
...
...
.... ..
.... ....
.... ....
....
.... ......
.... ...
.... ...
.... ....
.... ....
.....
..
.....
.
.....
..... .....
....
.....
...... .....
...... ......
....... ...
.......
.
....... ...
......... ........
............... .........
...................... ............
.. .....................................
.. ..
.. ..
..
.. ...
..
.. ε .
.........................
..
..
t0
...
t1 ...
t2...
..
..
t3 t4 t5 ... ... ...
t6 ...
..

ak mk µk bk

Figura 7.2

será [ti−1 , ti+1 ]. Con buena suerte el mejor punto es µk y ası́ el nuevo in-
tervalo tiene longitud ε. En el peor de los casos, por ejemplo, µk está muy
cerca de ak , ti = t5 y bk+1 − ak+1 = t6 − t4 = 2(bk − t3 )/3 < 2(bk − ak )/3.
Si mk no es mejor que los extremos y si ak es mejor que bk , se supone
cierta tendencia de que el minimizador esté cerca de ak . Se escogen dos
puntos muy cercanos a ak : t1 = ak + ε/2, t2 = ak + ε. Los puntos t3 , t4 y
t5 son puntos igualmente espaciados de [ak , bk ]. Con buena suerte el mejor
punto es t1 y ası́ el nuevo intervalo tiene longitud ε. En el peor de los casos
bk+1 − ak+1 = (bk − ak )/2. Ver Figura 7.3 .
De manera análoga, si mk no es mejor que los extremos y si bk es mejor
que ak se supone cierta tendencia de que el minimizador esté cerca de bk .
Se escogen dos puntos muy cercanos a bk : t5 = bk − ε/2, t4 = bk − ε. Los
puntos t1 , t2 y t3 son puntos igualmente espaciados de [ak , bk ]. Con buena
suerte el mejor punto es t5 y ası́ el nuevo intervalo tiene longitud ε. En el
peor de los casos bk+1 − ak+1 = (bk − ak )/2. Ver Figura 7.4 .
Ver esquema general del algoritmo al final del capı́tulo.

Ejemplo 7.10. Sean: f (x1 , x2 ) = 10(2x1 + x2 )4 + (x1 − x2 )2 , x = (1, 2),


d = (0, −2). Hallar el minimizador de ϕ(λ) = f (x + λd), λ ∈ [0, 2], con
ε = 0.01.
Ver tabla de resultados al final del capı́tulo.

Ejemplo 7.11. Sean: f (x1 , x2 ) = 10(2x1 + x2 )4 + (x1 − x2 )2 , x = (1, 2),


d = (0, −2). Hallar el minimizador de ϕ(λ) = f (x + λd), λ ∈ [0, 1.5], con

155
CAPÍTULO 7. MINIMIZACIÓN EN UNA VARIABLE

...
.....
......
......
...
.......
.....
.....
......
......
..
..
.......
......
......
......
......
..
...
.......
.
.......
......
.......
.......
.
...
.........
........
........
.........
..........
.
...
...
.......... ...
..
.......... ...
...........
........... ..
............
...
...
...
...
...
............... ..
..
..........
..........
...
...
.............. ..
...
..
..
..
..
ε
......................
..
..

t.0 t.1 t.2 t.3 t.4 t.5 t.6


.. .. .. .. .. .. ..

ak mk bk

Figura 7.3

ε = 0.01.
Ver tabla de resultados al final del capı́tulo.

7.12 MINIMIZACIÓN IMPRECISA


El tiempo necesario para buscar el minimizador exacto de ϕ(λ) no es des-
preciable. Si además hay que efectuar este proceso muchas veces, el tiempo
total de las minimizaciones en una variable representa una parte importante
del tiempo total. Algunos métodos de minimización en varias variables con-
servan la convergencia si en cada minimización en una variable se halla
simplemente un punto mejor (con ciertas condiciones) que el anterior. Esto
es lo que se denomina minimización o búsqueda imprecisa (o inexacta).
Hay varios criterios para decidir cuando se tiene un λ que aproxima
adecuadamente el minimizador o cuando se ha obtenido una disminución
suficiente en el valor de ϕ.

7.12.1 Criterio del porcentaje


Sean: λ∗ el minimizador de ϕ en Λ, 0 < c < 1 (por ejemplo c = 0.10). Se
desea encontrar un λ̄ tal que

|λ̄ − λ∗ | ≤ c|λ∗ |.

156
7.12. MINIMIZACIÓN IMPRECISA

.....
.....
......
......
......
......
......
......
......
......
......
......
......
......
......
......
.......
.......
.......
.......
.......
.......
.......
........
........
........
.........
.. ................
.. ..........
.. ..........
...........
.. ............
.............
.. ...............
.. ..................
..........................
.. ..........
..
..
..
..
..
..
ε......................

t.0 t.1 t.2 t.3 t.4 t.5 t.6


.. .. .. .. .. .. ..

ak mk bk

Figura 7.4

Obviamente se requiere conocer un valor aproximado o una cota de λ∗ .


Esto sucede, por ejemplo, cuando se minimiza en un intervalo [0, λmax ].

7.12.2 Regla de Armijo


El objetivo de esta regla es encontrar un λ que no sea ni demasiado pequeño
ni demasiado grande. Sean: 0 < β < 1, α > 1 (por ejemplo β = 0.2,
α = 2). Sea d una dirección tal que dT f 0 (x) < 0 (entonces d es una dirección
de descenso). Sea ϕ1 la aproximación de orden 1 de ϕ alrededor de 0. Sea

ϕ(λ) = ϕ1 (λ) + λ2 ϕ00 (t)/2 , t entre 0 y λ,


0
ϕ1 (λ) = ϕ(0) + ϕ (0)λ
ϕ1 (λ) = ϕ(0) + dT f 0 (x)λ.

ϕ1 es una recta que pasa por el punto (0, ϕ(0)) con pendiente negativa
ϕ0 (0) y es tangente a ϕ. Sea ϕ̂ un recta que pasa por el mismo punto
(0, ϕ(0)), pero con una pendiente menor (menos negativa).

ϕ̂(λ) = ϕ(0) + βϕ0 (0)λ.

Obviamente si λ̄ es positivo y muy pequeño ϕ(λ̄) < ϕ(0). Supóngase que


α = 2. Para evitar que λ̄ sea muy pequeño se le exige que sea por lo menos
igual a la mitad del λ > 0 tal que ϕ(λ) = ϕ̂(λ), o sea,

157
CAPÍTULO 7. MINIMIZACIÓN EN UNA VARIABLE

ϕ(αλ̄) > ϕ̂(αλ̄).

Por otro lado se considera adecuado el valor de λ̄ si

ϕ(λ̄) ≤ ϕ̂(λ̄).

..... ...
........ ...
...
.... ...
... .
....
.
..
... ....
... ....
.......... ....
...
............................
... ............ ...........
...........
ϕ .
...
....
.
.
... ............ ........... ....
... ......... ........... ....
.......... ........... .....
.
... ............ ..
...
..... ..... ........... .....
..... ..... ........... .....
... ..... ..... ........... .....
... ..... ...... ........... .....
...
..... ....... ........... .
..
.......
..... .. ........... .
... ..... ............ ........... ......
........... ......
... ..... ....... .......................
...
...
.....
.....
.....
........
.........
..........
.............. .... . . . .. .. .. ϕ̂ ..
.......... .....................
.. ..........
... .....
..... ......................................................................... ..
... ..... ...
... .....
...
... ϕ1 ..... .
..
..
... ..
... ..
...
.... δ ..
.......................................................................................................................................................................................... δ ..
.
.
... ..
.............................................................................................................................................................................................................................................................................................................................................................................................

λ̄
Figura 7.5

Con frecuencia, más no siempre, después de hacer una iteración del


método de los tres puntos el valor λ obtenido cumple la regla de Armijo
(y otras reglas de minimización imprecisa). Otra manera de encontrar
un λ̄ que cumpla esta regla es la siguiente: Empezar con un λ0 > 0 tal
que ϕ(λ0 ) ≤ ϕ̂(λ0 ) (generalmente cualquier valor positivo “pequeño” sirve),
e irlo multiplicando por α hasta que ϕ(λ0 αk ) > ϕ̂(λ0 αk ), entonces λ̄ =
λ0 αk−1 . Esto quiere decir que se empieza con un valor de λ mejor que λ = 0
(pero no demasiado grande), luego se incrementa varias veces el valor de λ
hasta obtener un valor de λ muy grande y que no sirve, pero el penúltimo
valor sı́ sirve.

158
7.12. MINIMIZACIÓN IMPRECISA

datos: 0 < β < 1, α > 1, R grande, ϕ0 = ϕ(0), ϕ00 = ϕ0 (0),


λ0 > 0 tal que ϕ(λ0 ) < ϕ̂(λ0 )
exito = 0, λ̄ = λ0 , c = βϕ00
mientras exito = 0 y λ̄ < R
λ̄ = αλ̄
si ϕ(λ̄) > ϕ0 + cλ̄ ent
λ̄ = λ̄/α
exito = 1
fin-ent
fin-mientras
Si al final de este proceso exito = 1, entonces se ha obtenido un λ̄
adecuado. En caso contrario, el valor de λ aumentó mucho, lo que indica
que posiblemente ϕ no tiene minimizador.
Aunque el algoritmo funciona empezando con cualquier λ0 > 0 tal que
ϕ(λ0 ) < ϕ̂(λ0 ), es aconsejable buscar que este λ0 no sea demasiado pequeño,
para evitar ası́ tener que aumentarlo muchas veces hasta llegar al tamaño
adecuado.
El proceso completo para obtener un punto que cumpla la regla de
Armijo tiene en realidad tres pasos:
ˆ dado λ000 > 0, encontrar λ00 > 0 y mejor que 0,
ˆ dado λ00 > 0 y mejor que 0 , encontrar λ0 > 0 tal que ϕ(λ0 ) < ϕ̂(λ0 ),
ˆ dado λ0 > 0 tal que ϕ(λ0 ) < ϕ̂(λ0 ) encontrar λ̄ que cumpla regla de
Armijo.
El valor obtenido en una iteración del método de los tres puntos puede
ser utilizado como λ00 . Se puede escoger como λ000 el valor λk-1 (valor de λ
en la iteración anterior), sin importar que corresponda a otro punto xk-1 y
a otra dirección dk-1 .
Si λ000 no es mejor que 0, entonces se disminuye, por ejemplo multiplicando
por 0.5, y ası́ sucesivamente hasta obtener un punto mejor que 0. Como se
supone que ϕ0 (0) < 0, entonces este proceso de buscar un λ mejor que 0
únicamente tiene dos salidas: o se encuentra un λ mejor que 0, o, menos
corriente, se obtiene un λ positivo, pero demasiado pequeño para la precisión
usada lo que indica que aunque ϕ0 (0) < 0 se puede considerar que 0 es casi
un minimizador.
Si λ00 no cumple con la condición ϕ(λ00 ) < ϕ̂(λ00 ), entonces se divide una
o varias veces por α hasta obtener el cumplimiento de la condición.

159
CAPÍTULO 7. MINIMIZACIÓN EN UNA VARIABLE

Ejemplo 7.12. Sean: f (x1 , x2 ) = x41 + (x1 + x2 )2 , x = (−2, 3), d = (1, −4).
Hallar un λ̄ ≥ 0 adecuado que “minimice” ϕ(λ) = f (x + λd) utilizando la
regla de Armijo con β = 0.2, α = 2.
En este caso ϕ(0) = 17, ϕ0 (0) = −38. Para λ = 0.1 se tiene que ϕ(λ) =
13.5221 y ϕ̂(λ) = 17 + (0.1)(0.2)(−38) = 16.24, luego 0.1 es un valor inicial
aceptable. Para obtener un valor que no sea demasiado pequeño

λ ϕ(λ) ϕ̂(λ)

0.0000 17.0000 17.0000

0.1000 13.5221 < 16.2400


0.2000 10.6576 < 15.4800
0.4000 6.5936 < 13.9600
0.8000 4.0336 < 10.9200
1.6000 14.4656 > 4.8400
Entonces el valor λ̄ = 0.8 sirve.
En este ejemplo, ϕ(1.2329) = 7.6292, ϕ̂(1.2329) = 7.6300, luego cualquier
valor de λ en el intervalo [0.6165, 1.2329] sirve.
Si se hubiera utilizado el método de los tres puntos empezando con t =
0.1, mejor que λ = 0, entonces

λ ϕ(λ)

0.0000 17.0000
0.1000 13.5221
0.3000 8.3621
0.7000 4.0661
1.5000 12.3125

t∗p = 0.8062, ϕ(t∗p ) = 4.0434,


λ̄ = mejor{0.7, t∗p } = 0.8062.

ϕ(2(0.8062)) = 14.7467 > ϕ̂(2(0.8062)) = 4.7458,


ϕ(0.8062) = 4.0435 < ϕ̂(0.8062) = 10.8729.

Luego λ = 0.8062 cumple la regla de Armijo.

160
7.12. MINIMIZACIÓN IMPRECISA

Si se hubiera empezado con λ000 = 5, valor para el cual ϕ(5) = 277, hubiera
sido necesario multiplicar varias veces por 0.5 hasta obtener λ00 = 1.25,
ϕ(1.25) = 7.8789. Como ϕ̂(1.25) = 7.5, entonces es necesario dividir por 2
hasta obtener λ0 = 0.625 que también cumple la regla de Armijo. 3

7.12.3 Regla de Goldstein


El objetivo de esta regla también es encontrar un λ que no sea ni demasiado
pequeño ni demasiado grande. Sea 0 < ε < 1/2 (por ejemplo ε = 0.2). Se
debe cumplir una de las condiciones de Armijo

ϕ(λ̄) ≤ ϕ(0) + εϕ0 (0)λ̄ = ϕ̂(λ̄).


Se considera que λ̄ no es muy pequeño si

ϕ(λ̄) > ϕ(0) + (1 − ε)ϕ0 (0)λ̄ = ϕ̄(λ̄).


Las tres rectas ϕ̂, ϕ̄, ϕ1 , pasan por el punto (0, ϕ(0)), las tres tienen
pendiente negativa, ϕ̂ es la menos inclinada y ϕ1 la más inclinada.
..... .
...
......... ...
...
.... ...
... ....
.
... ...
... ...
....
.................. ....
.. ........................
... ................... .................
ϕ ....
.
...
...
.
... .................... ........... ....
... ......... ...... ........... ....
... .......... ......
.
...........
.
...... ..
.....
.
..... ..... ...... ...........
... ........... ....
..... ..... ...... ........... ....
... ..... ..... ....... ........... .....
... ..... ...... ....... ........... .....
..... ...... ...... ........... .......
... ..... ....... ....... ........... ..
.
... ...... ...... ........... ......
..... ....... ..... ........... ......
... ..... ............. .......................
...
...
.....
.....
.....
.............
...........
. .. . . .. .. . ϕ̂ ..
...............................
...........
..... .................................. ............ ...
... ..... .. ...... ........................................................... .
.
... ..... .. ...... ..
... ..... ...... .
... ......
...
... ϕ1 .....
. . ......
......
.
..
...
...
..
..
..
ϕ̄ ......
......
......
..
..
..
... ...... ..
.. ..
... .. ..
... ...
... ...
....................................................................................................................................................................................................................................................................................................................................................................................................

λ̄
Figura 7.6
Una manera de obtener un λ que cumpla la regla de Goldstein es la
siguiente:

ˆ empezar con un valor positivo pequeño,

ˆ incrementarlo hasta que cumpla la primera condición,

ˆ si cumple la segunda condición se tiene un valor adecuado,

ˆ si no la cumple, disminuir lentamente su valor hasta que cumpla la


segunda condición.

161
CAPÍTULO 7. MINIMIZACIÓN EN UNA VARIABLE

Ejemplo 7.13. Sean: f (x1 , x2 ) = x41 + (x1 + x2 )2 , x = (−2, 3), d = (1, −4).
Hallar un λ̄ ≥ 0 adecuado que “minimice” ϕ(λ) = f (x + λd) utilizando la
regla de Goldstein con ε = 0.2.
Recuérdese que ϕ(0) = 17, ϕ0 (0) = −38.

λ ϕ(λ) ϕ̄(λ) ϕ̂(λ)

0.1000 13.5221 13.9600


0.2000 10.6576 10.9200
0.4000 6.5936 4.8400

0.4000 6.5936 13.9600


Entonces el valor λ = 0.4 sirve.
Si se hubiera utilizado otra manera de incrementar λ, el valor de λ que
cumple la primera condición puede no cumplir la segunda. Entonces es nece-
sario que el ritmo de disminución sea más lento que el ritmo de incremento.

λ ϕ(λ) ϕ̄(λ) ϕ̂(λ)

0.0200 16.2531 13.3920


0.2000 10.6576 10.9200
2.0000 25.0000 -43.8000

2.0000 25.0000 1.8000


1.0000 5.0000 9.4000
Entonces el valor λ = 1.0 sirve.
Para este ejemplo

ϕ(0.2444) = 9.5707 , ϕ̄(0.2444) = 9.5702,


ϕ(1.2329) = 7.6292 , ϕ̂(1.2329) = 7.6300.

Entonces los valores de λ en el intervalo [0.2444, 1.2329] cumplen la regla de


Goldstein. 3

7.13 MINIMIZACIÓN DE UNA FUNCIÓN


CUADRÁTICA
Sea ϕ una función cuadrática no degenerada (no es una recta). Dados tres
puntos diferentes t1 , t2 , t3 cualquier fórmula de interpolación cuadrática

162
7.13. MINIMIZACIÓN DE UNA FUNCIÓN CUADRÁTICA

se puede aplicar (el denominador no es nulo) y da un punto crı́tico. Si


ϕ es convexa (en este caso estrictamente convexa) el punto crı́tico es un
minimizador.
Si f es una función cuadrática se puede expresar de dos formas, la
primera es
n
X n−1
X n
X n
X
f (x) = αii x2i + βij xi xj + ci xi + κ.
i=1 i=1 j=i+1 i=1

Como el valor de κ no altera en nada el minimizador, se puede suponer que


κ = 0.
n
X n−1
X n
X n
X
f (x) = αii x2i + βij xi xj + ci xi .
i=1 i=1 j=i+1 i=1

La otra forma es una expresión matricial


1
f (x) = xT Hx + cT x,
2
donde H es una matriz n × n simétrica y c es un vector columna de n
componentes. Obviamente c = [c1 c2 ... cn ]T y

hii = 2αii , i = 1, ..., n,


hij = hji = βij , i 6= j.

Las expresiones del gradiente y de la matriz hessiana (constante) son:

f 0 (x) = Hx + c,
f 00 (x) = H.

Dejando fijos un punto x y una dirección d 6= 0, la función ϕ(λ) es


cuadrática, pero, dependiendo de d, puede ser estrictamente convexa (una
parábola hacia arriba), o una recta, o estrictamente cóncava. Si H es
semidefinida positiva, ϕ puede ser estrictamente convexa o puede ser una
recta. Si H es definida positiva, entonces ϕ siempre es estrictamente con-
vexa.

1
ϕ(λ) = (x + λd)T H(x + λd) + cT (x + λd)
2

163
CAPÍTULO 7. MINIMIZACIÓN EN UNA VARIABLE

λ2 T
= d Hd + λdT (Hx + c) + f (x).
2
Para obtener un punto crı́tico λ0 ,

dT (Hx + c) dT f 0 (x)
λ0 = − =− T , si dT Hd 6= 0.
d Hd
T
d Hd
Este punto crı́tico λ0 es el minimizador si dT Hd > 0. Si H es definida
positiva el punto crı́tico siempre es el minimizador. Si dT f 0 (x) < 0 (entonces
d es dirección de descenso), el minimizador es positivo.

Ejemplo 7.14. Minimizar f (x̄ + λd), donde f (x1 , x2 ) = 2x21 + (x1 + x2 )2 ,


x̄ = (4, 3), d = (−2, −1).

 
  30
−2 −1
∗ 14 74
λ = −    = = 2.1765. 3
  6 2 −2 34
−2 −1
2 2 −1

EJERCICIOS
En los ejercicios 7.1 a 7.11 estudie el problema propuesto, averigüe cuáles
métodos puede usar, use algunos de ellos, verifique si el valor obtenido
cumple algunos criterios (regla de Armijo, Goldstein, ...), utilice valores
iniciales diferentes.

7.1. Minimizar f (x̄ + λd), con λ ∈ R, donde f (x1 , x2 ) = x21 − 2x1 + x22 +
2x2 + 10, x̄ = (−3, 4), d = (1, −2).

7.2. Minimizar f (x̄ + λd), con λ ∈ R, donde f (x1 , x2 ) = x41 − 2x1 + x22 +
2x2 + 10, x̄ = (−3, 4), d = (1, −2).

7.3. Minimizar f (x̄ + λd), con λ ∈ [0, ∞], donde f (x1 , x2 ) = x21 − 2x1 +
x22 + 2x2 + 10, x̄ = (−3, 4), d = (1, −2).

7.4. Minimizar f (x̄ + λd), con λ ∈ [0, 6], donde f (x1 , x2 ) = x21 − 2x1 + x22 +
2x2 + 10, x̄ = (−3, 4), d = (1, −2).

7.5. Minimizar f (x̄ + λd), con λ ∈ [0, 2], donde f (x1 , x2 ) = x21 − 2x1 + x22 +
2x2 + 10, x̄ = (−3, 4), d = (1, −2).

164
7.13. MINIMIZACIÓN DE UNA FUNCIÓN CUADRÁTICA

7.6. Minimizar f (x̄ + λd), con λ ∈ R, donde f (x1 , x2 ) = x21 − 2x1 + x22 +
2x2 + 10, x̄ = (−3, 4), d = (−1, 2).

7.7. Minimizar f (x̄ + λd), con λ ∈ [0, ∞], donde f (x1 , x2 ) = x21 − 2x1 +
x22 + 2x2 + 10, x̄ = (−3, 4), d = (−1, 2).

7.8. Minimizar f (x̄ + λd), con λ ∈ R, donde f (x1 , x2 ) = x31 − 2x1 + x22 +
2x2 + 10, x̄ = (−3, 4), d = (−1, 2).

7.9. Minimizar f (x̄ + λd), con λ ∈ [0, ∞], donde f (x1 , x2 ) = x31 − 2x1 +
x22 + 2x2 + 10, x̄ = (−3, 4), d = (−1, 2).

7.10. Minimizar f (x̄ + λd), con λ ∈ [0, 10], donde f (x1 , x2 ) = x31 − 2x1 +
x22 + 2x2 + 10, x̄ = (−3, 4), d = (−1, 2).

7.11. Minimizar f (x̄+λd), con λ ∈ [0, 20], donde f (x1 , x2 ) = x1 sen (x1 )+x22 ,
x̄ = (3, 4), d = (2, −1).

165
CAPÍTULO 7. MINIMIZACIÓN EN UNA VARIABLE

ALGORITMO DE LOS TRES PUNTOS PARA λ ∈ [a, b]

datos: a, b, ε
l =b−a
mientras l > ε
m = (b + a)/2, t0 = a, t6 = b
si ϕ(m) < ϕ(a), ϕ(b) ent
p = minimiz. parábola: (a, ϕ(a)), (m, ϕ(m)), (b, ϕ(b))
µ = mejor{m, p}, δ = min{ε/2, l/8}
si µ ≤ m ent
t2 = µ, t1 = t2 − δ, t3 = t2 + δ
t4 = (2t3 + b)/3, t5 = (t3 + 2b)/3
fin-ent
sino
t4 = µ, t3 = t4 − δ, t5 = t4 + δ
t1 = (2a + t3 )/3, t2 = (a + 2t3 )/3
fin-sino
fin-ent
sino
δ = min{ε/2, l/12}
si ϕ(a) ≤ ϕ(b) ent
t1 = a + δ, t2 = a + 2δ
t3 = a + l/4, t4 = m, t5 = b − l/4
fin-ent
sino
t1 = a + l/4, t2 = m, t3 = b − l/4
t4 = b − 2δ, t5 = b − δ
fin-sino
fin-sino
ti = mejor{t1 , ..., t5 }, a = ti−1 , b = ti+1 , l = b − a
fin-mientras
λ∗ = mejor{a, ti , b}

166
7.13. MINIMIZACIÓN DE UNA FUNCIÓN CUADRÁTICA

k a b m p µ t1 t2 t3 t4
ϕ(a) ϕ(b) ϕ(m) ϕ(p) ϕ(µ) ϕ(t1 ) ϕ(t2 ) ϕ(t3 ) ϕ(t4 ) ϕ

0 0.0000 2.0000 1.0000 0.5000 1.0000 1.5000 1.9900 1.


2561.0000 9.0000 161.0000 810.0000 161.0000 14.0000 8.8804 8.
1 1.5000 1.9950 1.7475 1.8156 1.7475 1.7425 1.7475 1.7525 1.8333 1.
14.0000 8.9401 6.8754 7.1085 6.8754 6.8787 6.8754 6.8753 7.2346 8.
2 1.7475 1.8333 1.7904 1.7525 1.7575 1.7690 1.7904 1.
6.8754 7.2346 6.9694 6.8753 6.8785 6.8969 6.9694 7.
3 1.7475 1.7575 1.7525 1.7500 1.7500 1.7488 1.7500 1.7513 1.7533 1.
6.8754 6.8785 6.8753 6.8750 6.8750 6.8751 6.8750 6.8751 6.8757 6.
1.7488 1.7513
6.8751 6.8751

λ∗ ≈ 1.7500

Ejemplo 7.10

k ak bk m p µ t1 t2 t3 t4 t5
ϕ(ak ) ϕ(bk ) ϕ(m) ϕ(p) ϕ(µ) ϕ(t1 ) ϕ(t2 ) ϕ(t3 ) ϕ(t4 ) ϕ(t

0 0.0000 1.5000 0.7500 0.3750 0.7500 1.1250 1.4900 1.4


2561.0000 14.0000 390.8750 1115.7266 390.8750 95.3516 14.7447 14.3
1 1.4900 1.5000 1.4950 1.4925 1.4950 1.4975 1.4983 1.4
14.7447 14.0000 14.3661 14.5539 14.3661 14.1815 14.1207 14.0
2 1.4983 1.5000
14.1207 14.0000

λ∗ ≈ 1.7500

Ejemplo 7.11

167
CAPÍTULO 7. MINIMIZACIÓN EN UNA VARIABLE

168
Capı́tulo 8

MÉTODOS DE
MINIMIZACIÓN EN
VARIAS VARIABLES SIN
RESTRICCIONES

Sea f : Rn → R. Los métodos de este capı́tulo se utilizan para hallar f ∗


valor mı́nimo de f , y x∗ minimizador de f cuando x varı́a en Rn . Bajo
ciertas condiciones de la función, algunas veces se obtiene el minimizador
global único (más exactamente, una aproximación del minimizador), a veces
se alcanza un minimizador global, otras veces se obtiene simplemente un
minimizador local, otras veces solamente se consigue un punto crı́tico, otras
veces apenas se consigue un punto donde el proceso se hizo muy lento (los
cambios en f o en x son muy pequeños).
De todas formas los métodos presentados en este capı́tulo y en los dos
siguientes, buscan un minimizador local. Los métodos de minimización
global, que buscan mı́nimos globales, son mucho más complejos y están
fuera del alcance de este libro. No se debe confundir minimización global
con convergencia global. Un método tiene convergencia global cuando, no
importando el punto inicial, converge hacia un minimizador local o global.
Puede ser posible tener un método de minimización local con convergencia
global.
Las condiciones casi ideales se tienen cuando f es continua, doblemente
diferenciable y estrictamente convexa. Obviamente esto no se tiene o no se
puede garantizar o verificar siempre. De todas formas, lo mı́nimo que se
debe exigir a f , cuando no se utilizan derivadas, es que sea continua.

169
CAPÍTULO 8. MINIMIZACIÓN SIN RESTRICCIONES

De manera semejante a la minimización en una variable, hay métodos que


utilizan segundas y primeras derivadas, es decir utilizan la matriz hessiana
y el gradiente, hay métodos que utilizan únicamente derivadas primeras, y
hay métodos que no utilizan derivadas.
Generalmente, entre más información se utilice, es decir, entre más
derivadas sean usadas, más eficiente es el método en cuanto al número de
iteraciones. Pero por otra parte, conseguir bastante información cuesta y,
dependiendo de la función, puede hacer lento el proceso. Por otro lado a
veces no se puede conseguir cierta información, por ejemplo, no es posi-
ble calcular derivadas primeras o segundas, y entonces la única solución es
utilizar métodos donde no se requiera esta información.
Dado un punto inicial x0 , aproximación (ojalá buena) de x∗ , se construye
una sucesión de puntos {xk } con la esperanza, y bajo ciertas condiciones con
la garantı́a, de que

xk −→ x∗ minimizador global, o
k
x −→ x∗ minimizador local, o
k
x −→ xc punto crı́tico.

En casi todos los métodos, dado un punto xk se construye una dirección


dk 6= 0 y en seguida se obtiene λ∗k minimizador de ϕ(λ) = f (xk + λdk )
cuando λ varı́a en R.

λ∗k = argmin f (xk + λdk ), λ ∈ R,


xk+1 = xk + λ∗k dk .

Los métodos se diferencian en la construcción de la dirección dk . Si se cumple


que dT f 0 (xk ) < 0, entonces la dirección es de descenso y basta minimizar
para valores positivos:

λ∗k = argmin f (xk + λdk ), λ ≥ 0,


xk+1 = xk + λ∗k dk .

Hallar λ∗k minimizador exacto o casi exacto, puede ser muy costoso en
tiempo. En muchos métodos no se necesita indispensablemente encontrar el
minimizador en cada iteración, sino que basta con encontrar λk que mejora
suficientemente el valor de la función. Esto se denotará

170
λk = argmej f (xk + λdk ),
xk+1 = xk + λk dk ,

y quiere decir que


• f (xk + λk dk ) < f (xk ) − δ con δ > 0, o que
• λk cumple la regla de Armijo, o que
• λk cumple la regla de Goldstein, o que ...
Casi todos los métodos son de descenso, o sea, cumplen (o deberı́an cumplir)
que

f (xk+1 ) < f (xk ).


Los criterios de parada son semejantes a los vistos para una variable.
Pueden ser utilizados individualmente o en conjunto mediante la conjunción
y , o en conjunto mediante la conjunción o. El primer criterio consiste
en considerar, por seguridad, un número máximo de iteraciones MAXIT,
aunque ojalá que éste no sea el criterio por el cual se detiene un proceso.
Otro criterio de parada se tiene cuando el gradiente es nulo o casi nulo

||f 0 (xk )|| < εg dado.


También se puede detener el proceso iterativo cuando el cambio, absoluto
o relativo, en x es muy pequeño

||xk+1 − xk || < εx dado,


o también,

||xk+1 − xk ||
< ε0x dado,
||xk ||
o para evitar denominadores muy pequeños,

||xk+1 − xk ||
≤ ε0x dado.
1 + ||xk ||
También se puede detener el proceso iterativo cuando el cambio, absoluto
o relativo, en el valor de la función es muy pequeño

|f (xk+1 ) − f (xk )| < εf dado ,


o también,

171
CAPÍTULO 8. MINIMIZACIÓN SIN RESTRICCIONES

|f (xk+1 ) − f (xk )|
< ε0f dado ,
|f (xk )|
o para evitar denominadores muy pequeños,

|f (xk+1 ) − f (xk )|
≤ ε0f dado.
|1 + f (xk )|
Por ejemplo, si se utiliza εg = 10−6 y εx = 10 muy posiblemente el
proceso se detendrá únicamente teniendo en cuenta el criterio del gradiente.
Si se utiliza εg = 10 y εx = 10-6 muy posiblemente el proceso se detendrá
únicamente teniendo en cuenta el criterio del cambio en x.
Si se utiliza εg = 10-6 o εx = 10-100 muy posiblemente el proceso
se detendrá únicamente teniendo en cuenta el criterio del gradiente. Si se
utiliza εg = 10−100 o εx = 10-6 muy posiblemente el proceso se detendrá
únicamente teniendo en cuenta el criterio del cambio en x.
No sobra notar que el proceso iterativo se debe detener cuando aparente-
mente ϕ(λ) = f (xk + λdk ) no es acotada inferiormente y no posee mini-
mizador, pues ésto también indica que f no es acotada inferiormente y no
tiene minimizador global.
Es importantı́simo evitar, antes de que el computador pare por un error,
las operaciones no permitidas o no deseadas, por ejemplo, solución de un
sistema singular o casi singular (con matriz no invertible), división por cero
o por un número casi nulo, raı́z cuadrada de un número negativo, etc.

8.1 CÁLCULO DEL GRADIENTE Y DEL


HESSIANO
Si es posible obtener las expresiones analı́ticas de las primeras y segundas
derivadas parciales y si evaluarlas no es demasiado costoso, ésta es la mejor
opción para obtener el gradiente y el hessiano. También existe una técnica
llamada diferenciación automática [Gri00], cada vez más eficiente y de mayor
uso. Por su complejidad y nivel no está dentro del alcance de este libro. Una
tercera salida consiste en la aproximación numérica.
Los programas de computador para programación no lineal, deben tener
un subprograma (función, procedimiento o subrutina) donde dado un vector
x se evalúa f . Posiblemente, también se tienen subprogramas para calcu-
lar mediante la expresión analı́tica el gradiente y el hessiano. Cuando el
programa se utiliza con frecuencia para diferentes funciones, es necesario
cambiar no sólo el subprograma donde se define f sino los subprogramas

172
8.1. CÁLCULO DEL GRADIENTE Y DEL HESSIANO

para el cálculo del gradiente y del hessiano. Para n grande, el proceso de la


derivación parcial analı́tica puede ser dispendioso y aumenta la posibilidad
de los errores humanos.
Las aproximaciones numéricas de las derivadas parciales, son las mis-
mas de las aproximaciones numéricas de las derivadas de funciones de una
variable, o se deducen a partir de ellas. En una variable se utilizó un valor
η; para varias variables puede ser conveniente utilizar diferentes ηj para las
diferentes variables.

∂f f (x̄ + ηi ei ) − f (x̄)
(x̄) ≈ , (8.1)
∂xi ηi

∂f f (x̄ + ηi ei ) − f (x̄ − ηi ei )
(x̄) ≈ (8.2)
∂xi 2ηi

∂2f f (x̄ + ηi ei ) − 2f (x̄) + f (x̄ − ηi ei )


2 (x̄) ≈ (8.3)
∂xi ηi2

∂2f ∂  ∂f 
(x̄) = (x̄)
∂xi ∂xj ∂xi ∂xj
1  ∂f ∂f 
≈ (x̄ + ηi ei ) − (x̄)
ηi ∂xj ∂xj
1 f (x̄ + ηi e + ηj e ) − f (x̄ + ηi ei )
 i j

ηi ηj
f (x̄ + ηj ej ) − f (x̄) 
− ,
ηj

∂2f 1 
(x̄) ≈ f (x̄ + ηi ei + ηj ej ) − f (x̄ + ηi ei ) (8.4)
∂xi ∂xj ηi ηj

−f (x̄ + ηj ej ) + f (x̄) ,

o también,

∂2f
 
∂ ∂f
(x̄) = (x̄)
∂xi ∂xj ∂xi ∂xj

173
CAPÍTULO 8. MINIMIZACIÓN SIN RESTRICCIONES

 
1 ∂f ∂f
≈ (x̄ + ηi ei ) − (x̄ − ηi ei )
2ηi ∂xj ∂xj
1f (x̄ + ηi ei + ηj ej ) − f (x̄ + ηi ei − ηj ej )

2ηi 2ηj
!
f (x̄ − ηi ei + ηj ej ) − f (x̄ − ηi ei − ηj ej )
− ,
2ηj
∂2f 1 
(x̄) ≈ f (x̄ + ηi ei + ηj ej ) + f (x̄ − ηi ei − ηj ej ) (8.5)
∂xi ∂xj 4ηi ηj

−f (x̄ + ηi ei − ηj ej ) − f (x̄ − ηi ei + ηj ej ) .

Conocido el valor de f (x̄), si se aproxima el gradiente usando 8.1 se


necesitan n evaluaciones adicionales de la función. Si se utiliza la fórmula
8.2 se necesitan 2n evaluaciones de f . Para aproximar el hessiano es nece-
sario calcular los n elementos diagonales y n(n − 1)/2 elementos de la parte
triangular estrictamente superior. Si se aproxima el hessiano usando 8.3 y
8.4 se necesitan 2n + 3n(n − 1)/2 evaluaciones adicionales. Si se almacenan
los valores f (x̄ + ηi ei ) el número de evaluaciones adicionales se reduce a
2n + n(n − 1)/2. Si se aproxima el hessiano utilizando 8.3 y 8.5 se necesitan
2n + 2n(n − 1) evaluaciones adicionales.

fórmula núm. de eval. orden del orden error


núm. eval.
gradiente 8.1 n n ηi
gradiente 8.2 2n 2n ηi2
hessiano 8.3, 8.4 2n + n(n − 1)/2 n2 /2
hessiano 8.3, 8.5 2n + 2n(n − 1) 2n2

El hessiano también se puede aproximar mediante evaluaciones, o aprox-


imaciones del gradiente. En este caso las columnas del hessiano se pueden
aproximar por una de las siguientes fórmulas

f 0 (x̄ + ηj ej ) − f 0 (x̄)
H·j ≈ ,
ηj
f 0 (x̄ + ηj ej ) − f 0 (x̄ − ηj ej )
H·j ≈ .
2ηj
La segunda expresión necesita el doble de operaciones que la primera,
pero es más precisa. Por otro lado, ninguna de las dos expresiones tiene

174
8.2. MÉTODO DE NEWTON

en cuenta la simetrı́a de la matriz hessiana, por lo tanto se deben utilizar


preferiblemente cuando se tiene la expresión analı́tica del gradiente o cuando
se dispone de una manera de calcular el gradiente, rápida y precisa.

8.2 MÉTODO DE NEWTON


Si g : R → R, la fórmula de Newton (o Newton-Raphson) para encontrar
una raı́z de g(x) = 0 es la siguiente

g(xk )
xk+1 = xk − .
g 0 (xk )
Esta fórmula se puede reescribir como

xk+1 = xk − (g 0 (xk ))−1 g(xk ).


Si g : Rn → Rn , la fórmula anterior se generaliza inmediatamente a

xk+1 = xk − (g 0 (xk ))−1 g(xk ),


donde g 0 (xk ) es la matriz jacobiana de la función g en el punto xk . La ante-
rior expresión es la fórmula de Newton para hallar una raı́z de la ecuación
vectorial g(x) = 0. Para evitar el cálculo de la inversa, haciendo dk =
−(g 0 (xk ))−1 g(xk ), o lo que es lo mismo, g 0 (xk )dk = −g(xk ), la fórmula de
Newton se expresa en dos partes:

resolver g 0 (xk )dk = −g(xk ),


xk+1 = xk + dk .

Si f : Rn → R es doblemente diferenciable, el método de Newton se


puede utilizar para hallar un punto crı́tico (f 0 (x) = 0), reemplazando en las
fórmulas anteriores g por f 0

resolver f 00 (xk )dk = −f 0 (xk ), (8.6)


k+1 k k
x = x +d . (8.7)

La fórmula (8.6) expresa que se debe resolver un sistema de ecuaciones


lineales donde la matriz de coeficientes es simplemente el hessiano, el vector
de términos independientes es menos el gradiente, y las incógnitas son las
componentes del vector columna dk .

175
CAPÍTULO 8. MINIMIZACIÓN SIN RESTRICCIONES

Ejemplo 8.1. Utilizar el método de Newton para minimizar f (x) = 10(x2 −


x21 )2 + (1 − x1 )2 partiendo de x0 = (3, 4).

k x f (x) f 0 (x) f 00 (x)·1 f 00 (x)·2 d


0 3.0000 254.0000 604.0000 922.0000 -120.0000 -0.0198
4.0000 -100.0000 -120.0000 20.0000 4.8812
1 2.9802 3.9212 4.0071 712.5421 -119.2079 -1.9648
8.8812 -0.0078 -119.2079 20.0000 -11.7104
2 1.0154 149.0215 156.8260 238.9004 -40.6171 -0.0002
-2.8292 -77.2065 -40.6171 20.0000 3.8599
3 1.0152 0.0002 0.0305 84.4553 -40.6092 -0.0152
1.0307 -0.0000 -40.6092 20.0000 -0.0309
4 1.0000 0.0000 0.0093 82.0093 -40.0000 -0.0000
0.9998 -0.0046 -40.0000 20.0000 0.0002
5 1.0000 0.0000 0.0000 82.0000 -40.0000 -0.0000
1.0000 -0.0000 -40.0000 20.0000 -0.0000

Es interesante observar que el método de Newton no es siempre un


método de descenso. En este ejemplo, como se ve en la tabla, en la iteración
2 hubo un aumento en el valor de la función. 3

Proposición 8.1. [Lue89] Sean: f una función triple y continuamente


diferenciable, f 0 (x̄) = 0, f 00 (x̄) invertible. Si x0 está suficientemente cerca
de x̄, entonces el método de Newton para hallar un punto crı́tico de f con-
verge a x̄ con orden de convergencia superior o igual a dos.

En [Baz93] hay condiciones más especı́ficas para garantizar la conver-


gencia. Las ventajas del método de Newton son:

ˆ si las condiciones son favorables, converge muy rápidamente,

ˆ no es necesario minimizar en una variable.

Las desventajas son:

ˆ puede no converger,

ˆ puede converger a un maximizador,

ˆ la matriz f 00 (xk ) puede ser singular o casi singular,

ˆ es necesario calcular primeras y segundas derivadas parciales de f ,

176
8.3. MÉTODOS DE LA REGIÓN DE CONFIANZA

ˆ es necesario resolver un sistema de ecuaciones.

Es claro que para funciones cuadráticas, con hessiano no singular, el


método converge en una iteración al punto crı́tico.
Ejemplo 8.2. Utilizar el método de Newton para minimizar f (x) = (x1 +
x2 − 3)2 + (x1 − x2 + 1)2 partiendo de x0 = (3, 5).

k x f (x) f 0 (x) f 00 (x)·1 f 00 (x)·2 d


0 3.0000 26.0000 8.0000 4.0000 0.0000 -2.0000
5.0000 12.0000 0.0000 4.0000 -3.0000
1 1.0000 0.0000 0.0000
2.0000 0.0000

8.3 MÉTODOS DE LA REGIÓN DE


CONFIANZA
Generalmente se considera que los métodos de la región de confianza, “trust
region”, son “hijos” del método de Levenberg-Marquardt usado para re-
solver problemas de mı́nimos cuadrados no lineales. Son modificaciones y
adaptaciones para problemas de optimización más generales. En el fondo
son modificaciones del método de Newton.
En el método de Newton, conocido xk , en lugar minimizar directamente
f (x), se busca hallar el mı́nimo de la aproximación cuadrática de f alrededor
de xk , es decir,

1
min qk (x) = f (xk ) + f 0 (xk )T (x − xk ) + (x − xk )T f 00 (xk )(x − xk ). (8.8)
2
En el método de la región de confianza se restringe la minimización de
la aproximación cuadrática a una vecindad de xk , o sea,

1
min qk (x) = f (xk ) + f 0 (xk )T (x − xk ) + (x − xk )T f 00 (xk )(x − xk ) (8.9)
2
||x − xk ||2 ≤ ∆k .

Si se hace el cambio de variable d = x − xk ,

1 T 00 k
min qk (xk + d) = f (xk ) + f 0 (xk )T d + d f (x )d (8.10)
2

177
CAPÍTULO 8. MINIMIZACIÓN SIN RESTRICCIONES

||d||2 ≤ ∆k .

La región de confianza es la bola B[xk , ∆k ] o, vista después del cambio de


variable, es la bola centrada en el origen B[0, ∆k ]. De iteración en iteración
el radio ∆k puede cambiar.
Se puede pensar en una aproximación de f más general, cambiando
f 00 (xk ), la matriz hessiana en xk por una matriz M ,

1 T
min qk (xk + d) = f (xk ) + f 0 (xk )T d + d Md (8.11)
2
||d||2 ≤ ∆k .

El esquema simplificado del método es entonces:

dk = solución de (8.10) o de (8.11) ,


xk+1 = xk + dk .

El valor de ∆k puede variar en cada iteración de acuerdo a la mejorı́a en


el valor de f . Si la mejorı́a es grande entonces para la iteración siguiente el
valor del radio ∆ aumenta. Por el contrario, si la mejorı́a es muy pequeña
(o si no hay mejorı́a), esto quiere decir que el radio utilizado es muy grande
y debe ser diminuido para la iteración siguiente. En este caso, además, el x
no cambia, es decir, xk+1 = xk . Más adelante se define ρk , una “medida”
de la mejorı́a.
Hay varias estrategias para la implementación del método de la región de
confianza. Algunas utilizan una solución exacta de (8.10), otras simplemente
una solución aproximada. Los criterios para clasificar la mejorı́a en el valor
de f pueden variar. Las estrategias exactas tienen un planteamiento más
sencillo, pero generalmente son menos eficentes en la implementación.

8.3.1 Una estrategia exacta


El problema (8.10) se puede reescribir

1 T 00 k
min qk (xk + d) = f (xk ) + f 0 (xk )T d + d f (x )d
2
||d||22 − ∆2k ≤ 0.

Al aplicar condiciones de KKT se tiene

178
8.3. MÉTODOS DE LA REGIÓN DE CONFIANZA

f 0 (xk ) + f 00 (xk )d + u1 d = 0,
u1 ≥ 0,
u1 ||d||22 − ∆2k = 0.


Haciendo λ = u1 ,

f 0 (xk ) + f 00 (xk )d + λd = 0, (8.12)


λ ≥ 0, (8.13)
λ ||d||22 − ∆2k = 0.

(8.14)

La igualdad (8.12) se puede reescribir

 
f 00 (xk )d + λI d = −f 0 (xk ).

Las condiciones de segundo orden exigen que la matriz f 00 (xk )d + λI


sea semidefinida positiva.
Se puede mostrar que si f 00 (xk ) es definida positiva y si ∆k es suficien-
temente grande, entonces la solución de (8.10) está dada por

f 00 (xk )d = −f 0 (xk ),
o sea, simplemente se tiene el método de Newton. Si las suposiciones no se
cumplen, entonces el método garantiza que
−1
∆k ≥ ||d||2 = || f 00 (xk )d + λI f 0 (xk )||2 .
También se puede mostrar, que en estas condiciones si ∆k → 0, entonces
λ→∞y

1
d ≈ − f 0 (xk ).
λ
Lo anterior es (aproximadamente) equivalente al método del descenso más
pendiente.
Cuando λ varı́a entre 0 e ∞, entonces d = d(λ) varı́a continuamente
entre la dirección del método de Newton (si f 00 (xk ) es definida positiva) y
un múltiplo de la dirección del descenso más pendiente.

179
CAPÍTULO 8. MINIMIZACIÓN SIN RESTRICCIONES

Para definir el valor de ∆k en cada iteración se utiliza el parámetro ρk


que es simplemente el cociente entre la reducción o disminución real en el
valor de f y la reducción prevista

reducción real f (xk ) − f (xk + dk )


ρk = = · (8.15)
reducción prevista f (xk ) − qk (xk + dk )

Si dk se obtiene por minimización (solución de (8.10)), entonces la re-


ducción prevista es positiva. Luego el signo de ρk está dado por la reducción
real.
A continuación están los detalles de la estrategia presentada en [NaSo96].
El algoritmo utiliza dos parámetros

0 < η < µ < 1,

por ejemplo,

1 3
η= , µ= ·
4 4
Si ρk > η se considera que la iteración fue exitosa y se construye xk+1 =
xk + dk . En caso contrario xk+1 = xk . Además, si ρk ≤ η, entonces el
parámetro ∆ se disminuye: ∆k+1 = 12 ∆k . Si η < ρk < µ, entonces el
parámetro ∆ no cambia: ∆k+1 = ∆k . Si µ ≤ ρk , entonces el parámetro ∆
se incrementa: ∆k+1 = 2∆k .

Si ρk ≤ η : xk+1 = xk , ∆k+1 = 12 ∆k
Si η < ρk < µ, : éxito, xk+1 = xk + dk , ∆k+1 = ∆k (8.16)
Si µ ≤ ρk , : éxito, xk+1 = xk + dk , ∆k+1 = 2∆k

A continuación está un esquema general del algoritmo:

REGIÓN DE CONFIANZA: ESTRATEGIA EXACTA


datos: x0 , ∆0 > 0, 0 < η < µ < 1, εg , MAXIT
para k = 0, 1, ..., MAXIT
si ||f 0 (xk )|| < εg ent parar
dk = solución de (8.10)
calcular ρk según (8.15)
construir xk+1 , ∆k+1 según (8.16)
fin-para k

180
8.3. MÉTODOS DE LA REGIÓN DE CONFIANZA

Algunas veces se utiliza como radio inicial ∆0 = min(10, ||f 0 (x0 )||).
El paso difı́cil de este algoritmo es la solución del problema (8.10). En
la práctica se obtiene la solución exacta cuando es fácil hacerlo; en caso
contrario se usa una solución aproximada.
En (8.10) se tiene una función continua en un compacto (cerrado y aco-
tado), luego necesariamente hay minimizador. Éste está en el interior de la
bola o en la frontera. Desde el punto de vista de condiciones de KKT hay
dos posibilidades:

ˆ La desigualdad no está activa (I = ∅), entonces

f 00 (xk )d = −f 0 (xk ),
λ = 0, (8.17)
||d||2 < ∆k .

ˆ La desigualdad está activa (I = {1}), entonces

f 00 (xk ) + λI d = −f 0 (xk ),


λ ≥ 0, (8.18)
||d||2 = ∆k .

Si I = ∅ y f 00 (xk ) es definida positiva y || − f 00 (xk )−1 f 0 (xk )|| < ∆k , se


tiene el caso sencillo de minimización no restringida con la dirección plena
de Newton

dN solución de f 00 (xk ) d = −f 0 (xk ), (8.19)


o de manera teórica,

dN = −f 00 (xk )−1 f 0 (xk ).


En caso contrario, la (una) solución está en la frontera y hay que resolver
una ecuación no lineal de una variable, λ, pero que involucra n + 1 variables:
d1 , d2 , ..., dn , λ,

f 00 (xk ) + λI d = −f 0 (xk ),

(8.20)
||d||2 = ∆k .

181
CAPÍTULO 8. MINIMIZACIÓN SIN RESTRICCIONES

Se puede expresar explı́citamente, únicamente en función de λ, ası́:


−1
φ(λ) = || − f 00 (xk ) + λI f 0 (xk )||2 − ∆k = 0. (8.21)

Para evitar este proceso iterativo, dentro del proceso iterativo general,
en algunas estrategias para la región de confianza, simplemente se halla una
solución aproximada de (8.18).
El esquema completo del algoritmo, incluyendo la solución de (8.10) es:

REGIÓN DE CONFIANZA: ESTRATEGIA APROXIMADA


datos: x0 , ∆0 > 0, 0 < η < µ < 1, εg , MAXIT
para k = 0, 1, ..., MAXIT
si ||f 0 (xk )|| < εg ent parar
dN = solución de f 00 (xk )d = −f 0 (xk )
si ||dN ||2 ≤ ∆k y f 00 (xk ) s.d.p. ent dk = dN
sino dk = solución de (8.20)
calcular ρk según (8.15)
construir xk+1 , ∆k+1 según (8.16)
fin-para k

Ejemplo 8.3. Aplicar la estrategia del método de región de confianza de-


scrita anteriormente para minimizar f (x) = 10(x2 −x21 )2 +(1−x1 )2 partiendo
de x0 = (3, 4) con ∆0 = 1.

   
0 0 0 604 00 0 922 −120
f (x ) = 254, f (x ) = , f (x ) = .
−100 −120 20

La dirección de Newton está dada por la solución de f 00 (xk )d = −f 0 (xk ),


 
−0.0198
dN = , ||dN || = 4.8812 ≮ ∆0 = 1.
4.8812
Entonces es necesario encontrar d, λ tales que
    
922 + λ −120 d1 604
=− , ||d|| = 1.
−120 20 + λ d2 −100
Si se expresa todo en función de λ, como en (8.21), y se aplica un método
para solución de ecuaciones en una variable, por ejemplo el método de la
secante, se obtiene después de 10 iteraciones

182
8.3. MÉTODOS DE LA REGIÓN DE CONFIANZA

 
−0.5318
λ = 22.7308, d0 = , ||d0 || = 1.
0.8469
Cálculo de ρ0 :

f (x0 ) − f (x0 + d0 ) 254 − 17.6635 236.3365


ρ0 = = = = 1.1028,
f (x0 ) − q0 (x0 + d0 ) 254 − 39.6975 214.3025
entonces
 
1 0 0 2.4682
x =x +d = , ∆1 = 2∆0 = 2.
4.8469

 
1 0 125.8844
1
f (x ) = 17.6635, f (x ) = ,
−24.9060
 
539.1876 −98.7295
f 00 (x1 ) = .
−98.7295 20.0000

La dirección de Newton:
 
−0.0567
dN = , ||dN || = 0.9672 < 2.
0.9655
Luego, esta dirección es la solución del subproblema.

f (x1 ) − f (x1 + d1 ) 17.6635 − 1.9926 15.6709


ρ1 = = = = 1.0051,
f (x1 ) − q1 (x1 + d1 ) 17.6635 − 2.0725 15.5910
entonces
 
2.4116
x2 = x1 + d1 = , ∆2 = 2∆1 = 4.
5.8124

 
2 03.1330
2
f (x ) = 1.9926, f (x ) = ,
−0.0642
 
00 2 467.3788 −96.4625
f (x ) = .
−96.4625 20.0000

183
CAPÍTULO 8. MINIMIZACIÓN SIN RESTRICCIONES

La dirección de Newton:
 
−1.3264
dN = , ||dN || = 6.5301 ≮ 4.
−6.3940
La dirección de Newton no sirve, es necesario encontrar d, λ tales que

f 00 (x2 ) + λI d = −f 0 (x2 ), λ ≥ 0, ||d||2 = 4.




En 5 iteraciones se obtiene,
 
−0.8149
λ = 0.0553, d2 = .
−3.9161

f (x2 ) − f (x2 + d2 ) 1.9926 − 4.6224 −2.6298


ρ2 = 2 2 2
= = = −1.6511,
f (x ) − q2 (x + d ) 1.9926 − 0.3999 1.5927

entonces
 
3 2 2.4116 1
x =x = , ∆3 = ∆2 = 2.
5.8124 2

 
3 0 3.13303
f (x ) = 1.9926, f (x ) = ,
−0.0642
 
00 3 467.3788 −96.4625
f (x ) = .
−96.4625 20.0000

La dirección de Newton:
 
−1.3264
dN = , ||dN || = 6.5301 ≮ 4.
−6.3940
La dirección de Newton no sirve, es necesario encontrar d, λ tales que

f 00 (x3 ) + λI d = −f 0 (x3 ), λ ≥ 0, ||d||2 = 2.




En 6 iteraciones se obtiene,
 
3 −0.4105
λ = 0.1979, d = .
−1.9574

184
8.3. MÉTODOS DE LA REGIÓN DE CONFIANZA

f (x3 ) − f (x3 + d3 ) 1.9926 − 1.2246 0.7680


ρ3 = = = = 0.7870,
f (x3 ) − q3 (x3 + d3 ) 1.9926 − 1.0167 0.9760

entonces

 
4 3 3 2.0010
x =x +d = , ∆4 = 2∆3 = 4.
3.8550

Después de otras 7 iteraciones se obtiene

   
1.0000 0.0001
x11 = , f 0 (x11 ) = . 3
1.0000 0.0000

La siguiente proposición garantiza la convergencia global del algoritmo


(desde cualquier punto inicial) a un punto crı́tico. Ver la demostración en
[NaSo96],

Proposición 8.2. Sean: x0 un punto cualquiera, {xk } la sucesión definida


por el algoritmo anterior. Si Γ = {x : f (x) ≤ f (x0 )} es acotado y f , f 0 ,
f 00 son continuas en Γ, entonces

lim f 0 (xk ) = 0.
k→∞

8.3.2 Otra estrategia general


La estrategia presentadad a continuación, [NoWr99], es muy parecida a la
anterior. Las principales diferencias son:

ˆ Hay un dato ∆max correspondiente a un radio máximo.

ˆ Si ρk es muy pequeño, también se disminuye el radio ∆, pero queda


en función de ||dk ||.

ˆ Para aumentar el radio ∆k , además de que ρk sea grande, se necesita


también que la solución de (8.10) quede en la frontera.

185
CAPÍTULO 8. MINIMIZACIÓN SIN RESTRICCIONES

REGIÓN DE CONFIANZA: SEGUNDA ESTRATEGIA


datos: x0 , ∆0 > 0, 0 < η < 41 , ∆max , εg , MAXIT
para k = 0, 1, ..., MAXIT
si ||f 0 (xk )|| < εg ent parar
dk = solución de (8.10)
calcular ρk según (8.15)
si ρk < 14 ent ∆k+1 = 14 ||dk ||
sino
si ρk > 34 y ||dk || = ∆k ent ∆k+1 = min(2∆k , ∆max )
sino ∆k+1 = ∆k
fin-sino
si ρk > η ent xk+1 = xk + dk
sino xk+1 = xk
fin-para k

8.3.3 El punto de Cauchy


Es simplemente una modificación del descenso más pendiente, la dirección
es equivalente, pero el paso λk debe permitir que se minimice en B[xk , ∆k ].
Visto como una aproximación de la solución de (8.10), se consideran dos
pasos:

ˆ Minimizar la proximación lineal de f , en la bola B[xk , ∆k ] para obtener


¯
la dirección d.

ˆ Minimizar la aproximación cuadrática de f en la bola B[xk , ∆k ], pero


¯
en la dirección d.

Más que considerarlo como una buena aproximación de la solución de


(8.10), el punto de Cauchy sirve como punto de compararación para saber
si una aproximación obtenida por otro método es buena o no lo es.
El problema de la aproximación lineal de f en B[xk , ∆k ] es simplemente

min q̄k (xk + d) = f (xk ) + f 0 (xk )T d (8.22)


||d||2 ≤ ∆k .

Su solución es:

∆k
d¯ = − 0
f 0 (xk ). (8.23)
||f (xk )||

186
8.3. MÉTODOS DE LA REGIÓN DE CONFIANZA

¯ solución de
La dirección de Cauchy será simplemente τ d,

¯ = f (xk ) + f 0 (xk )T (τ d)
¯ + 1 ¯ T 00 k ¯
min qk (xk + τ d) (τ d) f (x )(τ d)
2
¯ 2 ≤ ∆k .
||(τ d)||
Este problema depende únicamente de τ ,

1 2 ¯T 00 k ¯
min f (xk ) + τ f 0 (xk )T d¯ + τ d f (x )d
2
∆k
|τ | ≤ ¯ 2 = 1.
||d||
Se puede reescribir ası́:

1 2
min aτ + bτ + f (xk )
2
|τ | ≤ 1,
donde

a = d¯T f 00 (xk )d,


¯ (8.24)
b = f 0 (xk )T d¯ < 0. (8.25)
La solución es:

− b si a > 0 y
b

≤ 1,

τ = a a (8.26)
 1 en los demás casos.
En resumen, la solución aproximada (algunas veces exacta) de (8.10),
para obtener el punto de Cauchy, se logra mediante los siguientes pasos:
REGIÓN DE CONFIANZA: PUNTO DE CAUCHY
dN = solución de f 00 (xk )d = −f 0 (xk )
si ||dN ||2 ≤ ∆k y f 00 (xk ) s.d.p. ent dC = dN
sino
calcular d¯ según (8.23)
calcular τ ∗ según (8.26)
dC = τ ∗ d¯
fin-sino
xkC = xC = xk + dC

187
CAPÍTULO 8. MINIMIZACIÓN SIN RESTRICCIONES

Ejemplo 8.4. Calcular el punto de Cauchy para f (x) = 10(x2 − x21 )2 + (1 −


x1 )2 en el punto x0 = (3, 4) con ∆0 = 1.

   
0 0 0 604 00 0 922 −120
f (x ) = 254, f (x ) = , f (x ) = .
−100 −120 20

La dirección de Newton está dada por la solución de f 00 (xk )d = −f 0 (xk ),

 
−0.0198
dN = , ||dN || = 4.8812 ≮ ∆0 = 1.
4.8812

¯
Entonces es necesario calcular d,

 
−0.9866
d¯ = .
0.1633

Cálculo de dC :

 
−0.6449
a = 936.6098, b = −612.2222, τ ∗ = 0.653658, dC = .
0.1068

 
2.3551
xC = , f (xC ) = 22.5674 . 3
4.1068

8.3.4 El método “dogleg”

Este término viene de una palabra usada en el golf, cuya traducción literal
serı́a pata de perro. Indica una curva aguda o un ángulo.
En la siguiente figura hay un ejemplo de la bola B[xk , ∆k ], la dirección
de Newton dN , la dirección del descenso más pendiente (la opuesta al gra-
diente), lo que serı́a la trayectoria óptima de la solución de (8.10) para
diferentes valores de ∆ y el punto xk+1 dado por la solución exacta.

188
8.3. MÉTODOS DE LA REGIÓN DE CONFIANZA

.....
.............
dN ........ ..........
..............•
.
... ....
.....
xk+1
..... . .. .......
...... .. .....
.
. ...
. ... .
.
.
... ...
.. .. ... .. ..............
..
.. .. ... .. ....... ..
..
. .
. . ........
. .
. ... .. ........
. .
. ... .. ........
.
−f 0 (xk )
. .
. . . .
...
.
.. ...
... .. .........
.........
.. ...
...
.. ... ........
.. .. ........ ...
. ..
.
. .
. .. ..
...
......... ..
.. .
... .. ........ ..
.. ... .. .........
... ... ........ ..
.... .................. ..
..
..
.•
xk
..........
..
..
..
..
..
.. . .. ...
.. ..
.. ..
..
..
..
..
..
..
..
∆k ..
..
.. .
.. ..
.. ..
.. .. ..
.. .. ..
..
.. .. ...
.. . . .
.. ..
... ...
... ...
....
..... ... ...
................

Inicialmente, cerca a xk , la trayectoria casi coincide con la dirección


−f 0 (xk ).A medida que se aleja del centro, empieza a dar una curva y poco
a poco se va acercando a la direccion de Newton. Para valores de ∆ mayores
que ||dN ||, la solución es simplemente la dirección de Newton.
El método dogleg se puede usar cuando la matriz hessiana f 00 (xk ) es
semidefinida positiva. Si la dirección plena de Newton no sirve, se construye
una trayectoria poligonal de dos tramos. El primero coincide con parte de la
dirección del descenso más pendiente. El segundo tiende hacia la dirección
de Newton.

....
...........
dN .... ...........
.....
................•
...
. .....
..
...... .......
xk+1
.. . ...
...
.. . . ... ...
.. .. ... ....
. ...
. .. .... .........
.. . ..
......
... ..
. .. ... ..
.. .. .... ..
. .....
.
.. .. .. ... .. .....

..
..
.. ...
..
.. ....
.. ...
.. ....
.. ....... ..
... ...
.
....... −f 0 (xk )
.
. .
. ..
..
. ... . ..
.. .. ...... ...... ..
.. .. .. .........
.. ... ............
..
..
... .. ..............
xk
....... ..
.. .• .
.. ..
.. ..
.. ...
.. .
.. ..
.. ..
.. ..
.. ...
.. .
.. ..
.. ..
.. ..
.. ...
... .
... ...
... ...
.... ...
.....................

Más precisamente, el primer tramo está dado por el mejor punto en la


dirección de descenso:

189
CAPÍTULO 8. MINIMIZACIÓN SIN RESTRICCIONES

f 0 (xk )T f 0 (xk )
dD = − f 0 (xk ). (8.27)
f 0 (xk )T f 00 (xk )f 0 (xk )

ˆ ) esta definida ası́:


La trayectoria poligonal d(τ
(
ˆ ) = τ dD si 0 ≤ τ ≤ 1,
d(τ (8.28)
dD + (τ − 1)(dN − dD ) si 1 ≤ τ ≤ 2.

Obviamente d(0)ˆ = 0, d(1)ˆ = dD , d(2)


ˆ = dN . Si f 00 (xk ) es semidefinida
positiva, esta trayectoria tiene dos propiedades importantes:

ˆ )|| es un función creciente en τ ,


ˆ ||d(τ
ˆ )) es una función decreciente en τ .
ˆ qk (d(τ

Estas propiedades garantizan que para resolver el problema de minimizar


ˆ )) con ||d(τ
qk (d(τ ˆ )|| ≤ ∆k , basta con encontrar el punto donde

ˆ )|| = ∆k .
||d(τ
Si ||dD || ≥ ∆k , la solución es inmediata:

∆k
τ∗ = , dP = τ ∗ dD . (8.29)
||dD ||
En caso contrario, es necesario encontrar la solución de una ecuación
cuadrática en τ :

||dD + (τ − 1)(dN − dD )||2 = ∆2k ,


que se puede escribir ατ 2 + βτ + γ. Su solución es:

α = ||dN − dD ||2 , β = 2dTD (dN − dD ), γ = ||dD ||2 − ∆2k , (8.30)


p
∗ −β + β 2 − 4αγ
τ =1 + ,

dP = dD + (τ ∗ − 1)(dN − dD ).

Cuando f 00 (xk ) no es semidefinida positiva, el método dogleg no se puede


aplicar, se puede utilizar como salida alterna la dirección de Cauchy. En
resumen, la solución aproximada (algunas veces exacta) de (8.10), por el
método dogleg se logra mediante los siguientes pasos:

190
8.3. MÉTODOS DE LA REGIÓN DE CONFIANZA

REGIÓN DE CONFIANZA: MÉTODO DOGLEG


si f 00 (xk ) es s.d.p ent
dN = solución de f 00 (xk )d = −f 0 (xk )
si ||dN ||2 ≤ ∆k ent dP = dN
sino
calcular dD según (8.29)
si ||dD || ≥ ∆k ent calcular dP según (8.29)
sino calcular dP según (8.30)
fin-sino
fin-ent
sino dP = dC
···
xk+1 = xk + dP

Ejemplo 8.5. Aplicar el método dogleg para minimizar f (x) = 10(x2 −


x21 )2 + (1 − x1 )2 partiendo de x0 = (3, 4) con ∆0 = 1.

   
0 0 0 604 00 0 922 −120
f (x ) = 254, f (x ) = , f (x ) = .
−100 −120 20

La matriz hessiana es semidefinida positiva. La dirección de Newton está


dada por la solución de f 00 (xk )d = −f 0 (xk ),
 
−0.0198
dN = , ||dN || = 4.8812 ≮ ∆0 = 1.
4.8812
Para el primer tramo de la trayectoria,
 
−0.6449
dD = , ||dD || = 0.6537 < ∆0 = 1.
0.1068
Entonces la solución está en el segundo tramo,

α = 23.1858, β = 0.2133, γ = −0.5727,


 
−0.5495
τ ∗ = 1.1526, dP = .
0.8355
 
2.4505
x + dP = , f (x + dP ) = 15.7833 .
4.8355
Si se calcula el punto de Cauchy

191
CAPÍTULO 8. MINIMIZACIÓN SIN RESTRICCIONES

   
−0.6449 2.3551
dC = , x + dC = , f (x + dC ) = 22.5674 .
0.1068 4.1068

La reducción en f es mayor con dP que con dC , el cociente es aproximada-


mente 1.0293. Para pasar a la iteración siguiente,
254 − 15.7833
ρ0 = = 1.1122 .
254 − 39.8242
entonces
 
1 0 2.4505
x = x + dP = , ∆1 = 2.
4.8355

 
1 117.5450
0 1
f (x ) = 15.7833, f (x ) = ,
−23.3917
 
00 1 529.1911 −98.0212
f (x ) = .
−98.0212 20.0000

La dirección de Newton:
 
−0.0595
dN = , ||dN || = 0.8801 < 2.
0.8781
Luego, esta dirección es la solución del subproblema.

f (x1 ) − f (x1 + d1 ) 15.7833 − 1.9352 13.8481


ρ1 = 1 1 1
= = = 1.0060,
f (x ) − q1 (x + d ) 15.7833 − 2.0178 13.7655
entonces
 
2 1 1 2.3911
x =x +d = , ∆2 = 2.
5.7136

   
2 0 2 3.1204 00 2 459.5155 −95.6425
f (x ) = 1.9352, f (x ) = , f (x ) = .
−0.0707 −95.6425 20.0000

La matriz hessiana es semidefinida positiva. La dirección de Newton es:

192
8.3. MÉTODOS DE LA REGIÓN DE CONFIANZA

 
−1.2992
dN = , ||dN || = 6.3437 ≮ ∆2 = 2.
−6.2093
Para el primer tramo de la trayectoria,
 
−0.0067
dD = , ||dD || = 0.0067 < ∆2 = 2.
0.0002
Entonces la solución está en el segundo tramo,

α = 40.2273, β = 0.0155, γ = −4.0000,


 
∗ −0.4140
τ = 1.3151, dP = .
−1.9567
 
1.9770
x + dP = , f (x + dP ) = 1.1847 .
3.7570
Si se calcula el punto de Cauchy

   
−0.0067 2.3843
dC = , x + dC = , f (x + dC ) = 1.9246 .
0.0002 5.7138

La reducción en f es mayor con dP (0.7505) que con dC (0.0105), el cociente


es aproximadamente 71.2341. Para pasar a la iteración siguiente,

1.9352 − 1.1847
ρ2 = = 0.7780 .
1.9352 − 0.9706
entonces
 
1.9770
x3 = x2 + dP = , ∆3 = 4.
3.7570
Después de otras 8 iteraciones se obtiene x = (1, 1). 3

Se puede mostrar que, bajo ciertas condiciones [Kel99], el método dog-


leg tiene convergencia global (se tiene convergencia desde cualquier punto
inicial) y además que la convergencia es superlineal.
Hay otras estrategias para hallar una solución aproximada de (8.10), por
ejemplo, la minimización en un espacio bidimensional y el método de Stei-
haug. Este último está relacionado con el método del gradiente conjugado.

193
CAPÍTULO 8. MINIMIZACIÓN SIN RESTRICCIONES

8.4 MÉTODO DEL GRADIENTE O DEL


DESCENSO MÁS PENDIENTE
También se conoce con el nombre de método de Cauchy, método de la
máxima pendiente, método del descenso más profundo y en inglés steep-
est descent. Es un método muy usado por su sencillez. Para ciertos tipos de
funciones puede zigzaguear mucho y ser lento. Únicamente requiere primeras
derivadas. Es un método de descenso.
Dado un punto no crı́tico xk se escoge la dirección dk como la mejor
dirección local de descenso en xk . Sean: λ un valor fijo, positivo y suficien-
temente pequeño, d 6= 0 una dirección tal que ||d||2 = 1,

λ2 T 00 k k
f (xk + λd) = f (xk ) + λf 0 (xk )T d +
d f (x )d + · · · .
2
La expresión anterior depende únicamente de d y como λ es pequeño se
puede aproximar por

ψ(d) = f (xk ) + λf 0 (xk )T d.


Para escoger d de manera óptima local, hay que resolver

min ψ(d) = f (xk ) + λf 0 (xk )T d,


||d||22 − 1 = 0.

La función ψ es afı́n, luego convexa y la función que define la igualdad es


estrictamente convexa. Las condiciones necesarias de KKT dan:

λf 0 (xk ) + 2v1 d = 0.
Si se escogen

f 0 (xk )
d = − ,
||f 0 (xk )||2
λ||f 0 (xk )||2
v1 = > 0,
2
se cumplen las condiciones necesarias y suficientes de KKT. Como las di-
recciones −f 0 (xk )/||f 0 (xk )||2 y −f 0 (xk ) son equivalentes se puede tomar la
segunda como la dirección dk , lo que garantiza que sea una dirección de
descenso. El algoritmo se puede esquematizar ası́:

194
8.4. MÉTODO DEL DESCENSO MÁS PENDIENTE

datos: x0 , εg , MAXIT, . . .
para k = 0, ..., , MAXIT
si ||f 0 (xk )|| ≤ εg ent parar
dk = −f 0 (xk )
λ∗k = argmin f (xk + λdk ), λ ≥ 0
xk+1 = xk + λ∗k dk
fin-para k

Ejemplo 8.6. Utilizar el método del descenso más pendiente para mini-
mizar f (x) = (x1 + x2 − 3)2 + (x1 − x2 + 1)2 partiendo de x0 = (3, 5),

k x f (x) f 0 (x) d λ∗
0 3.0000 26.0000 8.0000 -8.0000 0.2500
5.0000 12.0000 -12.0000
1 1.0000 0.0000 0.0000
2.0000 0.0000
No siempre este método funciona tan bien, ni siquiera para funciones
cuadráticas. 3

Ejemplo 8.7. Utilizar el método del descenso más pendiente para mini-
mizar f (x) = 10x21 + x22 partiendo de x0 = (2, 3).

k x f (x) f 0 (x) d λ∗
0 2.0000 49.0000 40.0000 -40.0000 0.0510
3.0000 6.0000 -6.0000
1 -0.0404 7.2736 -0.8082 0.8082 0.4173
2.6939 5.3879 -5.3879
2 0.2969 1.0797 5.9377 -5.9377 0.0510
0.4453 0.8906 -0.8906
3 -0.0060 0.1603 -0.1200 0.1200 0.4173
0.3999 0.7998 -0.7998
4 0.0441 0.0238 0.8814 -0.8814 0.0510
0.0661 0.1322 -0.1322
7 -0.0001 0.0001 -0.0026 0.0026 0.4173
0.0088 0.0176 -0.0176 3

Aunque en los dos ejemplos se trata de funciones cuadráticas estricta-


mente convexas, la diferencia radica en la relación entre el valor propio más
grande y el valor propio más pequeño de la matriz hessiana.

195
CAPÍTULO 8. MINIMIZACIÓN SIN RESTRICCIONES

   
00 4 0 λ1 = 4 00 20 0 λ1 = 20
f (x) = , , f (x) = ,
0 4 λ2 = 4 0 2 λ2 = 2.

Para funciones cuadráticas se tienen los siguientes resultados: ([Lue89],


[Gil81], [Per88]).

Proposición 8.3. Sean: f (x) = 12 xT Hx + cT x, con H definida positiva,


x∗ el único minimizador global, λ1 > 0 el valor propio de H más grande,
λn > 0 el valor propio de H más pequeño, {xk } una sucesión determinada
por el método del descenso más pendiente, κ = κ2 (H) = (ρ(H T H))1/2 ≥ 1
el condicionamiento o número de condición espectral de H (para matrices
definidas positivas κ = λ1 /λn ). Entonces

(λ1 − λn )2  
f (xk+1 ) − f (x∗ ) ≤ f (x k+1
) − f (x ∗
) ,
(λ1 + λn )2
(κ − 1)2  
f (xk+1 ) − f (x∗ ) ≤ f (x k+1
) − f (x ∗
) ,
(κ + 1)2
xk → x∗ ,
(xk+1 − xk )T (xk − xk−1 ) = 0,
0 k T 0 k−1
f (x ) f (x ) = 0.

Según los resultados anteriores, el método del descenso más pendiente


tiene convergencia global. La sucesión {f (xk )} tiene convergencia lineal. La
tasa de convergencia está acotada superiormente por (κ − 1)2 /(κ + 1)2 =
(λ1 − λn )2 /(λ1 + λn )2 . Es decir, entre más pequeño sea el condicionamiento
(más cercano a 1), se garantiza una tasa de convergencia menor, o sea, una
convergencia más rápida. Dicho de otra forma, la convergencia será mejor
cuando λ1 y λn sean semejantes. El caso “perfecto” se tiene cuando λ1 = λn ,
o sea, κ = 1. Dos pasos consecutivos son ortogonales, o sea, la sucesión de
puntos {xk } avanza formando ángulos de 90 grados.
El primer ejemplo representa el caso ideal, λ1 = λn , κ = 1. En el
segundo ejemplo κ = 10, la cota superior para la tasa de convergencia es
0.6694 y la tasa de convergencia real en este ejemplo fue 0.1484, que aunque
relativamente pequeña, permite bastante zigzagueo.
Para funciones no necesariamente cuadráticas se tiene el siguiente resultado
[Lue89]:

196
8.5. MÉTODOS DE DIRECCIONES CONJUGADAS

Proposición 8.4. Sean: f con segundas derivadas parciales continuas, x∗


un minimizador local de f , f 00 (x∗ ) definida positiva, λ1 > 0 su mayor valor
propio, λn > 0 su menor valor propio. Si {xk } es una sucesión determi-
nada por el método del descenso más pendiente que tiende a x∗ , entonces la
sucesión {f (xk )} tiene convergencia lineal con tasa de convergencia menor
o igual a (λ1 − λn )2 /(λ1 + λn )2 .

También hay resultados que garantizan la convergencia hacia un punto


crı́tico si en lugar de calcular exactamente λ∗k , se usa simplemente un λk que
cumpla la regla de Armijo [Baz93].

Ejemplo 8.8. Utilizar el método del descenso más pendiente para mini-
mizar f (x) = 10(x2 − x21 )2 + (1 − x1 )2 , partiendo de x0 = (3, 4).

k x f (x) f 0 (x) d λ∗
0 3.0000 254.0000 604.0000 -604.0000 0.0016
4.0000 -100.0000 100.0000
1 2.0335 1.0743 0.0419 -0.0419 0.1161
4.1600 0.4979 -0.4979
2 2.0286 1.0598 3.1241 -3.1241 0.0029
4.1022 -0.2629 0.2629
3 2.0195 1.0454 0.0389 -0.0389 0.1076
4.1030 0.4952 -0.4952
10 1.9796 0.9603 2.6522 -2.6522 0.0031
3.9099 -0.1751 0.1751
20 1.9286 0.8625 2.2930 -2.2930 0.0033
3.7137 -0.1130 0.1130
30 1.8851 0.7835 2.0918 -2.0918 0.0034
3.5492 -0.0853 0.0853
..
. 3

8.5 MÉTODOS DE DIRECCIONES


CONJUGADAS
Definición 8.1. Sea H una matriz simétrica. Un conjunto de vectores
v 1 , v 2 , ..., v m son conjugados con respecto a H o simplemente H-
conjugados si

T
v i H v j = 0, ∀i 6= j.

197
CAPÍTULO 8. MINIMIZACIÓN SIN RESTRICCIONES

Cuando la matriz H es simplemente la identidad se tiene el concepto


usual de ortogonalidad. Si H = 0 cualquier conjunto de vectores es H-
conjugado. Los métodos de direcciones conjugadas, para funciones cuadrá-
ticas f (x) = 12 xT Hx + cT x estrictamente convexas (H definida positiva),
construyen direcciones H-conjugadas y convergen en un número finito de
pasos.

Proposición 8.5. Sean: f (x) = 21 xT Hx + cT x con H simétrica y definida


positiva, d1 , d2 , ..., dn direcciones H-conjugadas, x1 un vector inicial cualquiera,
x2 , x3 , ..., xn+1 obtenidos como minimizadores a lo largo de las direcciones
d1 , d2 , ..., dn , o sea, xk+1 = xk + λ∗k dk con λ∗k = argmin f (xk + λdk ).
Entonces para k = 1, 2, ..., n se cumple:

T
ˆ f 0 (xk+1 ) dj = 0 para j = 1, 2, ..., k ,
T
ˆ f 0 (x1 ) dk = f 0 (xk ) dk ,
T

ˆ xk+1 es el minimizador de f en Gen(d1 , d2 , ..., dk ) + x1 ,

ˆ xn+1 = x∗ minimizador de f en Rn .

Gen(d1 , d2 , ..., dk ) es el subespacio vectorial generado por los vectores d1 ,


d2 , ..., dk , es decir, el conjunto de combinaciones lineales de d1 , d2 , ..., dk .
La cuarta afirmación de la proposición es un caso particular de la tercera.
Más aún, en algunos casos se puede obtener x∗ antes de la iteración n. Lo
interesante de los métodos de direcciones conjugadas es que, por lo menos
teóricamente, a lo más en n iteraciones se obtiene el minimizador. Si por
errores de redondeo, no se obtiene x∗ en n iteraciones, entonces se utiliza
xn+1 como nuevo x1 para volver a empezar.
Los métodos de direcciones conjugadas más conocidos son: el método
del gradiente conjugado, el método DFP (Davidon, Fletcher y Powell), el
método BFGS (Broyden, Fletcher, Goldfarb y Shanno) y, en general, los
métodos de Broyden.
Los métodos de direcciones conjugadas se pueden aplicar también a fun-
ciones que no sean cuadráticas, pero ya no se puede garantizar la conver-
gencia finita. De todas formas son buenos métodos y en la medida en que
la función f sea parecida a una función cuadrática, en esa misma medida la
convergencia resulta mejor.

198
8.6. MÉTODO DEL GRADIENTE CONJUGADO: GC

8.6 MÉTODO DEL GRADIENTE


CONJUGADO: GC

Este método fue propuesto en 1952 por Hestenes y Stiefel para resolver
sistemas de ecuaciones Ax = b con matriz definida positiva. En 1964
Fletcher y Reeves lo adaptan para minimización de funciones cuadráticas
y no cuadráticas (resolver Ax = b es equivalente a minimizar f (x) =
1 T
2 x Ax − b x si A es definida positiva). Aunque no es tan bueno como
T

otros métodos de direcciones conjugadas, tiene dos grandes ventajas: su


sencillez y su pequeña necesidad de memoria.
Para funciones cualesquiera, éste es el esquema del método GC:

datos: x1 , MAXIT , εg , ...


para K = 1, ..., MAXIT
para k = 1, ..., n
si ||f 0 (xk )|| < εg ent parar
si k = 1 ent dk = −f 0 (xk )
sino
αk = ||f 0 (xk )||22 /||f 0 (xk−1 )||22
dk = −f 0 (xk ) + αk dk−1
fin-sino
λ∗k = argmin f (xk + λdk ), λ ≥ 0
xk+1 = xk + λ∗k dk
fin-para k
x1 = xn+1
fin-para K

Obviamente se desea que el algoritmo acabe porque el gradiente es casi


nulo y no porque K > MAXIT. Una salida anormal es cuando f (xk + λdk ) no
parece tener minimizador, lo que indica que f no tendrı́a minimizador global.
Siempre en la primera iteración d1 = −f 0 (x1 ), o sea, siempre se empieza con
una iteración del descenso más pendiente. En cada iteración la dirección es
la dirección del descenso más pendiente modificada por la dirección anterior
para obtener, bajo ciertas condiciones, direcciones conjugadas.

Ejemplo 8.9. Utilizar el método del gradiente conjugado para minimizar


f (x1 , x2 ) = 10(x2 − x21 )2 + (1 − x1 )2 , partiendo de x1 = (3, 4).

199
CAPÍTULO 8. MINIMIZACIÓN SIN RESTRICCIONES

K k x f (x) f 0 (x) α d λ∗
1 1 3.0000 254.0000 604.0000 -604.0000 0.0016
4.0000 -100.0000 100.0000
2 2.0336 1.0743 0.0798 6.5E-7 -0.0802 0.4355
4.1600 0.4887 -0.4886
2 1 1.9987 1.0201 5.8024 -5.8024 0.0030
3.9472 -0.9519 0.9519
2 1.9815 0.9690 0.0780 0.0067 -0.1170 2.7545
3.9501 0.4756 -0.4692
3 1 1.6592 0.5253 7.6424 -7.6424 0.0042
2.6575 -1.9058 1.9058
2 1.6271 0.3965 0.0893 0.0022 -0.1060 2.3540
2.6655 0.3580 -0.3538
..
.
8 1 1.0000 0.0000 0.0000
1.0000 0.0000 3

Proposición 8.6. Para funciones cuadráticas estrictamente convexas, o


sea, f (x) = 21 xT Hx + cT x, con H definida positiva, el método GC genera
direcciones de descenso y conjugadas con respecto a H.

Obviamente se tienen todas las propiedades ya vistas, de métodos de


direcciones conjugadas, como por ejemplo convergencia en, a lo más, n it-
eraciones. Además, si se conoce explı́citamente la matriz H, el cálculo del
λ∗k no requiere minimización en una variable sino simplemente aplicar una
fórmula:

T
dk f 0 (xk )
λ∗k = − T
dk Hdk
(−f 0 (xk ) + αk dk−1 )T f 0 (xk )
= − T
dk Hdk
T
||f 0 (xk )||22 − αk dk−1 f 0 (xk )
= T
dk Hdk
0 k
||f (x )||2 2
λ∗k = T · (8.31)
dk Hdk
Si la función es cuadrática y estrictamente convexa, pero no se conoce
explı́citamente la matriz H, entonces de todas formas con una sola interpo-
lación cuadrática se obtiene λ∗k .

200
8.7. MÉTODO DE DAVIDON, FLETCHER Y POWELL: DFP

Ejemplo 8.10. Utilizar el método del gradiente conjugado para minimizar


f (x1 , x2 , x3 ) = 10(x1 + x2 + x3 )2 + 2x22 + x23 , partiendo de x1 = (3, 4, 5).

K k x f (x) f 0 (x) α d λ∗
1 1 3.0000 1497.0000 240.0000 -240.0000 0.0161
4.0000 256.0000 -256.0000
5.0000 250.0000 -250.0000
2 -0.8683 0.9795 -0.4773 1.8E-5 0.4730 0.4097
-0.1262 -0.9820 0.9774
0.9706 1.4638 -1.4683
3 -0.6745 0.2963 -0.6238 0.1878 0.7126 0.9464
0.2743 0.4734 -0.2898
0.3690 0.1141 -0.3899
2 1 0.0000 0.0000 0.0000
0.0000 0.0000
0.0000 0.0000

Se puede comprobar que las direcciones obtenidas: d1 = (−240, −256,


−250), d2 = (0.4730, 0.9774, −1.4683), d3 = (0.7126, −0.2898, −0.3899),
T T
son conjugadas con respecto a H, es decir, d1 Hd2 = 0, d1 Hd3 = 0,
T
d2 Hd3 = 0, donde
 
20 20 20
H = f 00 (x) =  20 24 20  .
20 20 22

8.7 MÉTODO DE DAVIDON, FLETCHER Y


POWELL: DFP
Este método fue propuesto por Davidon en 1959 y desarrollado por Fletcher
y Powell en 1963. También es un método de direcciones conjugadas −1 0 para
funciones cuadráticas. En el método de Newton d = − f (x ) f (xk ),
k 00 k

en el método DFP dk = −Dk f 0 (xk ). Por esta razón el método de DFP es


uno de los métodos llamados cuasi-Newton. El método DFP también es
conocido con el nombre de métrica variable. Bajo -1 ciertas condiciones
en el método DFP se puede llegar a Dk = f 00 (x∗ ) . Si Dk es definida
T T
positiva y f 0 (xk ) 6= 0, entonces dk f 0 (xk ) = −f 0 (xk ) Dk f 0 (xk ) < 0, luego
dk es una dirección de descenso.

201
CAPÍTULO 8. MINIMIZACIÓN SIN RESTRICCIONES

De manera semejante al GC, una iteración completa está compuesta por


n subiteraciones, se parte de x1 y se llega a xn+1 . Si al final de las n sub-
iteraciones no se tiene una buena aproximación de la solución, entonces el
punto xn+1 obtenido se convierte en un nuevo x1 para empezar otra iteración
completa. Para funciones cualesquiera, este es el esquema del método DFP:

datos: x1 , εg , MAXIT, ...


para K = 1, ..., MAXIT
para k = 1, ..., n
si ||f 0 (xk )|| < εg ent parar
si k = 1 ent D1 = I o una matriz def. pos.
sino
p = xk − xk−1 , q = f 0 (xk ) − f 0 (xk−1 ), s = Dk q
1 1
Dk = Dk−1 + T ppT − T ssT
p q s q
fin-sino
dk = −Dk f 0 (xk )
λ∗k = argmin f (xk + λdk ), λ ≥ 0
xk+1 = xk + λ∗k dk
fin-para k
x1 = xn+1
fin-para K

Obviamente se desea que el algoritmo acabe porque el gradiente es casi


nulo y no porque K > MAXIT. Una salida anormal es cuando f (xk + λdk ) no
parece tener minimizador, lo que indica que f no tendrı́a minimizador global.
Si D1 = I, entonces d1 = −f 0 (x1 ), o sea, se empieza con una iteración del
descenso más pendiente. Si se calculara Dn+1 serı́a una aproximación de
la inversa de la matriz hessiana en puntos cercanos al minimizador. Para
funciones cuadráticas Dn+1 = H −1 .
La matriz D se modifica en cada iteración sumándole una matriz C,
llamada matriz de corrección

Dk = Dk−1 + C k ,
1 k kT 1 T
Ck = T p p − T sk sk .
pk q k sk q k
Esta matriz de corrección es igual a una suma de dos matrices simétricas
de rango uno, por eso el método de DFP hace parte de los métodos con
nombre corrección de rango dos.

202
8.7. MÉTODO DE DAVIDON, FLETCHER Y POWELL: DFP

Proposición 8.7. En el método DFP para una función cualquiera:

ˆ Las matrices Dk son definidas positivas.

ˆ Las direcciones son de descenso.

ˆ Si en cada iteración no se escoge un minimizador exacto, pero pT q > 0,


entonces las matrices Dk son definidas positivas.

ˆ Si x1 está suficientemente cerca de x∗ , el método tiene convergencia


superlineal.

ˆ Si f es estrictamente convexa, la convergencia es global.

La convergencia se llama global cuando no depende del punto inicial.

Ejemplo 8.11. Utilizar el método DFP para minimizar f (x1 , x2 ) = 10(x2 −


x21 )2 + (1 − x1 )2 , partiendo de x1 = (3, 4).

K k x f (x) f 0 (x) D·1 D·2 d λ∗


1 1 3.0000 254.0 604.00 1.0000 0.0000 -604.00 0.0016
4.0000 -100.00 0.0000 1.0000 100.00
2 2.0335 1.074 0.0419 0.0285 0.1617 -0.0817 0.4574
4.1600 0.4979 0.1617 0.9731 -0.4913
2 1 1.9961 1.017 5.9255 1.0000 0.0000 -5.9255 0.0030
3.9353 -0.9852 0.0000 1.0000 0.9852
2 1.9785 0.963 0.0789 0.0616 0.2346 -0.1162 2.7675
3.9382 0.4746 0.2346 0.9414 -0.4653
3 1 1.6570 0.522 7.6152 1.0000 0.0000 -7.6152 0.0042
2.6505 -1.9014 0.0000 1.0000 1.9014
2 1.6250 0.394 0.0892 0.0866 0.2743 -0.1057 2.3577
2.6585 0.3572 0.2743 0.9176 -0.3522
..
.
8 1 1.0000 0.000 0.0001 1.0000 0.0000 -0.0001 0.0098
1.0000 -0.0000 0.0000 1.0000 0.0000
2 1.0000 0.000 0.0000
1.0000 0.0000

Si se hubiera hecho el cálculo de las matrices Dn+1 , se hubiera obtenido

203
CAPÍTULO 8. MINIMIZACIÓN SIN RESTRICCIONES

     
0.0238 0.1197 0.2029 0.7789 0.2467 0.7819
, , ,
0.1197 0.6262 0.7789 3.0124 0.7819 2.5024
 
0.5002 1.0008
··· ,
1.0008 2.0526

que son aproximaciones de la inversa de la matriz hessiana:


   
00 ∗ 82 −40 00 ∗
−1 0.50 1.00
f (x ) = , f (x ) = . 3
−40 20 1.00 2.05

Proposición 8.8. En el método DFP si f (x) = 12 xT Hx+cT x con H definida


positiva, entonces

ˆ las direcciones son H-conjugadas,

ˆ se obtiene x∗ en a lo más n iteraciones,

ˆ si D1 = I se obtienen direcciones equivalentes a las del GC y los


mismos xk .

Ejemplo 8.12. Utilizar el método DFP para minimizar f (x1 , x2 , x3 ) =


10(x1 + x2 + x3 )2 + 2x22 + x23 , a partir de x1 = (3, 4, 5).
Ver la tabla de resultados al final del capı́tulo.
Si se hubiera calculado la matriz Dn+1 se hubiera obtenido
 
0.8000 −0.2500 −0.5000
−0.2500 0.2500 0.0000  ,
−0.5000 0.0000 0.5000

que es exactamente la inversa de la matriz hessiana.


 
20 20 20
f 00 (x∗ ) = 20 24 20 .
20 20 22

Las 3 direcciones obtenidas son iguales o equivalentes a las obtenidas en el


método GC para este mismo ejemplo. 3

204
8.7. MÉTODO DE DAVIDON, FLETCHER Y POWELL: DFP

Algunas de las ideas importantes de la presentación del método DFP


hecha anteriormente son:

D1 = I,
dk = −Dk f 0 (xk ),
Dk = Dk−1 + C k ,
Dn+1 ≈ (f 00 (x∗ ))-1 .

Existe otra presentación del método DFP, obviamente equivalente a la


anterior, pero donde se trabaja con matrices B que corresponden a las in-
versas de las matrices D:

B 1 = I,
resolver B k dk = −f 0 (xk ),
B k = B k−1 + E k ,
B n+1 ≈ f 00 (x∗ ).

Las fórmulas precisas que definen esta otra presentación del método DFP
son:

B1 = I
resolver B k dk = −f 0 (xk )
p = xk − xk−1
q = f 0 (xk ) − f 0 (xk−1 )
u = Bkp
γ = pT u
ρ = pT q
1 1
w= q− u
ρ γ
1 1
B k = B k−1 − uuT + qq T + γwwT .
γ ρ

205
CAPÍTULO 8. MINIMIZACIÓN SIN RESTRICCIONES

Ejemplo 8.13. Utilizar el método DFP para minimizar f (x1 , x2 , x3 ) =


10(x1 + x2 + x3 )2 + 2x22 + x23 , a partir de x1 = (3, 4, 5).
Ver la tabla de resultados al final del capı́tulo.
Si se hubiera calculado la matriz B n+1 se hubiera obtenido
 
20 20 20
20 24 20 . 3
20 20 22

8.8 MÉTODO DE BROYDEN, FLETCHER,


GOLDFARB Y SHANNO: BFGS
Es semejante al método DFP, construye direcciones conjugadas y tiene las
propiedades de estos métodos. También es un método cuasi-Newton, con
corrección de rango dos. El método DFP y el BFGS son casos particulares
de la familia de métodos de Broyden. El método BFGS es bastante popular
y, según muchos ensayos hechos, es numéricamente mejor que el DFP. Otra
ventaja es que si en el BFGS no se hace minimización exacta en una dirección
sino minimización imprecisa que cumpla el criterio de Goldstein y el de
Wolfe-Powell se puede garantizar convergencia global. Para el DFP no hay
resultado análogo.
La única diferencia con respecto al método DFP consiste en la manera
como se hace la correción de Dk−1 para obtener Dk .

T
!
1 q k sk T 1  T T

Ck = T 1 + kT k pk pk − T pk sk + sk pk ,
pk q k p q pk q k (8.32)
Dk = Dk−1 + C k .

Ejemplo 8.14. Utilizar el método BFGS para minimizar f (x1 , x2 ) = (1 −


x1 )2 + 10(x2 − x21 )2 , a partir de x1 = (3, 4).
Ver tabla de resultados más adelante.
Si se hubiera calculado la matriz Dn+1 se hubiera obtenido

     
0.0265 0.1303 0.2350 0.8806 0.2793 0.8653
, ,
0.1303 0.6684 0.8806 3.3349 0.8653 2.7158

206
8.8. MÉTODO BFGS

MÉTODO BFGS
datos: x1 , εg , MAXIT, ...
para K = 1, ..., MAXIT
para k = 1, ..., n
si ||f 0 (xk )|| < εg ent parar
si k = 1 ent D1 = I o una matriz def. pos.
sino
p = xk − xk−1 , q = f 0 (xk ) − f 0 (xk−1 ), s = Dk q, γ = pT q
1 qTs 1
Dk = Dk−1 + (1 + )ppT − (spT + psT )
γ γ γ
fin-sino
dk = −Dk f 0 (xk )
λ∗k = argmin f (xk + λdk ), λ ≥ 0
xk+1 = xk + λ∗k dk
fin-para k
x1 = xn+1
fin-para K

 
0.5002 1.0008
... .
1.0008 2.0526

Los puntos xk obtenidos son los mismos del método DFP, algunas matrices
Dk cambian ligeramente. Como se verá en el ejemplo siguiente las matrices
Dk no son siempre iguales en los dos métodos. 3
Ejemplo 8.15. Utilizar el método BFGS para minimizar la función
f (x1 , x2 , x3 ) = 10(x1 + x2 + x3 )2 + 2x22 + x23 , a partir de x1 = (3, 4, 5).
Ver la tabla de resultados al final del capı́tulo.
Si se hubiera calculado la matriz Dn+1 se hubiera obtenido
 
0.8000 −0.2500 −0.5000
 −0.2500 0.2500 0.0000  ,
−0.5000 0.0000 0.5000
que es exactamente la inversa de la matriz hessiana. 3
Para el método BFGS también existe una presentación con matrices B

B1 = I

207
CAPÍTULO 8. MINIMIZACIÓN SIN RESTRICCIONES

K k x f (x) f 0 (x) D·1 D·2 d λ∗


1 1 3.0000 254.0 604.00 1.0000 0.0000 -604.00 0.0016
4.0000 -100.00 0.0000 1.0000 100.00
2 2.0335 1.074 0.0419 0.0285 0.1617 -0.0817 0.4574
4.1600 0.4979 0.1617 0.9731 -0.4913
2 1 1.9961 1.017 5.9255 1.0000 0.0000 -5.9255 0.0030
3.9353 -0.9852 0.0000 1.0000 0.9852
2 1.9785 0.963 0.0789 0.0620 0.2361 -0.1169 2.7498
3.9382 0.4746 0.2361 0.9474 -0.4683
3 1 1.6570 0.522 7.6152 1.0000 0.0000 -7.6152 0.0042
2.6505 -1.9014 0.0000 1.0000 1.9014
2 1.6250 0.394 0.0892 0.0868 0.2749 -0.1059 2.3525
2.6585 0.3572 0.2749 0.9196 -0.3530
..
.
8 1 1.0000 0.000 0.0001 1.0000 0.0000 -0.0001 0.0098
1.0000 -0.0000 0.0000 1.0000 0.0000
2 1.0000 0.000 0.0000
1.0000 0.0000
Ejemplo 8.14

resolver B k dk = −f 0 (xk )
p = xk − xk−1
q = f 0 (xk ) − f 0 (xk−1 )
1 1
B k = B k−1 + T qq T − T k B k ppT B k
q p p B p

Es interesante observar la “dualidad” o “complementariedad” que existe


entre las fórmulas de D y de B en los métodos DFP y BFGS:

1 1
Dk+1 = Dk + ppT − T k Dk qq T Dk , (DFP)
pT q q D q
pT B k p
 
1 1  T k 
B k+1 = Bk + 1 + T qq T
− qp B + B k T
pq , (DFP)
q p qTp qTp
qT Dk q
 
1 1  T k 
Dk+1 k
=D + 1+ T pp T
− pq D + D k T
qp , (BFGS)
p q pT q pT q
1 1
B k+1 = B k + T qq T − T k B k ppT B k . (BFGS)
q p p B p

208
8.9. MÉTODO CÍCLICO COORDENADO CONTINUO

8.9 MÉTODO CÍCLICO COORDENADO


CONTINUO O EXACTO: CCC
Este es un método de descenso que no utiliza derivadas sino simplemente los
valores de la función. La idea es muy sencilla, se trata de minimizar primero
a lo largo de la primera dirección canónica e1 = [1 0 ... 0]T , enseguida a
lo largo de e2 = [0 1 0 ... 0]T ... y, finalmente, a lo largo de la dirección
en = [0 0 ... 0 1]T y de nuevo volver a repetir el proceso hasta que haya
convergencia o hasta que haya indicios de problemas.

datos: x0 , εx , M AXIT, . . .
para para k = 0, ..., MAXIT
y 1 = xk
para j = 1, ..., n
λ∗j = argmin f (y j + λej )
y j+1 = y j + λ∗j ej
fin-para j
xk+1 = y n+1
si ||xk+1 − xk || < εx ent parar
fin-para k

Ejemplo 8.16. Utilizar el método cı́clico coordenado continuo para mini-


mizar f (x) = 10(x2 − x21 )2 + (1 − x1 )2 partiendo de x0 = (3, 4).

k xk1 xk2 f (xk ) j λ∗j y1j+1 y2j+1 f (y j+1 )

0 3.0000 4.0000 254.00 1 -1.0062 1.9938 4.0000 0.994


2 -0.0249 1.9938 3.9751 0.988
1 1.9938 3.9751 0.988 1 -0.0062 1.9875 3.9751 0.981
2 -0.0248 1.9875 3.9502 0.975
2 1.9875 3.9502 0.975 1 -0.0062 1.9813 3.9502 0.969
2 -0.0248 1.9813 3.9256 0.963
···
30 1.8135 3.2887 0.662 1 -0.0062 1.8073 3.2887 0.657
2 -0.0223 1.8073 3.2663 0.652
··· 3

Ejemplo 8.17. Utilizar el método de cı́clico coordenado continuo para min-


imizar f (x) = 10x21 + x22 partiendo de x0 = (2, 3).

209
CAPÍTULO 8. MINIMIZACIÓN SIN RESTRICCIONES

k xk1 xk2 f (xk ) j λ∗j y1j+1 y2j+1 f (y j+1 )

0 2.0000 3.0000 49.000 1 -2.0000 0.0000 3.0000 9.000


2 -3.0000 0.0000 0.0000 0.000
1 0.0000 0.0000 0.000 1 0.0000 0.0000 0.0000 0.000
2 0.0000 0.0000 0.0000 0.000

En el ejemplo 8.16 la convergencia es muy lenta. En el ejemplo actual


la convergencia es muy rápida, las curvas de nivel de f (x) = 10x21 + x22 son
elipses con ejes paralelos a los ejes coordenados. Si se aplica el método cı́clico
a f (x) = 10(x1 + x2 − 3)2 + (x1 − x2 + 1)2 , cuyas curvas de nivel son elipses,
pero con ejes inclinados, la convergencia resulta lenta. 3

8.10 MÉTODO CÍCLICO COORDENADO


DISCRETO O INEXACTO: CCD
Este es un método de descenso, que no utiliza derivadas sino simplemente los
valores de la función. La idea es muy sencilla, se trata de encontrar un punto
mejor, primero a lo largo de la primera dirección canónica e1 = [1 0 ... 0]T ,
enseguida a lo largo de e2 = [0 1 0 ... 0]T ... y, finalmente, a lo largo de la
dirección en = [0 0 ... 0 1]T . De nuevo se vuelve a repetir el proceso hasta
que haya convergencia o hasta que haya indicios de problemas. Dicho de
otra forma, para cada dirección canónica en el método cı́clico coordenado
continuo se encuentra λ∗j , en el método discreto basta con encontrar un λj
tal que

f (y j + λj ej ) < f (y j ),

entonces

y j+1 = y j + λj ej .

Si no es posible encontrar el λj adecuado,

y j+1 = y j .

La búsqueda de un punto mejor está limitada por el tamaño de λ, es


decir, dado un ε (que puede ser un εj dependiente de j), se desea buscar un
λj tal que |λj | > ε y f (y j + λj ej ) < f (y j ).

210
8.10. MÉTODO CÍCLICO COORDENADO DISCRETO

Es muy probable que el método discreto requiera más iteraciones que el


continuo, pero es posible que el número de evaluaciones de f sea menor, y
ası́ también el tiempo total sea menor.

datos: x0 , εx , ε1 , ..., εn , M AXIT, . . .


para k = 0, ..., MAXIT
y 1 = xk
para j = 1, ..., n
buscar λj tal que |λj | > εj y f (y j + λj ej ) < f (y j )
si se encontró tal λj ent y j+1 = y j + λj ej
sino y j+1 = y j
fin-para j
xk+1 = y n+1
si ||xk+1 − xk || < εx ent parar
fin-para k

La búsqueda de λj puede hacerse por medio del algoritmo visto en la


sección 7.9, en la parte correspondiente a encontrar un punto mejor en el
método de los tres puntos, donde x = y j , d = ej , λ0 = 0. El valor de η0 no
debe ser ni muy pequeño ni muy grande y puede estar relacionado con el
último cambio en esa dirección, o sea, con λkj − λk−1
j . Si el η0 de la primera
iteración es pequeño, en cada iteración se encuentra un punto mejor, pero
muy cercano al anterior. Esto se puede evitar en parte, aumentando en cada
iteración el tamaño del η0 , por ejemplo tomando η0 = 2(λkj − λjk−1 ).

Ejemplo 8.18. Utilizar el método cı́clico coordenado discreto para mini-


mizar f (x) = 10(x2 − x21 )2 + (1 − x1 )2 partiendo de x0 = (3, 4).

k xk1 xk2 f (xk ) j λj y1j+1 y2j+1 f (y j+1 )


0 3.0000 4.0000 254.000 1 -1.0000 2.0000 4.0000 1.000
2 0.0000 2.0000 4.0000 1.000
1 2.0000 4.0000 1.000 1 -0.0078 1.9922 4.0000 0.994
2 -0.0312 1.9922 3.9688 0.984
2 1.9922 3.9688 0.984 1 -0.0078 1.9844 3.9688 0.979
2 -0.0312 1.9844 3.9375 0.969
3 1.9844 3.9375 0.969 1 -0.0078 1.9766 3.9375 0.963
2 -0.0312 1.9766 3.9062 0.954
···

211
CAPÍTULO 8. MINIMIZACIÓN SIN RESTRICCIONES

8.11 MÉTODO DE HOOKE Y JEEVES


CONTINUO O EXACTO: HJC
Este es un método de descenso, que no utiliza derivadas sino simplemente
los valores de la función. Es una mejora del método cı́clico coordenado
continuo. Dado un x0 se hace una iteración completa (n subiteraciones)
del método cı́clico coordenado para obtener x1 . A partir de x1 se hace
una minimización en la dirección d1 = x1 − x0 y, en seguida, otra vez el
método cı́clico para obtener x2 . A partir de x2 se hace una minimización en
la dirección d2 = x2 − x1 y de nuevo el método cı́clico para obtener x3 , y
ası́ sucesivamente. La dirección dk = xk − xk−1 representa el resumen de la
iteración anterior y muestra hacia donde tiende a mejorar la función f .
datos: x0 , εx , MAXIT, . . .
a partir de x0 obtener x1 (mét. CCC)
para k = 1, ..., MAXIT
dk = xk − xk−1
si ||dk || < εx ent parar
λ∗k = argmin f (xk + λdk )
y 1 = xk + λ∗k dk
a partir de y 1 obtener y n+1 (mét. CCC)
xk+1 = y n+1
fin-para k
Ejemplo 8.19. Utilizar el método de Hooke y Jeeves continuo para mini-
mizar f (x) = 10(x2 − x21 )2 + (1 − x1 )2 partiendo de x0 = (3, 4).
Ver la tabla de resultados al final del capı́tulo.
También existe un método de Hooke y Jeeves discreto o inexacto. En
cada iteración, en lugar de hallar λ∗0 minimizador de f (xk + λdk ), se obtiene
simplemente un punto y 1 = xk + λ0 dk mejor que xk . Además, a partir de
y 1 se utiliza el método cı́clico coordenado discreto para obtener y n+1 .

EJERCICIOS
En los ejercicios 8.1 a 8.15 estudie el problema propuesto, averigüe cuáles
métodos puede usar, use algunos de ellos, compare los resultados y la rapi-
dez, verifique si el punto obtenido es punto crı́tico, minimizador, mini-
mizador global. Use también puntos iniciales diferentes al propuesto.

8.1 Minimizar f (x1 , x2 ) = x41 + x22 , con x0 = (3, 4).

212
8.11. MÉTODO DE HOOKE Y JEEVES CONTINUO: HJC

8.2 Minimizar f (x1 , x2 ) = (x1 + x2 − 3)2 + (x1 − x2 + 1)2 , con x0 = (1, 2).

8.3 Minimizar f (x1 , x2 ) = 10x21 + x22 , con x0 = (2, 3).

8.4 Minimizar f (x1 , x2 ) = (x1 + x2 − 3)2 + (x1 − x2 + 1)2 , con x0 = (3, 5).

8.5 Minimizar f (x1 , x2 ) = 10(x1 +x2 −3)2 +(x1 −x2 +1)2 , con x0 = (3, 5).

8.6 Minimizar f (x1 , x2 , x3 ) = 10(x1 +x2 +x3 )2 +2x22 +x23 , con x0 = (3, 4, 5).

8.7 Minimizar f (x1 , x2 ) = 10(x2 − x21 )2 + (1 − x1 )2 , con x0 = (3, 4).

8.8 Minimizar f (x1 , x2 ) = (x1 − x2 )4 + (1 − x1 )2 , con x0 = (3, 2).

8.9 Minimizar f (x1 , x2 ) = x41 + 2x1 x2 + 3x22 , con x0 = (4, 5).

8.10 Minimizar f (x1 , x2 ) = x31 + 2x1 x2 + 3x22 , con x0 = (4, 5).

8.11 Minimizar f (x1 , x2 ) = sen (x1 x2 ), con x0 = (0, 0).

8.12 Minimizar f (x1 , x2 ) = sen (x1 x2 ), con x0 = (1.5, −1.5).

8.13 Minimizar f (x1 , x2 ) = (x1 − 1)2 + ex1 + x22 − 2x2 + 1, con x0 = (2, 3).

8.14 Minimizar f (x1 , x2 ) = (x1 + x2 )/(x21 + x22 + 1), con x0 = (2, −2).

8.15 Minimizar f (x1 , x2 ) = (x21 − x2 )2 , con x0 = (3, 4).

213
K k x f (x) f 0 (x) D·1 D·2 D·3 d λ∗

1 1 3.0000 1497.00 240.0000 1.0000 0.0000 0.0000 -240.00 0.0161


4.0000 256.0000 0.0000 1.0000 0.0000 -256.00
5.0000 250.0000 0.0000 0.0000 1.0000 -250.00
2 -0.8683 0.9795 -0.4743 0.6935 -0.3276 -0.3167 0.4730 0.4097
-0.1262 -0.9820 -0.3276 0.6499 -0.3385 0.9773
0.9706 1.4638 -0.3167 -0.3385 0.6727 -1.4682
3 -0.6745 0.2963 -0.6238 0.7152 -0.2155 -0.4536 0.6000 1.1241
0.2743 0.4734 -0.2155 0.2360 -0.0189 -0.2440
0.3690 0.1141 -0.4536 -0.0189 0.4746 -0.3282
2 1 0.0000 0.0000 0.0000
0.0000 0.0000
0.0000 0.0000

Ejemplo 8.12

K k x f (x) f 0 (x) B·1 B·2 B·3 d λ∗

1 1 3.0000 1497.00 240.00 1.0000 0.0000 0.0000 -240.00 0.0161


4.0000 256.00 0.0000 1.0000 0.0000 -256.00
5.0000 250.00 0.0000 0.0000 1.0000 -250.00
2 -0.8683 0.9795 -0.4743 20.0174 20.3233 19.6522 0.4730 0.4097
-0.1262 -0.9820 20.3233 22.7188 21.0016 0.9773
0.9706 1.4638 19.6522 21.0016 21.3082 -1.4682
3 -0.6745 0.2963 -0.6238 20.0815 19.9381 19.9851 0.6000 1.1241
0.2743 0.4734 19.9381 24.0469 20.0113 -0.2440
0.3690 0.1141 19.9851 20.0113 22.0027 -0.3282
2 1 0.0000 0.0000 0.0000
0.0000 0.0000
0.0000 0.0000

Ejemplo 8.13

214
8.11. MÉTODO DE HOOKE Y JEEVES CONTINUO: HJC

K k x f (x) f 0 (x) D·1 D·2 D·3 d λ∗

1 1 3.0000 1497.0000 240.0000 1.0000 0.0000 0.0000 -240.0000 0.0161


4.0000 256.0000 0.0000 1.0000 0.0000 -256.0000
5.0000 250.0000 0.0000 0.0000 1.0000 -250.0000
2 -0.8683 0.9795 -0.4743 0.6935 -0.3276 -0.3167 0.4730 0.4097
-0.1262 -0.9820 -0.3276 0.6500 -0.3385 0.9774
0.9706 1.4638 -0.3167 -0.3385 0.6727 -1.4683
3 -0.6745 0.2963 -0.6238 0.8435 -0.2677 -0.5238 0.7126 0.9464
0.2743 0.4734 -0.2677 0.2572 -0.0097 -0.2898
0.3690 0.1141 -0.5238 -0.0097 0.5130 -0.3899
2 1 0.0000 0.0000 0.0000
0.0000 0.0000
0.0000 0.0000

Ejemplo 8.15

k xk1 xk2 f (xk ) dk1 dk2 j λ∗j y1j+1 y2j+1 f (y j+1 )

0 3.0000 4.0000 254.0000


1 -1.0062 1.9938 4.0000 0.9938
2 -0.0249 1.9938 3.9751 0.9876
1 1.9938 3.9751 0.9876 -1.0062 -0.0249 0.0063 1.9874 3.9749 0.9813
1 0.0000 1.9875 3.9749 0.9813
2 -0.0248 1.9875 3.9501 0.9751
2 1.9875 3.9501 0.9751 -0.0063 -0.0250 50.8015 1.6685 2.6801 0.5545
1 -0.0373 1.6312 2.6801 0.4021
2 -0.0193 1.6312 2.6607 0.3984
3 1.6312 2.6607 0.3984 -0.3563 -1.2893 0.4138 1.4837 2.1272 0.2892
1 -0.0306 1.4531 2.1272 0.2078
2 -0.0156 1.4531 2.1116 0.2053
..
.
8 1.0043 1.0087 0.0000 -0.0361 -0.0738 0.1183 1.0001 1.0000 0.0000
1 -0.0001 1.0000 1.0000 0.0000
2 0.0000 1.0000 1.0000 0.0000

Ejemplo 8.19

215
CAPÍTULO 8. MINIMIZACIÓN SIN RESTRICCIONES

216
Capı́tulo 9

MÉTODOS DE
PENALIZACIÓN Y DE
BARRERA

En estos métodos se trata de resolver problemas de minimización con restric-


ciones mediante métodos de minimización para problemas sin restricciones.
Para esto se construye una función F que tenga en cuenta tanto la función
f como las restricciones. En el método de penalización se parte de puntos
no admisibles y, poco a poco, se obtienen puntos cercanos a la frontera y si es
del caso puntos admisibles interiores. En el método de barrera se inicia con
un punto interior y si es necesario se construyen puntos interiores cercanos
a la frontera, pero nunca en la frontera.

9.1 MÉTODO DE PENALIZACIÓN


Consideremos el PMDI, un problema de minimización con desigualdades e
igualdades:

min f (x) (PMDI)


gi (x) ≤ 0, i = 1, ..., m
hj (x) = 0, j = 1, ..., l.

Para construir la función F se necesita usar una función P que indique


si un punto es admisible, más exactamente, P (x) = 0 si x es admisible, y
P (x) > 0 si x no es admisible, y obviamente P (x) debe aumentar en la

217
CAPÍTULO 9. MÉTODOS DE PENALIZACIÓN Y DE BARRERA

medida en que x incumple cada vez más las restricciones. Una manera de
construir P es la siguiente:
m
X l
X
P (x) = Φi (gi (x)) + Ψj (hj (x)) (9.1)
i=1 j=1

donde Φi , Ψj : R −→ R son continuas y de preferencia derivables una o dos


veces. Las funciones Φi pueden ser iguales o diferentes, de igual forma las
funciones Ψj pueden ser iguales o diferentes.
Las funciones Φ deben tener por lo menos las siguientes caracterı́sticas:

ˆ Φ es continua en R,

ˆ Φ(t) > 0 si t > 0,

ˆ Φ(t) = 0 si t ≤ 0,

ˆ Φ(t) es estrictamente creciente si t ≥ 0.

Ejemplos de funciones Φ son:

Φ(t) = max{0, t},


Φ(t) = (max{0, t})p , p ≥ 1.

Obviamente estas caracterı́sticas se conservan si se multiplica por una con-


stante positiva.
Las funciones Ψ deben tener por lo menos las siguientes caracterı́sticas:

ˆ Ψ es continua en R,

ˆ Ψ (t) > 0 si t 6= 0,

ˆ Ψ (t) = 0 si t = 0,

ˆ Ψ (t) es estrictamente creciente si t ≥ 0,

ˆ Ψ (t) es estrictamente decreciente si t ≤ 0.

Ejemplos de funciones Ψ son:

Ψ (t) = |t|,

218
9.1. MÉTODO DE PENALIZACIÓN

Ψ (t) = t2 ,
Ψ (t) = |t|p , p ≥ 1.
Obviamente estas caracterı́sticas también se conservan si se multiplica por
una constante positiva.
Es claro que la función P definida según 9.1, usando funciones Φi , Ψj
adecuadas, puede “medir” la inadmisibilidad de un punto: si P (x) = 0,
entonces x es admisible, y a mayor valor de P (x) mayor inadmisibilidad.
La función F que va a ser minimizada, y que tiene en cuenta f y las
restricciones es

F (x) = f (x) + µP (x), µ > 0.


Si el valor de µ es grande, al minimizar F va a ser muy importante la
inadmisibilidad. Si µ es cercano a cero al minimizar F va a preponderar f
y es posible que el punto que se obtenga diste mucho de ser admisible. Para
tratar de evitar estos inconvenientes, se empieza con un valor de µ pequeño
y se obtiene un minimizador. Si éste es admisible o casi admisible se detiene
el proceso. De lo contrario se aumenta el valor de µ y se vuelve a empezar.
Más exactamente:
datos: x0 , ε, µ0 > 0, β > 1, MAXIT
para k = 0, ..., MAXIT
partiendo de xk encontrar
xk+1 minimizador de F (x) = f (x) + µk P (x)
si µk P (xk+1 ) < ε ent parar
sino µk+1 = βµk
fin-para k
Ejemplo 9.1. Usar el método de penalización para el siguiente problema:

min f (x1 , x2 ) = x21 − x22


−x1 + 2 ≤ 0
−x2 + 3 ≤ 0
x1 + x2 − 10 = 0,
con x0 = (0, 0), µ0 = 0.1, β = 10, Φ(t) = (max{0, t})2 , Ψ (t) = t2 .

h
F (x1 , x2 ) = x21 -x22 + µ (max{0, -x1 + 2})2 + (max{0, -x2 + 3})2
i
+(x1 + x2 -10)2

219
CAPÍTULO 9. MÉTODOS DE PENALIZACIÓN Y DE BARRERA

k µk xk+1
1 xk+1
2 f (xk+1 ) P (xk+1 ) µk P (xk+1 )

0 0.1 no hay minimizador


1 1 no hay minimizador
2 10 0.8989 10.1124 -101.4518 2.2351 22.3507
3 100 1.8992 8.1826 -63.3488 0.0169 1.6860
4 1000 1.9900 8.0180 -60.3287 0.0002 0.1644
5 10000 1.9990 8.0018 -60.0328 1.64E-6 0.0164
6 100000 1.9999 8.0002 -60.0033 1.64E-8 0.0016
3

La principal ventaja del método de penalización es que fácilmente se


puede adaptar un programa de computador de minimización sin restric-
ciones para un PMDI. Además, se tiene convergencia global. Sin embargo,
computacionalmente presenta dificultades y no es muy eficiente.

Proposición 9.1. Sea {xk } una sucesión de vectores generada por el método
de penalización. Entonces cualquier punto lı́mite de la sucesión es solución
del PMDI.

9.2 MÉTODO DE BARRERA


El método de barrera se aplica a problemas sin igualdades:

min f (x)
gi (x) ≤ 0, i = 1, ..., m

o simplemente

min f (x)
g(x) ≤ 0,

donde g : Rn → Rm , g(x) = (g1 (x), g2 (x), ..., gm (x)), las funciones f , gi son
continuas y, además, el conjunto admisible A tiene interior no vacı́o

A = {x : g(x) < 0} =
6 ∅.

El método de barrera trabaja en puntos de A y “castiga” a los puntos
que se acercan a la frontera, es decir, a los puntos que se acercan a saturar

220
9.2. MÉTODO DE BARRERA

una desigualdad. Por esta razón hace parte de los métodos de punto interior.
Actualmente, los métodos de punto interior son un tema importante de in-
vestigación. En particular, son muy útiles para problemas de programación
lineal muy grandes.
Para trabajar con puntos interiores se define una función de barrera B
que aumenta su valor cuando los puntos están cerca de la frontera
m
X
B(x) = χi (gi (x)).
i=1

Las funciones χ deben tener por lo menos las siguientes caracterı́sticas:

ˆ χ está definida, es continua y estrictamente creciente en ] − ∞, 0[

ˆ χ(t) −→ +∞ cuando t −→ 0− .

Ejemplos de funciones χ son:

1
χ(t) = − ,
t
χ(t) = − log(−t).

En el método de barrera se minimiza una función F que tiene en cuenta


al mismo tiempo la función objetivo f y la función de barrera B:

F (x) = f (x) + µB(x).


El esquema del algoritmo es semejante al de penalización, con algunas
diferencias importantes. Es necesario iniciar con un punto admisible, más
exactamente g(x0 ) < 0. El valor de µ disminuye en cada iteración.

datos: x0 ∈ A, ε, µ0 > 0, β ∈]0, 1[, MAXIT
para k = 0, ..., MAXIT
partiendo de xk encontrar
xk+1 minimizador de F (x) = f (x) + µk B(x)
si µk B(xk+1 ) < ε ent parar
sino µk+1 = βµk
fin-para k

Un detalle muy importante para tener en cuenta es que cuando x no es


admisible, la función B puede tomar valores más pequeños que para puntos

221
CAPÍTULO 9. MÉTODOS DE PENALIZACIÓN Y DE BARRERA

admisibles, o peor aún, puede no estar definida. Entonces un programa


de computador para implementar este método no debe permitir evaluar la
función F en puntos no admisibles o de la frontera.

Ejemplo 9.2. Usar el método de barrera para el siguiente problema:

min f (x1 , x2 ) = x21 − x22


−x1 + 2 ≤0
−x2 + 3 ≤0
x1 + x2 − 10 ≤ 0,

con x0 = (3.5, 3.5), µ0 = 10, β = 0.1, χ(t) = −1/t.

 
−1 −1 −1
F (x1 , x2 ) = x21 − x22 +µ + + .
−x1 + 2 −x2 + 3 x1 + x2 − 10

k µk xk+1
1 xk+1
2 f (xk+1 ) B(xk+1 ) µk B(xk+1 )

0 10 2.7227 6.4229 -33.8402 2.8462 28.4623


1 1 2.2263 7.5162 -51.5378 8.5248 8.5248
2 0.1 2.0710 7.8492 -57.3211 26.8237 2.6824
3 0.01 2.0224 7.9525 -59.1528 84.7495 0.8475
4 0.001 2.0071 7.9850 -59.7320 267.8918 0.2679
5 0.0001 2.0022 7.9953 -59.9153 847.0252 0.0847
6 0.00001 2.0007 7.9985 -59.9731 2676.4114 0.0268
7 0.000001 2.0002 7.9995 -59.9915 8430.7449 0.0084
3

EJERCICIOS
En los ejercicios 9.1 a 9.5 estudie el problema propuesto, averigüe cuáles
métodos puede usar, use algunos de ellos. Obtenga un punto inicial.

9.1 Minimizar f (x1 , x2 ) = x21 + x22 sujeto a x1 + x2 ≥ 4, 2x1 + x2 ≥ 5,


x ≥ 0.

9.2 Minimizar f (x1 , x2 ) = (x1 − 3)2 + (x2 − 2)2 sujeto a x21 − x2 + 2 ≤ 0,


x1 ≥ 0, −x1 + 2 ≤ 0.

222
9.2. MÉTODO DE BARRERA

9.3 Minimizar f (x1 , x2 ) = (x1 + 1)2 + (x2 + 1)2 sujeto a x1 + x2 ≤ 1,


−x1 − x2 ≤ −1, x ≥ 0.

9.4 Minimizar f (x1 , x2 ) = 3x1 + 4x2 sujeto a x1 + 2x2 ≥ 2, x ≥ 0.

9.5 Minimizar f (x1 , x2 ) = x21 +2x22 +x1 x2 −5x1 −6x2 sujeto a x1 +2x2 ≤ 4,
3x1 + 2x2 ≤ 8, x ≥ 0.

223
CAPÍTULO 9. MÉTODOS DE PENALIZACIÓN Y DE BARRERA

224
Capı́tulo 10

MÉTODOS DE
MINIMIZACIÓN CON
RESTRICCIONES

Una clase de métodos para problemas de PNL es la de los métodos princi-


pales o “primales”. En un método primal se trata de resolver el problema
directamente en el conjunto admisible. Se empieza con un punto admi-
sible, se construye una dirección admisible de descenso, se minimiza a lo
largo de ella y se obtiene otro punto admisible mejor que el anterior. Si
el proceso se detiene antes de llegar a la solución, de todas formas se tiene
un punto factible, posiblemente no muy alejado del minimizador. General-
mente, cuando los métodos primales generan una sucesión convergente, su
lı́mite es un minimizador local. Con frecuencia se pueden aplicar a proble-
mas sin una estructura especial, por ejemplo, sin que el conjunto admisible
necesite ser convexo. Para poder empezar estos métodos hay que resolver
otro problema: encontrar un punto admisible.
En los métodos duales las variables principales del problema son los co-
eficientes de KKT, o sea, los métodos duales no tratan de resolver directa-
mente el problema inicial, sino el problema obtenido al plantear condiciones
de KKT.
Otra clasificación de los métodos se refiere al tipo de restricciones, al-
gunos se aplican a restricciones lineales, otros a restricciones no necesari-
amente lineales. Finalmente, algunos métodos de restricciones lineales se
pueden adaptar para restricciones no lineales.
La estructura de los métodos de direcciones admisible es muy semejante
a la de los métodos para problemas sin restricciones:

225
CAPÍTULO 10. MÉT. MINIMIZACIÓN CON RESTRICCIONES

ˆ tener un xk admisible,

ˆ construir una dirección dk admisible y de descenso,

ˆ hallar λmax = max{λ : xk + λdk es admisible },

ˆ λ∗k = argmin f (xk + λdk ), λ ∈ [0, λmax ],

ˆ xk+1 = xk + λ∗k dk .

Obviamente, si λmax = +∞ y además f (xk + λdk ) no está acotado


inferiormente cuando λ > 0, entonces, en el problema general, f (x) tampoco
está acotada inferiormente y no hay minimizador global.

10.1 MÉTODO DEL GRADIENTE


REDUCIDO DE WOLFE
Antes de estudiar la deducción del método del gradiente reducido, consid-
eremos un problema más sencillo en Rp . Sea θ : Rp → R. El problema
es:

min θ(ξ)
ξ ≥ 0,

equivalente a

min θ(ξ)
−ξi ≤ 0, i = 1, ..., p.

Sean: ξ¯ un punto admisible, I = {i : ξ¯i = 0}. Al plantear condiciones de


KKT se tiene:
X
θ0 (ξ)
¯ + ui (−ei ) = 0.
i∈I

Tomando la anterior igualdad para cada una de las p componentes

∂θ ¯
θi0 (ξ)
¯ = (ξ) = ui ≥ 0 para i ∈ I
∂ξi

226
10.1. MÉTODO DEL GRADIENTE REDUCIDO DE WOLFE

¯ = ∂θ (ξ)
θi0 (ξ) ¯ = 0 para i ∈
/ I,
∂ξi

es decir, las condiciones de KKT para el punto ξ¯ son:

θi0 (ξ)
¯ ≥0 si ξ¯i = 0,
θ0 (ξ)
i
¯ =0 si ξ¯i > 0.

El método del descenso más pendiente se puede adaptar a este problema


restringido no permitiendo que una componente de la dirección sea negativa
cuando ξi sea nulo. Sea ξ k un punto admisible; la dirección se construye ası́:
(
k 0 si θi0 (ξ k ) > 0 y ξik = 0,
di = (10.1)
−θi0 (ξ k ) en los demás casos .

Se puede verificar que si dk = 0, entonces ξ k es un punto de KKT (cumple


condiciones necesarias de KKT). Si dk 6= 0 la dirección es al mismo tiempo
dirección admisible y de descenso.
El máximo valor positivo (puesto que d es dirección de descenso) que
puede tomar λ se deduce sabiendo que ξik + λdki ≥ 0 para todo i. La anterior
desigualdad es importante cuando dki < 0, caso en el cual λ puede aumentar
hasta cuando ξik + λdki = 0, entonces λ no puede ser mayor de −ξik /dki

 ∞
 si dk ≥ 0,
λmax = ξik k k
(10.2)
min{− k : di < 0} si d  0.

di
Cuando dk se construye según las fórmulas anteriores y no es nula, se
obtiene λmax > 0. Teniendo la dirección y el máximo valor de λ se construye
el punto ξ k+1 de la manera usual:

λ∗k = argmin θ(ξ k + λdk ), λ ∈ [0, λmax ],


ξ k+1 = ξ k + λ∗k dk .

El método del gradiente reducido se aplica a un problema con restric-


ciones lineales con la siguiente forma:

min f (x) (10.3)

227
CAPÍTULO 10. MÉT. MINIMIZACIÓN CON RESTRICCIONES

Ax = b
x ≥ 0,

donde A es una matriz de tamaño m×n con m ≤ n y además rango(A) = m.


Sea x un punto admisible. El método GR tiene varias semejanzas con el
método simplex, hay m variables básicas, n − m variables libres o indepen-
dientes o no básicas. Sin perder generalidad, supongamos que las primeras
m variables son las básicas y las variables libres son las n−m que siguen (esto
corresponderı́a simplemente a un reordenamiento de las variables). Supong-
amos, además, que B submatriz de A, obtenida al tomar las primeras m
columnas de A, es invertible. Sea L la matriz conformada con las n − m
columnas restantes. El sistema Ax = b se puede expresar

BxB + LxL = b.
Para facilitar las fórmulas, sean:

xB = ζ = [ζ1 ζ2 ... ζm ]T = [x1 x2 ... xm ]T ,


xL = ξ = [ξ1 ξ2 ... ξn−m ] = [xm+1 xm+2 ... xn ]T .
T

Bζ + Lξ = b
ζ = −B −1 Lξ + B −1 b
ζ = Qξ + q.

Supóngase, además, que ζ > 0. El problema planteado se puede expresar

min θ(ξ) = f (ζ, ξ)


ξ ≥ 0.

Sea ρ el gradiente de θ función de las variables ξ1 , ..., ξn−m .

m
∂θ ∂f X ∂f ∂ζi
ρj = = + , j = 1, ..., n − m
∂ξj ∂ξj ∂ζi ∂ξj
i=1
m
∂f X ∂f
= + qij
∂xm+j ∂xi
i=1
m
X
0
= fm+j + fi0 qij
i=1

228
10.1. MÉTODO DEL GRADIENTE REDUCIDO DE WOLFE

f10
 
0
= fm+j + [q1j ... qmj ]  ... 
 

fm0

0
= fm+j + (QT )j· fB0 .

Al considerar todas las n − m componentes

ρ = fL0 + QT fB0
T
ρ = fL0 − LT B −1 fB0 , (10.4)

donde fL0 es el vector columna formado por las componentes del gradiente
f 0 (x) correspondientes a las variables libres, y fB0 es el vector columna for-
mado por las componentes del gradiente f 0 (x) correspondientes a las vari-
ables básicas.
Entonces la dirección dL = δ para las n − m variables libres se define
como en (10.1)
(
0 si ρi > 0 y ξi = 0,
dm+i = δi = (10.5)
−ρi en los demás casos.

El resto de coordenadas de d se obtienen teniendo en cuenta que para


que d sea admisible se requiere que Ad = 0, entonces BdB + LdL = 0, luego

dB = −B −1 LdL .

Lo visto hasta ahora corresponde a la deducción simple del método del


gradiente reducido. Usualmente la fórmula (10.5) se modifica para poder
garantizar convergencia global [Lue89].
(
−ρi si ρi ≤ 0,
dm+i = δi = (10.6)
−ρi ξi si ρi > 0.

Dado un punto xk admisible y una dirección dk admisible (Adk = 0) el


valor λmax se calcula como en la fórmula (10.2)

∞
 si dk ≥ 0,
λmax = xki (10.7)
min{−
 : dki < 0} si dk  0.
dki

229
CAPÍTULO 10. MÉT. MINIMIZACIÓN CON RESTRICCIONES

La fórmula (10.4) para el cálculo del gradiente ρ para las variables libres
se puede reescribir utilizando r gradiente reducido, definido para las n
variables, pero nulo para las variables básicas.

T
r = f 0 (xk ) − AT (B −1 ) fB0 (xk ),
rB = 0,
T
rL = fL0 (xk ) − LT (B −1 ) fB0 (xk ).

Entonces el cálculo de la dirección para las variables libres se convierte


en
(
−rj si rj ≤ 0 y xj es libre,
dj = (10.8)
−xj rj si rj > 0 y xj es libre.
Las variables básicas se escogen como las m mayores componentes de xk .
En caso de empate se decide arbitrariamente.

Ik = {ı́ndices de las mayores m componentes de xk },


 
B = · · · A·j · · · j ∈ Ik ,
 
L = · · · A·j · · · j∈/ Ik ,

es decir, B se obtiene tomando las columnas de A correspondientes a las


variables básicas, o sea, las columnas cuyos ı́ndices están en Ik . De manera
semejante L se obtiene tomando las columnas de A correspondientes a las
variables libres, o sea, las columnas cuyos ı́ndices no están en Ik .
El esquema del algoritmo es:

datos: x0 factible, ε, MAXIT


para k = 0, ..., MAXIT
Ik = {ı́ndices de las m más grandes componentes de xk }
B, L, ..., de acuerdo a Ik
T
rL = fL0 (xk ) − LT (B −1 ) fB0 (xk )
dkL : según (10.8)
dkB = −B −1 LdkL
si ||dk || < ε ent parar
λmax : según (10.7)
λ∗k = argmin f (xk + λdk ), λ ∈ [0, λmax ]
xk+1 = xk + λ∗k dk
fin-para k

230
10.1. MÉTODO DEL GRADIENTE REDUCIDO DE WOLFE

La utilización adecuada de este algoritmo hace que se cumplan las sigu-


ientes propiedades:

ˆ Adk = 0,

ˆ f 0 (xk )T dk < 0,

ˆ λmax > 0,

ˆ xk+1 es admisible,

ˆ f (xk+1 ) < f (xk ).

La salida deseable se alcanza cuando dk ≈ 0 , en este caso xk es un


punto de KKT. Las salidas no deseables son: B no es invertible, λ∗k no
existe (f (xk + λdk ) no es acotado inferiormente), se llega hasta la iteración
k =MAXIT sin obtener un punto de KKT.

Ejemplo 10.1. Utilizar el método GR para el problema:

min f (x1 , x2 ) = x21 + x22


x1 + x2 ≤2
x1 + 5x2 ≤5
x ≥ 0,

partiendo de x0 = (3/2, 1/2).


Para poder resolver este problema por el método GR se necesita convertirlo
a la forma 10.3 . Entonces introduciendo variables de holgura:

min f (x1 , x2 , x3 , x4 ) = x21 + x22


x1 + x2 + x3 = 2
x1 + 5x2 + x4 = 5
x ≥ 0.

 
    2x 1
1 1 1 0 2  2x2 
A= , b= , f 0 (x) = 
 0 .

1 5 0 1 5
0

231
CAPÍTULO 10. MÉT. MINIMIZACIÓN CON RESTRICCIONES

El punto admisible del problema original debe ser convertido en un punto


de R4 , admisible para el problema modificado
   
1.5 3
0.5  , f (x0 ) = 2.5, f 0 (x0 ) =  1  ,
x0 = 
   
 0   0 
1 0
     
1 0 r2 −2
I0 = {1, 4}, B = , rL = = ,
1 1 r3 −3

 
        −5
d2 2 d1 −5  2 
dL = = , dB = =  3 ,
, d= 
d3 3 d4 −5
−5

λmax = 0.2, λ∗0 = 0.2.

  
0.5 1.0
 0.9  0 1
 1.8 
x1 =   1
 0.6  , f (x ) = 1.06, f (x ) =  0  ,
 

0 0
     
1 1 r1 0.64
I1 = {2, 3}, B = , rL = = ,
5 0 r4 −0.36

 
        −0.320
d1 −0.32 d2 −0.008  −0.008 
dL = = , dB = = , d=
 0.328  ,

d4 0.36 d3 0.328
0.360

λmax = 1.5625, λ∗1 = 1.5625.

   
0 0
 0.8875  1.775 
x2 =   , f (x2 ) = 0.787656, f 0 (x2 ) = 

,
 1.1125   0 
0.5625 0

232
10.1. MÉTODO DEL GRADIENTE REDUCIDO DE WOLFE

     
1 1 r1 −0.355
I2 = {2, 3}, B = , rL = = ,
5 0 r4 −0.355

 
        0.355
d1 0.355 d2 −0.142  −0.142 
dL = = , dB = = , d=
 −0.213  ,

d4 0.355 d3 −0.213
0.355

λmax = 5.223005, λ∗2 = 0.862069.

   
0.306034 0.612069
 0.765086  0 3 1.530172 
x3 =  3

 0.928879  , f (x ) = 0.679013, f (x ) = 
  ,
0 
0.868534 0

     
1 0 r1 0.612069
I3 = {3, 4}, B = , rL = = ,
0 1 r2 1.530172

       
d1 −0.187314 d3 1.358028
dL = = , dB = = ,
d2 −1.170714 d4 6.040883
 
−0.187314
 −1.170714 
d=  1.358028  ,

6.040883

λmax = 0.653521, λ∗3 = 0.653521.

   
0.183621 0.367241
0  , f (x4 ) = 0.033717, f 0 (x4 ) =  0
x4 = 
   
,
 1.816379   0 
4.816379 0

233
CAPÍTULO 10. MÉT. MINIMIZACIÓN CON RESTRICCIONES

     
1 0 r1 0.367241
I4 = {3, 4}, B = , rL = = ,
0 1 r2 0

       
d1 −0.067433 d3 0.067433
dL = = , dB = = ,
d2 0 d4 0.067433
 
−0.067433
 0 
d=  0.067433  ,

0.067433

λmax = 2.723005, λ∗4 = 2.723005.

   
0 0
0  0 5  0 
x5 =  5
   
 2  , f (x ) = 0, f (x ) =  0  ,
5 0
     
1 0 r1 0
I5 = {3, 4}, B = , rL = = ,
0 1 r2 0



        0
d1 0 d3 0  0 
dL = = , dB = = , d=
 0 .

d2 0 d4 0
0

Luego x5 = (0, 0, 2, 5) es un punto de KKT. 3

En el método GR se puede buscar que siempre la matriz B sea la matriz


identidad, lo cual simplifica algunas fórmulas. Para esto hay que hacer
operaciones elementales sobre las filas de A. Antes de empezar la primera
iteración hay que modificar A para que B 0 = I.
Si el punto inicial x0 se obtuvo por programación lineal, seguramente
la última tabla del simplex tiene esta propiedad. A partir de la primera
iteración, cuando se construye un nuevo xk se modifica la matriz A actual
mediante pivoteos. Puede resultar que en la siguiente iteración el conjunto
I no cambie, es decir, no se necesitarı́a hacer ningún pivoteo. Puede ser

234
10.1. MÉTODO DEL GRADIENTE REDUCIDO DE WOLFE

necesario un pivoteo, o pueden ser necesarios varios pivoteos. Recordemos


que en el método simplex, en cada iteración, hay exactamente un pivoteo,
pues una y una sola variable deja de ser básica, y una variable libre se
convierte en básica. Las fórmulas que se simplifican cuando B = I son:

rL = fL0 (xk ) − LT fB0 (xk ),


dB = −LdL .

En palabras, estas fórmulas se pueden expresar ası́:


Si xj es un variable libre, entonces rj es igual a fj0 (xk ) menos la suma
de los productos, término a término, de la columna A·j y el vector columna
fB0 (xk ).
Si xj es la i-ésima variable básica, entonces dj es igual a menos la suma
de los productos, término a término, de la fila Li· y el vector dL .
Para problemas pequeños, resueltos a mano, se puede organizar una tabla
un poco parecida a la del simplex, que facilite algunos cálculos. Supongamos,
por facilidad en la presentación, que las variables básicas son las primeras
m variables.

xTB xTL
 
x:
f 0 (x) :  fB0 (xk )T fL0 (xk )T 
 
 
 0 
k
xB 
 fB I L b 

 
 
r: 
 rL 

d: 
 dB dL

xi xi 
−xj /dj − −
di di
Para construir esta tabla, algunos valores simplemente se transcriben,
otros provienen de cálculos sencillos dentro de la misma tabla. Para la
construcción de la tabla el orden podrı́a ser el siguiente:

1. Colocar en la primera fila los valores de xkj ; colocar en la segunda fila


los valores de fj0 (xk ); colocar en las filas 3 hasta m + 2, la matriz A y
el vector columna b.

2. Indicar en la primera columna de la izquierda cuáles son las variables


básicas.

235
CAPÍTULO 10. MÉT. MINIMIZACIÓN CON RESTRICCIONES

3. Colocar en la siguiente columna fB0 , es decir, los valores de las com-


ponentes del gradiente f 0 (xk ) correspondientes a las variables básicas
en el orden adecuado (el orden en que las columnas de B forman la
identidad).

4. Calcular para las variables libres el valor rj según la fórmula simpli-


ficada, o sea, restarle a fj0 (xk ) (en la segunda fila) la suma de los
productos de la columna fB0 (xk ) y de la columna j de A.

5. Calcular para las variables libres el valor dj según 10.8.

6. Calcular para las variables básicas el valor dj según la fórmula simpli-


ficada, o sea, si xj es la i-ésima variable básica, entonces dj es menos
la suma de los productos de la fila i-ésima de L (elementos de la fila
i-ésima de A correspondientes a las variables libres) y del vector dL
recién calculado.

7. Efectuar los cocientes −xkj /dkj cuando dkj < 0 y escoger el valor λmax
como el mı́nimo de estos cocientes.

Una vez calculada la tabla es necesario:

ˆ Calcular el λ∗k .

ˆ Construir el punto xk+1 .

ˆ Determinar las nuevas variables básicas.

ˆ Efectuar los pivoteos necesarios sobre la matriz A y el vector columna


b, para que de nuevo B = I.

Ejemplo 10.2. Utilizar el método GR para el problema:

min f (x1 , x2 , x3 , x4 ) = x21 + x22


x1 + x2 + x3 = 2
x1 + 5x2 + x4 = 5
x ≥ 0.

con x0 = (1.5, 0.5, 0, 1).

236
10.1. MÉTODO DEL GRADIENTE REDUCIDO DE WOLFE

 
  2x1
1 1 1 0 2  2x2 
 = , f 0 (x) = 
 0 .

1 5 0 1 5
0

Como I0 = {1, 4}, entonces es necesario efectuar operaciones elementales


sobre  para que B = I.

 
1 1 1 0 2
 = .
0 4 −1 1 3

Entonces se puede empezar a llenar la tabla:

x0 :
 
1.5 0.5 0 1
f 0 (x0 ) : 
 3 1 0 0 


 1 1 1 0 2 


 0 4 −1 1 3 

r:  


d:  
−x0i /d0i

Las variables básicas son x1 , x4 y las componentes del gradiente para las
variables básicas son 3 y 0 .

x0 :
 
1.5 0.5 0 1
f 0 (x0 ) : 
 3 1 0 0 

x1   3 1 1 1 0 2 

x4   0 0 4 −1 1 3 

r:  


d:  
−x0i /d0i

El valor r2 es igual a 1 menos


 la suma
T de los productos de los elementos
T
de las columnas 3 0 y 1 4 , o sea, −2. El valor r3 es igual a 0
 T
menos la suma de los productos de los elementos de las columnas 3 0
 T
y 1 −1 , o sea, −3.

237
CAPÍTULO 10. MÉT. MINIMIZACIÓN CON RESTRICCIONES

x0 :
 
1.5 0.5 0 1
f 0 (x0 ) : 
 3 1 0 0 

x1   3 1 1 1 0 2 

x4   0 0 4 −1 1 3 

r:   −2 −3 

d:  
−x0i /d0i

Los valores dj para las variables libres se calculan según 10.8

x0 :
 
1.5 0.5 0 1
f 0 (x0 ) : 
 3 1 0 0 

x1   3 1 1 1 0 2 

x4   0 0 4 −1 1 3 

r:   −2 −3 

d:  2 3 
−x0i /d0i

El valor de d1 , correspondiente a la primera variable básica, es igual a menos


la suma de productos de los elementos  de laTprimera fila de L, es decir,
1 1 , y de los elementos de dL = 2 3 , o sea, −5. El valor de d4
correspondiente a la segunda variable básica es igual a menos la suma de
productos de los elementos de la segunda fila de L, es decir, 4 −1 , y
 T
de los elementos de dL = 2 3 , o sea, −5.

x0 :
 
1.5 0.5 0 1
f 0 (x0 ) : 
 3 1 0 0 

x1   3 1 1 1 0 2 

x4   0 0 4 −1 1 3 

r:   −2 −3 

d:  −5 2 3 −5 
−x0i /d0i

Para las componentes negativas de la dirección, se efectúa el cociente


−xkj /dkj .

238
10.1. MÉTODO DEL GRADIENTE REDUCIDO DE WOLFE

x0 :
 
1.5 0.5 0 1
f 0 (x0 ) : 
 3 1 0 0 

x1   3 1 1 1 0 2 

x4   0 0 4 −1 1 3 

r:   −2 −3 

d:  −5 2 3 −5 
−x0i /d0i 0.3 0.2
Entonces λmax = 0.2 y al minimizar f (x0 + λd0 ) se obtiene λ∗0 = 0.2.

x1 = (0.5, 0.9, 0.6, 0), f (x1 ) = 1.06, I1 = {2, 3}.


Es necesario hacer dos pivoteos, sobre a12 = 1 y sobre a23 = −1.

x1 :
 
0.5 0.9 0.6 0
f 0 (x1 ) : 
 1 1.8 0 0 

x2   1.8 0.2 1 0 0.2 1 

x3   0 0.8 0 1 −0.2 1 

r:   0.64 −0.36 

d:  −0.32 −0.008 0.328 0.36 
−x1i /d1i 1.5625 112.5

Entonces λmax = 1.5625 y al minimizar f (x1 + λd1 ) se obtiene λ∗1 = 1.5625.

x2 = (0, 0.8875, 1.1125, 0.5625), f (x2 ) = 0.7877, I2 = {2, 3}.

Luego en este caso no es necesario pivotear.

x2 :
 
0 0.8875 1.1125 0.5625
f 0 (x2 ) : 
 0 1.7750 0 0 

x2   1.775 0.2 1 0 0.2 1 

x3   0 0.8 0 1 −0.2 1 

r:   −0.355 −0.355 

d:  0.355 −0.142 −0.213 0.355 
−x2i /d2i 6.25 5.223

Entonces λmax = 5.233 y al minimizar f (x2 + λd2 ) se obtiene λ∗2 = 0.8621.

x3 = (0.3060, 0.7651, 0.9289, 0.8685), f (x3 ) = 0.6790, I3 = {3, 4}.

239
CAPÍTULO 10. MÉT. MINIMIZACIÓN CON RESTRICCIONES

Luego en este caso es necesario pivotear sobre a14 = 0.2.

x3 :
 
0.3060 0.7651 0.9289 0.8685
f 0 (x3 ) : 
 0.6121 1.5302 0 0 

x4   0 1 5 0 1 5 

x3   0 1 1 1 0 2 

r:   0.6121 1.5302 

d:  −0.1873 −1.1707 1.3580 6.0409 
−x3i /d3i 1.6337 0.6535

Entonces λmax = 0.6535 y al minimizar f (x3 + λd3 ) se obtiene λ∗3 = 0.6535.

x4 = (0.1836, 0, 1.8164, 4.8164), f (x4 ) = 0.0337, I4 = {3, 4}.

Luego en este caso no es necesario pivotear.

x4 :
 
0.1836 0 1.8164 4.8164
f 0 (x4 ) : 
 0.3672 0 0 0 

x4   0 1 5 0 1 5 

x3   0 1 1 1 0 2 

r:   0.3672 0 

d:  −0.0674 0 0.0674 0.0674 
−x4i /d4i 2.7230

Entonces λmax = 0.7230 y al minimizar f (x4 + λd4 ) se obtiene λ∗4 = 2.7230.

x5 = (0, 0, 2, 5), f (x4 ) = 0, I4 = {3, 4}.


Luego en este caso no es necesario pivotear.

x5 :
 
0 0 2 5
f 0 (x5 ) : 
 0 0 0 0 

x4   0 1 5 0 1 5 

x3   0 1 1 1 0 2 

r:   0 0 

d:  0 0 0 0 
−x5i /d5i
Entonces x5 = (0, 0, 2, 5) es punto de KKT. 3

240
10.2. MÉTODO DEL GRADIENTE PROYECTADO DE ROSEN

10.2 MÉTODO DEL GRADIENTE


PROYECTADO DE ROSEN
Este es un método de direcciones admisibles, para problemas con restric-
ciones lineales. Se aplica a un problema de la forma

min f (x)
Ax ≤ b
Ex = e,

donde A es un matriz m × n, b es un vector columna m × 1, E es una


matriz l × n, l ≤ n, rango(E) = l y e es un vector columna l × 1. En un
caso particular se puede tener que m = 0, es decir, no hay desigualdades, o
también l = 0, o sea, no hay igualdades.
En cada iteración de este método, dado un xk admisible, la dirección
utilizada es la proyección de −f 0 (xk ) sobre el espacio tangente de xk .
Para proyectar un vector se utilizan matrices de proyección, caracter-
izadas de la siguiente forma. Sean: M una matriz p × n, 0 ≤ p ≤ n,
rango(M ) = p. Sea T el espacio nulo de M , o sea, el conjunto de vectores
y tales que M y = 0. Sea P la matriz n × n definida por
(
In − M T (M M T )−1 M si p ≥ 1,
P = (10.9)
In si p = 0.

Proposición 10.1. Bajo las anteriores condiciones, la matriz P se llama


la matriz de proyección ortogonal sobre el espacio T y cumple las
siguientes propiedades:

ˆ P está bien definida, es decir, M M T es invertible,

ˆ P x ∈ T para todo x ∈ Rn ,

ˆ P x es ortogonal a x − P x, o sea, (x − P x)T P x = 0,

ˆ P es simétrica,

ˆ P P = P , luego P (P x) = P x para todo x ∈ Rn .

Considerar el caso p = 0 indica que si M no tiene filas T es todo Rn y la


matriz identidad “proyecta” cualquier vector sobre T . Otro caso particular

241
CAPÍTULO 10. MÉT. MINIMIZACIÓN CON RESTRICCIONES

se tiene cuando p = n y se ve fácilmente que T = {0} = {(0, 0, ..., 0)} y sin


necesidad de efectuar operaciones arı́tméticas P = 0, o sea, la matriz nula
(compuesta únicamente de ceros).
Dado xk admisible, la proyección de −f 0 (xk ) sobre el espacio tangente se
efectúa de la siguiente forma. La matriz A se puede separar en dos subma-
trices: A< compuesta por las filas de A correspondientes a las desigualdades
no saturadas, o sea, las filas tales que Ai· xk < bi y otra submatriz A= com-
puesta por las filas de A correspondientes a las desigualdades saturadas, o
sea, las filas tales que Ai· xk = bi . De manera semejante, el vector columna
de términos independientes se puede separar en dos subvectores b< y b= .
Entonces, suponiendo una reordenación de las filas de A y de b, se puede
escribir
 <   < 
A b
A= , b= .
A= b=
Recuérdese que las filas de la matriz M , utilizada en la definición del
espacio tangente en xk , son los gradientes de las desigualdades activas y los
gradientes de las igualdades. Entonces para el problema considerado en el
método GP

 
A=
M = ,k (10.10)
E
P : definida según 10.9,
dk = −P f 0 (xk ). (10.11)

Proposición 10.2. Si la dirección dk se construye según las fórmulas ante-


T
riores y dk 6= 0, entonces dk es una dirección admisible y además dk f 0 (xk )
< 0, luego dk es también una dirección de descenso.

Queda por estudiar el caso de dk = 0. Cuando la dirección resultante es


nula se puede calcular un vector con los coeficientes de KKT.

Proposición 10.3. Los coeficientes de KKT están dados por:


 
u
w= = −(M M T )−1 M f 0 (xk ).
v

El vector columna w tiene tantas filas como tiene la matriz M . El vector


columna u está formado por las componentes de w correspondientes a las
desigualdades que hacen parte de M . A su vez, el vector columna v de

242
10.2. MÉTODO DEL GRADIENTE PROYECTADO DE ROSEN

tamaño l × 1 está formado por las componentes de w correspondientes a


las igualdades que hacen parte de M . Al tener esto en cuenta, se deduce
inmediatamente el siguiente resultado:

Proposición 10.4. Sea dk = 0. Si nf(u) = 0 (número de filas de u), o si


nf(u) > 0 y u ≥ 0, entonces xk es un punto de KKT.

Si nf(u) > 0 y u  0, entonces xk no es un punto de KKT. En este


caso se escoge un ui < 0, generalmente el más negativo, y se suprime en la
matriz M la fila correspondiente a este ui negativo y se vuelve a calcular la
matriz P , etc.
Si dk 6= 0 se debe hallar λmax , para esto únicamente se consideran las
desigualdades no activas ya que las desigualdades activas y las igualdades
están consideradas en el cálculo de dk . Obviamente, si no hay desigualdades
inactivas, λ puede variar sin restricción. Si hay desigualdades inactivas,
xk + λdk debe seguir cumpliendo estas desigualdades:

A< (xk + λdk ) ≤ b<


λ(A< dk ) ≤ (b< − A< xk )
λdˆ ≤ b̂,

donde,

dˆ = A< dk ,
(10.12)
b̂ = b< − A< xk .

Entonces



+∞ si nf(A< ) = 0,

+∞ si nf(A< ) > 0 y dˆ ≤ 0,

λmax = (10.13)
b̂i
min{ : dˆi > 0} si nf(A< ) > 0 y dˆ  0.



dˆi
La utilización adecuada del algoritmo GP hace que se cumplan las siguientes
propiedades:

ˆ M dk = 0,

ˆ A= dk = 0,

243
CAPÍTULO 10. MÉT. MINIMIZACIÓN CON RESTRICCIONES

ALGORITMO DEL GRADIENTE PROYECTADO


datos: x0 factible, ε, MAXIT
para k = 0, ..., MAXIT
< = <
obtener
 A= ,A , b
A
M= , fink = 0
E
mientras fink = 0
P : según 10.9 , dk = −P f 0 (xk )
si ||dk || > ε ent
λmax : según 10.13
λ∗k = argmin f (xk + λdk ), λ ∈ [0, λmax ]
xk+1 = xk + λ∗k dk , fink = 1
fin-ent
sino
si nf(M ) > 0 ent
u
w= = −(M M T )−1 M f 0 (xk )
v
si (nf(u) = 0) ó (nf(u) > 0 y u ≥ 0) ent parar
sino
buscar el ui más pequeño
quitar de M la fila correspondiente
fin-sino
fin-ent
sino parar
fin-sino
fin-mientras
fin-para k

ˆ Edk = 0,
ˆ f 0 (xk )T dk < 0,
ˆ b̂ > 0,
ˆ λmax > 0,
ˆ xk+1 es admisible,
ˆ f (xk+1 ) < f (xk ).

La salida deseable del algoritmo se alcanza cuando se obtiene un punto


de KKT. Las salidas no deseables son:

244
10.2. MÉTODO DEL GRADIENTE PROYECTADO DE ROSEN

ˆ M M T no es invertible,

ˆ λ∗k no existe: f (xk + λdk ) no es acotado inferiormente,

ˆ se llega hasta la iteración k = MAXIT sin obtener un punto de KKT.

Ejemplo 10.3. Utilizar el método GP para el problema:

min f (x1 , x2 ) = x21 + x22


x1 + x2 ≤2
x1 + 5x2 ≤5
x ≥ 0,

a partir de x0 = (3/2, 1/2).


Colocándolo en la forma adecuada

min f (x1 , x2 ) = x21 + x22


x1 + x2 ≤2
x1 + 5x2 ≤5
−x1 ≤0
−x2 ≤ 0,

En este caso no hay igualdades, la matriz E y el vector e no tienen filas o


simplemente no existen.
   
1 1 2  
 1 5   5  0 2x1
A=   , b =   , f (x) =
  ,
−1 0  0 2x2
0 −1 0
   
0 3/2 0 0 0 3
x = , f (x ) = 2.5, f (x ) = ,
1/2 1

     
1 5 5 1.0
I0 = {1}, A< =  −1 0  , b< =  0  , bb =  1.5  ,
0 −1 0 0.5

245
CAPÍTULO 10. MÉT. MINIMIZACIÓN CON RESTRICCIONES

   
  0.5 −0.5 −1
M= 1 1 , P = , d= ,
−0.5 0.5 1
 
4
db =  1  , λmax = 0.25, λ∗0 = 0.25.
−1

   
1 1.25 1 0 1 2.5
x = , f (x ) = 2.125, f (x ) = , I1 = {1, 2},
0.75 1.5
     
< −1 0 < 0 1.25
A = , b = , bb = ,
0 −1 0 0.75
     
1 1 0 0 0
M= , P = , d= ,
1 5 0 0 0
   
u1 −2.75  
w= = , M= 1 5 ,
u2 0.25
   
0.961538 −0.192308 −2.115385
P = , d= ,
−0.192308 0.038462 0.423077
 
2.115385
d=
b , λmax = 0.590909, λ∗1 = 0.5.
−0.423077

   
2 0.192308 2 0 2 0.384615
x = , f (x ) = 0.961538, f (x ) = , I2 = {2},
0.961538 1.923077
     
1 1 2 0.846154
A< =  −1 0  , b< =  0  , bb =  0.192308  ,
0 −1 0 0.961538

   
  0.961538 −0.192308 0
M= 1 5 , P = , d= ,
−0.192308 0.038462 0

   
w= u2 = −0.384615 , M =[ ],

246
10.2. MÉTODO DEL GRADIENTE PROYECTADO DE ROSEN

 
    −2.307692
rr1 0 −0.384615
P = , d= , db =  0.384615  ,
0 1 −1.923077
1.923077

λmax = 0.5, λ∗2 = 0.5.

   
0 0
x3 = , f (x3 ) = 0, f 0 (x2 ) = , I3 = {3, 4},
0 0
     
< 1 1 < 2 2
A = , b = , bb = ,
1 5 5 5
     
−1 0 0 0 0
M= , P = , d= ,
0 −1 0 0 0
   
u3 0
w= = .
u4 0
Luego el punto x3 = (0, 0) es un punto de KKT. 3

El método GP se puede modificar para usarlo en un problema general


de PNL

min f (x)
gi (x) ≤ 0, i = 1, ..., m
hj (x) = 0, j = 1, ..., l,

mediante algunos cambios o adaptaciones, aunque presenta o puede presen-


tar inconvenientes.
Las filas de la matriz M son los gradientes de las desigualdades activas
y de las igualdades

gi0 (xk )T , i ∈ I
 
M= .
h0j (xk )T , ∀j

El cálculo de P , dk y w se hace de la misma manera que en el problema


con restricciones lineales. Como las restricciones no son lineales, es posible

247
CAPÍTULO 10. MÉT. MINIMIZACIÓN CON RESTRICCIONES

que xk + λdk no sea admisible ni siquiera para valores muy pequeños de λ,


en consecuencia no se puede calcular λmax , entonces

λ∗k = argmin f (xk + λdk ), λ ≥ 0,


x̃k+1 = xk + λ∗k dk .

Es muy posible que x̃k+1 no sea admisible, entonces a partir de x̃k+1 se ob-
tiene un punto admisible xk+1 . Una manera de hacerlo consiste en minimizar
una función de penalización P (x), semejante a la utilizada en el capı́tulo 9,
sin embargo, no siempre funciona bien pues este minimizador puede resultar
peor que xk .
La parte de regresar a la región admisible es la más delicada de la
adaptación del método GP a restricciones no lineales.

EJERCICIOS
En los ejercicios 10.1 a 10.11 estudie el problema propuesto, averigüe
cuáles métodos puede usar, use algunos de ellos. Si es necesario obtenga
un problema equivalente al propuesto. Compare los resultados y la rapidez,
verifique si el punto obtenido es punto de KKT, minimizador, minimizador
global. Use también puntos iniciales diferentes al sugerido.

10.1 Minimizar f (x1 , x2 ) = x21 +2x22 −2x1 x2 −2x1 −6x2 sujeto a x1 +x2 ≤ 2,
−x1 + 2x2 ≤ 2, x ≥ 0, con x0 = (0, 0).
10.2 Minimizar f (x1 , x2 ) = (x1 − 3)2 + (x2 − 2)2 sujeto a x21 − x2 + 2 ≤ 0,
x1 ≥ 0, −x1 + 2 ≤ 0, con x0 = (0, 5/2).
10.3 Minimizar f (x1 , x2 ) = (x1 + x2 − 6)2 + (2x1 − x2 )2 sujeto a x1 + x2 = 1,
x ≥ 0, con x0 = (1, 0).
10.4 Minimizar f (x1 , x2 ) = 3x1 + 4x2 sujeto a x1 + 2x2 ≥ 2, x ≥ 0. a)
x0 = (2, 0); b) x0 = (0, 1).
10.5 Minimizar f (x1 , x2 ) = x1 + x2 sujeto a 2x1 + 3x2 ≥ 5, 2x1 + x2 ≥ 3,
x ≥ 0, con x0 = (2.5, 0).
10.6 Minimizar f (x1 , x2 ) = x1 + 2x2 sujeto a −x1 + x2 = 4, x2 ≥ 3, x ≥ 0,
con x0 = (0, 4).
10.7 Minimizar f (x1 , x2 ) = x21 + x22 sujeto a x1 + x2 ≥ 4, 2x1 + x2 ≥ 5,
x ≥ 0, con x0 = (4, 0).

248
10.2. MÉTODO DEL GRADIENTE PROYECTADO DE ROSEN

10.8 Minimizar f (x1 , x2 ) = (x1 + 1)2 + (x2 + 1)2 sujeto a x1 + x2 = 1, x ≥ 0,


con x0 = (1, 0).

10.9 Minimizar f (x1 , x2 , x3 ) = −x1 − x2 − x3 sujeto a x21 + x22 + x23 ≤ 1,


x1 − x2 + x3 = 0, x ≥ 0, con x0 = (0, 0, 0).

10.10 Minimizar f (x1 , x2 ) = x31 + x22 sujeto a x1 + x2 ≥ 4, 2x1 + x2 ≥ 5,


x ≥ 0, con x0 = (4, 0).

10.11 Minimizar f (x1 , x2 ) = −x1 − 1.4x2 sujeto a x1 + x2 ≤ 400, x1 + 2x2 ≤


580, x1 ≤ 300, x ≥ 0, con x0 = (300, 100).

249
CAPÍTULO 10. MÉT. MINIMIZACIÓN CON RESTRICCIONES

250
Capı́tulo 11

MÉTODOS DE PUNTO
INTERIOR

En este capı́tulo hay una presentación resumida de algunos métodos de punto


interior, MPI, para programación lineal, para complementariedad lineal y
para programación cuadrática convexa.
El método usual para resolver problemas de programación lineal, PL, es
el método simplex. Este método empieza en una solución básica factible, es
decir, un punto extremo o vértice del conjunto factible F = {x : Ax = b, x ≥
0}, y en cada iteración va obteniendo otro vértice mejor que el anterior.
En el simplex, el número de “flops”, operaciones de punto flotante, de
cada iteración es aproximadamente 2mn o 2m2 , dependiento de la variante
utilizada. En la mayorı́a de los casos, [Dan63], el número de iteraciones
no sobrepasa 3m, más aún, con frecuencia el número de iteraciones no so-
brepasa 3m/2. Luego para la mayorı́a de los problemas el método simplex
es polinomial. Un método se llama polinomial si el número de operaciones
está acotado superiormente por un polinomio en función del tamaño del
problema.
En 1972 Klee y Minty, [KlMn72], construyeron un ejemplo donde el
número de iteraciones es 2n . Ası́, en este caso artificial, el simplex es un
método exponencial. En resumen, en la mayorı́a de los casos el simplex es
polinomial, lo cual es bueno, pero en algunos casos puede ser exponencial,
situación muy mala.
Quedaba entonces la inquietud de construir un algoritmo que fuera poli-
nomial aún en el peor de los casos. En 1979 el matemático ruso L. G.
Kachian o Kachiyan propone un nuevo método polinomial para problemas
de PL basado en el método elipsoide pero desafortunadamente resultó menos

251
CAPÍTULO 11. MÉTODOS DE PUNTO INTERIOR

eficiente, en la práctica, que el simplex.


En 1984 Narendra Karmarkar, un matemático hindú, investigador de los
laboratorios AT&T Bell, publicó el artı́culo A New Polynomial-Time Algo-
rithm for Linear Programming [2], que marcó un hito en la Programación
Lineal (PL). A partir del trabajo de Karmarkar se reactivó la investigación
en PL, en especial en métodos de barrera y de punto interior (también para
Programación No Lineal).
Actualmente hay métodos de punto interior para PL más eficientes que
el método de Karmarkar, pero estos son consecuencia directa o indirecta del
método de Karmarkar o de la redinamización de la investigación en MPI
producida por su artı́culo.

11.0.1 Notación
En la literatura sobre MPI es usual utilizar la siguiente notación. Si x, s
son vectores en Rn ,

 
x1
 x2 
x = (x1 , x2 , . . . , xn ) =  .  ,
 
 .. 
xn
 
s1
 s2 
s = (s1 , s2 , . . . , sn ) =  .  ,
 
 .. 
sn

se denota con letras mayúsculas las matrices diagonales


   
x1 0 · · · 0 s1 0 · · · 0
 0 x2 0   0 s2 0
X= .  , S =  .. .
   
 .. .. ..
.  . . 
0 xn 0 sn
Además, e denota el vector de n unos:
 
1
1
e = (1, 1, . . . , 1) =  .  .
 
 .. 
1

252
11.1. SOLUCIÓN DE UN SISTEMA FRECUENTE

11.1 SOLUCIÓN DE UN SISTEMA


FRECUENTE
En muchos métodos de punto interior, en cada iteración se presenta un
sistema de ecuaciones semejante al siguiente:
    
0n×n AT In u f
 A 0m×m 0m×n   v  =  g 
S 0n×m X w h
donde A es una matriz m × n, m ≤ n, r(A) = m, X, S son matrices
diagonales positivas, u, w, f, h ∈ Rn×1 , v, g ∈ Rm×1 .
Obviamente este sistema, de tamaño (2n + m) × (2n + m), se podrı́a
resolver directamente por un método como el de Gauss o alguna de sus
modificaciones. Sin embargo, es más eficiente utilizar su estructura por
bloques. Este sistema se puede escribir

AT v + w = f, (11.1)
Au = g, (11.2)
Su + Xw = h. (11.3)

De (11.1) y (11.3)

w = f − AT v, (11.4)
−1
u = S (h − Xw). (11.5)

De (11.2) y (11.5)

Au − g = AS −1 (h − Xw) − g = 0,
AS −1 (h − X(f − AT v)) − g = 0,
AS −1 (h − Xf ) + AS −1 XAT v − g = 0,
AS −1 XAT v = g + AS −1 (Xf − h) (11.6)

El sistema (11.6) se puede resolver fácilmente para obtener v. Como A


es definida positiva, entonces se puede utilizar el método de Cholesky para
resolverlo. Si al tratar de obtener la factorización de Cholesky, ésta no se
puede conseguir, se puede concluir que r(A) < m o que las matrices X, S
no son positivas.

253
CAPÍTULO 11. MÉTODOS DE PUNTO INTERIOR

Utilizando (11.4) y (11.5) se obtiene el resto de la solución. En resumen:

resolver AS −1 XAT v = g + AS −1 (Xf − h), (11.7)


T
w = f − A v, (11.8)
−1
u = S (h − Xw). (11.9)

Para el caso particular


    
0n×n AT In u 0
 A 0m×m 0m×n   v  = 0 

S 0n×m X w h
los pasos a realizar son:

resolver AS −1 XAT v = −AS −1 h, (11.10)


T
w = −A v, (11.11)
−1
u = S (h − Xw). (11.12)

11.2 MÉTODOS DE PUNTO INTERIOR PARA


P.L.
El problema de PL que se va a resolver está en la forma estándar,

min cT x
Ax = b (11.13)
x ≥ 0,

donde A es una matriz m × n, m ≤ n, rango(A) = m, c es un vector


columna n × 1, b es un vector columna m × 1.
Los MPI trabajan con puntos interiores, es decir, puntos en F ◦ = {x :
Ax = b, x > 0}, interior relativo del conjunto factible F = {x : Ax = b, x ≥
0}.

11.2.1 Condiciones de optimalidad


Al aplicar condiciones de KKT para el problema (11.13) reescrito de la
siguiente manera,

254
11.2. MÉTODOS DE PUNTO INTERIOR PARA P.L.

min cT x
−x ≤ 0
Ax − b = 0,

se obtiene

f 0 (x) + g 0 (x)u + h0 (x)v = c − Iu + AT v = 0,


u ≥ 0,
T T
u g(x) = u (−x) = 0.

Si se cambia u por s y v por −y, se obtiene

AT y + s − c = 0,
s ≥ 0,
T
s x = 0.

Las dos primeras condiciones son simplemente las condiciones de factibilidad


para el problema dual del problema (11.13).
Dado que x ≥ 0 y s ≥ 0, entonces sT x es equivalente a xi si = 0 ∀i. Esto
último se puede escribir

XSe = 0.
En resumen, las condiciones de factibilidad primal y las condiciones de KKT
dan:

Ax − b = 0, x ≥ 0 (11.14a)
T
A y + s − c = 0, s ≥ 0 (11.14b)
XSe = 0. (11.14c)

La primera lı́nea muestra simplemente las condiciones de factibilidad


primal. La segunda da las condiciones de factibildad dual. La última igual-
dad recibe el nombre de condiciones de complementariedad (xi si = 0, ∀i).
Reordenando y relajando ligeramente las condiciones de no negatividad se
obtiene

255
CAPÍTULO 11. MÉTODOS DE PUNTO INTERIOR

AT y + s − c = 0,
Ax − b = 0,
(11.15)
XSe = 0,
(x, s) > 0.

La pareja (x, s) denota simplemente el vector de R2n


 
x1
 .. 
 . 
 
xn 
(x, s) = (x1 , x2 , ..., xn , s1 , s2 , ..., sn ) =  
 s1 
 
 .. 
 . 
sn

11.3 MÉTODO PRIMAL-DUAL AFÍN


FACTIBLE
Definiendo una función Φ : R2n+m → R2n+m , las condiciones de optimalidad
para PL se pueden escribir de manera simplificada:

Φ(ξ) = Φ(x, y, s) = 0, (x, s) > 0.


Al anterior problema se le aplica el método de Newton con algunas modifi-
caciones. El esquema del método de Newton para Φ(ξ) = 0, es simplemente

resolver Φ0 (ξ k ) ∆ξ = −Φ(ξ k ),
ξ k+1 = ξ k + ∆ξ,

donde Φ0 (ξ) es la matriz jacobiana de Φ. De manera explı́cita


 
0 AT I
Φ0 (x, y, s) = A 0 0.
S 0 X

En los métodos de punto interior todos los puntos (xk , y k , sk ), inclusive


(x0 , y 0 , s0 ),
deben cumplir

256
11.3. MÉTODO PRIMAL-DUAL AFÍN FACTIBLE

(xk , sk ) > 0.
La aplicación directa del método de Newton ξ k+1 = ξ k + ∆ξ harı́a, muy
posiblemente, que no se cumpla la condición de positividad. Este inconve-
niente se obvia haciendo

ξ k+1 = ξ k + tk ∆ξ,
tk = η tmax ,
tmax = tmax ((x , s ), (∆x, ∆s)) = max{t : ξ k + t∆ξ ≥ 0},
k k

0 < η < 1.

Usualmente η varı́a en el intervalo [0.95, 0.999]. El valor máximo se


puede calcular explı́citamnte de la siguiente manera. Sean u ∈ Rp , u > 0,
d ∈ Rp ,


∞ si d ≥ 0,
tmax = tmax (u, d) = ui (11.16)
min{ : di < 0} si d  0.
−di

El valor tmax es el que hace exactamente que ξ k + tmax ∆ξ quede en la


frontera. Al utilizar tk = η tmax se obtiene un punto interior.
Las siguientes notaciones ayudan a hacer más compacta la escritura de
las fórmulas y de los algoritmos.
Residuo primal:

rpk = Axk − b. (11.17)


Residuo dual:

rdk = AT y k + sk − c. (11.18)
Residuo de complementariedad:

rck = Xk Sk e. (11.19)
Aquı́, Xk indica la matriz diagonal obtenida a partir de xk .
Conjunto factible para las condiciones de factibilidad primal y dual:

FP D = {(x, y, s) : Ax = b, AT y + s = c, (x, s) ≥ 0}.

257
CAPÍTULO 11. MÉTODOS DE PUNTO INTERIOR

Su interior relativo:

FP◦ D = {(x, y, s) : Ax = b, AT y + s = c, (x, s) > 0}.


Medidas relativas de los residuos:

krp k
ρp = ,
1 + kbk
krd k
ρd = , (11.20)
1 + kck
krc k
ρc = .
1 + kxk
Una tripla (x, y, s) tal que (x, s) ≥ 0 es factible si y solamente si rp = 0
y rd = 0, o lo que es lo mismo, si y solamente si ρp = 0 y ρd = 0.
Una tripla (x, y, s) factible es óptima si y solamente si rc = 0. Una tripla
en FP◦ D es aproximadamente óptima si ρc ≤ εc para un εc positivo y pequeño
dado.
Sea (xk , y k , sk ) tal que (xk , sk ) > 0. El sistema Φ0 (ξ k ) ∆ξ = −Φ(ξ k )
expresado en x, y, s da:
     k
0 AT I ∆x −rd
A 0 0   ∆y = −rpk  .
  (11.21)
Sk 0 Xk ∆s −rck
Si (xk , y k , sk ) ∈ FP◦ D , el sistema se simplifica a
    
0 AT I ∆x 0
A 0 0  ∆y  =  0  . (11.22)
Sk 0 Xk ∆s −rck
Según lo visto en la primera sección de este capı́tulo, el sistema se resuelve
aprovechando su estructura por bloques. Las ecuaciones (11.10), (11.11) y
(11.12) se convierten en:

resolver AS −1 XAT ∆y = AS −1 rc , (11.23)


T
∆s = −A ∆y, (11.24)
−1
∆x = −S (rc + X∆s). (11.25)
Como su nombre lo indica, el método primal dual afı́n factible parte de un
punto factible (x0 , y 0 , s0 ) ∈ FP◦ D . En cada iteración se calcula (∆x, ∆y, ∆s),
luego se calcula tmax y tk . Finalmente se construye el nuevo punto.

258
11.3. MÉTODO PRIMAL-DUAL AFÍN FACTIBLE

MÉTODO PRIMAL-DUAL AFÍN FACTIBLE


datos: (x0 , y 0 , s0 ) ∈ FP◦ D , εc , MAXIT, η ∈ [0.95, 0.99]
para k = 0, ..., MAXIT
calcular ρkc
si ρkc ≤ εc ent parar
(∆x, ∆y, ∆s) solución de (11.22)
tmax = tmax ((xk , sk ), (∆x, ∆s))
tk = min(1, η tmax )
(xk+1 , y k+1 , sk+1 ) = (xk , y k , sk ) + tk (∆x, ∆y, ∆s)
fin-para

Como los problemas primal y dual tienen puntos factibles, entonces no se


puede presentar el caso de óptimo no acotado, luego no se presenta tampoco
tmax = ∞. Cerca de la solución algunas componentes de x son casi nulas,
entonces la matriz AS −1 XAT puede ser, numéricamente, casi singular o mal
condicionada. Es necesario prever esta posible terminación no deseada del
proceso, en el cálculo de (∆x, ∆y, ∆s).
Dada una norma matricial || || en Rn×n se define el número de condición
o condicionamiento de una matriz A, cuadrada e invertible

κ(A) = ||A|| ||A−1 ||.


El condicionamiento siempre es mayor o igual a 1. Una matriz cuadrada
es mal condicionada si su condicionamiento es grande. Es bien condicionada
si el condicionamiento es cercano a 1.

Ejemplo 11.1. Aplicar el método primal-dual afı́n factible al siguiente prob-


lema

min −x1 −1.4x2


x1 +x2 +x3 ≤ 4
x1 +2x2 +x4 ≤ 5.8
x1 +x5 ≤ 3
x≥ 0
con x0 = (1, 1, 2, 2.8, 2), y 0 = (−0.3, −0.6, −0.3), s0 = (0.2, 0.1, 0.3, 0.6,
0.3), η = 0.99.
Después de verificar que (x0 , y 0 , s0 ) ∈ FP◦ D , se calcula

rc = (0.2, 0.1, 0.6, 1.68, 0.6),

259
CAPÍTULO 11. MÉTODOS DE PUNTO INTERIOR

||rc || = 1.8954,
ρc = 0.3628.

Como todavı́a no se tiene el óptimo, se resuelve el sistema (11.22). El primer


paso consiste en resolver AS −1 XAT ∆y = AS −1 rc :

   
21.6667 25.0000 5.0000 4.0000
AS −1 XAT =  25.0000 49.6667 5.0000  , AS −1 rc =  5.8000  .
5.0000 5.0000 11.6667 3.0000

Entonces

∆y = (0.0637, 0.0644, 0.2023).

La dirección en s es simplemente ∆s = −AT ∆y :

∆s = (−0.3303, −0.1924, −0.0637, −0.0644, −0.2023).

Para la dirección en x, ∆x = −S −1 (rc + X∆s),


   
−0.1303 0.6515
 −0.0924   0.9240 
   
rc + X∆s =  0.4727  , ∆x =   −1.5756  .
  
 1.4998   −2.4996 
0.1955 −0.6515
Cálculo del tamaño del paso:

tmax = 0.5197,
tk = 0.5145.

El nuevo punto (x, y, s):

x1 = (1.3352, 1.4755, 1.1893, 1.5138, 1.6648),


y 1 = (−0.2672, −0.5669, −0.1959),

260
11.3. MÉTODO PRIMAL-DUAL AFÍN FACTIBLE

s1 = (0.0300, 0.0010, 0.2672, 0.5669, 0.1959).

rc = (0.0401, 0.0015, 0.3178, 0.8582, 0.3262),


||rc || = 0.9723,
ρc = 0.2298.

Las direcciones:

∆x = (1.1043, 0.1885, −1.2928, −1.4813, −1.1043),


∆y = (−0.0233, 0.0122, 0.0660),
∆s = (−0.0549, −0.0011, 0.0233, −0.0122, −0.0660).

Cálculo del tamaño del paso:

tmax = 0.5473,
tk = 0.5419.

El nuevo punto (x, y, s):

x2 = (1.9336, 1.5776, 0.4888, 0.7112, 1.0664),


y 2 = (−0.2798, −0.5603, −0.1602),
s2 = (0.0003, 0.0004, 0.2798, 0.5603, 0.1602).

k ρc x1 x2 x3 x4 x5
2 0.1181 2.4410 1.5541 0.0049 0.2508 0.5590
3 0.0373 2.3579 1.6421 0.0000 0.1580 0.6421
4 0.0187 2.2437 1.7563 0.0000 0.0437 0.7563
5 0.0044 2.2028 1.7972 0.0000 0.0028 0.7972
6 0.0003 2.2000 1.8000 0.0000 0.0000 0.8000
7 0.0000

261
CAPÍTULO 11. MÉTODOS DE PUNTO INTERIOR

11.4 TRAYECTORIA CENTRAL


En la práctica los métodos afines no son muy eficentes. Generalmente en
las primeras iteraciones se obtienen puntos muy cercanos a la frontera pero
alejados de la solución. En estos puntos el avance hacia el punto óptimo es
lento.
Los métodos más eficientes buscan que los puntos no se alejen de la
trayectoria central. Ésta se define a continuación.
Sean τ > 0 y (x(τ ), y(τ ), s(τ )) solución del siguiente sistema:

AT y + s − c = 0, (11.26a)
Ax − b = 0, (11.26b)
XSe − τ e = 0, (11.26c)
(x, s) > 0. (11.26d)

Se puede demostrar que (x(τ ), y(τ ), s(τ )) está definido de manera única
para τ > 0 si y solamente si FP◦ D 6= ∅. Bajo esta condición se define la
trayectoria central como el conjunto de todas estas triplas para τ > 0,

C = {(x(τ ), y(τ ), s(τ )) : τ > 0}.


Es claro que

C ⊂ FP◦ D ,
lim = x∗ .
τ →0+

En la definición de (x(τ ), y(τ ), s(τ )) únicamente en la tercera igualdad


hay un cambio con respecto a las condiciones de optimalidad (11.15) para
el problema (11.13).
Ejemplo 11.2. Considere el problema

min −x1 − 1.4x2


x1 + x2 ≤ 4
x1 + 2x2 ≤ 5.8
x1 ≤3
x ≥ 0.

262
11.4. TRAYECTORIA CENTRAL

Al introducir variables de holgura se tiene exactamente el problema en la


forma estándar del ejemplo 11.1. A continuación hay dos ejemplos de puntos
de la trayectoria central.

τ = 1,
x = (1.0913, 1.5758, 1.3329, 1.5572, 1.9087),
y = (−0.7502, −0.6422, −0.5239),
s = (0.9163, 0.6346, 0.7502, 0.6422, 0.5239).

τ = 0.01,
x = (2.1896, 1.7931, 0.0173, 0.0242, 0.8104),
y = (−0.5789, −0.4134, −0.0123),
s = (0.0046, 0.0056, 0.5789, 0.4134, 0.0123).

Si se toman todos los puntos de la trayectoria central del problema (en la


forma estándar) y se consideran únicamente las dos primeras componentes
de x, o sea x1 , x2 , es decir, las variables del problema original (sin variables
de holgura) se tiene la Figura 11.1.

.....
.......
....
...
...
(0, 2.9) ..............
... ...........
... .......
.......
... .......
.......
... .......
... .......
.......
... .......
... .......
.......
... .......
.......
... .......
... ...
.
. .... .... ................
... . ...
...
... ...
....
(2.2, 1.8)
.... .........
.....
.....
.....
... ... .....
... ... .....
.....
... .
.. .....
... .....
.....
... ... .....
... . .....
...
...
.
..
..
(3, 1)...
....
... ...
... ...
... ...
... ...
... ...
... ...
... ...
... ...
. .
................................................................................................................................................................................................................................
.
....
..
....
(3, 0)
...
.

Figura 11.1

La mayorı́a de los métodos eficientes buscan obtener puntos que no se


alejen de C. Para esto se definen vecindades de C donde deben permanecer

263
CAPÍTULO 11. MÉTODOS DE PUNTO INTERIOR

los puntos. Hay varias estrategias, por ejemplo, las de pasos cortos y las de
pasos largos. A su vez, hay varias subestrategias.
Es usual utilizar la siguiente medida de dualidad

xT s
µ= . (11.27)
n
Esta medida de dualidad está relacionada con el salto o brecha dual (dual
gap), ya que si (x, y, s) ∈ FP D , entonces se comprueba fácilmente que

xT s = cT x − bT y.
Por teorı́a de dualidad para PL se sabe que si x es factible para el prob-
lema primal y y es factible para el dual, entonces x, y son óptimos si
cT x − bT y = 0. Esto se puede reescribir ası́: (x, y, s) ∈ FP◦ D es aproximada-
mente la solución si µ ≤ ε.
Un ejemplo tı́pico de un teorema de complejidad para un algoritmo de
punto interior es el presentado en [NoWr99], que simplificado dice: Sean
ε > 0, (x0 , y 0 , s0 ) ∈ FP◦ D en una vecindad adecuada de C. Entonces existe
K, con K = O(n log(1/ε)), tal que

µk ≤ ε, para todo k ≥ K.

11.5 MÉTODO PREDICTOR-CORRECTOR DE


MEHROTRA
La mayorı́a de los programas eficicientes para problemas de PL de tipo
general están basados en el algoritmo de Mehrotra. En este algoritmo no es
necesario que (x0 , y 0 , s0 ) ∈ FP◦ D . Simplemente se necesita que x0 > 0 y que
s0 > 0. Obviamente si además se tiene factibilidad, pues mucho mejor.
En cada iteración del método de Mehrotra se calculan dos triplas de
direcciones, una afı́n o predictora (∆xa , ∆y a , ∆sa ) y una de corrección
y centrado (∆xc , ∆y c , ∆sc ). Con ellas se construye la dirección de cada
iteración (∆x, ∆y, ∆s).
Para no recargar la notación, en la iteración k, no se utilizará el su-
perı́ndice k, o sea en lugar de utilizar (xk , y k , sk ), se utilizará simplemente
(x, y, s).
El proceso acaba cuando se tiene un punto factible, (x, y, s) ∈ FP◦ D , tal
que XSe ≈ 0. El método garantiza que siempre, en cualquier iteración,
(x, s) > 0. Para decidir sobre la optimalidad se utilizan los residuos pri-
mal, dual y de complementariedad. Entonces el proceso termina cuando,

264
11.5. MÉTODO PREDICTOR-CORRECTOR DE MEHROTRA

dados εp , εd , εc valores positivos pequeños, se cumplen las tres condiciones


siguientes:

ρ p ≤ εp ,
ρd ≤ εd , (11.28)
ρ c ≤ εc .

La tercera condición se puede remplazar por

µ ≤ εµ .
Las direcciones afines se calculan mediante la solución de

∆xa
    
0 AT I −rd
 A 0 0   ∆y a  =  −rp  . (11.29)
S 0 X ∆sa −rc
Con estas direcciones se calculan los pasos afines primal y dual:

tap = min{1, tmax (x, ∆xa )},


(11.30)
tad = min{1, tmax (s, ∆sa )}.

El calculo de µa ( µ afı́n) se hace con lo que serı́an los “puntos afines”.


Con este valor se obtiene σ:

(x + tap ∆xa )T (s + tad ∆sa )


µa = , (11.31)
n
 a 3
µ
σ = . (11.32)
µ
Esto permite calcular lo que serı́a el residuo de complementariedad para
la corrección y centrado:

rcc = −σµ e + ∆X a ∆S a e. (11.33)

El cálculo de las direcciones de corrección y centrado se hace resolviendo


el siguiente sistema. Como la matriz de coeficientes es la misma, no se
requiere volver a hacer la factorización de Cholesky de AS −1 XAT , que es la
parte más demorada de cada iteración.

265
CAPÍTULO 11. MÉTODOS DE PUNTO INTERIOR

∆xc
    
0 AT I 0
 A 0 0   ∆y c  =  0  . (11.34)
S 0 X ∆sc −rcc
La dirección definitiva es la suma de las dos:

(∆x, ∆y, ∆s) = (∆xa , ∆y a , ∆sa ) + (∆xc , ∆y c , ∆sc ). (11.35)

Los pasos definitivos primal y dual están dados por

tp = min{1, η tmax (x, ∆x)},


(11.36)
td = min{1, η tmax (s, ∆s)},

donde η ∈ [0.9, 0.995] sirve para garantizar que (xk+1 , sk+1 ) > 0.
Finalmente se calcula el siguiente punto:

xk+1 = x + tp ∆x,
(11.37)
(y k+1 , sk+1 ) = (y, s) + td (∆y, ∆s).

ALGORITMO DE MEHROTRA PARA P.L.


datos: c, A, b, (x0 , y 0 , s0 ), (x0 , s0 ) > 0,
εp , εd , εc , MAXIT
(x, y, s) = (x0 , y 0 , s0 )
para k = 0, .., MAXIT
calcular rp , rd , rc
calcular ρp , ρd , ρc
si ρp ≤ εp y ρd ≤ εd y ρc ≤ εc ent parar
calcular (∆xa , ∆y a , ∆sa ) resolviendo (11.29)
calcular tap , tad
calcular µa , σ
calcular (∆xc , ∆y c , ∆sc ) resolviendo (11.34)
(∆x, ∆y, ∆s) = (∆xa , ∆y a , ∆sa ) + (∆xc , ∆y c , ∆sc )
calcular tp , td
construir (xk+1 , y k+1 , sk+1 )
fin-para k

Ejemplo 11.3. Aplicar el método de Mehrotra al siguiente problema

266
11.5. MÉTODO PREDICTOR-CORRECTOR DE MEHROTRA

min −x1 −1.4x2


x1 +x2 +x3 ≤ 4
x1 +2x2 +x4 ≤ 5.8
x1 +x5 ≤ 3
x≥ 0
con x0 = (1.2, 1.2, 1.2, 1.2, 1.2), y 0 = (−1, −1, −1), s0 = (0.5, 0.5, 0.5,
0.5, 0.5), η = 0.99.
El cálculo de los residuos da:

 T
rp = −0.4000 −1.0000 −0.6000 ,
 T
rd = −1.5000 −1.1000 −0.5000 −0.5000 −0.5000 ,
 T
rc = 0.6000 0.6000 0.6000 0.6000 0.6000 .

Además,

ρp = 0.1424, ρd = 0.7542, ρc 0.3643, µ = 0.6000.


Entonces el proceso continúa con el cálculo de las direcciones afines:

T
∆xa = 0.6080 0.6560 −0.8640 −0.9200 −0.0080 ,

T
∆y a = 0.6400 0.6167 0.9967 ,

T
∆sa = −0.7533 −0.7733 −0.1400 −0.1167 −0.4967 .


Longitudes de paso para las direcciones afines:

tap = 1.0000, tad = 0.6466

T
x + tap ∆xa = 1.8080 1.8560 0.3360 0.2800 1.1920 ,

T
s + tad ∆sa = 0.0129 0.0000 0.4095 0.4246 0.1789 ,


µa = 0.0986, σ = 0.0044.
El residuo de complementariedad para corrección y centrado:
T
rcc = −0.4607 −0.5100 0.1183 0.1047 0.0013 .


267
CAPÍTULO 11. MÉTODOS DE PUNTO INTERIOR

Las direcciones de centrado:

T
∆xc = 0.2129 0.1727 −0.3857 −0.5584 −0.2129 ,

T
∆y c = −0.0621 −0.1454 −0.0876 ,

T
∆sc = 0.2952 0.3530 0.0621 0.1454 0.0876 .


Las direcciones definitivas:

 T
∆x = 0.8209 0.8287 −1.2497 −1.4784 −0.2209 ,
 T
∆y = 0.5779 0.4712 0.9090 ,
 T
∆s = −0.4581 −0.4203 −0.0779 0.0288 −0.4090 .

Las longitudes de paso finales:

tmax (x, ∆x) = 0.8117,


tmax (s, ∆s) = 1.0914,
tp = 0.8036,
td = 1.0000

Los nuevos puntos:

T
x1 = 1.8597 1.8659 0.1958 0.0120 1.0225 ,

T
y 1 = −0.4221 −0.5288 −0.0910 ,

T
s1 = 0.0419 0.0797 0.4221 0.5288 0.0910 .


k ρp ρd µ x1 x2 x3 x4 x5
1 0.0280 0.0000 0.0817 2.2039 1.7847 0.0020 0.0031 0.7820
2 0.0034 0.0000 0.0035 2.2000 1.7998 0.0000 0.0000 0.7998
3 0.0000 0.0000 0.0000 2.2000 1.8000 0.0000 0.0000 0.8000
4 0.0000 0.0000 0.0000

11.6 COMPLEMENTARIEDAD LINEAL


Sean M una matriz cuadrada de orden n y q ∈ Rn . El problema de comple-
mentariedad lineal consiste en encontrar x y s en Rn tales que

268
11.6. COMPLEMENTARIEDAD LINEAL

M x + q = s, (11.38a)
(x, s) ≥ 0, (11.38b)
T
x s = 0. (11.38c)

Dado que (x, s) ≥ 0, entonces xT s = 0 es equivalente a xi si = 0 ∀i. Si


se exige que M sea definida positiva se tiene un problema de complemen-
tariedad lineal monótona. En este libro se supondrá que se cumple esta
última condición.
De manera semejante a PL, las condiciones (11.38) se puede reescribir
como Φ(ξ) = 0, ξ ≥ 0.
 
Mx − s + q
= 0, (x, s) ≥ 0. (11.39)
XSe

La mayorı́a de los conceptos y métodos de punto interior para PL se


pueden adaptar para CL, por ejemplo, el conjunto factible y su interior
relativo

FCL = F = {(x, s) : M x + q = s, (x, s) ≥ 0},



FCL = F ◦ = {(x, s) : M x + q = s, (x, s) > 0}.

La trayectoria central es el conjunto de puntos que satisfacen

M x − s + q = 0,
XSe − τ e = 0,
(x, s) ≥ 0,

para τ > 0.
El método de Mehrotra para PL se puede adaptar para CL, algunas pa-
sos y variables son exactamente los mismos. Otros son simplemente adapta-
ciones.
El residuo del sistema lineal, el residuo de complementariedad, los valores
ρ, el valor µ,

269
CAPÍTULO 11. MÉTODOS DE PUNTO INTERIOR

rL = M x − s + q,
rc = XSe,
||rL ||
ρL = ,
1 + ||q|| (11.40)
||rc ||
ρc = ,
1 + ||x||
xT s
µ= ·
n
Las direcciones afines:

   a  
M −I ∆x −rL
= . (11.41)
S X ∆sa −rc

Los tamaños de paso afines:

tax = min{1, tmax (x, ∆xa )},


(11.42)
tas = min{1, tmax (s, ∆sa )}.

Los valores µa ( µ afı́n) y σ:

(x + tax ∆xa )T (s + tas ∆sa )


µa = ,
n
 a 3 (11.43)
µ
σ= .
µ
El residuo de complementariedad para la corrección y centrado:

rcc = −σµ e + ∆X a ∆S a e.
Las direcciones de centrado:

   c  
M −I ∆x 0
= . (11.44)
S X ∆sc −rcc

La dirección definitiva es la suma de las dos:

(∆x, ∆s) = (∆xa , ∆sa ) + (∆xc , ∆sc ). (11.45)

270
11.7. PROGRAMACIÓN CUADRÁTICA CONVEXA

Las longitudes definitivas:

tx = min{1, η tmax (x, ∆x)},


(11.46)
ts = min{1, η tmax (s, ∆s)}.

Los puntos para la iteracion siguiente:

xk+1 = xk + tx ∆x,
(11.47)
sk+1 = sk + ts ∆s.

ALGORITMO DE MEHROTRA PARA C.L.


datos: M, q, (x0 , s0 ) > 0, εL , εc , MAXIT
(x, s) = (x0 , s0 )
para k = 0, .., MAXIT
calcular rL , rc
calcular ρL , ρc
si ρL ≤ εL y ρc ≤ εc ent parar
calcular (∆xa , ∆sa )
calcular tax , tas
calcular µa , σ
calcular (∆xc , ∆sc )
(∆x, ∆s) = (∆xa , ∆sa ) + (∆xc , ∆sc )
calcular tx , ts
construir (xk+1 , sk+1 )
fin-para k

11.7 PROGRAMACIÓN CUADRÁTICA


CONVEXA
Los problemas de programación cuadrática se pueden expresar de varias
maneras, una de ellas toma las restricciones lineales en la forma estándar:

1
min f (x) = xT Hx + cT x
2
Ax = b (11.48)
x ≥ 0,

271
CAPÍTULO 11. MÉTODOS DE PUNTO INTERIOR

donde H es una matriz simétrica n × n, c es un vector columna n × 1, A es


una matriz m × n, m ≤ n, rango(A) = m, b es un vector columna m × 1.
En el caso convexo H es semidefinida positiva. La convexidad estricta de f
se tiene si y solamente si H es definida positiva. En este caso, si el conjunto
factible no es vacı́o, entonces la solución existe y es única. En esta sección
se supondrá que H es semidefinida positiva.
Al aplicar condiciones de optimalidad (incluyendo factibilidad) se tiene:

Ax − b = 0, x ≥ 0,
Hx + c − Iu + AT v = 0, u ≥ 0,
uT x = 0.

Si se cambia u por s y v por −y y se reescribe, se obtiene

−Hx + AT y + s − c = 0,
Ax − b = 0,
(11.49)
XSe = 0,
(x, s) ≥ 0.

Estas condiciones son muy parecidas a las condiciones para PL. Entonces,
de manera natural, se pueden adaptar los métodos de punto interior. Por
ejemplo para el método de Mehrotra las fórmulas son:

xT s
µ= ,
n
rp = Ax − b,
rd = −Hx + AT y + s − c, (11.50)
rc = XSe,
krp k
ρp = ,
1 + kbk
krd k
ρd = ,
1 + kck
krc k
ρc = .
1 + kxk

Las direcciones afines:

272
11.7. PROGRAMACIÓN CUADRÁTICA CONVEXA

∆xa
    
−H AT I −rd
 A 0 0   ∆y a  =  −rp  . (11.51)
S 0 X ∆sa −rc
Los pasos afines primal y dual:

tap = min{1, tmax (x, ∆xa )},


tad = min{1, tmax (s, ∆sa )}.

Calculo de µa ( µ afı́n) y σ:

(x + tap ∆xa )T (s + tad ∆sa )


µa = ,
n
 a 3
µ
σ= .
µ

Residuo de complementariedad para la corrección y centrado:

rcc = −σµ e + ∆X a ∆S a e.
Las direcciones de corrección y centrado:

∆xc
    
−H AT I 0
 A 0 0   ∆y c  =  0 . (11.52)
S 0 X ∆s c −rcc
La dirección definitiva:

(∆x, ∆y, ∆s) = (∆xa , ∆y a , ∆sa ) + (∆xc , ∆y c , ∆sc ).


Los pasos definitivos primal y dual:

tp = min{1, η tmax (x, ∆x)},


td = min{1, η tmax (s, ∆s)},

donde η ∈ [0.9, 0.995]. Finalmente el siguiente punto:

xk+1 = x + tp ∆x,
(y k+1 , sk+1 ) = (y, s) + td (∆y, ∆s).

273
CAPÍTULO 11. MÉTODOS DE PUNTO INTERIOR

ALGORITMO DE MEHROTRA PARA P.C.C.


datos: H, c, A, b, (x0 , y 0 , s0 ), (x0 , s0 ) > 0,
εp , εd , εc , MAXIT
(x, y, s) = (x0 , y 0 , s0 )
para k = 0, .., MAXIT
calcular rp , rd , rc según (11.50)
calcular ρp , ρd , ρc
si ρp ≤ εp y ρd ≤ εd y ρc ≤ εc ent parar
calcular (∆xa , ∆y a , ∆sa ) resolviendo (11.51)
calcular tap , tad
calcular µa , σ
calcular (∆xc , ∆y c , ∆sc ) resolviendo (11.52)
(∆x, ∆y, ∆s) = (∆xa , ∆y a , ∆sa ) + (∆xc , ∆y c , ∆sc )
calcular tp , td
construir (xk+1 , y k+1 , sk+1 )
fin-para k
Ejemplo 11.4. Utilizar el método de punto interior descrito anteriormente
para el problema:

min f (x1 , x2 ) = x21 + x22


x1 + x2 ≤2
x1 + 5x2 ≤5
x ≥ 0.
Para poder resolver este problema se necesita convertir las restricciones en
la forma estándar. Entonces introduciendo variables de holgura:

min f (x1 , x2 , x3 , x4 ) = x21 + x22


x1 + x2 + x3 = 2
x1 + 5x2 + x4 = 5
x ≥ 0.

   
2 0 0 0 0    
 0 2 0 0  0 
, A = 1 1 1 0 , b = 2 .

H=
 0
, c = 
0 0 0   0  1 5 0 1 5
0 0 0 0 0

274
11.7. PROGRAMACIÓN CUADRÁTICA CONVEXA

Utilicemos x0 = (1, 1, 1, 1), y 0 = (0, 0), s0 = (2, 2, 2, 2).


   
  0 2
1  0   2 
rp = , rd = 
 2  , rc =  2
  
2 
2 2

ρp = 0.3502, ρd = 2.8284, ρc = 1.3333, µ = 2.0000

   
−0.5263   −0.9474
−0.3158 −0.3158 −1.3684
∆xa =  a
, ∆sa = 
   
 −0.1579  , ∆y =
 
0.2105  −1.6842 
0.1053 −2.2105

   
0.4737 1.1429
0.6842  0.7619
tap = 1, tad = 0.9048, x + tap ∆xa =  a a
   
 0.8421  , s + td ∆s =  0.4762
 

1.1053 0.0000

 
0.4864
 0.4199 
µaf = 0.3659, σ = 0.0061, rcc = 
 0.2537 

−0.2449

   
−0.0331   −0.4202
−0.0177  0.3553  −0.3844
∆xc =  c c
   
 0.0508  , ∆y = −0.0013 , ∆s =  −0.3553


0.1218 0.0013

   
−0.5594   −1.3676
 −0.3335  0.0395  −1.7528 
∆x = 
 −0.1071  , ∆y = 0.2092 , ∆s = 
  
−2.0395 
0.2271 −2.2092

tpmax = 1.7876, tdmax = 0.9053, tp = 1.0000, td = 0.8962

275
CAPÍTULO 11. MÉTODOS DE PUNTO INTERIOR

   
0.4406   0.7743
0.6665 0.0354 0.4291
x1 =  1 1
   
 0.8929  , y = 0.1875 , s =  0.1721
  

1.2271 0.0200

   
  0.1161 0.3412
−0.0000  0.0692   0.2860 
rp = , rd = 
 0.2075  , rc =  0.1537
  
0.0000 
0.2075 0.0245

ρp = 0.0000, ρd = 0.3231, ρc = 0.1737, µ = 0.2013

   
−0.1949   −0.4318
−0.3944 0.0781  −0.1751
∆xa =  a a
   
 0.5893  , ∆y = −0.1522 , ∆s =  −0.2857
 

2.1670 −0.0553

   
0.2457 0.6182
0.2720 0.3657
tap = 1, tad = 0.3615, x + tap ∆xa =  a a
   
 1.4822  , s + td ∆s =  0.0688
  

3.3941 0.0000
 
0.0671
 0.0521 
µaf = 0.0883, σ = 0.0845, rcc =  
 −0.1854 
−0.1369

   
−0.1015   0.0260
−0.2514 −0.1396  0.0837
∆xc =  c c
   
 0.3529  , ∆y = −0.0894 , ∆s =  0.1396
 

1.3587 0.0894

   
−0.2964   −0.4058
 −0.6458  −0.0614  −0.0914 
∆x = 
  , ∆y = , ∆s =  
0.9422  −0.2416  −0.1461 
3.5256 0.0341

276
11.7. PROGRAMACIÓN CUADRÁTICA CONVEXA

tpmax = 1.0319, tdmax = 1.1779, tp = 1.0000, td = 1.0000


   
0.1442   0.3685
0.0206 −0.0260 0.3377
x2 =  2 2
   
 1.8352  , y = −0.0541 , s =  0.0260
  

4.7527 0.0541

k ρp ρd µ x1 x2 x3 x4
2 0.0000 0.0000 0.0912 0.0611 0.0169 1.9219 4.8543
3 0.0000 0.0034 0.0032 0.0234 0.0070 1.9697 4.9419
4 0.0000 0.0008 0.0003 0.0089 0.0028 1.9883 4.9772
5 0.0000 0.0000 0.0000 0.0034 0.0011 1.9955 4.9911
6 0.0000 0.0000 0.0000 0.0013 0.0004 1.9983 4.9966
7 0.0000 0.0000 0.0000 0.0005 0.0002 1.9994 4.9987
8 0.0000 0.0000 0.0000 0.0002 0.0001 1.9998 4.9995
9 0.0000 0.0000 0.0000 0.0001 0.0000 1.9999 4.9998
10 0.0000 0.0000 0.0000

EJERCICIOS

11.1 Considere el siguiente problema de PL:

min z = 3x1 + 4x2


x1 + 2x2 ≥ 4
5x1 + 2x2 ≥ 12
x ≥ 0.

Llévelo a la forma estándar. A partir de x1 = 3, x2 = 3, y1 = 0.2,


y2 = 0.2 construya x0 , y 0 , s0 y utilice el método primal-dual afı́n
factible.
11.2 Aplique el método de Mehrotra al siguiente problema:

min z = 10x1 + 3x2


x1 + 2x2 − x3 = 4
5x1 + 2x2 − x4 = 12
x≥ 0.

277
CAPÍTULO 11. MÉTODOS DE PUNTO INTERIOR

11.3 Aplique el método de Mehrotra al siguiente problema

min z = 10x1 + 4x2


x1 + 2x2 − x3 = 4
5x1 + 2x2 − x4 = 12
x≥ 0,

partiendo de x0 = (1, 1, 1, 1), y 0 = (0, 0), s0 = (1, 1, 1, 1). Compare


con la solución obtenida con el simplex.

11.4 Escoja un problema de PL tal que el valor de la función objetivo no


esté acotado inferiormente (su dual no tiene solución). Observe lo que
pasa al aplicar el método de Mehrotra.

11.5 Escoja un problema de PL que no tenga solución y que su dual tam-


poco tenga solución. Observe lo que pasa al aplicar el método de
Mehrotra.

11.6 Resuelva el siguiente problema:

min f (x1 , x2 ) = (x1 − 7)2 + (x2 − 7)2


x1 + x2 ≤ 10
x1 ≥ 1
x2 ≤ 8
x ≥ 0.

11.7 Resuelva el siguiente problema:

min f (x1 , x2 ) = (x1 − 7)2 + (x2 − 7)2


x1 + x2 ≤ 10
x1 ≥ 1
x2 ≤ 4
x ≥ 0.

278
Capı́tulo 12

PROGRAMACIÓN
DINÁMICA

Este capı́tulo, pretende presentar la principal idea de la programación di-


námica: toda subpolı́tica de una polı́tica óptima también debe ser óptima.
El anterior principio se conoce como el principio de optimalidad de Richard
Bellman.
El nombre de programación dinámica se debe a que inicialmente el
método se aplicó a la optimización de algunos sistemas dinámicos, es de-
cir, sistemas que evolucionan con el tiempo. Sin embargo, el tiempo no es
indispensable, se requiere simplemente que los sistemas se puedan expresar
por etapas o por fases.
Dicho de otra forma, la idea básica de la programación dinámica consiste
en convertir un problema de n variables en una sucesión de problemas más
simples, por ejemplo, de una variable, y para más sencillez, una variable
discreta.
Desde un punto de vista recurrente1 : un problema complejo se resuelve
mediante el planteamiento de problemas más sencillos pero análogos al
problema general. Estos problemas más sencillos se resuelven mediante el
planteamiento de problemas aún más sencillos pero que siguen guardando la
misma estructura. Este proceso recurrente se aplica hasta encontrar prob-
lemas de solución inmediata. Una vez resueltos estos problemas supersen-
cillos se pasa a la solución de los problemas un poquito mas complejos y
ası́ sucesivamente hasta calcular la solución del problema general.
Aunque el principio es muy sencillo y aplicable a muchos problemas,
1
Con cierta frecuencia, en lugar de recurrente, se utiliza el término “recursivo”, angli-
cismo usado para la traduccion de “recursive”.

279
CAPÍTULO 12. PROGRAMACIÓN DINÁMICA

se aplica de manera especı́fica a cada problema. Es decir, no existe un


algoritmo (o un programa de computador) único que se pueda aplicar a
todos los problemas.
En lugar de presentar fórmulas, definiciones o conceptos generales pero
abstractos, se presentan ejemplos tı́picos con sus soluciones. Todos los ejem-
plos presentados son determinı́sticos, es decir, se supone que todos los datos
del problema son conocidos de manera precisa.

12.1 EL PROBLEMA DE LA RUTA MÁS CORTA


12.1.1 Enunciado del problema
El Ministerio de Obras desea construir una autopista entre la ciudad de
Girardot, que denotaremos simplemente por A y la ciudad de Barranquilla
denotada porZ. Globalmente, la autopista sigue la dirección del rı́o Mag-
dalena. El valle del rı́o y su zona de influencia directa se dividió en una
sucesión de n regiones adyacentes que, por facilidad, llamaremos R1 , R2 , ...
Rn . La ciudad A está en R1 y Z está en Rn . La autopista pasa por todas las
n regiones, pero está previsto que pase solamente por una ciudad de cada
región. Sin embargo en algunas regiones hay varias ciudades importantes
y cada una de ellas podrı́a ser la ciudad de la región por donde pasa la
autopista. Con este esquema, el Ministerio está estudiando muchos tramos
de autopista, cada tramo va de una ciudad en una región, a otra ciudad
en la región siguiente. Sin embargo, de cada ciudad en una región no hay
necesariamente tramos a todas las ciudades de la siguiente región. Pero por
otro lado, para cada ciudad de la regiones intermedias, de la 2 a la n − 1,
hay por lo menos un tramo proveniente de una ciudad de la región anterior
y por lo menos un tramo que va hasta una ciudad de la siguiente región.
Para cada uno de estos tramos posibles el Ministerio ha calculado un
costo total que tiene en cuenta, entre otros aspectos, la distancia, las dificul-
tades especı́ficas de la construcción, el sobrecosto del transporte desde otras
ciudades de cada región hasta la ciudad por donde pasa la autopista.
El objetivo del Ministerio es encontrar una sucesión de tramos concate-
nados, que van desde A hasta Z, con costo mı́nimo.
Las condiciones del problema se pueden formalizar de la siguiente manera:

ˆ N = {A, ..., Z} conjunto de ciudades o nodos. N es simplemente


un conjunto finito cualquiera (no necesariamente un subconjunto del
abecedario), en el cual están A y Z.

280
12.1. EL PROBLEMA DE LA RUTA MÁS CORTA

....... ....... ....... ........ ....... ....... ....... ....... ....... ....... ....... . ....... ....... ....... ....... ........ ....... ....... ....... ....... ........ ....... ....... ....... ....... .....
... ... .. .. .. .
. . . .
.
....
R1 .
....
R2 .
....
R3 .
....
R4 .
....
R5 ...
..
...
... ... ... ... ... ..
. . . . . ...
. . .. .. .. ..
.... .... .
....
...............
.... .
.
. .
.
. .
.
.
... ... .....................
...
...
.
...
. 2 .....
...
11
.
.
................................... .
.
..
..... .... ..
.
.
.. ...
.
.
.
.
.
.
.
.
.
..
.
....
.
.... ..
...
..
.. ...................
... ...
. . . .
. . .
..
.
.
.
4 ...
...
.
.
.
.
..........
....... ....... ....... .
..
.
. ..
.
.
.
...
..
... ... .... ...... ....... ...
...
.
...
. ......... .
...
...
. ...
....
.
.
.
.
.
.
.
.
1 .......
.......
. ...
.......
.
.
.
.
..
...
.. .. .... . .. . . ........... .... ..
............. . ..
.. ... ... .. . .... ..
.. .. .. ... . ... . .
. ..
. . .... .
... ... ..... ...
...
.
4 ...
. .....
..... ...
.
... 10 .
.
. ....
.
... .
.
.
. .. .
.
...
.. .... 7
... .
.
. .. . ..
.. .....
...
.. .....
. . .... ....................... . ...
..
.. ......
.
9 ...
...
...
.. ...
...
..
.
.
.....
.
..
.. ...
... ...
..
... ..
.... .
...
..
...
... . ...... ... .
.
...
.. .
. ...
. ..... ...
. .
. .. ..
. .. ..
. ... .
. ...
. . ........
. . . . .....
.
..
.. ...... ... .
. .
.
.. .
.
.
.
...
... .
.
.
.
...
. ... ................ .......
.. ...
..
.
.
.. 2
...
..
.
....
.
.
.
.
...
....
. 5 ...
..
..... .......... ... ... .... .. ...
.... ... . ... .. ... .. ... ...
... .... .. . . .
... .
. 5
.
. . .
. .
. .
. .
.... ..
.
..
A ...
... .. .
..... .
....... .............. .. .
... .
.
... ............
.
. ........
......
......... ......... ......... .
.......... ..
.. ..
.
.
...
.. ..
.
.
...
.................... ....
..
. .... .
.. ...... ....... ........... . .. .... . .
. .
. .
. .... .
......
...........
. ... .....
...
.
... ........... .................
.
.
.......... .... .................
......... .... ...
... .
... .
... .. ....
.... ..
...
. ..........
.
...
. ..
... .. Z
....... .................. ....
..
..
5 ..
.. 3
..
.
...
... 12
........
..
..
... .
... ... 3 .... ...
...........
.
........
.
.. ......
.
....
.
.
...... ........
... .. . .......
...
.
...
.
.............
...
... ..
.....
... .
.
.. ...
.... ..................
............ ..
...
.
....... ...
....... .
8 ...
.
.
.. ..
...
... .. ... . ...... ..
. ... . ....
.. .. ... ... .. ... ....
. .
.
..... .....
...
...
...
.
.......
.
..
.
...
.. ... ........
.. 8 ......
.
.. .
.
.
.
...
.
.. ..
...
...
...
. ...
.
... 6 ... ... .. ... ...............
. ..
..
..
.
...
..
.. .. ... .. .....
. ..
. . ...
. .
.
.
... ... ... ... ....
..... ..... 8 ...
...
...
..... ....
.
.
..
.. ..... ...
... ..
.
.
.
..
.
.. .. ... . .... .
... ..... . .
...
..
... .. ... .. ..... .. ..
.. .. .... ..
..... .....
...
. ..
.
.......... .... .... .....
.
4
... ....
.
.....
.
.....
....
.
... ... ....... .. ...
.. .. .. ............ ............ .. .. .
.. .. .. ... ... .. ..
....
..... ..... 6 ..... ......
.
.
....................
.
.
.
.. ...
.
.
...
.
.
.
...
.. .. .. .. .. .
....... ....... ....... ....... ....... ....... ....... ....... ....... ....... ....... ........ ....... ....... ....... ....... ........ ....... ....... ....... ....... ........ ....... ....... ....... .......

ˆ R1 , R2 , ...., Rn forman una partición de N , es decir,

R1 ∪ R2 ∪ ... ∪ Rn = N,
Ri 6= ∅ , i = 1, ..., n,
Ri ∩ Rj = ∅ si i 6= j.

ˆ R1 = {A}.

ˆ Rn = {Z}.

ˆ Γ ⊆ N × N conjunto de tramos posibles (“flechas” del grafo2 ).

ˆ Si (i, j) ∈ Γ entonces existe 1 ≤ k ≤ n − 1 tal que i ∈ Rk y j ∈ Rk+1 .

ˆ Para 1 ≤ k ≤ n − 1, si i ∈ Rk entonces existe j ∈ Rk+1 tal que


(i, j) ∈ Γ.
2
Un grafo G es una pareja G = (N, Γ), donde N es el conjunto finito de vértices y
Γ ⊆ N × N es el conjunto de flechas

281
CAPÍTULO 12. PROGRAMACIÓN DINÁMICA

ˆ Para 2 ≤ k ≤ n, si i ∈ Rk entonces existe j ∈ Rk−1 tal que (j, i) ∈ Γ.

ˆ Si (i, j) ∈ Γ entonces se conoce c(i, j) = cij > 0.

En teorı́a de grafos se habla de predecesor, sucesor, conjunto de prede-


cesores, conjunto de sucesores. La utilización de estos conceptos, con sus
respectivas notaciones, facilita y hace más compacto el planteamiento del
problema. Si la flecha (i, j) está en el grafo se dice que i es un predece-
sor de j, y que j es un sucesor de i. Se denota por Γ− (i) el conjunto de
predecesores de i y por Γ+ (i) el conjunto de sus sucesores. Entonces:

ˆ Γ− (i) 6= ∅, ∀i 6= A.

ˆ Γ+ (i) 6= ∅, ∀i 6= Z.

ˆ i ∈ Rk ⇒ Γ− (i) ⊆ Rk−1 , k = 2, ..., n.

ˆ i ∈ Rk ⇒ Γ+ (i) ⊆ Rk+1 , k = 1, ..., n − 1.

12.1.2 Planteamiento del problema de optimización


El problema se puede presentar de la siguiente manera: encontrar i1 , i2 , ...,
in para minimizar una función con ciertas restricciones:

n−1
X
min c(i1 , i2 ) + c(i2 , i3 ) + ... + c(in−1 , in ) = c(ik , ik+1 )
k=1
(ik , ik+1 ) ∈ Γ, k = 1, ..., n − 1
ik ∈ Rk , k = 1, ..., n.

En realidad el problema depende únicamente de n − 2 variables: i2 , i3 ,


..., in−1 ya que i1 = A, in = Z. Además la última condición se puede quitar
puesto que ya está implı́cita en las propiedades de Γ.
A cada una de las ciudades de R2 llega por lo menos un tramo desde una
ciudad de R1 , pero como en R1 solo hay una ciudad entonces: a cada una
de las ciudades de R2 llega por lo menos una ruta desde A. A su vez, a cada
una de las ciudades de R3 llega por lo menos un tramo desde una ciudad
de R2 y como a cada ciudad de R2 llega una ruta desde A entonces: a cada
una de las ciudades de R3 llega por lo menos una ruta desde A. Repitiendo
este proceso se puede deducir que a cada una de las ciudades llega por lo
menos una ruta desde A. En particular existe por lo menos una ruta desde
A hasta Z.

282
12.1. EL PROBLEMA DE LA RUTA MÁS CORTA

Una manera de resolver este problema es utilizando la fuerza bruta:


hacer una lista de todas las rutas posibles desde A hasta Z, para cada ruta
evaluar el costo (sumando los costos de cada tramo), y buscar la ruta (o una
de las rutas) de menor costo.
De ahora en adelante, cuando se hable del mejor (camino,
procedimiento, polı́tica, ... ) se entenderá que es el mejor, en el
sentido estricto cuando hay uno solo, o uno de los mejores cuando
hay varios.

12.1.3 Solución por programación dinámica


La forma recurrente de resolver este problema es muy sencilla. Para conocer
la mejor ruta de A hasta Z basta con conocer la mejor ruta a cada una de
las ciudades de Rn−1 . Al costo de cada ruta óptima hasta una de ciudad
de Rn−1 se le agrega el costo del tramo entre esa ciudad de Rn−1 y Z en
Rn y finalmente se escoge la menor suma. Definir algunas funciones permite
escribir el razonamiento anterior de manera más corta y precisa.
Sean :
Cn∗ (Z) : costo mı́nimo de todas las rutas desde A hasta Z.
∗ (i) : costo mı́nimo de todas las rutas desde A hasta la
Cn−1
ciudad i ∈ Rn−1 .

Entonces la solución recurrente dice:

Cn∗ (Z) = min {Cn−1 (i) + c(i, Z)}.


i∈Rn−1

Obviamente esto presupone que se conocen todos los valores Cn−1 ∗ (i), y
∗ (i)?
entonces la pregunta inmediata es: ¿Cómo se calculan los valores Cn−1
La respuesta es de nuevo recurrente: Utilizando los costos de las rutas mı́-
nimas desde A hasta las ciudades de Rn−2 .
Sea :
∗ (i) : costo mı́nimo de todas las rutas desde A hasta la
Cn−2
ciudad i ∈ Rn−2 .

Entonces la solución recurrente dice:


Cn−1 (j) = min{Cn−2 (i) + c(i, j) : i ∈ Γ− (j)}, j ∈ Rn−1 .

283
CAPÍTULO 12. PROGRAMACIÓN DINÁMICA

Este proceso se repite hasta poder utilizar valores “inmediatos” o de muy


fácil obtención. Para este problema de la autopista, puede ser

C2∗ (j) = c(A, j), j ∈ R2 .


donde C2∗ (j)indica costo mı́nimo de todas las rutas (hay una sola) desde A
hasta la ciudad j ∈ R2 .
La deducción de la solución recurrente se hizo hacia atrás (desde n hasta
2) pero el cálculo se hace hacia adelante (de 2 hasta n). En resumen,

ˆ definir una función que permita la recurrencia,

ˆ definir el objetivo final,

ˆ definir las condiciones iniciales (fáciles de evaluar),

ˆ definir una relación o fórmula recurrente,

ˆ calcular los valores iniciales,

ˆ hacer cálculos recurrentes hasta encontrar la solución

Para este problema :

Ck∗ (i) = costo mı́nimo de todas las rutas desde A hasta la


ciudad i ∈ Rk , k = 2, ..., n.
Cn∗ (Z) = ?
C2∗ (j) = c(A, j), j ∈ R2

Ck+1 (j) = min{Ck∗ (i) + c(i, j) : i ∈ Γ− (j)}, 2 ≤ k ≤ n − 1, j ∈ Rk+1

Un planteamiento ligeramente diferente podrı́a ser:

Ck∗ (i) = costo mı́nimo de todas las rutas desde A hasta la


ciudad i ∈ Rk , k = 2, ..., n.
Cn∗ (Z) = ?
C1∗ (A) =0

Ck+1 (j) = min{Ck∗ (i) + c(i, j) : i ∈ Γ− (j)}, 1 ≤ k ≤ n − 1, j ∈ Rk+1

La diferencia está simplemente en el “sitio inicial”.

284
12.1. EL PROBLEMA DE LA RUTA MÁS CORTA

12.1.4 Resultados numéricos


Los valores iniciales se obtienen inmediatamente:

C2∗ (2) = cA2 = 4,


C2∗ (3) = cA3 = 5.

El proceso recurrente empieza realmente a partir de las ciudades de R3 :

C3∗ (4) = min {C2∗ (i) + ci4 },


i∈Γ− (4)

= min{C2∗ (2) + c24 },


= min{4 + 11},
C3∗ (4) = 15.

C3∗ (5) = min {C2∗ (i) + ci5 },


i∈Γ− (5)

= min{C2∗ (2) + c25 , C2∗ (3) + c35 },


= min{4 + 10, 5 + 12},
C3∗ (5) = 14.

C3∗ (6) = min {C2∗ (i) + ci6 },


i∈Γ− (6)

= min{C2∗ (2) + c26 , C2∗ (3) + c36 },


= min{4 + 9, 5 + 8},
C3∗ (6) = 13.

En resumen para la región R3 :

C3∗ (4) = 15,


C3∗ (5) = 14,
C3∗ (6) = 13.

Para la región R4 :

285
CAPÍTULO 12. PROGRAMACIÓN DINÁMICA

C4∗ (7) = min {C3∗ (i) + ci7 },


i∈Γ− (7)

= min{C3∗ (4) + c47 , C3∗ (5) + c57 , C3∗ (6) + c67 },


= min{15 + 1, 14 + 2, 13 + 6},
C4∗ (7) = 16.

C4∗ (8) = min {C3∗ (i) + ci8 , }


i∈Γ− (8)

= min{C3∗ (5) + c58 , C3∗ (6) + c68 },


= min{14 + 3, 13 + 4},
C4∗ (8) = 17.

En resumen para la región R4 :

C4∗ (7) = 16,


C4∗ (8) = 17.

Finalmente para Z en R5 :

C5∗ (Z) = min {C4∗ (i) + ciZ },


i∈Γ− (Z)

= min{C4∗ (7) + c7Z , C4∗ (8) + c8Z },


= min{16 + 5, 17 + 8},
C5∗ (Z) = 21.

Ya se obtuvo el costo mı́nimo, pero es necesario conocer también las


ciudades por donde debe pasar una autopista de costo mı́nimo. Con la
información que se tiene no se puede reconstruir la mejor ruta. Entonces
es necesario volver a resolver el problema, pero esta vez es necesario, para
cada ciudad intermedia j, no solo conocer Ck∗ (j), sino también saber desde
que ciudad i∗ de la región Rk−1 se obtiene este costo mı́nimo.
Obviamente

C2∗ (2) = 4, i∗ = A,

286
12.1. EL PROBLEMA DE LA RUTA MÁS CORTA

C2∗ (3) = 5, i∗ = A.

C3∗ (4) se obtiene viniendo de la única ciudad predecesora: 2.

C3∗ (4) = 15, i∗ = 2.

C3∗ (5) = min{C2∗ (2) + c25 , C2∗ (3) + c35 },


= min{4 + 10, 5 + 12},
C3∗ (5) = 14, i∗ = 2.

Para C3∗ (7) hay empate ya que se obtiene el costo mı́nimo viniendo de 2
o viniendo de 3, sin embargo basta con tener información sobre una de las
mejores ciudades precedentes, por ejemplo, la primera encontrada.

C3∗ (6) = min{C2∗ (2) + c26 , C2∗ (3) + c36 },


= min{4 + 9, 5 + 8},
C3∗ (6) = 13, i∗ = 2.

Toda la información necesaria para poder calcular el costo mı́nimo desde


A hasta Z y poder reconstruir una ruta mı́nima es:

j C2∗ (j) i∗ j C3∗ (j) i∗ j C4∗ (j) i∗ j C5∗ (j) i∗


2 4 A 4 15 2 7 16 4 Z 21 7
3 5 A 5 14 2 8 17 5
6 13 2

Luego según la tabla, el costo mı́nimo es 21. Además a Z se llega prove-


niente de 7, a 7 se llega proveniente de 4, a 4 se llega proveniente de 2, y
finalmente a 2 se llega proveniente de A. Entonces la autopista de costo
mı́nimo (o una de las autopistas de costo mı́nimo) es: (A, 2, 4, 7, Z)

12.1.5 Solución hacia atrás


La solución presentada en los dos numerales anteriores se conoce como la
solución hacia adelante. También se tiene una solución análoga hacia
atrás. Se busca el costo mı́nimo desde cada ciudad hasta Z empezando con
el costo desde las ciudades en la región Rn−1 .

287
CAPÍTULO 12. PROGRAMACIÓN DINÁMICA

Ck∗ (i) = costo mı́nimo de todas las rutas desde la ciudad i ∈ Rk


hasta Z, k = n − 1, n − 2, ..., 1.

Objetivo final:

C1∗ (A) = ?
Condiciones iniciales:


Cn−1 (j) = c(j, Z), j ∈ Rn−1 .
Relación recurrente:


Ck−1 (i) = min {c(i, j) + Ck∗ (j)}, n − 1 ≥ k ≥ 2, i ∈ Rk−1 .
j∈Γ+ (i)

Obviamente

C4∗ (7) = 5, j ∗ = Z,
C4∗ (8) = 8, j ∗ = Z.

C3∗ (4) = min {c(4, j) + C4∗ (j)},


j∈Γ+ (4)

= min{c(4, 7) + C4∗ (7)},


= min{1 + 5},
C3∗ (4) = 6, j ∗ = 7.

C3∗ (5) = min {c(5, j) + C4∗ (j)},


j∈Γ+ (5)

= min{c(5, 7) + C4∗ (7), c(5, 8) + C4∗ (8)},


= min{2 + 5, 3 + 8},
C3∗ (5) = 7, j ∗ = 7.

y ası́ sucesivamente.

288
12.2. EL PROBLEMA DE ASIGNACIÓN DE MÉDICOS

i C4∗ (i) j∗ i C3∗ (i) j∗ i C2∗ (i) j∗ i C1∗ (i) j∗


7 5 Z 4 6 7 2 17 4 A 21 2
8 8 Z 5 7 7 3 19 5
6 11 7

Luego según la tabla, el costo mı́nimo es 21. Además se llega desde A


pasando por 2, se llega desde 2 pasando por 4, se llega desde 4 pasando por
7, y finalmente se llega desde 7 pasando por Z. Entonces la autopista de
costo mı́nimo (o una de las autopistas de costo mı́nimo) es: (A, 2, 4, 7, Z)

12.2 EL PROBLEMA DE ASIGNACIÓN DE


MÉDICOS
12.2.1 Enunciado del problema
(Adaptación de un ejemplo de Hillier y Lieberman). La OMS (Organi-
zación Mundial de la Salud) tiene un equipo de m médicos especialistas en
salud pública y los desea repartir en n paises P1 , P2 , ..., Pn para que desa-
rrollen campañas educativas tendientes a disminuir la mortalidad infantil.
De acuerdo con las condiciones especı́ficas de cada paı́s, de la tasa de na-
talidad, de la mortalidad antes de los dos años, del número de habitantes,
la OMS posee evaluaciones bastante precisas de los valores b(i, j) ≡ bij ,
i = 0, ..., m, j = 1, ..., n que indican el beneficio de asignar i médicos al paı́s
Pj . Este beneficio bij indica (en cientos de mil) la disminución en el número
de niños muertos antes de los dos años de vida, durante los próximos 5 años.
Ası́ por ejemplo, b23 = 6 indica que si se asignan 2 médicos al paı́s P3 se
espera que en los próximos 5 años haya una disminución de 600000 en el
número de niños muertos antes de los dos años de vida.
Los beneficios no son directamente proporcionales al número de médicos,
es decir, si b23 = 6 no se cumple necesariamente que b43 = 12.
Se supone además que no es obligatorio asignar médicos en cada uno de
los paises y también se supone que es posible asignar todos los médicos a un
solo paı́s.
También se supone que al aumentar el número de médicos asignados a
un paı́s el beneficio no disminuye. Pensando en un problema más general se
podrı́a pensar que cuando hay demasiadas personas asignadas a una labor, se
obstruye el adecuado funcionamiento y el resultado global podrı́a disminuir.
Sin embargo se puede suponer que bij indica el mayor beneficio obtenido en
el paı́s Pj al asignar a los más i médicos.

289
CAPÍTULO 12. PROGRAMACIÓN DINÁMICA

La OMS desea saber cuantos médicos debe asignar a cada paı́s para
maximizar el beneficio total, o sea, para maximizar la disminución total en
la mortalidad infantil en los n paises.

12.2.2 Planteamiento del problema de optimización


Se necesita conocer el número de médicos que se asigna a cada paı́s para max-
imizar el beneficio total, sin sobrepasar el número de médicos disponibles.
Si xj indica el número de médicos que se asignan al pais Pj , entonces el
problema de optimización es:

n
X
max b(xj , j)
j=1
n
X
xj ≤ m,
j=1

0 ≤ xj ≤ m, j = 1, ..., n,
xj ∈ Z, j = 1, ..., n.

Este problema se puede resolver por la fuerza bruta construyendoPn todas


las combinaciones, verificando si cada combinación es factible ( j=1 xj ≤
m) y escogiendo la mejor entre las factibles. De esta forma cada variable
puede tomar m+1 valores: 0, 1, 2, ..., m, o sea, es necesario estudiar (m+1)n
combinaciones. Es claro que para valores grandes de m y n el número de
combinaciones puede ser inmanejable.

12.2.3 Solución recurrente


Para asignar optimamente m médicos a los n paises hay que asignar una
parte de los médicos a los paises P1 , P2 , ..., Pn−1 y el resto al paı́s Pn .
Supongamos que sabemos asignar óptimamente 0, 1, 2, 3, ...., m médicos a
los paises P1 , P2 , ..., Pn−1 . Entonces para asignar óptimamente m médicos
a los n paises hay que considerar m + 1 posibilidades:

ˆ 0 médicos a los paises P1 ,..., Pn−1 y m médicos a Pn

ˆ 1 médico a los paises P1 ,..., Pn−1 y m − 1 médicos a Pn

ˆ 2 médicos a los paises P1 ,..., Pn−1 y m − 2 médicos a Pn


...

290
12.2. EL PROBLEMA DE ASIGNACIÓN DE MÉDICOS

ˆ m médicos a los paises P1 ,..., Pn−1 y 0 médicos a Pn

Al escoger la mejor combinación se tiene la solución del problema. Obvi-


amente para conocer las soluciones óptimas en los primeros n − 1 paises
se requiere conocer las soluciones óptimas en los primeros n − 2 paises
y ası́ sucesivamente. O sea, primero se resuelve el problema de asignar
óptimamente médicos al primer paı́s, con estos resultados se puede obtener
la asignación óptima de médicos a los 2 primeros paises, y ası́ sucesivamente
hasta obtener la solución global.

Bk∗ (i) = beneficio máximo obtenido al asignar i médicos


a los paises P1 , P2 , ..., Pk , k = 1, ..., n, i = 0, ..., m.

Objetivo final:

Bn∗ (m) = ?
Condiciones iniciales:

B1∗ (i) = bi1 , i = 0, ..., m.


Relación recurrente:


Bk+1 (i) = max {Bk∗ (i − j) + bj,k+1 }, k = 1, ..., n − 1, i = 0, ..., m.
0≤j≤i

Esta relación recurrente dice que la mejor manera de asignar i médicos a


los paises P1 , P2 , ..., Pk+1 es estudiando todas las posibilidades consistentes
en asignar j médicos al paı́s Pk+1 y el resto, i − j, a los paises P1 , P2 , ..., Pk .

12.2.4 Resultados numéricos


Consideremos los siguientes datos: m = 5, n = 4 y los siguientes beneficios:

i bi1 bi2 bi3 bi4


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

291
CAPÍTULO 12. PROGRAMACIÓN DINÁMICA

Condiciones iniciales:

B1∗ (0) = 0, j ∗ = 0,
B1∗ (1) = 2, j ∗ = 1,
B1∗ (2) = 4, j ∗ = 2,
B1∗ (3) = 6, j ∗ = 3,
B1∗ (4) = 8, j ∗ = 4,
B1∗ (5) = 10, j ∗ = 5.

B2∗ (0) = max {B1∗ (0 − j) + bj2 },


0≤j≤0

= max{B1∗ (0) + b02 },


= max{0 + 0},
B2∗ (0) = 0, j ∗ = 0.

B2∗ (1) = max {B1∗ (1 − j) + bj2 },


0≤j≤1

= max{B1∗ (1) + b02 , B1∗ (0) + b12 },


= max{2 + 0, 0 + 2},
B2∗ (1) = 2, j ∗ = 0.

B2∗ (2) = max {B1∗ (2 − j) + bj2 },


0≤j≤2

= max{B1∗ (2) + b02 , B1∗ (1) + b12 , B1∗ (0) + b22 },


= max{4 + 0, 2 + 2, 0 + 3},
B2∗ (2) = 4, j ∗ = 0.

Para los dos primeros paises se tiene:

B2∗ (0) = 0, j ∗ = 0,
B2∗ (1) = 2, j ∗ = 0,
B2∗ (2) = 4, j ∗ = 0,

292
12.2. EL PROBLEMA DE ASIGNACIÓN DE MÉDICOS

B2∗ (3) = 6, j ∗ = 0,
B2∗ (4) = 8, j ∗ = 0,
B2∗ (5) = 12, j ∗ = 5.

Un ejemplo de un cálculo para los tres primeros paises es:

B3∗ (4) = max {B2∗ (4 − j) + bj3 },


0≤j≤4

= max{B2∗ (4) + b03 , B2∗ (3) + b13 , B2∗ (2) + b23 ,


B2∗ (1) + b33 , B2∗ (0) + b43 },
= max{8 + 0, 6 + 1, 4 + 4, 2 + 7, 0 + 9},
B3∗ (4) = 9, j ∗ = 3.

En la siguiente tabla están los resultados importantes:

i B1∗ (i) j∗ B2∗ (i) j∗ B3∗ (i) j∗ B4∗ (i) j∗


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

Se observa que no es necesario calcular B4∗ (0), B4∗ (1), ..., B4∗ (4), ya que
no se utilizan para calcular B4∗ (5). El beneficio máximo es 13. Este beneficio
máximo se obtiene asignando 1 médico al cuarto paı́s (j ∗ = 1). Entonces
quedan 4 médicos para los primeros 3 paises. El j ∗ correspondiente a B3∗ (4)
es 3, esto indica que hay que asignar 3 médicos al tercer paı́s. Entonces
queda 1 médico para los primeros 2 paises. El j ∗ correspondiente a B2∗ (1)
es 0, esto indica que hay que asignar 0 médicos al segundo paı́s. Entonces
queda 1 médico para el primer paı́s.

x∗1 = 1,
x∗2 = 0,
x∗3 = 3,
x∗4 = 1,
B4∗ (5) = 13.

293
CAPÍTULO 12. PROGRAMACIÓN DINÁMICA

12.2.5 Problema de asignación de médicos con cotas superi-


ores
El planteamiento de este problema es una generalización del anterior, la
única diferencia es que para cada paı́s Pj hay una cota superior vj para el
número de médicos que se pueden asignar allı́. Obviamente se debe cumplir
que vj ≤ m. Para garantizar lo anterior, basta con considerar una nueva
cota vj0 = min{vj , m}. Entonces los datos para este problema de médicos
con cota superior son:

ˆ m número de médicos

ˆ n número de paises

ˆ v1 , v2 , ..., vn cotas superiores para el número de médicos en cada paı́s

ˆ para cada paı́s Pj los valores de los beneficios bij ≡ b(i, j): b0j , b1j , ...,
bvj j

El planteamiento del problema de optimización es el siguiente: encontrar


x1 , x2 , ..., xn para maximizar el beneficio total con ciertas restricciones:

n
X
max b(xj , j)
j=1
n
X
xj ≤ m
j=1

0 ≤ xj ≤ vj , j = 1, ..., n
xj ∈ Z, j = 1, ..., n

Antes de plantear la solución recurrente es necesario considerar lo sigu-


iente: el número de médicos que se asignan al conjunto de paises P1 , P2 , ...,
Pk , no puede ser superior a m y tampoco puede ser superior a la suma de
sus cotas superiores. Para esto se introducen unos nuevos valores
k
X
Vk = min{m, vj }, k = 1, ..., n.
j=1

Bk∗ (i) = beneficio máximo obtenido al asignar i médicos

294
12.2. EL PROBLEMA DE ASIGNACIÓN DE MÉDICOS

a los paises P1 , P2 , ..., Pk , k = 1, ..., n, i = 0, ..., Vk .

Objetivo final:

Bn∗ (m) = ?
Condiciones iniciales:

B1∗ (i) = bi1 , i = 0, ..., V1 .


Relación recurrente:


Bk+1 (i) = max{Bk∗ (i − j) + bj,k+1 }, k = 1, ..., n − 1, i = 0, ..., Vk+1 .
0 ≤ i−j ≤ Vk

i−j ≤ i

0 ≤ j ≤ vk+1

j ≤i

Los lı́mites para la variación de i − j y de j han sido presentados de


la manera más natural y más segura posible, pero obviamente hay algunas
redundancias y admiten simplificaciones.

max{i − Vk , 0} ≤ j ≤ min{i, vk }
Consideremos los siguientes datos: m = 5, n = 4, vj : 3, 4, 2, 3 y los
siguientes beneficios:

i bi1 bi2 bi3 bi4


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

Entonces

V1 = 3, V2 = 5, V3 = 5, V4 = 5.
Condiciones iniciales:

B1∗ (0) = 0, j ∗ = 0,

295
CAPÍTULO 12. PROGRAMACIÓN DINÁMICA

B1∗ (1) = 2, j ∗ = 1,
B1∗ (2) = 4, j ∗ = 2,
B1∗ (3) = 6, j ∗ = 3.

..
.

B2∗ (2) = max {B1∗ (2 − j) + bj2 }


0≤j≤2

= max{B1∗ (2) + b02 , B1∗ (1) + b12 , B1∗ (0) + b22 }


= max{4 + 0, 2 + 2, 0 + 3}
B2∗ (2) =4, j ∗ = 0.

..
.

B2∗ (5) = max {B1∗ (5 − j) + bj2 }


2≤j≤4

= max{B1∗ (3) + b22 , B1∗ (2) + b32 , B1∗ (1) + b42 }


= max{6 + 3, 4 + 4, 2 + 8}
B2∗ (5) =10, j ∗ = 4.

..
.

i B1∗ (i) j∗ B2∗ (i) j∗ B3∗ (i) j∗ B4∗ (i) j∗


0 0 0 0 0 0 0
1 2 1 2 0 2 0
2 4 2 4 0 4 0
3 6 3 6 0 6 0
4 8 1 8 0
5 10 4 10 0 12 1

El beneficio máximo es 12. Este beneficio máximo se obtiene asignando


1 médico al cuarto paı́s (j ∗ = 1). Entonces quedan 4 médicos para los
primeros 3 paises. El j ∗ correspondiente a B3∗ (4) es 0, esto indica que hay
que asignar 0 médicos al tercer paı́s. Entonces quedan 4 médicos para los
primeros 2 paises. El j ∗ correspondiente a B2∗ (4) es 1, esto indica que hay
que asignar 1 médico al segundo paı́s. Entonces quedan 3 médicos para el
primer paı́s.

296
12.2. EL PROBLEMA DE ASIGNACIÓN DE MÉDICOS

x∗1 = 3
x∗2 = 1
x∗3 = 0
x∗4 = 1
B4∗ (5) = 12

12.2.6 Problema de asignación de médicos con cotas inferi-


ores y superiores
El planteamiento de este problema es una generalización del anterior, ahora
para cada paı́s Pj hay una cota inferior uj y una cota superior vj para el
número de médicos que se pueden asignar allı́. Obviamente se debe cumplir
que 0 ≤ uj < vj ≤ m.
Los datos para este problema son:

ˆ m número de médicos,

ˆ n número de paises,

ˆ u1 , ..., un cotas inferiores para el número de médicos,

ˆ v1 , ..., vn cotas superiores para el número de médicos,

ˆ para cada paı́s Pj los valores de los beneficios bij ≡ b(i, j): buj j , buj +1,j ,
..., bvj j .

Para que no haya información redundante, los datos deben cumplir la


siguiente propiedad: la cota superior para el número de médicos en el paı́s
Pj debe permitir asignar el número mı́nimo de médicos en los otros paises,
es decir:
n
X
vj ≤ m − ui .
i=1
i6=j

En caso contrario
n
X
vj0 = min{vj , m − ui }.
i=1
i6=j

297
CAPÍTULO 12. PROGRAMACIÓN DINÁMICA

El problema tiene solución si y solamente si el número total de médicos


disponibles alcanza para cumplir con las cotas inferiores:
n
X
uj ≤ m.
j=1

El planteamiento del problema de optimización es el siguiente: encontrar


x1 , x2 , ..., xn para maximizar el beneficio total con ciertas restricciones:

n
X
max b(xj , j)
j=1
n
X
xj ≤ m,
j=1

uj ≤ xj ≤ vj , j = 1, ..., n,
xj ∈ Z, j = 1, ..., n.
Antes de plantear la solución recurrente es necesario considerar lo sigu-
iente: el número de médicos que se asignan al conjunto de paises P1 , P2 , ...,
Pk , no puede ser inferior a la suma de sus cotas inferiores. Por otro lado, no
puede ser superior a m, tampoco puede ser superior a la suma de sus cotas
superiores y debe permitir satisfacer las cotas mı́nimas para el resto de
paises, es decir, para los paises Pk+1 , Pk+2 , ..., Pn . Para esto se introducen
unos nuevos valores

k
X
Uk = uj , k = 1, ..., n
j=1
k
X n
X
Vk = min{m, vj , m − uj }, k = 1, ..., n
j=1 j=k+1
k
X n
X
Vk = min{ vj , m − uj }
j=1 j=k+1

Aquı́ se sobreentiende que el valor de una sumatoria es cero, cuando el


lı́mite inferior es más grande que el lı́mite superior, por ejemplo,
2
X
ai = 0.
i=4

298
12.2. EL PROBLEMA DE ASIGNACIÓN DE MÉDICOS

Bk∗ (i) = beneficio máximo obtenido al asignar i médicos


a los paises P1 , P2 , ..., Pk , k = 1, ..., n, i = Uk , ..., Vk .
Objetivo final:

Bn∗ (m) = ?
Condiciones iniciales:

B1∗ (i) = bi1 , i = U1 , ..., V1 .


Relación recurrente:


Bk+1 (i) = max{Bk∗ (i − j) + bj,k+1 }, k = 1, ..., n − 1, i = Uk+1 , ..., Vk+1 .
Uk ≤ i−j ≤ Vk

i−j ≤ i

uk+1 ≤ j ≤vk+1

j ≤i

En resumen, la variación de j en la relación recurrente está dada por:

max{i − Vk , uk+1 } ≤ j ≤ min{i − Uk , vk+1 }.


Consideremos los siguientes datos: m = 5, n = 4, uj : 0, 0, 1, 2 ,
vj : 3, 4, 2, 3 y los siguientes beneficios:

i bi1 bi2 bi3 bi4


0 0 0
1 2 2 1
2 4 3 4 5
3 6 4 6
4 8
Si se considera el segundo paı́s, para los demás paises en total se necesitan
por lo menos 0+1+2=3 médicos, luego en el segundo paı́s no se pueden
asignar más de 5 − 3 = 2 médicos, entonces los valores b32 = 4 y b42 = 8
nunca se van a utilizar. En realidad los datos con los cuales se va a trabajar
son:

uj : 0, 0, 1, 2, vj : 2, 2, 2, 3.

299
CAPÍTULO 12. PROGRAMACIÓN DINÁMICA

i bi1 bi2 bi3 bi4


0 0 0
1 2 2 1
2 4 3 4 5
3 6

U1 = 0, V1 = min{2, 5 − 3} = 2,
U2 = 0, V2 = min{4, 5 − 3} = 2,
U3 = 1, V3 = min{6, 5 − 2} = 3,
U4 = 3, V4 = min{9, 5 − 0} = 5.

Condiciones iniciales:

B1∗ (0) = 0, j ∗ = 0,
B1∗ (1) = 2, j ∗ = 1,
B1∗ (2) = 4, j ∗ = 2.

B2∗ (1) = max {B1∗ (1 − j) + bj2 }


0≤j≤1

= max{B1∗ (1) + b02 , B1∗ (0) + b12 }


= max{2 + 0, 0 + 2}
B2∗ (1) = 2, j ∗ = 0.

..
.

B3∗ (3) = max {B2∗ (3 − j) + bj3 }


1≤j≤2

= max{B2∗ (2) + b13 , B2∗ (1) + b23 }


= max{4 + 1, 2 + 4}
B3∗ (3) = 6, j ∗ = 2.

..
.

300
12.2. EL PROBLEMA DE ASIGNACIÓN DE MÉDICOS

i B1∗ (i) j∗ B2∗ (i) j∗ B3∗ (i) j∗ B4∗ (i) j∗


0 0 0 0 0
1 2 1 2 0 1 1
2 4 2 4 0 4 2
3 6 2
4
5 11 2

El beneficio máximo es 11. Este beneficio máximo se obtiene asignando


2 médicos al cuarto paı́s (j ∗ = 2). Entonces quedan 3 médicos para los
primeros 3 paises. El j ∗ correspondiente a B3∗ (3) es 2, esto indica que hay
que asignar 2 médicos al tercer paı́s. Entonces queda 1 médico para los
primeros 2 paises. El j ∗ correspondiente a B2∗ (1) es 0, esto indica que hay
que asignar 0 médicos al segundo paı́s. Entonces queda 1 médico para el
primer paı́s.

x∗1 = 1,
x∗2 = 0,
x∗3 = 2,
x∗4 = 2,
B4∗ (5) = 11.

El problema anterior también se puede resolver como un problema con


cotas superiores (sin cotas inferiores) considerando unicamente los datos por
encima de lo exigido por las cotas mı́nimimas, es decir, de los m médicos
disponibles en realidad hay únicamente
n
X
0
m =m− ui
i=1
médicos para distribuir, pues de todas formas hay que asignar ni=1 ui para
P
satisfacer las cotas mı́nimas.
La cota máxima para el número de médicos adicionales en el paı́s Pj es
naturalmente

vj0 = vj − uj , j = 1, ..., n.
De manera análoga se puede pensar en un beneficio b0ij correspondiente
al beneficio adicional al asignar i médicos, por encima de de la cota mı́nima
uj en el paı́s Pj

301
CAPÍTULO 12. PROGRAMACIÓN DINÁMICA

b0ij = b(i + uj , j) − b(uj , j), 1 ≤ j ≤ n, 0 ≤ i ≤ vj0 .


Al aplicar estos cambios a los datos del problema se tiene:

m0 = 5 − 3 = 2, n = 4, vj0 : 2, 2, 1, 1.

i b0i1 b0i2 b0i3 b0i4


0 0 0 0 0
1 2 2 3 1
2 4 3

La solución de este problema modificado es:

0
x∗1 = 1,
0
x∗2 = 0,
0
x∗3 = 1,
0
x∗4 = 0,
0
B4∗ (2) = 5.

Entonces

x∗1 = 1 + u1 = 1 + 0 = 1,
x∗2 = 0 + u2 = 0 + 0 = 0,
x∗3 = 1 + u3 = 1 + 1 = 2,
x∗4 = 0 + u4 = 0 + 2 = 2,
Xn
B4∗ (5) = 5 + b(ui , i) = 5 + 6 = 11.
i=1

Como observación final sobre estos datos numéricos, se puede ver que
para cada uno de los tres problemas hay varias soluciones, en particular para
este último problema hay otra solución:

x∗1 = 0,
x∗2 = 1,

302
12.3. EL PROBLEMA DEL MORRAL

x∗3 = 2,
x∗4 = 2,
B4∗ (5) = 11.

12.3 EL PROBLEMA DEL MORRAL


(KNAPSACK)
12.3.1 Enunciado del problema

Un montañista está planeando una excursión muy especial. Evaluando la


capacidad de su morral, la dificultad de la excursión, algunos implementos
indispensables y sus fuerzas, cree que tiene en su morral una capacidad de
C ∈ Z kilos (u otra unidad de peso, o de manera más precisa, de masa)
disponibles para alimentos. De acuerdo con su experiencia, sus necesidades
y sus gustos ha escogido n tipos de alimentos A1 , A2 , ..., An , todos más
o menos equilibrados. Estos alimentos vienen en paquetes indivisibles (por
ejemplo en lata) y pi ∈ Z indica el peso de cada paquete del alimento
Ai . Teniendo en cuenta la composición de cada alimento, las calorı́as, las
vitaminas, los minerales, el sabor, el contenido de agua, etc., el montañista
asignó a cada paquete del alimento Ai un beneficio global bi .
El montañista desea saber la cantidad de paquetes de cada alimento
que debe llevar en su morral, de tal manera que maximice su beneficio, sin
sobrepasar la capacidad destinada para alimentos.
En este problema se supone que no es obligación llevar paquetes de cada
uno de los alimentos. También se supone que no hay cotas inferiores ni
superiores para el número de paquetes de cada alimento.
Tal vez ningún montañista ha tratado de resolver este problema para or-
ganizar su morral, seguramente ni siquiera ha tratado de plantearlo. Lo que
si es cierto es que hay muchos problemas, de gran tamaño y de mucha im-
portancia, que tienen una estructura análoga. Hay libros y muchos artı́culos
sobre este problema.

12.3.2 Planteamiento del problema de optimización

Si xj indica el número de paquetes del alimento Aj que el montañista debe


llevar en su morral, entonces se debe maximizar el beneficio, bajo ciertas
restricciones:

303
CAPÍTULO 12. PROGRAMACIÓN DINÁMICA

n
X
max bj xj
j=1
Xn
pj xj ≤ C.
j=1

xj ∈ Z, j = 1, ..., n.

Este problema se puede resolver por la fuerza bruta construyendo todas


las combinaciones, haciendoP variar xj entre 0 y bC/pj c, verificando si cada
combinación es factible ( nj=1 pj xj ≤ C) y escogiendo la mejor entre las
factibles. El significado de b t c es simplemente la parte entera inferior, o
parte entera usual, es decir, el mayor entero menor o igual a t. Es claro que
para valores grandes de n el número de combinaciones puede ser inmane-
jable.
La función objetivo (la función que hay que maximizar) es lineal, la
restricción también es lineal, las variables deben ser enteras y se puede
suponer que los coeficientes bj y pj también son enteros. Entonces este
problema también se puede resolver por métodos de programación entera
(programación lineal con variables enteras).

12.3.3 Solución recurrente


Para conocer optimamente el número de paquetes de cada uno de los n ali-
mentos, se divide el morral con capacidad i = C en dos “submorrales”, uno
con capacidad j utilizado únicamente para el alimento An y otro submorral
con capacidad i − j utilizado para los alimentos A1 , A2 ,, ..., An−1 . Si se
conoce la solución optima de un morral con capacidad c = 0, ..., C para los
alimentos A1 , A2 ,, ..., An−1 entonces basta con estudiar todas las posibili-
dades de variación de j y escoger la mejor para obtener la respuesta global.
Las posibles combinaciones son:

ˆ C kilos para A1 ,...,An−1 , 0 kilos para An

ˆ C − 1 kilos para A1 ,...,An−1 , 1 kilo para An


..
.

ˆ 0 kilos para A1 ,...,An−1 , C kilos para An

304
12.3. EL PROBLEMA DEL MORRAL

El razonamiento anterior se puede aplicar para los primeros n−1 alimen-


tos con un morral de i kilos de capacidad, y ası́ sucesivamente. Precisando
más:

Bk∗ (i) = beneficio máximo utilizando los primeros k alimentos en un


morral con capacidad de i kilos, 1 ≤ k ≤ n, 0 ≤ i ≤ C.

Objetivo final:

Bn∗ (C) = ?
Condiciones iniciales:
 
i
B1∗ (i) = b1 , 0≤i≤C
p1
Relación recurrente:

  
∗ ∗ j
Bk+1 (i) = max Bk (i − j) + bk+1 , 1 ≤ k ≤ n − 1, 0 ≤ i ≤ C.
0≤j≤i pk+1
Esta relación recurrente dice que la mejor manera de conocer el número
de paquetes de los alimentos A1 , A2 , ..., Ak+1 en un morral con una capaci-
dad de i kilos es estudiando todas las posibilidades consistentes en dejar j
kilos para el alimento Ak+1 y el resto, i − j kilos, para los alimentos A1 , A2 ,
..., Ak .

12.3.4 Resultados numéricos


Consideremos los siguientes datos: C = 11, n = 4, pi : 4, 3, 2, 5, bi :
14, 10, 6, 17.8.

B1∗ (0) = 0, j ∗ = 0,
B1∗ (1) = 0, j ∗ = 1,
B1∗ (2) = 0, j ∗ = 2,
B1∗ (3) = 0, j ∗ = 3,
B1∗ (4) = 14, j ∗ = 4,
B1∗ (5) = 14, j ∗ = 5,
B1∗ (6) = 14, j ∗ = 6,

305
CAPÍTULO 12. PROGRAMACIÓN DINÁMICA

i B1∗ (i) j∗ B2∗ (i) j∗ B3∗ (i) j∗ B4∗ (i) j∗


0 0 0 0 0 0 0
1 0 1 0 0 0 0
2 0 2 0 0 6 2
3 0 3 10 3 10 0
4 14 4 14 0 14 0
5 14 5 14 0 16 2
6 14 6 20 6 20 0
7 14 7 24 3 24 0
8 28 8 28 0 28 0
9 28 9 30 9 30 0
10 28 10 34 6 34 0
11 28 11 38 3 38 0 38 0

B1∗ (7) = 14, j ∗ = 7,


B1∗ (8) = 28, j ∗ = 8,
B1∗ (9) = 28, j ∗ = 9,
B1∗ (10) = 28, j ∗ = 10,
B1∗ (11) = 28, j ∗ = 11.
..
.
 
j
B2∗ (3) = max B1∗ (3
− j) + b2 ,
1≤j≤3 p2
  
j
= max B1∗ (3 − j) + 10 ,
1≤j≤3 3
= max{0 + 0, 0 + 0, 0 + 0, 0 + 10},
B2∗ (3) = 10, j ∗ = 3.
En la tabla está el resumen de los resultados. El beneficio máximo es
38. Este beneficio máximo se obtiene asignando 0 kilos al cuarto alimento
(j ∗ = 0). Entonces quedan 11 kilos para los primeros 3 alimentos. El j ∗
correspondiente a B3∗ (11) es 0, esto indica que hay que asignar 0 kilos al
tercer alimento. Entonces quedan 11 kilos para los primeros 2 alimentos. El
j ∗ correspondiente a B2∗ (11) es 3, esto indica que hay que asignar 3 kilos al
segundo alimento, o sea, 1 paquete del segundo alimento. Entonces quedan
8 kilos para el primer alimento, o sea, 2 paquetes.

306
12.3. EL PROBLEMA DEL MORRAL

x∗1 = 2,
x∗2 = 1,
x∗3 = 0,
x∗4 = 0,
B4∗ (11) = 38.

Uno podrı́a pensar que una manera simple de resolver este problema es
buscar el alimento con mayor beneficio por kilo, y asignar la mayor cantidad
posible de este alimento. Para los datos anteriores los beneficios por kilo
son: 3.5, 3.33, 3 y 3.56 . Entonces se deberı́an llevar dos paquetes del cuarto
alimento para un beneficio de 35.6 . Es claro que esta no es la mejor solución.
El problema del morral se puede convertir en uno análogo al problema
de los médicos, introduciendo bij el beneficio obtenido con i kilos dedicados
al alimento Aj
 
i
bij = bj
pj
Para los datos anteriores se tendrı́a la tabla

i bi1 bi2 bi3 bi4


0 0 0 0 0
1 0 0 0 0
2 0 0 6 0
3 0 10 6 0
4 14 10 12 0
5 14 10 12 17.8
6 14 20 18 17.8
7 14 20 18 17.8
8 28 20 24 17.8
9 28 30 24 17.8
10 28 30 30 35.6
11 28 30 30 35.6

y la solución óptima

0
x∗1 = 8,

307
CAPÍTULO 12. PROGRAMACIÓN DINÁMICA

0
x∗2 = 3,
0
x∗3 = 0,
0
x∗4 = 0,
B4∗ (11) = 38.

Es conveniente recordar que x0i indica el número de kilos dedicados al


producto i, luego x1 = 2, x2 = 1, x3 = 0, x4 = 0, B4∗ (11) = 38.
Este paso por el problema de los médicos, presenta un inconveniente
cuando C tiene un valor grande: es necesario construir una tabla muy grande
de datos (los beneficios), cuando en realidad el conjunto de datos es pequeño:
n, C, los pi , los bi .
El problema del morral también se puede generalizar al caso con cotas
inferiores y superiores para el número de paquetes de cada alimento.

12.4 PROBLEMA DE UN SISTEMA


ELÉCTRICO
12.4.1 Enunciado del problema
Un sistema eléctrico está compuesto por n partes. Para que el sistema fun-
cione se requiere que cada parte funcione. En cada parte hay que colocar
por lo menos una unidad, pero se pueden colocar varias unidades para au-
mentar la probabilidad de que esa parte funcione. La probabilidad de que
todo el sistema funcione es igual al producto de las probabilidades de que
cada parte funcione. Los datos del problema son:

ˆ n : número de partes

ˆ vi : número máximo de unidades que se pueden colocar en la parte i,


1≤i≤n

ˆ pij ≡ p(i, j) : probabilidad de que la parte i funcione si se colocan j


unidades, 1 ≤ i ≤ n, 1 ≤ j ≤ vi

ˆ cij ≡ c(i, j) : costo de colocar j unidades en la parte i del sistema,


1 ≤ i ≤ n, 1 ≤ j ≤ vi

ˆ C ∈ Z : cantidad disponible para la construcción del sistema eléctrico

308
12.4. PROBLEMA DE UN SISTEMA ELÉCTRICO

Se desea conocer el número de unidades que hay que colocar en cada


parte de manera que se maximice la probabilidad de que todo el sistema
funcione si se dispone de un capital de C pesos para la fabricación.
Se supone, lo cual es totalmente acorde con la realidad, que pij , cij son
crecientes con respecto a j, es decir, si el número de unidades aumenta
entonces ni el costo ni la probabilidad pueden disminuir, o sea, pij ≤ pi,j+1 ,
cij ≤ ci,j+1 para 1 ≤ j ≤ vi − 1. También se supone que 1 ≤ vi . Además
el dinero disponible C debe alcanzar para colocar en cada parte el número
máximo de unidades posible, o sea, c(i, vi ) ≤ C Si esto no es ası́, se puede
modificar el valor vi de la siguiente manera:

vi0 = ji donde c(i, ji ) = max {cij | cij ≤ C}.


1≤j≤vi

Además se deberı́a cumplir


n
X
c(i, vi ) ≤ C − c(j, 1), ∀i.
j=1
j6=i

El problema tiene solución si y solamente si


n
X
ci1 ≤ C
i=1

12.4.2 Planteamiento del problema de optimización


Sea xi el número de unidades colocadas en la parte i

n
Y
max f (x1 , x2 , ..., xn ) = p(i, xi )
i=1
n
X
c(i, xi ) ≤ C,
i=1
1 ≤ xi ≤ vi , i = 1, ..., n,
xi ∈ Z, i = 1, ..., n.

Este problema se puede resolver con fuerza bruta, construyendo todas


las posibilidades realizables y escogiendo la que maximice la probabilidad
de que todo el sistema funcione.

309
CAPÍTULO 12. PROGRAMACIÓN DINÁMICA

12.4.3 Solución recurrente


La idea recurrente es la misma de los problemas anteriores, el problema se
puede resolver dinámicamente, considerando inicialmente las mejores polı́-
ticas para la primera parte, luego para la primera y segunda partes, en
seguida para la primera, segunda y tercera partes y ası́ sucesivamente hasta
considerar todo el sistema eléctrico.
La cantidad de dinero que se gasta en las primeras k partes tiene que ser
suficiente para colocar por lo menos una unidad en cada una de las primeras
k partes, además debe permitir que con el resto se pueda colocar por lo
menos una unidad en las restantes n − k partes y no debe ser superior a la
cantidad necesaria para colocar el número máximo de unidades en cada una
de las primeras k partes. Entonces los lı́mites de variación serán:

k
X
Ck = ci1 1≤k≤n
i=1
( k n
)
X X
Dk = min c(i, vi ), C − ci1
i=1 i=k+1

Pk∗ (t) = probabilidad máxima de que el subsistema formado por


las primeras k partes funcione, si se gastan t pesos
en su construcción, donde 1 ≤ k ≤ n, Ck ≤ t ≤ Dk .
Objetivo final:

Pn∗ (C) = ?
Condiciones iniciales:

P1∗ (t) = max {p1j | c1j ≤ t}, C1 ≤ t ≤ D1


1≤j≤v1

Relación recurrente: Si se dispone de t pesos para el subsistema formado


por las partes 1, 2, ...., k, k + 1, entonces se puede disponer de s pesos para
las primeras k partes y el resto, t − s pesos, para la parte k + 1. Haciendo
variar s se escoge la mejor posibilidad. Si Ck+1 ≤ t ≤ Dk+1 entonces la
relación recurrente es:


Pk+1 (t) = max{Pk∗ (t − s)( max {pk+1,j | ck+1,j ≤ s})}.
1≤j≤vk+1

310
12.4. PROBLEMA DE UN SISTEMA ELÉCTRICO

0≤s≤t

0≤t−s≤t

Ck ≤t−s≤Dk

c(k+1,1)≤s≤c(k+1,vk+1 )

En esta fórmula resultan 4 cotas inferiores y 4 cotas superiores para


s. Algunas resultan redundantes. Sin embargo, ante la duda, es preferible
escribir dos veces la misma cosa, que olvidar alguna restricción importante.
Entonces s varı́a entre la mayor cota inferior y la menor cota superior.
El planteamiento puede resultar más claro si se define πit como la máxima
probabilidad de que la parte i funcione si se dispone de t pesos para su
construcción,

π(i, t) = πit := max {pij | cij ≤ t}, 1 ≤ i ≤ n, c(i, 1) ≤ t ≤ c(i, vi ).


1≤j≤vi

Basados en esta función π, la condiciones iniciales y la relación de recur-


rencia son:

P1∗ (t) = π1t , C1 ≤ t ≤ D1 ,



Pk+1 (t) = max{Pk∗ (t − s)π(k + 1, s)}, Ck+1 ≤ t ≤ Dk+1 .
t−Dk ≤ s ≤t−Ck

c(k+1,1)≤ s ≤c(k+1,vk+1 )

12.4.4 Resultados numéricos


Consideremos los siguientes datos: C = 10, n = 4, vi : 3, 3, 2, 3

j→ 1 2 3
p1j 0.4 0.6 0.8
p2j 0.5 0.6 0.7
p3j 0.7 0.8
p4j 0.4 0.6 0.8

j→ 1 2 3
c1j 2 3 5
c2j 2 4 5
c3j 2 5
c4j 1 3 6

311
CAPÍTULO 12. PROGRAMACIÓN DINÁMICA

entonces:

C1 = 2, D1 = 5,
C2 = 4, D2 = 7,
C3 = 6, D3 = 9,
C4 = 7, D4 = 10.

Condiciones iniciales: con 2 pesos se puede colocar una unidad en la


primera parte y la probabilidad de que la primera parte funcione es 0.4, con
3 pesos se pueden colocar dos unidades en la primera parte y la probabilidad
de que esta parte funcione es 0.6, con 4 pesos se pueden colocar únicamente
dos unidades en la primera parte y la probabilidad sigue siendo 0.6, con 5
pesos se pueden colocar tres unidades en la primera parte y la probabilidad
de que funcione la primera parte pasa a ser 0.6.

P1∗ (2) = π12 = 0.4, s∗ = 2,


P1∗ (3) = π13 = 0.6, s∗ = 3,
P1∗ (4) = π14 = 0.6, s∗ = 4,
P1∗ (5) = π15 = 0.8, s∗ = 5.

..
.
Para el cálculo de P2∗ (6) la variación de s está dada por 6 − D1 ≤ s ≤ 6 − C1 ,
c21 ≤ s ≤ c(2, v2 ), o sea, 6 − 5 ≤ s ≤ 6 − 2, 2 ≤ s ≤ 5,

P2∗ (6) = max {P1∗ (6 − s)π2s }


2≤s≤4
= max{P1∗ (4)π22 , P1∗ (3)π23 , P1∗ (2)π24 }
= max{0.6 × 0.5, 0.6 × 0.5, 0.4 × 0.6}
P2∗ (6) = 0.3, s∗ = 2.

..
.
La tabla con el resumen de los reultados es la siguiente:

312
12.5. MANTENIMIENTO Y CAMBIO DE EQUIPO

i P1∗ (i) s∗ P2∗ (i) s∗ P3∗ (i) s∗ P4∗ (i) s∗


2 .4 2
3 .6 3
4 .6 4 .2 2
5 .8 5 .3 2
6 .3 2 .14 2
7 .4 2 .21 2
8 .21 2
9 .28 2
10 .126 3

Con 10 pesos disponibles, la probabilidad máxima de que el sistema


funcione es 0.126, asignando 3 pesos para la cuarta parte, o sea, con 2
unidades en la cuarta parte. Quedan 7 pesos y el s∗ correspondiente a P3∗ (7)
es 2, luego con 2 pesos se coloca una unidad en la tercera parte. Quedan 5
pesos y el s∗ correspondiente a P2∗ (5) es 2, luego con 2 pesos se coloca una
unidad en la segunda parte. Quedan 3 pesos y el s∗ correspondiente a P1∗ (5)
es 3, luego con 3 pesos se colocan dos unidades en la primera parte.

x∗1 = 2,
x∗2 = 1,
x∗3 = 1,
x∗4 = 2,
P4∗ (10) = 0.126 .

12.5 PROBLEMA DE MANTENIMIENTO Y


CAMBIO DE EQUIPO POR UNO NUEVO
12.5.1 Enunciado del problema
Hoy 31 de diciembre del año 0, el señor Tuta y su socio el señor Rodrı́guez,
propietarios de un bus de e0 años de edad, desean planificar su polı́tica
de mantenimiento y compra de su equipo de trabajo, es decir de su bus,
durante n años. La decisión de seguir con el mismo equipo o comprar uno
nuevo se toma una vez al año, cada primero de enero. El señor Tuta tiene
mucha experiencia y puede evaluar de manera bastante precisa los siguientes
valores.

313
CAPÍTULO 12. PROGRAMACIÓN DINÁMICA

ˆ u : vida útil del equipo, en años,

ˆ pi : precio de un equipo nuevo al empezar el año i, 1 ≤ i ≤ n,

ˆ mij = m(i, j) : precio del mantenimiento durante el año i, desde el 2


de enero hasta el 31 de diciembre, de un equipo que al empezar ese
año (el 2 de enero), tiene j años de edad, 1 ≤ i ≤ n, 0 ≤ j ≤ u − 1,

ˆ vij = v(i, j) : precio de venta, el 1 de enero del año i, de un equipo


que en esta fecha tiene j años de edad, 1 ≤ i ≤ n + 1, 1 ≤ j ≤ u.

La decisión de comprar un equipo nuevo o guardar el que se tiene, se


toma y se lleva a cabo el 1 de enero de cada año. Al final de los n años la
compañı́a vende el equipo que tenga.

12.5.2 Solución recurrente


Sea Ek el conjunto de valores correspondientes a la edad que puede tener
el equipo al finalizar el año k. Si e0 < u entonces la edad que puede tener
el equipo al finalizar el primer año es 1 (si se compra uno nuevo) o e0 + 1
(si se continua con el mismo equipo durante el primer año), entonces E0 =
{1, e0 + 1}. Si e0 = u entonces la edad del equipo al finalizar el primer año
es necesariamente 1, luego E0 = {1}. De manera análoga, dependiendo de
e0 las edades al finalizar el segundo año pueden ser: E2 = {1, 2, e0 + 2} o
E2 = {1, 2}. En general

E0 = {e0 },
Ek+1 = { 1 } ∪ {j + 1 : j ∈ Ek , j < u}.

Sea

Ck∗ (e) = costo mı́nimo de la polı́tica de compra y mantenimiento del equipo


desde el 31 de diciembre del año 0 hasta el 31 de diciembre del año k,
de tal manera que el 31 de diciembre del año k el equipo tiene e años
de edad, 1 ≤ k ≤ n, e ∈ Ek .

Si el 31 de diciembre del año n el equipo tiene e años entonces hay que


vender el 1 de enero del año n + 1 a un precio v(n + 1, e). Entonces se debe
escoger la mejor opción entre las posibles. O sea, el objetivo final es conocer
el valor:

314
12.5. MANTENIMIENTO Y CAMBIO DE EQUIPO

min {Cn∗ (e) − vn+1,e } = ?


e∈En

Condiciones iniciales: Si al empezar el primer año se compra un bus


nuevo, bien sea porque e0 = u o bien sea porque se tomó esa decisión, se
recupera el dinero de la venta, se compra un bus nuevo y durante el primer
año se gasta en el mantenimiento de un bus con 0 años, ası́ al final del primer
año el bus tiene 1 año. Si no se compra bus entonces el único gasto es el
manteniemiento de un bus de e0 años, y al final del primer año el bus tiene
e0 + 1 años.
(
m(1, e0 ) si e = e0 + 1,
C1∗ (e) =
−v(1, e0 ) + p1 + m1,0 si e = 1.

Relación de recurrencia: Si e indica la edad del bus al final del año


k + 1, entonces e = 1 o e toma otros valores en Ek+1 . Si e > 1 entonces al
costo de la polı́tica óptima de los primeros k años se le aumenta el costo del
mantenimiento de un bus con e − 1 años. Si e = 1 entonces al final del año
k el bus podı́a tener d años, luego para cada edad d se toma el valor Ck∗ (d),
se le resta lo de la venta, se le suma el valor de la compra y se le agrega el
costo del mantemiento, y finalmente se escoge el menor valor.


 min {Ck∗ (d) − vk+1,d } + pk+1 + mk+1,0 si e = 1,
∗ d∈Ek
Ck+1 (e) =
C ∗ (e − 1) + mk+1,e−1 si e > 1.
k
k = 1, ..., n − 1, e ∈ Ek+1 .

12.5.3 Resultados numéricos


Consideremos los siguientes datos: n = 4, u = 4, e0 = 2, pi : 10, 12, 14,
15.

i mi0 mi1 mi2 mi3


1 1 3 4 6
2 1 3 4 5
3 1 2 4 6
4 2 3 4 5

315
CAPÍTULO 12. PROGRAMACIÓN DINÁMICA

i vi1 vi2 vi3 vi4


1 6 4 3 2
2 6 4 3 1
3 7 5 3 2
4 7 4 3 2
5 6 4 2 0
Entonces:

E1 = {1, 3},
E2 = {1, 2, 4},
E3 = {1, 2, 3},
E4 = {1, 2, 3, 4}.
Condiciones iniciales:

C1∗ (1) = −4 + 10 + 1 = 7,
C1∗ (3) = 4.

C2∗ (1) = min {C1∗ (d) − v2d } + p2 + m20


d∈E1
= min{C1∗ (1) − v21 , C1∗ (3) − v23 } + p2 + m20
= min{7 − 6, 4 − 3} + 12 + 1
C2∗ (1) = 14, d∗ = 1.

C2∗ (4) = C1∗ (3) + m23


= 4 + 5 = 9, d∗ = 3.
..
.
La tabla con el resumen de los reultados es la siguiente:

e C1∗ (e) s∗ C2∗ (e) s∗ C3∗ (e) s∗ C4∗ (e) s∗


1 7 2 14 1 20 2 28 3
2 10 1 16 1 23 1
3 4 2 14 2 20 2
4 9 3 19 3

316
12.6. PROBLEMA DE PRODUCCION Y ALMACENAMIENTO

Ahora es necesario encontrar min{C4∗ (e) − v5e }, es decir, el mı́nimo de


e
28 − 6, 23 − 4, 20 − 2, 19 − 0. Este valor mı́nimo es 18 y se obtiene para
e = 3. Si ek indica la edad del bus al finalizar el año k, entonces e4 = 3,
e3 = 2, e2 = 1. Al mirar en la tabla, para C2∗ (1) se tiene que d∗ = 1, o sea,
e1 = 1.
Si xk indica la decisión tomada al empezar el año k, con la convención
xk = 0 : se compra un bus nuevo,
xk = 1 : se mantiene el bus que se tiene,
entonces se puede decir que ek = 1 ⇒ xk = 0 y que ek > 1 ⇒ xk = 1.

x∗1 = 0,
x∗2 = 0,
x∗3 = 1,
x∗4 = 1.

12.6 PROBLEMA DE PRODUCCION Y


ALMACENAMIENTO
12.6.1 Enunciado del problema
Considere una compañı́a que fabrica un bien no perecedero. Esta compañı́a
estimó de manera bastante precisa las demandas d1 , d2 , . . ., dn de los n
perı́odos siguientes. La producción en el perı́odo i, denotada por pi , puede
ser utilizada, en parte para satisfacer la demanda di , o en parte puede ser
almacenada para satisfacer demandas posteriores. Para facilitar la com-
prensión del problema, supóngase que la demanda de cada perı́odo se satis-
face en los últimos dias del perı́odo. Sea xi el inventario al final del perı́odo
i − 1 despues de satisfacer la demanda di−1 , es decir, el inventario al em-
pezar el perı́odo i. El costo ci (xi , pi ) de almacenar xi unidades y producir
pi unidades durante el perı́odo i se supone conocido. También se conoce x1
el inventario inicial y xn+1 el inventario deseado al final de los n perı́odos.
Se desea planear la producción y el almacenamiento de cada perı́odo, de
manera que permitan cumplir con las demandas previstas y se minimice el
costo total de almacenamiento y producción.
Para facilitar el planteamiento se puede suponer que el inventario deseado
al final de los n periodos se puede incluir en la demanda del último periodo
dn , o sea, hacer dn ← dn + xn+1 , xn+1 ← 0.

317
CAPÍTULO 12. PROGRAMACIÓN DINÁMICA

12.6.2 Planteamiento del problema de optimización


Las variables de este problema son: x2 , x3 , ..., xn , p1 , p2 , ..., pn . Recordemos
que x1 , xn+1 son datos del problema. Las variables están relacionadas por
las siguientes igualdades

x1 + p1 − d1 = x2
x2 + p2 − d2 = x1 + p1 − d1 + p2 − d2 = x3
x3 + p3 − d3 = x1 + p1 − d1 + p2 − d2 + p3 − d3 = x4

En general,

i
X i
X
xi + pi − di = pj − dj + x1 = xi+1 , i = 1, ..., n. (12.1)
j=1 j=1

Es claro que para i = n,


n
X n
X
xn + pn − dn = pj − dj + x1 = 0. (12.2)
j=1 j=1

Sea

i
X
Di = dj − x1 , i = 1, ..., n, (12.3)
j=1

es decir, la demanda neta acumulada de los primeros i perı́odos, descon-


tando
Pn el inventario inicial. En particular, toda la producción esta dada por
j=1 pj = Dn . Entonces las igualdades que relacionan las variables son:

i−1
X
pj − Di−1 = xi , i = 2, ..., n, (12.4)
j=1
Xn
pj − Dn = 0. (12.5)
j=1

El problema de optimización es entonces:

318
12.6. PROBLEMA DE PRODUCCION Y ALMACENAMIENTO

n
X
min ci (xi , pi )
i=1
i−1
X
pj − Di−1 = xi , i = 2, . . . , n
j=1
Xn
pj − Dn = 0,
j=1

x2 , . . . , xn , p1 , . . . , pn ≥ 0,
x2 , . . . , xn , p1 , . . . , pn ∈ Z.

El problema se puede plantear únicamente con las variables p1 , ..., pn−1 . A


partir de (12.2) y (12.4) se tiene

−xn + dn = pn ,
n−1
X
− pj + Dn−1 + dn = pn ,
j=1
n−1
X
Dn − pj = pn .
j=1

La función objetivo se puede agrupar en tres partes:


n−1
X
min c1 (x1 , p1 ) + ci (xi , pi ) + cn (xn , pn )
i=2
Entonces el problema, expresado únicamente con las variables p1 , ..., pn−1 ,
es :

n−1
X i−1
X 
min c1 (x1 , p1 ) + ci pj − Di−1 , pi
i=2 j=1
n−1
X n−1
X 
+ cn pj − Dn−1 , Dn − pj
j=1 j=1
i−1
X
pj − Di−1 ≥ 0, i = 2, ..., n,
j=1

319
CAPÍTULO 12. PROGRAMACIÓN DINÁMICA

n−1
X
Dn − pj ≥ 0,
j=1

pi ≥ 0, pi ∈ Z, i = 1, ..., n − 1.

Para resolver este problema por la fuerza bruta, estudiando todas las
posibilidades, basta con considerar que el mayor valor de pi se tiene cuando
esta producción satisface por sı́ sola toda la demanda de los perı́odos i, i+1,
..., n. En ese caso no habrı́a producción en los perı́odos i + 1, ..., n. Dicho de
otra forma, la producción en el perı́odo i no debe ser mayor que la demanda
acumulada de los perı́odos i, ..., n.
Sea
n
X
Ei = dj , i = 1, ..., n,
j=i

entonces los siguientes son lı́mites para la variación de las variables pi

0 ≤ pi ≤ Ei , i = 1, ..., n − 1
Obviamente los valores p1 , ..., pn−1 deben cumplir las otras restricciones.
Igualmente es claro que para las variables xi también se tiene la misma
restricción, o sea, ni el inventario al empezar el perı́odo i, ni la producción
durante el perı́odo i pueden ser superiores a Ei
De la definición de Di y Ei se deduce inmediatamente que

Di + Ei+1 = Dn , i = 1, ..., n − 1

12.6.3 Solución recurrente


Sea

Ck∗ (q) = costo mı́nimo de producir en total q unidades durante


los primeros k perı́odos tal manera que se satisfagan las
demandas de estos perı́odos, 1 ≤ k ≤ n.

La producción acumulada de los primeros k perı́odos debe ser suficiente


para satisfacer la demanda total de estos k perı́odos (descontando x1 ) y no
debe sobrepasar la demanda total de los n perı́odos, entonces en la definición
de Ck∗ (q) la variación de q está dada por

320
12.6. PROBLEMA DE PRODUCCION Y ALMACENAMIENTO

Dk ≤ q ≤ Dn .

Objetivo final:

Cn∗ (Dn ) = ?

Condiciones iniciales:

C1∗ (q) = c1 (x1 , q), D1 ≤ q ≤ Dn .

Si en los primeros k + 1 perı́odos la producción es de q unidades y la


producción en el perı́odo k + 1 es de y unidades, entonces la producción
en los primeros k perı́odos es de q − y unidades y el inventario durante el
perı́odo k + 1 es q − y − Dk .
Relación recurrente:


Ck+1 (q) = min{Ck∗ (q − y) + ck+1 (q − y − Dk , y)},
0≤q−y≤q

Dk ≤q−y≤Dn

0≤q−y−Dk ≤Ek+1

0≤ y ≤Ek+1

definida para k = 1, . . . , n − 1, Dk+1 ≤ q ≤ Dn .


De las anteriores cotas inferiores y superiores para y y para q − y se
deduce fácilmente que 0 ≤ y ≤ q − Dk . En resumen


Ck+1 (q) = min {Ck∗ (q − y) + ck+1 (q − y − Dk , y)}.
0≤y≤q−Dk

12.6.4 Resultados numéricos


Consideremos los siguientes datos: n = 4, di = 2, 3, 2, 5, ci (xi , pi ) = hxi +
γi pi , h = 2, γi = 1, 4, 3, 6, x1 = 1, x5 = 0.
Entonces
D1 = 1, D2 = 4, D3 = 6, D4 = 11.

321
CAPÍTULO 12. PROGRAMACIÓN DINÁMICA

C1∗ (q) = c1 (x1 , q)


= 2x1 + 1q
= 2 + q, 1 ≤ q ≤ 11.

C2∗ (q) = min {C1∗ (q − y) + c2 (q − y−, y)}


0≤y≤q−1

= min {2 + (q − y) + 2(q − y − 1) + 4y}


0≤y≤q−1

= min {3q + y}, y ∗ = 0


0≤y≤q−1

= 3q, 4 ≤ q ≤ 11.

C3∗ (q) = min {C2∗ (q − y) + c3 (q − y − 4, y)}


0≤y≤q−4

= min {3(q − y) + 2(q − y − 4) + 3y}


0≤y≤q−4

= min {5q − 2y − 8}, y ∗ = q − 4


0≤y≤q−4

= 3q, 6 ≤ q ≤ 11.

C4∗ (11) = min {C3∗ (11 − y) + c4 (11 − y − 6, y)}


0≤y≤11−6

= min {3(11 − y) + 2(5 − y) + 6y}


0≤y≤5

= min {43 + y}, y ∗ = 0


0≤y≤5

= 43.

La producción óptima en el cuarto perı́odo es 0, luego la producción en


los tres primeros perı́odos es 11. La producción óptima en el tercer perı́odo
es q − 4 = 11 − 4 = 7, luego la producción en los dos primeros perı́odos es
4. La producción óptima en el segundo perı́odo es 0, entonces la producción
óptima para el primer perı́odo es 4

p∗4 = 0,

322
12.6. PROBLEMA DE PRODUCCION Y ALMACENAMIENTO

p∗3 = 7,
p∗2 = 0,
p∗1 = 4,
C4∗ (11) = 43.

323
CAPÍTULO 12. PROGRAMACIÓN DINÁMICA

EJERCICIOS

12.1 Una corporación tiene n plantas de producción. De cada una de ellas


recibe propuestas para una posible expansión de las instalaciones. La
corporación tiene un presupuesto de D mil millones de pesos para asig-
narlo a las n plantas. Cada planta Pi envı́a sus propuestas, indicando
ni el número de propuestas, ci (j) el costo de la propuesta pij y gi (j) la
ganancia adicional total acumulada al cabo de m años. Obviamente
en cada planta se lleva a cabo una sola propuesta. Una propuesta
válida para una planta consiste en no invertir en expansión, siendo su
costo y ganancia nulos. Más aún, se podrı́a pensar que en este caso la
ganancia podrı́a ser negativa.
Plantee el problema de optimización. Resuelva el problema por PD:
defina una función que permita la recurrencia, dé las condiciones ini-
ciales, la relación de recurrencia.
Resuelva el problema para los siguientes valores numéricos: n = 3,
D = 5,

Planta 1 Planta 2 Planta 3


c1 (j) g1 (j) c2 (j) g2 (j) c3 (j) g3 (j)
Prop. 1 0 0 0 0 0 0
Prop. 2 2 8 1 5 1 3
Prop. 3 3 9 2 6
Prop. 4 4 12

12.2 El proceso de manufactura de un bien perecedero es tal que el costo


de cambiar el nivel de producción de un mes al siguiente es $a veces
el cuadrado de la diferencia de los niveles de producción. Cualquier
cantidad del producto que no se haya vendido al final del mes se des-
perdicia con un costo de $b por unidad. Si se conoce el pronóstico de
ventas d1 , d2 , . . ., dn para los próximos n meses y se sabe que en el
último mes (el mes pasado) la producción fue de x0 unidades.
Plantee el problema de optimización. Resuelva el problema por PD:
defina una función que permita la recurrencia, dé las condiciones ini-
ciales, la relación de recurrencia.
Resuelva el problema para los siguientes valores numéricos: n = 4,
a = 1, b = 2, di = 42, 44, 39,36, x0 = 40 .

324
12.6. PROBLEMA DE PRODUCCION Y ALMACENAMIENTO

12.3 Considere el problema del morral con cotas inferiores y superiores con
los siguientes datos: C = capacidad en kilos del morral (entero poso-
tivo); n número de alimentos; p1 , p2 , ..., pn , donde pi es un entero
positivo que indica el peso, en kilos, de un paquete del alimento i; b1 ,
b2 , ..., bn , donde bi indica el beneficio de un paquete del alimento i;
u1 , u2 , ..., un , donde ui es un entero no negativo que indica el número
mı́nimo de paquetes del alimento i que el montañista debe llevar; v1 ,
v2 , ..., vn , donde vi es un entero que indica el número máximo de pa-
quetes del alimento i que el montañista debe llevar. Los datos cumplen
con la condición ui < vi ∀i.
Plantee el problema de optimización. Resuelva el problema por PD:
defina una función que permita la recurrencia, dé las condiciones ini-
ciales, la relación de recurrencia.

12.4 A partir del lunes próximo usted tiene n exámenes finales y m ≥ n


dı́as para prepararlos. Teniendo en cuenta el tamaño y la dificultad
del tema usted a evaluado cij la posible nota o calificación que usted
obtendrı́a si dedica i dı́as para estudiar la materia j. Usted ha estu-
diado regularmente durante todo el semestre y en todas sus materias
tiene buenas notas de tal forma que aún obteniendo malas notas en
los exámenes finales usted aprobará todas las materias. En consecuen-
cia su único interés es obtener el mejor promedio posible. De todas
maneras piensa dedicar por lo menos un dı́a para cada materia.
Plantee el problema de optimización. Resuelva el problema por PD:
defina una función que permita la recurrencia, dé las condiciones ini-
ciales, la relación de recurrencia.
Resuelva el problema para los siguientes valores numéricos: n = 4
materias, m = 7 dı́as,

c0j 10 10 05 05
c1j 20 15 35 10
c2j 23 25 30 20
c3j 25 30 40 35
c4j 40 35 42 40
c5j 45 40 45 45
c6j 48 48 45 48
c7j 50 48 48 50

12.5 Una empresa agrı́cola tiene actualmente x0 empleados y conoce de

325
CAPÍTULO 12. PROGRAMACIÓN DINÁMICA

manera bastante precisa las necesidades de mano de obra para las sigu-
ientes n semanas de cosecha, es decir, conoce los valores ei , i = 1, ..., n,
donde ei es el número de empleados necesarios durante la semana i.
También conoce: ci (j) el precio de contratar j empleados nuevos al em-
pezar la semana i, i = 1, ..., n; di (j) el costo de despedir j empleados
al finalizar la semana i, i = 0, ..., n; y mi (j) el costo de mantener sin
trabajo (pero con sueldo) j empleados durante la semana i, i = 1, ..., n.
Después de las n semanas de cosecha, la empresa únicamente necesita
en+1 , un número pequeño de empleados que se quedan trabajando por
varias semanas. La empresa desea saber cuantos empleados debe tener
durante cada una de las n semanas.
Plantee el problema de optimización. Resuelva el problema por PD:
defina una función que permita la recurrencia, dé las condiciones ini-
ciales, la relación de recurrencia.
Resuelva el problema para los siguientes valores numéricos: n = 4,
x0 = 10, ei = 30, 45, 40, 25, en+1 = 5, ci (j) = 10 + 3j, di (j) = 6j,
mi (j) = 8j.

12.6 Un zoocriadero de chigüiros tiene actualmente x0 animales y tiene


capacidad para una gran cantidad de ellos. En un año el número de
chiguiros se multiplica por a > 1. Al principio de cada año (del año
i) el gerente toma la decisión de vender algunos chigüiros al precio
unitario pi , i = 1, ..., n + 1. Después de n años se venden todos los
chigüiros. El gerente desea saber cuantos chigüiros debe vender al
comienzo de cada uno de los n años.
Plantee el problema de optimización. Resuelva el problema por PD:
defina una función que permita la recurrencia, dé las condiciones ini-
ciales, la relación de recurrencia.
Resuelva el problema para los siguientes valores numéricos: n = 4,
x0 = 5, a = 3, pi = 50, 10, 60, 25, 45.

12.7 Resuelva por PD el siguiente problema de optimización:

min f (x1 , x2 ) = (x1 − 3)2 + (x2 − 4)2 + (x1 − x2 )2

Sugerencia. Fije una variable y halle la solución (en función de la


variable fija). Haga variar la variable que estaba fija.

12.8 Resuelva por PD el siguiente problema de PL:

326
12.6. PROBLEMA DE PRODUCCION Y ALMACENAMIENTO

max z = x1 + 1.4x2
x1 + x2 ≤ 40
x1 + 2x2 ≤ 58
x ≥ 0.

327
CAPÍTULO 12. PROGRAMACIÓN DINÁMICA

328
BIBLIOGRAFÍA

[ArGa85] Armitano O., Edelman J., Garcı́a U., Programación no lineal,


Limusa, México, 1985.

[Aro86] Arora Jasbir S., Introduction to Optimum Design, McGraw-Hill,


New York, 1989.

[Atk78] Atkinson Kendall E., An Introduction to Numerical Analysis, Wiley,


New York, 1978.

[Avr76] Avriel Mordecai, Nonlinear Programming, Analysis and Methods,


Prentice-Hall, Englewood Cliffs, 1976.

[Bea96] Beasley John E. ed., Advances in Linear and Integer Programming,


Oxford U. Press, Oxford, 1996.

[Ber95] Bertsekas Dimitri, Nonlinear Programming, Athena Scientific, Bel-


mont, 1995.

[BGLS97] Bonnans J. Frédéric, Gilbert Jean Charles, Lemarechal Claude,


Sagastizábal Claudia, Optimisation Numérique, Aspects théoriques et
pratiques, Springer, Berlin, 1997.

[BSS93] Bazaraa M. S., Sherali H. D., Shetty C. M., Nonlinear Program-


ming, Theory and Algorithms, 2nd ed., Wiley, New York, 1993.

[Bjo96] Björck Ake, Numerical Methods for Least Square Problems, SIAM,
Philadelphia, 1996.

[Cia82] Ciarlet P. G., Introduction à l’analyse numérique matricielle et à


l’optimisation, Masson, Paris, 1982.

[Dan93] Dantzig G. B., Linear Programming and Extensions, Princeton


University Press, Princeton, 1963

329
BIBLIOGRAFÍA

[den94] den Hertog D., Interior Point Approach to Linear, Quadratic,


and Convex Programming, Algorithms and Complexity, Kluwer, Dor-
drecht, 1994.

[DeSc83] Dennis J. E. Jr., Schnabel R. B., Numerical Methods for Uncon-


strained Optimization and Nonlinear Equations,
Prentice Hall, Englewood Cliffs, 1983.

[Des76] Desbazeille Gérard, Exercices et problèmes de recherche


opérationnelle, Dunod, Paris, 1976.

[FiMc68] Fiacco Anthony V., McCormick Garth P., Nonlinear Program-


ming, Sequential Unscontrained Minimization Techniques, Wiley, New
York, 1968, reimpreso por SIAM, Philadelphia, 1990.

[Flm69] Fleming Wendell H., Funciones de diversas variables, Centro Re-


gional de Ayuda Técnica AID, México, 1969.

[Fle87] Fletcher R., Practical Methods of Optimization, 2nd ed., Wiley,


Chichester , 1987.

[GMWl81] Gill Ph., Murray W., Wright M., Practical Optimization, Aca-
demic Press, London, 1981.

[GoVa96] Golub Gene H., Van Loan Charles F., Matrix Computations, 3rd
ed., The Johns Hopkins University Press, Baltimore, 1996.

[Gri00] Griewank Andreas, Evaluating Derivatives, Principles and Tech-


niques of Algorithmic Differentiation, SIAM, Philadelphia, 2000.

[HaHo91] Hammerlin Gunther, Hoffmann Karl-Heinz, Numerical


Mathematics, Springer-Verlag, New York, 1991.

[HePe83] Helary Jean Michel, Pedrono René, Recherche opérationnelle, Ex-


ercices corrigés, Hermann, Paris, 1983.

[HiLi74] Hillier Frederick S., Lieberman Gerald J., Operations Research, 2nd
ed., Holden Day, San Francisco, 1974.

[Kel99] Kelley C.T., Iterative Methods for Optimization, SIAM, Philadel-


phia, 1999.

[KlMi72] Klee V., Minty G. J.,, How good is the simplex algorithm, en
SHISHA O., Inequalities III, Academic Press, New York, 1972.

330
BIBLIOGRAFÍA

[LaHa74] Lawson Charles L., Hanson Richard J., Solving Least Square Prob-
lems, Prentice Hall, Englewood Cliffs, 1974, reimpreso por SIAM,
Philadelphia, 1996.

[Lue89] Luenberger David E., Programación lineal y no lineal, Addison Wes-


ley Iberoamericana, Wilmington, 1989.

[Man69] Mangasarian Olvi L., Nonlinear Programming, Tata McGraw Hill,


Bombay, 1969.

[Mar87] Márquez Javier, Fundamentos de teorı́a de optimización, Limusa,


México, 1987.

[Min83] Minoux Michel, Programmation Mathématique, Théorie et algo-


rithmes, tome 1,2, Dunod, Paris, 1983.

[MoWr93] Moré Jorge J., Wright Stephen J., Optimization Software Guide,
SIAM, Philadelphia, 1993.

[NaSo96] Nash Stephen G., Sofer Ariela, Linear and Nonlinear Program-
ming, McGraw-Hill, New York, 1996.

[NoWr99] Nocedal Jorge, Wright Stephen J., Numerical Optimization,


Springer, New York, 1999.

[PSU88] Peressini A. L., Sullivan F. E., Uhl J. J. Jr., The Mathematics of


Nonlinear Programming, Springer-Verlag, New York, 1988.

[Pra81] Prawda Juan, Métodos y Modelos de Investigación de Operaciones,


Vol. 1, Modelos Determinı́sticos, Limusa, México, 1981.

[Pre86] Press William H. et al., Numerical Recipes, The Art of Scientific


Computing, Cambridge University Press, Cambridge, 1986.

[Roc70] Rockafellar R. Tyrrell, Convex Analysis, Princeton University


Press, Princeton, 1970.

[RTV97] Roos Kees, Terlaky Tamás, Vial Jean-Philippe, Theory ans Algo-
rithms for Linear Optimization, An Interior Point Approach, Wiley,
Chichester, 1997.

[Ros85] Roseaux (groupe), Exercices et problèmes résolus de recher-


che opérationnelle, Tome 3, Programmation linéaire et extensions,
problèmes classiques, Masson, Paris, 1985.

331
BIBLIOGRAFÍA

[Sim75] Simmons Donald M., Nonlinear Programming for Operations Re-


search, Prentice-Hall, Englewood Cliffs, 1975.

[Spe94] Spedicato Emilio, ed., Algorithms for Continuous Optimization,


The State of the Art, Kluwer, Dordrecht, 1994.

[StBu93] Stoer J., Bulirsch R., Introduction to Numerical Analysis, 2nd ed.,
Springer-Verlag, New York, 1993.

[Ter96] Terlaky Tamás, ed., Interior Point Methods of Mathematical Pro-


gramming, Kluwer, Dordrecht, 1996.

[Tah82] Taha Handy A., Operations Research, 3rd ed., Macmillan, New
York, 1982.

[Van96] Vanderbei Robert J., Linear Programming, Foundations and Ex-


tensions, Kluwer, Boston, 1996.

[Var78] Varela Jaime E., Introducción a la investigación de operaciones,


Fondo Editorial Colombiano, Bogotá, 1978.

[Wri97] Wright Stephen J., Primal-Dual Interior Point Methods SIAM,


Philadelphia, 1997.

[Ye97] Ye Yinyu, Interior Point Algorithms, Theory and Analysis, Wiley,


New York, 1997.

332

También podría gustarte