Subido por ANGEL CARLOS WILFREDO SANGIACOMO CARAZAS

Total 10 Y1 16 a2 2022 Curso de OPTIMIZACION NO LINEAL

Anuncio
Introducción a la Optimización No Lineal
INTRODUCCIÓN A LA OPTIMIZACIÓN NO LINEAL CON
SOFTWARE DE APLICACIÓN DIDÁCTICA
CUARTA EDICIÓN
Dr. Angel Sangiacomo C.
Universidad Nacional de San Agustín
Departamento de Matemática y Estadística
Facultad de Ciencias Naturales y Formales
Universidad Nacional de San Agustín
Arequipa - Perú
Ing. Fernando Ayres Hidalgo.
Universidad Alas Peruanas
Facultad de Ingeniería de Sistemas
Arequipa - Perú
Arequipa
Perú
2006
A. Sangiacomo C.
F. Ayres H.
I
Introducción a la Optimización No Lineal
Título del Texto en su Cuarta Edición:
INTRODUCCIÓN A LA OPTIMIZACIÓN NO LINEAL CON SOFTWARE DE APLICACIÓN DIDÁCTICA
Autores:
Dr. Ángel Carlos Wilfredo Sangiacomo Carazas.
Profesor principal
Departamento de Matemática y Estadística
Facultad de Ciencias Naturales y Formales
Universidad Nacional de San Agustín
Ing. Fernando Ayres Hidalgo
Profesor auxiliar
Departamento de Matemática y Estadística
Facultad de Ciencias e Ingenierías y Arquitectura
Universidad Alas Peruanas
Primera edición 2000
Cuarta edición 2006
La presentación y disposición en conjunto de INTRODUCCIÓN A LA OPTIMIZACIÓN NO LINEAL CON SOFTWARE DE
APLICACIÓN DIDÁCTICA, son propiedad de los autores. Toda parte de este texto puede ser reproducida, archivada o
transmitido en forma alguna o mediante algún sistema electrónico mecánico, de fotorreproducción, memoria o cualquier
otro sin la autorización expresa por escrito de los autores, incluye los programas didácticos y sus manuales que es
totalmente.
Derechos reservados en Lengua española
© 2006
Impreso en Arequipa
Perú
2006
A. Sangiacomo C.
F. Ayres H.
II
Introducción a la Optimización No Lineal
A MIS HIJOS
MIGUEL ANGEL
IVETT GIANELLA CANDELARIA
JOSÉ ALEJANDRO
A MI MADRE
A MI PADRE
A MIS ALUMNOS
DE LOS CURSOS DE MÉTODOS Y OPTIMIZACIÓN NO LINEAL
A TODAS LAS PERSONAS QUE GUSTAN
DE LAS COSAS PRÁCTICAS Y EFECTIVAS
A. Sangiacomo C.
A. Sangiacomo C.
F. Ayres H.
III
Introducción a la Optimización No Lineal
A. Sangiacomo C.
F. Ayres H.
IV
Introducción a la Optimización No Lineal
PREFACIO A LA CUARTA EDICIÓN
El Tratamiento de un problema integral requiere en mucho de al aplicación de
un proceso de optimización simple o complejo, a veces no tiene solución
elemental (algebraica o analítica) pero nosotros para dar una solución nos
basamos en una serie de cualidades que empiezan con el criterio de existencia
de un mínimo [de alguna manera], el problema es de dar esa solución y al
mismo tiempo que sea estable.
El propósito del presente texto se resume en el siguiente objetivo:
Presentar un conjunto de programas (de prueba) que resuelvan los
problemas que involucran optimización, por alguno de los conocidos
métodos de aproximación numérica a su servicio y además le brinde
información de esta solución.
Presentar de manera moderna (en forma visual) a la luz de técnica de
resolución rápida por ordenador de procesos iterativos en muy poco tiempo
y además que muestren los pasos intermedios en el peor de los casos.
Entonces aquí se presenta un modulo general con toda la teoría elemental de
funciones convexas, un conjunto de métodos para funciones unimodales de
una variable, pero que son adaptables a varias variables.
Después se presenta los métodos de descenso, sin descuidar los aspectos
teóricos y también los aspectos computacionales. Se adicionan los códigos de
los programas que se usan.
A. Sangiacomo C.
F. Ayres H.
V
Introducción a la Optimización No Lineal
El texto también hace un tratamiento de los problemas con restricciones y
algunos métodos de aplicación directa.
Insisto la idea de que el texto para que se usen los programas para la solución
de sus problemas de optimización, cualquiera que sea y pueda analizar y dar
un dictamen de su comportamiento.
Para finalizar queremos agradecer de manera especial a todos los alumnos del
curso de Optimización No Lineal de la Escuela Profesional de Matemática a
donde se permite aplicar este contenido y experimentar con los problemas en
el laboratorio hasta tener ciertos resultados que podríamos llamar aceptables.
Angel Sangiacomo Carazas
Fernando Ayres Hidalgo
Arequipa Perú
2006
E-Mail angel_sangiacomo@yahoo.com
A. Sangiacomo C.
angelsangiacomo @gmail.com
F. Ayres H.
VI
Introducción a la Optimización No Lineal
ÍNDICE
INTRODUCCIÓN
Modelos Matemáticos y Modelos Físicos
Variables y parámetros
Modelos Matemáticos
Modelos Físicos
Función Objetivo
1
1
1
4
6
8
CAPÍTULO 1
Optimización no lineal
Propiedades básicas de la solución y algoritmos
Condiciones necesarias de primer orden
Direcciones factibles
Ejemplos de problemas sin restricciones
Condiciones de segundo orden
Condiciones suficientes para un mínimo relativo
Funciones convexas y cóncavas
Combinaciones de funciones convexas
Propiedades de las funciones convexas diferenciables
Minimización y maximización de funciones convexas
Convergencia global de algoritmos de descenso
Algoritmos
Descenso
Transformaciones cerradas
Teorema de la convergencia global
Rapidez de convergencia
Orden de convergencia
Convergencia lineal
Tasas promedio
Convergencia de vectores
11
11
13
14
15
18
22
24
25
25
27
29
31
32
36
37
38
41
41
43
44
45
CAPÍTULO 2
Métodos básicos de descenso
Búsqueda de Fibonacci
Método de búsqueda de la sección áurea
49
49
50
52
A. Sangiacomo C.
F. Ayres H.
VII
Introducción a la Optimización No Lineal
Búsqueda Lineal Mediante Ajuste de Curvas
Interpolación Cúbica
Algoritmo Interpolación Cúbica
Interpolación Cuadrática
Algoritmo de Interpolación Cuadrática
Método de Newton (Newton Raphson)
Algoritmo de Newton
Método de la falsa posición o de la cuerdas
Algoritmo de la Falsa posición (cuerdas)
Cierre de algoritmos de búsqueda lineal
Método de descenso mayor pendiente
El método de mayor pendiente
Convergencia global
El caso cuadrático
Desigualdad de Kantorovich
El caso no cuadrático
Aplicación de la teoría
Escalas
Método de Newton
Convergencia de orden dos
Modificaciones
El descenso Coordenado
55
55
56
57
58
59
61
61
63
64
65
66
67
67
69
73
74
76
78
79
79
82
CAPÍTULO 3
Métodos de dirección conjugada
Direcciones conjugadas
Teorema de la dirección conjugada
Propiedades de descenso del método de la dirección conjugada
Teorema del subespacio en expansión
Método del gradiente conjugado
Algoritmo del gradiente conjugado
Verificación del algoritmo
Teorema del gradiente conjugado
El método G-C como un proceso optimal
Cotas en la Convergencia
Extensión a problemas no cuadráticos
Aproximación cuadrática
Algoritmo del Caso No cuadrático
Métodos de búsqueda lineal
Algoritmo de Fletcher-Reeves
Algoritmo de Polak - Ribiere
Métodos cuasi Newton
86
86
86
89
90
90
92
93
96
96
98
99
101
102
102
103
103
104
105
A. Sangiacomo C.
F. Ayres H.
VIII
Introducción a la Optimización No Lineal
Método de newton modificado
Teorema del método de Newton modificado (Caso cuadrático)
Un método clásico
Construcción de la inversa
Corrección de rango uno
Método de Davidon-Fletcher-Powell
Algoritmo alternativo de Davidon-Fletcher-Powell
Definición positiva
Convergencia en pasos finitos
La familia de Broyden
Mejora de la razón de valores propios
Factores de Escala
Un Algoritmo Cuasi Newton de Autoescala
Métodos Cuasi Newton Sin Memoria
105
106
108
108
109
111
111
115
116
117
121
123
124
124
CAPÍTULO 4
Minimización con Restricciones
Condiciones para la minimización con restricciones
Restricciones
El Plano Tangente
Condiciones Necesarias de Primer Orden (Restricciones de Igualdad)
Condiciones de Segundo Orden
Condiciones necesarias de segundo orden
Condiciones de suficiencia de segundo orden
Restricciones de desigualdad
Condiciones necesarias de primer orden
Condiciones de Kuhn - Tucker
Condiciones de Segundo Orden
Condiciones necesarias de segundo orden
Condiciones de suficiencia de segundo orden
128
128
128
128
130
132
134
134
135
136
137
137
139
139
140
CAPÍTULO 5
Métodos Primales
Ventajas de los Métodos Primales
Métodos de Conjunto Activo
Cambios en el Conjunto de Trabajo
Teorema del Conjunto Activo
Método de Proyección del Gradiente
Restricciones No Lineales
Método de Gradiente Reducido
El caso de Restricciones Lineales
142
142
142
145
147
148
149
153
155
156
A. Sangiacomo C.
F. Ayres H.
IX
Introducción a la Optimización No Lineal
APÉNDICE
Identificación de parámetros en modelos de compartimentos y funciones
convexas en procesos farmacológicos
Identificación de Parámetros en Modelos de Compartimentos
Elección de un problema Específico de Identificación
Reducción a un Problema de Programación No Lineal
con Restricciones Lineales
Solubilidad y Método de Gradiente y Condición de Convexidad
Método de Solución y Funciones convexas
Método de Gradiente
Problema de modelación
[Motivaciones, Conceptos, métodos, recursos]
[Análisis del sistema, marco experimental, relaciones, restricciones,
estrategias de solución]
[Formulación de hipótesis, Formulación del modelo básico,
Formulación del modelo simplificado]
Problema de aplicación práctica para la solución real y directa
en la molienda de minerales
Aplicación del método de Newton para hallar raíces complejas
en ecuaciones
160
Bibliografía
Índice alfabético
186
A. Sangiacomo C.
F. Ayres H.
160
161
162
164
165
166
167
170
170
171
172
178
181
X
Introducción
Introducción a la Optimización No Lineal
modelos Matemáticos
modelos Físicos.
0.0. Introducción
y
los
También este punto es para
mencionar los elementos de estos y
una posible clasificación.
0.1.1. Variables y Parámetros
La tendencia mundial actual, hacia
la opción de una economía de libre
mercado, ha incrementado la
competitividad en las industrias en
general, el mismo que ha obligado a
las empresas a incrementar su
eficiencia, mediante la optimización
del
proceso
de
fabricación,
desarrollo de nuevos procesos y
productos.
Generalmente para conseguir estos
objetivos, se utiliza (consiente o
inconscientes) un método de
experimentación, desde experimentación intuitiva hasta los diseños
robustos que deben de optimizar los
resultados.
0.1. M o d e l o s M a t e m á t i c o s y
Modelos Físicos
Tenemos que una herramienta
importante para la optimización,
control y desarrollo de nuevos
procesos, lo constituye el uso de los
Angel Sangiacomo C.
Parámetro: Aquel que no cambia o
no puede cambiar su valor durante
el rango de validez del modelo
matemático o físico de un proceso.
Comúnmente
aparecen
como
simples
constantes
en
las
ecuaciones matemáticas. Por ejemplo:
capacidad de celdas de flotación,
coeficientes de conductividad térmica del
acero, calor específico del agua, etc.,
En una función matemática como
f(x)=ax2–dx–1, donde los parámetros son a y d.
En un problema y ' ∝ ( A − y ) cuya
ecuación
diferencial
sería
y ' = m ( A − y ) , cuyos parámetros
son k, A y m, pues la solución es
y = A + ke − mt .
Variables: Son aquellas que
asumen más de un valor o estado
durante el rango de validez del
modelo.
Por ejemplo: espesor de las
planchas de acero, tiempo,
dosificación de reactivos
En matemática en la fórmula
f(x)=ax2–dx–1, donde la varia1
Introducción
ble es x o en y = A + ke − mt la
variable es t.
Las variables son normalmente
clasificadas dentro de un número de
categorías, basadas principalmente
en cómo son observadas desde el
punto de vista de operación de un
proceso. Sin embargo, para los
propósitos de modelamiento es
esencial tener una idea clara sobre
la naturaleza de cada variable
incluida en el modelo.
Entre estas tenemos:
Introducción a la Optimización No Lineal
tales que la salida de una etapa es la
entrada de la siguiente etapa. La
variables que describen las propiedades de estos semi-productos son
denominadas variables intermedias.
Variables independientes:
Es una variable de proceso que
puede
tomar
valores
independientemente de las otras
variables. (Así, para definir una variable
dependiente debe existir por lo menos una
variable independiente.)
Una Máquina
Variables dependientes:
Son aquellas que describen los
resultados de un proceso, tal como
cantidad, calidad de productos y
factores económicos, como costos o
producción, valor de venta en la
producción.
En el caso de f(x)=ax2–dx–1=y o P = Sub Proceso1
P2 = Sub Proceso2
1
− mt
y = A + ke
la
variable Dependientes
Independientes
xi = Controlable
dependiente es “y” de donde se yi = Perfomance
ui = No Controlable
ve que representa el resultado de Wi = Intermedia
zi = Desconocida
aplicar las variable x o t.
Figura 2.
Variables Controlables:
(Manipulable) Una variable controlable o manipulable es aquella cuyo
Figura 1.
valor o estado puede ser medido o
controlado independientemente de
Variables intermedias:
las otras variables. Ejemplo la
Si el proceso puede ser dividido en temperatura de laminación; la
una serie de etapas o subprocesos;
Angel Sangiacomo C.
2
Introducción
dosificación
flotación.
Introducción a la Optimización No Lineal
de
reactivos
de segundo); A/m2 amperaje y área de
un electrodo. (Por ejemplo en
electrometalurgia es común definir las variables
Variables no controlables: Una amperaje y área del electrodo como densidad de
corriente, definida como amperios por unidad de
variable no controlada es una
área del electrodo.)
variable independiente cuyo valor o
estado puede ser medido, pero no
controlado. Por ejemplo: La
humedad del aire; la ley de cabezas
de mineral, en que el valor puede
ser medido analíticamente, pero no
puede ser controlado ya que
depende del mineral en el lugar;
otro es el de contenido de
impurezas en las chatarras, precio
de los metales.
Variables desconocida: Es aquella
cuyo valor o estado no pude ser
medida ni controlable con los
instrumentos existentes, o también
que su medida o control representan
un costo muy alto que no justifica
una inversión. Temperatura de
fusión en los altos hornos.
Variables indirectas: son la
compuestas; y=g(f(x)). Muchas
variables independientes, o pueden
ser combinadas adecuadamente por
medio de una relación analítica para
formar una variable indirecta o
transformada [hi=hi(xi, uk)]. Así, hi
debe representar desde el punto de
vista la performance del proceso
toda la información contenida en xi
y uk. Ejemplo: km/s (kilómetros por
Angel Sangiacomo C.
0.2. Modelos Matemáticos
Modelos Físicos
y
Un modelo matemático es una
descripción simplificada de un
evento o una situación dada. Así, en
cualquier actividad de nuestra vida
usamos modelos consientes o no,
complejos y simples, explícitos o
tácitos. Por ejemplo la manera
como estudiamos o el ritmo de
trabajo son también modelos.
Una herramienta importante, no
sólo para la optimización de
procesos, sino también para su
evaluación, control y desarrollo de
nuevos procesos lo constituye el
uso de los modelos matemáticos y
físicos. Por ello es importante
definir los principios y analizar las
estrategias que deben ser empleadas
en una situación dada.
0.2.1. Modelos Matemáticos
Un modelo matemático consiste en
un sistema de ecuaciones algebraicas o diferenciales que repre3
Introducción
sentan cuantitativamente el proceso
o algunos aspectos del proceso. Su
formulación depende del conocimiento de las leyes que gobiernan el
proceso y de la habilidad de
expresarlas matemáticamente. Por
ejemplo podemos construir un
modelo matemático que defina el
tiempo de solidificación de un
lingote de acero, o la velocidad de
enfriamiento para evitar rajaduras.
Introducción a la Optimización No Lineal
A manera de ejemplo, consideremos una
partícula metálica esférica de radio R, la
cual está inicialmente a temperatura Ti . A
un tiempo t=0 la partícula comienza a
perder calor por radiación al medio
ambiente el cual tiene una Te (escala
Kelvin). Se requiere establecer un modelo
matemático que representa la distribución
de la temperatura en el interior de la
esfera, en función del tiempo
0.2.1.1. Clasificación
Modelos Matemáticos Teóricos
(fenomenológicos)
b) Modelos Matemáticos Empíricos
(tipo Black - Box)
Figura 3.
c) Modelos Matemáticos Semi - El modelo dependiente del tiempo con la
temperatura de la partícula esférica, está
Empíricos.
dada por la ecuación diferencial de
conducción del calor, en sistema de
a) Modelos Matemáticos Teóricos coordenadas esféricas:
2∂T
∂T
∂ 2T
(fenomenológicos)
a)
∂t
Se derivan fundamentalmente de las
leyes físicas, se basa generalmente
en la aplicación de ecuaciones de
balance de materia energía y
también en otras leyes como por
ejemplo la termodinámica, cinética
de
reacciones
químicas.
Transferencia de calor, problema de
fluidos [capa límite], problema de
transporte, . . .
Angel Sangiacomo C.
= α[
∂r2
+
r∂r
]
Donde:
r : es la distancia de algún punto al centro
de la esfera.
Las condiciones o las condiciones de
frontera para el problema son:
T=Ti;
t=0
∂T
=0
∂r
∂T
k ∂ r = σεT 4
;
r=0
− Te4 ;
r = R.
Donde:
T : Temperatura absoluta
α : k/(DCp) (difusividad térmica).
4
Introducción
k : Conductividad térmica.
ε : Emisividad de la superficie.
Introducción a la Optimización No Lineal
antibiótico en cada instante en el
cuerpo humano.
b) Modelos Matemáticos Semi - Modelo Diferencial
Empíricos
⎡ n
⎤
dxi
n
= − ⎢ ∑ a ji ⎥ ⋅ xi + ∑ aij ⋅ x j , i = 1..n ;
dt
⎢⎣ j =1 ⎥⎦
j =1
Son muy similares a los anteriores y
n
pero dependen de la gran dificultad
donde − aii = ∑ a ji ,
de su solución o la falta de datos.
i = 1..n
j =1
j ≠i
En esencia están basados en las
leyes físicas. Al igual que los
modelos teóricos se basan en las
ecuaciones de balance de materia y
energía y en otras leyes existentes,
pero cierta cantidad de empirismo
es incorporado en la representación
de
estos
sistemas
debido
básicamente a dos hechos:
a)
Las
ecuaciones
de
modelamiento es tan complejo,
que resolverlo resulta muy
dificultoso o costoso, por lo que
es necesario hacer algunas
simplificaciones.
b) A la falta de datos.
dx
= Ax
dt
o
donde
⎡− a11 a12 ... a1n ⎤
⎢a
a22 ... a2 n ⎥⎥
: A = ⎢ 21
,
⎢ ..
.. .. .. ⎥
⎢
⎥
⎣ an1 an 2 ... ann ⎦
⎡ x1 ⎤
x = ⎢⎢ ... ⎥⎥ ,
⎢⎣ xn ⎥⎦
dx
= Ax + u ,
dt
K (aij ) =
n
∑σ m ∫0
T
m =1
(x
exp
m (t ) − xm (t )
⎡ u1 ⎤
u = ⎢⎢ ... ⎥⎥
⎢⎣u n ⎥⎦
)2 dt = min!
donde xmexp(t) es la curva experimental para
la variable m, y σm es el coeficiente que
indica si la curva puede ser observada o no.
K (aij ) =
n
∑σ m ∫ 0
m =1
T
2
⎛ dxmexp n
⎞
exp
⎜
⎟
− ∑ ami xi (t ) dt = min!
⎜ dt
⎟
i =1
⎝
⎠
La gran mayoría de los modelos
matemáticos usados en la práctica Depende en esencia de una tabla de
datos empíricos de observaciones
están dentro de esta categoría.
de cantidades de antibiótico en la
Aquí es donde se puede aplicar sangre [datos observables].
algunos procesos de aproximación e
identificación de parámetros.
c) Modelos Empíricos
Otro ejemplo sería pues un modelo
para determinar la cantidad de
Angel Sangiacomo C.
5
Introducción
Introducción a la Optimización No Lineal
Estos modelos no están basados en
leyes físicas. En este caso el
proceso es considerado como una
caja negra (tipo Black - Box) o
como se les conoce también de tipo
CAJA NEGRA. Donde la relación
matemática que gobierna el proceso
es desconocida o muy compleja y
depende
únicamente
de
las
variables de entrada y salida,
ignorando la estructura interior del
fenómeno o proceso. La mejor
manera de construir este tipo de
modelos es a través de diseños
experimentales; es decir los datos o
puntos experimentales iniciales
están basados en algún diseño
experimental (muestreos, . . .).
Por ejemplo en la recuperación del
cobre tenemos:
X1 : Adición de Cal
X2 : Temperatura de segregación.
Figura 4.
0.2.2. Modelos Físicos
En muchos procesos no existe una
adecuada base física o cuadro físico
del fenómeno como para hacer uso
de los modelos matemáticos
teóricos, Debido básicamente a que
la naturaleza del sistema real no
y = a1 + a2 X 1 + a3 X 2 + a4 X 12 + a5 X 22 + a6 X 1 X 2 permite la observación directa del
fenómeno, de los cuales un cuadro
donde
físico puede ser deducido. Por
1
y : es la recuperación del cobre . ejemplo es dificultoso observar la
zona de fusión de los altos hornos.
1
Con la experimentación con los datos de la Un modelo físico de un proceso
recuperación de Cu que se tiene en la tabla consiste en su representación a
escala reducida, con otros matelos siguientes resultados:
riales, a temperatura ambiente, con
Segregación de residuos de Cobre
INF.
SUP.
23.9
X1: Adición de Cal
663
X2: Temperatura de segreg.
N
X1
X1
85.9
837
1
2
3
4
5
6
85.9
70.4
39.4
23.9
70.4
54.9
Angel Sangiacomo C.
750
837
837
750
663
663
Y
65.1
61.8
65.3
77.3
63.2
69.1
Cuyo óptimo es:
X1 = 38.587228567, X2 = 735.775213125
f(x) = 79.1684695190607
6
Introducción
la finalidad de posibilitar la visualización y medida de los aspectos
específicos, de la manera más
conveniente y al menor costo
posible.
Introducción a la Optimización No Lineal
práctica un modelo que cumpla todos los
criterios de similitud, siendo necesario
algunas aproximaciones a los estados
menos importantes.
Como ejemplo, a un avión se le 0.2.2.1. Clasificación
Modelos Físicos
prueba en una posa de agua.
Un modelo es geométricamente
similar cuando sus dimensiones
mantienen la misma razón con las
del prototipo; es mecánicamente
similar cuando las deformaciones
relativas bajo tensión constante
están en una misma proporción a
sus
dimensiones
geométricas
(similitud estática), o si las fuerzas que
actúan en determinados tipos y
lugares en el modelo y prototipo
mantienen una razón fija (similitud
dinámica); es térmicamente similar si
las gradientes de temperatura en el
modelo corresponden a los del
prototipo; es químicamente similar
si las velocidades de reacción en
cualquier lugar del modelo son
proporcionales a las velocidades de
las mismas reacciones en el
correspondiente tiempo y lugar del
prototipo.
Cada estado de similitud exige que
las anteriores sean cumplidas, por
ejemplo, una similitud térmica
exige el cumplimiento de la
similitud geométrica y mecánica.
Generalmente es imposible obtener en la
Angel Sangiacomo C.
de
los
a) Modelos Físicos Riguroso
(teórico)
Son construidos siguiendo las
reglas estrictas de similitud, de
manera que la medida cualitativa de
los aspectos importantes del modelo
experimental (velocidad, perfil de
temperatura, velocidad de reacción,
etcétera) puedan ser trasladados
directamente a través de un
escalamiento
apropiado
para
describir el proceso real.
b) Modelos Físicos Semi - Riguroso
El desarrollo de los anteriores, los
teóricos, con frecuencia no es
posible, porque no se puede
satisfacer a todos los criterios de
similitud.
Como una alternativa se desarrolla
el estudio analítico experimental del
fenómeno con el objeto de obtener
una relación cuantitativa entre las
variables del proceso; tal realicen
puede ser extrapolada bajo ciertas
experimentales obtenidos y pueden
ser usados para verificar un modelo
7
Introducción
Introducción a la Optimización No Lineal
matemático, el cual podría usarse
con algún grado de confianza para 0.3.1. Criterio de Optimización
representar un sistema real.
Para empezar todo proceso de
Otra
optimización es básico definir
adecuadamente un criterio de
a). Modelos Mentales
optimización, en otras palabras,
Son modelos heurísticos o intuitivos que definir lo que queremos optimizar.
sólo existen en nuestras mentes. Son Es decir, debemos escoger entre las
imprecisos y difíciles de comunicar. A diferentes alternativas productivas
diferencia de los animales, el ser humano (variables dependientes), aquella o
es capaz de acumular experiencias que aquellas que bajo algún criterio
puede servir como un modelo mental. La adecuado nos brindan los mejores
habilidad para realizar una operación resultados.
aritmética o el proceso de decisión de una
situación no muy compleja, son ejemplos
de modelos mentales. La introspección de
estos modelos conduce frecuentemente a 0.3.2. Función Objetivo
los modelos simbólicos.
b) Modelos Simbólicos
Son aquellos que incluyen operaciones
lógicas o matemáticas que pueden
utilizarse para formular una solución de un
problema. Se construyen más fácilmente y
resultan más económicos que los modelos
físicos. Se subdividen en modelos
matemáticos y no matemáticos. A su vez
estos últimos pueden ser: lingüísticos
(descripción verbal), gráficos (dibujo) y
esquemáticos (diagramas de flujo).
Teniendo en cuenta que el principal
objetivo en un proceso de
optimización será maximizar o
minimizar una función objetivo,
tenemos entonces:
“La relación del criterio de
optimización a las variables
independientes consideradas en el
estudio se denomina función
objetivo”.
Podría ser:
Una teoría expresada en forma Fmáx=f(x,y,t,u)
matemática será un modelo donde:
F
: Criterio de optimización
matemático.
x, y, t, u :
Variables independientes.
0.3. Función Objetivo
Angel Sangiacomo C.
8
Introducción
Introducción a la Optimización No Lineal
Las variables x, y, t, u pueden se variables controlables, que permiten
controlables,
no
controlables, obtener el máximo de la función
indirectas o desconocidas.
objetivo.
Por ejemplo usando un método
dFmáx
Selección de un criterio de
= 0.57 − 0.0032 X 1 y
optimización
dX 1
dFmáx
=0
La selección de un criterio de
dX 1
optimización en muchos casos es
de lo cual resulta X1=178.125s que
una tarea difícil, en ciertos casos se
es un punto de máximo.
requiere de un conocimiento
profundo del proceso a optimizar
El problema nuestro es pues, donde
así como de un análisis exhaustivo
y lo más fácil y en que programar
de todas las alternativas productivas
se puede conseguir una solución
de medición de la eficacia de un
inmediata.
proceso.
0.4. Superficie Respuesta
0.3.3. Forma y Parámetros de la
Una superficie respuesta se define
Función Objetivo
como la representación geométrica
de la función objetivo o más
La elección de la forma de
propiamente del modelo matemáparámetros de la función objetivo,
tico obtenido. Debe distinguirse
depende de la naturaleza del
claramente de una superficie resproceso en estudio, pudiendo
puesta estimada de una superficie
utilizarse para ello los modelos
respuesta real.
Matemáticos
teóricos,
semiempíricos o empíricos.
Una superficie respuesta estimada,
es la respuesta geométrica del
Por ejemplo un modelo de una
modelo matemático obtenido. Así,
función cuadrática es
la respuesta del diseño hexagonal
Fmáx = 26.13 + 0.57 X 1 − 0.0016 X 12
Y =63.2+2.18 X 1+3.93 X 2 − 4.53 X 12
donde
− 0.35 X 22+ 3.83 X 1 X 2
X1 : tiempo de flotación en
segundos.
Y como el objetivo es optimizar, es
encontrar la cantidad óptima de las
Angel Sangiacomo C.
9
Introducción
Introducción a la Optimización No Lineal
Una cosa importante a tener en
cuenta, es que un modelo nunca
representa
completamente
un
proceso
o
sistema,
debido
principalmente
a
las
tres
consideraciones siguientes:
a) Falta de exactitud de
conocimiento de las variables
b) El no uso de todas las variables
c) A la simplificación del modelo
requisito a las complejidades
matemáticas.
Una réplica idéntica del sistema o
proceso es un modelo perfecto. La
representación
geométrica
de
modelo sería la superficie respuesta
real.
Ahora, la superficie respuesta real
es algo ideal, a esto sólo podemos
aproximarnos [casi siempre] por los
modelos matemáticos comúnmente
usados.
Angel Sangiacomo C.
10
Capítulo 1
Introducción a la Optimización No Lineal
h1(x), h2(x), …, hm(x), funciones
continua que denotan restricciones de igualdad, g1(x), g2(x),
…, gp(x), funciones continuas
CAPÍTULO 1
que denotan restricciones de desigualdad y x=(x1, x2, ..., xn)T un
vector columna y un conjunto
Ω ⊂ R n . Se define un problema de
Objetivo: Conocer y comprender las optimización no lineal:
condiciones básicas de un punto
Minimizar f ( x )
óptimo.
Sujeto a :
OPTIMIZACIÓN NO LINEAL
h1 ( x ) = 0
g1 ( x ) ≤ 0
h2 ( x ) = 0
M
g2 ( x) ≤ 0
M
hm ( x ) = 0
g p ( x) ≤ 0
x ∈Ω ⊂ R
En este capítulo se trata de
modelos
y
métodos
que
optimizan funciones no lineales,
continuas, diferenciables y no
diferenciables, de una o varias
variables, sin o con restricciones
(lineales o no lineales).
Estos modelos se han aplicado a
una variedad de problemas
prácticos, tales como procesos
químicos,
cotizaciones
de
proyectos, problemas de diseño
estructural, ajuste de curvas,
equivalencias determinísticas de
problemas aleatorios, asignación
de recursos, etc.
donde m ≤ n .
Otra forma equivalente de
representar un problema de
optimización no lineal es
a)
Minimizar { f ( x ) x ∈ Ω ⊂ R n } ,
donde el conjunto Ω se define
como
Ω ={ x
hi ( x ) = 0, g j ( x ) ≤ 0, x ∈ Ω ⊂ R n }
para i=1, 2, …, m, j=1, 2, …, p,
b) En forma vectorial, h=(h1, h2,
..., hm) y
g=(g1, g2, ..., gp) y se vuelve a
escribir el problema como
Minimizar
Sea f(x) una función continua,
que denota a la función objetivo, Ejemplo:
Angel Sangiacomo C.
n
f ( x)
h( x ) = 0
g( x) ≤ 0
x ∈Ω
F. Ayres H. 11
Capítulo 1
Introducción a la Optimización No Lineal
Tenemos un problema de
optimización no lineal dado por:
Minimizar
Sujeto a :
Minimizar
Sujeto a :
f ( x ) = x12 + x22 + 2 x2
h1 ( x ) = x1 + 2 x2 − 12 = 0
g1 ( x ) = x12 + x22 − 1 ≤ 0
f ( x ) = ( x1 − 3) 2 + ( x2 − 4) 2
g1 ( x ) = x1 + x2 − 5 ≤ 0
g 2 ( x ) = x1 − x2 − 52 ≤ 0
g 3 ( x ) = − x1 ≤ 0
g 4 ( x ) = − x2 ≤ 0
x ∈ Ω ⊂ R2
g 2 ( x ) = − x1 ≤ 0
g 3 ( x ) = − x2 ≤ 0
x ∈ Ω ⊂ R3
Figura 3
Ejemplo:
Figura 1.
Hay casos en que a diferencia del
anterior el óptimo o está en el
interior de la región de
factibilidad, como es el siguiente
ejemplo
(no
son
muy
interesantes).
Minimizar
Sujeto a :
Figura 2.
Ejemplo:
Angel Sangiacomo C.
f ( x ) = ( x1 − 2) 2 + ( x2 − 2) 2
g1 ( x ) = x1 + x2 − 5 ≤ 0
g 2 ( x ) = x1 − x2 − 52 ≤ 0
g 3 ( x ) = − x1 ≤ 0
g 4 ( x ) = − x2 ≤ 0
x ∈ Ω ⊂ R2
F. Ayres H. 12
Capítulo 1
Introducción a la Optimización No Lineal
Figura 4.
Propiedades básicos de solución
y algoritmos
Empezaremos
tratando
los
problemas de optimización de la
forma
minimizar f(x)
sujeto a: x ∈Ω
(1)
donde f es una función real y Ω,
el conjunto factible, es un
subconjunto de En. En casi todo
el capítulo se centra la atención
en el caso en que Ω=En, que
corresponde al caso totalmente
sin restricciones, pero en algunas
ocasiones se tienen en cuenta
casos donde Ω es algún subconjunto especialmente sencillo
de En.
Primeramente se especifican
aquellas condiciones que se
deben satisfacer en un punto la
Angel Sangiacomo C.
solución
de
(1).
Estas
condiciones
son
simples
n
extensiones a E de las bien
conocidas condiciones de la
derivada para una función de una
variable, que se cumplen en un
punto máximo o mínimo.
Se introducen las importantes
clases de funciones convexas y
cóncavas, que proporcionan una
formulación natural para una
teoría global de optimización, y
se
ofrecen
interpretaciones
geométricas de las condiciones
de la derivada que se van a
deducir.
Al final nos dedicaremos a las
características de convergencia
básicas de los algoritmos.
Aunque este material no es de
aplicación exclusiva a los
problemas de optimización, sino
que también es aplicable a
algoritmos iterativos generales
para resolver otros problemas,
puede considerarse como un
requisito previo fundamental para
un tratamiento moderno de las
técnicas de optimización. Se
plantean dos cuestiones esenciales en relación con los algoritmos
iterativos. La primera cuestión,
que es de naturaleza cualitativa,
plantea si un algoritmo dado
proporciona en algún sentido, al
F. Ayres H. 13
Capítulo 1
menos en el límite, una solución
al problema original. Esta cuestión se establece con condiciones
suficientes para garantizar la
convergencia
apropiada.
La
segunda cuestión, de naturaleza
cuantitativa, se refiere a la
rapidez con que el algoritmo
converge a una solución. Se
examinan varios tipos especiales
de convergencia, que se suelen
presentar en el desarrollo de
algoritmos para optimización.
Introducción a la Optimización No Lineal
Al investigar el problema general
(1), se distinguen dos tipos de
puntos solución: puntos mínimos
locales y puntos mínimos
globales.
Definición 1.
Un punto x*∈Ω es un punto
mínimo relativo o un punto
mínimo local de f en Ω, si existe
un ε > 0 tal que f(x)≥f(x*) para
todo x∈Ω a una distancia de x*
menor que ε (es decir, x∈Ω y
x − x ∗ < ε ). Si f(x)>f(x*) para
Condiciones necesarias de toda x∈Ω, x≠x* a una distancia
primer orden
de x* menor que ε , entonces se
dice que x* es un punto mínimo
Quizá la primera cuestión que se relativo estricto de f en Ω.
presenta en el estudio del
problema de minimización (1) es Definición 2.
saber si existe una solución. El
resultado principal que se puede Un punto x*∈Ω es un punto
utilizar para encausar esta mínimo global de f en Ω , si
cuestión es el teorema de f(x)≥f(x*) para toda x∈Ω. Si
Weierstras, que establece que si f f(x)>f(x*) para toda x∈Ω, x≠x*,
es continua y Ω es compacta, entonces se dice que x* es un
existe una solución. Este es un punto mínimo global estricto de f
resultado importante que habrá en Ω.
de tenerse en cuenta durante todo
el desarrollo; sin embargo, el
tema
central
consiste
en
caracterizar los puntos solución y
diseñar los métodos efectivos
para hallarlos.
Angel Sangiacomo C.
F. Ayres H. 14
Capítulo 1
Introducción a la Optimización No Lineal
formular y estudiar el problema
(1) se considera implícitamente,
por imperativos prácticos, que se
busca un punto mínimo relativo.
Direcciones factibles
Figura 5.
Por definición al formular y
estudiar el problema (1), se está
buscando explicativamente un
punto mínimo global de f en el
conjunto Ω. Sin embargo, la
práctica, desde los puntos de
vista teórico y computacional,
impone
que
en
algunas
circunstancias ha de bastar con
un punto mínimo relativo. Por
ejemplo, al deducir condiciones
necesarias basadas en el cálculo
diferencial, o al buscar el punto
mínimo por un procedimiento por
pasos convergentes, sólo se
pueden comparar los valores de
puntos cercanos y la atención se
centra en los puntos mínimos
relativos. Por regla general, sólo
se pueden hallar condiciones y
soluciones
globales
si
el
problema
posee
ciertas
propiedades de convexidad que
garanticen esencialmente que
cualquier mínimo relativo sea un
mínimo global. Por tanto, al
Angel Sangiacomo C.
Para
deducir
condiciones
necesarias satisfechas por un
punto mínimo relativo x*, la idea
básica
es
considerar
un
movimiento que se aleje del
punto en una dirección dada. En
cualquier dirección dada, la
función objetivo se puede
considerar como una función de
una variable, donde el parámetro
define el movimiento en esta
dirección, por lo que se puede
aplicar el cálculo ordinario de
una variable. Así, dada x ∈Ω , se
puede decir que un vector d es
una dirección factible en x si
existe algún α > 0 tal que
α,
x + αd ∈ Ω
para
toda
0 ≤ α ≤ α . Con este sencillo
concepto se pueden enunciar
algunas condiciones sencillas
satisfechas por los puntos
mínimos relativos.
Recodemos aquí que α es un
valor para el cual no se supera el
valor anterior.
F. Ayres H. 15
Capítulo 1
Proposición 1. (Condiciones
necesarias de primer orden). Sea
Ω un subconjunto de En, y f∈C1,
una función en Ω. Si x* es un
punto mínimo relativo de f en Ω,
entonces para cualquier d∈En que
sea una dirección factible en x*,
∗
resulta ∇f ( x )d ≥ 0
Prueba:
Introducción a la Optimización No Lineal
suficientemente pequeños de
α>0, el lado derecho de (*) será
negativo
y,
por
tanto,
g (α ) − g (0) < 0 , lo cual contradice
la naturaleza minimal de g (0) .
Así, g ′(0) = ∇f ( x*)d ≥ 0 . ♦
Un caso especial muy importante
es aquel donde x* está en el
interior de Ω (como ocurriría si
Ω=En). En este caso, hay
direcciones factibles que salen en
todas las direcciones desde x* y,
por tanto, ∇f ( x*)d ≥ 0 para todo
d ∈ En .
Esto implica que
∇f ( x*) = 0 . Este importante
Figura 6.
resultado se enuncia como
Para cualquier α , 0 ≤ α ≤ α , el corolario.
punto x (α ) = x ∗ + αd ∈ Ω . Para
Corolario
(Caso
sin
0 ≤ α ≤ α definimos la función
restricciones).
Sea
Ω
un
g (α ) = f ( x (α )) , para ver que
n
subconjunto de E , y sea f∈C1
sucede en sólo una dirección (d).
una función en Ω. Si x* es un
Entonces, g tiene un mínimo, punto mínimo relativo de f de Ω y
relativo en α = 0 . En la figura 3 x* es un punto interior de Ω,
se muestra una g típica. Por entonces ∇f ( x*) = 0.
aplicación de la expansión de
Nota:
Taylor a la función g(α) resulta. Las condiciones necesarias en el caso no restringido
g (α ) − g (0) = g ′(0)α + 0(α ) ,
(*) puro producen n ecuaciones (una por cada
de ∇f (x) de n incógnitas (las
donde O(α) denota (error) componente
componentes de x*), que en muchos casos se
términos que tienden a cero más pueden resolver para determinar la solución.
rápido que α. Si afirmamos que
g’(0)<0, entonces para valores Ejemplo 1: Dado el problema
Angel Sangiacomo C.
F. Ayres H. 16
Capítulo 1
Introducción a la Optimización No Lineal
Figura 9.
Minimizar
f ( x1 , x2 ) = x12 − x1 x2 + x22 − 3 x2 .
Solución:
Figura 8.
No hay restricciones, luego
Ω=E2. Al igualar a cero las
derivadas parciales de f resultan
las dos ecuaciones.
2 x1 − x2 = 0
− x1 + 2 x2 = 3,
Figura 10.
que tienen la solución única
x1 = 1, x2 = 2 , la cual es un punto
Este problema tiene la derivadas
mínimo global de f.
parciales expresadas por
Ejemplo 2: Resolver el problema
Minimizar f ( x1, x2 ) = x12 − x1 + x2 + x1x2
sujeto a:
Angel Sangiacomo C.
x1 ≥ 0
x2 ≥ 0
∂ f
= 2 x1 − 1 + x2 = 0
∂ x1
∂ f
= 1 + x1 = 32 .
∂ x2
Fijándonos en este resultado
rápidamente nos damos cuenta
que por la restricción x2≥0 el
valor de x2 es cero (x2=0),
reemplazando en la primera
derivada nos resulta x1=½, que es
un mínimo global.
Analizando tenemos que:
F. Ayres H. 17
Capítulo 1
∇f ( x*) = ∇f ( 12 ,0) = (0, 32 )
y cualquier d = (d1 , d 2 ) factible
tiene d1 libre y d2≥0, de aquí nos
damos cuenta que como las
derivadas parciales con respecto
a x2 no se anulan en la solución, y
cualquier dirección factible tiene
una componente x2 mayor o igual
que cero, resulta que ∇f(x*)d≥0,
para todo d∈E2, tal que d es una
dirección factible en el punto
( 12 ,0) .
Nota: se debe resolver por
ejemplo usando los multiplicadores de Lagrange y teniendo en
cuenta las condiciones de Kuhn Tucker.
Introducción a la Optimización No Lineal
relaciones
entre
variables,
reduciendo así el número efectivo
de variables. A continuación se
presentan algunos ejemplos para
ilustrar el amplio campo de
aplicaciones de la teoría.
Ejemplo 3: .(Producción).
Determinar la mejor manera de
combinar varias entradas para
producir cierto bien es un
problema común en teoría
económica. Hay una función de
producción conocida f(x1, x2, ...,
xn), que presenta la cantidad de
bienes producidos, como una
función de las cantidades xi de
las entradas, i=1, 2, …., n. El
precio por unidad del bien
producido es q, y los precios
Ejemplos de problemas sin
unitarios de las entradas son p1,
restricciones
p2, ..., pn. El productor que desee
maximizar la ganancia debe
Los problemas de optimización
resolver el problema.
sin restricciones se presentan en
diversos contextos, pero son más Maximizar
frecuentes cuando la formulación qf ( x1, x2 , ..., xn ) − p1 p1 − p1x1 − p2 x2 ... − pn xn .
del problema es sencilla. A
menudo, las formulaciones más Las condiciones necesarias de
complejas implican restricciones primer orden son que se anulen
explícitas. Sin embargo, muchos las derivadas parciales respecto a
problemas con restricciones las xi Esto conduce directamente
suelen convertirse en problemas a las n ecuaciones
sin restricciones utilizando las ∂ f
restricciones para establecer q ∂ xi ( x1, x2 , ..., xn ) = pi , i = 1, 2, ..., n.
Angel Sangiacomo C.
F. Ayres H. 18
Capítulo 1
Estas ecuaciones se pueden
interpretar como confirmación,
en la solución, de que el valor
marginal debido a un incremento
pequeño en la i-ésima entrada
debe ser igual al precio pi.
Introducción a la Optimización No Lineal
respecto a a=(a0, a1, a2, ..., an)
para
hallar
los
mejores
coeficientes.
Esta
es
una
expresión cuadrática en los
coeficientes a. Para hallar una
representación compacta de este
objetivo se define
Ejemplo 4: (Aproximación).
Un uso común de la optimización
es en la aproximación de
funciones.
Supóngase
que
durante un experimento se
observa el valor de la función g
en m puntos, x1, x2, ..., xm, con lo
que se conocen los valores g(x1),
g(x2), ..., g(xm) y se desea
aproximar la función por un
polinomio de grado n (o menor),
donde n<m
m
qij = ∑ ( xk )i + j ,
k =1
m
b j = ∑ g ( xk )( xk )
k =1
m
j
y
c = ∑ g ( xk ) 2 .
k =1
Entonces, recurriendo al álgebra
se puede mostrar que
f (a) = aT Qa − 2bT a + c
donde Q = [qij ] , b = (b1, b2 ,..., bn +1 ) .
Las condiciones necesarias de
primer orden establecen que se
debe anular el gradiente de f.
Esto conduce directamente al
h( x) = an x n + an −1 x n −1 + L + a0
sistema de n+1 ecuaciones
En relación con cualquier
Qa = b
elección del polinomio de que se pueden resolver para
aproximación, habrá un conjunto determinar a.
de errores ε k = g ( xk ) − h( xk ) . Se
define la mejor aproximación Ejemplo 5: (Problema de la
como el polinomio que minimiza selección).
la suma de los cuadrados de estos
A
menudo,
es
necesario
errores, es decir, se minimiza.
seleccionar varios factores para
m
2
satisfacer un conjunto diario de
∑ (ε k )
k =1
requerimientos. Un ejemplo es el
Lo cual, a su vez, significa que se problema de una planta eléctrica
minimiza
que ha de elegir los dispositivos
m
2
de generación de energía. La
f (a) = ∑ [g ( xk ) − (an xkn + an −1 xkn −1 + ... + a0 )]
k =1
cantidad de energía que debe
Angel Sangiacomo C.
F. Ayres H. 19
Capítulo 1
proporcionar la planta varía
según la hora del día, el día de la
semana y la estación. Sus
requerimientos de generación de
energía se representan por una
curva, h(x), como se ilustra en la
figura 6, que refleja el total de
horas al año en que se requiere al
menos una cantidad de energía x
para cada x. Por conveniencia, se
normaliza la curva de modo que
el límite superior es la unidad.
La planta eléctrica se puede
cubrir
estos
requerimientos
instalando un equipo generador
(1) nuclear, (2) de carbón o
comprando energía a una red
central de energía. Asociado al
tipo i (i=1,2) de equipo
generador, hay un costo de
capital unitario anual bi y un
costo de operación unitario ci. El
precio por unidad de energía
comprada a la red es c3.
Las centrales nucleares tienen un
costo de capital alto y un costo de
operación bajo, por lo que se
usan para proporcionar una carga
base. Las plantas que funcionan
con carbón se usan para la
categoría intermedia y se compra
directamente energía sólo para
los
periodos
de
máxima
demanda. Los requerimiento se
satisfacen según se muestra en la
Angel Sangiacomo C.
Introducción a la Optimización No Lineal
figura 6, donde x1 y x2
representan las capacidades de
las plantas nucleares y de carbón,
respectivamente. (Por ejemplo, la
planta de energía nuclear se
pueden visualizar formada por
x1/Δ generadores pequeños de
capacidad Δ, donde Δ es
pequeña. El primer generador
funciona unas h(Δ) horas,
proporcionando Δh(Δ) unidades
Figura 11.
(curva de requerimientos de energía)
de
energía;
el
siguiente
proporciona Δh(2Δ) unidades, y
así sucesivamente. Entonces, el
total de energía proporcionada
por la planta nuclear es el área
mostrada.)
El costo total es
f ( x1 , x2 ) = b1 x1 + b2 x2 + c1 ∫
+ c2 ∫
x1 + x 2
x1
x1
0
h( x)dx + c3 ∫
h( x)dx
1
x1 + x 2
h( xdx,
y la compañía desea minimizar
esto en el conjunto definido por
F. Ayres H. 20
Capítulo 1
Introducción a la Optimización No Lineal
x1 ≥ 0,
x1 + x2 ≤ 1 .
x2 ≥ 0 ,
Suponiendo que la solución es
interna a las restricciones,
igualando las derivadas parciales
a cero se obtienen las dos
ecuaciones que representan las
condiciones necesarias,
b1 + (c1 − c2 ) h( x1 ) + (c2 − c3 )h( x1 + x2 ) = 0
b2 + (c2 − c3 )h( x1 + x2 ) = 0
xk +1 = xk + u k ,
donde xk es el error en el tiempo
k, y uk es la fuerza efectiva
aplicada al tiempo uk (después de
haberse normalizado para tener
en cuenta la masa del objeto y la
duración de la fuerza). El valor
de x0 está dado. La sucesión de
u0, u1, ..., un deberá seleccionarse
para minimizar el objetivo.
Si x1=0, entonces el teorema de la
j = ∑ { xk2 + uk2 }
k =0
condición necesaria general
muestra que la primera igualdad
podría llegar a ser ≥ 0 . El caso Esto representa un compromiso
x1 + x2 = 1 requiere un análisis entre el deseo de igualar xk a 0 y
al reconocimiento de que la
más profundo (véase Ejercicio 2).
acción de control uk es costosa.
El problema se puede convertirse
Ejemplo 6: (Control).
en un problema sin restricciones
eliminando las variables xk, k=1,
Los problemas dinámicos, donde 2, ..., n, del objetivo. Se ve en
las variables corresponden a segunda que
xk = x0 + u0 + u1 + ... + u k −1
acciones tomadas en una
sucesión de momentos de Así pues el objetivo se puede
tiempos, a menudo se pueden volver a expresar como
formular como problema de
n
J
=
∑ { ( x0 + u0 + ... + uk −1 ) 2 + uk2 },
optimización sin restricciones. A
k =0
modo de ejemplo, supóngase que
que es una función cuadrática de
la posición de un objeto grande
las incógnita uk y tiene la misma
se controla por una serie de
estructura general que la del
fuerzas de control correctas. El
ejemplo 2, por lo que puede
error de posición (la distancia a la
tratarse de una forma similar
posición deseada) está controlado
por la ecuación
n
Angel Sangiacomo C.
F. Ayres H. 21
Capítulo 1
Condiciones
orden
Introducción a la Optimización No Lineal
de
segundo La condición (a) fue demostrada
en la proposición 1, y la segunda
se aplica sólo si ∇f(x*)d=0.
Para este caso lo haremos introduciendo la función x(α)=x*+αd
y
la
función
compuesta
g(x)=f(x(α)) como antes. Como
sabemos que g ′(0) = 0 , se obtiene
La proposición 1 demostrada
anteriormente se basa en la
realización de una aproximación
de primer orden a la función f en
las proximidades del punto
mínimo relativo por la serie de
g (α ) − g (0) = 12 g ' ' (0)α 2 + 0(α 2 ).
Taylor.
Para
conseguir
condiciones adicionales se debe Si g ' ' (0) < 0 , el lado derecho de la
tener en cuenta aproximaciones ecuación anterior es negativo
de orden superior.
para α suficientemente pequeña,
Las condiciones de segundo esta última afirmación contradice
orden, que se definen en función la definición de mínimo relativo
de g(0). Así que concluimos
de la matriz hessiana (∇2f ) de las
g ' ' (0) = d T ∇ 2 f ( x*)d ≥ 0.
segundas derivadas parciales de f,
son de gran importancia teórica y
van a predominar en buena parte Ejemplo 7
del análisis que presentamos
Minimizar
aquí.
f ( x1 , x2 ) = x12 − x1 + x2 + x1 x2
Proposición 2 (Condiciones nesujeto a: x1 ≥ 0
cesarias de segundo orden).
x2 ≥ 0
n
Sea Ω un subconjunto de E , y Cuya solución
1
f∈C2 una función en Ω si x* es es x* = ( 2 ,0) .
para
un punto mínimo relativo de f en Sea
∇
f
(
x
*)
d
=
Ω, entonces para cualquier d∈En 3
= d = 0 , de
que sea una dirección factible en 2 2
donde se dedox* resulta
ce por la cona) ∇f ( x*)d ≥ 0
b) si ∇f ( x*)d = 0, entonces d T ∇ 2 f ( x*)d ≥ 0,
Prueba:
Angel Sangiacomo C.
Figura 12.
dición (a) de la
Así la condición 2) de la
proposición 2
proposición 2 se aplica sólo
que d 2 = 0 .
si d 2 = 0 .
En este caso, se tiene d T ∇ 2 f ( x*)d = 2d12 ≥ 0 ,
F. Ayres H. 22
Capítulo 1
Introducción a la Optimización No Lineal
⎡2 1 ⎤⎛ d1 ⎞
2
(d1 ,0) ⎢
⎥⎜⎜ 0 ⎟⎟ = 2d1 ≥ 0,
1
0
⎣
⎦⎝ ⎠
lo que hace evidente la
prueba de la proposición
Ejemplo 8:
De nuevo, es de especial interés
el caso en que el punto de
minimización es un punto interior
de Ω por ejemplo, en el caso de
problemas completamente sin
restricciones.
Entonces,
se
obtiene el siguiente resultado
clásico:
Resolver usando la proposición 2,
Proposición 3.
(Condiciones
el siguiente problema:
necesarias de segundo orden:
Minimizar f ( x1, x2 ) = x13 − x1x2 + 2 x22
caso sin restricciones).
sujeto a: x1 ≥ 0
Sea x* un punto interior del
x2 ≥ 0
conjunto Ω y supongamos que x*
Solución:
Aquí se cumple la es un punto mínimo relativo en Ω
2
proposición 2 como de la función f∈C . Entonces,
Figura 13.
en el ejemplo 1?
Si seguimos porfiando en hallar otra
solución (usando el
corolario
∇f ( x*) = 0 )
es
claro
que
la
encontramos en el
1
punto x1 = 12
y
Se ve claramente que x2 =
hay solución en la
frontera
y
x1 = 0
x2 = 0 .
1
48
,
pero cumple que sea un mínimo
pues se cumple que ∇ 2 f ( x*) sea
definida positiva. Para ello basta
hallar la combinación general de
las componentes de d factible tal
que dT∇2f(x*)d≥0. La tarea es
hallarlo?
Angel Sangiacomo C.
a)
∇f ( x*) = 0
b) para toda
d , d T ∇ 2 f ( x*)d ≥ 0 .
Para simplificar la notación, se
puede denotar por ∇ 2 f ( x) la
matriz de n×n de las segundas
derivadas de f, y el hessiano de f,
por la notación alternativa F (x) .
La condición (b) equivale a
afirmar que la matriz F(x*) es
semidefinida positiva. Como se
observará, la matriz F(x*), que
aparece aquí de manera bastante
natural en el análisis de las
condiciones necesarias, tiene un
papel fundamental en el análisis
de métodos iterativos de solución
de problemas de optimización sin
F. Ayres H. 23
Capítulo 1
Introducción a la Optimización No Lineal
restricciones. La estructura de que evaluada en la solución
esta matriz es la determinante propuesta x1=6, x2=9, es
primaria
de
la
tasa
de
⎡ 18 − 12⎤
F (6,9) = ⎢
convergencia
de
algoritmos
,
− 12
4 ⎥⎦
⎣
diseñados para minimizar la
función f.
Ejemplo 9. Téngase en cuenta el
problema 8
minimizar f ( x1, x2 ) = x13 − x12 x2 + 2 x22
sujeto a: x1 ≥ 0,
x2 ≥ 0.
Esta matriz no es semidefinida
Si se supone que la solución está positiva como se vio en el
en el interior del conjunto ejemplo 8.
factible, es decir, si x1>0, x2>0,
entonces
las
condiciones Condiciones suficientes para un
mínimo relativo
necesarias de primer orden son
3x12 − 2 x1 x2 = 0 , − x12 + 4 x2 = 0.
Hubo la solución en x1=x2=0 que
es un punto frontera, pero
también hay una solución en
x1=6, x2=9. Se observa que para
x1 fija en x1=6 el objetivo alcanza
un mínimo relativo a x2 en x2 = 9.
A la inversa, con x2 fija en x2 = 9,
el objetivo alcanza un mínimo
relativo respecto a x1 en x1=6. A
pesar de este hecho, el punto
x1=6, x2=9 no es punto mínimo
relativo, porque la matriz
hessiana es:
⎡6 x − 2 x2
F ( x) = ⎢ 1
⎣ − 2 x1
Angel Sangiacomo C.
− 2 x1 ⎤
4 ⎥⎦
Reforzando algo la segunda
condición de la proposición 3
anterior, se obtiene un conjunto
de condiciones que implican que
el punto x* sea un mínimo
relativo. Se presentan aquí
condiciones que sólo son
aplicables a problemas sin
restricciones o a problemas
donde el punto mínimo es
interior a la región factible, pues
las condiciones correspondientes
a los problemas en los que el
mínimo se alcanza en un punto
frontera del conjunto factible son
muy difíciles y su valor práctico
o teórico es marginal.
F. Ayres H. 24
Capítulo 1
Introducción a la Optimización No Lineal
de convexidad. Esto no sólo
Proposición 4 (Condiciones suficientes proporciona una teoría más
potente, aunque más restrictiva
de segundo orden: caso sin restricciones).
(aplicable a un conjunto más
Sea f∈C2 una función definida en
pequeño), sino también una
una región, en la que el punto x*
interesante
interpretación
es un punto interior. Además,
geométrica del resultado de
supóngase que
suficiencia de segundo orden
a) ∇f (x*) = 0
deducido antes.
b) F (x*) es definida positiva.
Entonces, x* es un punto mínimo
Definición 3
relativo estricto de f.
Una función f definida en un
Prueba:
conjunto convexo Ω es convexa
Como F(x*) es definida positiva, si, para toda x1,x2∈Ω y toda α,
hay una a>0 tal que para toda d, 0≤ α ≤1 se cumple
2
d T F ( x*)d ≥ a d .
Así, por el f ( α x 1 ) + ( 1 – α ) x 2 ) ≤ α f(x 1 )+(1– α )f(x 2 )
teorema de Taylor (con residuo)
Si, para toda α, 0< α <1 y x1≠x2
1 T
2
f ( x * + d ) − f ( x*) = d F ( x*)d + o( d ) se cumple
2
2
2
≥ ( α2 ) d + o( d ).
Para |d| pequeño, el primer
término de la derecha domina al
segundo, lo que implica que
ambos lados son positivos para f ( α x 1 ) + ( 1 – α ) x 2 ) < α f(x 1 )+(1– α )f(x 2 )
una d pequeña.
entonces, se dice que f es
estrictamente convexa.
Funciones convexas y cóncavas En la figura 14 se muestran
varios ejemplos de funciones
Para desarrollar una teoría convexas o no convexas.
destinada a la caracterización
global, en lugar de local, de
puntos mínimos, es necesario
introducir cierto tipo de premisas
Angel Sangiacomo C.
F. Ayres H. 25
Capítulo 1
Introducción a la Optimización No Lineal
Combinaciones
convexas
a)
b)
c)
e)
d)
Las figuras b), c), y d) son convexas. Las figuras a) y
e) no son convexas.
Figura 14.
de
funciones
Se mostrará ahora que las
funciones convexas se pueden
combinar para producir funciones
convexas nuevas y que cuando se
usan funciones convexas como
restricciones producen conjuntos
de restricciones convexos.
Proposición 5
Geométricamente, una función es Sean f y f funciones convexas
1
2
convexa si la recta que une dos en el conjunto convexo Ω.
puntos de una gráfica nunca está Entonces, la función f +f es
1 2
debajo la misma gráfica.
convexa en Ω.
La siguiente es la definición de Prueba:
0 < α < 1.
y
Sea
x1,x2∈Ω
una función cóncava.
Entonces,
f1 (αx1 + (1 − α ) x2 ) + f 2 (αx1 + (1 − α ) x2 )
Definición 4.
Una función g definida en un
≤ α [ f ( x ) + f ( x )] + (1 − α )[ f1 ( x2 ) + f 2 ( x2 )]
conjunto convexo Ω se dice que ♦ 1 1 2 1
es cóncava si la función f = –g es
convexa. La función g es
estrictamente cóncava si –g es Proposición 6
Sea f una función convexa en el
estrictamente convexa.
conjunto convexo Ω. Entonces, la
función af es convexa para
cualquier a≥0. ♣
Prueba: (Se deja a lector).
Función cóncava
g.
Función Convexa
Figura 15.
Angel Sangiacomo C.
f = −g
Obsérvese que con la aplicación
repetida de las 5 y 6 resulta que
una
combinación
positiva
a1 f1 + a2 f 2 + ... + am f m
de
F. Ayres H. 26
Capítulo 1
Introducción a la Optimización No Lineal
funciones convexas es también Si la función f es diferenciable,
entonces existen caracterizacioconvexa para todo ai≥0.
nes de convexidad alternativas.
La siguiente proposición tiene
aplicaciones dentro del contexto Proposición 8
de
los
problemas
con Sea f∈C1. Entonces f es convexa
restricciones de desigualdad en un conjunto convexo Ω si, y
convexas.
sólo si,
Proposición 7
Sea f una función convexa en un
conjunto convexo Ω. El conjunto
Γc = { x : x ∈ Ω, f ( x ) ≤ c} es convexo
para todo número real c.
f ( y ) ≥ f ( x) + ∇f ( x)( y − x)
para toda x, y∈Ω.
Prueba: (sólo si)
Supongamos que f es convexa.
Entonces, para toda α, 0≤ α ≤1 ,
f (αy + (1 − α ) x ) ≤ αf ( y ) + (1 − α ) f ( x ).
Así, para 0 < α ≤ 1
Prueba:
f ( x + α ( y − x)) − f ( x)
≤ f ( y ) − f ( x) .
Sea x 1 , x 2 ∈Γc* Entonces como,
α
f(x 1 )≤c , f(x 2 )≤c , para 0 < α < 1 . Al hacer α → 0, (nos resulta la
f ( α x 1 ) + ( 1 – α ) x 2 ) ≤ α f(x 1 )+(1– α )f(x 2 )
derivada respecto sólo a α )
≤ αc + (1 − α )c = c,
Así, αx1 + (1 − α )x2 ∈ Γc .
∇ f ( x ) ( y − x ) ≤ f ( y ) − f ( x ).
Esto demuestra la parte “sólo si”.
Observación: como la intersección de
conjuntos convexos también es convexa, el Ahora Probaremos la parte del si
conjunto
de
puntos
que
satisfacen ( ⇐ ).
simultáneamente
Supongamos que
f1 ( x ) ≤ c1 , f 2 ( x ) ≤ c2 , ..., f m ( x ) ≤ cm ,
f ( y ) ≥ f ( x ) + ∇f ( x ) ( y − x )
(1)
donde cada fi es una función convexa, define un
conjunto convexo. Esto es importante en para toda x , y ∈Ω. Fijaremos
programación matemática, pues el conjunto de
x1,x2∈Ω y α , 0 ≤ α ≤ 1 . Al hacer
restricción suele definirse así.
x = αx1 + (1 − α ) x 2 y también y=x1
o y= x2, resulta
Propiedades de las funciones
convexas diferenciables
Angel Sangiacomo C.
f ( x1 ) ≥ f ( x ) + ∇ f ( x ) ( x1 − x )
f ( x2 ) ≥ f ( x ) + ∇f ( x )( x2 − x )
(2)
(3)
F. Ayres H. 27
Capítulo 1
Introducción a la Optimización No Lineal
multiplicando (2) por α y (3) Sea f∈C2. Entonces, f es convexa
por (1 − α ) , y sumando, se obtiene en un conjunto convexo Ω que
αf (x1 ) + (1 − α ) f ( x2 )
contenga un punto interior si, y
≥ f (x ) + ∇f ( x )[αx1 + (1 − α )x 2 − x ]. sólo si, la matriz hessiana F de f
pero
sustituyendo es semidefinida positiva en todo
x = αx1 + (1 − α )x2 , se tiene
Ω.
αf ( x1 ) + (1 − α ) f ( x2 ) ≥ f (αx1 + (1 − α )x2 ).
Prueba:
♠
(Si). Aplicando el teorema de
Taylor, se tiene
f ( y ) − f ( x ) = ∇f ( x )( y − x )
+ 12 ( y − x )T F ( x + α ( y − x ))( y − x ) (1)
b)
a)
para algún α, 0≤ α ≤1. Por
hipótesis se tiene que el hessiano
La formulación de la proposición es semidefinido positivo en todas
anterior se ilustra en la figura 16. partes, es evidente que resulte:
(2)
Se puede considerar como una f ( y) ≥ f ( x) + ∇f ( x)( y − x),
especie de caracterización dual lo cual según la proposición 8,
de la definición original ilustrada implica que f es convexa.
en la figura 16a. En esencia, la (Sólo si). Supóngase ahora que la
hessiana
no
es
definición original establece que matriz
la interpolación lineal entre dos semidefinida positiva en algún
puntos sobre valora la función, en punto x∈Ω. Por la continuidad
tanto que la proposición anterior del hessiano, se puede suponer,
afirma que la aproximación lineal sin pérdida de generalidad, que x
basada en la derivada local es un punto interior de Ω. Existe
infravalora la función.
un y∈Ω, tal que (y–x)TF(x)(y–x)
Para funciones diferenciables <0, también por la continuidad
continuamente dos veces, hay del
hessiano,
y
puede
otra
caracterización
de seleccionarse de la forma que
convexidad.
para todo α, 0≤ α ≤1 ,
(y–x)TF(x+α(y–x))(y–x) < 0.
Según (1), esto implica que (2)
Proposición 9
no se satisface, lo cual, por la
Figura 16.
Angel Sangiacomo C.
F. Ayres H. 28
Capítulo 1
Introducción a la Optimización No Lineal
proposición 8, implica que f no es deducida sólo en función del
convexa, Luego f es convexa. ♣ cálculo elemental, está íntimamente relacionada con la convexidad –al menos localmente–.
Por esta razón, se puede
considerar las dos teorías, local y
global, no como desarrollados
paralelos
disjuntos,
sino
complementarias e interactivas.
Los resultados basados en la
Figura 17.
convexidad
son
aplicables
La matriz hessiana es la incluso a problemas no convexos
generalización a En del concepto en una región próxima a la
de curvatura de una función y, de solución y, a la reciproca, los
la forma análoga, la definición resultados locales son aplicables
positiva del hessiano es la a un punto mínimo global.
generalización
de
curvatura
positiva. Las funciones convexas Minimización y maximización
tienen curvatura positiva (o, al de funciones convexas
menos, no negativa) en todas las
direcciones. A causa de estas A continuación se presentan los
observaciones, a veces se dice tres resultados clásicos concerque una función es localmente nientes a la minimización o
convexa si su matriz hessiana es maximización
de
funciones
semidefinida positiva en una convexas.
región pequeña, y localmente
estrictamente convexa si el Teorema 1
hessiano es de definido positivo Sea f una función convexa
en la región. En función de esto, definida en el conjunto convexo
se observa que el resultado de Ω. Entonces, el conjunto Γ donde
suficiencia de segundo orden de f alcanza su mínimo es convexo y
la última sección requiere que la cualquier mínimo relativo de f es
función sea localmente estricta- un mínimo global.
mente convexa en el punto x*.
Prueba:
Así incluso la teoría local,
Angel Sangiacomo C.
F. Ayres H. 29
Capítulo 1
Si f no tiene mínimos relativos, el
teorema se cumple por defecto.
Supóngase ahora que c0 es el
mínimo de f. Entonces, es
evidente
que
Γ = { x : f ( x ) ≤ c0 , x ∈ Ω} y esto es
convexo
por
la
anterior
proposición 7.
Por otro lado supongamos ahora
que x*∈Ω es un punto mínimo
relativo de f, pero que hay otro
punto y∈Ω que cumple con
f(y)<f(x*).
En
la
recta
αy + (1 − α )x*, 0 < α < 1, resulta
f (αy + (1 − α )x *) ≤ αf ( y ) + (1 − α ) f ( x *)
< αf ( x *) + (1 − α ) f ( x *) = f ( x *),
lo que contradice el hecho de que
x* es un punto mínimo relativo.
♠
Se podría enunciar el teorema
anterior diciendo que, para
funciones convexas, todos los
puntos mínimos están situados
juntos (en un conjunto convexo)
y todos los mínimos relativos son
mínimo globales. El siguiente
teorema establece que si f es
continuamente diferenciable y
convexa, entonces para el
cumplimiento de las condiciones
necesarias de primer orden es
necesario y suficiente para que un
punto sea de minimización
global.
Angel Sangiacomo C.
Introducción a la Optimización No Lineal
Teorema 2
Sea f∈C1 convexa en el conjunto
convexo Ω. Si hay un punto
x*∈Ω tal que, para toda y∈Ω,
∇f(x*)(y–x) ≥ 0, entonces x* es
un punto mínimo global de f en
Ω.
Prueba:
Se observa particularmente que
como y − x* ≈ d es una dirección
factible en x*, la condición dada
equivale a la condición necesaria
de primer orden formulada así
∇f(x*)d≥0 anteriormente (proposición 1). La demostración de la
proposición es inmediata, pues
por la anterior proposición 8,
f ( y ) ≥ f ( x *) + ∇f ( x *)( y − x *) ≥ f ( x *). ♦
A continuación se desarrolla la
cuestión de maximizar una
función convexa en un conjunto
convexo. Sin embargo, no hay un
teorema análogo al 1 para la
maximización; en realidad, la
tendencia existe para el caso de
numerosos puntos máximos
relativos no globales. No
obstante, se puede demostrar un
resultado importante, que no se
utiliza en los capítulos siguientes,
pero que es útil para algunas
áreas de optimización.
F. Ayres H. 30
Capítulo 1
Introducción a la Optimización No Lineal
Teorema 3 Sea f una función
convexa definida en el conjunto
Ω convexo, cerrado y acotado. Si
f tiene un máximo en Ω, se
alcanza en un punto extremo de
Ω.
Prueba:
Supóngase que f alcanza un
máximo global en x*∈Ω. Se
muestra en primer lugar que este
máximo se alcanza en algún
punto frontera de Ω. Si x* es un
punto frontera, entonces no hay
nada que demostrar, de modo que
se supone que x* no es un punto
frontera. Sea L cualquier recta
que pase por el punto x*. La
intersección de esta recta con Ω
es un intervalo de la recta L con
puntos extremos y1, y2 los cuales
son punto frontera de Ω y resulta
x* = αy1 + (1 − α ) y 2 para alguna
α ,0 < α < 1. Por la convexidad de
f
f (x *) ≤ αf ( y1 ) + (1 − α ) f ( y 2 )
≤ máx{ f ( y1 ), f ( y 2 ) }.
frontera, x*, es un punto extremo
de Ω, no hay que probar nada
más. Si no es punto extremo,
considérese la intersección de Ω
con un hiperplano de apoyo H en
x*. Está intersección, T1, es de
dimensión n–1 o menor, y el
máximo global de f en T1 es igual
a f(x*) y debe alcanzarse en un
punto frontera x1 de T1. Si este
punto frontera es un punto
extremo de T1, también es un
punto extremo de Ω por el lema 1
de la sección B.4 (en el texto de
Luenberger, 480 [apéndice]), por
lo que el teorema está
demostrado. Si x1 no es un
punto extremo de T1, se forma T2,
la intersección de T1 con un
hiperplano en En-1 que apoya a T1
en x1. Este proceso puede
continuar un máximo de n veces
hasta obtener un conjunto Tn de
dimensión cero, formado por un
solo punto. Este único punto es
un punto extremo de Tn y
además, por aplicación repetida
del lema 1 de la sección B,4 es
un punto extremo de Ω. ♥
Así, f(y1) o f(y2) debe ser al
menos tan grande como f(x*),
Como x* es un punto máximo,
también lo es y1 o y2.
Se ha mostrado que el máximo, si Convergencia
global
se alcanza, debe alcanzarse en un algoritmos de descenso
punto frontera de Ω. Si este punto
Angel Sangiacomo C.
de
F. Ayres H. 31
Capítulo 1
Nos dedicaremos a la presentación y análisis de diversos
algoritmos diseñados para resolver problemas de programación
no lineal. Aunque el objeto,
aplicación y análisis detallado de
estos algoritmos varían considerablemente, desde los sencillos
a los más complejos, todos tienen
la propiedad común de ser
algoritmos iterativos descendentes. Por iterativo, se entiende, a
grandes rasgos, que el algoritmo
genera una serie de puntos,
calculándose cada punto en
función de los puntos que le
proceden. Por descendente se
entiende que, a medida que el
algoritmo genera cada punto
nuevo, el valor correspondiente
de cierta función (evaluada en el
punto más reciente) decrece.
Idealmente la sucesión de puntos
así generados por el algoritmo
converge en un número finito o
infinito de pasos a una solución
del problema original.
Un algoritmo iterativo se inicia
especificando un punto de
partida. Si se garantiza que para
puntos de partida arbitrarios el
algoritmo genera una sucesión de
puntos que convergen a una
solución, entonces se dice que el
algoritmo es globalmente converAngel Sangiacomo C.
Introducción a la Optimización No Lineal
gente. Lo cierto que no todos los
algoritmos tienen esta propiedad
obviamente deseable; de hecho,
muchos de los algoritmos no más
importantes para resolver el
problemas de programación no
lineal, no son globalmente
convergentes en su forma más
pura, por lo que en ocasiones
generan sucesiones que no
convergen o convergen a puntos
que no son soluciones. Sin
embargo, a veces se pueden
modificar
esos
algoritmos
añadiéndoles ciertas cualidades
especiales que garanticen la
convergencia global.
Afortunadamente, el tema de
convergencia global se puede
unificar mediante el análisis de
una teoría general de algoritmos
desarrollados sobre todo por
Zangwill. A partir del análisis
que se presenta en esta sección,
se deduce el teorema de la
convergencia global aplicable al
estudio de cualquier algoritmo
iterativo descendente. En los
capítulos siguientes se citan con
frecuencia ciertos importantes
resultados.
Algoritmos
F. Ayres H. 32
Capítulo 1
Un algoritmo se considera como
una transformación. Dado un
punto x en un espacio X, la salida
de un algoritmo aplicado a x es
un punto. Operando de manera
iterativa, un algoritmo se aplica
repetidamente a los nuevos
puntos que genera, para producir
una sucesión de puntos. Así,
como definición preliminar, se
podría definir formalmente un
algoritmo
A
como
una
transformación que convierte
puntos de un espacio X en (otros)
puntos de X. Al operar
iterativamente, el algoritmo A
iniciado en x0∈X generará la
sucesión {xk} definida por
xk+1=A(xk)
Introducción a la Optimización No Lineal
Un algoritmo A es una transformación definida en un espacio X
que asigna a todo punto x∈X un
subconjunto de X.
En esta definición, el término
“espacio”
tiene
una
interpretación libre. En general, X
es el espacio vectorial En, pero
puede ser sólo un subconjunto de
En o un espacio métrico más
general. Sin embargo, el aspecto
más importante de la definición
es que la transformación A, en
lugar de ser una transformación
punto a punto de X, es una
transformación punto a conjunto
de X.
Un algoritmo A genera una
sucesión de puntos como sigue:
dado xk∈X, el algoritmo produce
A(xk) que es un subconjunto de X.
De
este
subconjunto
se
selecciona un elemento arbitrario
xk+1. De esta manera, dado un
punto inicial x0, el algoritmo
genera sucesiones mediante la
iteración
xk+1∈A(xk)
En la práctica, la transformación
A podría definirse explícitamente
con una expresión matemática
sencilla, o implícitamente, mediante un largo y complejo programa de computadora, y dado
un vector de entrada, ambos
definen
una
salida
correspondiente.
Con esta idea intuitiva de algoritmo, se generaliza en algo el Es evidente que, excepto en el
concepto, a fin de flexibilizar el caso en que A es una
transformación punto a punto, en
análisis.
general, la sucesión generada por
Definición 5
el algoritmo A no se puede
Angel Sangiacomo C.
F. Ayres H. 33
Capítulo 1
Introducción a la Optimización No Lineal
percibir tan sólo a partir del derivada, por el algoritmo dado
conocimiento del punto inicial x0. por , Monte Carlo, etcétera.
f ( xk )
Este grado de incertidumbre tiene
a) Newton xk +1 = xk −
, donde
f ′( xk )
por
objeto
reflejar
la
f(x) es la aproximación a la raíz de
incertidumbre que se pudiera
4.5; o sea f(xk)= ( xk2 − 4.5) → 0 .
producir en la práctica relativa a
b) Derivada g ( x) = x , g ' ( x) = 1 /[ 2 x ] ,
los detalles específicos de un
g ( x0 + h0 ) = g ( x0 ) + g ' ( x0 )h0 , donde
algoritmo.
Ejemplo 10
Supóngase que para x, es la recta
real, se define
A( x ) = [− x / 2, x / 2]
de modo que A(x) es un intervalo
de la recta real. Comenzando en
x0 = 100 , cada una de las
sucesiones siguientes se podría
generar a partir de la aplicación
iterativa de este algoritmo
100,50,25,12,−6,−2,1.,1 / 2,...
100,−40,20,−5,−2,1,1 / 4,1 / 8,. ..
100,10,−11
, / 16,1 / 100,−1 / 1000,1 / 10000,...
x0 + h = 4.5 , x0 = 4 , h0 = 0.5 , que
generan la aproximación a la raíz.
c) Método de Montecarlo (aleatorio).
d) Método de Cuerdas (con sus arreglos
correspondientes).
, se aproxima sólo
e) El dado por
por defecto.
Creando una función error de
descenso dada por ejemplo
*
xk +1 − xk* , donde xk es una
elección arbitraria del conjunto
obtenido del paso anterior
xk∈A(xk-1).
A manara de ejemplo dentro de
esta solución lo haremos con lo
correspondiente a la derivada,
cuerdas y al Monte Carlo.
Ejemplo 11
Supóngase
que
queremos Algoritmo para derivadas: 2
encontrar la raíz cuadrada del Paso 1: Entrar xk; { 2g(x)= x ; f(x)=4.5–x }
Paso 2: h = 4.5 − xk ,
número 4.5.
f (x )
Una solución la daremos en Paso 3: xk +1 = g ( xk ) + g ' ( xk )h = xk − f ' ( xk ) .
k
seguida.
La idea se presenta en el uso de Algoritmo para cuerdas:
los algoritmos que se tienen en Paso 1: Entrar xk , a y b. { a ≤ xk y además
f (a ) f (b) < 0 }
mano por ejemplo de Newton,
Cuerdas, por aplicación de la Paso 2: Si ( a ≤ xk < b ) y ( f ( xk ) f (b) < 0 )
Angel Sangiacomo C.
F. Ayres H. 34
Capítulo 1
Introducción a la Optimización No Lineal
entonces
extremo inferior xk ,
Paso 3: en otro caso extremo b = xk .
{tal que el intervalo quede [ xk , b] }
Paso 4: xk +1 = xk −
f ( xk )(b − xk )
.
f (b) − f ( xk )
Algoritmo para Monte Carlo:
5. para xk = 2.1213203
5 Carlo=2.1213203 Æ 1 er= 0.00000000
5 deriv =2.1213203 Æ 2 er= 0.00000000
5 Cuerd=2.1213203 Æ 3 er= 0.00000000
Haga sus propios análisis de los resultados.
Sigue el programa en Pascal:
Program
Metodos_de_Derivada_Carlo_Cuedas_s;
2
uses crt;
Paso 2: h = 4.5 − xk
Type _r=real; _i=integer;
Paso 3: Si h < 0 entonces hacer i = −1 en otro var a,xk,h,aa,aleat,kk,a1,a2:_r;
caso hacer i=1,
vx:array[0..5] of _r;
i,j:longint;
Paso 4: h=|h|
d:char;
Paso 5: Si h < 1 entonces h = h / 2
procedure Monte_carlo;
en otro caso h = [mayor entero cuyo
begin
Paso 1: Entrar xk
Paso 6:
Paso 7:
Paso 8:
Paso 9:
cuadrado no supere a h]
aaleatorio = [número aleatorio],
{0 < aaleatorio < 1, extraído de tablas}
a= (aaleatorio )2
xk+1.= xk.+ aaleatorio hi
Publicar xk+1.
Una corrida con:
xk=2.00 y para las cuerdas
[1.80, 3.00] se tiene los resultados siguientes:
1.- para xk = 2.00
Æ 1 er= 0.33379854
1 Carlo=2.0411275
1 deriv =2.1250000 Æ 2 er= 0.01562500
1 Cuerd=2.1000000 Æ 3 er= 0.09000000
2. para xk = 2.041175 ;
2 Carlo=2.1942176 Æ 1 er= 0.31459096
2 deriv =2.1228957 Æ 2 er= 0.00668603
2 Cuerd=2.1073426 Æ 3 er= 0.05910736
3. para xk = 2.1228957
3 Carlo=2.1199755 Æ 1 er= 0.00570375
3 deriv =2.1213209 Æ 2 er= 0.00000248
3 Cuerd=2.1212900 Æ 3 er= 0.00012871
4. para xk = 2.1212900
4 Carlo=2.1212950 Æ 1 er= 0.00010745
4 deriv =2.1213203 Æ 2 er= 0.00000000
4 Cuerd=2.1213203 Æ 3 er= 0.00000005
Angel Sangiacomo C.
h:=aa-xk*xk;
if h<0 then i:=-1 else i:=1;
h:=abs(h);kk:=0;
if h<1 then h:=h/2
else begin repeat kk:=kk+1 until kk*kk>h;
h:=kk-1 end;
aleat:=sqr(random);
vx[1]:=xk+i*h*aleat;
writeln(j:3,' Carlo=',vx[1]:2:7,'
-->1', ' er=
',abs(aa-sqr(vx[1])):2:8);
if vx[1]<0 then vx[1]:=abs(vx[1]);
end;
procedure derivadas;
begin
vx[2]:=xk-(xk*xk-aa)/(2*xk);
writeln(j:3,' deri =',vx[2]:2:7,'
-->2', ' er=
',abs(aa-sqr(vx[2])):2:8);
end;
procedure cuerdas;
begin
if (xk*xk-aa)*(a1*a1-aa)<0 then a2:=xk else
a1:=xk;
vx[3]:=a1-(a1*a1-aa)*(a2-a1)/(a2*a2-a1*a1);
writeln(j:3,' Cuer =',vx[3]:2:7,' -->3', ' er=
',abs(aa-sqr(vx[3])):2:8);
end;
begin randomize;
write('Entrar número que se desee extraer raíz
x='); read (aa);
write('Entrar a para cuerdas a='); read (a1);
write('Entrar b para cuerdas b='); read (a2);
write('Entrar xk=');read (xk);
j:=0;
repeat j:=j+1;
F. Ayres H. 35
Capítulo 1
Monte_Carlo;
derivadas;
cuerdas;
writeln(' Elegir 1 2 3'); d:=UpCase(readkey);
if d='1' then xk:=vx[1] else if d='2' then
xk:=vx[2] else xk:=vx[3];
until d='F'
end.
La
aparente
ambigüedad
inherente a esta definición de
algoritmo no implica que los
algoritmos reales sean de carácter
aleatorio. En la aplicación
práctica real, los algoritmos no se
definen de manera ambigua. En
realidad, un determinado programa de computador ejecutado dos
veces por el mismo punto inicial
generará dos copias de la misma
sucesión. En otras palabras, en la
práctica los algoritmos son
transformaciones punto a punto.
La utilidad de la definición más
general es que permite analizar la
convergencia de una familia
integra de algoritmos análogos en
un solo paso. Así, dos programas
de computador, diseñados a partir
de la misma idea básica, pueden
diferir ligeramente en algunos
detalles, por lo que quizá no
produzcan resultados idénticos
dando el mismo punto inicial. Sin
embargo, ambos programas se
pueden
considerar
como
aplicación
de
la
misma
Angel Sangiacomo C.
Introducción a la Optimización No Lineal
transformación punto a conjunto.
En el ejemplo anterior, por
ejemplo no se necesita saber con
exactitud como se determina xk+1
a partir de xk, si se sabe que su
valor absoluto no es mayor que la
mitad del valor absoluto de xk. El
resultado siempre tenderá a cero.
De esta forma, el concepto
generalizado de algoritmo a
veces conduce a un análisis más
sencillo.
Descenso
Para describir la idea de un
algoritmo descendente se debe
considerar un subconjunto Γ del
espacio X, que se denominará
conjunto solución. La idea básica
de una función descendente,
definida a continuación, es que,
para puntos que están fuera del
conjunto solución, un solo paso
del algoritmo produce un
decrecimiento en el valor de la
función descendente.
Definición 6
Sea Γ⊂X un conjunto solución
dado y sea A un algoritmo en X.
Una función continua Z con
valores reales en X es una
F. Ayres H. 36
Capítulo 1
función descendente para Γ y A si
satisface
1) si x∉Γ y y∈A(x), entonces
Z(y)<Z(x)
2) si x∈Γ y y∈A(x), entonces
Z(y)≤Z(x).
Hay distintas maneras de definir
un conjunto solución, un
algoritmo
y
una
función
descendente. Un planteamiento
natural del problema
Minimizar f (x)
( )
sujeto a:
x∈Ω
es hacer que Γ sea el conjunto de
puntos de minimización y definir
un algoritmo A en Ω de forma
que f decrezca en cada paso y
sirva de función descendente. De
hecho, éste es el procedimiento
seguido en la mayoría de los
casos. Otra posibilidad para
problemas sin restricciones es
hacer que Γ sea conjunto de
puntos x, que satisface ∇f(x)=0.
En este caso, se podría diseñar un
algoritmo para el cual |∇f(x)| o
f(x)
sirva
como
función
descendente.
Transformaciones cerradas
Angel Sangiacomo C.
Introducción a la Optimización No Lineal
Una propiedad importante de
algunos algoritmos consiste en
ser cerrados. Esta propiedad, que
es una generalización de las
transformaciones
punto
a
conjunto del concepto de
continuidad
para
transformaciones punto a punto,
resulta ser la clave para formular
un teorema de convergencia
global general. Al definir esta
propiedad, se permite que la
transformación punto a conjunto
transforme puntos de un espacio
X en subconjuntos de otro
espacio Y.
Definición 7
Una transformación punto a
conjunto A de X a Y se dice que
es cerrada en x∈X si las hipótesis
1)
xk → x , xk ∈ X ,
2) yk → y , yk ∈ A( xk )
implican
3)
y ∈ A( x )
La transformación punto a
conjunto A se dice que es cerrada
en X si es cerrada en cada punto
de X.
Ejemplo 12
F. Ayres H. 37
Capítulo 1
Como caso especial, supongamos
que la transformación A es una
transformación punto a punto, es
decir, para cada x∈X, el conjunto
A(x) consta de un solo punto en
Y. Además supongamos que A es
continua en x∈X. Esto significa
entonces
que
si
xk→x,
A(xk)→A(x), por tanto A es
cerrada en x. Así para
transformaciones punto a punto,
la continuidad implica cierre. Sin
embargo, en general, el recíproco
no es cierto.
La definición de transformación
cerrada se puede representar en
función
del
grafo
de
transformación, que es el
conjunto { (x, y ) : x ∈ X , y ∈ A(x ) } .
Si X es cerrado ,entonces A es
cerrada en todo X si, y sólo si,
este grafo es un conjunto cerrado.
Sin embargo, esta equivalencia es
válida sólo cuando se considera
el cierre en todos los puntos. En
general, una transformación
puede ser cerrada en algunos
puntos, y en otros, no.
Introducción a la Optimización No Lineal
Muchos de los algoritmos
complejos que se analizan
conviene considerarlos como la
composición de dos o más
transformaciones sencillas punto
a conjunto. Por tanto, es norma
preguntarse si el cierre de
transformaciones
individuales
implica el cierre de la
composición. La respuesta es
definitivamente “si”.
Definición 8
Sean A:X→Y y B:Y→Z transformaciones punto a conjunto. La
transformación compuesta C=BA
se define como la transformación
punto a conjunto C:X→Z, con
C (x ) =
U B( y ).
y∈ A( x )
Teorema de la convergencia
global
El teorema de la convergencia
global se utiliza para establecer la
convergencia en la siguiente
situación general. Hay un
conjunto solución Γ. Los puntos
Ejemplo 13
se generan según el algoritmo
El lector deberá comprobar si la
x ∈A(xk), y cada punto nuevo
transformación punto a conjunto k+1
siempre hace decrecer estrictadefinida en el ejemplo 1 es
mente una función descendente
cerrada.
Z, a menos que se alcance el
Angel Sangiacomo C.
F. Ayres H. 38
Capítulo 1
conjunto solución Γ. Por
ejemplo, en programación no
lineal, el conjunto solución puede
ser el conjunto de puntos
mínimos (quizá solo un punto), y
la función descendente puede ser
la propia función objetiva. Se
encuentra un algoritmo adecuado
que genere puntos tales que cada
punto nuevo reduzca estrictamente el valor de la función
objetivo. Entonces, en condiciones apropiadas, el resultado es
que la sucesión converge al conjunto solución. El teorema de
convergencia global establece las
condiciones técnicas para las
cuales
se
garantiza
la
convergencia.
Introducción a la Optimización No Lineal
Si x∉Γ, entonces Z(y)<Z(x)
para toda y ∈ A( x )
b) Si x∈Γ, entonces Z(y)≤Z(x)
para toda y∈A(x).
3) la
transformación A es
cerrada en puntos que están
fuera de Γ. Entonces, el
límite de cualquier subsucesión convergente de {xk} es
una solución.
a)
Dado el conjunto solución Γ⊂X,
supóngase
Prueba:
Téngase la subsucesión convergente {xk}, donde k ∈ K converge
al límite x. Como Z es continua,
k∈K ,
resulta
que
para
Z(xk)→Z(x). Esto significa que Z
es convergente respecto a la
subsucesión, y se demostrará que
es convergente con respecto a
toda la sucesión. Por la
monotonía de Z en la sucesión
{xk}, resulta que Z(xk)–Z(x)≥0
para toda k. Por la convergencia
de Z en la subsucesión, existe una
K ∈ K para un ε > 0 tal que
Z(xk)–Z(x)<ε para toda k>K,
k∈K .
Así, toda k>K
todos los puntos xk están
contenidos en el conjunto
compacto S ⊂ X
2) existe una función continua
Z en X tal que
lo que demuestra que Z(xk)→Z(x)
Para completar la demostración
sólo se necesita mostrar que x es
una solución. Supongamos que x
no es una solución. Considérese
Teorema de convergencia global
Sea A un algoritmo de X y
supóngase que, dada x0, genera la
∞
sucesión { xk } k = 0 que cumple
xk+1∈A(xk)
1)
Angel Sangiacomo C.
Z ( xk ) − Z ( x ) = Z ( xk ) − Z ( x K ) + Z ( x K ) − Z ( x ) < ε
F. Ayres H. 39
Capítulo 1
la subsucesión {xk+1}k. Como
todos los miembros de está
sucesión están contenidos en un
conjunto compacto, existe K ⊂ K
tal que { xk +1}K converge a algún
límite x . Por tanto se tiene que
xk → x , k ∈ K y xk+1∈A(xk), con
xk +1 → x , k ∈ K . Así, como A es
cerrada en x resulta que x ∈ A( x ) .
Pero,
por
lo
expuesto
anteriormente Z ( x ) = Z ( x ) , lo cual
contradice el hecho de que Z es
una función descendente. ♣
Corolario.
Si por las condiciones del
teorema de la convergencia
global, Γ está formado por un
solo punto x , entonces la
sucesión {xk} converge a x .
Prueba:
Supóngase, por el contrario, que
existe una subsucesión { xk }K y
un ε>0 tal que xk − x > ε para
toda k ∈ K . Por compatibilidad,
debe existir K ′ ⊂ K tal que
{ xk }K ' converja, por ejemplo, a
x′ . Es evidente que x′ − x ≥ ε ,
pero por el teorema de la
convergencia global x ′ ∈ Γ , por
lo cual es una contradicción. ♠
Angel Sangiacomo C.
Introducción a la Optimización No Lineal
Posteriormente, el teorema de la
convergencia global se usa para
probar la convergencia de varios
algoritmos estándar. A continuación se tratan algunos ejemplos
sencillos para ilustrar la función
de las distintas condiciones del
teorema.
Ejemplo 14
En muchos aspectos, la condición
3) del teorema, el cierre de A
fuera del conjunto solución, es la
condición más importante. El
fracaso de muchos algoritmos de
uso común se debe a que no
satisfacen esta condición. Considérese en la recta real el
algoritmo punto a punto
⎧⎪ 1 ( x − 1) + 1, x > 1
A( x ) = ⎨ 2 1
⎪⎩
2
x,
x ≤1
y el conjunto solución Γ={0}. Es
fácil comprobar que una función
descendente para este conjunto
solución y este algoritmo es
Z(x)=|x|. Sin embargo, partiendo
de x>1, el algoritmo genera una
sucesión que converge a x=1. Y
no es una solución. La dificultad
está en que A no es cerrado en
x=1.
Ejemplo 15
F. Ayres H. 40
Capítulo 1
En la recta real X, considérese
que el conjunto solución está
vació, la función descendente es
y
el
algoritmo,
Z(x)=e-x,
A(x)=x+1. Se cumplen todas las
condiciones del teorema de la
convergencia, excepto la 1). La
sucesión
generada
desde
cualquier condición inicial se
dirige al infinito. Esto no es una
violación
estricta
de
la
conclusión del teorema, sino un
ejemplo ilustrativo de que si no
se introduce ninguna hipótesis de
compatibilidad, la sucesión generada puede no tener subsucesión
convergente.
Introducción a la Optimización No Lineal
donde [0, x) denota un intervalo
semiabierto. Haciendo Γ={0}, la
función Z(x)=x sirve como
función descendente, para todos
los puntos de A(x) son menores
que x para x≠0.
La sucesión definida por
x0 = 1
xk +1 = xk −
1
2
k +2
satisface xk+1∈A(xk) pero se
puede observar fácilmente que
xk → 12 ∉ Γ , ( 1 − 1 ∑ ∞ 2 p ). La
p =0
4
dificultad en este caso se debe,
lógicamente, a que el algoritmo A
no es cerrado fuera del conjunto
Ejemplo 16
Considérese el algoritmo A punto solución.
conjunto definido por la gráfica
de la figura 18 y dado Rapidez de convergencia
explícitamente en X=[0,1] por
El estudio de rapidez de
⎧[0, x) 1 ≥ x > 0
convergencia es un tema
A( x ) = ⎨
0
x
=
0
⎩
importante,
pero
a
veces
complejo. Sin embargo, hay una
teoría de tasas de convergencia
rica, aunque elemental, que
permite predecir con seguridad la
efectividad relativa de una amplia
clase de algoritmos. En esta
sección, se introducen varios
conceptos diseñados para medir
la rapidez de convergencia y
Figura 18.
Angel Sangiacomo C.
F. Ayres H. 41
Capítulo 1
Introducción a la Optimización No Lineal
preparar el estudio de este
importantísimo aspecto de la
programación no lineal.
Una ilusión de los matemáticos
que se dedican a la creación y
mejora de los algoritmos es
conseguir ordenes altos de
convergencia (orden 3, 4, …).
Orden de convergencia
Considérese una sucesión de
∞
números reales { rk }k = 0 convergente al límite r* se definen
varios conceptos relacionados
con la rapidez de convergencia de
esa sucesión.
Definición 9
Sea la sucesión {rk} converge a
r*. Se define el orden de
convergencia de {rk} como el
máximo de los números no
negativos p que satisfagan
____
rk +1 − r *
k →∞
p
0 ≤ lím
rk − r *
<∞.
vez son necesarios en el análisis
real, pues, en general, las sucesiones generadas por algoritmos
se comportan bien.
Obsérvese que el orden de convergencia, al igual que sucede
con las demás nociones relacionadas con la rapidez de convergencia que se introducen, está
determinado sólo por las
propiedades de la sucesión a
medida que k→∞. Así pues, de
manera un tanto informal, se
denomina cola de una sucesión a
aquella parte de la sucesión que
está arbitrariamente lejos. En esta
terminología, se podría decir que
el orden de convergencia es una
medida de bondad de la peor
parte de la cola. En cierto
sentido, los valores grandes del
orden implican una convergencia
más rápida, pues se reduce la
distancia al límite r*, al menos en
la cola, con la p-ésima potencia
en un solo paso. De hecho, si la
sucesión tiene orden p y (como es
usual) existe el límite
Para asegurar que la definición es
r −r*
aplicable a cualquier sucesión, se
β = lím k +1 p
k →∞ r − r *
formula en función del límite
k
superior, en lugar de sólo el entonces, asintóticamente, resulta
límite, y 0/0 (que se produce si
p
rk +1 − r * = β rk − r * .
rk = r * para toda k) se considera
finito. Pero estos tecnicismos rara Ejemplo 17
Angel Sangiacomo C.
F. Ayres H. 42
Capítulo 1
Introducción a la Optimización No Lineal
La sucesión con rk=ak, donde ge, con tasa de convergencia β,
0<a<1 converge a cero con orden tiene una cola que converge, al
unitario, pues (rk +1 / rk ) = a.
menos tan rápido como la
sucesión geométrica cβ k para
alguna constante c. Así la
Ejemplo 18
convergencia lineal se denomina,
(2 k )
La sucesión con rk = a
, para a veces, convergencia geométri0<a<1 converge a cero con orden ca,
aunque
nosotros
nos
2
reservamos ese nombre sólo para
dos, pues (rk +1 / rk ) = 1.
el caso en que una sucesión sea
exactamente geométrica.
Por regla general, al comprobar
Convergencia lineal
la efectividad relativa de dos
La mayoría de los algoritmos algo-ritmos, cualquiera de los
analizados en este libro tienen un cuales se puede producir
lineal-mente
orden de convergencia igual a la sucesiones
unidad. Por tanto, conviene tratar convergentes, la comparación se
esta clase con mayor detalle y basa en sus razones de
convergencia correspondientes
diferenciar ciertos casos.
cuanto más pequeña sea la razón,
Definición 10
más rápida es la tasa. El caso
Si la sucesión {rk} converge a r* extremo,
β=0,
se
donde
de manera que
denomina
convergencia
r −r*
superlineal. Se observa de
lím k +1
= β < 1.
k → ∞ rk − r *
inmediato que la convergencia de
se dice que la sucesión converge cualquier orden mayor que la
linealmente a r* con tasa de unidad es superlineal, pero
también es posible que la
convergencia β.
convergencia
superlineal
Para los efectos de lo que corresponda al orden unitario.
trataremos, la convergencia lineal
es, sin lugar a dudas, el tipo más Ejemplo 19
importante de comportamiento de La sucesión r = 1 / k converge a
k
convergencia. Se puede decir que
cero. La convergencia es de
una sucesión linealmente converAngel Sangiacomo C.
F. Ayres H. 43
Capítulo 1
orden uno, pero no es lineal, pues
lím (rk +1 / rk ) = 1 , es decir, β no es
k →∞
estrictamente menor que uno.
Ejemplo 20
k
La sucesión rk = (1 / k ) es de
orden
unitario,
pues
( rk +1 / rkp ) → ∞ , para p > 1 . Sin
Introducción a la Optimización No Lineal
lím rk − r *
1/ p k
k →∞
= 1.
Si la igualdad no se cumple para
ninguna p>1, el orden es infinito.
Ejemplo 21
k
Para la sucesión rk = a ( 2 ) ,
0<a<1, dada en el ejemplo 18,
resulta
embargo, (rk +1 / rk ) → 0 cuando
1 / 2k
rk
=a,
k→∞, por tanto, la convergencia
mientras que
es superlineal.
rk
Tasas promedio
Todas las definiciones dadas
antes
pueden
denominarse
conceptos de convergencia paso a
paso pues definen cotas en el
proceso realizado al avanzar un
solo paso: de k a k+1. Otro
enfoque es definir conceptos
realizados con el proceso
promedio en un número grande
de pasos. A continuación se da
una breve explicación del
proceso.
Definición 11
Sea la sucesión {rk} converge a
r*. El orden promedio de
convergencia es el mínimo de los
números p>1 tal que
Angel Sangiacomo C.
1/ p k
=a
( 2p ) k
→1
para p>2. Así, el orden promedio
es dos.
Ejemplo 22
Para rk=ak con 0<a<1, resulta
k
k
( rk )1 / p = a k (1 / p ) → 1
para cualquier p>1. Así, el orden
promedio es unitario.
Como antes, el caso más
importante es el de orden
unitario, y en él se define la razón
de convergencia promedio como
lím rk − r *
k →∞
1/ k
. Así, para la
sucesión geométrica rk=cak,
0<a<1, la razón de convergencia
promedio es a. Comparando las
definiciones anteriores, el lector
F. Ayres H. 44
Capítulo 1
puede definir los conceptos
correspondientes de convergencia
lineal promedio y superlineal
promedio de manera similar.
Aunque el conjunto anterior de
definiciones se puede adornar y
ampliar, es bastante adecuado
para nuestros efectos. En general,
se trabajará con las definiciones
paso a paso, pues al analizar
algoritmos iterativos es natural
comparar un paso con el
siguiente. Es más, en la mayoría
de las situaciones, cuando las
sucesiones se comportan bien y
existen los límites de las
definiciones, entonces coinciden
los conceptos paso a paso y
promedio de las tasas de
convergencia.
Convergencia de vectores
∞
Supóngase que { xk }k =0 es una
sucesión de vectores en En
converge a un vector x*. Las
propiedades de convergencia de
dicha sucesión se definen
respecto
a
cierta
función
determinada
que
convierte
cualquier sucesión de vectores en
una sucesión de números. Así, si
f es una función continua dada,
en En, las propiedades de
Angel Sangiacomo C.
Introducción a la Optimización No Lineal
convergencia de {xk} pueden
definirse con respecto a f
analizando la convergencia de
f(xk) a f(x*). La función f usada
de esta manera para medir la
convergencia
se
denomina
función de error.
En la teoría de optimización es
común elegir la función de error
por la cual se mide la
convergencia igual a la función
que define la función objeto del
problema
de
optimización
original. Esto significa que se
mide la convergencia por lo
rápido que el objetivo converge a
su mínimo. A veces también se
2
utiliza la función x − x * , por lo
que la convergencia se mide por
lo rápido que la distancia al
(cuadrado) hasta el punto
solución decrece a cero.
En general, el orden de
convergencia de una sucesión es
indiferente a la función de error
espacial usada, pero para la
convergencia lineal paso a paso,
la razón de convergencia asociada no lo es. Sin embargo, la
razón de convergencia promedio
no es muy sensible, como lo
demuestra
la
siguiente
proposición, de ahí que no sea
F. Ayres H. 45
Capítulo 1
Introducción a la Optimización No Lineal
realmente muy importante cuál es Como ejemplo de aplicación de
la función de error espacial usada la
proposición
anterior,
para medir la convergencia.
considérese el caso donde
2
g (x) = x − x *
y
f ( x ) = ( x − x *)T Q( x − x *) , donde Q es
Proposición 10
Sea f y g dos funciones de error una matriz simétrica definida
que satisfagan f(x*)=g(x*)=0, y, positiva. Entonces, a1 y a2
para toda x, una relación de la corresponden, respectivamente, a
forma
los valores propios menores y
0 ≤ a1 g ( x ) ≤ f ( x ) ≤ a2 g ( x )
mayores de Q. Así, la
para algunos a1 > 0, a2 > 0 fijos. convergencia lineal promedio es
idéntica respecto a cualquier
∞
Si la sucesión { xk }k =0 converge función de error construida a
linealmente a x* con razón partir de una forma cuadrática
promedio β respecto a una de definida positiva.
estas funciones, también lo hace
respecto a la otra.
Problemas
Prueba:
Es fácil observar que la 1. Para aproximar una función g
formulación es simétrica en f y g. en el intervalo [0, 1] con un
Así, se puede suponer que {xk} es polinomio p de grado n (o
linealmente convergente con menor), se1minimiza el criterio
f (a ) = ∫ [ g ( x ) − p( x )] 2 dx ,
razón de convergencia promedio
0
β respecto a f, y probar que lo donde
mismo es cierto respecto a g. Se p( x ) = a x n + a x n −1 + ... + a . .
0
n
n −1
tiene
Hállense
las
ecuaciones
satisfechas por los coeficientes
β = lím f ( x k )1 / k ≤ lím a12/ k g ( x k )1 / k = lím g ( x k )1 / k
k →∞
k →∞
k →∞
optimales a=(a0, a1, ..., an)
y
β = lím f ( x k )1/ k ≥ lím a11 / k g ( xk )1 / k = lím g ( xk )1 / k .
k →∞
k →∞
β = lím g ( xk )1 / k .
k →∞
Angel Sangiacomo C.
k →∞
♦
Con
las
condiciones
necesarias de primer orden,
hállese un punto mínimo de la
función
2. a)
F. Ayres H. 46
Capítulo 1
Introducción a la Optimización No Lineal
f ( x, y, z ) = 2 x 2 + xy + y 2 + yz + z 2
− 6 x − 7 y − 8 z + 9.
Verifíquese que el punto es
un punto mínimo relativo
comprobando
que
se
cumplen las condiciones
suficientes
de
segundo
orden.
c) Demuéstrese que el punto es
un punto mínimo global.
definida positiva si, y sólo si,
tiene una descomposición LU
(sin intercambio de filas) y los
elementos en la diagonal de U
son todos positivos.
b)
3.
4.
En este ejercicio y en el
siguiente, se desarrolla un
método para determinar si una
matriz simétrica dada es
definida positiva. Dada una
matriz A de n×n, se denota por
Ak la submatriz principal
formada por las k primeras filas
y columnas. Demuéstrese (por
inducción) que si las primeras
n–1 submatrices principales
son no singulares, entonces hay
una matriz triangular superior
indica única U, tales que A=LU
(Véase Apéndice C).
Una matriz simétrica es
definida positiva si, y sólo si, el
determinante de cada una de
sus submatrices principales es
positivo. Usando este hecho y
las
consideraciones
del
ejercicio 4, muéstrese que una
matriz simétrica A de n×n es
Angel Sangiacomo C.
5.
Sea fi, i∈I un conjunto de
funciones convexas definidas
en un conjunto convexo Ω.
Demuéstrese que la función f
definida por f ( x ) = sup f i ( x ) es
i∈I
convexa en la región que es
finita.
6.
Defínase la transformación
punto a conjunto en En por
A(x) = { y : yTx ≤ b },
donde b es una constante fija ?
Es A correcta?
7.
Sea { rk }k =0 y { ck }k =0
sucesiones de números reales.
Supóngase que rk→0 linealmente en promedio y que hay
constantes c>0 y C tales que
c ≤ ck ≤ C para toda k.
ck rk → 0
Muéstrese
que
linealmente en promedio.
∞
∞
F. Ayres H. 47
Capítulo 1
Angel Sangiacomo C.
Introducción a la Optimización No Lineal
F. Ayres H. 48
Capítulo 2
Introducción a la Optimización No Lineal
CAPÍTULO 2
Objetivo: Comprender y aplicar elementalmente los
métodos básicos de descenso.
Métodos básicos de descenso
A continuación se describen las
técnicas básicas utilizadas para la
resolución iterativa de problemas
de
minimización
sin
restricciones. Como es lógico,
estas técnicas son importantes
para las aplicaciones prácticas, ya
que suelen ofrecer posibilidades
más sencillas y directas para la
obtención de soluciones; pero
quizá su mayor importancia
radique en que establecen ciertos
niveles de referencia respecto a la
dificultad de aplicación y a la
rapidez de convergencia. Por eso
motivo,
en
los
capítulos
posteriores, a medida que se
desarrollen
técnicas
más
eficientes y capaces de manejar
restricciones,
se
hace
continuamente referencia a las
técnicas básicas de este capítulo a
Angel Sangiacomo C.
modo de guía y como punto de
comparación.
Hay una estructura fundamental
subyacente para casi todos los
algoritmos descendentes que se
analizan. Se comienza en un
punto inicial, se determina, de
acuerdo con una regla fija, una
dirección de movimiento y
después se sigue es dirección
hacia el mínimo (relativo) de la
función objetivo de esa recta. En
el punto nuevo se determina una
nueva dirección, y se repite el
proceso.
Las
diferencias
fundamentales entre algoritmos
(descenso de mayor pendiente,
método de Newton, etc.) radican
en la regla mediante la cual se
seleccionan
las
direcciones
sucesivas del movimiento. Una
vez que se a hecho la selección
todos los algoritmos exigen
movimiento hacia el punto
mínimo
de
la
recta
correspondiente.
El proceso de determinar el punto
mínimo de una recta dada se
denomina búsqueda lineal. De
hecho, para funciones no lineales
generales que no se puedan
minimizar analíticamente, este
proceso se completa buscando
detenidamente en la recta el
punto mínimo. Estás técnicas de
F. Ayres H. 49
Capítulo 2
búsqueda lineal, que no son otra
cosa que procedimientos de resolución de problemas de minimización unidimensionales, constituyen la base fundamental de los
algoritmos de programación no
lineal, pues los problemas de
dimensiones superiores se resuelven analizando una secuencia de
búsqueda lineales sucesivas. Son
varios los métodos de esta importante fase de la minimización y la
primera mitad nos dedicaremos a
su análisis.
Nota: Como en la demostración
de la proposición 1, usando una
composición de funciones, a una
función de varias variables se le
convierte en función de una sola
variable (parámetro).
Búsqueda de Fibonacci
Un método muy utilizado para
resolver el problema de búsqueda
lineal es la búsqueda de
Fibonacci que describiremos
aquí. El método tiene cierta
elegancia teórica, lo cual, sin
duda, explica su popularidad,
pero, como se verá, hay otros
procedimientos que en la mayoría
de los casos son superiores.
El método determina el valor
mínimo de una función f en un
Angel Sangiacomo C.
Introducción a la Optimización No Lineal
intervalo cerrado [c1,c2]. En las
aplicaciones, f puede estar definida en un dominio más amplio,
pero para este método debe especificarse un intervalo fijo de
búsqueda. La única pro-piedad
que se supone a f es ser
unimodal, es decir, que tenga un
solo mínimo relativo.
La idea es acorralar al punto
óptimo en un intervalo de
tolerancia prefijada.
El intervalo inicial de incertidumbre es L0 ( L0 = b1 − a1 ) y se
define un incremento h1 dado por
h1 = L0
Fibonaccin − 2
,
Fibonaccin
donde n es el número de
iteraciones que se desea realizar
es
el
y
Fibonaccin
correspondiente
número
de
Fibonacci con la siguiente regla:
para n=2, 3, 4, …
Fibonacci0 = Fibonacci1 = 1
Fibonaccin = Fibonaccin −1 + Fibonaccin − 2
Se tiene:
x1 = a1 + h1
x2 = b1 − h1
Se supone que se quiere
minimizar la función unimodal
f (x) .
Entonces
si f ( x1 ) > f ( x2 ) entonces a2 = a1 + h1 ,
b2 = b1 ,
si f ( x1 ) < f ( x2 ) entonces b2 = b1 − h1 ,
F. Ayres H. 50
Capítulo 2
Introducción a la Optimización No Lineal
a2 = a1 ,
si f ( x1 ) = f ( x2 ) entonces b2 = b1 − h1 ,
a2 = a1 + h1 ,
para es te caso particular tenemos
si a2 ≠ a1 entonces x3 = a2 + h2 ,
si b2 ≠ b1 entonces x3 = b2 − h2 ,
En
la
figura
se
hace continuando de esta manera hasta
esquemáticamente
como completar con n − 3 iteraciones.
funciona en una curva el método.
Algoritmo de Fibonacci.
(ver apéndice)
Paso 1: Definir f (x) ,
Paso 2: Entrar a, b, Err
{ límite inferior, superior y error}
Paso 3: Hacer N ≥
1
;
Err
1
; n ∈ Z} }
Err
Paso 4: Hacer Fibonacci0 = 1, Fibonacci1 = 1 ,
{
a)
Paso 5:
N = Mín {n : n ≥
Para i=1 hasta N hacer
Paso 6:
Fibonaccii +1 = Fibonaccii + Fibonaccii −1
Paso 7: Hacer i = 0 , k = 0
Paso 8: Mientras i < N − 2 hacer
paso 9: h = (b − a) ⋅ FibonacciN − i − 2 ,
FibonacciN − i
b)
Figura 19.
Se continua calculando
siguiente incremento h2 con
h2 = L1
el
Fibonaccin − 3
,
Fibonaccin −1
donde L1 = b2 − a2 y
x3 tomando en
rechazado, o sea,
cumpla (para i
iteración)
hallamos el
cuenta el
donde se
la i-ésima
si ai ≠ ai −1 entonces xi +1 = ai + hi ,
si bi ≠ bi −1 entonces xi +1 = bi − hi ,
Angel Sangiacomo C.
paso 10: si k = 0 entonces
x = a + h, y = b− h,
paso 11: si k ≠ 0 entonces
paso 12 si b = y entonces
y = b− h,
paso 13 en otro caso
x=a+h
paso 14: si x>y intercambiar(x, y)
paso 15: si f ( x) > f ( y ) entonces
a = x ; k =1
paso 16: en otro caso entonces
b = y , k =1
paso 17: i=i+1;
Paso 18: si f (a) > f (b) entonces x* = b
Paso 19: en otro caso x* = a .
Paso 20: Publicar Mínimo x * .
Paso 21: Parar.
F. Ayres H. 51
Capítulo 2
Introducción a la Optimización No Lineal
Programa en Delphi Pascal
unit Fibonac1222;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls,
Forms, Dialogs,
StdCtrls, Functx;
type
TFibonacci = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel; Edit1: TEdit; Label2: TLabel;
Label3:TLabel; Edit3:TEdit; Button1:TButton;
Button2:TButton;
Memo1: TMemo;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
end;
Edit2: TEdit;
var
Fibonacci: TFibonacci;
implementation
{$R *.DFM}
procedure TFibonacci.Button1Click(Sender: TObject);
var a, b, x1, x2, x3, x4, error, Fibona_n, Fibona_n1 : Double;
f2, f4 : double; nn, i1 : integer;
sx1, sx2, sx3, sx4, sx5 : string[30];
function f( t : double ) : Double;
begin
f := 2*t*t-3*t-4 end;
Procedure Fibonacci( var n : Integer); var xx : Double;
begin Fibona_n := 1; Fibona_n1 := 1; xx := 1; n := 0;
repeat n := n + 1;
Fibona_n := xx; xx := Fibona_n1;
Fibona_n1 := Fibona_n + xx;
until Fibona_n1 > 1/error;
nn := n;
end;
begin
a := strToFloat(Edit1.Text);
b := strToFloat(Edit2.Text);
Error := strToFloat(Edit3.Text);
Fibonacci( nn );
memo1.Clear;
if a > b then begin x1 := a; a := b; b := x1 end;
x2 := a + (b-a) * Fibona_n / Fibona_n1; f2 := f(x2);
Angel Sangiacomo C.
x1 := a; x3 := b; i1 := 0;
repeat
x4 := x1 - x2 + x3; f4 := f(x4);
str(x1:1:8, sx1); str(x3:1:8, sx2); str(x4:1:8, sx5);
str(f(x1):1:8, sx3); str(f(x3):1:8, sx4);
memo1.Lines.Add(' a= '+sx1+' b= '+sx2+ ' t= '+ sx5 +
' f(a)= '+sx3+ ' f(b)= '+sx4);
if f4 < f2 then
begin
if x4 < x2 then x3 := x2
else x1 := x2; x2 := x4; f2 := f4;
end
else
if x4 < x2 then x1 := x4 else x3 := x4;
i1 := i1 +1;
Until i1 > nn;
memo1.Lines.Add(' El intervalo Final es [ '+ sx1 + ' ; ' +
sx2 + ' ]');
str( error * (b-a):1:8 , sx1); str( x2-x1:1:8 , sx2);
memo1.Lines.Add(' Con Error Pedido de Err = ' + sx1 +
' y Error de intervalo = '+ sx2);
end;
end.
Método de búsqueda de la
sección áurea
Este método también requiere
que la función sea de una sola
varia-ble o en caso contrario de
una transformación a una de una
variable y unimodal. Si el intervalo de incertidumbre original es
a≤x≤b, el que denotaremos por
[a,b], el proceso reduce este
inter-valo en cada iteración en
una proporción constante τ.
Este valor constante que recibiera
de los antiguos griegos el nombre
de proporción divina (sección
áurea), se calcula de la siguiente
manera:
F. Ayres H. 52
Capítulo 2
Introducción a la Optimización No Lineal
Sea la iteración k con intervalo de
incertidumbre [ak,bk] y los puntos
k
k
a examinar x1 y x2 . Entonces
τ=
x2k − ak bk − x1k
=
,
bk − ak bk − ak
(1)
De esta relación se establece que
x2k − ak = bk − x1k .
o
(2)
x1k
− ak = bk −
x1k − ak
x2k − ak
Si se supone que se está
minimizando la función f (x) ,
entonces si f ( x2k ) > f ( x1k ) , se
elimina del análisis el intervalo
[ x2k , bk ] . De otra forma si
f ( x2k ) < f ( x1k )
se elimina el
k
intervalo [ak , x1 ] . En el primer
⎡ x2k − ak ⎤
−
⎢
⎥,
x2k − ak ⎣⎢ x2k − ak ⎦⎥
bk − ak
remplazando
u
efectuando
operaciones nos queda
x1k − ak
x2k
− ak
=
1
τ
−1.
(4)
Pero de la expresión (3) se tiene
que
x1k − ak
x2k .
=
x2k − ak
=τ ,
(5)
reduciendo nos da la ecuación en
τ
τ=
1
τ
−1,
(6)
o sea la expresión cuadrática
τ 2 + τ −1 = 0 .
Esta ecuación es de fácil solución
por la fórmula respectiva y nos
k
k
caso ( f ( x2 ) > f ( x1 ) ) se tiene que da los siguiente valores para τ
−1+ 5
los nuevos extremos del intervalo
τ=
2
de incertidumbre son
o
b
= xk
k +1
2
ak +1 = ak
τ=
x2k +1 = x1k
−1− 5
2
tomando el valor positivo sería
La constante de
quedaría definida por
reducción τ = 0.6180339887499...
Para el otro caso f ( x2k ) < f ( x1k ) se
x2k +1 − ak x1k − ak x2k − ak
= k
=
τ= k
(3) obtiene un resultado similar.
x2 − a k
x2 − ak bk − ak
Hagamos el proceso seguido por
acomodando (2) para usarla en el método de sección áurea:
(3) obtenemos:
x1k − ak = bk − x2k = bk − x2k + ak − ak
x1k − ak = bk − x2k = bk − ak − ( x2k − ak )
dividiendo entre
queda
Angel Sangiacomo C.
x1k − ak
nos
Paso 1: Definir f (x)
Paso 2: Entrar a, b, Tol
{límite inferior y superior y error}
Paso 3: Hacer x1 = (1 − τ )(b − a ) + a
x2 = τ (b − a) + a
F. Ayres H. 53
Capítulo 2
Introducción a la Optimización No Lineal
Paso 4: hacer k = 0 , f 1 = f ( x1) ,
k = k +1, s = 0 ,
paso 16:
Paso 17: ir al paso (5)
f 2 = f ( x 2) ;
Paso 5: si x1 − x2 < Tol entonces ir al paso (13), Paso 18: Publicar [a, b] final.
Paso 18: Parar.
Paso 6: si f ( x1 ) < f ( x2 ) entonces
paso 7: d = x 2 − a ; b = x 2 ;
x 2 = x1 ;
Programa en Delphi Pascal
x1 = a + d ⋅ (1 − τ )
la Regla Áurea
paso 8: f 2 = f 1 ; f 1 = f ( x1) ;
Paso 9: si f ( x1 ) ≥ f ( x2 ) entonces
paso 10: d = b − x1 ; a = x1 ;
x1 = x 2 ;
x2 = a + d ⋅ τ
paso 11: f 1 = f 2 ; f 2 = f ( x 2) ;
Paso 12: ir al paso (5)
Paso 13: Publicar [a, b] final.
Paso 14: Parar.
de
unit Aurea11x3;
Hagamos el proceso alternativo
seguido por el método de sección
áurea:
Paso 1:
Paso 2:
Paso 3:
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls,
Forms, Dialogs,
StdCtrls, Functx;
type
TFibonacci = class(TForm)
Definir f ( x)
GroupBox1: TGroupBox;
Entrar a, b, Tol
Label1: TLabel; Edit1: TEdit; Label2: TLabel; Edit2: TEdit;
{límite inferior y superior y error}
Label3: TLabel; Edit3:TEdit; Button1:TButton;
Button2: TButton; Memo1: TMemo;
Hacer x1 = (1 − τ )(b − a ) + a
procedure Button2Click(Sender: TObject);
x2 = τ (b − a ) + a
procedure Button1Click(Sender: TObject);
end;
hacer k = 0 ; s = 3 ,
Paso 4:
Paso 5: si k > 0 entonces
paso 6: si s = 1 entonces
x1 = (1 − τ )(b − a ) + a
paso 7: si s = 0 entonces
x2 = τ (b − a ) + a
Paso 8: si x1 − x2 < Tol entonces ir al paso (18),
Paso 9: si x1 > x2 entonces
Paso 10: u = x1 ; x1 = x2 ; x2 = u ;
Paso 11: si f ( x1 ) > f ( x2 ) entonces
a = x1 ,
paso 12:
k = k + 1, s = 1,
paso 13:
Paso 14: si f ( x1 ) < f ( x2 ) entonces
b = x2 ,
paso 14:
Angel Sangiacomo C.
var
Fibonacci: TFibonacci;
implementation
{$R *.DFM}
procedure TFibonacci.Button1Click(Sender: TObject);
var a, b, x1, x2, Tau, error, x0, dx : Double;
fx1, fx2 : double;
s, i1 : integer;
sx1, sx2 : string;
function f( t : double ) : Double; var vx : _v1;
begin vx[24] := t;
f := funcionxx('2*x*x-3*x-4', vx) end;
begin
a := strToFloat(Edit1.Text); b := strToFloat(Edit2.Text);
Error := strToFloat(Edit3.Text); memo1.Clear;
Tau := (sqrt(5)-1)/2;
if a > b then begin x1 := a; a := b; b := x1 end;
x2 := a + (b-a) * Tau;
F. Ayres H. 54
Capítulo 2
Introducción a la Optimización No Lineal
x1 := a + (b-a) * (1 - Tau);
i1 := 0;
fx1 := f(x1); fx2 := f(x2);
repeat i1 := i1+1;
str(a:1:8, sx1); sx2:=IntToStr(i1)+' a = '+sx1; str(b:1:8,
sx1);
sx2:=sx2+' b = '+sx1; str(x1:1:8, sx1); sx2:=sx2+' x1 =
'+sx1;
str(x2:1:8, sx1); sx2:=sx2+' x2 = '+sx1; str(fx1:1:8, sx1);
sx2:=sx2+' f1 = '+sx1; str(fx2:1:8, sx1); sx2:=sx2+' f2
= '+sx1;
memo1.Lines.Add(sx2);
if fx1 < fx2 then
begin dx:=x2-a; b:=x2; x2:=x1;
x1 := a + dx*(1-Tau); fx2 := fx1; fx1 := f(x1);
end
else
begin dx:=b-x1;
a:=x1; x1:=x2;
x2:=a+dx*(tau); fx1 := fx2; fx2 := f(x2);
end
Until abs(dx) < error;str(a:1:11,sx1);str(b:1:11,sx2);
memo1.Lines.Add(' El intervalo Final es [ '
+ sx1 + ' ; ' + sx2 + ' ]');
str( error :1:8 , sx1); str( abs(a-b):1:8 , sx2);
memo1.Lines.Add(' Con Error Pedido de Err = ' + sx1 +
' y Error de intervalo = '+ sx2);
end;
end.
Búsqueda Lineal
Ajuste de Curvas
El punto de partida x de la búsqueda de los óptimos, mientras d
es la dirección de búsqueda.
La idea consiste en aproximar la
función g (α ) = f ( x + αd ) , por un
polinomio cúbico de la forma
p (α ) = a + bα + cα 2 + dα 3 .
También
g ′(α ) =
dg (α )
= ∇f ( x + αd ) ⋅ d .
dα
(2)
Supónganos que se conocen los
puntos
p = xn −1 y q = xn
también
g p = g ( p) ,
y
g q = g (q ) ,
(3)
G p = g ′( p ) ,
Gq = g ′(q ) .
Aplicamos
ahora
esto
Mediante polinomio aproximante.
Sea pues
Interpolación Cúbica
Este método fue desarrollado por
“Davidon” y requiere que la función sea diferenciable. Consiste
en hallar un valor mínimo local
(óptimo) de una función f(x) en
un parámetro α (variable) usando
g (α ) = f ( x + αd ) ,
donde d es una dirección determinada (normalmente factible) y
x es un valor inicial arbitrario.
al
a + bα + cα 2 + dα 3 = g (α ) .
Construimos un sistema de
ecuaciones lineales con cuatro
ecuaciones y cuatro incógnitas a,
b, c y d como sigue:
Para p = 0 , y para p=q en directo en g y
la g’≡G
= gp
a
a + bq + cq 2 + dq 3 = g q
b
= Gp
(4)
b + 2cq + 3dq 2 = Gq
Acto seguido obtenemos:
a = g ( p) ,
Angel Sangiacomo C.
(1)
b = g ′( p) ,
F. Ayres H. 55
Capítulo 2
Introducción a la Optimización No Lineal
g ′( p ) + z
,
q
g ′( p ) + g ′(q ) + 2 z
y haciendo equivalencias
c=−
d=
donde
z=
3q 2
r
g ′(q ) − z + W
= 1−
q
g ′(q ) − g ′( p) + 2W
,
(10)
y para p ≠ 0
αc − q
3( g ( p) − g (q ))
+ g ′( p) + g ′(q) ,
q
(5)
q− p
=−
g ′(q) − z + W
.
g ′(q) − g ′( p ) + 2W
La última expresión la de uso
común en los cálculos numéricos
optimizando o sea encontrando es de la siguiente forma:
g ′(α ) = 0 y a encontrando puntos
g ′(q ) − z + W
αc = q −
(q − p) ,
críticos
g ′(q) − g ′( p) + 2W
g ′( p ) + 2 −
g ′( p ) + z
g ′( p ) + g ′( q ) + 2 z 2
α +3
α
q
3q 2
(11)
cuya presentación en p = xn −1
q = xn resulta
= g ′(α ) = 0 ,
o
g ′( p ) − 2( g ′( p ) + z )
α
2
⎛α ⎞
+ ( g ′( p ) + g ′(q ) + 2 z )⎜⎜ ⎟⎟ = 0 ,
q
⎝q⎠
α c = xn −
g ′( xn ) − z + W
( xn − xn −1 ) ,
g ′( xn ) − g ′( xn −1 ) + 2W
resolviendo la ecuación de
α con
segundo grado en función de
3( g ( xn −1 ) − g ( xn ))
q
z=
nos queda
α
q
=
g ′( p) + z ± ( g ′( p ) + z ) 2 − g ′( p )(( g ′( p) + g ′(q ) + 2 z )
g ′( p ) + g ′(q ) + 2 z
y
xn − xn −1
(11’)
+ g ′( xn −1 ) + g ′( xn )
(6’)
,
2
W = z − g ′( xn −1 ) g ′( xn )
(7’)
o
α
q
=
g ′( p ) + z ± z 2 − g ′( p ) g ′(q)
,
g ′( p ) + g ′(q ) + 2 z
(6)
haciendo
W = z 2 − g ′( p ) g ′(q ) ,
(7)
nos queda
α
q
=
g ′( p) + z ± W
.
g ′( p) + g ′(q) + 2 z
(8)
Tomando la segunda derivada se
tiene 2c+6dh reemplazando nos
indica que óptimo es con el signo
positivo
α
q
=
g ′( p) + z + W
,
g ′( p ) + g ′(q) + 2 z
Angel Sangiacomo C.
(9)
Algoritmo Interpolación Cúbica
Definir g (α ) = f ( x + αd )
Definir g ′(α ) = ∇f ( x + αd ) ⋅ d
Entrar x , d
α 0 = 0 . Hallar g ′(α i ) y g (α i ) .
i = 2 . α1 = 1 .
Paso 4: Mientras ( g ′(α i ) < 0) o
( g (α i −1 ) ≤ g (α i )) hacer
paso 6: α i = 2α i −1
paso 7: i + i + 1
Paso 8: Hacer a = α i −1 , b = α i
3( g (a ) − g (b))
+ g ′(a) + g ′(b)
Paso 9: z =
b−a
Paso 1:
Paso 2:
Paso 3:
Paso 4:
F. Ayres H. 56
Capítulo 2
Paso 10: W = z 2 − g ′(a ) g ′(b)
g ′(b) − z + W
(b − a) ,
Paso 11: α c = b −
g ′(b) − g ′(a) + 2W
Paso 12: si [( g (a ) ≥ g (α c )) y ( g (b) ≥ g (α c ))]
entonces α * = α c ir al paso (16)
Paso 13: si [( g (a) < g (α c )) o ( g (b) < g (α c ))]
entonces
paso 14: si ( g ′(α c ) > 0) entonces
b = α c ir al paso (9)
paso 15: si ( g ′(α c ) < 0) entonces
a = α c ir al paso (9)
Paso 16: Publicar α *
Paso 17: Parar.
Introducción a la Optimización No Lineal
z = −4
W = 28 = 5.2915 ,
g ′( xn ) − z + W
α c = xn −
( xn − xn −1 )
g ′( xn ) − g ′( xn −1 ) + 2W
2 − (−4) + 5.2915
αc = 1 −
(1 − 0) ,
2 − (−6) + 2 ⋅ 5.2915
α c = 0.39
g (α c ) = g (0.39) = −25 .
g (α c ) < g (a )
y
g (α c ) < g (b) entonces el mínimo
local es dado por α * = α c = 0.39 .
Ahora encontramos el x por
Como
x* = x + αd = 1 + 0.39 = 1.39 .
Ejemplo 23
Hallar un mínimo local de la Interpolación Cuadrática
función unimodal de una variable
Cuando la función es multimodal
f ( x) = x 4 − 10 x 3 + 35 x 2 − 50 x
de una variable (o convertida a
con valor inicial x = 1 y una variable) o es discreta, los
dirección d = 1 .
anteriores procedimientos no tieSolución:
nen efectos satisfactorios (puesto
Construimos la función g:
que la función no es diferenciable
g (α ) = f ( x + αd )
en los puntos de discontinuidad u
g (α ) = f (1 + α ) ,
otros problemas). En estos casos
g (α ) = (1 + α ) 4 − 10(1 + α )3 + 35(1 + α ) 2 − 50(1 + α )
el método de interpolación cuag ′(α ) = 4(1 + α ) 3 − 30(1 + α ) 2 + 70(1 + α ) − 50
drática es el apropiado.
α g (α )
g ′(α )
Este procedimiento fue diseñado
0 -24
-6
por Powell y mejorado posteg ′(α ) > 0
1 -24
2
riormente por Zangwill. Aquí
presentamos la versión original
tenemos ahora que a=0 y b=1. De
de Powell.
lo que sabemos por teoría el
mínimo está 0≤α*≤1.
Si conocemos los valores de f(x)
Usando las fórmulas (6’, 7’ y en tres distintos puntos a, b, c y
11’) nos resulta
sus respectivos valores f(a), f(b),
Angel Sangiacomo C.
F. Ayres H. 57
Capítulo 2
Introducción a la Optimización No Lineal
f(c), entonces nosotros podemos y le aplicamos la interpolación
aproximar a f por un polinomio cuadrática a g (α ) .
Aclaremos con una figura.
cuadrático
h( x) = Ax 2 + Bx + C
(1)
y la constantes A, B y C son
determinadas por las ecuaciones
Aa 2 + Ba + C = f a
Ab 2 + Bb + C = f b ,
Ac 2 + Bc + C = f c
donde
f a = f (a) ,
(2)
y
f b = f (b)
f c = f (c ) .
Las ecuaciones dan
A = [(c − b) f a + (a − c) f b + (b − a) f c ] / Δ
B = [(b 2 − c 2 ) f a + (c 2 − a 2 ) f b + (a 2 − b 2 ) f c ] / Δ ,
C = [bc(c − b) f a + ac(a − c) f b + ab(b − a ) f c ] / Δ
(3)
donde Δ = (a − b)(b − c)(c − a) , el
determínate de la parte izquierda
de (2). Claramente el polinomio
h(x) tienen un óptimo (mínimo)
en x = −
B
.
2A
Si A>0, la aproximación dada es
a un punto de mínimo de la
función f (x) y es dado por:
Figura 20.
Algoritmo de
Cuadrática
Interpolación
Paso 1: Definir g (α ) = f ( x + αd )
Paso 2: Entrar x, d
{x es el punto de partida de la búsqueda y d la
dirección}
Paso 3: hallar g (0) = f ( x) , α 0 = 0 ,
α1 = 1 , i = 1
Paso 4: Mientras ( g (α i −1 ) > g (α i )) hacer
paso 5: i = i + 1
paso 6: α i = 2α i −1
Paso 7: Hacer a = α i − 2 , b = α i −1 , c = α i
{Ojo a ≤ α * ≤ c }
Paso 8:
1 (b 2 − c 2 ) g (a ) + (c 2 − a 2 ) g (b) + (a 2 − b 2 ) g (c)
2
(c − b) g (a ) + (a − c) g (b) + (b − a) g (c)
αc = − ⋅
1 (b 2 − c 2 ) f a + (c 2 − a 2 ) f b + (a 2 − b 2 ) f c . Paso 9: Si g (α c ) < g (b) entonces α * = α c
2
(c − b) f a + (a − c) f b + (b − a ) f c
Paso 10: Si g (α c ) > g (b) entonces α * = b
αc = − ⋅
(4)
Paso 11: Publicar α * (como el mínimo).
Paso 12: Parar.
Para el caso de una función de
varias variables se hace la
composición
usando
un Ejemplo 24
parámetro α como antes
Hallar un mínimo local de la
x(α ) = x0 + αd y
función
g (α ) = f ( x(α )) = f ( x0 + αd )
f ( x, y ) = x 2 − 3 xy + y 2
Angel Sangiacomo C.
F. Ayres H. 58
Capítulo 2
Introducción a la Optimización No Lineal
en la dirección d = (1,3)
x0 = (1,1) .
Solución:
Construimos la función g:
g (α ) = f ( x + αd )
y f ' ' ( xk ) . Entonces se puede
construir una función cuadrática
g (α ) = (1 + α ) 2 − 3(1 + α )(1 + 3α ) + (1 + 3α ) 2 .
Ahora estamos en condiciones de encontrar
un mínimo si existiera este.
q que concuerde con f en xk
hasta la segunda derivada, es
decir,
q( x) = f ( xk ) + f ′( xk )( x − xk ) + 12 f ′′( xk )( x − xk ) 2 .
(1)
Entonces se puede calcular y
estimar xk+1 de punto mínimo de f
hallando el punto en el que se
anula la derivada de q. Así, al
hacer
g (α )
0
−1
1
−4
−5
2
4
− 1 el último g se ha incrementado.
Entonces a = α i − 2 = 1 , b = α i −1 = 2 , 0 = q' ( xk +1 ) = f ' ( xk ) + f ' ' ( xk )( xk +1 − xk ) ,
α
resulta
c = αi = 4 .
Calculamos
(4):
αc
usando la fórmula
1 (b 2 − c 2 ) g ( a) + (c 2 − a 2 ) g (b) + (a 2 − b 2 ) g (c)
αc = − ⋅
2
(c − b) g (a) + (a − c) g (b) + (b − a ) g (c)
xk +1 = xk −
f ' ( xk )
,
f ' ' ( xk )
(2)
Este proceso, se ilustra en las
figuras 21,
1 (2 2 − 4 2 )(−4) + ( 4 2 − 12 )(−5) + (12 − 2 2 )(−1) ,
2
(4 − 2)(−4) + (1 − 4)(−5) + ( 2 − 1)(−1)
αc = − ⋅
1 − 24
= 2.
2 6
αc = − ⋅
Como g (2) = −5 < g (4) = −1 entonces
α* = αc = 2 .
Ahora encontramos el x dado por
x* = x + αd = (1,1) + 2(1,3) = (3,7) .
Método de Newton (Newton Raphson)
Supongamos que se va ha
minimizar la función f de una
variable x, y supongamos que el
punto xk, donde se hace una
modificación, se pueden calcular
los tres números f ( xk ) , f ′( xk ) ,
Angel Sangiacomo C.
Figura 21.
Para esta figura el proceso se
puede repetir en xk+1.
Se observa de inmediato que el
nuevo punto xk+1, resultante del
método de Newton, no depende
del valor f(xk). Una forma más
sencilla de ver el método es
F. Ayres H. 59
Capítulo 2
Introducción a la Optimización No Lineal
considerado como una técnica de
resolución iterativa de ecuaciones
de la forma
g(x)=0,
donde, al aplicarlas a la
minimización, se hace g(x)≡f '(x).
Figura 23.
A continuación se demuestra que
el método de Newton tiene orden
de convergencia dos:
Figura 22.
Proposición 11
Sea g una función con segunda
derivada continua, y x* que
satisface g(x*)=0, g’(x*)≠0.
está
Entonces
si
x0
suficientemente cerca de x* el
La gráfica representa, que la
función derivada en el punto
óptimo cambia de signo o sea
pasa por un cero, ello es lo que
g ( xk )
usamos, con los métodos del método
xk +1 = xk −
g ′( xk )
análisis numérico para encontrar
converge con una orden de
raíces.
convergencia de al menos dos.
En esta notación, el método de
Prueba:
Newton toma la forma
g ( xk )
Para puntos ξ en una región
xk +1 = xk −
.
(9)
g ′( xk )
próxima a x*, existe k1 tal que
Esta forma se ilustra en la figura g ' ' (ξ ) < k1 y k2 tal que g ′(ξ ) > k 2 .
23 el método de Newton para Entonces, como g(x*)=0, se
resolver ecuaciones
puede escribir
xk +1 − x* = xk − x * −
g ( xk ) − g ( x*)
g ′( xk )
= −[g ( xk ) − g ( x *) + g ′( xk )( x * − xk )] / g ′( xk )
Angel Sangiacomo C.
F. Ayres H. 60
Capítulo 2
Introducción a la Optimización No Lineal
El término entre corchetes, por el Paso 9: Parar.
teorema de Taylor, es de cero a
primer
orden.
De
hecho,
utilizando el término residuo en Método de la falsa posición o de
una expansión en serie de Taylor las cuerdas
al rededor de xk, se obtiene
El método de minimización de
1 g ′′(ξ )
xk +1 − x* = −
( xk − x*) 2
Newton se basa en el ajuste de
2 g ′( xk )
para algún ξ entre x* y xk. Así, una curva cuadrática a partir de la
información de un solo punto,
en la región próxima a x*,
cuantos más puntos se utilicen,
k
2
xk +1 − x * ≤ 1 xk − x * .
menos información se requiere en
2k 2
Se observa que si xk − x * k1 / 2k 2 < 1 , cada uno de ellos. Así utilizando
f ( xk ), f ' ( xk ), f ' ' ( xk ) , se pueden
entonces xk +1 − x * < xk − x * y así
ajustar a la cuadrática
se concluye que, comenzando
q ( x ) = f ( xk ) + f ' ( xk )( x − xk )
suficientemente cerca de la
f ' ( xk −1 ) − f ' ( xk ) ( x − xk ) 2
solución, el método convergerá a
.
⋅
+
xk −1 − xk
2
x* con un orden de convergencia
Que tienen los mismos valores
de al menos dos. ♣
correspondientes. Entonces se
puede determinar una estimación
Algoritmo de Newton
xk+1 hallando el punto donde se
Paso 1: Define función f ′( x)
anula la derivada de q; así,
Paso 2: Define función f ′′( x)
Paso 3: Entrar x0
{Valor inicial para empezar el proceso}
Entrar Err
{Valor de la tolerancia o error de cálculo}
Paso 4: Hacer xn = x0
Paso 5: x = xn −
f ' ( xn )
f ' ' ( xn )
Paso 6: Si x − xn < Err entonces ir al paso (8)
Paso 7: En otro caso hacer xn = x , ir al paso (5)
{Redefine a
xn }
Paso 8: Publicar la respuesta: Raíz = x .
Angel Sangiacomo C.
⎡
⎤
xk −1 − xk
xk +1 = xk − f ' ( xk ) ⎢
⎥.
⎣ f ' ( xk −1 ) − f ' ( xk ) ⎦
(1)
(Ver Figura. 24) Comparando
esta fórmula con el método de
Newton, se observa de nuevo que
el valor f(xk) no interviene; de ahí
que el ajuste pudo haber pasado
por f(xk) o f(xk-1). Además, la
fórmula puede considerarse como
una aproximación al método de
Newton, donde la segunda
F. Ayres H. 61
Capítulo 2
Introducción a la Optimización No Lineal
derivada se sustituye por la
diferencia entre las dos primeras
derivadas.
De nuevo, como este método no
depende directamente de los
valores de f, se puede considerar
como un método para resolver
f ' ( x ) ≡ g ( x ) = 0 . Tratado así (ver
figura 25), el método toma la
forma
⎡ xk − xk −1 ⎤
xk +1 = xk − g ( xk ) ⎢
⎥.
⎣ g ( xk ) − g ( xk −1 ) ⎦
sucesión { xk }k =0 generada por el
método de la falsa posición (2)
converge a x* con orden
τ 1 ≈ 1.618 .
∞
Prueba:
(2)
A continuación, se investiga el
Figura 25.
orden de convergencia del
método de la posición falsa y se Introduciendo
la
descubre que es de orden (diferencias divididas)
τ 1 ≈ 1.618 o τ = 0.618 , la media
g (b) − g (a)
g [a, b] =
b−a
áurea.
notación
(3)
resulta
⎡ xk − xk −1 ⎤
xk +1 − x* = xk − g ( xk ) ⎢
⎥
⎣ g ( xk ) − g ( xk −1 ) ⎦
⎧ g[ xk −1 , xk ] − g[ xk , x*] ⎫
= ( xk − x*)⎨
⎬.
g[ xk −1 , xk ]
⎩
⎭
(4)
Es más, al introducir la notación
g[a, b, c] =
Figura 24.
g[a, b] − g[b, c]
,
a−c
se puede escribir (4) como
⎧ g[ xk −1 , xk , x*] ⎫
xk +1 − x* = ( xk − x*)( xk −1 − x*)⎨
⎬.
Proposición 12
g
[
x
,
x
]
k −1 k
⎩
⎭
Sea g con segunda derivada Ahora bien, por el teorema del
continua y supóngase que x* es valor medio con residuo, resulta
tal que g(x*)=0, g ' ( x*) ≠ 0 . g[ xk −1 , xk ] = g ' (ξ k )
(5)
Entonces,
para
x0
sufi- y
cientemente próxima a x*, la g[ x , x , x*] = 1 g ' ' (η ) ,
(6)
k −1 k
k
2
Angel Sangiacomo C.
F. Ayres H. 62
Capítulo 2
Introducción a la Optimización No Lineal
ξk
ηk
⎛ ( M ⋅ ε k +1 ) ⎞
son
⎟ → 0,
log⎜
⎜ ( M ⋅ ε )τ k ⎟
k
⎝
⎠
combinaciones convexas de xk ,
de donde
xk −1
x
x
x
*
y
,
k,
k −1 ,
ε k +1
respectivamente. Así,
→ M (τ 1 −1) . ♦
donde
xk +1 − x* =
y
g ' ' (ηk )
( xk − x*)( xk −1 − x*) .
2 g ' (ξ k )
(7)
Resulta de inmediato que el
proceso converge si comienza
suficientemente cerca de x*.
Para determinar el orden de
convergencia se observa que para
k grande, la ecuación (7) se
convierte aproximadamente en
xk +1 − x* = M ( xk − x*)( xk −1 − x*) ,
donde
M=
g ' ' ( x *)
.
2 g ' ( x *)
Así al definir ε k = ( xk − x*) se
tiene, en el límite,
ε k +1 = M ⋅ ε k ⋅ ε k −1 .
(8)
Al tomar el logaritmo de esta
ecuación
resulta,
con
yk = log( M ⋅ ε k ) ,
y k +1 = y k + y k −1 ,
(9)
que es la ecuación de diferencias
de
Fibonacci
analizada
anteriormente. Una solución a
esta ecuación cumplirá
yk +1 − τ1 yk → 0 .
ε τk 1
Una vez deducida la fórmula (8)
del error por análisis directo, es el
momento de presentar una
técnica rápida, basada en la
simetría y otras consideraciones,
que a veces se puede utilizar en
situaciones
incluso
más
complicadas. El lado derecho de
la fórmula (8) del error debe ser
un polinomio en ε k y ε k −1 , pues
se deduce de aproximaciones
basadas en el teorema de Taylor.
Además debe ser de segundo
orden, pues el método se deduce
al de Newton cuando xk=xk-1.
Además, debe tener a cero si εk o
εk-1 tienden a cero, pues, en ese
caso, el método proporciona
εk+1=0. Finalmente, debe ser
simétrico en εk y εk-1, pues el
orden de los puntos es
irrelevante. La única fórmula que
satisface estos requerimientos es
ε k +1 = M ⋅ ε k ⋅ ε k −1 .
Así,
log(M ⋅ ε k +1 ) − τ 1 log(M ⋅ ε k ) → 0 o
Angel Sangiacomo C.
Algoritmo de la Falsa posición
(cuerdas)
F. Ayres H. 63
Capítulo 2
Introducción a la Optimización No Lineal
Paso 1: Definir función f ′(t )
en que se va a realizar la
búsqueda. El resultado de la
Paso 2: Entrar x0 , x1 y Err
búsqueda es un punto nuevo. Así,
{Entramos las dos primeras aproximaciones
y el error} se
define el algoritmo de
f ′( x1 )( x1 − x0 )
búsqueda
S
como
una
Paso 3: Hacer x = x1 −
f ′( x1 ) − f ′( x0 )
2n
n
transformación de E a E .
{Uso de la fórmula de la Secante}
Se supone que la búsqueda se
Paso 4: Si x − x1 < Err entonces
hará sobre la recta semiinfinita
ir al paso (6)
que parte de x en la dirección d.
Paso 5: Si el Paso (4) es falso entonces:
hacer x0 = x1; x1 = x , ir al paso (3) También se supone, por simpli{Renovación de los valores x} cidad, que la búsqueda no se hace
Paso 6: Publicar la Solución: La raíz = x
en vano; es decir, se supone que
Paso 7: Parar.
en la recta hay un punto mínimo.
Este será el caso, por ejemplo, si f
es continua y crece sin límite a
Cierre
de
algoritmos
de
medida que x tiende a infinito.
búsqueda lineal
Definición 12.
Como la búsqueda de un punto
La transformación S: E2n→En
mínimo en una recta forma parte
está definido por
de la mayoría de los algoritmos S (x, d) = {y : y = x + αd para algún α ≥ 0 ,
de programación no lineal, es
(1)
f ( y ) = mín f ( x + αd )⎫⎬
conveniente establecer de una
vez que este procedimiento es
cerrado, es decir, que el producto
final de los procedimientos
iterativos
esbozados
antes,
considerado como un solo paso
algorítmico para hallar un
mínimo en una recta, define
algoritmos cerrados. Este es el
objetivo de esta sección.
Para iniciar una búsqueda lineal
con respecto a una función f,
deben especificarse dos vectores:
el punto inicial x y la dirección d
Angel Sangiacomo C.
0 ≤α < ∞
⎭
En algunos casos, puede haber
muchos vectores y que produzcan
el mínimo, de modo que S es una
transformación cuyos valores son
conjuntos. Hay que comprobar
que S es cerrado.
Teorema 3
Sea f continua en E n . Entonces,
la transformación definida por (1)
es cerrada en ( x , d ) si d ≠ 0 .
F. Ayres H. 64
Capítulo 2
Introducción a la Optimización No Lineal
Prueba:
Supóngase que { xk } y { d k } son
xk → x ,
sucesiones
con
d k → d ≠ 0 . Supóngase, además
que yk ∈ S( xk , d k ) y que yk → y .
Hay
que
demostrar
que
y ∈S( x , d ) .
Para
cada
k
se
tiene
yk = xk + α k d k para alguna αk. A
partir de esto se puede escribir
práctico, esta condición implica
que, al construir algoritmos, la
elección d=0 seria mejor hacerla
sólo en conjunto solución, pero
es evidente que si d=0, no se hará
ninguna búsqueda. En teoría la
transformación S puede no
resultar cerrada en d=0, como se
ilustra a continuación.
Ejemplo 25
Defínase f(x)=(x–1)2 en E1.
y −x
Entonces, S(x,d) no es cerrado en
αk = k k .
dk
x=0, d=0. Para ilustrar esto, se
Tomando el límite de lado observa que para cualquier d>0
derecho de lo anterior, se observa
mín f (αd ) = f (1) ,
0≤α < ∞
que
de donde
y−x
αk → α ≡
.
S ( 0, d ) = 1 ;
d
pero
Resulta entonces que y = x + α d .
mín f (α ⋅ 0 ) = f (0 ) ,
0 ≤α < ∞
Todavía falta mostrar que
de modo que
y ∈S( x , d ) .
S (0,0) = 0 .
Para cada k y cada α , 0 ≤ α < ∞ .
Así según d → 0, S (0, d ) →
/ S (0,0 ) .
f ( yk ) ≤ f ( xk + αd k )
Al hacer, k → ∞ , resulta
f ( y ) ≤ f ( x + αd ) .
Método de descenso mayor
Así,
pendiente
f ( y ) ≤ mín f ( x + αd ) ,
0 ≤α < ∞
y por tanto, y ∈S( x , d ) .
Uno de los métodos más antiguos
y conocidos de minimización de
El requerimiento de que d ≠ 0 una función de varias variables es
es, teóricamente y prácticamente, el método de descenso de mayor
natural. Desde un punto de vista pendiente (también llamado
Angel Sangiacomo C.
♣
F. Ayres H. 65
Capítulo 2
método del gradiente). El método
es de gran importancia teórica,
pues uno de los más sencillos
para los que existe un análisis
satisfactorio. A menudo, se
consiguen
algoritmos
más
avanzados intentando modificar
la técnica de descenso de mayor
pendiente básica de forma que el
nuevo algoritmo tenga mejores
propiedades de convergencia. Por
tanto, el método de descenso de
mayor pendiente sigue siendo no
sólo la técnica que se prueba en
primer lugar con un problema
nuevo, sino también la referencia
para medir otras técnicas. Los
principios utilizados para su
análisis se usarán a lo largo del
desarrollo del curso.
El método de mayor pendiente
Introducción a la Optimización No Lineal
Cuando no hay posibilidad de
ambigüedad, a veces se suprime
el argumento x y, por ejemplo, se
gk
en lugar de
escribe
T
g ( xk ) = ∇ f ( x k ) .
El método de descenso de mayor
pendiente está definido por el
algoritmo iterativo
xk +1 = xk − α k g k ,
(1)
donde α k es un escalar no
negativo
que
minimiza
f ( x k − αg k ) .
Expresado
en
palabras a partir del punto xk se
busca en la dirección del
gradiente negativo − g k hasta un
punto mínimo de esa recta; este
punto mínimo se toma como
xk +1 .
En términos más formales, el
A : En → En ,
algoritmo
que
proporciona xk +1 ∈ A( xk ) , se
puede descomponer en la forma
A = SG . Aquí, G : E n → E 2n se
define por G( x ) = ( x,− g ( x )) , que
da el punto inicial y la dirección
de la búsqueda lineal. Después,
se continúa con la búsqueda
lineal S : E 2n → E n definida
anterior-mente.
Sea f con primeras derivadas
parciales continuas en En. Con
frecuencia se necesitará el vector
gradiente de f, por lo que se dará
alguna notación simplificadora.
El gradiente ∇f ( x ) , de acuerdo
con lo establecido, está definido
como un vector fila ndimensional. Por conveniencia,
se define el vector columna nEjemplo:
g ( x ) = ∇f ( x )T .
dimensional
Angel Sangiacomo C.
F. Ayres H. 66
Capítulo 2
Introducción a la Optimización No Lineal
Como uno podemos tornar el
problema de minimización para
la
función
f ( x1 , x2 ) = x 12 − x1 x2 + x22 ,
Solución:
Cuya figura es
Anteriormente se mostró que S es
cerrado si ∇f ( x ) ≠ 0 y es
evidente que G es continua.
Se define el conjunto solución
como los puntos x, donde
∇f ( x ) = 0 . Entonces, Z ( x ) = f ( x )
es una función descendente para
A, pues para ∇f ( x ) ≠ 0
mín f ( x − αg (x )) < f (x ) .
0 ≤α < ∞
(2)
Así, por el teorema de la
convergencia global, si la
sucesión {xk} está acotada, tendrá
puntos límite y cada uno de ellos
es una solución.
Figura 26.
El caso cuadrático
Esencialmente,
todas
las
características importantes de
g1 = (2 x1 − x2 ;− x1 + 2 x2 ) = (3;0) ,
convergencia local del método de
∇f ( x0 − αg1 ) g1 = 0
descenso de mayor pendiente se
⎛ 3⎞
∇f (2 − 3α ;1)⎜⎜ ⎟⎟ = 3 ⋅ (2(2 − 3α ) − 1) = 0 ,
revelan investigando el método al
⎝0⎠
aplicarlo
a
problemas
α = 0.5
entonces se tiene que el nuevo cuadráticos. Téngase
f ( x ) = 12 xT Qx − xT b .
(3)
punto x1 es
x1 = x0 − αg1 = ( 2;1) − 0.5 ⋅ (3;0) = (0.5;1) , donde Q es una matriz de n×n
y así sucesivamente para los simétrica definida positiva. Como
demás puntos y llegaremos a la Q es definida positiva, todos sus
solución
valores propios son positivos. Se
x* = (0;0) .
supone que estos valores propios
están
ordenados:
Convergencia global
0 < a = λ1 ≤ λ 2 ... ≤ λ n = A . Con Q
definida
positiva,
de
la
Supongamos que x0 = (2,1) ,
Angel Sangiacomo C.
F. Ayres H. 67
Capítulo 2
Introducción a la Optimización No Lineal
proposición 9, anteriormente
expuesto, resulta que f es
estrictamente convexa.
El único punto mínimo de f se
puede
hallar
directamente,
igualando el gradiente a cero,
como el valor x* que cumple
Qx* = b
(4)
Es más, introduciendo la función
E ( x ) = 12 ( x − x *)T Q( x − x *) ,
(5)
resulta E ( x ) = f ( x ) + 12 x *T Qx * , lo
cual muestra que la función E
difiere de f sólo en una constante.
Entonces, a muchos efectos, será
conveniente considerar que se
está minimizando E, en lugar de
f.
El gradiente (de f y E) está dado
explícitamente por
g ( x ) = Qx − b .
(6)
Así, el método de descenso de
mayor pendiente se puede
expresar como
xk +1 = xk − α k g k ,
(1’)
donde g k = Qxk − b , y donde α k
f ( xk − αg k ) .
minimiza
Sin
embargo, en este caso especial, se
puede determinar explícitamente
el valor de αk. Por la definición
(3), resulta
f ( xk − αg k ) = 12 ( xk − αg k )T Q( xk − αg k ) − ( xk − αg k )T b ,
Angel Sangiacomo C.
lo cual (como se puede ver
diferenciando respecto a α) se
minimiza en
αk =
g kT g k
g kT Qg k
.
(8)
Por tanto, el método de descenso
mayor de mayor pendiente (1’)
toma forma explícita
⎛ gT g ⎞
x k +1 = x k − ⎜ Tk k ⎟ g k ,
⎜ g Qg ⎟
k ⎠
⎝ k
donde g k = Qx k − b .
(9)
La función f y el proceso de
descenso de mayor pendiente se
pueden ilustrar como en la figura
27, mostrando los contornos de
los valores constantes de f y un
sucesión típica desarrollada por
el proceso. Los contornos de f
son elipsoides n-dimensionales
con ejes en las direcciones de los
n vectores propios mutuamente
ortogonales de Q. El
eje
correspondiente al i-ésimo vector
propio
tiene
longitud
A
proporcional
a
1/λi.
continuación se analiza este
proceso y se muestra que la tasa
de convergencia depende de la
razón de las longitudes de los
ejes de los contornos elípticos de
f, esto es, de la excentricidad de
los elipsoides.
F. Ayres H. 68
Capítulo 2
Introducción a la Optimización No Lineal
instrumento de uso general útil
para
el
análisis
de
la
convergencia.
Desigualdad de Kantorovich
Sea Q una matriz de n×n
simétrica definida positiva. Para
cualquier vector x se cumple
Figura 27.
Descenso de mayor dependiente
( xT x) 2
Lema 1.
El proceso iterativo (9) satisface
⎧⎪
E ( xk +1 ) = ⎨1 −
⎪⎩
T
T
−1
( x Qx)( x Q x)
⎫⎪
( g kT g k ) 2
⎬ E ( xk ) .
( g kT Qg k )( g kT Q −1 g k ) ⎪⎭
≥
4aA
(a + A) 2
,
(11)
donde a y A, respectivamente,
son los valores propios menor y
mayor de Q.
Prueba:
Sean los valores propios λ1, λ2,
Prueba:
..., λn de Q que satisfacen
La demostración se realiza por
0<a=λ1≤λ2≤...≤λn =A
cálculos
directos.
Haciendo
Haciendo un cambio apropiado
yk = xk − x * , resulta
de coordenadas, la matriz Q se
E ( xk ) − E ( xk +1 ) 2α k g kT Qyk − α k2 g kT Qg k
en diagonal, con
. convierte
=
E ( xk )
ykT Qyk
diagonal (λ1, λ2, ..., λn). En este
g
=
Qy
Utilizando k
k , resulta
sistema de coordenadas, resulta
(10)
2( g kT g k ) 2
−
( g kT g k ) 2
E ( xk ) − E ( xk +1 ) ( g kT Qg k ) ( g kT Qg k )
=
E ( xk )
g kT Q −1 g k
( g kT g k ) 2
= T
.
( g k Qg k )( g kT Q −1 g k )
( xT x) 2
( xT Qx)( xT Q −1 x)
(∑
)
2
n
2
x
i
i =1
n
n
2
λx
x2
i =1 i i
i =1 i
)(∑ (
/ λi
))
,
que se puede expresar
♦
Para obtener un límite en la tasa
de convergencia, se necesita un
límite en el lado derecho de (10).
El límite más adecuado se debe a
Kantorovich
y
su
lema,
enunciado a continuación, es un
Angel Sangiacomo C.
=
(∑
( xT Qx)( xT Q −1 x)
donde ξ i =
1 / ∑i =1 ξ i λi
n
( xT x) 2
=
xi2
∑ (ξi / λi )
n
i =1
∑i =1 xi2
n
≡
o/ (ξ )
ψ (ξ )
,
. La expresión
se ha trasformado en la razón de
dos funciones que incluyen
combinaciones convexas, una es
F. Ayres H. 69
Capítulo 2
Introducción a la Optimización No Lineal
una combinación de las λi, y otra,
una combinación de las 1/λi. La
situación se ilustra en la figura
28. La curva de la figura
representa la función 1/λi. Como
n
∑i =1ξi λi es un punto entre λ1 y
λn el valor de o/ (ξ ) es un punto
en la curva. Por otro lado, el
ψ (ξ )
valor
de
es
una
combinación convexa de puntos
en la curva, y su valor
correspondiente a un punto en la
Figura 28.
región sombreada (por ejemplo
αλk + (1 − α )λ j , donde los alfas Combinando los dos lemas
anteriores, se obtiene el resultado
son los ξ i ). Para el mismo vector
central sobre la convergencia del
ξ , las funciones están método de descenso de mayor
representadas por puntos en la pendiente.
misma línea vectorial. El valor
Nota: Para aclarar la prueba de este
mínimo de esta razón se alcanza teorema dado anteriormente se pone un
para algún λ = ξ1λ1 + ξ n λn con ejemplo de una función convexa
ξ1 + ξ n = 1 . Usando la relación cuadrática que se puede reducir Q a la
forma diagonal haciendo los cambios
ξ1 / λ1 + ξ n / λn = (λ1 + λn − ξ1λ1 − ξ n λn ) / λ1λn indicados en la demostración:
Ejemplo:
una cota apropiada es
Por medio de una rotación de
(1 / λ )
o/ (ξ )
≥ mín
. coordenadas, redúzcase
ψ (ξ ) λ1 ≤ λ ≤ λ n (λ1 + λn − λ ) / (λ1λn )
f ( x, y ) = 7 x 2 + 2 3 xy + 5 y 2
El mínimo se alcanza en
a su forma diagonal.
λ = (λ1 + λn ) / 2 , que da
o/ (ξ )
ψ (ξ )
≥
4λ1λn
(λ1 + λn )2 .
Angel Sangiacomo C.
♣
Solución:
Su Q es dado por
⎡14
2 3⎤
Q = 12 ⎢
⎥.
10 ⎦
⎣2 3
F. Ayres H. 70
Capítulo 2
Introducción a la Optimización No Lineal
Sea la forma f ( x, y ) = Ax 2 + 2 B xy + Cy 2 , o haciendo λ ≡ r
(λ − 8)(λ − 4) = 0
entonces tomaremos
( A, B) = (7, 3 ) y ( B, C ) = ( 3 ,5) . Tomando λ = 8 nos resulta
Usando el cambio de coordenadas
o
(rotación por ejemplo aquí) dado por
(7 − 8)u1 + 3u 2 = ( A − r1 , B)u = 0 ,
donde r1 es una raíz de (&). Para el otro
( x, y ) = U ( x′, y ′) = x′u + y′u ⊥
de lo que nos resulta
caso es ( B, C − r2 )u ⊥ = 0 .
Una solución a esta expresión es
x = x′u1 − y′u2
y = x′u2 + y′u1
y tendremos
2
2
(7 − 8)u1 + 3u2 = (−1, 3 )u = 0 ,
2
u=(
2
3 1
, ).
2 2
Ax + 2 B xy + Cy = A′x′ + 2 B′ x′y ′ + C ′y ′
entonces para que B′ = 0 de la expresión La rotación de coordenadas es
( x, y ) = x′u + yu ⊥ = 12 ( 3 x′ − y ′, x′ + 3 y ′)
anterior tendremos con
L( x, y ) = ( xA + yB, xB + yC ) = x( A, B ) + y ( B, C )
expresando los coeficientes A′, B′ y C ′
en la forma
A′ = u ⋅ L(u) , B′ = u ⊥ ⋅ L(u) ,
y tenemos como L(u) a
L(u) = u1 (7, 3 ) + u2 ( 3,5) =
C ′ = u ⊥ ⋅ L (u ⊥ ) .
(^^)
Que L(u) sea paralelo a u , o sea, existe
un número r ≠ 0 tal que se cumple
ru = L(u) .
(^)
3
1
(7, 3 ) + ( 3,5)
2
2
= (4 3 ,4) ,
y
L(u ⊥ ) = (−2, 2 3 )
de donde de (^^) se tiene:
3 1
Continuando, y como L es el operador A′ = u ⋅ L(u) = ( , ) ⋅ (4 3 ,4) = 8 ,
2 2
combinación lineal de u por ( A, B, C )
1 3
B′ = u ⊥ ⋅ L(u) = (− , )(4 3 ,4) = 0 ,
L(u) = u1 (7, 3 ) + u2 ( 3 ,5)
2 2
Deseamos hallar una u tal que para algún
1 3
número real r, u satisfaga a (^). Es decir: C ′ = u ⊥ ⋅ L(u ⊥ ) = (− , )(−2,2 3 ) = 4 .
2 2
u1 (7, 3 ) + u2 ( 3 ,5)
= (7u1 + 3u2 , 3u1 + 5u 2 ) = r (u1 , u2 )
o igualando a cero
Entonces el nuevo Q es
Este sistema homogéneo tiene solución
no trivial si y sólo si
(7 − r )(5 − r ) − 3 3 = 0 ,
⎡8 0⎤
Q=⎢
⎥
⎣0 4 ⎦
Problema
Hacer el mismo trabajo pero con
la ecuación
o
r 2 − 12r + 32 = 0 ,
o
Angel Sangiacomo C.
Ax 2 + 2 B xy + Cy 2 = 8 x′ 2 + 2(0) x′y ′ + 4 y ′2
= 8 x′ 2 + 4 y ′ 2 .
⎧(7 − r )u1 + 3u 2 = 0
⎨
⎩ 3u1 + (5 − r )u2 = 0
r 2 − ( A + C )r − ( B 2 − AC ) = 0 ,
Y la forma reducida a la diagonal es
(&)
a) f ( x, y ) = 5 x 2 + 24 xy − 5 y 2 .
F. Ayres H. 71
Capítulo 2
Introducción a la Optimización No Lineal
Sol. f ( x′, y ′) = 13 x′2 − 13 y ′2 .
b) f ( x, y ) = 7 x 2 + 2 xy + 5 y 2 .
c)
f ( x, y ) = 23 x 2 + 4 5 xy + 22 y 2 .
d) f ( x, y ) = x 2 − 4 xy + 4 y 2 .
e)
f ( x, y ) = y 2 − 2 6 xy .
Teorema (descenso de mayor
pendiente: caso cuadrático).
Para cualquier x0∈En, el método
de descenso de mayor pendiente
(9) converge a un único punto
mínimo x* de f. Es más, con
E ( x ) = 12 ( x − x*)T Q(a = x*) , en todo
paso k se cumple que
2
⎛ A−a ⎞
E ( xk +1 ) ≤ ⎜
⎟ E ( xk ) .
⎝ A+ a ⎠
(12)
Prueba:
Por el lema 1 y la desigualdad de
Kantorovich
2
⎧⎪
4aA ⎫⎪
⎛ A−a ⎞
E ( x k +1 ) ≤ ⎨1 −
E
(
x
)
E ( xk ) .
=
⎟
⎜
⎬
k
⎪⎩ ( A + a )2 ⎪⎭
⎝ A+ a⎠
Resulta
directamente
que
E (x k ) → 0 , por lo que, como Q es
definida positiva, x k → x * .
♦
En términos generales, el teorema
anterior establece que la tasa de
convergencia de descenso de
mayor pendiente es más lenta a
medida que los contornos de f se
hace más excéntricos. Si a=A,
correspondientes a contornos
circulares, la convergencia tiene
Angel Sangiacomo C.
lugar en un solo paso. No
obstante, obsérvese que aunque
n–1 de los valores propios sean
iguales y el restante esté a mucha
distancia, la convergencia será
lenta, por lo que un solo valor
propio anormal puede destruir la
efectividad del descenso de
mayor pendiente.
En la terminología introducida en
la rapidez de convergencia,
anteriormente desarrollada, el
teorema anterior establece que al
respecto a la función de error E
(o, para el caso, f) el método de
descenso de mayor pendiente
converge linealmente con una
razón
no
mayor
que
2
[( A − a ) / ( A + a )] . La tasa real
depende del punto inicial x0. Sin
embargo, para algunos puntos
iniciales se alcanza realmente el
límite. Además, Akaike mostró
que si la razón es desfavorable,
es muy probable que el proceso
converja a una tasa próxima a la
cota. Así, informalmente, pero
con cierta justificación, se dice
que la razón de convergencia del
descenso de mayor pendiente es
[( A − a ) / ( A + a )]2 .
Debemos de tener en cuenta que
la tasa de convergencia depende
en realidad de la razón r=A/a de
F. Ayres H. 72
Capítulo 2
Introducción a la Optimización No Lineal
los valores propios mayor y pendiente, según se muestra en la
menor. Así, la razón de siguiente tabla, es consistente con
esta estimación.
convergencia es
2
2
⎛ A−a⎞
⎛ r −1⎞
⎜
⎟ =⎜
⎟ .
⎝ A+a⎠
⎝ r + 1⎠
Que muestra claramente que la
convergencia es más lenta a
medida que r aumenta. La razón
r, que es el único número
asociado con la matriz Q que
caracteriza la convergencia, suele
denominarse
número
de
condición de la matriz.
Ejemplo
Téngase
⎡ 0.78 - 0.02 - 0.12 - 0.14 ⎤
⎢ - 0.02 0.86 - 0.04 0.06 ⎥
⎥
Q=⎢
⎢ - 0.12 - 0.04 0.72 - 0.08 ⎥
⎥
⎢
⎣ - 0.14 0.06 - 0.08 0.74 ⎦
b = (0.76, 0.08, 1.12, 0.68 ) .
Para esta matriz, se puede
calcular que a=0.52, A=0.94, de
donde r=1.8. Este es un número
de condición muy favorable y da
lugar a la razón de convergencia
[( A − a ) / ( A + a )]2 = 0.081 . Así, cada
iteración reducirá el error en el
objetivo es más que un factor de
diez o, dicho de otra forma, cada
iteración añadirá al rededor de un
dígito más de precisión. De
hecho, comenzando en el origen,
la sucesión de valores obtenidos
mediante el descenso de mayor
Angel Sangiacomo C.
Tabla:
Paso k
Solución al ejemplo
f (x k )
0
0
1
-2.1563625
2
-2.1744062
3
-2.1746440
4
-2.1746585
5
-2.1746595
6
-2.1746595
Punto solución x* = ( 1.534965,
0.1220097, 1.975156, 1.412954 )
El caso no cuadrático
El resultado expuesto aquí ilustra
cómo, en general, una propiedad
de convergencia deducida para
problemas cuadráticos se traduce
en otra similar para problemas no
cuadráticos. El procedimiento en
general, que se puede aplicar a la
mayoría de los métodos con
orden de convergencia unitario,
es utilizar el hessiano del objetivo
en el punto solución como si
fuera la matriz Q de un problema
cuadrático. El teorema siguiente
es un caso especial de un teorema
de tasa de convergencia que
veremos más adelante, por lo que
aquí no se prueba, pero ilustra la
generabilidad de un análisis de
los problemas cuadráticos.
F. Ayres H. 73
Capítulo 2
Teorema
Supóngase que f está definida en
En tiene segundas derivadas
parciales continuas y un mínimo
relativo en x*. Supóngase
también que la matriz hessiana de
f, F(x*) tiene valor propio menor
a>0 y valor propio mayor A>0. Si
{xk} es una sucesión generada
por el método de descenso de
mayor pendiente que converge a
x*, entonces la sucesión de
valores objetivo {f(xk)} converge
lineal-mente a f(x*) con una
razón de convergencia no mayor
que [( A − a ) / ( A + a )] 2 .
Aplicaciones de la teoría
Una vez desarrollada la teoría de
la convergencia básica, representada por la fórmula (12) para
la tasa de convergencia, y
demostrado
que
caracteriza
realmente el comportamiento de
descenso de mayor pendiente, es
conveniente mostrar cómo se
puede utiliza la teoría. En
general, no se sugiere calcular el
valor numérico de la fórmula,
pues incluye valores propios o
razones de valores propios
difíciles de determinar. No
Angel Sangiacomo C.
Introducción a la Optimización No Lineal
obstante, la fórmula en si es de
gran importancia práctica, pues
permite la comparación teórica
de distintas situaciones. Sin dicha
teoría, habría que depender
totalmente de comparaciones
experimentales.
Aplicación 1
(Solución de la ecuación del
gradiente). Un enfoque a la
minimización de una función f es
tener en cuenta la resolución de
∇f ( x ) = 0 ,
las
ecuaciones
representan
las
condiciones
necesarias. Se ha propuesto la
resolución de estas ecuaciones
aplicando el descenso de mayor
pendiente
a
la
función
2
h(x)=|∇f(x)| . Una ventaja de este
método será más rápido o más
lento que la aplicación del
descenso de mayor pendiente a la
función original f.
Por simplicidad, se trata sólo el
caso en que f es cuadrática. Así,
sea f(x)= xTQx–bTx. Entonces el
gradiente de f es g(x)=Qx–b, y
h(x)=|g(x)|2=xTQ2x–2xTQb+bTb.
Así, h(x) es una función
cuadrática.
La
tasa
de
convergencia del descenso de
mayor pendiente aplicado a h
estará controlada por los valores
F. Ayres H. 74
Capítulo 2
Introducción a la Optimización No Lineal
propios de la matriz Q2. En de mayor pendiente, el método
propuesto será algo peor.
concreto, la tasa será
2
⎛ r −1⎞
⎜
⎟ ,
⎝ r +1⎠
donde r es el número de la
condición de la matriz Q2. Sin
embargo, los valores propios de
Q2 son los cuadrático de los de Q,
de modo que r = r 2 , donde r es
el número de la condición de Q, y
es evidente que la tasa de
convergencia para el método
propuesto será peor que para el
descenso de mayor pendiente
aplicado a la función original.
Se puede profundizar más y
estimar realmente cuánto más
lento puede ser el método
propuesto. Si r es grande, se tiene
Aplicación 2
Considérese
por un momento un problema
con una sola restricción:
(Métodos de penalización).
minimizar f (x)
sujeto a h (x) = 0.
(13)
Un método para enfocar este
problema es convertirlo (al
menos aproximadamente) en el
problema sin restricciones
(14)
minimizar f ( x ) + 12 μh( x )2 ,
donde μ es un coeficiente
(grande) de penalización. Debido
a la penalización, la solución de
(13) tenderá a tener una h(x)
pequeña. El problema (13) se
puede
resolver
como
un
problema sin restricciones por el
tasa del descenso de mayor
método del descenso de mayor
2
⎛ r −1⎞ ~
4
pendiente = ⎜
pendiente. Cómo se comportará?
⎟ − (1 − 1 / r )
⎝ r +1⎠
Por simplicidad, téngase el caso
tasa del método propuesto
donde f es cuadrática y h es
⎛ r 2 −1⎞
4
2
⎟~
=⎜ 2
− (1 − 1 / r ) .
lineal. Considérese en especial el
⎜ r +1⎟
⎝
⎠
problema
2 r ~
Como (1 − 1 / r ) − 1 − 1 / r , resulta
(15)
minimizar 12 x T Qx − b T x
que el nuevo método tarda
sujeto a
cT x = 0 .
aproximadamente r pasos para El objetivo del problema de
igualar un paso del descenso de penalización
asociado
es
mayor dependiente normal. Se 1 { xT Qx + μxT ccT x}− bT x . La forma
puede llegar a la conclusión de 2
que si el problema original es cuadrática asociada con este
difícil de resolver con el descenso objetivo está definida por la
Angel Sangiacomo C.
F. Ayres H. 75
Capítulo 2
matriz Q + μcc T y, en consecuencia, la tasa de convergencia
del descenso de mayor pendiente
estará controlada por el número
de condición de esta matriz, que
es la matriz original Q con una
matriz grande de rango uno
añadida. Tendremos en cuenta
que este añadido hará que un
valor propio de la matriz sea
grande (del orden de μ). Así, el
número de condición es aproximadamente proporcional a μ. Así
pues, a medida que se aumenta el
orden de μ para obtener una
solución precisa al problema con
restricción original, la tasa de
convergencia se hace muy pobre.
Se llega a la conclusión de que el
método de la función de
penalización, utilizando de esta
manera tan simple con el
descenso de mayor pendiente, no
será muy efectivo (Posteriormente se amplia el estudio de las
funciones de penalización y la
forma de minimizarlas más
rápidamente).
Escalas
El funcionamiento del método
del descenso de mayor pendiente
de la elección de las variables x
Angel Sangiacomo C.
Introducción a la Optimización No Lineal
utilizadas
para
definir
el
problema Una nueva elección
puede alterar en gran medida las
características de convergencia.
Supóngase que T es una matriz
invertible de n×n. Entonces, se
pueden representar puntos en E n
con el vector estándar x o con el
y, donde Ty=x. El problema de
hallar x para minimizar f(x),
equivale a hallar y para
h( y ) = f (Ty ) .
minimizar
Utilizando y como conjunto de
variables subyacentes, resulta
∇h = ∇fT ,
(16)
donde ∇f es el gradiente de f
respecto a x. Así, utilizando el
descenso de mayor pendiente, la
dirección de búsqueda será
Δy = − T T ∇f T ,
(17)
que en las variables originales es
Δx = − TT T ∇f T .
(18)
Así, se observa que el cambio de
variables cambia la dirección de
búsqueda.
La tasa de convergencia del
descenso de mayor pendiente
respecto a y será determinada por
los valores propios del hessiano
del objetivo, tomando respecto a
y. Ese hessiano es
∇ 2 h( y ) ≡ H ( y ) = T T F (Ty )T .
F. Ayres H. 76
Capítulo 2
Introducción a la Optimización No Lineal
Así, si x*=Ty* es el punto piada puede producir una ganansolución, la tasa de convergencia cia sustancial en la mejora de la
tasa de convergencia, en el
está controlada por la matriz
H ( y *) = T T F ( x *)T .
(19) análisis del descenso de mayor
No es mucho lo que se pueda pendiente se presta poca atención
decir al comparar la razón de a esta posibilidad, pues si no se
convergencia asociada con H y la conoce algo la estructura del
de F. Si T es una matriz problema no se pueden dar
ortogonal, correspondiente a y orientaciones concretas.
definida a partir de x por una
simple rotación de coordenadas, Aplicación 3
entonces T T T = I , y se observa (Diseño de programas). En el
por (18) que las direcciones no trabajo aplicado es muy raro
cambian y que los valores resolver un solo problema de
propios de H son los mismos que optimización de un tipo dado. Lo
los de F.
normal es una vez codificado el
En general, antes de tratar un problema para resolverlo por
problema con el descenso de computador,
se
resuelva
mayor pendiente es conveniente, repetidamente para diferentes
de ser factible, introducir un valores de parámetro. Así, por
cambio
de
variables
que ejemplo, si se está buscando un
proporcione una estructura más plan de producción optimal
favorable de los valores propios. (como en el ejemplo 1 de los
En genera, el único tipo de ejemplos sin restricciones, antetransformación que resulta prác- riores), el problema se resolverá
tico es una que tenga T igual a para diferentes valores de los
una matriz diagonal, correspon- precios de entrada. Igualmente,
diente a la introducción de otros problemas de optimización
factores de escala en cada una de se resolverán teniendo en cuenta
las variables. Al hacer esto, hay diversas hipótesis y valores de
que tratar de conseguir las segun- restricción. Por esta razón son tan
das derivadas respecto a cada importantes la rapidez y el
variable sean aproximadamente análisis de convergencia. Lo que
iguales. Aunque una escala apro- se desea es un programa
Angel Sangiacomo C.
F. Ayres H. 77
Capítulo 2
Introducción a la Optimización No Lineal
eficiente. En muchos casos, el
esfuerzo dedicado a buscar la
escala apropiada no se compensa
en la primera ejecución, sino a
largo plazo.
A modo de ejemplo, téngase el
problema de minimizar la
función
f ( x ) = x − 5 xy + y − ax − by .
2
4
Es deseable obtener rápidamente
soluciones para valores diferentes
de los parámetros a y b . Se
empieza con los valores a=25,
b=8.
Si se aplica el método de mayor
pendiente se necesita 80 iteraciones,
lo
cual
puede
considerarse decepcionante.
La razón de este rendimiento tan
pobre se revela examinando la
matriz hessiana
⎡ 2 -5 ⎤
F=⎢
2⎥ .
⎣− 5 12 y ⎦
Utilizando los resultados del
primer experimento, se conoce
que y=3. Por tanto, los elementos
de la diagonal del hessiano, en la
solución, difieren en un factor de
54. (De hecho, el número de
condición es aproximadamente
61). Como recurso sencillo, se
cambia la escala del problema
sustituyendo la variable y por
z=ty. Entonces, el nuevo término
Angel Sangiacomo C.
de la esquina inferior derecha del
2 4
hessiano es 12 z / t , que tiene
magnitud
12 × t 2 × 32 / t 4 = 108 / t 2 . Así, se
puede hacer t = 7 , para que los
dos términos diagonales sean
aproximadamente iguales.
−5/ 7 ⎤
⎡ 2
⎢− 5 / 7 108 / 49⎥
⎣
⎦
Aplicando los cambios anteriores
se tiene el resultado en tan sólo 9
iteraciones. (Este mejor rendimiento esta de acuerdo con la
teoría general, pues el número de
condición del problema a esta
escala es aproximadamente dos.)
Para otros valores próximos de
a y b se consiguen rapideces
similares.
Método de newton
El método de Newton se basa en
que la función f que se minimiza
se aproxima localmente por una
función cuadrática, y esta función
de aproximación se minimiza
exactamente. Así, cerca de xk se
puede aproximar f por la serie de
Taylor truncada
f ( x) ~
− f ( xk ) + ∇f ( xk )( x − xk )
+ 12 ( x − xk )T F ( xk )( x − xk ) .
El lado derecho se minimiza en
F. Ayres H. 78
Capítulo 2
xk +1 = xk − [F ( xk )]−1 ∇f ( xk )T ,
Introducción a la Optimización No Lineal
Prueba:
y esta ecuación es la forma pura Hay ρ > 0, β1 > 0, β 2 > 0 tales que
para toda x, con x − x * < ρ , se
del método de Newton.
Teniendo
en
cuenta
las cumple que F ( x )−1 < β1 (Véase en
condiciones de suficiencia de
algún texto la definición de la
segundo orden para un punto
norma de una matriz) y
mínimo, se supone que en un
2
∇f ( x*)T − ∇f ( x )T − F ( x )( x * − x ) ≤ β 2 x − x * .
punto mínimo relativo, x*, la
matriz hessiana F(x*) es definida Ahora, supóngase que se elige x k
positiva. Entonces, se puede con β1β 2 xk − x * < 1 y xk − x * < ρ .
argumentar que se f tiene Entonces,
segundas derivadas parciales xk +1 − x * = xk − x * − F ( xk )−1∇f (xk )T
continuas, F(x) es definida
positiva cerca de x*, por lo que el = F ( xk ) −1 [∇f ( x*)T − ∇f ( xk )T − F ( xk )( x * − xk )]
método está bien definido cerca
2
≤ F ( xk ) −1 β 2 xk − x *
de la solución.
(20)
2
≤ β1β 2 xk − x * < xk − x * .
Convergencia de orden dos
El método de Newton tiene
propiedades muy interesantes si
se comienza suficientemente
cerca del punto solución. Su
orden de convergencia es dos.
Teorema
(Método de Newton) . Sea f∈C3
en En, y supóngase que en el
punto mínimo local x*, el
hessiano F(x*) es definido
positivo.
Entonces,
si
se
comienza suficientemente cerca
de x*. El orden de convergencia
es al menos dos.
Angel Sangiacomo C.
La desigualdad final demuestra
que el nuevo punto está más
cerca de x* que el primitivo, por
lo que todas las condiciones
vuelven a ser aplicables a xk+1. La
desigualdad anterior prueba que
la convergencia es de segundo
orden. ♠
Modificaciones
Aunque el método de Newton es
muy atractivo en función de sus
propiedades de convergencia
cerca de la solución, ha de
modificarse antes de poderlo
utilizar en puntos lejanos de la
F. Ayres H. 79
Capítulo 2
Introducción a la Optimización No Lineal
solución. El resto de esta sección
se dedica a la naturaleza general
de estas modificaciones.
La primera modificación suele
ser la introducción de un
parámetro de búsqueda α, de
modo que el método toma la
forma
xk +1 = xk − α [F ( xk )]−1 ∇f ( xk )T ,
donde αk se elige para minimizar
f. Se espera que cerca de la
solución, dependiendo de cómo
se dedujo el método de Newton,
αk≈1. Sin embargo, al introducir
el parámetro para puntos
generales se evita la posibilidad
de que el objetivo crezca con
αk=1, debido a los términos no
cuadráticos de la función
objetivo.
Los aspectos básicos necesarios
para desarrollar la segunda
modificación se pueden ver más
claramente con un breve examen
de la clase general de algoritmos
xk +1 = xk − αM k g k ,
(21)
donde Mk es una matriz de n×n, α
es un parámetro de búsqueda
positivo, y g k = ∇f ( xk )T . Se
observa que el descenso de
mayor pendiente ( M k = I ) y el
método
de
Newton
( M k = [F ( xk )]−1 ) pertenecen a esta
Angel Sangiacomo C.
clase.
El
vector dirección
d k = − M k g k obtenido de esta
forma es una dirección de
descenso si para α pequeño el
valor de f disminuye según α se
incrementa desde cero. Para α
pequeño, se puede decir que
f ( xk +1 ) = f ( xk ) + ∇f ( xk )( xk +1 − xk )
(
+ O xk +1 − xk
2
).
Utilizando (21), esto se puede
expresar
f ( xk +1 ) = f ( xk ) − α .g kT M k g k + O(α 2 ) .
A medida que α→0, el segundo
término de la derecha domina al
tercero. Por tanto, si se quiere
garantizar un decremento de f
para α pequeño, se debe tener
g kT M k g k > 0 .
La forma más
sencilla de asegurar esto es exigir
que Mk sea definida positiva.
Para obtener el método del
descenso de mayor pendiente, la
manera más sencilla de garantizar
el descenso quizá sea hacer Mk=I,
pero este método converge sólo
linealmente.
Haciendo
M k = [F ( xk )]−1 se produce un
descenso rápido cerca de la
solución, pero para un punto
general puede no producir una
dirección de descenso, pues
[F (xk )]−1 puede no ser definida
positiva o incluso puede no
F. Ayres H. 80
Capítulo 2
Introducción a la Optimización No Lineal
existir. Entonces, en la práctica,
el método de Newton debe
modificarse para ajustar la
definición no positiva en regiones
alejadas de la solución.
Un enfoque usual es tomar
M k = [ε k I + F ( xk )]−1 para algún valor
no negativo de εk. Esto puede
considerarse como una especie de
compromiso entre el descenso de
mayor pendiente (εk muy grande)
y el método de Newton (εk=0).
Siempre hay una εk que hace a Mk
definida positiva. La siguiente es
una modificación de este tipo.
Sea Fk ≡ F ( xk ) . Fíjese una
constante δ>0. Dada xk, calcúlese
los valores propios de Fk, y sea εk
la menor constante no negativo
para lo cual la matriz εkI+Fk tiene
valores propios mayores o
iguales que δ. Después defínase
d k = −(ε k I + Fk )−1 g k
(22)
e itérese de acuerdo con
xk +1 = xk + α k d k ,
(23)
donde αk minimiza f (xk + αd k ) ,
α≥0.
Este
algoritmo
tiene
las
propiedades locales y globales
deseadas. Primero, como los
valores propios de una matriz
dependen continuamente de sus
elementos, εk es una función
Angel Sangiacomo C.
continua de xk, por lo que la
D : E n → E 2n
transformación
definida por D( xk ) = ( xk , d k ) es
continua. Así, el algoritmo A=SD
es cerrado en los puntos que
están fuera del conjunto solución
Ω = { x : ∇f ( x ) = 0} . Segundo, como
ε k I + Fk es definida positiva, dk
es una dirección descendente, y
Z ( x) ≡ f ( x)
es una función
descendente continua para A. Por
tanto, suponiendo que la sucesión
generada está acotada, se aplica
el teorema de la convergencia
global. Además, si δ > 0 es
menor que el menor valor propio
de F(x*), entonces para xk
suficientemente próxima a x*, se
tendrá εk=0, y el método se
reduce al método de Newton.
Así, este método revisado
también
tiene
orden
de
convergencia igual a dos.
La elección de una δ apropiada es
casi un arte. Una δ pequeña
significa que hay que invertir
matrices casi singulares, mientras
que una δ grande significa que se
puede perder el orden de
convergencia
dos.
Con
frecuencia,
es
necesario
experimentar
y
estar
familiarizado con una clase dada
F. Ayres H. 81
Capítulo 2
de problemas para hallar la mejor
δ.
La utilidad del algoritmo anterior
se ve obstaculizada por la
necesidad de calcular los valores
propios de F(xk), y en la práctica
se recurre a otro procedimiento.
En una clase de métodos
(métodos del tipo LevenbergMarquardt), para un valor de ε k
dado, se utiliza la factorización
de Cholesky de la forma
ε k I + F ( xk ) = GGT , para verificar la
definición
positiva.
Si
la
factorización falla, se incrementa
ε k . Entonces, la factorización
también proporciona el vector
dirección mediante la solución de
las ecuaciones GGT d k = g k , que
son fáciles de resolver, pues G es
triangular. Después, se examina
el valor de f(xk+αkdk). Si está
suficientemente por debajo de
f(xk), entonces se acepta xk+1 y se
determina una nueva εk+1.
Esencialmente ε funciona en
estos métodos como parámetro
de búsqueda. Por lo expuesto, es
evidente que la sencillez, que
parecía prometer al principio el
método de Newton, en la práctica
no se consigue totalmente.
Angel Sangiacomo C.
Introducción a la Optimización No Lineal
Métodos
coordenado
de
descenso
Los algoritmos tratados en esta
sección a veces son atractivos
debido a su facilidad de
aplicación. Sin embargo, sus
propiedades de convergencia
suelen ser más débiles que el
descenso de mayor pendiente.
Sea f una función en En con
primeras derivadas parciales
continuas. Dado un punto x=(x1,
x2,..., xn), el descenso respecto a
la coordenada xi (i fija) significa
que se resuelve
minimizar f ( x1 , x2 ,..., xn ) .
xi
Así, buscando un vector x nuevo
y mejor, sólo se permiten
cambios en la componente xi. En
la terminología general, cada
descenso de este tipo se puede
considerar como un descenso en
la dirección ei (o − ei ) , donde ei es
el i-ésimo vector unitario.
Minimizando
secuencialmente
para diversos componentes, se
podría llegar a determinar un
mínimo relativo de f.
Son varias las formas de
desarrollar este concepto en un
algoritmo completo. El algoritmo
de descenso coordenado cíclico
F. Ayres H. 82
Capítulo 2
minimiza f cíclicamente con
respecto
a
las
variables
coordenadas. Así, x1 cambia
primero, después, x2, y así hasta
xn. Entonces, se repite el proceso
comenzando de nuevo con x1.
Una variante de esto es el método
del doble recorrido de Aitken. En
este procedimiento se busca en
x1, x2, ..., xn, en ese orden, y
después se regresa en el orden xn1, xn-2, . . . , x1. Estos métodos
cíclicos tienen la ventaja de que
no necesitan información sobre
∇f
para
determinar
las
direcciones de descenso.
Si se dispone del gradiente de f,
entonces se puede seleccionar el
orden de las coordenadas de
descenso a partir del gradiente.
Una técnica popular es el método
de Gauss-Southwell, donde en
cada etapa se escoge para el
descenso
la
coordenada
correspondiente a la mayor
componente (en valor absoluto)
del vector gradiente.
Introducción a la Optimización No Lineal
Partiendo
de
un
x0 = ( x10 , x20 ) = (8, 2) , el cual nos da
una
altura
de
0 0
f ( x1 , x2 ) = f (8,2) = −12 unidades.
El gradiente indicará la dirección
de movimiento y este será
perpendicular a la tangente del
f ( x10 , x20 ) = −12 .
contorno de
Calculando el gradiente se tiene
∂f
∂f
∇f ( x) = ( ∂x , ∂x )T
1
2
= ( 2 x1 − x2 − 7, 2 x2 − x1 − 4)T
⎡− 7⎤
=⎢ ⎥
⎣ 8⎦
Aquí sabemos que la información
que nos brinda el gradiente, que
el mejor descenso está en la
dirección positiva o sea en x2 que
es de 8 unidades. Aquí se tiene
nuevamente el mismo problema
de cuánto nos moveremos en la
dirección x2 y ello se hace
calculando un α unidades en
dicha dirección, hacemos
x1 = x 0 + α (0,8)
x1 = ( x10 , x20 ) + α (0,8) = ( x10 , x20 + α 8)
x1 = (8, 2 + α 8)
Hagamos una descripción del
método coordenado de GaussSouthwell, aquí lo pondremos
como un descenso de la función
f ( x1 , x2 ) = x12 − x1 x2 + x22 − 4 x2 − 7 x1
Calculamos α óptimo para esta
operación
usamos
g (α ) = f (8,2 + α 8) ,
calculando
g ' (α ) = 0 ,
f (8,2 + α 8) = 82 − 8(2 + α 8) + (2 + α 8) 2 − 4(2 + α 8) − 7(8)
f (8,2 + α 8) = 64 − 16 − 64α + (2 + α 8) 2 − 8 − 32α − 56
Angel Sangiacomo C.
F. Ayres H. 83
Capítulo 2
Introducción a la Optimización No Lineal
Calculamos α óptimo para esta
operación
usamos
Se usa este valor para calcular el g (α ) = f (8 − α 3,6) ,
calculando
1
nuevo valor de x ,
g ' (α ) = 0 ,
df (8, 2+α 8)
dα
α = 12
= −64 + 16(2 + α 8) − 32 = 0
x1 = (8,2 + 12 8) = (8,2 + 4) = (8,6)
este mejora el valor de f (x) , así:
f ( x11 , x12 ) = f (8,6) = −28
df (8−α 3,6)
dα
= −18α + 9 = 0
α = 12
por casualidad es igual al anterior
o sea se a conseguido bajar 16 y resulta
x 2 = (8 − 12 (3),6) = (6.5,6)
unidades, sigamos mejorando:
este mejora el valor de f (x) , así:
f ( x12 , x22 ) = f (6.5,6) = −30.25
o sea se a conseguido bajar 2.25
unidades, sigamos mejorando:
Figura 29.
∇f ( x) = (2 x1 − x2 − 7, 2 x2 − x1 − 4)T
⎡ 0⎤
=⎢
⎥
⎣− 1.5⎦
Tomamos el mejor de las
coordenadas en este caso
x2 = −1.5 ,
x 3 = ( x12 , x22 ) + α (,−1.5) = (6.5,6 − 1.5α )
Calculamos α óptimo para esta
usamos
Volvemos a buscar la nueva operación
dirección
y
lo
hacemos g (α ) = f (6.5,6 − 1.5α ) , calculando
g ' (α ) = 0 ,
calculando el gradiente
∇f ( x) = (2 x1 − x2 − 7, 2 x2 − x1 − 4)T
⎡− 3⎤
=⎢ ⎥
⎣ 0⎦
df ( 6.5,6−1.5α )
dα
1
α=2
= − 92 α + 94 = 0
Esta es otra casualidad de que
Tomamos el mejor de las
α = 12 (no siempre es así) y nos da el
coordenadas en este caso x1 = −3 ,
nuevo punto:
2
1
x = x + α (−3,0)
x 2 = ( x11 , x12 ) + α (−3,0) = (8 − α 3,6)
x 2 = (8 − α 3,6)
Angel Sangiacomo C.
x 3 = (6.5,6 − 1.5(0.5)) = (6.5,5.25)
este mejora el valor de
f ( x) ,
así:
f ( x13 , x23 ) = f (6.5,5.25) = −30.8125
F. Ayres H. 84
Capítulo 2
Introducción a la Optimización No Lineal
o sea se a conseguido bajar
0.5625 unidades, para seguir
mejorando se repite el proceso
hasta cumplir las condiciones de
tolerancia o error ε > 0 dado por
f ( x k ) − f ( x k +1 ) ≤ ε
o
x k − x k +1 ≤ ε
también podría ser por
∑(
n
i =1
) <ε
∂f ( x*) 2
∂xi
.
Apéndice
Algoritmo alternativo de Fibonacci
Paso 1: Definir f(x)
Paso 2: Entrar a, b, err
Paso 3: n=mín{ k ≥ 1/err; k∈Z }
Paso 4: Calcular Fibonacci(n);
r=Fibonacci(n -2)/Fibonacci(n);
Paso 5: x1=a+(b-a)r; f1=f(x1);
Paso 6: x2=a- x1+b; // x2=b-(b-a)r;
f2=f(x2);
Paso 7: si f2<f1 hacer
Paso 8: si x2< x1 hacer b= x1;
Paso 9: en otro caso a = x1;
Paso 10: x1= x2; f1=f2;
Paso 11: en otro caso
Paso 12: si x2< x1 hacer a= x2;
Paso 13: en otro caso b=x2;
Paso 14: i=i+1;
Paso 15: si i<n ir Paso 9;
Paso 16: Parar.
Angel Sangiacomo C.
F. Ayres H. 85
Capítulo 3
Introducción a la Optimización No Lineal
CAPÍTULO 3
Objetivo: estudiar y aplicar los sistemas
cuasi Newton en la solución de problemas
de minimización.
Métodos de dirección conjugada
minimizar 12 x T Qx − bT x ,
donde Q es una matriz de n×n
simétrica definida positiva. Las
técnicas desarrolladas para este
problema se extienden, por
aproximación, a problemas más
generales; se argumenta que,
como cerca del punto solución
todo problema es aproximadamente cuadrático, el comportamiento de la convergencia es
similar al de la situación
cuadrática pura.
El área de los algoritmos de
dirección conjugada ha supuesto
una gran aportación al campo de
la programación no lineal, lo cual
ilustra que el análisis detallado
del problema cuadrático puro
puede demostrar importantes
avances prácticos. De hecho, los
métodos de dirección conjugada,
sobre todo el método de los
gradientes
conjugados,
han
demostrado ser muy efectivos en
el tratamiento de las funciones
objetivo generales y están
considerados entre los mejores
métodos de propósito general
existentes.
Los métodos de dirección
conjugada se pueden considerar
como algo intermedio entre el
método del descenso de mayor
pendiente y el de Newton. Se
debe acelerar la convergencia
típicamente lenta inherente al
descenso de mayor pendiente al
tiempo que se evitan los
requerimientos de información
asociados con la evaluación,
almacenamiento e inversión del
hessiano (o al menos con la
solución de un sistema de
ecuaciones
correspondiente),
según requiera el método de
Newton.
Los métodos de dirección
conjugada se crean y analizan sin Direcciones conjugadas
excepción para el problema Definición 1
cuadrático puro
Angel Sangiacomo C.
F. Ayres H. 86
Capítulo 3
Introducción a la Optimización No Lineal
Dada una matriz simétrica Q, se ortogonal Q si diT Qd j = 0 para
dice que dos vectores d1 y d2 son
toda i ≠ j .
ortogonales Q, o conjugados
respecto a Q , si d1T Qd 2 = 0 .
Ejemplo 1:
Como casos para darnos cuenta,
sean:
⎡ 2 −1 ⎤
Q=⎢
2⎥⎦
⎣− 1
y a = (1, 2) ,
b = (b1 , 0) , entonces
aQbT
⎡ 2 − 1 ⎤ ⎛ b1 ⎞
= (1, 2) ⎢
⋅⎜ ⎟
2⎥⎦ ⎜⎝ 0 ⎟⎠
⎣− 1
=0
⎡ 5 − 2⎤
Q=⎢
1 ⎥⎦
⎣− 2
y a = (3, 1) ,
b = (b1 ,
13b1
),
5
(I)
entonces
aQbT
⎡ 5 − 2⎤ ⎛ b1 ⎞
= (3, 1) ⎢
⋅ ⎜ 13b ⎟
2⎥⎦ ⎜⎝ 5 1 ⎟⎠
⎣− 2
=0
⎡ 3 0 − 1⎤
Q = ⎢⎢ 0 4
1 ⎥⎥ , y a = (1, 2,−1) ,
⎢⎣− 1 1
3⎥⎦
b = (−1, 1, 32 ) , entonces
⎡ 3
T
aQb = (1, 2,−1) ⎢⎢ 0
⎢⎣− 1
0 −1⎤ ⎛ −1 ⎞
⎜ ⎟
4
1 ⎥⎥ ⋅ ⎜ 1 ⎟ = 0
⎜ ⎟
1
3⎥⎦ ⎜⎝ 32 ⎟⎠
En las aplicaciones que se tratan
aquí, la matriz Q será definida
positiva pero esto no es inherente
a la definición básica. Así, Q = 0,
dos vectores cualesquiera son
conjugado, mientras que si Q = 1,
la conjugación equivale a la
notación usual de ortogonalidad.
Se dice que un conjunto finito de
vectores d0, d1, d2, ..., dk es
Angel Sangiacomo C.
(II)
Figura 1.
En la figura 1 se ha tomado los vectores de
el ejemplo 1 para Q de arriba; la (I) y (II)
hacen notar que los vectores a y b son
linealmente independiente, pues no son
paralelos.
Lo cual veremos formalizado en
la siguiente proposición.
Proposición 1
Si Q es definida positiva y el
conjunto de vectores distintos de
cero d0, d1, d2, ..., dk son
ortogonales Q, entonces estos
F. Ayres H. 87
Capítulo 3
Introducción a la Optimización No Lineal
vectores
son
independientes.
linealmente matriz Q de n×n definida
positiva. Por la proposición
anterior,
son
linealmente
Prueba:
independientes, lo que implica
Supóngase que hay constantes αi, que la solución x* de (1) o (2) se
i=0, 1, 2, ...,k, tales que
puede expandir en función de
α 0 d 0 + ... + α k d k = 0
ellos a la forma
Multiplicando por Q y tomando
x* = α 0 d 0 + ... + α n −1d n −1
(3)
el producto escalar con di se para algún conjunto de las α De
i
genera
hecho, multiplicando por Q y
α i d iT Qd i = 0
tomando luego el producto
resulta
con
d i,
y, como d iT Qd i > 0 por la escalar
definición positiva de Q, resulta directamente
que αi =0.
♦
Antes de analizar el algoritmo de
dirección conjugada general, se
investigará por qué el concepto
de ortogonalidad Q es útil para la
solución del problema cuadrático
minimizar 12 x T Qx − b T x , (1)
cuando Q es definida positiva.
Recuérdese que la única solución
a este problema es también la
única solución a la ecuación
lineal
Qx = b ,
(2)
por tanto, el problema de
minimización
cuadrático
equivaldrá a un problema de
ecuación lineal.
Sean d0, d1, d2, ..., dn-1, n
vectores ortogonales Q distintos
de cero correspondientes a la
Angel Sangiacomo C.
αi =
d iT Qx *
d iT Qd i
=
d iT b
d iT Qd i
.
(4)
Esto muestra que las α i y, en
consecuencia, la solución x* se
pueden hallar por la evaluación
de productos escalares simples.
El resultado final es
n −1
x* = ∑
d iT b
T
i =0 d i Qd i
di .
(5)
En (5) hay dos ideas básicas
incorporadas. La primera es la
idea de seleccionar un conjunto
ortogonal de di de forma que
tomando un producto escalar
apropiado, se anulan todos los
términos del lado derecho de (3),
excepto el i-ésimo. Lógicamente,
esto podría lograrse haciendo las
di ortogonales en el sentido
normal, en lugar de hacerlas
F. Ayres H. 88
Capítulo 3
Introducción a la Optimización No Lineal
ortogonales Q. Sin embargo, la
segunda observación básica es
que utilizando la ortogonalidad
Q, la ecuación resultante para αi
se puede expresar en función del
vector conocido b, en lugar del
vector desconocido x*; por tanto,
los coeficientes se pueden
evaluar sin conocer x*.
La expansión para x* se pueden
considerar como el resultado de
un proceso iterativo de n pasos,
en el que se añade αidi en el iésimo paso. Visto el procedimiento de esta forma y admitiendo un punto inicial arbitrario
para la iteración, se obtiene el
método de la dirección conjugada
básico.
converge a la solución única, x*,
de Qx=b después de n pasos, es
decir, xn= x*.
Prueba:
Como las d k son linealmente
independientes,
de
xk +1 − xk = α k d k se puede escribir
x * − x0 = α 0 d 0 + α1d1 + ... + α n −1d n −1
para algún conjunto de αk. Al
igual que se hizo para obtener
(4), se multiplica por Q y se toma
el producto escalar con dk para
hallar
αk =
d kT Q( x * − x0 )
d kT Qd k
.
(8)
Ahora, haciendo el proceso
iterativo (6) desde x0 hasta xk,
resulta
xk − x0 = α 0 d 0 + α1d1 + ... + α k −1d k −1 ,
(9)
Teorema de la dirección
y por tanto, por la ortogonalidad
conjugada
Q de las dk, resulta que
n −1
Sean { d i } i = 0 un conjunto de
d kT Q ( xk − x0 ) = 0 .
(10)
vectores ortogonales Q distintos
Sustituyendo (10) en (8), y
de cero. Para cualquier x0∈En, la
tomando
en
cuenta
que
sucesión {xk} generada según
Qx * −Qxk = b − Qxk = − g k ,
se
x k +1 = x k + α k d k , k ≥ 0
(6)
produce
con
d T Q([ x * − x ] + [ x − x ])
αk = −
y
g kT d k
d kT Qd k
g k = Qx k − b ,
Angel Sangiacomo C.
αk =
(7)
k
k
k
d kT Qd k
0
;
aquí d kT Q( xk − x0 ) = 0 ,
αk =
d kT Q( x * − xk )
d kT Qd k
=−
g kT d k
d kT Qd k
,
F. Ayres H. 89
Capítulo 3
que es idéntica a (7).
Introducción a la Optimización No Lineal
♣
Hasta aquí, el método de la
dirección conjugada se ha
deducido esencialmente por la
observación de que resolver (1)
equivale a resolver (2). El
método de la dirección conjugada
se ha considerado sólo como una
expansión
ortogonal
algo
especial, aunque directa, para la
solución de (2). Este punto de
vista, aunque es importante
debido a su sencillez inherente,
ignora algunos de los aspectos
más importantes del algoritmo;
en especial, aquellos aspectos que
son importantes cuando se
extiende el método a problemas
no cuadráticos. Estas propiedades
adicionales se estudian en la
sección siguiente.
Además, todavía no se ha
presentado
métodos
para
seleccionar o generar sucesiones
de direcciones conjugadas. En los
ejercicios se tratan algunos
métodos para hacer esto, pero el
más importante, el de los
gradientes conjugados, se trata
posteriormente.
Se define Bk como el subespacio
de En generado por {d0, d1, ...,
dk-1}. A continuación se muestra
que a medida que el método de
las
direcciones
conjugadas
avanza, cada xk minimiza el
objetivo en la variedad lineal kdimensional x0 + Bk .
Teorema del
expansión
subespacio
en
Sea { d i } i = 0 una sucesión de
vectores ortogonales Q distintos
de cero en En. Entonces, para
cualquier x0∈En, la sucesión {xk}
generada según
n −1
x k +1 = x k + α k d k
αk = −
g kT d k
d kT Qd k
(11)
(12)
tiene la propiedad de que x k
minimiza f ( x ) = 12 x T Qx − b T x en
x = xk −1 + αd k −1 ,
la
recta
− ∞ < α < ∞ , además de la
variedad lineal x0 + Bk .
Prueba:
Tan sólo hay que mostrar que xk
minimiza f en la variedad lineal
x0 + Bk , pues contiene a la recta
Propiedades de descenso del x = xk −1 + αd k −1 . Como f es una
método
de
la
dirección función estrictamente convexa, la
conjugada
Angel Sangiacomo C.
F. Ayres H. 90
Capítulo 3
Introducción a la Optimización No Lineal
conclusión será valida si puede
mostrarse que gk es ortogonal a
Bk (esto es el gradiente de f en
xk es ortogonal al subespacio
Bk ). La situación se ilustra en la
figura 2.
Se prueba g k ⊥Bk por inducción.
Como B0 es vacío, la hipótesis
es
verdadera
para
k=0.
Suponiendo que es verdadero
Figura 2.
para k, es decir, suponiendo que Método de la dirección conjugada
g k ⊥Bk
se demuestra que
Corolario
g k +1⊥Bk +1 . Se tiene
En el método de las direcciones
conjugadas, los gradientes gk,
g k +1 = g k + α k Qd k ,
(13)
k=0, 1, ..., n satisfacen
de donde
g kT d i = 0 para i < k . ♠
d kT g k +1 = d kT g k + α k d kT Qd k = 0 (14)
por la definición de αk, pues El teorema anterior se conoce
dT g
α k − Tk k = 0 . Además, para i<k como el teorema del subespacio
d k Qd k
en expansión, pues las Bk
forman
una
sucesión
de
d iT g k +1 = d iT g k + α k d iT Qd k . (15)
subespacios con Bk +1 ⊃ Bk .
El primer término del lado
derecho de (15) se anula debido a Como xk minimiza f en x0 + Bk ,
la hipótesis de inducción, es evidente que xn debe ser el
mientras que el segundo se mínimo de toda f.
elimina por la ortogonalidad Q de Para obtener una interpretación
de este resultado, se introduce de
los di. Así, g k +1⊥Bk +1 . ♥
nuevo la función
E (x) =
Angel Sangiacomo C.
1
2
( x − x *)T Q(x − x *)
(16)
F. Ayres H. 91
Capítulo 3
Introducción a la Optimización No Lineal
como medida de la proximidad
del vector x a la solución x*.
Como E ( x ) = f ( x ) + 12 x *T Qx * , la
función E se puede considerar
como el objetivo que se quiere
minimizar.
Teniendo
en
cuenta
la
minimización de E, se puede
considerar como el problema
original es minimizar una
distancia generalizada desde el
punto x*. De hecho, si Q=I, la
noción generalizada de distancia
correspondería (en un factor de
dos) a la distancia euclidiana
usual. Para una Q definida
positiva arbitraria, se afirma que
E es una métrica euclidiana
generalizada o una función de la
distancia. Los vectores di, i=0, 1,
2, ..., n-1, que son ortogonales
Figura 3.
Interpretación del teorema del subespacio en
expansión
Angel Sangiacomo C.
Q,
se
pueden
considerar
ortogonales en este espacio
euclidiano generalizado, lo que
da
lugar
a
la
sencilla
interpretación del teorema del
subespacio
en
expansión
representado en la figura 3 Por
sencillez, se supone que x0=0. En
la figura, dk se muestra ortogonal
a Bk en relación con la métrica
generalizada. El punto xk
minimiza E sobre Bk mientras
que xk+1 minimiza E sobre Bk +1 .
La propiedad básica es que, como
dk es ortogonal a Bk , el punto
xk+1 se puede hallar minimizando
E a lo largo de dk y sumando el
resultado a xk.
Método del gradiente conjugado
El
método
del
gradiente
conjugado es el método de la
dirección conjugada, que se
obtiene eligiendo los vectores de
dirección sucesiva como una
versión conjugada de los
gradientes sucesivos obtenidos a
medida que avanza el método.
Así, las direcciones no se
especifican de antemano, sino se
determinan secuencialmente en
cada paso de la iteración. En el
F. Ayres H. 92
Capítulo 3
paso k, se evalúa el vector del
gradiente negativo actual y se le
suma una combinación lineal de
los vectores dirección anteriores
para obtener un vector de
dirección con jugada nuevo en el
cual moverse.
Este
método
de
elección
dirección tiene tres ventajas
básicas. Primero, a no ser que se
alcance la solución en menos de
n pasos, el gradiente es siempre
distinto de cero y linealmente
independiente de todos los
vectores dirección anteriores. En
realidad, el gradiente gk es
ortogonal al subespacio Bk
generado por d0, d1, d2, ..., dk-1. Si
la solución se alcanza antes de n
pasos, el gradiente se anula y el
proceso termina, en cuyo caso no
es necesario hallar direcciones
adicionales.
Segundo, una ventaja más
importante del método del
gradiente conjugado es la
fórmula especialmente sencilla
que se utiliza para determinar el
nuevo vector dirección. Esta
sencillez hace que el método sea
tan sólo ligeramente más
complicado que el descenso de
mayor pendiente.
Tercero, como las direcciones
están basadas en los gradientes,
Angel Sangiacomo C.
Introducción a la Optimización No Lineal
el proceso tiene en cada paso un
buen avance uniforme hacia la
solución. Esto contrasta con la
situación
para
sucesiones
arbitrarias
de
direcciones
conjugadas, en la cual el avance
puede ser insignificante hasta los
últimos pasos. Aunque el avance
uniforme no tiene mayor
importancia
para
las
generalizaciones a problemas no
cuadráticos.
Algoritmo
conjugado
del
gradiente
Comenzando en cualquier x0∈En,
se define d 0 = − g 0 = b − Qx0 y
x k +1 = x k + α k d k
(17)
αk = −
g kT d k
(18)
d kT Qd k
d k +1 = − g k +1 + β k d k
βk =
g kT+1Qd k
,
d kT Qd k
donde g k = Qx k − b .
(19)
(20)
En el algoritmo, el primer paso es
idéntico a un paso del descenso
de mayor pendiente; cada paso
sucesivo se mueve en una
dirección,
que
es
una
combinación lineal del gradiente
actual y el vector dirección
F. Ayres H. 93
Capítulo 3
Introducción a la Optimización No Lineal
anterior.
El
atractivo
del
algoritmo está en las sencillas
fórmulas, (19) y (20), de
actualización
del
vector
dirección. El método es sólo
ligeramente más complicado de
aplicar que el método del
descenso de mayor pendiente,
pero converge en un número
finito de pasos.
Nota: Presentamos la forma alternativa del
algoritmo anterior:
{ PROGRAMA De método de Direcciones
Conjugadas }
{ Caso únicamente cuadrático, programa
didáctico }
unit Dir_Conju02;
interface
Paso 1: Definir f (x)
{función cuadrática}
Paso 2: Entrar x0 ∈ E
{Cualquiera}
Paso 3: Calcular Q,
Paso 4: Hacer d 0 = − g 0 = b − Qx0 ,
n
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls ;
type
_r=extended; _i=integer; _s=string;
_v1=array[0..28] of _r;
T
g d
_m=array[0..28] of _v1;
Paso 5: Hacer α k = − Tk k ,
TForm_Direcion_Conjugada1 = class(TForm)
d k Qd k
Memo1: TMemo; Memo2: TMemo; Button1: TButton;
Paso 6: Hacer x k +1 = x k + α k d k ,
Button2: TButton; Memo3: TMemo; Edit1: TEdit;
Edit2: TEdit; Button3: TButton; Label1: TLabel;
Paso 7: Hacer g k +1 = Qxk +1 − b ,
Label2: TLabel; Label3: TLabel; Label4: TLabel;
procedure Button2Click(Sender: TObject);
g T Qd
Paso 8: Hacer β k = kT+1 k ,
procedure FormCreate(Sender: TObject);
d k Qd k
procedure Button1Click(Sender: TObject);
Procedure Valor_Matriz(Sender: TObject);
Paso 9: Hacer d k +1 = − g k +1 + β k d k ,
procedure Button3Click(Sender: TObject);
Paso 10: Ir al paso (5), {Hasta cumplir la tolerancia de n} end;
Paso 11: Publicar la Solución.
Programa en Pascal Delphi:
var
Form_Direcion_Conjugada1: TForm_Direcion_Conjugada1;
implementation
{$R *.DFM}
var Matriz_s:_s; QxQ : _m ;
Tope :_i; kk : _i;
//////////////////////////////////////////////////
function f(s:_s; x :_r) : _r;
begin f := StrToFloat(s) end;
procedure Minus(s:_s;var s1:_s);var i:_i;
begin s1:=s; i:=0;
repeat i:=i+1;
if s1[i]=' 'then begin delete(s1,i,1);i:=i-1; end;
until i>=length(s1);
Angel Sangiacomo C.
F. Ayres H. 94
Capítulo 3
Introducción a la Optimización No Lineal
end;
Procedure Mat_vec(M:_m;V:_v1;var v1:_v1); var i,j:_i;
Procedure TForm_Direcion_Conjugada1.Valor_Matriz(Sender: begin
TObject);
for i:=1 to Tope do
var i,j,k, Li ,ii :_i; s : _s;
begin v[28]:=0;
for j:=1 to Tope do
begin
v[28]:=v[28]+M[i,j]*v[j];
minus(Matriz_s,Matriz_s);
v1[i]:=v[28];
if Matriz_s[1]<>'[' then Matriz_s:='['+Matriz_s;
end;
if
Matriz_s[length(Matriz_s)]<>']'
then end;
Matriz_s:=Matriz_s+']';
Procedure Vec_Mat(M:_m;V:_v1;var v1:_v1);var i,j:_i;
k := length(Matriz_s); ii :=0; j:=0; Li := 1;
begin
for i := 1 to k do
for i:=1 to Tope do
if Matriz_s[i] in [ #13,#10 ] then Matriz_s[i] := ' ';
begin v[28]:=0;
minus(Matriz_s,Matriz_s); k := length(Matriz_s);
for j:=1 to Tope do
for i := 1 to k do
v[28]:=v[28]+M[j,i]*v[j];
begin
v1[i]:=v[28];
if Matriz_s[i]='[' then begin ii:=ii+1; j:=0;
end;
Li := Li +1 end;
end;
if Matriz_s[i] in [',',';',']'] then
Procedure Vec_vec(v1:_v1;V:_v1;var r:_r);var i:_i;
begin j:=j + 1 ; s := copy(Matriz_s,li,i-li);
begin r:=0;
QxQ[ii,j]:= f(s,0);Li := i +1;
for i:=1 to Tope do
end;
r:=r+v[i]*v1[i];
end;
//Filas:=ii; Columnas := j;
end;
end;
Procedure Mat_Mat(A:_m;B:_M;var C:_m);var i,j,k:_i; v:_r;
//////////////////////////////////////////////////
begin
procedure TForm_Direcion_Conjugada1.Button2Click(Sender: for i:=1 to Tope do
TObject);
for j:=1 to Tope do
begin close end;
begin v:=0; for k:=1 to Tope do v:=v+A[i,k]*B[k][j];
C[i][j]:=v;
procedure
TForm_Direcion_Conjugada1.FormCreate(Sender:
end;
TObject);
end;
begin memo3.Clear; memo2.Text:=' [ 5, 3 ]';
Procedure a_vec(a:_r;V:_v1;var v1:_v1);var i:_i;
memo1.Text:= ' x^2 - x*y+ 2*y^2 - y '
begin
end;
for i:=1 to Tope do v1[i]:= v[i]*a;
procedure TForm_Direcion_Conjugada1.Button1Click(Sender: end;
TObject); var s : _s;
procedure Solucion_direcciones_conjugadas; var x,y : _r; i:_i;
fxi : array[0..5] of _s; i, k : _i;
begin k:=0;
v0, vk, vx, gk, gk1, b, d0 : _v1; error, Alfa, Beta : _r;
Mat_vec(QxQ, V0, gk); s:='';
for i:=1 to tope do
function f(s:_s;v:_v1):_r;
begin
begin //' x^2 - x*y+ 2*y^2 - y '
gk[i]:=b[i]+gk[i];
f:=v[1]*v[1]-v[1]*v[2]+2*v[2]*v[2]-v[2];
s:=s+' g = '+FloatToStr(gk[i]);
end;
d0[i]:=-gk[i];
Procedure Gradiente(v:_v1;var g:_v1);
end;
begin //' x^2 - x*y+ 2*y^2 - y '
memo3.Lines.Add(' '+s);
g[1] := 2*v[1]-v[2];
repeat k:=k+1;
g[2] := -v[1]+4*v[2]-1;
Vec_Vec(d0,gk,x);
g[3] := 0;
Mat_vec(QxQ, d0, vk);
end;
Vec_Vec(d0,vk,y);
procedure b_b(v:_v1;var b:_v1);
Alfa:=-x/y;s:=''; s:=IntTostr(k)+' ';
begin fillchar(v,sizeof(v),0); b:=v; Gradiente(v, b );
for i:=1 to Tope do
end;
begin
Procedure MatQ(var q: _m);
vx[i]:=v0[i]+Alfa*d0[i];
begin fillchar(q,sizeof(q),0);
s:=s+' x = '+FloatToStrF(vx[i],ffFixed
,15,7)
q[1,1]:=2; Q[1,2]:=-1;
end;
Q[2,1]:=Q[1,2];
Mat_vec(QxQ, vx, vk);
Q[2,2]:=4;
for i:=1 to Tope do
end;
Angel Sangiacomo C.
F. Ayres H. 95
Capítulo 3
begin
gk1[i] := vk[i]+b[i];
s:=s+' g = '+FloatToStrF(gk[i],ffFixed, 15,7)
end;
s:=s+' f(x) = '
+FloatToStr(f(s,vx) );
memo3.Lines.Add(' '+s);
Mat_vec(QxQ, d0, vk);
Vec_Vec(gk1,vk,x);
Beta:= x/y; y:=0;
for i:=1 to Tope do
begin d0[i] := -gk1[i]+Beta*d0[i];
y:=y+sqr(vx[i]-v0[i])
end;
y:=sqrt(y);
v0:=vx; gk:=gk1;
if k>kk then Break;
until y<error
end;
begin {Procedure Principal} Tope :=2;
FillChar(v0,sizeof(v0),0);vx:=v0; vk:=v0;
gk:=v0; gk1:= vx; b:=vx; d0:=vx;
kk:=StrToInt(Edit1.Text);
error:=StrToFloat(Edit2.Text);
Matriz_s:=Memo1.Text;
Minus(Matriz_s,fxi[0]);
memo3.Lines.Add(' f( x ) = '+fxi[0]);
memo3.Lines.Add(' M# de variables = '+IntToStr(Tope));
Matriz_s:=Memo2.Text;
Valor_Matriz(Sender);
v0:=QxQ[1];s:='';
for i:=1 to Tope do
s:=s+' '+FloatToStr(v0[i])+' ;';
if s[length(s)]=';' then delete(s,length(s),1);
Memo3.Lines.Add(' v0 = ['+s+' ]');
MatQ( QxQ ); b_b( v0, b );
Solucion_direcciones_conjugadas;
Memo3.Lines.Add(' Solución');s:='';
for i:=1 to Tope do
s:=s+' x= '+FloatToStrF(v0[i],ffFixed, 15,7);
for i:=1 to Tope do
s:=s+' g= '+FloatToStrF(gk[i],ffFixed, 15,7);
s:=s+' f(x) = '+FloatToStr(f(Fxi[0],v0));
Memo3.Lines.Add(s);
end;
procedure TForm_Direcion_Conjugada1.Button3Click(Sender:
TObject);
begin Memo3.Clear; end;
end.
Verificación del algoritmo
Angel Sangiacomo C.
Introducción a la Optimización No Lineal
Para verificar si un algoritmo es
de dirección conjugada, se
necesita comprobar que los
vectores {dk} son ortogonales Q.
Es más fácil demostrar esto
demostrando
simultáneamente
otras propiedades del algoritmo.
Esto se hace en el teorema
siguiente, donde la notación [d0,
d1, d2, ..., dk] se utiliza para
denotar el subespacio generado
por los vectores d0, d1, d2, ..., dk.
Teorema del gradiente
conjugado
El algoritmo del gradiente
conjugado, (17) a (20), es un
método de dirección conjugada.
Si no termina en xk, entonces
a) [ g 0 , g1 ,..., g k ] = [ g 0 , Qg 0 ,..., Q k g 0 ]
k
b) [ d 0 , d1 ,..., d k ] = [ g 0 , Qg 0 ,..., Q g 0 ]
c) d k Qd i = 0 para i ≤ k − 1
T
T
T
d) α k = g k g k / d k Qd k
T
T
e) β k = g k +1 g k +1 / g k g k .
Prueba:
Primero, se prueban simultáneamente a), b) y c) por inducción.
Es evidente que son verdaderas
para k=0. Suponiendo ahora que
son verdaderas para k, se
demostrará que son verdaderas
para k+1. Se tiene
F. Ayres H. 96
Capítulo 3
g k +1 = g k + α k Qd k .
Por la hipótesis de inducción, g k
y Qd k pertenecen a [g0, Qg0,
Q2g0, ..., Qk+1g0], el primero por
a) y el segundo por b). Así,
g k +1 ∈ [ g 0 , Qg 0 ,..., Q k +1 g 0 ] .
Además, g k +1 ∉ [ g 0 , Qg 0 ,..., Q k g 0 ]
= [d 0 , d1 ,..., d k ] , pues en otro caso,
gk+1=0 ya que para cualquier
método de dirección conjugada
gk+1 es ortogonal a [d 0 , d1 ,..., d k ] .
(La hipótesis de la inducción en
c) garantiza que el método es de
dirección conjugada hasta xk+1).
Así, se concluye que
[ g 0 , g1 ,...g k +1 ] = [ g 0 , Qg0 ,..., Q k +1 g 0 ] ,
lo que demuestra a).
Para demostrar b), se escribe
d k +1 = − g k +1 + β k d k ,
Introducción a la Optimización No Lineal
conjugada hasta xk+1, y por el
teorema del subespacio en
expansión, que garantiza que gk+1
es ortogonal a [d0, d1, d2, ..., dk+1].
El segundo término se anula por
la hipótesis de inducción en c).
Esto demuestra c) y también que
el método es de dirección
conjugada.
Para demostrar d), se tiene
− g kT d k = g kT g k − β k −1 g kT d k −1 ,
y el segundo término es cero por
el teorema de subespacio en
expansión.
Por último, para demostrar e), se
T
observa que g k +1 g k = 0 , pues
g k ∈ [d 0 ,..., d k ] y gk+1 es ortogonal
a [d 0 ,..., d k ] . Así, como
Qd k =
1
αk
(g k +1 − g k ) ,
y b) se obtiene de inmediato de a) resulta
y de las hipótesis de inducción en
1 T
T
g
Qd
=
g k +1 g k +1 . ♦
k
+
1
k
b).
αk
A continuación, para probar c) se
tiene
Los aparatos a) y b) de este
T
T
T
d k +1Qd i = − g k +1Qd i + β k d k Qd i . teorema son una formulación
Para i=k, el lado derecho es cero formal de la relación entre los
por la definición de βk. Para i<k, vectores dirección y los vectores
ambos términos se anulan. El gradiente. El aparato c) es la
primer término se anula porque ecuación que verifica que el
es
de
dirección
Qd i ∈ [d1 , d 2 ,...d i +1 ] , la hipótesis de método
inducción que garantiza que el conjugada. Los aparatos d) y e)
método
es
de
dirección son identidades, que establecen
fórmulas opcionales para αk y βk
Angel Sangiacomo C.
F. Ayres H. 97
Capítulo 3
Introducción a la Optimización No Lineal
que con frecuencia son más cada polinomio Pk determina una
apropiadas que las originales.
sucesión de xk. Se tiene
xk +1 − x* = x0 − x * + pk (Q )Q( x0 − x *)
= [I + Qpk (Q )]( x0 − x *) ,
El método G-C como un proceso
de donde
optimal
E ( x k +1 ) =
(22)
( xk +1 − x *)T Q( xk +1 − x *)
A continuación se describe un
T
2
1
punto de vista especial que da = 2 (x0 − x *) Q[I + QPk (Q )] (x0 − x *) .
rápidamente unos resultados de
convergencia muy consistentes
para el método de los gradientes
conjugados. El fundamento del
punto de vista es el aparato b) del
teorema del gradiente conjugado.
Este resultado establece que los
espacios βk sobre los que se
minimiza sucesivamente están
determinados por el gradiente
y
por
sus
original
g0
multiplicaciones por Q. Cada
paso del método incluye una
potencia
adicional
de
Q
multiplicando por g0. Esta es la
observación que se tendrá en
cuenta.
A continuación se presenta un
nuevo enfoque general para
resolver
el
problema
de
minimización cuadrático. Dado
un punto inicial arbitrario x0, sea
1
2
(23)
Ahora se puede plantear el
problema de elección del
polinomio Pk para minimizar
E(xk+1) con respecto a todos los
polinomios posibles de grado k.
Sin embargo, expandiendo (21),
se obtiene
xk +1 = x0 + γ 0 g 0 + γ 1Qg 0 + ...
... + γ k Q k g 0 ,
(24)
donde las γ i son coeficientes de
Pk, considerando
Bk +1 = [d 0 , d1 ,..., d k ] = [g 0 , Qg 0 ,..., Q k g 0 ],
el vector xk +1 = x0 + α 0 d 0 + α1d1 + L
L + αk dk ,
generando por el
método de los gradientes
conjugados, tiene precisamente
esta forma; es más, según el
teorema del subespacio en
expansión, los coeficientes γ 0
determinados por el proceso del
xk +1 = x0 + Pk (Q )g 0 ,
(21) gradiente conjugado con tales
donde Pk es un polinomio de que minimizan E(xk+1). Así, pues,
grado k. La elección de un el problema de elegir la Pk
conjunto de coeficientes para optimal se resuelve por el
Angel Sangiacomo C.
F. Ayres H. 98
Capítulo 3
procedimiento del gradiente
conjugado.
Lógicamente,
la
relación
explícita entre los coeficientes
optimales γ i de Pk y las
constantes αi, βi asociadas con el
método del gradiente conjugado
es algo complicada, como lo es la
relación entre loa coeficientes de
xk y la de Pk+1. La consistencia
del método del gradiente
conjugado está en que, a medida
que
avanza,
resuelve
sucesivamente los pro-blemas
polinomiales optimales al tiempo
que sólo actualiza una pequeña
cantidad de información.
El desarrollo anterior se resume
en el práctico teorema siguiente.
Introducción a la Optimización No Lineal
x1 = x0 + α 0 d 0
x2 = x1 + α1g1 = x0 + α 0 g 0 + α1 g1
= x0 + α 0 g 0 + α1Qg 0
(1)
Por el subespacio en expansión
sabemos que:
[d 0 , d1 ,L, d k ] = [ g 0 , Qg 0 ,L, Q k g 0 ] (2)
xk +1 = x0 + γ 0 g 0 + L + γ k Q k g 0
(3)
xk +1 = x0 + Pk (Q ) g 0 ,
donde Pk es un polinomio de
grado k, el problema es elegir de
conjunto de coeficientes así dado
x0 inicial arbitrario se tiene:
xk +1 − x* = x0 − x * + Pk (Q)Q( x0 − x*)
xk +1 − x* = [ I + QPk (Q)]( x0 − x*)
ahora para minimizar tomando el
error E ( x) = 12 ( x − x*)T Q( x − x*) .
Entonces
E ( xk +1 ) = 12 ( xk +1 − x*)T Q ( xk +1 − x*) ,
reemplazando tenemos pues:
Teorema 1
T
1
El punto xk+1 generado por el E ( xk +1 ) = 2 ( x0 − x*) Q[ I
método del gradiente conjugado,
+ QPk (Q)]2 ( x0 − x*)
satisface
ahora para la elección de Pk que
T
1
E ( xk +1 ) = mín 2 ( x0 − x *) Q
minimice E(xk+1) se tiene (2 y 3)
Pk
que se minimiza con los αidi
⋅ [I + QPk (Q )]2 ( x0 − x *) . (25)
respectivamente, o sea:
donde el mínimo se toma E ( x ) = Mín 1 ( x − x*)T
0
k +1
Pk 2
respecto a todos los polinomios
Pk de grado k.
⋅ Q[ I + QPk (Q )]2 ( x0 − x*) ♦
Prueba:
Dado el proceso x1 = x0 + αg 0 ; Cotas en la Convergencia
d0 = g0 ;
Angel Sangiacomo C.
F. Ayres H. 99
Capítulo 3
Introducción a la Optimización No Lineal
Para una mejor utilización, es
conveniente expresar el teorema
1 en función de los vectores y
valores propios de la matriz Q.
Supóngase que el vector x0–x* se
escribe en la expansión de
vectores propios
x0 − x* = ξ1e1 + ξ 2 e2 + ... + ξ n en ,
donde la ei son vectores propios
normalizados de Q. Entonces,
como
Q ( x0 − x *) = λ1ξ1e1 + λ2ξ 2 e2 + ... + λnξ n en
y como los vectores propios son
mutuamente ortogonales, se tiene
E ( x0 ) =
1
2
(x0 − x *)T Q(x0 − x *)
1
2
=
n
∑ λ iξi2 ,
(26)
i −1
donde las λi son los valores
propios correspondientes de Q.
Aplicando las mismas manipulaciones a (25), se tiene que
para cualquier polinomio Pk de
grado k, se cumple
E (xk +1 ) ≤
1
2
n
∑ [1 + λi Pk (λi )]2 λiξi2 .
i =1
Entonces, resulta que
E ( xk +1 ) ≤
[
i
n
( )] ∑
máx 1 + λi Pk λi 2 12
λ
de donde, por último,
i =1
λiξ i2
E ( xk +1 ) ≤ máx[1 + λi pk (λi )]2 E ( x0 ) .
,
Este resultado se resume en el
siguiente teorema.
Teorema 2
En el método de los gradientes
conjugados, se tiene
E (xk +1 ) ≤ máx[1 + λi Pk (λi )] 2 E (x0 )
λi
(27)
para cualquier polinomio Pk de
grado k, donde el máximo se
toma sobre todos los valores
propios λi de Q.
Prueba:
De la teoría de valor propio de Q,
como es definido positivo se
tiene que un vector x0–x* se
puede representar como
x0 − x* = ξ1e1 + ξ 2e2 + L + ξ n en ,
donde ei son vectores propios
normalizados de Q. Ahora
aplicando Q a la izquierda
tenemos:
Q ( x0 − x*) = λ1ξ1e1 + λ 2ξ 2 e2 +
L + λnξ n en ,
y los vectores propios son
mutuamente ortogonales se tiene:
E ( x0 ) =
1
2
(x0 − x *)T Q (x0 − x *)
=
1
2
n
∑ λiξi2
i −1
λi
Angel Sangiacomo C.
F. Ayres H. 100
Capítulo 3
Introducción a la Optimización No Lineal
Aplicando E(xk+1) tenemos para conjugada E(xk+1) es menor que
cualquier polinomio Pk de grado cualquier otra xk+1 de la forma
k,
(24), se llega a la conclusión
n
deseada.
E ( xk +1 ) ≤ 12 ∑ [1 + λi Pk (λi )]2 λiξ i2
Como norma, cuando se tiene
i =1
alguna información sobre la
y con mayor razón se tiene
n
estructura del valor propio de Q,
2 1
E (xk +1 ) ≤ máx[1 + λi Pk (λi )] 2 ∑ λiξ i2 esta
se puede aprovechar
λi
i =1
construyendo
un
polinomio
♦
adecuado Pk para utilizar en (27).
Esta forma de considerar el Por ejemplo, supóngase que se
método del gradiente conjugado supiera que Q tiene sólo m<n
como un proceso optimal se valores
propios
distintos.
utiliza después. Aquí se observa Entonces es evidente que
que ello implica el hecho no muy mediante una elección adecuada
claro de que los pasos del método de Pm-1 se podría hacer que el
del gradiente conjugado son por polinomio de grado m-ésimo
lo menos tan buenos como lo 1 + λPm −1 (λ ) tuviera sus m ceros
serían los del descenso de mayor en los m valores propios.
pendiente desde el mismo punto. Utilizando
este
polinomio
Para ver esto, supóngase que xk especial en (27), se demuestra
se ha calculado por el método del que E(xm)=0. Así, la solución
gradiente conjugado. Por (24), se optimal se obtendrá como
sabe que xk tiene la forma
máximo en m, en lugar de n
xk = x0 + γ 0 g 0 + γ 1Qg 0 + ...
pasos.
... + γ k −1Q k −1 g 0 .
Ahora si xk+1 se calcula desde xk
mediante el descenso de mayor
pendiente,
entonces
x k +1 = x k − α k g k para algún αk. A
la vista del aparato a) del teorema
del gradiente conjugado, xk+1
tendrá la forma (24). Como para
el método de la dirección
Angel Sangiacomo C.
Extensión a
cuadráticos
problemas
no
El
problema
general
de
minimización sin restricciones en
En
minimizar f(x)
F. Ayres H. 101
Capítulo 3
Introducción a la Optimización No Lineal
se puede tratar por aproximaciones
adecuadas de algoritmo del gradiente
conjugado, lo que se puede hacer de
varias formas, dependiendo, en parte,
la elección de las propiedades de f que
se calculan fácilmente. En esta
sección, se analizan tres métodos, y en
la siguiente, otro.
Aproximación cuadrática
En el método de aproximación
cuadrática,
se
hacen
las
siguientes asociaciones a xk:
g k ↔ ∇f ( x k )T ,
Q ↔ F (xk ) ,
gradiente conjugado no suelen
terminar en n pasos. Por tanto,
sólo se pueden seguir buscando
nuevas direcciones de acuerdo
con el algoritmo y acabar sólo
cuando se alcanza un criterio de
terminación. Además, el proceso
de gradiente conjugado también
se puede interrumpir después de
n o n+1 pasos y ser iniciado de
nuevo con un paso de gradiente
puro. Como la conjugación Q de
los vectores del algoritmo del
gradiente conjugado puro depende de la dirección inicial, que es
la del gradiente negativo, parece
preferible el procedimiento de
volver a comenzar, que es el que
incluye siempre. Así pues, el
algoritmo del gradiente conjugado general se define como sigue:
y usando estas asociaciones,
evaluadas de nuevo en cada paso,
se pueden calcular todas las
cantidades
necesarias
para
implementar el algoritmo del
gradiente conjugado básico. Si f
es cuadrática, estas asociaciones
son identidades, de modo que el Algoritmo
del
Caso
No
algoritmo general obtenido al cuadrático
utilizarlas es una generalización
del esquema del gradiente Paso 0: Definir f (x) y F (x) {Función y Hessiano }
dado arbitrario}
conjugado. Esto es análogo a la Paso 1: Entrar x0 , {Punto inicial,
T
filosofía base del método Paso 2: Hacer g 0 = ∇f (x0 ) y d 0 = − g 0
Newton, donde en cada paso la Paso 3: Hacer d 0 = − g 0 ,
xk = x0 , d k = d 0 , g k = g 0
solución del problema general se
aproxima por la solución de un Paso 4: Para k = 0 hasta n − 1 hacer
Paso 5: Fk = F ( xk )
problema cuadrático puro con
gT d
Paso 6: α k = − T k k
estas mismas asociaciones.
d k Fk d k
Cuando se aplican a problemas
Paso 7: xk +1 = xk + α k d k
no cuadráticos, los métodos del
Paso 8: g k +1 = ∇f ( xk +1 ) ;
Angel Sangiacomo C.
F. Ayres H. 102
Capítulo 3
Paso 9: si k = n − 1 entonces hacer
gT F d
β k = kT+1 k k ,
d k Fk d k
d k +1 = − g k +1 + β k d k
Paso 10: en otro caso xk = xk +1 ,
d k = − g k +1 , g k = g k +1 .
Paso 11: xk = xk +1 , d k = d k +1 , g k = g k +1 .
Paso 12: Mientras no se cumpla la tolerancia
ir al paso (4)
Paso 13: Parar.
Introducción a la Optimización No Lineal
algoritmo no es globalmente
convergente.
Métodos de búsqueda lineal
Se puede evitar el uso directo de
Q ↔ F ( xk ) .
la
asociación
Primero, en lugar de utilizar la
fórmula para αk en el paso (6) del
algoritmo anterior, se halla αk
Problemas
con una búsqueda lineal que
Usando el algoritmo anterior minimice el objetivo. Esto
concuerda con la fórmula del
resolver:
caso cuadrático. Segundo, la
2
2
a) f ( x, y ) = 2 x − 3 xy + 3 y − x + 2 y ,
fórmula para βk en el paso (9) se
2 2
2
b) f ( x, y ) = 100( y − x ) + (1 − x ) ,
sustituye por una fórmula
f
(
x
,
y
)
=
sin
(
x
)
+
cos(
y
)
c)
.
diferente, que es, no obstante,
d) f ( x, y ) = ysin( x) + x cos( y )
equivale a la del paso (9) del caso
e) Hacer
un
programa
en cuadrático.
computadora para el algoritmo
El primero de los métodos
anterior.
propuestos fue el método de
Una característica atractiva del Fletcher - Reeves, que en el
algoritmo es que, al igual que en aparato (9) utilizó el teorema del
la forma pura del método de gradiente conjugado, es decir,
Newton, no se requiere búsqueda
g kT+1 g k +1
βk =
lineal en ninguna etapa. Además,
.
T
g
g
k k
el algoritmo converge en un
número finito de pasos para un El algoritmo completo (utilizando
problema
cuadrático.
Las nuevo inicio) es:
características no deseadas son
que F(xk) debe evaluarse en cada Algoritmo de Fletcher-Reeves
punto, lo que suele ser no Paso 0: Definir f ( x)
{Función }
práctico, y que, de esta forma, el Paso 1: Entrar xo ,
{Punto inicial, dado arbitrario}
Angel Sangiacomo C.
F. Ayres H. 103
Capítulo 3
Introducción a la Optimización No Lineal
Paso 2: Hacer g o = ∇f ( xo )T y d o = − g o
Paso 3: Hacer d o = − g o , xk = x0 ,
d k = d0 , gk = g0
Paso 4: Para k = 0 hasta n − 1 hacer
Paso 5: α k ∈{α mín f ( xk + αd k )}
α <∞
Paso 6: xk +1 = xk + α k d k
Paso 7: g k +1 = ∇f ( xk +1 ) ;
Paso 8: si k = n − 1 entonces hacer
gT g
β k = k +T1 k +1 ,
gk gk
d k +1 = − g k +1 + β k d k
Paso 9: en otro caso xk = xk +1 ,
d k = − g k +1 , g k = g k +1 .
Paso 10: xk = xk +1 , d k = d k +1 , g k = g k +1 .
Paso 11: Mientras no se cumpla la tolerancia
ir al paso (4)
Paso 12: Parar.
se usa para determinar βk. De
nuevo, esto da como resultado un
valor idéntico a la fórmula
estándar del caso cuadrático. La
evidencia experimental parece
favorecer al método de PolakRibiere sobre otros métodos de
este tipo general.
Algoritmo de Polak - Ribiere
Paso 0: Definir f ( x)
Paso 1: Entrar xo ,
Paso 2: Hacer g o = ∇f ( xo )T y d o = − g o
Paso 3: Hacer d o = − g o , xk = x0 ,
d k = d0 , g k = g0
Paso 4: Para k = 0 hasta n − 1 hacer
Paso 5: α k ∈{α mín f ( xk + αd k )}
Paso 6: xk +1 = xk + α k d k
Usando el algoritmo anterior
resolver:
2
Paso 7: g k +1 = ∇f ( xk +1 ) ;
Paso 8: si k = n − 1 entonces hacer
2
a) f ( x, y ) = 2 x − 3xy + 3 y − x + 2 y ,
2 2
2
b) f ( x, y ) = 100( y − x ) + (1 − x) ,
c) f ( x, y ) = sin ( x ) + cos( y ) .
d) f ( x, y ) = ysin ( x ) + x cos( y )
Hacer
un
programa
en
computadora para el algoritmo
anterior.
Otro método importante de este
tipo es el método de Polak Ribiere, donde
βk =
{Punto inicial, dado arbitrario}
α <∞
Problemas
e)
{Función }
( g k +1 − g k )T g k +1
Angel Sangiacomo C.
g kT g k
βk =
( g k +1 − g k )T g k +1
,
g kT g k
d k +1 = − g k +1 + β k d k
Paso 9: en otro caso xk = xk +1 ,
d k = − g k +1 , g k = g k +1 .
Paso 10: xk = xk +1 , d k = d k +1 , g k = g k +1 .
Paso 11:
Mientras no se cumpla la
tolerancia
ir al paso (4)
Paso 12: Parar.
Problemas
a)
Construir el algoritmo para el
método de Polak-Ribiere.
F. Ayres H. 104
Capítulo 3
b)
c)
Hacer
un
programa
en
computadora para el algoritmo
anterior.
Resolver para las funciones de
los problemas anteriores
MÉTODOS CUASI NEWTON
Aquí se presenta otro enfoque al
desarrollo de métodos entre el
descenso de mayor pendiente y el
método de Newton. Trabajando
de nuevo con la hipótesis de que
la evaluación y utilización de la
matriz hessiana no es práctica o
es costosa, la idea de subyacente
en los métodos cuasi Newton es
utilizar una aproximación a la
inversa del hessiano, en lugar de
la inversa verdadera que requiere
el método de Newton. La forma
de la aproximación varía según
los distintos métodos que van
desde los más sencillos, donde
permanece fija durante todo el
proceso iterativo, hasta los más
avanzados, donde se construyen
aproximaciones mejoradas basadas en la información recopilada
durante el proceso de descenso.
Los métodos cuasi Newton que
constituyen una aproximación a
la inversa del hessiano son
analíticamente los métodos más
Angel Sangiacomo C.
Introducción a la Optimización No Lineal
sofisticados tratados en este libro
para la resolución de problemas
sin restricciones y presentan la
culminación del desarrollo del
algoritmo mediante el análisis
detallado
del
problema
cuadrático. Lógicamente, las
propiedades de convergencia de
estos métodos son algo más
difíciles de descubrir que las de
métodos más sencillos. Sin
embargo, se pueden precisar sus
características más importantes
con las mismas técnicas básicas
anteriores.
Durante el análisis, se desarrollarán
dos
generalizaciones
importantes del método del
descenso de mayor pendiente y
su teorema de la tasa de
convergen-cia correspondiente.
El primero se estudia en esta
parte, y modifica el descenso de
mayor pendiente tomando como
vector
dirección
una
transformación definida positiva
del gradiente negativo. El
segundo se analiza un poco
después, y es una combinación
del descenso de mayor pendiente
y del método de Newton. Estos
dos métodos fundamentales
tienen
propiedades
de
convergencia análogas a las del
descenso de mayor pendiente.
F. Ayres H. 105
Capítulo 3
Introducción a la Optimización No Lineal
descenso de mayor pendiente, no
sorprender
que
sus
Método de Newton modificado debe
propiedades de convergencia
Un proceso iterativo básico para sean de carácter análogo a los
resultados anteriores. Como es
resolver el problema
usual, se deduce la tasa real de
minimizar f(x),
que
incluye
como
casos convergencia teniendo en cuenta
especiales la mayoría de los el problema cuadrático estándar.
anteriores es
f ( x ) = 12 x T Qx − b T x ,
(2)
x k +1 = x k − α k S k ∇f ( x k )T
,
(1)
donde Sk es una matriz simétrica
de n×n y donde, como es usual,
αk se elige para minimizar f(xk+1).
Si Sk es la inversa del hessiano de
f, se obtiene el método de
Newton, mientras que si Sk=I, se
tiene el descenso de mayor
pendiente. Parece buena idea, en
general, elegir Sk como una
aproximación a la inversa del
hessiano, y ésa es la idea que se
analiza en esta sección.
Primero, se observa que, al igual
que en la referente al método de
Newton anteriormente visto, para
garantizar que el proceso (1) sea
un método descendente para
valores pequeños de α, en
general, es necesario que Sk sea
definida positiva. Por tanto,
siempre se impondrá esa
condición.
Debido a la analogía del
algoritmo (1) (fórmula (1)) con el
Angel Sangiacomo C.
donde Q es simétrica y definida
positiva. Para este caso, se puede
hallar una expresión explícita
para αk en (1). El algoritmo se
convierte en
x k +1 = x k − α k S k g k ,
(3 a)
donde
g k = Qxk − b
(3 b)
αk =
g kT S k g k
g kT S k QS k g k
.
(3 c)
Entonces, se puede deducir la
tasa de convergencia de este
algoritmo ampliando algo el
análisis realizado por el método
del descenso de mayor pendiente.
Teorema del método de Newton
modificado (Caso cuadrático).
Sea x* el único punto mínimo de
f,
y
defina
E ( x) = 12 ( x − x*)T Q( x − x*) .
Entonces, para el algoritmo (3)
(las fórmulas (3-a, b, c)) en todo
paso k se cumple que
F. Ayres H. 106
Capítulo 3
Introducción a la Optimización No Lineal
2
⎛ B − bk ⎞
⎟⎟ E ( xk ) ,
E ( xk +1 ) ≤ ⎜⎜ k
B
+
b
k ⎠
⎝ k
(4)
El caso es el mismo para matrices Congruentes
(Matrices de transición).
donde bk y Bk son, respectiva- El anterior teorema apoya la
mente, los valores propios menor noción intuitiva de que para el
problema cuadrático se debería
y mayor de la matriz SkQ.
intentar que Sk estuviera cerca de
Prueba:
Q-1, pues así bk y Bk estarían
Por sustitución directa, se tiene cerca de la unidad y la
E ( xk ) − E ( xk +1 )
( g kT S k g k ) 2
convergencia sería rápida. Para
= T
T
−
1
E ( xk )
( g k S k QS k g k )( g k Q g k ) una
función
objetivo
no
1/ 2
1/ 2
Al hacer Tk = S k QS k
y cuadrática f, el análogo a Q es el
hessiano F(x), de ahí que se debe
p k = S 1k / 2 g k , resulta
intentar que Sk esté cerca de
E ( xk ) − E ( xk +1 )
( PkT Pk ) 2
. F(xk)-1.
= T
−
1
T
E ( xk )
( Pk Tk Pk )( Pk Tk Pk )
Dos
observaciones
pueden
De
la
desigualdad
de ayudar a dar una perspectiva
Kantorovich, es fácil obtener
adecuada al resultado anterior. La
2
⎛ Bk − bk ⎞
primera observación es que el
⎟⎟ E ( x k ) ,
E ( x k +1 ) ≤ ⎜⎜
⎝ Bk + bk ⎠
algoritmo (1) (fórmula (1)) y el
donde bk y Bk son los valores teorema anterior son simples
propios menor y mayor de Tk. extensiones menores y naturales
S k1/ 2Tk S k−1/ 2 = S k Q ,
Como
se de lo visto en la parte cuadrática
1,
desigualdad
de
observa que SkQ es similar a Tk, (Lema
por lo que tiene los mismos Kantorovich, etc.) sobre el
descenso de mayor pendiente.
valores propios.
Como tal, el resultado de esta
1/ 2
Nota: el caso S k
existe y siempre es sección se puede considerar no
posible por ejemplo si Q = I ; en otro caso como una idea nueva, sino como
también:
una extensión del resultado
⎡ 10 − 5⎤
básico del descenso de mayor
Sk = ⎢
,
⎥
5⎦
⎣− 5
pendiente.
La
segunda
entonces
observación es que, aplicado de
⎡ 3 −1 ⎤
manera adecuada, este sencillo
S k1 / 2 = ⎢
,
⎥
2⎦
resultado puede caracterizar
⎣− 1
rápidamente las propiedades de
Angel Sangiacomo C.
F. Ayres H. 107
Capítulo 3
Introducción a la Optimización No Lineal
convergencia
de
algunos
algoritmos bastante complejos.
Así, en lugar de tratar el teorema
anterior como un resultado
aislado relativo a una forma
determinada de algoritmo, debe
considerarse
como
un
instrumento general para el
análisis de convergencia. El
teorema proporciona una mejor
comprensión de varios métodos
cuasi Newton estudiados en este
capítulo.
La idea fundamental en que
basan la mayoría de los métodos
cuasi Newton es el intento de
construir la inversa del hessiano,
o una aproximación a ella,
utilizando
la
información
recopilada durante el desarrollo
del proceso de descenso.
Entones, se usa la aproximación
Hk actual en cada etapa, para
definir la siguiente dirección de
descenso, haciendo Sk=Hk en el
método de Newton modificado.
Idealmente, las aproximaciones
convergen a la inversa del
Un método clásico
hessiano a partir de la
información
del
gradiente
Esta sección se concluye obtenida en varios puntos.
mencionando el método de
Newton modificado clásico un Sea f una función en En con
método estándar para aproximar segundas derivadas parciales
el método de Newton sin evaluar continuas. Si para dos puntos
F(xk)-1 para cada k. Se hace
xk
x k +1 ,
se
definen
−1
T
xk +1 = xk − α k [F (x0 )] ∇f ( xk ) . (5)
g k +1 = ∇f ( xk +1 )T , g k = ∇f ( xk )T y
En este método, el hessiano en el
P = x k +1 − x k , entonces
punto inicial x0 se utiliza en todo k
g k +1 − g k ≅ F ( x k )Pk .
(6)
el proceso la efectividad de este
procedimiento se rigen en gran Si el hessiano F es constante,
medida por la rigidez de resulta
q k ≡ g k +1 − g k = Fp k , (7)
transformación del hessiano, es
decir, por la magnitud de las y se observa que la evaluación
terceras derivadas de f.
del gradiente en dos puntos
proporciona información sobre F.
Si se conoce n direcciones
Construcción de la inversa
linealmente independientes p0, p1,
Angel Sangiacomo C.
F. Ayres H. 108
Capítulo 3
Introducción a la Optimización No Lineal
p2, ..., pn-1 y las correspondientes
q k , entonces F está determinado
de manera única. De hecho,
haciendo que P y Q sean las
matrices de n×n con columnas Pk
y qk, respectivamente, resulta
F = QP −1 .
(8)
Es natural tratar de construir
aproximaciones sucesivas Hk a
F-1 basadas en los datos
obtenidos de los primeros k pasos
de un proceso de descenso, de
manera que si F fuera constante,
la aproximación sería compatible
con (7) para esos pasos. En
general, si F fuera constante, Hk+1
cumpliría
H k +1qi = pi , 0 ≤ i ≤ k .
(9)
Después de n pasos linealmente
independientes se tendría Hn=F-1.
Para cualquier k<n, el problema
de construir una Hk adecuada,
que en general sirve como
aproximación al inverso del
hessiano y en el caso de F
constante satisface (9), admite
infinidad de soluciones, pues hay
más grados de libertad que
restricciones. Así, un método
determinado puede tener en
cuenta
consideraciones
adicionales. A continuación se
analiza uno de los esquemas más
sencillos propuestos.
Angel Sangiacomo C.
Corrección de rango uno
Como F y F -1 son simétricas, es
normal elegir que Hk, la
sea
aproximación
a
F -1,
simétrica. Se investigará la
posibilidad de definir una
recursión de la forma
H k +1 = H k + α k z k z kT ,
(10)
que conserve la simetría. El
vector zk y la constante αk
definen una matriz de rango
(máximo) uno, con la cual se
actualiza la aproximación a la
inversa.
Se seleccionan de modo que
satisfaga (9). Al igualar i a k en
(9) y sustituir (10), resulta
p k = H k +1q k = H k q k + a k z k z kT q k
(11)
pk − H k qk =
ak z k z kT qk
Tomando el producto interno con
q k resulta
qkT H k +1qk = qkT H k qk + ak qkT z k z kT qk
qkT H k +1qk = qkT H k qk + ak (qkT z k )( z kT qk )
o
qkT pk − qkT H k qk = ak ( z kT qk ) 2 .
(12)
Por otro lado con el uso de (11)
llegamos a
( H k +1 − H k ) qk = ak z k z kT qk
( H k +1 − H k )ak qk z k z kT qk = ak ( z k z kT qk )ak ( z k z kT qk )
( H k +1 − H k ) ak ( z kT qk ) 2 = ak ( z k z kT qk ) ak ( z k z kT qk )
F. Ayres H. 109
Capítulo 3
Introducción a la Optimización No Lineal
La demostración se hace por
( p − H k qk )( pk − H k qk )
inducción. Supongamos que es
H k +1 = H k + k
T
2
ak ( z k qk )
verdadero para Hk e i≤k–1. Se
Lo cual, según (12), nos lleva mostró antes que la relación es
finalmente a
verdadera para Hk e i=k. Para
T
( p − H k qk )( pk − H k qk )
i<k
.
=H + k
H
( H k +1 − H k )ak qk zk zkT qk = ( pk − H k qk )( pk − H k qk )T
T
k +1
k
qkT ( pk − H k qk )
(13)
(
)
H k +1qi = H k qi + y k p kT qi − q kT H k qi ,
(16)
donde
Se ha determinado cual debe ser
( p − H k qk )
yk = T k
la corrección de rango uno para
.
qk ( pk − H k qk )
que se satisfaga (9) para i=k.
Falta mostrar que, para el caso en Por la hipótesis de inducción,
que F es constante, también se (16) se convierte en
H k +1qi = pi + y k ( p kT qi − q kT pi ).
satisface (9) para i < k . Esto, a
su vez, implicará que la recursión Del cálculo
de rango uno converge a F -1
qkT = piT F ; F = F T ,
después de n pasos, como
q kT pi = p kT Fp i = p kT qi ,
máximo.
resulta que el segundo término se
anula. ♣
Teorema
Sea F una matriz simétrica fija y Para incorporar la aproximación
supóngase que p0, p1, p2, ..., pk de la inversa del hessiano en un
son vectores dados. definamos procedimiento de descenso y al
los vectores qi = Fpi , i=0, 1, 2, tiempo que se mejora, se calcula
..., k. Comenzando con cualquier la dirección dk de
d k = −H k g k
matriz simétrica inicial H 0 , sea
y
entonces
se
minimiza
( pi − H i qi )( pi − H i qi )T
H i +1 = H i +
. (14) f ( x + α .d ) respecto a α≥0. Esto
k
k
qiT ( pi − H i qi )
xk +1 = xk + α k d k ,
determina
Entonces,
pk = α k d k y gk+1. Entonces, se
pi = H k +1qi para i ≤ k .
(15)
puede calcular Hk+1 de acuerdo
Prueba:
con (13).
Angel Sangiacomo C.
F. Ayres H. 110
Capítulo 3
Este procedimiento simple de
rango
uno
tiene
ciertas
dificultades. Primero, la fórmula
de actualización (13) conserva la
definición positiva solamente si
q kT ( p k − H k q k ) > 0 , lo cual no
puede garantizarse (Pruébese).
Además, aunque q kT ( p k − H k q k )
sea positiva, puede ser pequeña,
lo
que
puede
implicar
dificultades numéricas. Así, aun
siendo un excelente ejemplo
sencillo de como la información
recopilada durante el proceso de
descenso se puede, en principio,
utilizar para actualizar una
aproximación a la inversa del
hessiano, el método de rango uno
tiene algunas limitaciones.
Método de Davidon-FletcherPowell
Introducción a la Optimización No Lineal
del método del gradiente
conjugado y construye la inversa
del hessiano. La inversa del
hessiano se actualiza en cada
paso con la suma de dos matrices
simétricas de rango uno, por lo
que este esquema se conoce
como
procedimiento
de
corrección de rango dos. El
método se denomina a veces
método de la métrica variable,
nombre original sugerido por
Davidon.
El procedimiento que es como un
corolario al teorema anterior, es
como sigue: Comenzando con
cualquier matriz H 0 simétrica
definida positiva, cualquier punto
x0 , y con k = 0 ,
Paso 1: Hágase d k = − H k g k .
Paso 2: Minimícese f ( x k + αd k )
respecto a α ≥ 0 para obtener
xk +1 , pk = α k d k , y g k +1 .
Paso 3: Hágase q k = g k +1 − g k y
El primer esquema, y sin duda
p k p kT H k q k q kT H k
. (17)
H
=
H
+
−
k +1
k
uno de los más ingeniosos, para
p kT q k
q kT H k q k
construir la inversa del hessiano Actualícese k y vuélvase al paso 1.
lo
propuso
originalmente
alternativo
de
Davidon y fue más tarde Algoritmo
desarrollado por Fletcher y Davidon-Fletcher-Powell
Powell. Tiene la fascinante y
Paso 1: Definir f (x)
atractiva propiedad de que, para Paso 2: Dar H , {Matriz Simétrica Definida
0
un objetivo cuadrático, genera
Positiva}
x
,
Err
{
punto
inicial
arbitrario y
Paso
3:
Entrar
simultáneamente las direcciones
0
error o tolerancia}
Angel Sangiacomo C.
F. Ayres H. 111
Capítulo 3
Introducción a la Optimización No Lineal
Paso 4: Hacer g k = ∇f ( x0 ) , k = 0 .
Paso 5: Hacer d k = − H k g k
Paso 6: Hacer α k ∈ {α mín f ( xk + αd k )}
0 ≤α < ∞
Paso 7: Hacer xk +1 = xk + α k d k ,
paso 8: Hacer pk = α k d k ,
Paso 9: Hacer g k +1 = ∇f ( xk +1 ) .
Paso 10: Hacer qk = g k +1 − g k ,
T
T
Paso 11: Hacer H = H + pk pk − H k q k q k H k
k +1
k
T
T
pk qk
qk H k qk
Paso 12: Si xk +1 − xk < Err entonces
Paso 13:
Paso 14:
Paso 15:
Paso 16:
ir al paso (15)
Hacer H k = H k +1 , xk = xk +1 ,
g k = g k +1 ; k = k + 1
Ir al paso (5)
Publicar la solución xk +1
Parar.
Programa en Delphi Pascal de
Davidon-Fletcher-Powell
El dialogo de la interface es la misma del
de direcciones conjugadas.
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls;
type
_r=extended; _i=integer; _s=string;
_v1=array[0..28] of _r; _m=array[0..28] of _v1;
TForm11 = class(TForm)
Memo1: TMemo; Memo2: TMemo; Button2: TButton;
Memo3: TMemo;
Edit1: TEdit;
Edit2: TEdit;
Button3: TButton;
Label1: TLabel;
Label2: TLabel; Label3: TLabel;
Label4: TLabel;
Button4: TButton;
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
Procedure Valor_Matriz(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Deri_Parcial; Procedure MatQ(var q: _m);
Procedure Convertidor_a_Variables_estandar(var s:_s);
procedure Button4Click(Sender: TObject);
Procedure Datos(sender: TObject);
Procedure Publicar(m:_m);
end;
var
Form11: TForm11;
Tope :_i;
kk : _i;
implementation
{$R *.DFM}
var Matriz_s:_s; QxQ : _m ; s:_s;
fxi : array[0..26] of _s; v0, vk, vx, gk, gk1, b, d0 : _v1;
error, Alfa, Beta : _r;
//////////////////////////////////////////////////
function f(s:_s; x :_r) : _r;
begin f := StrToFloat(s) end;
procedure Minus(s:_s;var s1:_s);var i,j:_i;
begin s1:=s; j:=length(s1);i:=0;
repeat i:=i+1; if s1[i]=' 'then begin delete(s1,i,1);i:=i-1;
end;
until i>=length(s1);
end;
{ PROGRAMA De método de Direcciones
Conjugadas }
{ Davidon-Fletcher-Powell }
{ Caso únicamente cuadrático, programa
didáctico }
unit Dav_Flet_Pow01;
interface
Angel Sangiacomo C.
Procedure TForm11.Valor_Matriz(Sender: TObject); var i,j,k, Li
,ii :_i;
begin
minus(Matriz_s,Matriz_s);
if Matriz_s[1]<>'[' then Matriz_s:='['+Matriz_s;
if
Matriz_s[length(Matriz_s)]<>']'
then
Matriz_s:=Matriz_s+']';
k := length(Matriz_s); ii :=0; j:=0; Li := 1;
for i := 1 to k do if Matriz_s[i] in [ #13,#10 ] then
Matriz_s[i] := ' ';
minus(Matriz_s,Matriz_s); k := length(Matriz_s);
F. Ayres H. 112
Capítulo 3
for i := 1 to k do
begin if Matriz_s[i]='[' then begin ii:=ii+1; j:=0; Li := Li +1
end;
if Matriz_s[i] in [',',';',']'] then
begin j:=j + 1 ; s := copy(Matriz_s,li,i-li); QxQ[ii,j]:=
f(s,0);Li := i +1; end;
end; tope:=j; //Filas:=ii; Columnas := j;
end;
//////////////////////////////////////////////////
procedure TForm11.Button2Click(Sender: TObject);
begin close end;
procedure TForm11.FormCreate(Sender: TObject);
begin
memo3.Clear; memo2.Text:=' [ 1, 1 ]';
memo1.Text:= ' x^2 - x*y+ y^2 + 2*x - y +1'
end;
function funcionxx(v:_v1):_r;
begin //' x^2 - x*y+ y^2 + 2*x - y +1'
result := v[1]*v[1]-v[1]*v[2]+v[2]*v[2]+2*v[1]-v[2]+1;
end;
Procedure Gradiente(v:_v1;var g:_v1); var i:_i;
begin //' x^2 - x*y+ y^2 + 2*x - y +1'
g[1] := 2*v[1]-v[2]+2;
g[2] := -v[1]+2*v[2]-1;
g[3] := 0;
end;
Procedure TForm11.MatQ(var q: _m); var i,j:_i; Sx:Char;
begin fillchar(q,sizeof(q),0);
q[1,1]:=2; Q[1,2]:=-1;
Q[2,1]:=Q[1,2];
Q[2,2]:=2;
for i:=1 to Tope do
begin s:='';
for j:=1 to Tope do s:=s+' '+FloatToStr(Q[i,j]);
memo3.Lines.Add(s)
end;
end;
Procedure Mat_vec(M:_m;V:_v1;var v1:_v1); var i,j:_i;
begin
for i:=1 to Tope do
begin v[28]:=0;
for j:=1 to Tope do v[28]:=v[28]+M[i,j]*v[j];
v1[i]:=v[28];
end;
end;
Procedure Vec_Mat(M:_m;V:_v1;var v1:_v1);var i,j:_i;
begin
for i:=1 to Tope do
begin v[28]:=0;
for j:=1 to Tope do v[28]:=v[28]+M[j,i]*v[j];
v1[i]:=v[28];
end;
end;
Procedure Vec_vec(v1:_v1;V:_v1;var r:_r);var i:_i;
begin r:=0;
for i:=1 to Tope do r:=r+v[i]*v1[i];
Angel Sangiacomo C.
Introducción a la Optimización No Lineal
end;
Procedure Vec_X_vec(v1:_v1;V:_v1;var M:_m);var i, j :_i;
begin
for i:=1 to Tope do for j:=1 to Tope do M[i,j]:=v1[i]*v[j];
end;
Procedure Mat_Mat(A:_m;B:_M;var C:_m);var i,j,k:_i; v:_r;
begin
for i:=1 to Tope do
for j:=1 to Tope do
begin v:=0; for k:=1 to Tope do v:=v+A[i,k]*B[k][j];
C[i][j]:=v; end;
end;
Procedure Mat_m_Mat(A:_m;B:_M;var C:_m);var i,j :_i;
begin
for i:=1 to Tope do
for j:=1 to Tope do
begin C[i][j]:=A[i,j]+B[i][j]; end;
end;
Procedure a_vec(a:_r;V:_v1;var v1:_v1);var i:_i;
begin
for i:=1 to Tope do v1[i]:= v[i]*a;
end;
Procedure Mat_a(M:_m;a:_r;var M1:_m); var i,j:_i;
begin
for i:=1 to Tope do
for j:=1 to Tope do
M1[i,j]:=a*M[i,j];
end;
Procedure
TForm11.Convertidor_a_Variables_estandar(var
s:_s); var i :_i;
begin
memo3.Lines.Add(' f( x ) = '+fxi[0]); Minus(fxi[0], fxi[0]);
memo3.Lines.Add(' M# de variables = '+IntToStr(Tope));
end;
Procedure TForm11.Datos(sender: TObject); var i:_i;
begin {Procedure Principal}
FillChar(v0,sizeof(v0),0);vx:=v0; vk:=v0;
gk:=v0; gk1:= vx; b:=vx; d0:=vx;
kk:= StrToInt(Edit1.Text); error:=StrToFloat(Edit2.Text);
fxi[0]:=Memo1.Text; Minus(fxi[0],fxi[0]);
Convertidor_a_Variables_estandar(fxi[0]);
Matriz_s:=Memo2.Text; Valor_Matriz(Sender);
v0:=QxQ[1]; s:='';
for i:=1 to Tope do s := s + ' x= ' + FloatToStr(v0[i]) + '
;';
if s[length(s)]=';' then delete(s,length(s),1);
Memo3.Lines.Add(' v0 = ['+s+' ]');
end;
procedure TForm11.Button3Click(Sender: TObject);
begin Memo3.Clear; end;
Procedure TForm11.Publicar(m:_m);
var i,j :_i;
begin
for i:=1 to Tope do
F. Ayres H. 113
Capítulo 3
Introducción a la Optimización No Lineal
begin s:='[ ';
Gradiente( vk, gk1 ); Pu_vec('G', gk1 );
for j:=1 to Tope do s:=s+' '+ FloatToStrF(m[i][j],ffFixed,
for i:=1 to Tope do
15,5);s:=s+' ]';
begin vx[i]:=gk1[i]-gk[i]; // vx --> qk
memo3.Lines.Add(s);
s1 := s1+' G'+IntToStr(i)+'= '+FloatToStrF(gk[i],
end;
ffFixed, 15,5);
end;
end;
Matriz_s:=FloatToStr(Funcionxx(vk));
procedure TForm11.Button4Click(Sender: TObject);
Memo3.Lines.Add( s1+#13#10+' f ( ... ) = '+ Matriz_s);
Var i,j,k:_i; H1,H0 : _m; x,y:_r; x0:_v1;
Mat_vec(QxQ, vx, x0); Pu_vec('q', vx );
procedure Ident(var q:_m);
Vec_vec(x0, vx, x );
begin Fillchar(q,sizeof(q),0);i:=0;
Vec_X_vec(x0, x0, H1 );
while i<Tope+1 do begin i:=i+1; q[i,i]:=1 end
Mat_a(H1, -1/x, H1 );
end;
Mat_m_Mat(QxQ, H1, QxQ );
Procedure Pu_vec(sx: char; v:_v1);
Vec_X_vec(b, b, H1 );
var i :_i;
Vec_vec(b, vx, x );
begin s:='';
Mat_a(H1, 1/x, H1 ); Memo3.Lines.Add(' Hk =');
for i:=1 to Tope do s:=s+' '+Sx+IntToStr(i)+' = '+
Mat_m_Mat(QxQ, H1, QxQ ); Publicar(QxQ);
FloatToStrF(v[i],ffFixed, 15,8);
x:=0;
memo3.Lines.Add(s);
for i:=1 to Tope do begin x:=x+sqr(vk[i]-v0[i]) end;
end;
x := sqrt(x);
function Mim_ALfa:_r; var i:_i;
v0:=vk;
procedure ss; var i:_i;
gk:=gk1;
begin for i:=1 to Tope do vk[i]:=v0[i]+alfa*d0[i];
if k>kk-1 then break;
end;
until x<error; s1:='';
begin Alfa:=0; j:=0;
for i:=1 to Tope do
x:=funcionxx(v0);v0[28]:=0.01;
begin s1:=s1+'x'+IntToStr(i)+'= '+FloatToStrF(vk[i],
repeat alfa:=alfa+v0[28];
ffFixed, 15,5); end;
for i:=1 to Tope do vk[i]:=v0[i]+alfa*d0[i];
Matriz_s:=FloatToStr(Funcionxx(vk));
y:= funcionxx(vk);
Memo3.Lines.Add( s1+#13#10+' f ( ... ) = '+Matriz_s );
if x>=y then x:=y; //Memo3.Lines.Add(' xxxx');
end;
if (x<y)and(j<4) then
begin alfa:=alfa-1.1*v0[28];if alfa<0 then alfa:=0;
end.
v0[28]:=v0[28]/100;x:=x+5 ;J:=j+1;
end
Ejemplo
until x<y;
Mim_ALfa:=ALfa-v0[28];//0.0001;
Memo3.Lines.Add(' alfa = '+FloatToStr(alfa));
Usando
el
Algoritmo
de
end;
var s1:_s;
begin //
Davidon-Fletcher-Powell
datos(sender);
Sea
k:=0;
Ident( QxQ );
f ( x1 , x2 ) = x12 − x1 x2 + x22 + 2 x1 − x2 + 1
Gradiente(v0, gk );
x0 = (1, 1)
repeat k:=k+1;
Memo3.Lines.Add('+++++++ Iteración
N# =
⎡2 x − x + 2 ⎤
'+IntToStr(k)+' +++++++');
∇f ( x1 , x2 ) = ⎢ 1 2
⎥,
Memo3.Lines.Add(' -H = ');
⎣− x1 + 2 x2 − 1⎦
Mat_a( QxQ, -1, H1 ); Publicar( H1 );
⎡1 0⎤
⎡3⎤
Mat_vec( H1, gk, d0 ); Pu_vec('d', d0 );
H0 = ⎢
, g0 = ⎢ ⎥ ;
⎥
Alfa:=Mim_ALfa; s1 := '';
⎣0 1 ⎦
⎣0 ⎦
for i:=1 to Tope do
Iteración 1
begin vk[i]:= v0[i] + alfa*d0[i];// vk --> vn+1
s1:=s1+'x'+IntToStr(i)+'=
'+FloatToStrF(v0[i],
d 0 = (−3,0) ,
ffFixed, 15,5);
1
end;
α 0 = = 0.5 ,
a_vec(alfa, d0, b ); // b --> pk
2
Pu_vec('p', b );
Angel Sangiacomo C.
F. Ayres H. 114
Capítulo 3
Introducción a la Optimización No Lineal
x1 = x0 + α 0 d 0 = (1,1) + 0.5(−3,0) = (−0.5, 1) ;
⎡0.25 0.5⎤
⎢
1 ⎥⎦
p1 p1T ⎣0.5
=
1.5
p1T q1
⎡0.36 0.72 ⎤
⎥
⎢
H1q1q1T H1 ⎣0.72 1.44⎦
=
1.8
q1T H1q1
g1 = (0, 1.5)T
p0 = α 0 d 0 = 0.5(−3, 0) = (−1.5, 0) ,
q0 = g1 − g 0 = (0, 1.5) − (3, 0) = (−3, 1.5) ,
H1 = H 0 +
p0 p0T
p0T q0
p0 p0T
p0T q0
⎡1.5⎤
⎢ 0 ⎥ (−1.5, 0)
=⎣ ⎦
=
⎡− 3⎤
(−1.5,0) ⎢ ⎥
⎣1.5 ⎦
H 0 q0 q0T H 0
q0T H 0 q0
−
H 0 q0 q0T H 0
q0T H 0 q0
⎡2.25
⎢0
⎣
4.5
;
0⎤
0⎥⎦ ⎡0.5 0⎤
=⎢
0⎥⎦
⎣0
⎡1 0⎤
⎡1 0⎤ ⎡− 3⎤
⎢0 1 ⎥ ⎢1.5 ⎥ (−3, 1.5) ⎢0 1 ⎥
⎣
⎦
⎦⎣ ⎦
=⎣
−
1
0
3
⎡
⎤⎡ ⎤
(−3, 1.5) ⎢
⎥⎢ ⎥
⎣0 1 ⎦ ⎣1.5 ⎦
⎡ 9 − 4.5 ⎤
⎢− 4.5 2.25⎥ ⎡0.8 0.4
⎤
⎦ =
=⎣
⎢
⎥,
11.25
⎣0.4 0.2⎦
⎡1 0⎤ ⎡0.5 0⎤ ⎡0.8 0.4⎤
−
H1 = ⎢
⎥+⎢
0⎥⎦ ⎢⎣0.4 0.2⎥⎦
⎣0 1 ⎦ ⎣ 0
⎡0.7 0.4⎤
=⎢
⎥.
⎣0.4 0.8⎦
Iteración 2
g1 = (0, 1.5)T ;
⎡0.7 0.4⎤ ⎡ 0 ⎤ ⎡− 0.6⎤
d1 = − ⎢
⎥⎢ ⎥=⎢
⎥,
⎣0.4 0.8⎦ ⎣1.5⎦ ⎣− 1.2 ⎦
α1 = 0.833333... ,
x2 = x1 + α1d1
= (−0.5,1) + 0.8333333(−0.6,−1.2) = (−1, 0) ;
g 2 = (0, 0)T
p1 = α1d1 = 0.8333333(−0.6, − 1.2) ,
= (−0.5, − 1)
q1 = g 2 − g1 = (0, 0) − (0, 1.5) = (0, − 1.5) ,
H 2 = H1 +
p1 p1T
p1T q1
−
H1q1q1T H1
q1T H1q1
;
⎡0.25 0.5⎤ ⎡0.36 0.72 ⎤
⎢
1 ⎥⎦ ⎢⎣0.72 1.44⎥⎦
⎡0.7 0.4⎤ ⎣0.5
H2 = ⎢
−
⎥+
1.5
1.8
⎣0.4 0.8⎦
⎡0.66666667 0.33333333⎤
=⎢
⎥,
⎣0.33333333 0.66666667⎦
Iteración 3
Esta siguiente iteración ya no existe puesto
que
⎡0.66666667 0.33333333 ⎤ ⎡0⎤ ⎡0⎤
d 2 = −⎢
⎥⎢ ⎥ = ⎢ ⎥,
⎣0.33333333 0.66666667 ⎦ ⎣0⎦ ⎣0⎦
o sea ya no hay movimiento.
Definición positiva
Primero se demuestra que si H0
es definida positiva, entonces
también lo es Hk+1. Para cualquier
x ∈ E n , resulta
xT H k +1 x = xT H k x +
Al
( x T pk ) 2
pkT qk
definir
−
( x T H k qk ) 2
.
qkT H k qk
(18)
a = H k1 / 2 x ,
b = H k1 / 2 qk , se puede volver a
escribir (18) como
xT H k +1 x =
( aT a )(bT b) − (a T b) 2
(bT b)
+
( xT pk ) 2
pkT qk
.
También se tiene que
p kT q k = p kT g k +1 − p kT g k = − p kT g k ,
(19)
pues
Angel Sangiacomo C.
F. Ayres H. 115
Capítulo 3
Introducción a la Optimización No Lineal
p kT g k +1 = 0 ,
(20)
debido a que xk+1 es el punto mínimo
de f en pk. Así, por la definición de pk
p kT q k = α k g kT H k g k ,
(21)
y de ahí,
x T H k +1 x =
(a T a )(bT b) − (a T b) 2
T
(b b)
+
( xT pk ) 2
α k g kT H k g k
(22)
será definida positiva (Pruébese
ello). ♠
Convergencia en pasos finitos
Ahora, supóngase que f es
cuadrática
con
hessiano
(constante) F. En este caso se
demuestra que el método de
Davidon-Fletcher-Powell
produce vectores de dirección pk
ortogonales F, y que si el método
se realiza durante n pasos,
entonces Hn=F-1.
Los dos términos de la derecha
de (22) son no negativos; el
primero por la desigualdad de
Cauchy-Schwarz. Tan sólo hay
que demostrar que no se anulan
simultáneamente.
El
primer
término se anula solamente si a y
b proporcionales. Esto, a su ves, x
y qk son proporcionales, por Teorema.
ejemplo, x=βqk. Sin embargo, en Si ƒ es cuadrática con hessiano F
definido positivo, entonces para
ese caso,
el método de Davidon-Fletcherp kT x = βp kT q k = βα k g kT H k g k ≠ 0
Powell.
T
por (21). Así, x H k +1 x > 0 para piT Fp j = 0 , 0 ≤ i < j ≤ k
(23)
toda x distinta de cero.
H k +1 Fp i = pi , para 0 ≤ i ≤ k . (24)
Es interesante observar que en la
demostración anterior el hecho de Prueba:
que αk se elija como el punto Se observa que para el caso
mínimo de la búsqueda lineal, se cuadrático
utilizó en (20), lo que dio lugar a q k = g k +1 − g k = Fxk +1 − Fxk = Fpk . (25)
la importante conclusión de que Además,
(26)
p kT q k > 0 . En realidad, en el H k +1 Fp k = H k +1q k = p k
algoritmo se puede utilizar de (17).
Ahora, se muestran (23) y (24)
T
cualquier αk que de p k q k > 0 , por inducción. De (26) se observa
sea o no el punto mínimo, y Hk+1 que son verdaderas para k=0.
Angel Sangiacomo C.
F. Ayres H. 116
Capítulo 3
Introducción a la Optimización No Lineal
Suponiendo que son verdaderas Por último, (24) muestra que p0,
para k–1, se prueba que son p1, p2, ..., pk son vectores propios
correspondientes al valor propio
verdaderas para k. Se tiene
g k = g k +1 + F ( pi +1 + ... + p k −1 ) . unitario para la matriz H k +1 F ,
−1
Por tanto, de (23) y (20)
por lo que H = F .
piT g k = piT g i +1 = 0 para 0 ≤ i < k . (27)
n
Entonces, de (24)
piT FH k g k = 0 .
como p k = −α k H k g k
α k ≠ 0 , resulta
Así,
(28)
La familia de Broyden
y
Las familias de actualización
para la inversa del hessiano,
T
pi Fp k = 0 para i < k ,
(29) considerado en dos secciones
anteriores, se basan en que
lo cual prueba (23) para k.
Ahora, como de (24) para k–1, satisfacen
H k +1qi = pi , 0 ≤ i ≤ k ,
(25) y (29)
(30)
qkT H k Fpi = qkT pi = pkT Fpi = 0 , deducido de la relación
q i = Fp i , 0 ≤ i ≤ k
(31)
0≤i<k
que se cumpliría solamente en el
se tiene
H k +1 Fpi = H k Fpi = pi , 0 ≤ i < k . caso cuadrático puro. También se
actualizar
Esto, junto con (26), prueba (24) pueden
aproximaciones
al
propio
para k. ♥
hessiano F, en lugar de su
Como las pk son ortogonales F y inversa. Así, al denotar la k-ésima
se minimiza f sucesivamente en aproximación de F por Bk, de
estas direcciones, se observa que manera análoga, se buscaría
es un método de dirección satisfacer
conjugada. Además, si la q k = Bk +1 pi , 0 ≤ i ≤ k ,
(32)
aproximación inicial H0 se La
ecuación
(32)
tiene
considera igual a la matriz exactamente la misma forma que
identidad, el método se convierte (30), excepto que q y p se
i
i
en el del gradiente conjugado. En intercambian y H se sustituye por
cualquier caso, el proceso obtiene B. Ha de tenerse en cuenta que
el punto mínimo general en n esto implica que cualquier
pasos.
fórmula de actualización para H
Angel Sangiacomo C.
F. Ayres H. 117
Capítulo 3
Introducción a la Optimización No Lineal
deducida para satisfacer (30) se
pueden transformar en una
fórmula actualizada correspondiente para B. Por ejemplo, dada
cualquier fórmula actualizada
para
H,
la
fórmula
complementaria
se
halla
intercambiando las funciones de
B y H, y de q y p. Asimismo,
cualquier
fórmula
de
actualización para B que
satisfaga (32) se puede convertir
por el mismo proceso en una
fórmula complementaria para
actualizar H. Es fácil observar
que tomando el complemento de
un complemento se obtiene la
fórmula original.
Para ilustrar las fórmulas
complementarias, considérese la
actualización de rango uno visto
anteriormente, que es
y su complemento es
Bk +1 = Bk +
qk qkT
qkT pk
−
Bk pk pkT Bk
pkT Bk pk
.
(36)
Esta última actualización se
conoce como la actualización
Broyden-Fletcher-GoldfarbShanno de Bk y tiene un papel
importante en los temas que
siguen.
Otra manera de transformar una
fórmula de actualización para H
en una para B, o viceversa, es
tomar la inversa. Es evidente que
si
H k +1qi = pi , 0 ≤ i ≤ k ,
(37)
entonces
qi = H k−+11 pi , 0 ≤ i ≤ k ,
(38)
−1
lo cual implica que H k +1
satisface (32), El criterio para una
actualización de B. Además, y lo
más importante, la inversa de una
( pk − H k qk )( pk − H k qk )T
H k +1 = H k +
. fórmula de rango dos es también
qkT ( pk − H k qk )
una fórmula de rango dos.
(33)
La nueva fórmula se puede hallar
La fórmula complementaria
explícitamente
con
dos
correspondiente es
aplicaciones de la identidad de
(qk − Bk pk )(qk − Bk p k )T
. (34) inversión
Bk +1 = Bk +
general (conocida
pkT (q k − Bk pk )
también como la fórmula de
Asimismo, la fórmula de Sherman-Morrison)
Davidon-Fletcher-Powell
(o
A −1ab T A −1
T −1
−1
[
]
+
=
−
A
ab
A
, (39)
simplemente DFP) es
T −1
H kDFP
+1 = H k +
p k p kT
p kT q k
−
H k q k q kT H k
q kT H k q k
1+ b A a
,
donde A en una matriz de n×n, y
a y b son n vectores, lo cual es
(35)
Angel Sangiacomo C.
F. Ayres H. 118
Capítulo 3
Introducción a la Optimización No Lineal
valido si existen las inversas.
(Esto se comprueba fácilmente
multiplicando por A+abT.)
La actualización de BroydenFletcher-Goldfarb-Shanno para B
genera, tomando la inversa, una
actualización
correspondiente
para H de la forma
H kBFGS
+1 = H k
⎛ qT H q
+ ⎜1 + k T k k
⎜
qk qk
⎝
⎞ pk pkT pk qkT H k + H k qk pkT
⎟
−
⎟ pT q
qkT pk
⎠ k k
(40)
Esta es una fórmula de
actualización importante que se
pueda utilizar igual que la
fórmula DFP. Los experimentos
numéricos han indicado de
manera
repetida
que
un
rendimiento es superior al de la
fórmula DFP, razón por la que en
actualidad suele referirse.
Obsérvese que las actualizaciones
DFP y BFGS tienen correcciones
simétricas de rango dos que se
construyen a partir de los
vectores pk y Hkqk. Por tanto, las
combinaciones ponderadas de
estas fórmulas serán de este
mismo tipo (simétricas, de rango
dos y construidas a partir de pk y
Hkqk). Esta observación conduce
de manera natural a la
consideración de un conjunto de
actualizaciones, conocido como
Angel Sangiacomo C.
la familia de Broyden, definido
por
H φ = (1 − φ )H DFP + φH BFGS ,
(41)
donde φ es un parámetro que
puede tomar cualquier valor real.
Es evidente que φ = 0 y φ = 1
proporcionan las actualizaciones
DFP y BFGS, respectivamente.
La familia de Broyden también
incluye la actualización de rango
uno (Pruébese ello).
Después de una cantidad
considerable de operaciones
algebraicas, una representación
de la familia de Broyden podría
resultar ser
H kφ +1 = H k +
pk pkT
pkT qk
−
H k qk qkT H k
qkT H k qk
T
= H kDFP
+1 + φvk vk ,
+ φvk vkT
(42)
donde
(
v k = q kT H k q k
)
1/ 2 ⎛
⎜ pk − H k qk
T
⎜ pT q
⎝ k k qk H k qk
⎞
⎟.
⎟
⎠
Esta forma será útil para algunos
desarrollos posteriores.
Un método de Broyden se define
como un método cuasi Newton
en el que se utiliza en cada
iteración un miembro de la
familia de Broyden como
fórmula de actualización. En
general, se permite que el
parámetro φ varíe de una
F. Ayres H. 119
Capítulo 3
iteración a otra, de modo que un
método de Broyden determinado
se define por una sucesión
φ1 , φ 2 , ..., de
valores
del
parámetro. Un método de
Broyden puro es aquel que utiliza
una φ constante.
Introducción a la Optimización No Lineal
de la relación básica (30) y de la
ortogonalidad (20) debido a la
exactitud de la búsqueda lineal.
♠
La familia de Broyden no
conserva
necesariamente
la
definición positiva de H φ para
todos los valores de φ . Sin
embargo, se sabe que el método
DFP preserva la definición
positiva. Por lo tanto, de (42)
resulta que la definición positiva
se preserva para cualquier φ ≥ 0 ,
pues la suma de una matriz
definida positiva y una matriz
semidefinida positiva, es definida
positiva. Para φ < 0 , existe la
H BFGS
Como H DFP y
satisfacen
la
relación
fundamental
(30)
para
actualizaciones, esta relación
también se satisface por todos los
miembros de la familia Broyden.
Así, puede esperarse que muchas
propiedades que fueron validas
para el método de DFP también
lo serán para cualquier método de
Broyden y, de hecho, así es. La
siguiente es una aplicación posibilidad de que H φ se haga
directa del teorema de la singular, por lo que deben
convergencia en pasos finitos.
tomarse precauciones especiales.
En la práctica, se suele imponer
Teorema.
φ ≥ 0 para evitar dificultades.
Si f es cuadrática con hessiano F
definido positivo, entonces para Se ha experimentado mucho con
los métodos de Broyden para
un método de Broyden
determinar estrategias menores
piT Fp j = 0,
0≤i< j≤k
de selección de la sucesión de
H k +1 Fp i = pi para 0 ≤ i ≤ k .
parámetros φ k . El teorema
anterior muestra que la elección
Prueba:
La demostración es similar a la es irrelevante en el caso de un
de la sección donde se trato la objetivo cuadrático y una
convergencia en pasos finitos, búsqueda lineal precisa. Lo más
pues los resultados sólo dependen sorprendente es que se ha
observado que aun en el caso de
Angel Sangiacomo C.
F. Ayres H. 120
Capítulo 3
funciones no cuadráticas y
búsquedas lineales precisas, los
puntos generados por todos los
métodos de Broyden consideran
(siempre que se eviten las
singularidades y los mínimos
múltiplos se resuelvan de manera
consistente). Esto significa que
las diferencias entre los métodos
sólo son importantes con la
búsqueda lineal imprecisa.
Para funciones no cuadráticas
generadas de dimensiones moderadas, parece que los métodos de
Broyden ofrecen diversas ventajas como procedimientos generales atractivos. Primero, sólo
requieren disponer de información de primer orden (esto es, el
gradiente). Segundo, siempre se
puede garantizar que las direcciones generadas sean de descenso, haciendo que Hk sea definida
positiva durante el proceso.
Tercero, como para un problema
cuadrático la matrices Hk convergen a la inversa del hessiano
en un máximo de n pasos, se
podría argumentar que en el caso
general Hk convergerá al inverso
del hessiano en la solución, por lo
que la convergencia será
superlineal.
Lamentablemente,
aunque los métodos son, sin lugar
a
dudas,
excelentes,
sus
Angel Sangiacomo C.
Introducción a la Optimización No Lineal
características de convergencia
requieren un análisis más
minucioso, lo que dará lugar a
una importante modificación
adicional.
Apéndice
Escalas
Mejora de la razón de valores propios
Como el rendimiento método de DFP es
pobre trataremos de hallar la dificultad con
la simple observación de que todos los
valores de H0Q son mucho mayores que la
unidad. El algoritmo d DFP, o cualquier
método Broyden, esencialmente traslada los
valores propios uno a la vez, a la unidad,
produciendo así una razón de valores propios
desfavorables en cada HkQ, para 1 = k = n.
Este fenómeno se puede atribuir al hecho de
que los métodos son sensibles a factores de
escala simples. En especial si H0 se
multiplicara por una constante, todo el
proceso sería diferente. En el ejemplo de la
última parte, si H0 le cambiamos la escala
multiplicando por 1/35, por decir, los valores
propios de H0Q se situarían por encima y por
debajo de la unidad, y en ese caso se podría
sospechar que no se presentaría un
rendimiento pobre.
A partir de las consideraciones anteriores, se
establecerá condiciones en las cuales la
razón de los valores propios de Hk+1F sea a
menos tan favorable como la de HkF en un
método de Broyden. Entonces, estas
condiciones se utilizarán como base para
introducir factores de escala apropiados.
Tenemos el resultado de Loewner
F. Ayres H. 121
Capítulo 3
Introducción a la Optimización No Lineal
Lema de los valore propios independientes. se observa que P rk = 0 , de modo que un
Sea la matriz simétrica A de n × n con valor propio de P es cero. Si se denotan los
valores propios λ1 ≤ λ2 ≤ ... ≤ λn . Sea a valores propios de P por μ ≤ μ ≤ ... ≤ μ ,
1
2
n
n
cualquier vector de E y denótense los por la observación anterior y el lema de los
valores propios de la matiz A + aa T por valores propios interdependientes, resulta
0 = μ1 ≤ λ2 ≤ μ 2 ≤ ... ≤ μ n ≤ λn .
μ1 ≤ μ 2 ≤ ... ≤ μ n .
Entonces
Ahora consideramos
λ1 ≤ μ1 ≤ λ2 ≤ μ 2 ≤ ... ≤ λn ≤ μ n .
R r rT R
r rT
r rT
Rk +1 = Rk − kTk k k + kT k = P + kT k .
rk Rk rk
rk rk
rk rk
Por conveniencia se introducen las
definiciones
(44)
1/ 2
1/ 2
Como rk es un vector propio de P y, por
Rk = Fk H k Fk
simetría,
los demás vectores propios de P
rk = Fk1 / 2 pk
son, en consecuencia, ortogonales a rk,
entonces, utilizando pk = Fk1 / 2 rk , se puede resulta que el único valor propio de Rk+1
diferente de los P es el correspondiente a rk ,
verificar rápidamente que (42) equivale a:
que ahora es la unidad.
R r rT R
r rT
Rkφ +1 = Rk − k Tk k k + kT k + φ z k z kT ,
Así, Rk+1 tiene valores propios μ1 , μ 2 , ..., μ n
rk Rk rk
rk rk
y la unidad, todos contenidos en el intervalo
(43)
[λ1 , λ2 ] . Así, la actualización no empeora la
donde
razón de los valores propios. Tendremos en
⎛ rk
⎞
R
r
1/ 2
T
k
k
⎟ . cuanta que este resultado no depende en
z k = Fk vk = rk Rk rk ⎜ T − T
⎜ r r r R r ⎟ modo alguno de la elección de α para
n
k k k ⎠
⎝ k k
minimizar
f
.
Como Rk es similar a HkF (de
Rk = Fk1 / 2 H k Fk1 / 2 ), los dos tienen los Para la clase Broyden con 0 ≤ φ ≤ 1 .
mismos valores propios. Pero, debido a (43), Teorema. Sean los n valores de HkF,
es más conveniente estudiar Rk, que permite λ1 , λ2 , ..., λn con 0 < λ1 ≤ λ2 ≤ ... ≤ λn .
Supóngase que 1 ∈ [λ1 , λn ] . Entonces, para
obtener resultados de HkF.
Veamos ahora el caso φ = 0 que corresponde cualquier φ, 0 ≤ φ ≤ 1 , todos los valores
a la fórmula de DFP. Para esto suponemos
propios de H kφ +1 F , donde H kφ +1 está
que los valores propios de Rk son
λ1 , λ2 , ..., λn con λ1 ≤ λ2 ≤ ... ≤ λn . Con la definida por (42), están contenidos en
[λ , λ ] .
suposición de que 1 ∈ [λ1 , λn ] . Se 1 n
Prueba:
demostrará que todos los valores propios de
El resultado anterior corresponde a φ = 0 .
Rk+1 están contenidos en el intervalo
[λ1 , λn ] , lo cual implica que Rk+1 no es peor Ahora considérese φ = 1 , correspondiente a
la fórmula BFGS. Por la definición original
que Rk en función de su número de
de la actualización de BFGS, H −1 está
condición.
definida por la fórmula complementaria de la
Sea primero la matriz
fórmula DFP. Así
T
R rr R
P = Rk − kTk k k
q qT H −1 p pT H −1
rk Rk rk
H k−+11 = H k−1 + Tk k − k T k −1k k .
qk pk
pk H k pk
Angel Sangiacomo C.
F. Ayres H. 122
Capítulo 3
Introducción a la Optimización No Lineal
para H0, pues la unidad es un valor propio de
HkF para k>0. Pero debido a las inevitables
+
,
Rk−+11 = Rk−1 −
desviaciones del ideal, es útil considerar la
posibilidad de cambiar de escala todas las
(45)
Hk.
que es idéntico (44), excepto que Rk se Se puede incorporar un factor de escala
directamente en la fórmula de actualización.
constituye por Rk−1 .
Primero, se multiplica Hk por un factor de
Los valores propios de
Rk−1 son escala γ k y después se aplica la fórmula de
1
≤ λ 1 ≤ ... ≤ λ1 .
Evidentemente actualización usual. Esto equivale a sustituir
λn
n −1
1
H k por γ k H k en (43) y da lugar a
1∈ [ λ1 , λ1 ] . Así, por el resultado preliminar,
n
1
⎛
⎞
H k qk qkT H k
⎜
H k +1 = H k − T
+ φ vk vkT ⎟γ k
−1
si los valores propios de Rk +1 se denotan por
⎜
⎟
qk H k qk
⎝
⎠
1
1
1
,
resulta
que
están
≤
≤
...
≤
μn
μ n −1
μ1
p k p kT
+
.
(46)
contenidos en el intervalo [ λ1 , λ1 ] . Así,
pT q
Esto equivale a
Rk−1rk rkT Rk−1
rkT Rk−1rk
n
rk rkT
rkT rk
1
k
k
. Invirtiendo términos, Esto define una familia de los parámetros de
actualizaciones, que se reduce a la familia de
esto genera μ1 > λ1 y μ n < λn , lo cual Broyden para γ k = 1 .
muestra que los valores propios de Rn+1 están Utilizando γ 0 , γ 1 , ... como factores de escala
contenidos en [λ1 , λn ] , con lo que se positivos arbitrarios, se considera el
establece el resultado para φ = 1 .
algoritmo: Se comienza con cualquier matriz
Para un φ general, la matriz Rkφ +1 definida H 0 definida positiva simétrica y cualquier
por (43) tiene valores propios que aumentan punto x0 , entonces empezando con k=0,
1
λn
<
1
μn
y
1
λ1
>
1
μ1
monótonamente con φ (como se puede
observar por el lema de los valores propios Paso 1: Hacer d k = − H k g k .
interdependientes). Sin embargo, por lo Paso 2: α k ∈ {α : Mín f ( xk + αd k )}
0 ≤α < ∞
anterior se sabe que estos valores propios
para calcular xk +1 = xk + α k d k
están contenidos en [λ1 , λn ] , para φ = 0 y
p k = α k d k y g k +1 .
φ = 1 . Por lo tanto, deben estar contenidos
Paso 3: Calcular qk = g k +1 − g k ;
en [λ1 , λn ] para toda φ, 0 ≤ φ ≤ 1 . ♦.
Factores de Escala
⎞
⎛
H q qT H
H k +1 = ⎜ H k − kT k k k + φ vk vkT ⎟γ k
⎟
⎜
qk H k qk
⎠
⎝
pk pkT
+ T .
(47)
Por el resultado deducido antes, es una clara
p
q
k
k
ventaja la escala de la matriz H k para que
⎛ p
H q ⎞
los valores propios de HkF se distribuyan por
vk = (qkT H k qk )1 / 2 ⎜ T k − T k k ⎟ .
⎟
⎜p q
encima y por debajo de la unidad.
⎝ k k qk H k qk ⎠
Lógicamente, en el caso ideal de un
de escala elimina
problema cuadrático con búsqueda lineal La utilización de factores
-1
perfecta, esto es estrictamente necesario sólo la propiedad Hn=F en el caso cuadrático,
Angel Sangiacomo C.
F. Ayres H. 123
Capítulo 3
pero no elimina la propiedad de dirección
conjugada. Las siguientes propiedades de
este método se pueden demostrar como
simples ampliaciones de los resultados dados
en la sección 9.3.
1. Si Hk es definida positiva y pkT qk > 0 ,
(47) genera una Hk+1 que es definida
positiva.
2. Si f es cuadrática con hessiano F, entonces
los vectores p0 , p2 , ..., pn −1 son mutuamente
ortogonales F y, para cada k, los vectores
p0 , p2 , ..., pn −1 son valores propios de
Hk+1F.
Introducción a la Optimización No Lineal
γk =
pkT qk
(48)
qkT H k qk
sirve como factor de escala adecuado.
A continuación, se fórmula un método cuasi
Newton completo con reinicio y autoescala,
basado en la ideas anteriores. Por sencillez,
se toma φ = 0 y se obtiene una modificación
del método DFP. Comenzando en cualquier
punto x0, k=0.
Paso 1: Hacer H k = I .
Paso 2: Hacer d k = − H k g k .
Paso 3: α k ∈ {α : Mín f ( xk + αd k )}
0 ≤α < ∞
Se puede concluir que los factores de escala
para calcular xk +1 = xk + α k d k
no eliminan el comportamiento conjugado
p k = α k d k y g k +1 .
inherente al algoritmo. Por tanto, se puede
utilizar la escala para asegurar buenas
q k = g k +1 − g k
propiedades de convergencia en un solo Paso 4: Si k no es un múltiplo entero de n,
paso.
hacer
⎛
H k qk qkT H k ⎞⎟ pkT qk
⎜
H k +1 = H k − T
⎜
qk H k qk ⎟⎠ qkT H k qk
Un Algoritmo Cuasi Newton de Autoescala
⎝
p pT
Una técnica para elegir los factor de escala
+ kT k .
(49)
pk qk
es como sigue. Si λ1 ≤ λ2 ≤ ... ≤ λn son los
hacer k=k+1; regresar al paso 2;
valores propios de HkF, se desea multiplicar
Hk por γ k , donde λ1 ≤ γ1 ≤ λn . Esto Paso 5: Si k es múltiplo entero de n, volver al
k
paso 1.
asegurará que los nuevos valores propios
contienen la unidad en el intervalo que Este algoritmo se ejecutado, con distintas
generan.
cantidades de imprecisión introducidas en la
Observamos que la función de la notación búsqueda lineal, en el problema cuadrático
anterior
de la sección 9.4. Los resultados se
T
T
presentaron en esa sección.
qk H k qk rk Rk rk
=
.
pkT qk
rkT rk
Recordando que Rk tiene los mismos Métodos Cuasi Newton Sin Memoria
valores propios que H k F y observando que
El desarrollo anterior de los métodos cuasi
para cualquier rk
Newton se puede utilizar como base para
T
estudiar de nuevo los métodos del gradiente
r R r
λ1 ≤ k T k k ≤ λn ,
conjugado. El resultado es una clase
rk rk
interesante de procedimientos nuevos.
se observa que
Angel Sangiacomo C.
F. Ayres H. 124
Capítulo 3
Introducción a la Optimización No Lineal
Considerase una simplificación del método
qkT g k +1
d
=
−
g
+
pk
cuasi Newton BFGS, donde Hk+1 está
k +1
k +1
T
p
q
k k
definida por una actualización BFGS
=
−
g
+
β
d
(54)
aplicada a H=I, en lugar de Hk. Así, Hk+1 se
k +1
k k,
determina sin referencia a las Hk anteriores, donde
por lo que el procedimiento de actualización
q qT
β k = k T k +1 .
es sin memoria. Este procedimiento de
g k qk
actualización da lugar al siguiente algoritmo:
Comenzar en cualquier punto x0, k=0.
Esto coincida exactamente con la forma de
Polak - Ribiere del método del gradiente
conjugado. Así, al usar de esta forma la
Paso 1: Hacer H k = I .
(50)
actualización BFGS se obtiene un algoritmo
(51)
Paso 2: Hacer d k = − H k g k .
del tipo Newton modificado con matriz de
Paso 3: α k ∈ {α : Mín f ( xk + αd k )}
coeficientes definida positiva y es
0 ≤α < ∞
equivalente a una aplicación estándar del
para calcular xk +1 = xk + α k d k
método del gradiente conjugado cuando la
pk = α k d k y g k +1 .
búsqueda lineal es exacta.
q k = g k +1 − g k ;
El algoritmo puede ser utilizado sin
(Elíjase α k lo suficientemente búsqueda lineal exacta de forma similar al
método del gradiente conjugado, utilizando
precisa para asegurar pkT qk > 0 .)
(53). Esto sólo requiere el almacenamiento
Paso 4: Si k no es un múltiplo entero de n, de los mismos vectores que se piden en el
hacer
método del gradiente conjugado. Sin
T
T
embargo, por la teoría de los métodos cuasi
q p +p q
H k +1 = I − k k T k k
Newton, cabe esperar que la forma nueva sea
pk qk
superior cuando se emplean búsqueda lineal
T
T
⎛ q q ⎞p p
inexacta y, de hecho, los experimentos así lo
+ ⎜1 + kT k ⎟ kT k . (52) confirman.
⎜
pk qk ⎟⎠ pk qk
⎝
La idea anterior es fácil de ampliar para
hacer k=k+1; regresar al paso 2;
producir un método cuasi Newton sin
Paso 5: Si k es múltiplo entero de n, volver al memoria correspondiente a cualquier
paso 1.
miembro de la familia de Broyden. La
fórmula de actualización (52) utiliza sólo la
Combinando (51) y (52), es fácil observar actualización de Broyden general (42), con
que
Hk igual I. En el caso de la búsqueda lineal
T
T
+p q g
q p g
exacta (con pkT g k +1 = 0 ), la fórmula
d k +1 = − g k +1 + k k k +1 T k k k +1
pk qk
resultante para d k +1 se reduce a
⎛ qT q ⎞ p pT g
qkT g k +1
− ⎜1 + kT k ⎟ k Tk k +1 . (53)
d
=
−
g
+
(
1
+
φ
)
qk
k +1
k +1
T
⎟ p q
⎜
p
q
q
q
k
k
k
k
⎠
⎝
k k
T
Si la búsqueda lineal es exacta, entonces
q g
+ φ k T k +1 p k .
(55)
T
T
T
pk g k +1 = 0 y por tanto, pk qk = − pk g k .
pk qk
En este caso, (53) equivale a
Se observa que (55) equivale a al dirección
del gradiente conjugado (54) sólo para φ = 1 ,
Angel Sangiacomo C.
F. Ayres H. 125
Capítulo 3
Introducción a la Optimización No Lineal
correspondiente a la actualización de BFGS. Presentamos una combinación del descenso
Por esta razón, en general, se prefiere φ = 1 de mayor pendiente y el método de Newton
que incluye a ambos como casos especiales.
para este tipo de método.
La combinación da como resultado un
El procedimiento de escala se puede ampliar método doble puede ser utilizado para
a un procedimiento de condicionamiento desarrollar algoritmos de problemas que
previo más general. En este procedimiento, tienen estructura especial. (******)
la matriz que controla la convergencia se El método en si es bastante sencillo.
cambia de F(xk) a HF(xk) para alguna H. Si Supongamos que hay un subespacio N de
HF(xk) tiene todos sus valores propios E n en el que se conoce la inversa del
próximos a ala unidad, entonces cabe esperar hessiano de la función objetivo f. Entonces
que el método cuasi Newton in memoria en el caso cuadrático, el mínimo de f sobre
funcione muy bien, pues tiene un método de cualquier variedad lineal paralela a N (es
las ventajas de ser un método del gradiente decir cualquier transformación de N) se
conjugado y un método de Newton puede hallar en un solo paso. Para minimizar
modificado bien condicionado.
f en todo el espacio que comienza en
El condicionamiento previo se puede escribir cualquier punto xk, se podría minimizar f en
en el algoritmo básico con sólo sustituir Hk la variedad lineal paralela a N que contiene a
en la fórmula de actualización BFGS por H, xk, para obtener zk, y a partir de ahí dar un
en lugar de I, y sustituyendo I por H en el paso del descenso de mayor pendiente. Este
paso 1. Así, (52) se convierte en
procedimiento se ilustra en la figura.
T
T
Hqk p k + pk qk H
H k +1 = H −
pkT qk
⎛ q T Hq ⎞ p p T
+ ⎜1 + k T k ⎟ kT k , (56)
⎜
pk qk ⎟⎠ pk qk
⎝
y, en consecuencia, también se modifica la
versión explícita (53) del gradiente
conjugado.
El condicionamiento previo también se
puede usar junto con una versión del
gradiente conjugado parcial de (m+1) ciclos
del método cuasi Newton sin memoria. Esto
es muy efectivo si se puede hallar una H
sencilla (como a veces se puede en
problemas con estructura), de modo que
todos los valores propios de HF(xk), excepto
m, sean iguales a la unidad o estén en m
grupos. Para problemas a gran escala, los
métodos de este tipo parecen prometedores.
Combinación del Descenso de
Pendiente y el Método de Newton
Angel Sangiacomo C.
Como zk es el punto mínimo de f en la
variedad lineal paralela a N, el gradiente de
zk será ortogonal a N y, por tanto, el paso del
gradiente es ortogonal a N. Si f no es
cuadrático puede, conociendo el hessiano de
f en N, aproximar el punto de f a una
variedad lineal paralela a N por un paso del
método de Newton. La aplicación del
método descrito en sentido geométrico se
necesita un método para definir el
Mayor subespacio N y para determinar qué
información se requiere sobre la inversa del
hessiano, a fin de aplicar un paso de Newton
F. Ayres H. 126
Capítulo 3
Introducción a la Optimización No Lineal
sobre N. Para esto una forma apropiada de
ver un subespacio, y utilizar este desarrollo,
es en función de un conjunto de vectores que
lo generan. Así, si B es una matriz de n×n,
formada por n vectores columna, que
generan N, se puede expresar N como el
conjunto de todos los vectores de la forma
Bu, donde u ∈ E m . Para simplificar,
supondremos que las columnas de B son
linealmente independientes.
Para la inversa del hessiano debemos
imaginar que se está en un punto xk y se
desea hallar el punto mínimo apropiado zk
de f respecto al movimiento en N. Así, se
busca uk de modo que
z k = xk + Bu k
minimice apropiadamente f. (Se quiere decir
que z k deberá ser la aproximación de
Newton al mínimo en este sub espacio.) Se
escribe
f ( z k ) ≅ f ( xk ) + ∇f ( xk ) Bu k
+ 12 u kT BT F ( xk ) Bu k ,
elementos unitarios de la base de E n . Se
parte de ∇ 2 f ( xk ) en la forma
F12 ⎤
⎡F
F = ⎢ 11
⎥,
⎣ F21 F22 ⎦
donde F11 es de m × m . Entonces, en este
caso,
( BT FB) −1 = F11 ,
y
⎡ F −1 0⎤
B( BT F ( xk ) B) −1 BT = ⎢ 11
⎥,
⎢⎣ 0 0⎥⎦
es la inversa de forma explícita de F en N
que se requiere.
El caso general se puede considerar el que se
obtiene mediante división en un sistema
coordenado asimétrico.
Una vez deducida la aproximación de
Newton en N, se puede formalizar los
detalles del algoritmo sugerido por la figura
anterior. En el punto xk, el punto xk+1 se
determina por
y se despeja uk para obtener la aproximación Paso 1: Hacer
de Newton. Se halla
d k = − B( B T F ( xk ) B) −1 B T ∇f ( xk )T .
T
−1 T
T
u k = − ( B F ( x k ) B ) B ∇f ( x k )
Paso 2: z k = xk + β k d k ,
T
−1 T
T
z k = x k − B ( B F ( x k ) B ) B ∇f ( x k ) .
donde β k = {β : Mín f ( xk + β d k )} .
0≤ β < ∞
Se observa, por analogía con la fórmula del
método de Newton, que la expresión Paso 3: Hacer pk = −∇f ( z k )T .
B( BT F ( xk ) B) −1 BT se puede interpretar Paso 4: xk +1 = z k + α k pk ,
como la inversa de F(xk) restringida al sub
donde α k = {α : Mín f ( z k + α pk )} .
0 ≤α < ∞
espacio N.
Ejemplo:
Supongamos que
⎡I ⎤
B=⎢ ⎥,
⎣0 ⎦
donde I es una matriz de identidad de m × m .
Esto corresponde al caso en que N es el sub
espacio generado por los primeros m
Angel Sangiacomo C.
El parámetro βk se introduce en la parte
Newton del algoritmo tan sólo para asegurar
que se cumplen las condiciones de descenso
necesarias para la convergencia global. En
general, βk será aproximadamente iguala la
unidad.
F. Ayres H. 127
Capítulo 4
Introducción a la Optimización No Lineal
CAPÍTULO 4
Objetivo: Comprender la teoría de
minimización con restricciones y aplicarlos a la
solución de problemas simples.
MINIMIZACIÓN
RESTRICCIONES
CON
Condiciones
para
la
minimización con restricciones
En esta parte final se dedica al
estudio
de
problemas
de
minimización con restricciones.
En este capítulo, se empieza con
el método de las condiciones
necesarias y suficientes que se
satisfacen en puntos solución.
Estas condiciones, además de su
valor intrínseco para caracterizar
soluciones,
definen
los
multiplicadores de Lagrange y
cierta matriz hessiana que,
considerados juntos, forman la
base del desarrollo y el análisis
de los algoritmos que se les
presenten posteriormente.
El método general utilizado en
este capítulo para deducir
condiciones
necesarias
y
suficientes es una ampliación
directa del utilizado en el capítulo
1
para
problemas
sin
restricciones. En el caso de
restricciones de igualdad, la
región factible es una superficie
curva intercalada en En. Las
condiciones diferenciales que se
satisfacen en un punto optimal se
deducen teniendo en cuenta el
valor de la función objetivo en
curvas de esta superficie que
pasan por el punto optimal. Así,
los argumentos se desarrollan de
manera casi idéntica a los del
caso sin restricciones; familias de
curvas en la superficie de
restricción que sustituyen el
artificio anterior de considerar las
direcciones factibles.
Restricciones
Los problemas que se tratan son
los del tipo general de
programación no lineal de la
forma
minimizar f(x)
sujeto a: h1(x)=0, g1(x)≤0
h2(x)=0, g2(x)≤0
Angel Sangiacomo C.
F. Ayres H. 128
Capítulo 4
Introducción a la Optimización No Lineal
M
M
(1)
hm(x)=0, gp(x)≤0
x∈ Ω ⊂ En,
donde m≤n, y las funciones f, hi,
i=1, 2, ..., m y gj, j=1, 2, ..., p son
continuas, y en general, se
supone que tiene segundas
derivadas parciales continuas.
Por simplicidad notacional, se
introducen las funciones con
valores vectoriales h = (h1, h2 ,
..., hm ) y g = ( g1 , g 2 , ..., g p ) se
vuelve a escribir (1) como
minimizar f (x)
sujeto a: h(x)=0, g(x)≤0
(2)
x∈Ω
Las restricciones h(x)=0, g(x)≤0
se
denominan
restricciones
funcionales en tanto que la
restricción
x∈Ω
es
una
restricción de conjunto. Al igual
que la mayoría de los casos que
Ω es todo el espacio En o que la
solución de (2) está en el interior
de Ω. Un punto x∈Ω que cumple
todas las restricciones se
denomina factible.
Un concepto fundamental que
proporciona una mejor comprensión, además de simplificar el
desarrollo teórico necesario, es el
de restricción activa. Una
Angel Sangiacomo C.
restricción de desigualdad gi(x)≤0
se dice que es activa en un punto
factible. Si gi(x)=0, y es inactiva
en x si gi(x)<0. Adoptaremos la
convención de considerar que
cualquier restricción de igualdad
hi(x)=0 es activa en cualquier
punto factible. Las restricciones
activas en un punto factible x
restringen
el
dominio
de
factibilidad en las proximidades
de x, mientras que las otras
restricciones, las inactivas, no
ejercen
influencia
en
las
proximidades de x. Por tanto al
analizar las propiedades de un
punto mínimo local, es evidente
que se puede concentrar la
atención en las restricciones
activas. Esto lo veremos en la
figura 1, donde se evidencian que
las propiedades locales que
satisfacen la solución x* no
dependen de las restricciones
inactivas.
Figura 1.
F. Ayres H. 129
Capítulo 4
El Plano Tangente
Introducción a la Optimización No Lineal
x′(t ) =
dx(t )
, y es doblemente
dt
Un conjunto de restricciones de diferenciable si existe x’’(t). Se
igualdad en En
dice que una curva x(t) pasa por
h1 ( x) = 0
el punto x* si x*=x(t*) para algún
h2 ( x) = 0
t*∈[a,b]. La derivada de la curva
(3)
en x* está lógicamente definida
M
por x’(t*), que es un vector en En.
hm ( x) = 0
Considérese ahora todas las
define un subconjunto de En, que curvas diferenciables en S que
se consideran mejor tratándolos pasan por un punto x*. El plano
como una hipersuperficie. Si las tangente en x* se define como el
restricciones son regulares en conjunto de derivadas en x* de
todas partes, de acuerdo con lo todas estas curvas diferenciables.
es un
que se expone más adelante, esta El plano tangente
n
hipersuperficie tiene dimensión subespacio de E .
n-m. Si como se supone en esta Para las superficies definidas por
sección, las funciones hi, i=1, 2, un conjunto de relaciones de
…, m pertenecen a C1, la super- restricciones como (3), el
ficie definida por ella se problema de obtener una
representación explícita para el
denomina uniforme.
Asociado a un punto de una plano tangente es un problema
superficie uniforme está el plano fundamental que se estudia a
tangente en ese punto, término continuación. Idealmente, sería
que en dos o tres dimensiones deseable expresar este plano
tiene un significado evidente. tangente desde el punto de vista
Para formalizar la noción general, de las derivadas de funciones hi
se comienza definiendo curvas en que definen la superficie. Se
una superficie. Una curva en una introduce el subespacio
M = { y : ∇h( x*) y = 0 }
superficie S es una familia de
puntos x(t)∈S continuamente y se investiga en que condiciones
parametrizadas por t para a≤t≤b. M es igual al plano tangente en
La curva es diferenciable si existe x*. El concepto clave para este
propósito es el de punto regular.
Angel Sangiacomo C.
F. Ayres H. 130
Capítulo 4
Introducción a la Optimización No Lineal
dependiendo de los gradientes de
las funciones de restricción.
Teorema
En un punto regular x* de la
superficie S definida por h(x)=0
el plano tangente es igual a
M = { y : ∇h( x*) y = 0 }
Prueba:
Sea T el Plano tangente en x*. Es
evidente que T ⊂ M , sea x*
regular o no, para cualquier curva
x(t ) que pase por x* en t = t *
con derivada x′(t ) tal que
∇h(x*)x’(t)≠0 no este en S.
Para demostrar que M ⊂ T , hay
que demostrar que si y∈M,
entonces hay una curva en S que
pasa por x* con derivada y. Para
construir esa curva se consideran
las ecuaciones
Figura 2.
Definición
Un punto x* que satisface la
restricción h(x*)=0 se denomina
punto regular de la restricción si
los vectores gradientes ∇h1(x*),
∇h2(x*), …, ∇hm(x*) son linealmente independientes.
En los puntos regulares se puede
caracterizar el plano tangente
Angel Sangiacomo C.
h( x * +ty + ∇h( x*)u (t )) = 0 ,
(4)
donde para t fijo se toma u(t)∈Em
como la incógnita. Este es un
sistema no lineal de m ecuaciones
y m incógnitas parametrizado
continuamente por t. En t=0 hay
una solución u (0) = 0 . La matriz
Jacobiana del sistema respecto a
u en t=0 es la matriz de m × m
∇h(x*)∇h(x*)T,
F. Ayres H. 131
Capítulo 4
que no es singular, pues ∇h(x*)
es de rango completo si x* es un
punto regular. Así, por el teorema
de la función implícita hay una
solución
continuamente
diferenciable u(t) en alguna
región − a ≤ t ≤ a .
La curva x(t)=x*+ty+∇h(x*)u(t)
es así, por construcción, una
curva en S. Diferenciando el
sistema (4) respecto a t en t=0, e
igualando a cero para tener un
punto critico se obtiene
Introducción a la Optimización No Lineal
Ejemplo:
Sea h( x, y ) = x en E2. Entonces,
h( x, y ) = 0 genera el eje y y todo
punto en ese eje es regular.
x = 0,
∇h( x, y) = (1, 0) ,
y
v∈M, v=y es ortogonal a
∇h(x,y)=(1,0).
Si por otra parte, se hace
h(x,y)=x2, de nuevo S es el eje y
puesto que ∇h(x,y)=(2x,0), es
paralelo al anterior ∇h(x,y)=(1,0),
d
pero ningún punto del eje es
0 = h( x(t ))
dt
regular. En realidad en este caso
t =0
2
T
= ∇h( x*) y + ∇h( x*)∇h( x*) u ′(t ) M=E , en tanto que el plano
.
tangente es el eje y .
Por definición de y, se tiene
∇h( x*) y = 0 y, de nuevo, como
Necesarias
de
∇h( x*)∇h( x*)T es no singular, se Condiciones
concluye que u′(t ) = 0 . Por tanto, Primer Orden (Restricciones de
Igualdad)
x′(t ) = y + ∇h( x*)u′(t ) ,
y la curva construida tienen La deducción de condiciones
necesarias y suficientes para que
derivada y en x*. ♥
un punto sea punto mínimo local
Es importante reconocer que la sujeto a las restricciones de
condición de ser un punto regular igualdad es bastante sencilla,
no es una condición sobre la ahora que se conoce la
superficie de restricción en si, representación
del
plano
sino sobre su representación en tangente. Se empieza deduciendo
función de una h. El plano las condiciones necesarias de
tangente se define independien- primer orden.
temente de la representación,
mientras que M no.
Lema
Angel Sangiacomo C.
F. Ayres H. 132
Capítulo 4
Introducción a la Optimización No Lineal
Sea x* un punto regular de las
restricciones h(x)=0 y un punto
extremo local (mínimo o
máximo) de f sujeto a estas
restricciones. Entonces todo y∈En
que cumpla
∇h(x*)y=0
(5)
debe cumplir también
∇f(x*)y=0
(6)
Prueba:
Sea y un vector cualquiera en el
plano tangente en x*, y x(t), una
curva uniforme cualquiera en la
superficie de restricción que pasa
por x* con derivada y en x*; esto
es, x(0)=x*, x′(0) = y y h(x(t))=0
para –a≤t≤a, para algún a>0.
Como x* es un punto regular. El
plano tangente es idéntico al
conjunto de las y que satisface
∇h(x*)y=0. Entonces, como x* es
un
punto
extremo
local
restringido de f, se tiene
d
f ( x(t ))
dt
t =0
=0,
introducción
de
los
multiplicadores de Lagrange.
Ejemplo: (A clara el Lema)
Sea
f ( x, y ) = x 2 + y 2
Sujeto a: 2 x + 3 y − 2 = 0 .
Mín
Si calculamos su solución resulta
4 ; 6 ) y además ∇h( x, y ) = ( 2, 3) ,
x = ( 13
13
Calculando un y tal que ∇h( x, y ) y = 0
tenemos y = (−3, 2)T , y este cumple con el
lema anterior o sea ∇f(x*)y=0.
Teorema
Sea x* un punto extremo local de
f sujeto a las restricciones h(x)=0.
Supongamos, además, que x* es
un punto regular de estas
restricciones. Entonces, existe un
λ∈Em tal que
∇f(x*)+λT∇h(x*)=0. (7)
Prueba:
A partir del lema se puede
concluir que el valor del
programa lineal
Máx
∇f(x*)y
Sujeto a:
∇h(x*)y=0
es cero. Así, por el teorema de la
dualidad de la programación
lineal el problema dual es
factible. En especial existe un
λ∈Em tal que
∇f(x*)+λT∇h(x*)=0. ♦
o, de otra forma,
∇f(x*)y=0. ♣
El Lema anterior expresa que
∇f(x*) es ortogonal al plano
tangente. A continuación, se
concluye que esto implica que
∇f(x*) es una combinación lineal
de los gradientes de h en x*, una Nota: Las condiciones necesarias de primer
relación que da lugar a la orden
Angel Sangiacomo C.
F. Ayres H. 133
Capítulo 4
Introducción a la Optimización No Lineal
∇f(x*)+λT∇h(x*)=0
resolver para cuatro incógnitas x1,
x2, x3, λ. La solución resultante es
∇h(x*)=0
proporcionan un total de n + m ecuaciones x1=x2=x3=1 y λ =–2.
conjuntamente con las restricciones
(en general no lineal) en las n + m variables
que comprenden x*, λ. Así, las condiciones
necesarias son un conjunto completo, pues, al
menos localmente, determinan una solución
única.
Conviene
introducir
el
Lagrangiano
asociado
al
problema
con
restricciones,
definido como
l ( x, λ ) = f ( x*) + λT h( x*) .
(8)
Entonces,
las
condiciones
necesarias se pueden expresar de
la siguiente forma
∇l x ( x , λ )
(9)
∇ lλ ( x , λ ) ,
(10)
la segunda no es más que un
nuevo planteamiento de las
restricciones.
Ejemplos:
1. Consideremos el problema
Máx
f ( x1 , x2 , x3 ) = x1 x2 + x2 x3 + x1 x3
Sujeto a: x1 + x2 + x3 = 3
Condiciones de Segundo Orden
Con un argumento análogo al
utilizado para el caso sin
restricciones, también se puede
deducir las correspondientes
condiciones de segundo orden
para problemas con restricciones.
En esta sección, se supone que f,
h∈C2.
Condiciones
necesarias
de
segundo orden. Supóngase que
x* es un mínimo local de f sujeto
a h(x)=0 y que x* es un punto
regular de estas restricciones.
Entonces, existe un λ∈Em tal que
∇f(x*)+λT∇h(x*)=0.
(11)
Si se representa por M el plano
M = { y : ∇h( x*) y = 0} ,
tangente
entonces la matriz
L( x*) = F ( x*) + λT H ( x*)
(12)
Las condiciones necesarias se es definida positiva en M, esto es,
convierten en
yT L( x*) y ≥ 0 para todo y∈M.
x2 + x3 + λ = 0
x1 + x3 + λ = 0
x1 + x2 + λ = 0
Prueba:
Del cálculo elemental, es
Estas tres ecuaciones, junto con evidente que para toda curva
la de restricción, proporcionan diferenciable dos veces en la
cuatro ecuaciones que se pueden superficie de restricción S que
Angel Sangiacomo C.
F. Ayres H. 134
Capítulo 4
Introducción a la Optimización No Lineal
pasa por x* (con x(t)=x*+td; y Condiciones de suficiencia de
donde x(0)=x*), resulta
segundo orden. Supongamos que
hay un punto x* que satisface
d2
f ( x(t ))
≥ 0.
(13) h(x*)=0, y un λ∈Em tal que
2
dt
t =0
∇f(x*)+λT∇h(x*)=0.
(16)
Por definición
Supongamos también que la
d2
f ( x(t ))
matriz L(x*)=F(x*)+λTH(x*) es
2
dt
t =0
definida
positiva
en
T
= x& (0) F ( x*) x& (0) + ∇f ( x*) &x&(0) , ( 14) M = { y : ∇h( x*) y = 0} , esto es, para
Además, al diferenciar dos veces y∈M, y≠0, se cumple que
la relación λTh(x(t))=0, se obtiene y T L( x*) y > 0 . Entonces, x* es un
x& (0)T λT H ( x*) x& (0) + λT ∇h( x*)&x&(0) = 0 mínimo local estricto de f sujeto a
(15)
h(x)=0.
Al sumar (14) y (15), teniendo en Prueba:
cuenta (13), se produce el Si x* no es punto mínimo relativo
resultado
estricto, existe una sucesión de
d2
factibles {yk} que
f ( x(t ))
= x& (0)T L( x*) x& (0) ≥ 0 . puntos
2
dt
converge a x* tal que para cada k,
t =0
Como x& (0) es arbitrario en M, se f ( yk ) ≤ f ( x*) . Pondremos a cada
deduce
de
inmediato
la yk de la forma y k = x * +δ k sk ,
conclusión. ♦
n
sk = 1 , y
donde sk ∈ E ,
El teorema anterior es el primer
encuentro
con
la
matriz δ k > 0 para cada k. Es evidente
L=F+λTH, que es la matriz de las que δ k → 0 y la sucesión {Sk}, al
segundas derivadas parciales, con ser acotada, debe tener una
respecto a x, del Lagrangiano l. subsucesión convergente que
Esta Matriz es la base de la teoría tiende a algún s*. Hagamos que
de algoritmos para problemas con converja a s*.
restricciones,
y
nos
la También se tiene h(yk)-h(x*)=0, y
encontraremos
a
menudo dividiendo entre δ k y haciendo
posteriormente.
k→∞
se
observa
que
∇h( x*)s* = 0 .
Angel Sangiacomo C.
F. Ayres H. 135
Capítulo 4
Introducción a la Optimización No Lineal
Ahora por el teorema de Taylor,
para cada j se tiene
0 = h j ( yk ) = h j ( x*) + δ k ∇h j ( x*)sk
+
y
δ k2
2
skT ∇ 2 h j (a j ) sk
(17)
0 ≥ f ( yk ) − f ( x*) = δ k ∇f ( x*) sk
+
δ k2
2
skT ∇ 2 f (a0 ) sk
(18)
⎡0 1 1 ⎤
L = ⎢⎢1 0 1⎥⎥ ,
⎢⎣1 1 0⎥⎦
que no es ni definida positiva ni
negativa. Sin embargo, en el
subespacio M = { y : y1 + y2 + y3 = 0} ,
se observa que
y T Ly = ( y2 + y3 , y1 + y3 , y1 + y2 ) y
donde cada aj es un punto en el = y1 ( y2 + y3 ) + y2 ( y1 + y3 ) + y3 ( y1 + y2 )
segmento de reta que une a x* y a pero como y1 + y2 + y3 = 0 se tiene
yk. Al multiplicar (17) por λj y − y1 = y2 + y3 , . . . lo que nos
sumarlo a (18) se obtiene, resulta
teniendo en cuenta (16),
T
2
2
2
y
Ly
=
−
(
y
+
y
+
y
),
1
2
3
2
m
⎤
δk T ⎡ 2
0≥
s k ⎢∇ f (a0 ) + ∑ λi ∇ 2 hi (ai )⎥ s k , y así, L es definida negativas en
2
i =1
⎣⎢
⎦⎥
M. Por tanto, la solución que se
lo cual es una contradicción halla es, al menos un máximo
cuando k → ∞ . ♠
local.
Ejemplo:
Considere el problema dado por
Máx
x1 x2 + x2 x3 + x1 x3
Sujeto a : x1 + x2 + x3 = 3
Solución:
ya fue resuelto anteriormente y se
obtuvo x1 = x2 = x3 = 1 , λ = −2 ,
que satisfacen las condiciones de
primer orden. En este caso, la
matriz F + λT H se convierte en
Angel Sangiacomo C.
Restricciones de desigualdad
Se tratarán ahora los problemas
de la forma
Mín
f ( x)
Sujeto a : h( x) = 0
g ( x) ≤ 0
(20)
Se supone que f y h son como
antes y que g es una función p dimensional. Inicialmente, se
supone que f, h, g∈C1.
Hay varias teorías distintas sobre
este problema, basadas en
diversas
condiciones
de
F. Ayres H. 136
Capítulo 4
regularidad o calificaciones de
restricción, orientadas a la
obtención de formulaciones
generales
definitivas
de
condiciones
necesarias
y
suficientes.
No
se
puede
pretender que todos estos
resultados se puedan obtener
como extensiones menores de la
teoría para problemas que sólo
tengan restricciones de igualdad.
Sin embargo, hasta ahora estos
resultados alternativos relativos a
las condiciones necesarias sólo
han tenido un interés teórico
aislado —pues no han influido en
el desarrollo de algoritmos, ni
han contribuido a la teoría de
algoritmos. Su utilización se ha
limitado
a
problemas
de
programación a pequeña escala
de dos tres variables—. Así pues
es preferible centrarse en la
sencillez
de
incorporar
desigualdades, en lugar de en las
posibles complejidades, no sólo
para facilitar la presentación y
comprensión,
sino
también
porque éste es el punto de vista
que forma la base del resto del
trabajo, además de obtener
condiciones necesarias.
Introducción a la Optimización No Lineal
Condiciones
primer orden
necesarias
de
Con la siguiente generalización
de la definición anterior, se puede
establecer un paralelismo con el
desarrollo de las condiciones
necesarias para las restricciones
de igualdad.
Definición
Sea x* un punto que satisface las
restricciones
h(x*)=0, g(x*)≤0.
(21)
y sea J el conjunto de índices j
para el cual gj(x*)=0. Entonces,
se dice que x* es un punto
regular de las restricciones (21)
si los vectores gradientes ∇hi(x*),
∇gj(x*),
1≤i≤m,
j∈J
son
linealmente independientes.
Se observa que, según la
definición de restricción activa
dada (gj(x)=0 g es activa), un
punto x* es un punto regular si
los gradientes de las restricciones
son linealmente independientes.
O, de otra forma, x* es regular
para las restricciones si es regular
en el sentido de la definición
anterior para restricciones de
igualdad
aplicadas
a
las
restricciones activas.
Condiciones de Kuhn - Tucker
Angel Sangiacomo C.
F. Ayres H. 137
Capítulo 4
Introducción a la Optimización No Lineal
Falta
mostrar
que
μ≥0.
Sea x* un punto mínimo relativo
Supongamos que μ<0 para algún
para el problema
k∈J. Sean S y M la superficie y el
Mín
f ( x)
plano tangente, respectivamente,
Sujeto a : h( x) = 0
(22) definido
por las restantes
g ( x) ≤ 0
restricciones activas en x*. Por la
y supongamos que x* es un punto hipótesis de regularidad, hay una
regular para las restricciones. y tal que y ∈ M y ∇gk(x*)y<0.
Entonces existen un vector λ∈Em Sea x(t) una curva en S que pasa
y un vector μ∈Ep con μ≥0 tal que por x* (en t=0) con x& (0) = y .
∇f ( x*) + λT ∇h( x*) + μ T ∇g ( x*) = 0 (23) Entonces, Para t≥0 pequeña, x(t)
μ T g ( x*) = 0 (24) es factible y
Prueba:
d
f ( x(t ))
= ∇f ( x*) y < 0
En primer lugar, como μ≥0 y
dt
t =0
g(x*)≤0, se observa que (24) es por (23), lo cual contradice la
equivalente a la formulación de
minimalidad de x*. ♣
que una componente de μ puede
ser distinta de cero sólo si la Nota: si a (23) lo multiplicamos por y
restricción correspondiente es tenemos la conclusión
∇f ( x*) y + λT ∇h( x*) y + μ T ∇g ( x*) y = 0
activa.
∇f ( x*) y + 0 + μ T ∇g ( x*) y = 0
Como x* es un mínimo relativo
en el conjunto de restricciones, pero μ T ∇g ( x*) y > 0 , pues por hipótesis
también es un mínimo relativo en auxiliar μ<0 y ∇g k ( x*) y < 0 de donde se
el subconjunto de ese conjunto concluye ∇f ( x*) y < 0 .
definido
igualando
las
restricciones activas a cero. Así, Ejemplo:
para el problema resultante con Consideremos el problema
2 x12 + 2 x1 x2 + 3x22 − 10 x1 − 10 x2
restricciones
de
igualdad, Mín
2
2
definido en un entorno de x*, hay Sujeto a : x1 + x2 ≤ 5
3x1 + x2 ≤ 6
multiplicadores de Lagrange. Por
tanto, se concluye que (23) se Las condiciones necesarias de
cumple con μj=0 si gj(x*)≠0 (por primer orden, además de las
restricciones, son
tanto se cumple también (24)).
4 x1 + 2 x2 − 10 + 2μ1 x1 + 3μ 2 = 0
Angel Sangiacomo C.
F. Ayres H. 138
Capítulo 4
Introducción a la Optimización No Lineal
2 x1 + 2 x2 − 10 + 2 μ1 x2 + μ 2 = 0
μ1 ≥ 0 ,
μ2 ≥ 0
sólo
el
problema
con
restricciones
de
igualdad
implicado por las restricciones
μ1 ( x12 + x22 − 5) = 0
activas. El plano tangente
μ 2 (3 x1 + x2 − 6) = 0 .
apropiado para estos problemas
Para hallar una solución, se
es el plano tangente a las
definen varias combinaciones de
restricciones activas.
restricciones activas y se
verifican los signos de los
necesarias
de
multiplicadores de Lagrange Condiciones
segundo orden
resultantes.
las
funciones
En este problema, se puede Supongamos
2
intentar hacer activas ninguna, g,h∈C y que x* es un punto
una o dos restricciones, resultan regular de las restricciones (21).
Si x* es un punto mínimo relativo
las ecuaciones
para el problema (20), entonces
4 x1 + 2 x2 − 10 + 2 μ1 x1 = 0
existe λ∈Em, μ∈Ep, μ≥0 tales que
2 x1 + 2 x2 − 10 + 2 μ1 x2 = 0
se cumplen (23) y (24) y tales
x12 + x22 = 5 ,
que
que tienen las soluciones
L( x*) = F ( x*) + λT H ( x*) + μ T G ( x*)
x1 = 1 , x2 = 2 .
μ1=1.
(25)
3
x
+
x
=
5
Esto produce 1 2
y, por es semidefinida positiva en el
tanto, se satisface la segunda subespacio tangente de las
restricción. Así como μ1≥0, se restricciones activas en x*.
concluye que esta solución Prueba:
satisface
las
condiciones Si x* es un punto de mínimo
relativo en las restricciones (21),
necesarias de segundo orden.
también es un punto mínimo
relativo para el problema con
Condiciones de Segundo Orden
restricciones activas tomadas
Las condiciones de segundo como restricciones de igualdad.
orden, necesarias y suficientes, ♠
para problemas con restricciones
de desigualdad, se deducen Al igual que en la teoría de la
esencialmente teniendo en cuenta minimización sin restricciones, se
puede formular una inversa del
Angel Sangiacomo C.
F. Ayres H. 139
Capítulo 4
teorema de la condición necesaria
de segundo orden para obtener un
teorema
de
la
condición
suficiente de segundo orden. Por
analogía con la situación sin
restricciones, se puede esperar
que hipótesis requerida sea que
L(x*) sea definida positiva en el
planto tangente M. De hecho,
esto es suficiente en la mayoría
de las situaciones. Sin embargo,
si
hay
restricciones
de
desigualdad
(esto
es,
restricciones de desigualdad
activas que tengan cero como
multiplicador
de
Lagrange
asociado), se debe exigir que
L(x*) sea definida positiva en el
subespacio mayor que M.
Condiciones de suficiencia de
segundo orden
Sea f, g, h∈C2. Las condiciones
suficientes para que un punto x*
que satisface (21), sea un punto
mínimo relativo estricto del
problema (20) es que exista λ∈Em,
μ∈Ep, tal que
μ≥0
μ T g ( x*) = 0
∇f ( x*) + λT ∇h( x*) + μ T g ( x*) = 0
y la matriz hessiana
L( x*) = F ( x*) + λT H ( x*) + μ T G ( x*)
Angel Sangiacomo C.
Introducción a la Optimización No Lineal
sea definida
subespacio
positiva
en
el
M ' = { y : ∇h( x*) y = 0, ∇g j ( x*) y = 0 ,
para toda j ∈ J } ,
donde
J = { j : g j ( x*) = 0, μ j > 0} .
Prueba:
Como en la demostración del
teorema correspondiente para las
restricciones de igualdad anterior,
supongamos que x* no es un
punto mínimo relativo estricto;
sea {yk} una sucesión de puntos
factibles que converge a x* tal
que f(yk)≤f(x*), y escribiremos
cada yk en la forma yk=x*+δksk,
con sk = 1 , δk>0. Se puede
suponer que δk→0 y sk→s*. Se
tiene 0≥∇f(x*)s*, y para cada
i = 1, L , m , resulta
∇hi(x*)s*=0.
Además, para cada restricción
gj
activa
se
tiene
g j ( yk ) − g j ( x*) ≤ 0 , y por tanto
∇gj(x*)s*≤0.
Si ∇gj(x*)s*=0 para toda j∈J,
entonces la demostración se
desarrolla igual que en la sección
de restricciones de igualdad. Si
∇gj(x*)s*<0 para al menos, una
j∈J, entonces
0≥∇f(x*)s*
T
T
–λ ∇h(x*)s*–μ ∇g(x*)s*>0,
F. Ayres H. 140
Capítulo 4
Introducción a la Optimización No Lineal
♦ primeras derivadas continuas.
Supongamos que x* es un punto
Se observa, sobre todo, que si regular de las restricciones.
todas las restricciones de Demuestre que una condición
desigualdad
tienen necesaria y suficiente para que x*
multiplicadores de Lagrange sea una solución (global) a este
correspondientes estrictamente problema es que existan μ ≥0,
1
positivas (sin desigualdades μ ≥0, . . ., μ ≥0 tales que
2
p
degeneradas),
entonces
el f ( x*) = Mín{ f ( x) + μ1 g1 ( x) + L + μ p g p ( x)}
conjunto J incluye todas las
μi g i ( x) = 0 , para toda i = 1, L , p .
desigualdades activas. En este
caso, la condición suficiente es
que el Lagrangeano sea definido
positivo en M, el plano tangente
de las restricciones activas.
lo cual es una contradicción.
Problemas
E2 ,
1. En
restricciones
x1 ≥ 0
x2 ≥ 0
considérense
las
x2 − ( x1 − 1) 2 ≤ 0
Demostrar que el punto x1=1,
x2=0 es factible, pero no es un
punto regular.
2. Considérese el problema
Mín
f ( x)
Sujetoa : g1 ( x) ≤ 0
g 2 ( x) ≤ 0
M
g p ( x) ≤ 0
,
donde las funciones f y gi,
i = 1, L , p son convexas y tienen
Angel Sangiacomo C.
F. Ayres H. 141
Capítulo 5
Introducción a la Optimización No Lineal
Capítulo 5
Objetivo: Comprender e iniciar la presentación,
análisis y comparación de algunos algoritmos
diseñados para resolver problemas de minimización
con restricciones.
M É T O D O S
P A R A
MINIMIZACIÓN CON
RESTRICCIONES
Métodos Primales
En este capitulo se inicia la
presentación, análisis y comparación de algoritmos diseñados
para resolver problemas de
minimi-zación con restricciones.
donde x es de dimensión n,
mientras que f, g, y h tienen
dimensión
1,
p
y
m,
respectivamente. Se supone en
toda esta parte que todas las
funciones
tienen
derivadas
parciales continuas de orden tres.
Geométricamente se considera
que el problema consiste en
minimizar f en la región de En
definida por las restricciones.
Por un método primal se entiende
un método de búsqueda que
opere en el problema original
buscando
directamente
la
solución optimal en la región
factible. Cada punto en el
proceso es factible y el valor de
la función objetivo decrece
constantemente, Para un problema con n variables y sólo m
restricciones de igualdad, los
métodos primales operan en el
espacio factible que tiene
dimensión n-m.
Ventajas de los Métodos
Los métodos primales tienen tres
Primales
importantes ventajas que recoSe tratará el tema de resolver el miendan su utilización como
problema
general
de procedimientos generales aplicaprogramación no lineal
bles a la mayoría de los probleMín
f ( x)
mas de programación no lineal.
Primera, como cada punto
Sujeto a : h( x) = 0
(1)
generado en el procedimiento
g ( x) ≤ 0
Angel Sangiacomo C.
F. Ayres H. 142
Capítulo 5
de búsqueda es factible si el
proceso termina antes de
alcanzar la solución (como casi
siempre impone la práctica en
problemas no lineales), el
punto en el que se termina es
factible. Así, este punto final es
factible y probablemente esté
cerca de la solución optimal al
problema original, por lo que
puede representar una solución
aceptable al problema práctico
originado por el programa no
lineal.
Una segunda característica
atractiva de los métodos
primales es que, a menudo, se
puede garantizar que si generan
una sucesión convergente, el
punto límite de esa sucesión
debe ser al menos un mínimo
restringido local. En otras
palabras, las características de
convergencia global de estos
métodos suelen ser satisfaztorias.
Finalmente, una ventaja importante es que la mayoría de los
métodos primales no dependen
de una estructura especial del
problema, como la convexidad,
de ahí que estos métodos sean
aplicables a problemas generales de programación no lineal.
Angel Sangiacomo C.
Introducción a la Optimización No Lineal
Sin embargo, los métodos
primales
también
tienen
inconvenientes importantes.
Requieren de fase I para obtener un punto factible inicial, y
están llenos, especialmente los
con restricciones no lineales,
de dificultades computaciones.
Algunos métodos pueden no
llegar a converger en problemas con restricciones de
desigualdad a menos que
tomen
precauciones
muy
estudiadas.
Para terminar la tasa de convergencia de los métodos primales
compiten con las de otros
métodos y, en concreto para
restricciones lineales, suelen estar
entre
los
más
eficientes.
Resumiendo, su aplicabilidad
general y sencillez sitúa a estos
métodos en una posición de gran
importancia entre los algoritmos
de programación no lineal.
Métodos de Direcciones
Factibles
La idea de los métodos de
direcciones factibles es dar pasos
en la región factible de la forma
xk +1 = xk + α k d k ,
(2)
F. Ayres H. 143
Capítulo 5
donde dk es un vector de
dirección y αk es un escalar no
negativo. El escalar se elige para
minimizar la función objetivo f
con la restricción de que el punto
xk+1 y el segmento de recta que
une a xk y xk+1 sean factibles. Así,
para que el proceso de
minimización respecto a α sea no
trivial, en la región factible debe
estar contenido un segmento
inicial del rayo xk+αdk, α>0. Esto
motiva el uso de direcciones
factibles para las direcciones de
búsqueda. Recuérdese que un
vector xk es una dirección factible
(en xk) si existe un α > 0 tal que
xk+αdk sea factible para toda α,
0 ≤α ≤α .
Un método de
dirección factible se puede
considerar
como
extensión
natural
de
los
métodos
descendentes sin restricciones.
Cada paso se compone de la
selección de una dirección
factible y una búsqueda lineal
restringida.
Ejemplo:
(Método
simplificado
de
Zoutendijk). Una de las primeras
propuestas para un método de
dirección factible utiliza un
subproblema de programación
lineal. Consideramos el problema
Angel Sangiacomo C.
Introducción a la Optimización No Lineal
con restricciones de desigualdad
lineales
Mín
f ( x)
sujeto a : a1T x ≤ b1
M
T
am
x ≤ bm
.
(3)
Dado un punto factible, xk, sea I
el conjunto de índices que
representan restricciones activas,
es decir, a1 x = b1 para i∈I.
Entonces, el vector dirección dk
se escoge como solución al
programa lineal
T
Mín
∇f ( x ) d
sujeto a : a1T d ≤ 0,
n
∑
i =1
i∈I
di = 1
donde d=(d1, d2, ..., dn). La última
ecuación es una ecuación de
normalización que asegura una
solución acotada.
Los métodos de direcciones
factibles
tienen
dos
inconvenientes principales que en
la mayoría de los casos hacen que
haya que modificarlos. El primer
inconveniente
es
que
en
problemas generales puede que
no existir direcciones factibles.
Si, por ejemplo, un problema
tiene restricciones de igualdad no
lineales, puede darse la situación
descrita en la figura xx1, donde
F. Ayres H. 144
Capítulo 5
Introducción a la Optimización No Lineal
ninguna recta desde xk tiene un
segmento factible. Para tales
problemas,
es
necesario
flexibilizar el requerimiento de
factibilidad permitiendo que los
puntos se desvíen ligeramente de
la superficie de restricción, o
introduciendo el concepto de
movimiento en curva, en lugar de
en líneas rectas.
Figura xx1.
Direcciones no factibles
El segundo inconveniente es que,
en su forma más simple, la
mayoría de los métodos de
direcciones factible no son
globalmente convergentes. Están
sujetos a perturbaciones (también
llamado zigzagueo) donde la
sucesión de puntos generados por
el proceso converge a un punto
que ni siquiera es un punto
mínimo local restringido. Este fenómeno se puede explicar porque
la transformación algorítmica no
es cerrada.
transformaciones A=MD, donde
D es una transformación que
selecciona una dirección y M es
la transformación correspondiente a la minimización restringida
en la dirección dada. (Se utiliza la
nueva notación M, en lugar de S,
pues ahora la búsqueda lineal se
restringe a la región factible.)
Lamentablemente en los métodos
de dirección factible es bastante
frecuente el caso de que M y D
no sean cerradas.
Ejemplo:
(M no es cerrada).
Consideramos la región
mostrada en la figura
xx2 junto con la
sucesión de puntos
factibles {xk }
y
direcciones
factibles
{dk}. Se tiene que
y
xk → x *
d k → d * . También,
del
diagrama
dirección de ∇f
evidente que
y
la
T
, es
M ( xk , d k ) = xk +1 → x *
Figura xx2
Ejemplo de M no cerrada
M ( x*, d *) = y ≠ x *
.
Así, M no es cerrada
en (x*, d*).
En general, el algoritmo asociado Métodos de Conjunto Activo
a un método de direcciones
factibles se puede representar La idea básica de los métodos de
como la composición de dos conjunto activo es la división de
las restricciones de desigualdad
Angel Sangiacomo C.
F. Ayres H. 145
Capítulo 5
Introducción a la Optimización No Lineal
en dos grupos: las que se van a ∇f ( x) + ∑ λi ∇gi ( x) = 0
i∈ A
tratar como activas y las que se
g i ( x) = 0, i ∈ A
van a tratar como inactivas. Las
g i ( x) < 0 i ∉ A . (7)
restricciones
tratadas
como
λi ≥ 0 i ∈ A
inactivas son esencialmente
λi = 0 i ∉ A
ignoradas.
Consideramos el problema con Las dos primeras líneas de estas
condiciones se corresponden
restricciones
idénticamente con las condicioMín
f ( x)
(5)
nes necesarias del problema con
sujeto a : g ( x) ≤ 0
restricciones
de
igualdad,
que para simplificar este análisis
obtenidas al requerir que las
se toma sólo con restricciones de
restricciones activas sean cero.
desigualdad.
Las siguientes líneas garantizan
Como ya veremos, la inclusión
que se satisfagan las restricciones
de las restricciones de igualdad es
activas, y el requerimiento del
directa.
signo por los multiplicadores de
Las condiciones necesarias para
Lagrange, garantiza que toda
este problema son
restricción activa deba ser activa.
T
∇f ( x ) + λ ∇ g ( x ) = 0
g ( x)
λT ∇g ( x)
≤ 0
= 0
λ
≥ 0
(6)
Estas condiciones se pueden
expresar de forma más sencilla en
función
del
conjunto
de
restricciones activas. Denotamos
por A el conjunto de índices para
las restricciones activas; esto es,
A es el conjunto de i tal que
gi(x*)=0. Entonces, las condiciones necesarias (6) se convierten
en
Angel Sangiacomo C.
La idea de los métodos de
conjunto activo es definir en cada
paso, o en cada fase, de un
algoritmo un conjunto de
restricciones, llamado conjunto
de trabajo, que se tratará como el
conjunto activo. El conjunto de
trabajo se elige como un
subconjunto de las restricciones
que son realmente activas en el
punto actual y, por tanto, dicho
punto es factible para el conjunto
de trabajo. Entonces, el algoritmo
comienza a moverse en la
superficie definida por el
F. Ayres H. 146
Capítulo 5
conjunto
de
trabajo
de
restricciones hacia un punto
mejorado. En este nuevo punto
puede cambiar el conjunto de
trabajo. Entonces, en general, un
método de conjunto activo tiene
las siguientes componentes:
1.
Determinación de un
conjunto de trabajo actual que
es un subconjunto de las
restricciones activas actuales,
y
2. movimiento en la superficie,
definida por el conjunto de
trabajo, hacia un punto
mejorado.
Hay varios métodos para
determinar el movimiento en la
superficie definida por el
conjunto de trabajo. (Esta
superficie se llamará superficie
de trabajo.)
Introducción a la Optimización No Lineal
Consideremos el problema con
restricciones
Mín
f ( x)
sujeto a : g ( x) ≤ 0
que para simplificar este análisis
se toma sólo con restricciones de
desigualdad. Como se verá, las
restricciones de igualdad es
directa.
La condiciones necesarias para
este problema son:
∇f ( x) + λT ∇g ( x) = 0
g ( x) ≤ 0
λT ∇g ( x) = 0 .
λ ≥ 0
(6)
Estas condiciones se puede
expresar de forma más sencilla
en función del conjunto de
restric-ciones
activas.
Si
denotamos por A el conjunto de
índices para las restricciones
Cambios en el Conjunto de activas; esto es, A es el conjunto
Trabajo
de i tal que g(x*)=0. Entonces,
La idea básica del método del las condiciones necesarias (6) se
conjunto activo es la división de convierten en
las restricciones de desigualdad ∇f ( x) + ∑ λ i ∇g i ( x) = 0
en dos grupos: las que se van a
i∈ A
g i ( x) = 0 i ∈ A
tratar como activas y la que se
(7)
g i ( x) < 0 i ∉ A
van a tratar como inactivas. Las
λ i ≥ 0 i∈ A
restricciones
tratadas
como
λ i = 0 i∉ A
inactivas son esencialmente
ignoradas.
Angel Sangiacomo C.
F. Ayres H. 147
Capítulo 5
Introducción a la Optimización No Lineal
Aquí las dos primeras se
corresponden idénticamente con
las condiciones necesarias del
problema con restricciones de
igualdad, obtenidas al requerir
que las restricciones activas sean
cero. Las siguientes líneas
garantiza que se satisfagan las
restricciones activas, y el
requerimiento del signo por los
multiplicadores de Lagrange,
garantiza que toda restricciones
activa deba ser activa.
Cambio
Trabajo
en
el
Conjunto
de
Supongamos que para un
conjunto dado W se resuelve el
problema con restricciones de
igualdad
f ( x)
Mín
sujeto a : g i ( x) = 0,
i ∈W
produciendo
el
punto
xW
(supuesto un mínimo transitorio)
que satisface gi(xW)<0, i ∉W .
Este
punto
satisface
las
condiciones necesarias
∇f ( x ) +
entonces el objetivo puede
disminuir
flexibilizando
la
restricción i. Esto se debe
directamente de la interpretación
de
sensibilidad
de
los
multiplicadores de Lagrange,
pues una pequeña disminución en
el valor de la restricción de 0 a
− c produciría un cambio en la
función objetivo de λic, que es
negativo. Así, eliminando la
restricción i del conjunto de
trabajo, se puede obtener una
solución
mejorada.
El
multiplicador de Lagrange de un
problema sirve como indicación
de las restricciones que deberán
eliminarse del conjunto de
trabajo.
∑
i∈W
λ i ∇g i ( xW ) = 0 .
(8)
Si λ i ≥ 0 para todo i∈W, el
punto xW es una solución local al
problema original. Si, por otro
lado, existe i∈W tal que λ i < 0 ,
Angel Sangiacomo C.
Figura XX133
g 2 = 0 es restricción que se va eliminar.
Teorema del Conjunto Activo
Supongamos que para todo
subconjunto W de los índices de
las restricciones, el problema con
restricciones
Mín f (x)
sujeto a: gi(x)=0, i∈W
(9)
F. Ayres H. 148
Capítulo 5
está bien definido con una
solución única no degenerada
(esto es, para toda i∈W, λi≠0).
Entonces, la sucesión de puntos
generada por la estrategia del
conjunto activo básico converge
a la solución del problema (6)
con restricciones de igualdad.
Prueba:
Después de hallar la solución
correspondiente a un conjunto de
trabajo, se reduce el objetivo y,
por tanto, no se puede regresar a
ese conjunto de trabajo. Como
hay sólo un número finito de
conjuntos de trabajo, el proceso
debe terminar.
♦
Introducción a la Optimización No Lineal
cuando el conjunto de trabajo
cambia un número infinito de
veces. Sin embargo, la experiencia
a mostrado que el zigzagueo es muy
raro en muchos algoritmos, y en la
práctica la estrategia del conjunto
activo con algunas mejoras suele
ser muy efectiva.
Método de Proyección del
Gradiente
El descenso de mayor pendiente
para problema sin restricciones
motiva el método que proyecta el
gradiente negativo sobre la
superficie de trabajo para definir la
dirección del movimiento. Aquí
La dificultad del procedimiento hacemos una presentación muy
anterior es que deben resolverse simplificada basada en una
varios problemas con conjunto estrategia pura de conjunto activo.
activos incorrectos. Es más, las
soluciones a estos problemas
intermedios deben, en general ser
puntos mínimos globales exactos,
para poder determinar el signo
correcto de los multiplicadores de
Lagrange y asegurar que durante
el proceso de descenso siguiente
no se encontrará de nuevo la
superficie de trabajo actual.
Restricciones Lineales
Aquí consideraremos el problema
de la forma
minimizar f (x)
sujeto a:
a T x ≤ bi , i ∈ I1
a T x = bi , i ∈ I 2
(10)
con igualdades y desigualdades
lineales.
En muchos de estos métodos no se Una solución factible a las
puede garantizar la convergencia y, restricciones, si es que existe, se
de hecho, están sujetos al zigzagueo puede hallar con la aplicación del
Angel Sangiacomo C.
F. Ayres H. 149
Capítulo 5
Introducción a la Optimización No Lineal
procedimiento de fase I de la
programación lineal, de modo que
se supondrá que el proceso de
descenso se inicia en dicho punto
factible. En el punto factible x habrá
cierto número q de restricciones
activas que satisfagan aTx=bi, y
algunas restricciones aTx<bi. En un
principio se toma el conjunto de
trabajo W(x) como el conjunto de
restricciones activas.
de rango q<n. El sub espacio
tangente M, en el cual debe estar d,
es el sub espacio de vectores que
satisface Aqd=0. Significando esto
que el sub espacio N que consta de
los vectores que forman las filas de
Aq (esto es, todo los vectores de la
forma AqT λ para λ∈Eq) es ortogonal
a M. En efecto, cualquier vector se
puede expresar como la suma de
vectores de estos dos sub espacios
complementarios. En resumen, el
En el punto factible x se busca un vector gradiente negativo –gk se
vector dirección factible d que puede expresar
satisfaga ∇f(x)d<0, de modo que el
(11)
− g k = d k + AqT λk
movimiento en la dirección d
donde dk∈M y λ∈Eq. Se puede
producirá una disminución en la
función
f.
Inicialmente,
se despejar λk exigiendo que Aqdk=0.
consideran
direcciones
que Así,
Aq d k = − Aq g k − ( Aq AkT )λk = 0 , (12)
satisfagan aTd=0, i∈W(x) de modo
que todas las restricciones de que lleva a
(13)
λk = −( Aq AkT ) −1 Aq g k
trabajo permanezcan activas. Este
requerimiento equivale a exigir que y
el vector dirección d esté en el sub
d k = −[ I − AkT ( Aq AkT ) −1 Aq ]g k = − Pk g k
espacio tangente M definido por el
(14)
conjunto de trabajo de restricciones. La matriz
El vector dirección especial que se
(15)
Pk = [ I − AkT ( Aq AkT ) −1 Aq ]
utilizará es la proyección del se llama matiz de proyección
gradiente negativo sobre el sub correspondiente al sub espacio M.
espacio.
Al actuar sobre cualquier vector se
Para calcular esta proyección,
definiremos Aq compuesta de filas
de
restricciones
de
trabajo.
Suponiendo regularidad de las
restricciones, como se supondrá
siempre, Aq será una matriz de q×n
Angel Sangiacomo C.
genera la proyección de ese vector
sobre M.
Es fácil comprobar que si dk≠0, es
una dirección de descenso. Como
gk+dk es ortogonal a dk, se tiene
2
g kT d k = ( g kT + d kT − d kT )d k = − d k .
F. Ayres H. 150
Capítulo 5
Introducción a la Optimización No Lineal
Así, si dk, calculada por (14), resalta
ser distinta de cero, es una dirección
factible de descenso en la superficie
de trabajo.
A medida que α aumenta desde
cero, el punto x+αd permanecerá
inicialmente factible y el valor
correspondiente de f disminuirá;
esto va determinando el tamaño del
paso. Se halla la longitud del
segmento factible de la recta que
surge de x y después se minimiza f
sobre este segmento. Si el mínimo
se presenta en el extremo, una
nueva restricción se convertirá en
activa y se añade al conjunto de
trabajo.
A continuación, se considerará la
posibilidad de que el gradiente
negativo proyectado sea cero.
Presentamos en este caso
∇f ( xk ) + λTk Aq = 0 ,
(16)
y el punto xk satisface la condición
necesaria para un mínimo en la
superficie de trabajo. Si todas las
componentes de λk correspondientes a las desigualdades activas son
negativas, entonces este hecho,
junto con (16), implica que las
condiciones de Kuhn - Tucker para
el problema original se satisfacen
en xk y el proceso termina. Es este
caso, el λk hallado proyectando el
gradiente negativo es esencialmente
el vector multiplicador de Lagrange
para el problema original (excepto
Angel Sangiacomo C.
que los multiplicadores son valor
cero se deben añadir para las
restricciones inactivas).
Sin embargo, si al menor de una
componente de λk es negativa, es
posible, flexibilizando la desigualdad correspondiente, moverse en
una nueva dirección hacia un punto
mejorado. Suponiendo que λjk, la jésima componente de λk es negativa
y los índices se disponen de modo
que la restricción correspondiente
sea la desigualdad aTj x ≤ b j . Se
determina el vector de dirección
nuevo flexibilizando la j-ésima
restricción
y
proyectando
l
gradiente negativo sobre el sub
espacio determinado por la
restantes q-1 restricciones activas.
Sea Aq la matriz Aq sin la fila aj. Se
tiene
− g k = AqT λk
(17)
− g k = d k AqT λk ,
(18)
donde d k es la proyección de − g k
Aq .
Inmediatamente
utilizando
notamos que d ≠ 0 , pues de nos ser
así, (18) sería un caso especial de
(17) con λjk=0, lo cual es imposible,
pues las filas de Aq son linealmente
independientes. Por el trabajo
anterior se sabe que g kT d k < 0 . Al
multiplicar la traspuesta de (17) por
d k y usando Aq d k = 0 , se tiene
(19)
0 > g kT d k = −λ jk akT d k .
F. Ayres H. 151
Capítulo 5
Introducción a la Optimización No Lineal
Como λ jk < 0 , se concluye que
a kT d k < 0 . Así, el vector d k no sólo
es una dirección de descenso, sino
que es una dirección factible, pues
a kT d k = 0 , i∈W(xk), i ≠ j y a kT d k < 0 .
Por tanto, se puede eliminar j de
W(xk).
En resumen un paso del algoritmo
es como sigue: Dado un punto
factible x
Paso 1: Hallar el sub espacio de
restricciones activas M y
fórmese Aq, W(x).
Paso 2: Calcular
P = I − AqT ( Aq AqT ) −1 Aq y
d = − P∇f ( x)T .
Paso 3: Si d ≠ 0 , hallar α1 y α 2
alcanzado, respectivamente,
Máx {α : x + αd , es factible}
Mín { f ( x + αd ) : 0 ≤ α ≤ α1 } .
Hacer x igual a x + α 2 d y
vuélvase a (1).
Paso 4: Si d=0, hallar
λ = −( Aq AqT ) −1 Aq ∇f ( x)T .
a) Si λj≥0, para toda j
correspondiente
a
desigualdades activas, se
para;
x
satisface
las
condiciones Kuhn – Tucker.
b) De no ser así, eliminar de
Aq la fila correspondiente a
la desigualdad con la
componente más negativa
de λ [y elimínese la
Angel Sangiacomo C.
restricción correspondiente
de W(x)] y volver al paso 2.
No es necesario volver a calcular
toda la matriz de proyección en
cada punto nuevo. Como el
conjunto de restricciones activas en
el conjunto de trabajo cambia como
máximo en una restricción de cada
vez, se puede calcular una matriz de
proyección requerida a partir de la
anterior con un procedimiento de
actualización.
Esta
es
una
característica
importante
del
método de proyección del gradiente
y reduce en gran medida los
cálculos requeridos en cada paso.
Ejemplo:
Considerar el problema
Minimizar x12 + x22 + x32 + x42 − 2 x1 − 3x4
Sujeto a: 2 x1 + x2 + x3 + 4 x4 = 7
x1 + x2 + 2 x3 + x4 = 6
xi ≥ 0 ,
i=1, 2, 3, 4.
Supongamos que dado el punto
factible x=(2, 2, 1, 0) se desea hallar
la dirección del gradiente negativo
proyectado.
Las
restricciones
activas son las dos igualdades y la
desigualdad x4≥0. Así,
⎡ 2 1 1 4⎤
Aq = ⎢⎢1 1 2 1 ⎥⎥ ,
⎢⎣0 0 0 1 ⎥⎦
(21)
y de aquí
F. Ayres H. 152
Capítulo 5
Introducción a la Optimización No Lineal
⎡22
Aq AqT = ⎢⎢ 9
⎢⎣ 4
9
7
1
4⎤
1 ⎥⎥ .
1 ⎥⎦
Ahora calculamos la inversa,
( Aq AqT ) −1
⎡ 6
1 ⎢
= ⎢ −5
11
⎢⎣− 19
−5
6
14
− 19⎤
14 ⎥⎥
73 ⎥⎦
Este vector, si es distinto de cero,
determina la dirección del paso
siguiente. Sin embargo, el vector
propiamente dicho no suele ser una
dirección factible, pues la superficie
puede ser curva, como se ve la
figura XX22.
y por último
⎡ 1 −3 1
⎢
1 ⎢− 3 9 − 3
P=
11 ⎢ 1 − 3 1
⎢
0
0
⎣0
0⎤
0⎥⎥
.
0⎥
⎥
0⎦
(22)
El gradiente en el punto x=(2, 2, 1,
0) es g=(2, 4, 2, -3) y de aquí
resulta
1
d = − Pg = 11
(−8, 24, − 8, 0) ,
o normalizado por 118 ,
d=(-1, 3, -1, 0).
Es fácil comprobar que el
movimiento es esta dirección no
viola las restricciones.
Restricciones no Lineales
Al ampliar el métodos de
proyección
del
gradiente
a
problemas de la forma
minimizar f (x)
sujeto a: h(x)=0
g(x)≤0,
(24)
la idea básica es que en un punto
factible xk se determinen las
restricciones activas y se proyecte
el gradiente negativo sobre el sub
espacio tangente a la superficie
determinada por estas restricciones.
Angel Sangiacomo C.
Figura XX22.
Por lo tanto, no siempre se puede
avanzar por este gradiente negativo
proyectado para obtener el siguiente
punto.
Lo normal ante este in pase es,
esencialmente buscar en una curva
de la superficie de restricción, la
dirección de la curva está definida
por
el
gradiente
negativo
proyectado. Un punto nuevo se
halla de la siguiente manera:
Primero se hace un movimiento a lo
largo del gradiente negativo
proyectado hacia el punto y.
Después se hace un movimiento en
dirección perpendicular al plano
tangente en el punto original hacia
un punto factible próximo sobre la
superficie de trabajo, como se ve en
la figura Xx22. Una vez hallado
este punto, se determina el valor del
F. Ayres H. 153
Capítulo 5
objetivo. Esto se repite con varias y
hasta que se halla un punto factible
que satisfaga uno de los criterios
estándar de descenso para la mejora
relativa al punto original.
Este procedimiento de movimiento
tentativo, fuera de la región factible
para después regresar, introduce
varias dificultades adicionales que
requiere para su resolución una
serie
de
interpolaciones
y
soluciones a ecuaciones no lineales.
Una rutina general satisfactoria que
implementa la idea de la proyección
del gradiente es, por tanto, muy
compleja de necesidad. Aquí no se
pretende tratar esos detalles, sino
simplemente indicar la naturaleza
de las dificultades y los recursos
básicos para superarlas.
Una dificultad se ilustra en la figura
XX23. Si después de moverse por
el gradiente negativo proyectado
hacia un punto y, se intenta regresar
a un punto que satisfaga las
anteriores restricciones activas, se
podrían violar algunas dificultades
que
se
habían
satisfecho
originalmente. En esta circunstancia
se debe utilizar un esquema de
interpolación para hallar un punto
nuevo y a lo largo del gradiente
negativo, de modo que al volver a
las restricciones activas no se viole
ninguna de las restricciones
originales no activas. Hallar una y
apropiada, es en alguna medida, un
Angel Sangiacomo C.
Introducción a la Optimización No Lineal
proceso de prueba y error.
Finalmente, la tarea de volver a las
restricciones activas es un problema
no lineal que debe resolverse con
una técnica iterativa. Dicha técnica
se describirá a continuación, pero
en un número finito de iteraciones
no se puede alcanzar exactamente la
superficie. Así, es típico introducir
un margen de tolerancia δ para el
error, de forma que durante el
procedimiento las restricciones se
satisfagan sólo dentro del margen δ.
El cálculo de las proyecciones
también es más difícil en el caso no
lineal. Por conveniencia de
notación, agrupamos en h(xk) las
desigualdades
activas
y
las
igualdades, la matriz de proyección
en xk es
Pk = I − ∇h( xk )T [∇h( xk )∇h( xk )T ]−1 ∇h( xk )
(25)
Figura XX23.
En el punto xk, esta matriz se puede
actualizar para considerar una
restricción más o menos, como en
el caso lineal. Sin embargo, al
moverse de xk a xk+1, ∇h cambiará y
F. Ayres H. 154
Capítulo 5
no se podrá hallar la matriz de
proyección nueva a partir de la
primitiva, de ahí, que esta matriz
debe volver a calcularse en cada
paso.
La característica nueva más
importante del método es el
problema de regresar a la región
factible desde puntos exteriores de
ella. El tipo de técnica iterativa
utilizado es común en programación
no lineal y se describirá aquí. La
idea consiste en volver desde
cualquier punto próximo a xk a la
superficie de restricción en una
dirección ortogonal al plano
tangente en xk. Así, desde un punto
y se busca un punto de la forma
y+∇h(xk)Tα=y* tal que h(y*)=0.
Como se muestra en la figura
XX24, dicha solución puede no
existir, pero, sí existe para y
suficientemente cerca de xk .
Introducción a la Optimización No Lineal
la ecuación se hace lineal en xk, y se
obtiene
h ( y + h ( x k ) T α ) ≈ h ( y ) + ∇ h ( x k )∇ h ( x k ) T α ,
(26)
donde la aproximación es precisa
para α y y − x pequeña. Esto
motiva la primera aproximación
α1 = −[∇h( xk )∇h( xk )T ]−1 h( y )
(27)
y1 = y − ∇h( xk )T [∇h( xk )∇h( xk )T ]−1 h( y ) .
(28)
Al sustituir y1 en y y repetir
sucesivamente el proceso, resulta la
sucesión {yj} generada por
y j +1 = y j − ∇h( xk )T [∇h( xk )∇h( xk )T ]−1 h( y j )
(29)
que iniciando suficientemente cerca
de xk y de la superficie de
restricción, convergerá a una
solución y*. Notando que este
proceso requiere las mismas
matrices que la operación de
proyección.
Método de Gradiente Reducido
Mirando computacionalmente el
método de gradiente reducido, está
íntimamente relacionado con el
método simplex de la programación
lineal en el sentido de que las
variables del problema están
separadas en un grupo básico y uno
Figura XX24.
no básico. Desde un punto de vista
Para hallar una primera aproxima- teórico, se puede mostrar que el
ción adecuada a α, y por tanto a y*, método se comporta de manera
Angel Sangiacomo C.
F. Ayres H. 155
Capítulo 5
Introducción a la Optimización No Lineal
análogo al método de proyección primeras componentes de x, pero,
en general esto no es así). En
del gradiente.
relación con la partición, el
El caso de Restricciones Lineales problema original se puede expresar
Partimos del problema
como
minimizar f (x)
(61a)
minimizar f (y, z)
By+Cz=b
(61b)
sujeto a;
Ax=b,
x≥0, (60) sujeto a:
y≥0, x≥0,
(61c)
donde x∈En, b∈En, A es de m×n y f donde A=[B, C]. Se puede
es una función de C2. Las considerar que z está formado por
restricciones se expresan en formato las variables independientes, y y por
de la forma estándar de la las variables dependientes, pues si z
programación
lineal.
Para está especificado, (61b) sólo se
simplificar la notación, se supone puede resolver despejando y.
que se requiere que cada variable Además un cambio pequeño en Δz
sea no negativa –si hubiera algunas en el valor original que deje z + Δz
libres, el procedimiento (pero no la no negativo, generará después de
notación) seria algo más sencillo–. resolver (61b), otra solución
Se recurre a la suposición de no factible, pues y se consideró
degeneración de que todo conjunto originalmente como estrictamente
de m columnas de A es linealmente
positiva, por lo que y+Δy será
independiente y toda solución
también positiva para Δy pequeño.
básica a las restricciones tiene m
Por tanto, se puede pasar de una
variables estrictamente positivas.
solución
factible
a
otra
Con estas suposiciones cualquier
solución factible tendrá, como seleccionando Δz y moviendo z en
máximo, n-m variables que tomen la recta z+αΔy, α≥0. En
consecuencia y se moverá a lo largo
el valor cero.
Dado un vector x que satisfaga las de la recta correspondiente a
restricciones, se separan las y+αΔy. Si al moverse de esta
variables en dos grupos: x=(y, z), manera alguna variable llega a ser
donde y tiene dimensión m, y z, cero, se hace activa una nueva
n-m. Esta partición se hace de restricción de desigualdad. Si
manera que todas las variables de y alguna variable independiente se
sean estrictamente positivas (para hace cero, debe seleccionarse una
simplificar la notación se señalan nueva dirección Δz. Si una variable
las variables básicas como las m dependiente (básica) se hace cero,
Angel Sangiacomo C.
F. Ayres H. 156
Capítulo 5
Introducción a la Optimización No Lineal
la partición debe modificarse. La
variable básica con valor cero de
declara independiente y una
variable
independiente
estrictamente positiva se hace
dependiente.
En
términos
operativos, este intercambio se
asociará con una operación de
pivote.
La idea de método de gradiente
reducido consiste en considerar, en
cada etapa, el problema sólo en
función de las variables independientes. Como el vector de las
variables dependientes y se
determina con las constantes (61b)
del
vector
de
variables
independientes z, la función
objetivo puede considerarse con
función sólo de z. De ahí que se
puede
realizar
una
simple
modificación del descenso de
mayor pendiente que tenga en
cuenta
las
restricciones.
El
gradiente respecto a las variables
independientes z (el gradiente
reducido) se halla evaluando el
gradiente de f ( B −1b − B −1Cz, z ) . Es
igual a
r T = ∇ z f ( y, z ) − ∇f ( y, z ) B −1C .
(62)
Es fácil comprobar que un punto
(y, z) satisface las condiciones
necesarias de primer orden de
optimalidad si, y sólo si,
ri = 0 , para todo zi > 0
Angel Sangiacomo C.
ri ≥ 0 ,
para todo zi = 0 .
En la forma del conjunto activo del
método de gradiente reducido, el
vector z se mueve en la dirección
del gradiente reducido en la
superficie de trabajo. Así, en cada
paso se determina una dirección de
al forma
⎧− r , i ∉ W ( z )
Δz i = ⎨ i
⎩ 0, i ∈ W ( z )
y se establece un descenso en esta
dirección. El conjunto de trabajo
aumenta siempre que una nueva
variable se hace cero.; si es una
nueva variable básica también se
elabora una partición nueva. Si se
halla un punto donde ri=0 para toda
i∉W(z) (que representa un gradiente
reducido que se anual en al
superficie de trabajo), pero si rj<0
para algún j∈W(z), entonces j se
elimina de W(z) como en la
estrategia estándar del conjunto
activo.
Se puede evitar la estrategia del
conjunto activo puro alejándose de
la restricción activa cuando eso
conduzca a una mejora, en lugar de
esperar hasta que se halle un
mínimo exacto en la superficie de
trabajo. De hecho, este tipo de
procedimiento suele utilizarse en la
práctica. Una versión avanzada
moviendo el vector z en la dirección
general del gradiente negativo
reducido, peor de esta forma las
F. Ayres H. 157
Capítulo 5
Introducción a la Optimización No Lineal
componentes de z con valor cero se Supongamos que se selecciona
harían negativas y se mantendrían y = ( x1 , x2 ) , entonces, en la forma
en
cero.
Los
pasos
del estándar, las restricciones son
x1 + 0 − x3 + 3 x4 = 1
procedimiento son los siguiente:
0 + x2 + 3 x3 − 2 x4 = 5
⎧− ri , si ri < 0 o zi > 0
⎩ 0, en otro caso.
xi ≥ 0 ,
i=1, 2, 3, 4.
El gradiente en el punto actual es
Paso 2: Si Δz =0, se para: el punto g = (2, 4, 2, − 3) . En consecuencia el
actual es una solución.
gradiente reducido correspondiente
De no ser así, hallar
(respecto a z=(x3, x4)) se halla
-1
Δy=–B CΔz. asignando precio de la manera
Paso 3: Hallar α1, α2, α3 que
usual. La situación en el punto
alcancen, respectivamente, actual se puede resumir por la tabla
Paso 1: Δzi = ⎨
máx {α : y + αΔy ≥ 0 }
máx {α : z + αΔz ≥ 0 }
mín { f ( x + αΔx ) : 0 ≤ α ≤ α1 ,
0 ≤ α ≤ α2 }
Paso 4: Sea x = x + α 3Δx .
Paso 5: Si α3<α1, se vuelve a (1).
De no ser así, declárese
independiente la variable
que se anula en el conjunto
dependiente y declárese
dependiente una variable
estrictamente positiva en el
conjunto
independiente.
Actualícese B y C.
variable
x1
x2
x3
x4
⎧
Restricciones ⎨
⎩
1
0
−1
3
0
0
1
0
3 −2 5
− 8 −1
2
2
r
T
Valor actual
1
1
0
Tabla
En esta solución, x3 y x4 se
incrementarían juntos en razón de
ocho a uno. A medida que
aumentan, x1 y x2 se obtendrían sin
dejar de satisfacer las restricciones.
En conjunto, en E4, la dirección
implicada de movimiento es
d=(5, -22, 8, 1).
Ejemplo:
consideremos:
Queda para el estudiante hacer los
2
2
2
2
Minimizar x1 + x2 + x3 + x4 − 2 x1 − 3x4 detalles computacionales.
Sujeto a: 2 x1 + x2 + x3 + 4 x4 = 7
x1 + x2 + 2 x3 + x4 = 6
xi ≥ 0 ,
i=1, 2, 3, 4.
Solución:
Angel Sangiacomo C.
F. Ayres H. 158
Capítulo 5
Angel Sangiacomo C.
Introducción a la Optimización No Lineal
F. Ayres H. 159
Apéndice
Introducción a la Optimización No Lineal
n
aii = ∑ a ji ,
APÉNDICE
i = 1..n
(I.2)
j =1
j ≠i
podemos escribir el sistema (I.1) de la
forma siguiente:
dx
= Ax
dt
A.0. IDENTIFICACIÓN DE PARÁME- donde:
TROS EN MODELOS DE COMPAR⎡− a11
TIMENTOS Y FUNCIONES CON⎢a
VEXAS EN PROCESOS FARMACOA = ⎢ 21
⎢ ..
LÓGICOS
⎢
⎣ an1
I. Introducción
En los modelos de compartimentos las
sustancias u organismos en estudio se
suponen repartidas en diferentes compartimentos los cuales no son más que clases
de equivalencias definidas a partir de esas
sustancias u organismo de tal forma que
las transferencias entre tales clases de
equivalencias sean proporcionales a la
cantidad
de
unidades
en
cada
compartimento. Llamando xi(t) a la
cantidad de material u organismo en el
compartimento i en el instante t y aij al
coeficiente de proporcionalidad asociado
a la transferencia del compartimento j al i
el cual siempre es positivo, el balance de
la masa (materia u organismos) en cada
compartimento se puede escribir de la
siguiente forma lineales
a12
− a22
..
an 2
(I.3)
a1n ⎤
... a2 n ⎥⎥
,
..
.. ⎥
⎥
... − ann ⎦
...
(I.4)
estas características de la matriz A
garantizan que se cumple el llamado
balance de masa del sistema, o sea que
cualquier instante de tiempo:
n
∑
i =1
n
xi (t ) = ∑ xi (0)
(I.5)
i =1
Para cada matriz A está claro que las
soluciones del sistema (I.1) están
unívocamente determinadas cuando se
conozcan sus condiciones iniciales es
decir, el vector:
⎡ x1 (t 0 ) ⎤
x0 = ⎢⎢ ... ⎥⎥
⎢⎣ xn (t 0 )⎥⎦
el cual habitualmente se obtiene de
manera experimental.
En la práctica los modelos de
compartimentos no están aislados del
n
exterior, por lo que debe introducirse un
⎡ n
⎤
dxi
= − ⎢ ∑ a ji ⎥ ⋅ xi + ∑ aij ⋅ x j , i = 1..n ; término de perturbación u, que representa
dt
⎢⎣ j =1 ⎥⎦
j =1
un efecto de la entrada de la sustancia
(I.1)
hacia los compartimentos desde el
asumiendo
exterior, quedando:
A. Sangiacomo C.
F. Ayres H.
160
Apéndice
Introducción a la Optimización No Lineal
dx
= Ax + u ,
dt
⎡ x1 ⎤
x = ⎢⎢ ... ⎥⎥ ,
⎢⎣ xn ⎥⎦
⎡ u1 ⎤
u = ⎢⎢ ... ⎥⎥
⎢⎣u n ⎥⎦
(I.6)
Teniendo en cuenta las perturbaciones el
balance de masa en un momento dado t,
queda
n
n
i =1
i =1
∑ xi (t ) = ∑ xi (0)∫0
T
ui (r )dr
(I.7)
además puede demostrarse que si los
valores son positivos, las soluciones
mantendrán
indefinidamente
este
carácter, lo que unido al balance de masa
permite
garantizar
la
estabilidad
asintótica de estos modelos.
indican si la variable xi es observable
(σi=1) o no (σi=0).
Una vez demostrado que el sistema es
identificable a priori es necesario
encontrar efectivamente, cuales valores
de los coeficientes aij hacen corresponder
las soluciones del modelo con las
observaciones prácticas (empíricas). Esta
tarea es la llamada identificación a
posteriori.
Es necesario definir un sentido de
proximidad entre las soluciones y las
mediciones. Esto puede hacerse de v
arias maneras.
La forma más evidente es la de minimizar
la desviación entre los valores
observados y calculados de la manera
siguiente:
n
2
T
II. Identificación de Parámetros en
K (aij ) = ∑ σ m ∫ (xm (t ) − xmexp (t ) ) dt = min!
0
Modelos de Compartimentos
m =1
Los modelos de compartimentos pueden
ser utilizados para determinar los
parámetros que describen un sistema,
buscando los aij que hacen óptimo el
ajuste entre la solución teórica del
sistema (I.1) y los datos experimentales.
Antes de resolver este problema es
necesario conocer si es soluble a priori, o
sea, si dada la estructura del sistema, es
posible obtener unívocamente los valores
de los coeficientes aij de la matriz que
determina el sistema. El problema no es
trivial ya que existen ejemplos de
sistemas en los que no es posible
determinar
unívocamente
los
coeficientes.
Por otra parte, debe tenerse en cuesta no
son
observables
todos
los
xi
experimentalmente por lo que se puede
definir un vector s cuyos componentes σ i
A. Sangiacomo C.
(II.1)
exp
donde xm (t) es la curva experimental
para la variable m, y σ m es el
coeficiente que indica si la curva puede
ser observada o no. Esta forma de definir
el sentido de proximidad tiene la
desventaja de que para cada evaluación
de la función K, es necesario resolver el
sistema (I.1) proceso este que consume
mucho tiempo.
Para evitar este problema se puede
escoger como función a minimizar:
K (aij ) =
n
∑ σ m ∫0
m =1
T
⎛ d x m (t )
⎜ dt
⎝
n
−∑
i =1
⎞
xmexp (t ) ⎟⎟
⎠
2
dt = min!
(II.2)
La cual tiene la ventaja de no ser
necesario de resolver el sistema (I.1) pero
incluye el calculo numérico de las
F. Ayres H.
161
Apéndice
Introducción a la Optimización No Lineal
derivadas de las funciones xmexp(t), lo que
ocupa también tiempo y propende por
otra parte, aumentar la importancia del
ruido aleatorio que puede haberse
introducido en las mediciones, por lo que
es recomendable que la utilización de
este método sea precedido por un filtrado
de las curvas experimentales para evitar
este riesgo. Además generalmente las
funciones experimentales están dadas en
forma tubular, incluyendo pocos puntos,
por lo que la aproximación resultante es
pobre, por lo que no permite el cálculo de
las derivadas con buena exactitud.
En ambos casos es necesario encontrar el
mínimo de la función K. Este problema
no es trivial ya que al no poderse
garantizar que K sea convexa, no puede
ni siquiera asegurarse que los mínimos
locales sean globales, o sea, que la
solución posible en el entorno de un
punto sea lo mejor posible en todo el
espacio. De todas maneras, es necesario
primero garantizar el obtener una
solución local, y luego saber si esta es
global.
Teniendo en cuenta la forma de los
coeficientes de la matriz A del sistema
(I.1), el problema se puede interpretar
como un problema de programación no
lineal con restricciones lineales.
Mín K(aij)
sujeto a:
n
− aii + ∑ a ji = 0,
i = 1..n
j =1
i≠ j
aij≥0,
A. Sangiacomo C.
i=1..n.
Si escribimos la matriz A como un vector
2
del espacio E n parando sus filas una a
continuación de la otra
a T = ( a11 , a12 , L , a1n , a21 ,
a22 , L , a1n , L , an1 , an 2 , L , ann )
el problema se puede describir de la
siguiente manera
Mín K(aij)
sujeto a:
Ma=0
a≥0.
donde M ∈ E n
⎛ −1
⎜
⎜0
M =⎜
.
⎜
⎜0
⎝
(II.4)
2
0 ... 0 1
0
0⎞
⎟
0⎟
. ⎟
⎟
... 1 ... ... 0 0 ... − 1⎟⎠
... 0 ... ... 1 0 ...
1 ... 0 0 − 1 ... 0 ... ... 0 1 ...
. . . . .
. . . . . . .
0 ... 1 0
0
(II.5)
En el modelo a veces se conoce de
antemano que algunos aij son iguales a
cero, por lo que hay que añadirle nuevas
restricciones al problema. En nuestra
notación esto se expresa añadiéndole a la
matriz M una fila por cada aij=0, esta fila
va a tener todos sus componentes iguales
a cero salvo el de la posición (n⋅i+j) que
será igual a uno. Con eso se obtiene una
matriz de (n+k)n2, donde k es cantidad de
aij iguales a cero.
III. Elección de un problema
Especifico de Identificación
Esto se refiere que ha manera de ejemplo
practico se desarrolla la solución de uno
en particular.
Farmacocinética
(II.3)
La Farmacocinética es un de las
aplicaciones más conocida de los
modelos de compartimentos. La tarea
aquí consiste en modelar el proceso de
F. Ayres H.
162
Apéndice
Introducción a la Optimización No Lineal
absorción, degradación y eliminación de
un fármaco dado, con el fin de obtener un
determinado efecto terapéutico, o sea
obtener la dosis optima para alcanzar un
determinado efecto terapéutico y no
provocar fuertes efectos secundarios.
• Tomando una sustancia que se
introduce por vía oral se tiene entonces
un compartimento que es el
ESTÓMAGO {1}, al pasar por
difusión a la SANGRE lo distinguimos
como el compartimento {2} y
finalmente todos los procesos de
expulsión del fármaco se agrupan en el
compartimento {3} EXPULSIÓN.
De manera que se estable el siguiente
esquema d compartimentos:
medicamento la cual está representado
por la dosis inicial.
• Otro problema con tratamiento
análogo sería el siguiente:
Tomando ahora un antibiótico que se
introduce por perfusión endovenosa,
se tiene entonces los compartimentos
SANGRE {1}, LÍQUIDO TISULAR
{2} y la EXCRECIÓN {3}, aquí en
{2} es donde surte efecto el
antibiótico.
Veamos el esquema gráfico:
Figura 2.
El cual sería igual el anterior, visto líneas
arriba.
Figura 1
Entonces los coeficientes aij serán
encontrados del sistema de ecuaciones
asociados al esquema de flujo arriba
establecido, así:
0
⎛ x&1 ⎞ ⎛ − a21
⎜ ⎟ ⎜
⎜ x& 2 ⎟ = ⎜ a21 − a32
⎜ x& ⎟ ⎜ 0
a32
⎝ 3⎠ ⎝
0 ⎞ ⎛ x1 ⎞
⎟ ⎜ ⎟
0 ⎟ ⋅ ⎜ x2 ⎟ ; (III.1)
0 ⎟⎠ ⎜⎝ x3 ⎟⎠
tenemos entonces que los coeficientes
a12, a13, a23, a31 y a33 son ceros.
Luego usando una dosis conocida x1(0)
de medicamento y los valores de
concentración del medicamento en sangre
x2, que serán medidos oportunamente por
extracciones periódicas de sangre se
logra determinar los coeficientes aij
corres-pondientes al paciente dado, y con
esto se optimiza la dotación de
A. Sangiacomo C.
Obsérvese que un modela más complejo
incluye sus interacciones reales y sería:
Figura 3
con el correspondiente sistema de
ecuaciones diferenciales que lo describe.
a12
⎛ x&1 ⎞ ⎛ − a21 − a31
⎜ ⎟ ⎜
a21
− a12 − a32
⎜ x& 2 ⎟ = ⎜
⎜ x& ⎟ ⎜
a31
a32
⎝ 3⎠ ⎝
0 ⎞ ⎛ x1 ⎞
⎟ ⎜ ⎟
0 ⎟ ⋅ ⎜ x2 ⎟
0 ⎟⎠ ⎜⎝ x3 ⎟⎠
(III.2)
F. Ayres H.
163
Apéndice
Introducción a la Optimización No Lineal
n T
2
2
IV. Reducción a un Problema de
x (t ) − x exp (t )
= ∑ ∫ (xm (t ) − xmexp (t ) ) dt
0
L2
Programación No Lineal con
m =1
Restricciones Lineales
en todo caso necesitamos el mínimo de
las expresiones dadas y ello nos conduce
Retomemos nuestro problema (III.1) de aun problema de Optimización No
la sección anterior en estudio
Lineal, puesto que son convexas al
&
0
0
x
a
x
−
menos en una vecindad.
⎞ ⎛ 1⎞
⎛ 1 ⎞ ⎛ 21
⎟ ⎜ ⎟
⎜ ⎟ ⎜
⎜ x& 2 ⎟ = ⎜ a21 − a32 0 ⎟ ⋅ ⎜ x2 ⎟ (IV.1) Para proseguir con esta idea debemos
tomar en cuenta que en todo momento se
⎜ x& ⎟ ⎜ 0
a32 0 ⎟⎠ ⎜⎝ x3 ⎟⎠
⎝ 3⎠ ⎝
habla de puntos experimentales que
la solución particular de este sistema unidos forman una curva experimental
homogéneo es:
observable, esto ya lo indicamos con el
uso de σi en el [II] anteriormente. Esto
− a 21t
⎛
⎞
permite trabajar en nuestros cálculos sólo
⎛ x1 ⎞ ⎜ e
⎟
⎜ ⎟
a
t
−
a
t
−
⎜ x2 ⎟ = ⎜ ae 21 − ae 32 ⎟ , (IV.2) con los datos experimentales observables
y por ende comparables, o sea, para el
⎜ x ⎟ ⎜⎜1 + be − a 21t − ae − a32 t ⎟⎟
⎝ 3⎠ ⎝
⎠
último caso de la desviación nos resulta:
a32
a 21
n
2
donde a = a − a y b = a − a ; y además
T
21
32
21
32
∑ σ m ⋅ ∫0 xm (t ) − xmexp (t ) dt ,
m =1
a21≠a32.
cual
nos
evitará
muchas
Son curvas del tipo exponencial para la
complicaciones
innecesarias.
cada xi, i=1,2,3.
La curva formada por la unión de los Para efectos de ajuste a un programa de
puntos observados llamada curva optimización, hagamos un funcional
observable debe ser simulada con K(aij) tal que con los conceptos anteriores
mínimo de error y, este término mínimo se hace
n
2
T
nos da una idea de la minimización del
K (aij ) = ∑ σ m ∫ xm (t ) − xmexp (t ) dt
0
problema, o sea, para cada t∈[0,T] la
m =1
distancia entre la curva observable y la ahora tenemos mínimo Mín K(aij), y
analítica debe ser mínima.
luego tenemos que recordar que en todo
Podríamos elegir sólo la distancia simple momento se hace cumplir que los aij ≥0,
entre xmexp(t) (la curva experimental además no existen perturbaciones, o sea,
observable) y xi(t) hallada por cálculos u=0, pero debe cumplir con
por alguna norma definida por ejemplo:
n
exp
aii =
a ji ,
i = 1..n
xi (t ) − xi (t ) ,
(
)
(
)
∑
j =1
i≠ j
o
x(t ) − x exp (t ) .
Podemos usar la desviación entre los
valores observados y los calculados, o
sea, la norma L2 de la siguiente manera:
A. Sangiacomo C.
o sea:
n
aii − ∑ a ji = 0,
i = 1..n
j =1
i≠ j
F. Ayres H.
164
Apéndice
Introducción a la Optimización No Lineal
y nos resulta el planteamiento completo Ante todo para resolver este último
de la siguiente forma:
problema es necesario saber si es soluble
a priori. El problema general de
Mín K(aij)
identificación a priori no ha sido aún
sujeto a:
resuelto por completo, peor existen varias
n
condiciones necesarias y algunas neceaii −
a ji = 0,
i = 1..n
sarias y suficientes.
j =1
Una de estas características se encuentra
i≠ j
en nuestra matriz A, para el balance de
aij≥0,
i=1..n.
masa, condiciones que ya fueron dada en
y como se ve es un problema de
(I.2) y (I.4).
Programación
No
Lineal
con
Por otra parte debe ser conocido el
Restricciones Lineales.
número de compartimentos xi que son
observables experimentalmente, pues una
V. Solubilidad y Método de Gra- condición necesaria importante para
diente y Condición de Convexidad
nuestro caso es que dado el sistema (I.3)
se cumpla, que si α es el número de
Solubilidad a priori del problema
compartimentos para los cuales ui es
Veamos el caso particular en que se idénticamente nulo y el contenido inicial
tiene:
también lo es, y β el número de
compartimentos σi es nulo, entonces para
que el sistema sea identificable, a priori,
es necesario que al menos el número α⋅β
de coeficientes aij sean idénticamente
nulos. En este problema que abordamos
tenemos α =2 y β=2 y el producto de
Figura 4.
α⋅β=4 y los ceros son cinco.
Para completar esta primera parte
Entonces los coeficientes aij serán también debe tenerse en cuenta que debe
encontrados del sistema de ecuaciones cumplirse en todo momento la condición
diferenciales asociados al esquema de
n
flujo arriba establecido, así:
a −
a = 0,
i = 1..n
∑
0
⎛ x&1 ⎞ ⎛ − a21
⎜ ⎟ ⎜
⎜ x& 2 ⎟ = ⎜ a21 − a32
⎜ x& ⎟ ⎜ 0
a32
⎝ 3⎠ ⎝
0 ⎞ ⎛ x1 ⎞
⎟ ⎜ ⎟
0 ⎟ ⋅ ⎜ x2 ⎟
0 ⎟⎠ ⎜⎝ x3 ⎟⎠
el problema inmediato que surge tanto al
simular como al controlar un sistema, por
modelo de Compartimentos es el de
obtener los parámetros del sistema en
base al conocimientos del comportamiento del sistema en ciertos casos
conocidos.
A. Sangiacomo C.
ii
∑
j =1
i≠ j
aij≥0,
ji
i=1..n.
(V.1)
Condiciones Karush - Kuhn - Tucker que
son las condiciones de convexidad del
problema
Mín K(aij)
sujeto a:
(V.2)
F. Ayres H.
165
Apéndice
Introducción a la Optimización No Lineal
n
aii − ∑ a ji = 0,
i = 1..n
j =1
i≠ j
aij≥0,
siempre activas),
cumplirse que
n
resulta
aii − ∑ a ji = 0,
que
debe
i = 1..n
j =1
i≠ j
i=1..n.
Sabemos que las funciones lineales son
aij≥0,
i=1..n.
(V.5)
convexas, o sea, restricciones del
que son las restricciones del problema.
problema.
Falta sólo las condiciones sobre el Por ello se concluye la convexidad del
Lagrangeano en el método de Karush - problema.
Kuhn - Tucker
Método de Solución y Funciones
⎛
⎞
⎜
⎟
n
convexas
∇K (aij0 ) + ∑ λkij ∇⎜ − aii0 + ∑ aij0 ⎟ = 0
⎜
⎟
k =1
j =1
⎜
⎟
Una vez demostrado que el sistema es
i≠ j
⎝
⎠
s
(V.3)
Aquí ∇K (aij0 ) aplica el gradiente para la
variable aij, s es el número de
restricciones y hay que tener en cuenta
las restricciones que son activas en el
problema a optimizar, con la suerte que
son todas activas por Ma=0, por lo tanto
se tiene lo siguiente:
aij≥0,
entonces
∂
K (aij ) + λk pq = 0 ,
∂ a pq
queda un sistema de ecuaciones que tiene
la siguiente expresión:
n
2 ∑σ m ∫
m =1
T
0
(x
exp
m (t ) − xm (t )
) ∂∂xa (t ) dt
m
pq
+ λk ij = 0 .
(V.4)
identificable α priori es necesario
encontrar efectivamente, cuales valores
de los coeficientes aij hacen corresponder
las soluciones del modelo en ecuaciones
diferenciales con las observaciones
prácticas esta tarea es la llamada
identificación a posteriori.
Toda la idea aquí radica en la
construcción de una función convexa,
pues si esta es una función convexa
tendremos la certeza de que el punto
óptimo existe. Ello lo conseguimos con el
auxilio del punto IV de arriba.
Tomando en cuneta el definido sentido
de proximidad, entre las soluciones y las
mediciones (datos experimentales). La
forma más evidente es minimizar la
desviación entre los valores observados y
los valores calculados de la manera
siguiente:
donde las combinaciones posibles
n
particularmente en este caso, para (p; q) K (a ) = σ T x (t ) − x exp (t ) 2 dt → 0
∑
ij
m ∫0
m
m
son (2; 1) y (3; 2) y además considerando
m =1
la curva observable.
(V.6)
Par el caso λk ij > 0 por lo dicho Esta forma de definir el sentido de
anteriormente, (las restricciones son proximidad tiene la desventaja de cada
evaluación de la función K, es necesario
(
A. Sangiacomo C.
)
F. Ayres H.
166
Apéndice
Introducción a la Optimización No Lineal
resolver el sistema (I.3) proceso este que
consume mucho tiempo.
El método
Para evitar este problema se puede
escoger como función a minimizar
Sea f una función con primeras derivadas
2
exp
n
n
parciales continuas en En. Con frecuencia
⎞
T ⎛ dx
K (aij ) = ∑ σ m ∫ ⎜ m − ∑ a mi xiexp (t ) ⎟ dt → 0
se necesitará el vector gradiente de f, por
⎟
0 ⎜ dt
m =1
i =1
⎠
⎝
lo que se dará una noción simplificadora.
la cual tiene la ventaja de no ser
necesario resolver el sistema (I.3), pero el El gradiente ∇f (x), de acuerdo con lo
incluye el calculo numérico de las establecido, está definido como un vector
derivadas de las funciones xiexp(t), lo que fila n-dimensional. Por conveniencia se
columna
n-dimensional
ocupa también tiempo y propende a define
T
aumentar la importancia del ruido g(x)=∇f (x) . Cuando no hay posibilidad
aleatorio que pueda haberse introducido de ambigüedad aveces se suprime el
en las mediciones, por lo que es argumento x=(x1, x2, ..., xn) y, por
recomendable que la utilización de este ejemplo se T escribe gk en lugar de
método sea precedida por un filtrado de g(xk)=∇f (xk) .
las curvas experimentales para evitar este El método de descenso de mayor
pendiente está definido por el algoritmo
riesgo.
iterativo
(VI.1)
xk +1 = xk − α k g k
Además, generalmente las funciones
experimentales están dadas en forma donde αk es un número no negativo que
tabular, incluyendo pocos puntos, por lo minimiza f ( xk − α g k ) o sea resulta de
que la aproximación resultante es pobre y
⎧
⎫
α k = ⎨α : Mín f ( xk − α g k )⎬ .
el cálculo de las derivadas permite una
⎩ 0 ≤α ≤ ∞
⎭
buena exactitud.
Exciten algunos algoritmos para dar
solución al problema como son el de
En ambos casos es necesario encontrar el
direcciones conjugadas y el método de
mínimo de la función K.
Newton.
De esta manera es necesario primero
garantizar el obtener una solución local, y
Método de Newton
luego saber si esta es global.
VI. Método de Gradiente
El método de Newton se basa en que la
función f que se minimiza se aproxima
localmente por una función cuadrática, y
esta función de aproximación se
minimiza exactamente. Así cerca de xk se
puede aproximar f por la serie de Taylor
truncada
Uno de los métodos más antiguos y
conocido de minimización de una
función de varias variables es el método
de mayor pendiente (también llamado
método de Gradiente).
f ( x) ≈ f ( xk ) + ∇f ( xk )( x − xk )
El método es de gran importancia teórica
+ 12 ( x − xk )T F ( xk )( x − xk ) , (VI.2)
es uno de los más sencillos para los que
existe un análisis satisfactorio.
A. Sangiacomo C.
F. Ayres H.
167
Apéndice
Introducción a la Optimización No Lineal
x& 2 = a21 x1 − a32 x2 + 0 x3 . En donde se han
El lado derecho se minimiza en
−1
xk +1 = xk − [ F ( xk )] ∇f ( xk )
T
, (VI.3) intercambiado
las
derivadas
por
y esta ecuación es la forma pura del conveniencia o facilidad.]
∂ x (t )
método de Newton.
Haciendo wmij = m , se tienen un
∂ aij
Teniendo en cuneta las condiciones de
suficiencia de segundo orden para un sistema de ecuaciones diferenciales para
punto mínimo, se supone que en un punto ij
w :
mínimo relativo, x*, la matriz Hessiana m
ij
d wm
ij
ij
F(x*) es definida positiva.
= −amm wm
+ ∑ amk ⋅ wm
+ δ mi x j ;
dt
Entonces se pude argumentar que si se
k ≠m
tiene segundas derivadas parciales para i ≠ j
continuas, F(x) es definida positiva cerca
ij
d wm
ij
ij
= −amm wm
+ ∑ amk ⋅ wm
− δ mi xm ;
de x*, por lo que el método esta bien
d
t
k ≠m
definido cerca de la solución.
para i=j.
(VII.4)
donde δmi es la delta de Kronecker, con
VII. Cálculo del Gradiente de K
condiciones iniciales nula (homogéneas).
Para hallar los valores de la matriz A o De (VII.4) para nuestro problema
sea identificar los aij que mejor particular que estamos tratando aquí, no
aproximan la curva experimental, se da un total de 27 ecuaciones diferenciales
calcula el mínimo de K, de las ecuaciones de la forma:
(II.1) o (V.6), esto lo conseguimos m=1;
∂ x3
d ∂ x1
∂ x1
∂ x2
aplicando el método de gradiente
= − a11
+ a12
+ a13
− x1
d t ∂ a11
∂ a11
∂ a11
∂ a11
(aij ) k +1 = (aij ) k − α k ∇K (aij ) k
(VII.1)
d
dt
n
∂ K (aij )
T
∂ xm (t )
exp
= 2 ∑σ m ∫ xm (t ) − xm (t )
dt
d
0
∂ aij
∂ aij
m =1
dt
(VII.2)
d
Aquí se nos presenta el problema para
dt
∂ x (t )
(
calcular
m
∂ aij
)
, para ese propósito . . . . . . . . . . .
usamos el siguiente artificio:
n
∂x
∂ xk
d ∂ xm
= −amm m + ∑ amk
d t ∂ aij
∂ aij k ≠ m
∂ aij
−
∂ x3
∂ x1
∂x
∂ x2
= −a11 1 + a12
+ a13
+ x2
∂ a12
∂ a12
∂ a12
∂ a12
∂ x3
∂ x2
∂x
∂ x1
+ a13
+ x3
= −a11 1 + a12
∂ a13
∂ a13
∂ a13
∂ a13
∂ x3
∂ x1
∂x
∂ x2
+ a13
= −a11 1 + a12
∂ a21
∂ a21
∂ a21
∂ a21
n
∂ amk
∂ amm
xk
xm + ∑
∂
a
∂ aij
ij
k ≠m
d
dt
d
dt
∂ x3
∂ x1
∂ x1
∂ x2
= −a11
+ a12
+ a13
∂ a32
∂ a32
∂ a32
∂ a32
∂ x3
∂ x2
∂ x1
∂ x1
+ a13
+ a12
= − a11
∂ a33
∂ a33
∂ a33
∂ a33
m=2;
∂ x3
∂ x2
∂ x1
d ∂ x2
= − a22
+ a21
+ a23
∂ a11
∂ a11
d t ∂ a11
∂ a11
(VII.3)
∂ x3
∂ x2
∂x
[Es referente a la fila m del sistema (I.1). d ∂ x2
= −a22
+ a21 1 + a23
particularmente para (III.1) y para m=2, d t ∂ a12
∂ a12
∂ a12
∂ a12
A. Sangiacomo C.
F. Ayres H.
168
Apéndice
Introducción a la Optimización No Lineal
∂ x3
∂ x2
∂x
d ∂ x2
ij
d wm
= −a22
+ a21 1 + a23
ij
ij
= −amm wm
+
amk ⋅ wm
+ δ mi x j ;
d t ∂ a13
∂ a13
∂ a13
∂ a13
dt
k ≠m
∂ x3
∂x
∂ x2
d ∂ x2
+ a21 1 + a23
= −a22
+ x1 para i ≠ j
∂ a21
∂ a21
d t ∂ a21
∂ a21
ij
d wm
ij
ij
∂ x3
∂ x2
∂ x1
d ∂ x2
= − amm wm
+
amk ⋅ wm
− δ mi xm ;
− x2
= −a22
+ a21
+ a23
d
t
d t ∂ a22
∂ a22
∂ a22
∂ a22
k ≠m
∑
∑
. . . . . . . . . . .
∂ x3
∂ x2
∂ x1
d ∂ x2
= − a22
+ a21
+ a23
d t ∂ a33
∂ a33
∂ a33
∂ a33
m=3
∂ x3
∂ x2
∂ x1
d ∂ x3
+ a32
= −a33
+ a31
d t ∂ a11
∂ a11
∂ a11
∂ a11
. . . . . . . . . . .
∂ x3
∂ x2
∂x
d ∂ x3
= −a33
+ a31 1 + a32
d t ∂ a21
∂ a21
∂ a21
∂ a21
para i = j ,
Paso 2: Definir la función
K (aij ) =
n
∑ σ m ∫0
m =1
T
(x
exp
m (t ) − xm (t )
Paso 3: Definir la función
)2 dt
∂ K (aij )
∂ aij
Paso 4: Definir la matriz M n× n 2 (a ij )
⎛ − a0
0
0 ⎞⎟
⎜ 11
Paso 5: Ingresar M 0 = ⎜ a 021 − a 022 0 ⎟
. . . . . . . . . . .
⎜
⎟
0
⎜ 0
0⎟
a 32
∂ x3
∂ x1
∂ x2
d ∂ x3
⎝
⎠
= −a33
+ a31
+ a32
− x3
d t ∂ a33
∂ a33
∂ a33
∂ a33
Tol. {Valor inicial y la Tolerancia}
Nota: Son los valores respectivamente de
(VII.5)
a21↔a11 y a22↔a32
Paso
6:
M
Y agrupando nos dan un total de 9
n=M0, n=0
sistemas de ecuaciones diferenciales Paso 7: Repetir hasta cumplir Tol.
como por ejemplo (particularmente para
a12):
d
dt
d
dt
d
dt
∂ x1
∂ x1
= − a21
∂ a12
∂ a12
∂ x2
∂ x1
∂ x2
− a32
= a21
∂ a12
∂ a12
∂ a12
∂ x3
∂ x2
=
a32
∂ a12
∂ a12
+ x2
(VII.6)
que al resolver da el valor de los valores
∂ x3
∂ x1
∂ x2
,
,
, del cual sólo
∂ a12
∂ a12
∂ a12
∂ x2
, para comparar.
tomamos el de
∂ a12
de
VIII. Algoritmo:
{Cuerpo del Algoritmo}
∂ K (aij )
Paso 8: Calcular
∂ aij
;
{Por Simpson o trapecios}
Paso 9: Calcular αn óptimo por
⎧
⎫
α n = ⎨α : Mín K (aij − α g n )⎬
⎩ 0 ≤α ≤ ∞
⎭
Paso 10: Calcular
∂ K (aij )
;
M n +1 = M n − α n
∂ aij
Paso 11: n = n + 1;
Paso 12: Si M n +1 − M n ≤ Tol
entonces ir paso 14;
Paso 13: En otro caso
Mn=Mn+1 ir al Paso 8;
Paso 14: Publicar Mn+1.
{Como el valor óptimo del proceso}
Paso 1: Definir la función:
A. Sangiacomo C.
F. Ayres H.
169
Apéndice
IX. Programa Delphi Pascal
Introducción a la Optimización No Lineal
[Un proceso de degradación es
proporcional al proceso y ' ∝ y + r , r es
constante.]
(1)
y ' = −ay + b
dada una tabla de valores experimentales
t
0
1
= 0.5
2
= 0.899796867714381
1
= 1.58787736114947
3
2
= 1.5
2
La idea de lo que debemos hacer para
darle solución al problema es:
y
=0
= 2.00053378903594
= 2.53888223531423
2.5
=2.84098081255924
. . . . . .
. . . . . . .
20
=3.99781840028095
. . . . . .
. . . . . . .
t→∞
y→ 4
Tabla 1.
Primero: se plantea el problema de tres
ecuaciones diferenciales (VII.5) y
resolver por método numérico con las
aproximaciones dadas a21 y a32.
Segundo: se compara con los datos Solución:
experimentales dados pro la muestra del
compartimento observable.
Tercero: se tiene en cuenta la tolerancia o
error con alguna norma entre los datos
experimentales y los calculados.
Cuarto: de acuerdo al paso tercero se
regresa al primero o se para el proceso.
Por lo extenso del programa sólo se
muestra en el disco compacto donde
están todos los programas de este
apéndice “parámetros”
Figura 1.
A.1. Problema de modelación
Modelación
1. Se desea calcular el parámetro a y b
óptimos de una ecuación diferencial I._[Motivaciones, Conceptos, métoordinaria.
dos, recursos]
A. Sangiacomo C.
F. Ayres H.
170
Apéndice
I.1. Motivaciones: Nos motiva como
poder dar solución al problema anterior
donde se nos dice como hallar la solución
del mejor parámetro “a y b” tal que sea
óptimo (una idea, es que debe ser el mejor de
un conjunto de valores que puede tomar a y b tal
que la distancia entre los datos empíricos
observables y los calculados sean los mejores u
óptimos).
I.2. Conceptos: ecuación diferencial de
primer orden, parámetro, óptimos,
distancia, error y error controlado.
Norma, funcional. [Recuerde error y distancia
van de la mano, una necesita de la otra y
viceversa.]
I.3. Métodos: Solución general de una
EDO de primer orden por métodos
algebraicos ordinarios. Solución de una
EDO de primer orden por métodos
numéricos. Solución de una EDO de
primer orden por métodos de series
(Taylor, Picard, coeficientes indeterminados, …).
Por otro lado, se debe poner en evidencia
la necesidad de optimizar a través de
cálculos, convencionales o no, un
determinado parámetro. [En nuestro caso
necesitamos idear {modelo básico} una forma
que relacione los datos empíricos y los calculados
de alguna forma apropiada, pero, verificable (ver
el punto II y II.5.2).]
Introducción a la Optimización No Lineal
parámetros “a
proporcionalidad].
y
b”
[parámetro
y ' ∝ − y + r → y ' = −ay + b
de
(2)
La solución general presenta otro
parámetro llamado de integración,
digamos “k” que deben ser tomados en
cuanta en el proceso de solución del
sistema
y = ba + ke − at ,
(3)
parámetros a, b y k.
Otra cualidad que no debemos dejar pasar
es que empieza de cero o del instante
t0=0.
II.2. Marco experimental: presenta la
tabla 1 que son los valores
experimentales (empíricos) tomados del
fenómeno.
II.3. Relaciones: las relaciones que
tenemos es la que están referidas a la
solución de una ecuación diferencial por
métodos algebraicos.
La construcción del modelo básico
alternativo, con valores supuestos, ya
conocidos de (4).
Estos nuevos valores pueden ser
manejados muy fácilmente y darnos una
idea de consecución de una solución para
un caso hipotético (ver III.).
II. [Análisis del sistema, marco expe- Métodos de ajuste de curvas por métodos
rimental, relaciones, restricciones, estadísticos y otros, cálculo de raíces por
métodos directos o numéricos. Se puede
estrategias de solución]
II.1. Análisis del sistema:
Este sistema presenta una ecuación
diferencial de primer orden con los
A. Sangiacomo C.
recurrir a métodos sofisticados como son
de optimización [Aurea, Cúbicas, Newton,
…], máximos y mínimos, gradiente,
direcciones conjugadas, …
F. Ayres H.
171
Apéndice
Introducción a la Optimización No Lineal
II.4. Restricciones: en la modelación se
debe de considerar las restricciones que
presenta dentro de la tabla 1 y además si
es problema real, no hay infinitos, no hay
aparentes saltos, el proceso es
aparentemente suave. Si es proceso de
degradación tiene fin en algún momento
[al menos en cantidades considerables].
Tal vez, restricciones de tipo de cálculo,
falta de algunos pre experimentos e
información adicional sobre el mismo
proceso de degradación.
Se ve de la tabla que el valor b>0.
Por otro lado se tiene la gran escasez de
datos experimentales.
III.1. Formulación de hipótesis:
H0: (H4) El valor óptimo de “a y b” se
puede calcular optimizando el funcional
h(a, b) de arriba.
H1: La solución se hallará por métodos
numéricos para cada ai, bi y tendremos
una sucesión de valores {y0, y1, ..., yn}.
Debe entenderse que los yi para cada tj,
j=0, 1, ..., Nt son soluciones de (2) por
cualquier método.
H2: La solución la conseguiremos
haciendo cálculos en un funcional que
represente a la distancia (error) entre los
datos experimentales y los calculados por
el modelo o un submodelo.
II.5. Estrategia de solución:
H3: El proceso debe construir una
II.5.1. Creación de un funcional, este sucesión convergente de puntos {a0, a1,
debe tener en cuenta un proceso de a2, ..., an, ...}→a, {b0, b1, b2, ..., bn,
mejorar la forma de encontrar los ...}→b, donde a y b son los valores
buscados.
parámetros a y b
h(a, b) = Experii (a, b) − Calci (a, b)
(5)
o más particular
b
h(a, b) = ∫ ( Experii (a, b) − Calci (a, b)) 2 dt
a
(6)
t ∈{0, 12 ,1, 32 ,2, 52 ,20}
donde
y
Calci ( a, b) ≡ Calci ( a, b, t ) , o sea, depende
de t, [ y = ba + ke − at ].
n
III.2. Formulación del modelo básico:
Recuerde todos los interesados en
resolver un sistema (problema) tienen en
su mente alguna idea, una visión o una
imagen particular de como podrían hallar
un modelo, una solución, de como
funciona; esa misma idea, visión, imagen
constituye un modelo básico.
h( a, b) = ∑ ( Experii (a, b) − Calci (a, b)) 2
i =0
n
h( a, b) = ∑
i =0
Para nuestro caso particular nuestro
modelo básico es una “ecuación
diferencial” y de alguna solución con sus
( Experii (a, b) − Calci (a, b)) . parámetros.
(7)
La filosofía de hallar un óptimo para este
caso cambia un tanto pues, se tiene a la
III. [Formulación de hipótesis, For- vista dos parámetros (variables) a y b.
mulación del modelo básico, For- Nuestro nuevo problema [submodelo se de
mulación del modelo simplificado]
la óptica de la optimización de varias variables],
A. Sangiacomo C.
F. Ayres H.
172
Apéndice
Introducción a la Optimización No Lineal
podríamos usar un método muy sencillo
así como el método coordenado [Usted
puede ver otros …]
⎛⎛ a⎞
⎞
α k ∈{α : Mín h⎜ ⎜⎜ ⎟⎟ − α (Gk )⎟} .
⎟
0 ≤α < ∞ ⎜ ⎝ b ⎠
k
⎝
⎠
(11)
Y en una figura total se ve así:
Se plantea de la siguiente forma:
Se traza dos gráficas particulares en
dirección de a y después en dirección b.
las gráficas generan formas que nos dan
la posible certeza de un descenso.
esta es en dirección
de a, como se nota
tiene un mínimo en el
intervalo [0.1, 5]
Figura 4.
Una idea de llegar al óptimo es caminar
en cada coordenada y halla ese mínimo,
luego en la otra, como se ve el la figura
esta es en dirección 5:
de b, como se nota
tiene un mínimo en
el intervalo [-1, 5]
Figura 5.
Figura 3.
⎛a⎞
⎛a⎞
⎜⎜ ⎟⎟
= ⎜⎜ ⎟⎟ − α k Gk ;
⎝ b ⎠ k +1 ⎝ b ⎠ k
(9)
⎛1 ⎞
⎛0⎞
donde Gk toma direcciones ⎜⎜ ⎟⎟ o ⎜⎜ ⎟⎟
⎝0⎠
⎝1 ⎠
esto es si k es impar o par
respectivamente así:
⎛a⎞
⎛a⎞
⎛1 ⎞
⎜⎜ ⎟⎟
= ⎜⎜ ⎟⎟ − α k ⎜⎜ ⎟⎟
⎝ b ⎠ k +1 ⎝ b ⎠ k
⎝ 0 ⎠k
impar
o
⎛a⎞
⎛a⎞
⎛ 0⎞
⎜⎜ ⎟⎟
= ⎜⎜ ⎟⎟ − α k ⎜⎜ ⎟⎟
⎝ b ⎠ k +1 ⎝ b ⎠ k
⎝1 ⎠ k
donde αk se toma del conjunto
A. Sangiacomo C.
Programando este método en Delphi, en
C++, en MAtLab, etcétera.
El proceso de solución se vuelve tedioso,
pues, para el caso de la tabla 1 se tiene el
siguiente resultado:
Después de 50 iteraciones empezando del
punto inicial (a, b)=(1,5) se tiene por
solución (a, b)=(0.59127, 2.12668) y
después de 331 (a, b)=(0.48807,
1.96257).
(10) III.2.3.
par
Una alternativa mucho más
poderosa es pues de usar método de
gradiente:
⎛a⎞
⎛a⎞
⎜⎜ ⎟⎟
= ⎜⎜ ⎟⎟ − α k Gk .
⎝ b ⎠ k +1 ⎝ b ⎠ k
F. Ayres H.
(8)
173
Apéndice
Introducción a la Optimización No Lineal
donde Gk toma direcciones de gradiente o 2.5
. . . .
sea:
=2.84098081255924 =2.83413082784653
. . . .
20
=3.99781840028095 =4.02087216445654
. . . .
. . . . . . .
=4.02110396262755
t→∞
y→ 4
Tabla 3.
(12)
Qué correcciones se pueden hacer o deben
hacerse?
⎛ ha (a, b) ⎞
⎟⎟
Gk = ⎜⎜
⎝ hb (a, b) ⎠
⎛ ha (a, b) ⎞
⎛a⎞
⎛a⎞
⎟⎟
⎜⎜ ⎟⎟
= ⎜⎜ ⎟⎟ − α k ⎜⎜
⎝ b ⎠ k +1 ⎝ b ⎠ k
⎝ hb (a, b) ⎠ k
n
ha (a, b) = 2∑ [( yi − ba (1 − e − at i ))
i =1
⋅ b2
a
(1 − e
− at i
)(− ba ti e − at i
)]
n
hb (a, b) = 2∑ ( yi − ba (1 − e − at i ))(− a1 (1 − e − at i ))
i =1
(12’)
donde los valores ti y yi son los valores de
tabla 1 y el αk es un elemento del
conjunto formado por
⎛⎛ a ⎞
⎛ h ( a, b ) ⎞ ⎞
⎟⎟ ⎟ } .
α k ∈ {α : Mín h⎜ ⎜⎜ ⎟⎟ − α ⎜⎜ a
0 ≤α < ∞ ⎜ ⎝ b ⎠
h
a
b
(
,
)
⎝ b
⎠ k ⎟⎠
k
⎝
(13)
III.3.
Formulación
del
modelo
simplificado:
Una vez que el modelizador tiene el
modelo básico, la siguiente etapa es el
procesamiento y depuración de la
información, formalización de conceptos,
estructuramiento
de
técnicas
y
depuración de datos e información, y de
experimentación, es cuando a comenzado
la construcción del modelo simplificado,
ello es pues que estamos entrando en una
mejor comprensión del sistema.
[En nuestro modelo se empieza ya por tener la
forma clara de cómo se puede encontrar el
parámetro a, y b ver el punto III.2.2 y III.2.3 de
arriba.]
Para la tabla 1, después de 50 iteraciones
empezando del punto inicial (a, b)=(1,5)
se tiene por solución (a, b) =(0.81380,
2.53724) y después de 782 iteraciones (a,
III.3.1. El valor de a y b se calcula por el
b)=(0.48806, 1.96254).
óptimo de
n
Una comparación de la tabla 1, directa 1. h(a, b) = ∑ ( Experii (a, b) − Calci (a, b)) 2
i =0
usando el resultado:
n
(a, b) = (0.48806, 1.96254)
2.
h
(
a
,
b
)
=
∑ Experii (a, b) − Calci (a, b)
−0.48806 t
1.96254
y=
0.48806
(1 − e
).
t
yexperim
yCalcul
0
=0
=0
1
2
= 0.5 =0.899796867714381
1
(14)
=0.870713244962688
=1.58787736114947 =1.55288583989502
3
2
= 1.5 =2.00053378903594 =2.08734359848424
2
=2.53888223531423 =2.50607208133182
A. Sangiacomo C.
i =0
b
3. h(a, b) = ∫ ( Experii (a, b) − Calci (a, b)) 2 dt
a
(15)
tal que h(a, b) → mínimo; ello se consigue
por [no únicos] método de Gradiente,
Newton, Davidon-Fletcher-Powell,
Fletcher-Reeves, Polak-Riviere, …:
Con la restricción de que se verificará en
cada paso que h(a,b)n>h(a,b)n+1.
F. Ayres H.
174
Apéndice
Introducción a la Optimización No Lineal
III.3.2. El valor de a y b se calcula por el
óptimo de [caso particular]
n
h( a, b) = ∑ ( Experii (a, b) − Calci (a, b))
⎛ ha (a, b) ⎞
⎛a⎞
⎛a⎞
⎟⎟
⎜⎜ ⎟⎟
= ⎜⎜ ⎟⎟ − α k ⎜⎜
⎝ b ⎠ k +1 ⎝ b ⎠ k
⎝ hb (a, b) ⎠ k
De
2
n
h(a, b) = ∑ [( yi − yiR − K (a, b))]2
i =0
(16)
Pero aquí analizamos sólo la derivada, o
(12)
i =1
se tiene:
n
ha (a, b) = −2∑ [( yi − yiR − K ( a, b))
⎛ ha (a, b) ⎞
⎟⎟ , en otras palabras
sea, Gk = ⎜⎜
i =1
⎝ hb (a, b) ⎠
⋅ ∂∂a yiR − K ( a, b)
estudiamos las variaciones en dirección
n
del gradiente, por el criterio de descenso
hb ( a, b) = −2∑ [( yi − ( yi − yiR − K (a, b))
de h(a, b) o h(a,b)n>h(a,b)n+1.
i =1
⋅ ∂∂b yiR − K (a, b) ,
Por los visto en el punto III.2.3, tuvimos
a= 0.4880564064215341,
b= 1.9625431420593951.
ello se tiene comparado en la tabla 3.
y=
1.96254
(1 − e −0.48806 t ) .
0.48806
(17)
donde yiR − K (a, b) es la solución de (1)
por métodos numéricos de Runge - Kutta
para un a y b particular del paso
∂
correspondiente;
y
y R − K (a, b)
∂a i
∂
∂b
yiR − K ( a, b) es la derivada de (1) [para
después calcular las componentes del gradiente
de h(a, b)], el cual crea dos nuevas
ecuaciones diferenciales:
( y ' )'a = (− ay + b)'a
( y ' )'a = − y − a ( y )'a ,
haciendo u = ( y )'a se tiene:
u '= − y − a u
(18)
y
( y ' )'b = (− ay + b)'b
( y ' )'b = − a ( y )'b +1 ,
Figura 6.
haciendo v = ( y )'b se tiene:
v ' = −a v + 1
(19)
III.3.3. Se puede usar métodos numéricos o sea,
u '= − y − a u
para la solución de la ecuación
v ' = −a v + 1 .
diferencial [Runge-Kutta] el planteamiento
podría ser como sigue:
Probar que (18) y (19) son ciertas???
A. Sangiacomo C.
F. Ayres H.
175
Apéndice
Introducción a la Optimización No Lineal
⎛ ha (a, b) ⎞
⎛a⎞
⎛a⎞
⎜
⎟
⎜
⎟
=
−
α
y
luego
k⎜
⎜b ⎟
⎜ ⎟
⎜ h (a, b) ⎟⎟
Estas se resuelven por Runge Kutta pero
⎝ ⎠ k +1 ⎝ b ⎠ k
⎝ b
⎠k
con condiciones iniciales homogéneas.
⎛a⎞
⎛a⎞
− ⎜⎜ ⎟⎟ < error ir a (8)
Paso 6: si ⎜⎜ ⎟⎟
Haga los planteamientos necesarios para resolver
⎝ b ⎠ k +1 ⎝ b ⎠ k
por tres métodos diferentes por lo menos.
Paso 7: en otro caso k=k+1; ir a (4)
⎛a⎞
Paso 8: publicar ⎜⎜ ⎟⎟ ;
⎝ b ⎠ k +1
Otra forma:
Para y ' = −ay + b
(1)
Para el punto III.2.3.
III.2.3. Para el método de gradiente:
Algoritmo:
Paso 9: Parar.
Para el punto III.3.3.
III.3.3. Usando métodos numéricos por el
método Runge - Kutta para la solución de
la ecuación diferencial se sigue:
⎛ ha (a, b) ⎞
⎛a⎞
⎛a⎞
⎟⎟
⎜⎜ ⎟⎟
= ⎜⎜ ⎟⎟ − α k ⎜⎜
b
b
h
(
a
,
b
)
⎝ ⎠ k +1 ⎝ ⎠ k
⎝ b
⎠k
Paso 1: definir h(a, b)
n
= ∑ ( Experii (a, b) − calci (a, b)) 2
(12)
i =0
⎛ ha (a, b) ⎞
⎟⎟ ;
Paso 2: Definir Gk = ⎜⎜
⎝ hb (a, b) ⎠
// como la fórmula (12) y (12’) en III.2.3.
Paso 3: Entrar a0, b0 y error;
//puntos iniciales y tolerancia de cálculo
Paso 4: Calcular
n
ha (a, b) = −2∑ [( yi − yiR − K ( a, b))
i =1
⋅ ∂∂a yiR − K ( a, b)
n
hb ( a, b) = −2∑ [( yi − ( yi − yiR − K (a, b))
i =1
n
⋅ ∂∂b yiR − K (a, b) ,
ha (a, b) = −2∑ [( yi − ba (1 − e − at i ))
(17)
i =1
⋅
b
a2
(1 − e − at i )( − ba ti e − at i )]
n
hb (a, b) = −2∑ [( yi − ba (1 − e − at i ))
i =1
( − a1 (1 − e − at i ))]
//donde los valores ti y yi son los valores de
//tabla 1 o 2
⎛a⎞
de:
Paso 5: Calcular αk y ⎜⎜ ⎟⎟
⎝ b ⎠ k +1
⎛⎛ a ⎞
∂
∂b
yiR − K ( a, b) es la derivada de (1) el cual
crea dos nuevas ecuaciones diferenciales:
u '= − y − a u
v ' = −a v + 1
(18)
(19)
⎛ h ( a, b ) ⎞ ⎞
⎟⎟ ⎟ }
α k ∈ {α : Mín h⎜ ⎜⎜ ⎟⎟ − α ⎜⎜ a
0 ≤α < ∞ ⎜ ⎝ b ⎠
h
a
b
(
,
)
b
⎝
⎠ k ⎟⎠
k
⎝
// el α k es un elemento de ese conjunto
A. Sangiacomo C.
donde yiR − K (a, b) es la solución de (1)
por métodos numéricos de Runge - Kutta
para un a y b particular del paso
∂
correspondiente;
y
y R − K (a, b)
∂a i
Algoritmo:
F. Ayres H.
176
Apéndice
Introducción a la Optimización No Lineal
Paso 1: Definir h(a, b)
n
= ∑ ( Experii (a, b) − calci (a, b)) 2
i =0
Paso 2: Entrar a0, b0 y error;
Paso 3: Definir por Runge - Kutta
yiR − K ( a, b) ;
// para las condiciones iniciales del modelo
∂
Paso 4: y:
y R − K (a, b)
∂a i
∂
∂b
yiR − K (a, b)
// con las condiciones iniciales homogéneas
Paso 5: Calcular
n
ha (a, b) = −2∑ [( yi −
i =1
yiR − K ( a, b))
⋅ ∂∂a yiR − K ( a, b)
n
hb (a, b) = −2∑ [( yi − ( yi − yiR − K ( a, b))
i =1
⋅
∂
∂b
yiR − K (a, b)
// como la fórmula (18) y (19) en III.3.3.
//donde los valores ti y yi son los valores de
//tabla 1
⎛a⎞
de:
Paso 6: Calcular αk y ⎜⎜ ⎟⎟
⎝ b ⎠ k +1
⎛⎛ a ⎞
⎛ h ( a, b ) ⎞ ⎞
⎟⎟ ⎟ }
α k ∈ {α : Mín h⎜ ⎜⎜ ⎟⎟ − α ⎜⎜ a
0 ≤α < ∞ ⎜ ⎝ b ⎠
h
a
b
(
,
)
⎝ b
⎠ k ⎟⎠
k
⎝
// el αk es un elemento de este conjunto
⎛ ha (a, b) ⎞
⎛a⎞
⎛a⎞
⎟⎟
= ⎜⎜ ⎟⎟ − α k ⎜⎜
y luego ⎜⎜ ⎟⎟
⎝ b ⎠ k +1 ⎝ b ⎠ k
⎝ hb (a, b) ⎠ k
⎛a⎞
⎛a⎞
− ⎜⎜ ⎟⎟ < error ir a (9)
Paso 7: si ⎜⎜ ⎟⎟
⎝ b ⎠ k +1 ⎝ b ⎠ k
Paso 8: en otro caso k=k+1; ir a (5)
⎛a⎞
Paso 9: publicar ⎜⎜ ⎟⎟ ;
⎝ b ⎠ k +1
Paso 10: Parar.
Para la tabla 1 para un error=1e-9
después de 552 iteraciones
a = 0.488056507067734
b = 1.96254330904985
h(a, b)= 0.01072963473359
t=0.0; y= 0
t=0.5; y= 0.870715442451957
t=1.0; y= 1.55289095044864
t=1.5; y= 2.08735192474818
t=2.0; y= 2.50608365829879
t=2.5; y= 2.83414552457834
t
0
1
2
3
2
y calculada
=0
= 0.5=0.88479686771438 =0.870715442451957
1
=1.57387736114947 =1.55289095044864
1
= 1.5
=2.11053378903594 =2.08735192474818
=2.52848223531423 =2.50608365829879
2
=2.85398081255924 =2.83414552457834
2.5
. . . .
. . . . . . .
20
=3.99981840028095
. . . .
. . . . . . .
t→∞ y→ 4
Otro:
Usando el algoritmo de Davidon Fletcher
Powell, considerando sólo los datos del
intervalo [0, 2.5] se tiene:
a= 0.4880564063674041
b= 1.9625431419652620
f ( ... ) = 0.0107296347335802 en 776
Iteraciones
Reemplazando en
y = ba (1 − e − at )
se tiene:
652620
y = 10..9625431419
(1 − e −0.4880564063 674041t )
4880564063 674041
Usando el algoritmo para el punto III.3.3. t
para la tabla 3 se tiene:
0
A. Sangiacomo C.
y
=0
y
=0
y calculada
=0
F. Ayres H.
177
Apéndice
Introducción a la Optimización No Lineal
=0.884796867714381 =0.870715389420805
2 12 ”
33.135.5
24.64
73.89
26.12
=1.57387736114947
=1.5528908902021
2”
35 122.5
26.12
100.00
0.00
=2.11053378903594
=2.08735188574712
=2.52848223531423
2
=2.85398081255924
2.5
. . . .
. . . . . . .
=3.99981840028095
20
. . . .
. . . . . . .
t→∞ y→ 4
=2.50608365701686
1
2
= 0.5
1
3
2
= 1.5
=2.83414556935884
=4.02090819141947
Tabla A.1.
Solución:
Se busca un parámetro β tal que
⎛ d
F =⎜
⎜d
⎝ máx
β
⎞
⎟ , sea óptimo.
⎟
⎠
Considerando el intervalo aumentado A.2.1. DESCRIPCIÓN DEL
MÉTODO
[0, 2.5] y el punto t=20 se tiene:
Leyenda:
A: Alimentación continua al
a= 0.4924193411800212
b= 1.9691081758046109
h( ... ) = 0.0107482956260861 en 368
Iteraciones
molino
R: Alimentación continua
más descarga
D: Descarga del molino
O: Overflow (recuperación
de mineral)
U: Underflow
(retorno a
remolienda)
A.2.
Figura A.a.
PROBLEMA DE APLICACIÓN
PRÁCTICA PARA LA SOLUCIÓN
REAL Y DIRECTA EN LA Modelo matemático de ingeniería para la
distribución de bolas en el interior del
MOLIENDA DE MINERALES
Molino.
En el análisis de la distribución de las
β
⎛ d ⎞
⎜
⎟
bolas de acero en el interior del molino F = ⎜
⎟
⎝ d máx ⎠
recargado con bolas de 3.5 pulgadas; se
pide hallar un β tal que sea óptimo en el
(*)
modelo matemático dado por ingeniería
⎛ d
F =⎜
⎜d
⎝ máx
donde:
F → % pasante de bolas.
d → diámetro de bolas.
d máx → diámetro máximo de bolas.
β → constante. (Es por determinar,
debe ser la óptima)
β
⎞
⎟ ,
⎟
⎠
que Lo que se pide es determinar el
parámetro "β" óptimo que nos permita el
dicho modelo aproxime los datos mejor ajuste a los datos experimentales
calculados a los datos experimentales de la tabla A.1.
recogidos en la tabla dada a continuación: El problema en sí, es el de tener donde
actuar con la matemática numérica, o sea,
%
%
estamos hablando de algún método capaz
Tamaño d
Acumulado Acumulado
Peso
% peso
de ajustar los datos de la fórmula (*) a los
(-)
(+)
1”
7
945.5
5.91
5.91
94.09
resultados experimentales.
32
metalúrgica,
3”
58 283.5
A. Sangiacomo C.
43.34
para
49.25
50.75
F. Ayres H.
178
Apéndice
Introducción a la Optimización No Lineal
Usamos
el
xk +1 = xk −
método
de
Newton: A.2.2. Modelo Matemático y
f ' ( xk )
alternativas
, modificado para
f ' ' ( xk )
El modelo potencial F pasante de bolas
hallar mínimos o máximos, la alteramos
es eficiente para calcular los valores de la
así, pues, si la función tiene un mínimo,
tabla A.1 columna 4 pero siempre y
éste es una raíz para la función derivada
cuando se conozca "β" óptimo.
f ’, como se muestra en la figura:
Usando las ideas del punto anteriores de
(A.1.1.) debemos construir una función
Nota: En este caso g=f ’.
convexa que podamos manipular:
4
K ( β ) = ∑ expi − F → 0 ;
i =1
K ( β ) = exp− F
K (β ) = ∫
d máx
d mín
2
→ 0,
(exp− F )2dd
⎛
→ 0
⎞
β
se recuerda que F es. F = ⎜ d ⎟ .
⎜d
⎟
⎝ máx ⎠
En otras palabras buscaremos un mínimo La última integral es la norma en media
que corresponde a la raíz de g=f ’.
pero al cuadrado.
Se pueden construir otros modelos pero
Una manera (no única) de construir una
no es ese el objetivo aquí.
función convexa es usando una norma; y
con la idea de que tienda a cero; por
A.2.3. Elección de un Modelo y
ejemplo:
Figura A.b.
a)
a - b ⎯⎯⎯→ 0 , valor absoluto.
b)
a - b ⎯⎯⎯→ 0 , módulo.
c)
a →b
a →b
d máx
∫d
mín
( a - b )2 dd
⎯a⎯
⎯→ 0 , en
→b
media.
entre otras. Aquí dmáx,
diámetros
máximo
respectivamente y a y
funciones. Podría ser la
Expi y F la pasante.
dmín son los
y
mínimo
b son dos
experimental
Solución
A.2.3.1. Elección de una funcional
Elegiremos la funcional:
K (β ) = ∫
d máx
d mín
(expi − F )2dd → 0 .
Para su resolución tendremos que aplicar
el método de Newton indicado arriba
para hallar máximos o mínimos, y de
K(β) calculamos su punto mínimo, que se
convierte en una raíz de su derivada
K’(β).
A.2.3.2. Solución
A. Sangiacomo C.
F. Ayres H.
179
Apéndice
Introducción a la Optimización No Lineal
Ahora estamos expeditos a aplicar el
método de Newton, sólo calculando la
primera y segunda derivada de K(β)o sea:
K ' (β n )
β n +1 = β n −
(**).
K ' ' (β n )
El uso de este método permite el autoregulado o auto-ajuste en el transcurso de
los cálculos iterativos para hallar el β
óptimo.
Aquí K ' ( β ) = −2
d máx
∫d
mín
(expi − F ) dF dd
dβ
y
⎧ ⎡
⎪ d máx
K ' ' ( β ) = ⎨2⎢∫
d
⎪⎩ ⎢⎣ mín
A.2.4.1.2. Ejecución (corridas)
I) Cálculos para hallar βn con uso del Método de
integración de trapecios y respectiva corrida:
Iniciamos con β0= 6.12 y una tolerancia Tol =
0.000000001
N# Integral K’(β)
Integral K’’(β)
Beta = β
1
0.0125325743
-0.1475974382
-0.0508184346
-0.0150512504
-0.0030195396
-0.0002167481
-0.0000013676
-0.0000000000
-0.0000000000
2 ⎤ ⎡
⎤ ⎫⎪ 2
d máx
⎛ dF ⎞
d 2F
⎜⎜
⎟⎟ dd⎥ − 2⎢∫
(
expi − F ) 2 dd⎥ ⎬
3
⎥ ⎣⎢ d mín
dβ
⎝ dβ ⎠
⎦⎥ ⎭⎪
⎦
4
Para hallar las integrales implicadas en
(**) se hace uso de las fórmulas de los
Trapecios o de Simpson.
K (β ) = ∫
d mín
Experimental 0.00000000 Calculada 0.08716931 Error abs = 0.08716931
Experimental 0.26120000 Calculada 0.23061495 Error abs = 0.03058505
Experimental 0.50750000 Calculada 0.51063974 Error abs = 0.00313974
Experimental 0.94090000 Calculada 1.00000000 Error abs = 0.05910000
II) Cálculos para hallar βn con uso del Método de
integración de Simpson:
A.2.4.1.1. Seudocódigo:
d máx
6.1200000000
1.5657348181
2.6539794475
3.5801842540
4.1591440959
4.3443955981
4.3598621486
4.3599609861
4.3599609901
Último Beta = 4.359960990189
A.2.4.1. Algoritmo en computadora
⎛ d ⎞
⎟
Paso 1: Definir la función F = ⎜
⎜d
⎟
⎝ máx ⎠
Paso 2: Definir la función
5
6
7
8
9
0.0027518323
0.1356289149
0.0548673838
0.0259970543
0.0162996768
0.0140139949
0.0138374893
0.0138363681
0.0138363680
Tabla A.2.
A.2.4. APLICACIÓN DEL
MÉTODO
β
(expi − F )2dd
Paso 3: Definir la función K’(β)
Paso 4: Definir la función K’’(β)
Paso 5: Ingresar β0, Tol. {Valor inicial y la Tolerancia}
Paso 6: β n = β 0 , n = 0
{Cuerpo del algoritmo}
Paso 6: Calcular K’(β). {Por Simpson o Trapecios.}
Paso 7: Calcular K’’(β). {Por Simpson o Trapecios.}
Paso 8: Calcular β n +1 = β n − K ' ( β n )
K ' ' (β n )
Paso 9: n = n + 1
Paso 10: Si β n +1 − β n ≤ Tol entonces
A. Sangiacomo C.
ir al Paso 12.
Paso 11: En otro caso βn=βn+1
ir al Paso 6.
Paso 12: Publicar el valor de βn+1
{como el valor óptimo de proceso.}
Iniciamos con β0= 6.12 y una tolerancia Tol =
0.000000001
N# Integral K’(β) Integral K’’(β) Beta = β
1
2
3
10
11
0.0121789636
-1.0834798700
...
-0.0000000000
-0.0000000000
0.0017759187
0.9530530193
. ..
0.0141200037
0.0141200036
6.1200000000
0.3990132846
...
4.2419068661
4.2419068694
Tabla A.3.
Beta = 0.3990132846
Último Beta = 4.2419068694
Experimental 0.00000000 Calculada 0.09312263 Error abs = 0.09312263
Experimental 0.26120000 Calculada 0.23995979 Error abs = 0.02124021
Experimental 0.50750000 Calculada 0.52001749 Error abs = 0.01251749
Experimental 0.94090000 Calculada 1.00000000 Error abs = 0.05910000
Se tiene que experimentalmente, en el
trabajo de planta sirvió el proceso que se
F. Ayres H.
180
Apéndice
Introducción a la Optimización No Lineal
optimizó usando la integración por modificaciones, para hallar máximos y
Simpson.
mínimos y comparar sus resultados.
A.2.4.1.3. Programas en Pascal:
Método de trapecios [ver en el
disco compacto]
Apéndice B
B.0.
APLICACIÓN DEL MÉTODO
DE NEWTON PARA HALLAR
RAÍCES
COMPLEJAS
EN
ECUACIONES
B.1.
Primer caso de solución
En situaciones prácticas (por ejemplo al
resolver
ecuaciones
diferenciales
lineales), puede resultar necesario
calcular con mayor precisión del valor de
las raíces complejas de una ecuación
dada
f (z)=0.
(1)
donde z=x+yi, i2=–1.
A veces puede utilizarse para este fin un
método análogo al de Newton.
Supongamos que f (z) es una función
analítica en un cierto recinto U de un cero
aislado.
r=s+ti, (f (r)=0, f ’(r)≠0); r∈U,
La idea es seguir los pasos del el cual, por lo general, será complejo. Sea
zn∈U un valor aproximado de la raíz, una
Algoritmo A.1.4.1. paso a paso.
aproximación mejorada de esta raíz:
Al estudiante se le deja como tarea,
z n +1 = z n + Δ z n
efectuar el problema usando los métodos
de Cuadratura de Gauss, Método de
Utilizando un desarrollo lineal en series
Chébyshev y de Romberg.
de Taylor en el punto zn, suponiendo
De otra parte tratar de modelar para otras
f ( z n +1 ) ≈ 0 para (Δ z n )2 , nos resulta:
normas y comparar los resultados.
También se le sugiere usar los métodos
f ( z n +1 ) = f ( z n ) + Δ z n f ′( z n ) = 0
de bisección, de las cuerdas y de las
secantes
con
sus
respectivas de donde
A. Sangiacomo C.
F. Ayres H.
181
Apéndice
Introducción a la Optimización No Lineal
Δ zn = −
f (zn )
f ' (zn )
.
dz
1
.
=
dw f ′( z )
(2)
(4)
De este modo comenzado con un valor z0,
Suponiendo que f ( zn ) < ρ tenemos:
podemos paso a paso obtener las
aproximaciones subsecuentes de la raíz
zn − r = f −1 ( f ( zn )) − f −1( f (r))
utilizando la fórmula
f (z )
f (z )
f ( zn )
z n +1 = z n −
, (n = 0, 1, 2, … )
f ' ( zn )
=∫
(3)
n
f (r )
[
]
d −1
f (t ) dt = ∫
0
dt
n
dt
f ' ( f −1 (t ))
(5)
donde t es un punto situado por ejemplo
Si zn∈U, para n = 1, 2, … y la sucesión sobre el segmento rectilíneo entre los
puntos f (r) y f (zn). Como w < ρ , se
{zn} es convergente, entonces, el límite
deduce que f −1 ( w) < u y de aquí:
r = lím z n
n →∞
es la raíz de (1). En efecto, pasando al
límite (3) cuando n → ∞ , tenemos:
f ' ( f −1 ( w)) ≥ m1 .
⎛
f ( zn ) ⎞
⎟
lím z n +1 = lím ⎜⎜ z n −
n→∞
n → ∞⎝
f ' ( z n ) ⎟⎠
o
r=r−
f (r )
.
f ' (r )
En consecuencia
f (r)=0.
Figura B.a.
♣
Para estimar el error del
aproximado zn, supongamos que
f ' ( z ) ≥ m1 > 0 ,
para
valor
z ∈U .
De aquí, en base a (5), obtenemos
zn − r ≤ ∫
f ( zn )
0
dt
f ′( f −1 (t ))
≤
f ( zn )
.
(6)
m1
Para la suficiencia daremos sin
demostración las condiciones para
w=f (z)
existencia de una raíz de la ecuación (1),
existe, un recinto U de radio u la cual se deduce del teorema de
suficientemente pequeño de la raíz r, Ostrowski.
donde la función w=f (z) tiene una
B.1.1. Teorema
función inversa de valor único
Si una función f (z) es analítica en un
z = f −1 ( w)
recinto cerrado U de radio u de un punto
definida en un recinto w < ρ , cuya zo , y se cumplen las siguientes
desigualdades:
derivada, como sabemos, es
Entonces, para la función dada
A. Sangiacomo C.
F. Ayres H.
182
Apéndice
Introducción a la Optimización No Lineal
i)
1
≤ A0 ,
f ' ( z)
ii)
f ( z0 )
u
≤ B0 ≤ ,
f ' ( z0 )
2
iii) f ' ' ( z ) ≤ C
para
z − z0 < u ,
iv) 2 ⋅ A0 ⋅ B0 ⋅ C = μ 0 ≤ 1
Figura B.b.
la ecuación f (z)=0 tiene una raíz única r
en el dominio z − z0 ≤ u y el proceso de
Newton (3) definido por la aproximación
inicial z0 converge hacia esta raíz, esto es
r = lím z n .
n →∞
La velocidad
proceso está
estimado
Tomaremos como primera aproximación
z0 = π i .
Las sucesivas aproximaciones zn para
n=1, 2, … de la raíz r se hallan en forma
sucesiva aplicando la fórmula de Newton
(3):
de convergencia del
caracterizada por el
r − z n ≤ B0 ⋅ ( 12 ) n −1 ⋅ μ 02
n
−1
.
z1 = z 0 −
f ( z0 )
−π i / 5
=π i −
= 2.618 i ,
f ′( z0 )
− 1.2
f ( z1 )
0.134 − 0.024 i
= 2.618 i −
f ′( z1 )
− 1.066 + 0.5 i
= 0.112 + 2.648 i ,
z 2 = z1 −
(7)
1. Ejemplo:
los cálculos siguientes son de la misma
Hallar aproximadamente la raíz más
forma y los mostraremos en un la tabla
pequeña, en módulo, de la ecuación
siguiente:
z
f ( z) = e z − + 1 = 0 .
5
(8)
n
0
1
Solución:
2
Analicemos para ver si tiene raíces reales.
3
4
En este caso
5
1
f ′( z ) = e − .
5
z
f(zn)
f’(zn)
- - 0.000000 -0.628319 i -1.200000 0.000000
i
0.133975 -0.023599 i -1.066025 0.500000
i
-0.006928 -0.000104 i -1.184623 0.529529
i
-0.000015 -0.000006 i -1.178678 0.529177
i
-0.000000 -0.000000 i -1.178665 0.529181
i
Tabla B.1.
1
5
zn
0.000000 3.141592 i
0.000000 2.617994 i
0.111525 2.648166 i
0.106684 2.645913 i
0.106675 2.645904 i
0.106675 2.645904 i

Como f ′( z ) = 0 cuando z = ln( ) y
f (−∞) = +∞ ,
f (~
z) > 0,
A.2. Segundo caso de solución
f (+∞) = +∞
Otro método para resolver f (z)=0 es
se deduce que la ecuación (8) no tiene reducirla a un sistema de dos ecuaciones
ninguna raíz real (ver la figura B.b).
y dos variables reales.
Estableciendo
A. Sangiacomo C.
F. Ayres H.
183
Apéndice
Introducción a la Optimización No Lineal
z = x + yi
en f ( z ) = 0 y separando la parte real y la
parte imaginaria de la función f (z ) nos
resulta:
f ( z ) = u ( x, y ) + v ( x, y ) i = 0
donde u y v son funciones reales. De aquí
hallamos que f (z)=0 es equivalente al
sistema
⎧ u ( x, y ) = 0
.
⎨
⎩ v ( x, y ) = 0
(1)
La resolución de estos sistemas se vio en
el capítulo 7.
2. Ejemplo:
z
f ( z) = e z − + 1 = 0
5
z = x + yi
y
f ( x + yi) = e x + yi −
x = 0.1 y = 2 f( ... ) = 0.636429273007039
++++++++++ Iteración N# = 1 ++++++++++
Gx = 0.5293973837 Gy = -1.8437019048
x = 0.44556052834223 y = 3.11326429219307
f( ... ) = 0.756884840038915
++++++++++ Iteración N# = 2 ++++++++++
Gx = 2.237272919 Gy = 2.094399918
x = 0.267017126632621 y = 2.69647306190019
f( ... ) = 0.0544493251712421
. . . . . . . . . . . . . . .
++++++++++ Iteración N# = 6 ++++++++++
Gx = 5.1553E-6 Gy = 7.0611E-7
x = 0.106674919816422 y = 2.64590438008393
f( ... ) = 1.63771486501937E-23
Usted mismo puede verlo en disco
compacto !!!
Por ejemplo por Davidon Fletcher Powell
Si nos dan la ecuación anterior
haciendo
tenemos:
= (exp(x)*cos(y)-x/5+1)^2+(exp(x)*sin(y)-y/5)^2
Gradiente :
g( x )=
2*(exp(x)*cos(y)-x/5+1)*(exp(x)*cos(y)1/5)+2*(exp(x)*sin(y)-y/5)*(exp(x)*sin(y))
g( y )=
2*(exp(x)*cos(y)-x/5+1)*(-exp(x)*sin(y))
+2*(exp(x)*sin(y)-y/5)*(exp(x)*cos(y)-1/5)
reemplazando
x + yi
+1 = 0
5
d1 = 1.44001586266464E-6 d2 = -1.10992554681929E-6
alfa = 0.9990909092
p1 = 1.43870675734803E-6 p2 = -1.108916523605E-6
G1 = 1.3654171246079E-8 G2 = -1.01217312361733E-8
x = 0.10667 y = 2.64591 Gx = -0.00000 Gy = 0.00000
f ( ... ) = 5.47709154259137E-12
q1 = 4.80320897872692E-6 q2 = -3.70218843447072E-6
Hk =
[ 0.29955 0.00002 ]
[ 0.00002 0.29956 ]
x = 0.10667492390314 y = 2.64590437705181
f ( ... ) = 4.32649416685698E-17
sabiendo que e x + yi = e x ⋅ (cos( y ) + i sin ( y )) , Por Direcciones conjugadas caso general
f( x ) = (exp(x)*cos(y)-x/5+1)^2+(exp(x)*sin(y)-y/5)^2
nos resulta:
N# de variables = 2
x
+1
5
y
v( x, y ) = e x ⋅ sin( y ) −
5
u ( x, y ) = e x ⋅ cos( y ) −
y
y escribiendo en sistema:
x
⎧
x
⎪ u ( x, y ) = e ⋅ cos( y ) − 5 + 1 = 0
.
⎨
y
x
⎪ v( x, y ) = e ⋅ sin( y ) − = 0
5
⎩
f(...)=
A. Sangiacomo C.
♦
Gradiente :
g( x )=
2*(exp(x)*cos(y)-x/5+1)*(exp(x)*cos(y)1/5)+2*(exp(x)*sin(y)-y/5)*(exp(x)*sin(y))
g(
y
)=
2*(exp(x)*cos(y)-x/5+1)*(exp(x)*sin(y))+2*(exp(x)*sin(y)-y/5)*(exp(x)*cos(y)-1/5)
v0 = [ 1 ; 2 ]
Qi = ⎡ 26.7538795511133 -3.04979916820226⎤
⎢-3.04979916820226 4.77227185862021 ⎥
⎣
⎦
G = 11.1232855997493 G = -3.87848983700419
f(x) = 4.4017477;
Alfa 0.0380700803025912
1 x = 0.5765356 y = 2.1476544 Gx = 3.3710546 Gy = 2.2306629 f(x) = 1.1359128
.................
4 x = 0.1066862 y = 2.6459014 Gx = 0.0000378 Gy = 0.0000099 f(x) = 0.0000000
Alfa = 0.30180289269979
F. Ayres H.
184
Apéndice
Introducción a la Optimización No Lineal
5 x = 0.1066864 y = 2.6459024 Gx = 0.0000384 Gy = 0.0000066 f(x) = 0.0000000
Alfa = 0.299520928664468
A. Sangiacomo C.
F. Ayres H.
185
Bibliografía
Introducción a la Optimización No Lineal
Bibliografía
Armitano, O. Edelman, J. y García, P. (1985). Programación No Lineal.
México: Editorial Limusa. ISBN 968-18-1586-6
Ayala, M. y Pardo, M. (1995). Optimización por diseños experimentales.
Lima Perú: Editorial A&B S. A.
Bazara, M. Sherali, H. y Shetty, C. (1993). Nonlinear Programming theory
and Algorithms. Unite State: Editorial John Wiley & Sons, Inc
Burden, R. y Faires, J. D. (1985). Análisis Numérico. México: Editorial Grupo
Editorial Iberoamérica. ISBN 968-7270-09-8
Cantú, M. (s.f.). La Biblia del DELPHI 5. Madrid: Editorial Anaya
Multimedia. ISBN 84-415-0994-8
Chandrupatla, T. y Belengundu, A. (1999). Elementos Finitos en Ingeniería.
México: Editorial Prentice Hall ISBN 970-17-0260-3
Chartre, F. (1995). Programación con DELPHI 4. Madrid: Editorial Anaya
Multimedia
Cornell, G. y Strain. T. (1995). Programación en Delphi. México: Editorial
McGraw Hill. ISBN 84-481-0339-4
Craggs, J. (1975). Cálculo de Variaciones. México: Editorial Limusa.
Dan Osier, S. y Bastón, S. (1996). Aprendiendo DELPHI 3 en 21 días. México: Editorial
Prentice Hall Hipanoamericana S.A. ISBN 0-672-30863-0
Demidovich, B. y Maron, I (1985). Cálculo Numérico Fundamenta. Madrid. España: Editorial
Paraninfo.
Demidowitsch, B. Maron, I. y Schuwalowa, E. (1980). Métodos Numéricos
del Análisis. Madrid: Editorial Paraninfo. ISBN 84-283-1056-4
Duntemann, J. (1989). La Biblia del turbo Pascal. Madrid España: Editorial Anaya Multimedia.
ISBN-84-7614-223-4.
Edgar, T. y Himmelblau, D. (1988). Optimization of Chemical Processes.
Unite Status: Editorial McGraw Hill.
Elsgotz, L. (1983). Ecuaciones Diferenciales y Cálculo Variacional. Moscú: Editorial Mir.
Etter, D. (1998). Solución de Problemas de Ingeniería con MatLab. México:
Editorial Prentice Hall Hispanoamericana. ISBN 0-13-397688-2 ISBN 97017-0111-9
Gelfand, I. y Fomin, S. (1963). Calculus of Variations. New Jersey: Editorial Prentice Hall.
Gerald, C. y Whwatley, P. (2000). Análisis Numérico con Aplicaciones.
México: Editorial Prentice Hall Pearson Educación. Sexta Edición ISBN
968-444-393-5
Angel Sangiacomo C.
F. Ayres H.
186
Bibliografía
Introducción a la Optimización No Lineal
Heran, D. y Baker, P. (1988). Gráficas por Computadora. México: Editorial
Prentice Hall Hispanoamericana.
Hiller, F. y Lieberman, G. (1991). Introducción Investigación de Operaciones.
México: Editorial McGraw Hill. ISBN P/n 028914-x
Himmenlbleau D. y Bischoff, K. (1976). Análisis y simulación de Procesos.
España: Editorial Reverté S. A.
Iorio, Valeria. (1991). EDP Um Curso de Graduacao. Río de Janeiro: Editorial Impa Río de
Janeiro. ISBN 85-244-0065-X
Issacson, E. y Keller, H. (1979). Analysis of Numerical Methods. Habana
Cuba: Editorial Edición Revolucionaria.
Kincaid, D. y Cheney, W. (1994). Análisis Numérico, Las Matemáticas de
Cálculo Científico. U.S.A.: Editorial Addison Weslwy Iberoamericana. ISBN
0-201-60130-3
Krasnov, M., Makarencko, G. y Kiseliov, A. (1976). Cálculo Variacional (ejemplos y
Problemas). Moscú: Editorial Mir.
Luenberger, D. (1989). Programación Lineal y No Lineal. México: Editorial
Addison-Wesley Iberoamericana. ISBN 0-20164408-8
Luenberger, D. (1978). Optimization by Vector Space Methods. Ney Cork:
Editorial Jhon Wilwy & Sons Inc.
Marquez Diaz Canedo. (1990). Fundamentos de Teoría de optimización
Editorial. México: Limusa.
Nakamura, S. (1992). Métodos Numéricos Aplicados con Software. México:
Editorial Prentice Hall Hispanoamericana. ISBN 968-880-263-8
Nieves, A. y Domínguez, F. (1997). Métodos Numéricos Aplicados a la
Ingeniería. México: Editorial CECSA. ISBN 968-26-1260-8
Noble, B. y Daniel, J. (1989). Álgebra Lineal Aplicada. México: Editorial
Prentice Hall Hispanoamericana. ISBN 968-880-173-9
O’Briem, S. (1993). Turbo Pascal 7 Manual de referencia. Madrid: Editorial
McGraw Hill. ISBN 84-481-0119-07
Osier, D. Grobman, S. y Batson, S. (1996). Aprendiendo DELPHI 2 en 21
Días. México: Edirotial Prentice Hall Hispanoamericana. ISBN 0-672-308630
Peral Alonso, I. (1995). Primer curso de Ecuaciones en Derivadas Parciales. E.EU.U.: Editorial
Addison Wesley. ISBN O-201-65357-5
ISBN-968Pike, R., (1989). Optimización en Ingeniería. México: Editorial AlfaOmega.
6062-86-6
Prawda, J. (1987). Método y Modelos de Investigación de Operaciones.
México: Editorial Limusa.
Sangiacomo, A. (1999). DELPHI Pero si es muy Fácil. Arequipa: Editorial UNSA.
Angel Sangiacomo C.
F. Ayres H.
187
Bibliografía
Introducción a la Optimización No Lineal
Sangiacomo, A. y Antoine, S. (1998). Análisis Numérico 1 Métodos del
Análisis. Arequipa: Editorial UNAS.
Sangiacomo, A. y Antoine, S. (2002). Compilador para Uso en la
Programación para Métodos Numérico. Arequipa: Editorial Departamento
Matemática UNAS.
Taha, H. (1991). Investigación de Operaciones. México: Editorial AlfaOmega.
ISBN-968-6223-25-8
Thireauf, R y Grosse, R. (1981). Investigación de Operaciones. México:
Editorial Limusa.
Tixeira, S. y Pacheco, X. (2000). Guía de Desarrollo Delphi. España:
Editorial Prentice Hall. ISBN 0-672-32781-8. Tomo I y II
Winston, W. (1994). Investigación de Operaciones (aplicaciones y
algoritmos). México: Editorial Grupo editorial Iberoamericano. ISBN 970625-029-8
Wirth, N. (1986). Algoritmos y estructuras de datos. E México: ditorial
Prentice Hall Hispanoamericana. ISBN 0-13-022005-1
Wylie , Car Ray. (1985). Matemáticas Superiores Para ingenieros. México D.F.: Editorial
McGraw-Hill. ISBN-968-6046-84-4
Angel Sangiacomo C.
F. Ayres H.
188
Índice alfabético
Introducción a la Optimización No Lineal
A
C
Activo 145, 148, 157
Aitken 83,
Ajuste 11, 55, 61, 161, 164, 171, 178,
Cuadrático 57, 62,
Cúbico 56,
de curvas 56,
de Newton 60, 62
Algoritmo 13, 23, 31, 36, 41, 49, 51, 58
Algoritmo alternativo de Fibonacci 85
Alternativo de Davidon Fletcher
Powell 111,
Fletcher Reeves 106,
de búsqueda lineal 65,
de Fibonacci 51,
de Interpolación Cuadrática 58,
de Interpolación Cúbica 56,
de la falsa posición (cuerdas) 63,
de Newton 61,
de descenso 129, 162,
de Polak - Ribiere 104,
del caso no cuadrático 102,
del gradiente conjugado 93,
punto apunto 41,
verificación del 96
Algoritmo Cuasi Newton de Autoescala 124,
Aplicaciones de la teoría 18, 73,
Aproximación cuadrática 104,
Áurea 53, 55,
Cambios en el conjunto de trabajo 152,
Caso cuadrático 69, 73, 106, 109, 127,
Caso no cuadrático 75, 105,
Cauchy Schwarz 119,
Cholesky 84,
Cierre de Algoritmo 65,
Cierre de Algoritmo de búsqueda lineal 64,
Cinética 4,
Cinética de reacciones químicas 4,
Clásico 23, 111,
Combinaciones de funciones convexas 26,
Condición
de Kuhn - Tucker 156
necesarias de primer orden 14, 16, 30, 137,
142, 162,
Necesarias de Primer Orden
(Restricciones de Igualdad) 137,
Segundo orden 22, 29, 80, 139, 144, 173,
necesarias de segundo orden 22, 23, 139,
144,
suficientes de segundo orden 25,
suficientes de segundo orden:
caso sin restricciones 23, 25,
Condición Kuhn - Tucker 156,
Condiciones para minimización 132,
Condiciones suficientes 25, 145,
Condiciones suficientes
para un mínimo relativo 25,
Conjunto activo 151, 154, 162,
Conjunto convexo 26,
Conjunto de trabajo 151, 152,
Construcción de la inversa 108,
Convergencia 13, 24, 32, 39, 44, 81, 119,
global de algoritmos de descenso 32,
Convergencia de orden dos 81,
Convergencia en pasos finitos 119, 123,
Convergencia global 39,
Convergencia global
de algoritmos de descenso 32,
Convergencia lineal 44,
Corrección de rango uno 112, 114,
Cotas en la Convergencia 102
Cuadrática 22, 47, 58, 76, 104,
B
Balance de la masa 4, 165,
Broyden 120, 121, 126,
Broyden Fletcher Goldfarb Shanno 121,
Búsqueda 50, 53, 65, 106, 126,
de la sección Áurea 53,
Fibonacci 51,
Lineal 50, 56, 65, 106,
lineal perfecta 126,
Lineal mediante ajuste de Curvas 56,
Angel Sangiacomo C.
F. Ayres H.
193
Índice alfabético
Introducción a la Optimización No Lineal
Cuasi Newton 88, 107, 127,
Cúbico 56, 58,
Cuerdas 62, 65,
G
D
Gauss Southwell 85,
Global de algoritmos de descenso 32,
Goldfarb 121,
Gradiente negativo 68, 95, 105, 155,
Davidon 56, 114, 117, 183,
Definición positiva 118,
Delta de Kronecker ( δ mi ) 174,
Descenso 32, 37, 50, 67, 73, 84, 92
Descenso coordenado 84,
Desigualdad de Kantorovich 71,
Difusión 168,
Direcciones conjugadas 89, 115,
Direcciones factibles 15, 132, 148, 150
E
El método 167
El método G-C como un
proceso optimal 100,
Escalas 78, 124,
Estómago 168,
Excreción 168,
Exponencial 169,
Expulsión 168
Extensión a problemas no cuadráticos 104,
F
Factibles 15, 132, 148, 150,
Farmacológico 165,
Farmacocinética 168,
Fibonacci 51,
Fletcher 106, 114, 119, 122, 180
Fletcher Reeves 106,
Función convexa 26, 185,
Función Objetivo 8, 15, 132,
Funciones Cóncavas 13, 25, 26,
Funciones Convexas 13, 25, 27, 30, 172,
Funciones convexas diferenciables 27,
Funciones convexas en procesos 165,
Angel Sangiacomo C.
I
Identificable a priori 166, 172
Identificación a posteriori 166, 172,
Identificación de parámetros 5, 124, 165,
Interpolación cuadrática 58, 59, 104,
interpolación cúbica 56, 58,
Inversa 24, 108, 111, 130, 158,
K
Kantorovich 71, 110,
Karush Kuhn Tucker 171,
Kronecker δ mi es la delta de 174,
Kuhn Tucker 156, 171,
L
La familia Broyden 123,
Lagrangiano en la familia Kuhn Tucker 138,
Líquido tísular 168,
M
Matrices congruentes 110,
Matrices de transición 110,
Matriz hessiana 22, 80, 145, 173,
Maximización de funciones convexas 30,
Mayor pendiente 50, 67, 73, 82, 129,
Método básico de descenso 50,
Método
clásico 111,
cuasi Newton 105, 123, 127,
F. Ayres H.
194
Índice alfabético
Cuasi Newton Sin Memoria 124
de búsqueda de la sección Áurea 53,
de búsqueda lineal 50, 106,
de conjunto activo 145,
de Davidon Fletcher Powell 111,
de descenso coordenado 84,
de descenso de mayor pendiente 50, 67,
de direcciones conjugadas 89, 94, 190,
de direcciones factibles 143
de Fletcher-Reeves 103
de gradiente 167
de la falsa posición 62, 65,
de las cuerdas 62, 65,
de mayor pendiente 67, 79, 172,
de Newton 50, 60, 80, 108, 167
de Newton modificado 108,
de Polak – Ribiere 104
de Proyección del Gradiente 149
del gradiente conjugado 95, 96, 99,
direcciones factibles 15, 148,
simplificado de Zoutendijk 149,
Métodos de búsqueda lineal 103, ^
Métodos primales 142,
Métodos para minimización con
restricciones 142
Minimización con restricciones 128, 147,
Minimización de funciones convexas 30,
Mínimo relativo 14, 16, 25, 142,
Modelo de desgaste de bolas
en molino rotatorio 184,
Modelo matemático 1, 10, 184,
Modelos físicos 1, 6,
Modificaciones 81,
Morrison 122
Multiplicador de Lagrange 144, 153,
N
Necesarias de primer orden 14, 16, 24,
137, 142,
Necesarias de segundo orden 22, 23,
139, 144,
Newton 35, 60, 62, 80, 107,
Newton Modificado 108,
Angel Sangiacomo C.
Introducción a la Optimización No Lineal
Newton Raphson 60,
No cuadráticos 75, 96, 104,
O
Objetivo 8,
Observable 6, 166, 169,
Optimal 100,
Optimización no lineal 11, 169,
Orden de convergencia 42,
Orden dos 44, 81,
Ostrowki 188,
Ortogonalidad 89, 123,
P
Pasos finitos 119, 123,
Perfusión endovenosa 168,
Plano tangente 134, 144,
Polak Ribiere 107, 180,
Polinomio cuadrático 59
Posteriori 166
Powell 59, 114, 119
Primales 147,
Primer orden 14, 124, 137, 142,
Priori 166
Proceso Optimal 100,
Programa en Delphi de Davidon Fletcher
Powell 112,
Programa en Delphi Pascal de la
Regla Áurea 52,
Programa en Delphi Pascal de la DavidonFletcher-Powell 112
Propiedad de las funciones convexas
diferenciables 27,
Punto mínimo global 14, 30,
Punto mínimo global estricto 15,
Punto regular 135, 142,
R
Rango uno 77, 112,
Rapidez 14, 42,
F. Ayres H.
195
Índice alfabético
Introducción a la Optimización No Lineal
Rapidez de convergencia 42,
Reeves 106,
Regla Áurea 55,
Residuo 25, 62,
Restricciones 132,
Restricciones de desigualdad 11, 144,
Restricciones de igualdad 11, 132,
Restricciones lineales 148, 155, 161, 169,
Ribiere 107,
U
S
W
Sangre 168,
Schwarz 119,
Sección Áurea 53,
Segundo orden 22, 23, 139, 144,
Serie de Taylor 22, 62, 80, 173,
Shanno 121,
Sherman Morrison 122,
Simpson 175, 186,
Soluble a priori 166, 170,
Southwell 85,
Suficientes de segundo orden 25,
caso sin restricciones 16, 23,
Weierstras 14,
Uniforme 95, 134, 137,
Un método clásico 108
V
Verificación del algoritmo 98,
Ventajas de los métodos primales 142
Z
Zangwill 33, 59,
Zoutendijk 149,
T
Tangente 134,
Tasa de convergencia 24, 44, 71, 109,
Tasas 42, 45,
Tasas promedio 45,
Taylor 16, 22, 25, 28, 62, 80, 140
Teorema de convergencia global 38, 39,
Teorema de la dirección conjugada 91,
Teorema del conjunto activo 154,
Teorema del gradiente conjugado 99, 106,
Teorema del método
de Newton modificado 106,
Teorema del sub espacio en expansión 92,
Transformaciones cerradas 38,
Trapecios 175, 186,
Tucker 142, 156,
Angel Sangiacomo C.
F. Ayres H.
196
Descargar