U7 – Técnicas de Optimización Clásica
1
TÉCNI TÉCNI CAS DE OPTI MI ZACIÓN CLÁSICA INTRODUCCIÓN Las técnicas de optimización son herramientas matemáticas que tienen como objetivo la maximización de beneficios, digamos de la eficiencia de un proceso o la minimización de esfuerzos o pérdidas, digamos de las pérdidas de un material para elaborar un producto. Dado que la medida de un esfuerzo requerido, medida de pérdidas o medida de beneficios puede expresarse como una función (función ( función objetivo) objetivo) de varias variables, el proceso de optimización se puede definir como el proceso de búsqueda de aquellas variables que minimizan o maximizan el valor de la función. El proceso de optimización con la búsqueda de la minimización o maximización de una función objetivo se trata del mismo problema, simplemente con el negativo de la función se obtiene el máximo o con la función se obtiene el mínimo; visualizar la siguiente figura:
El parámetro o variable que minimiza o maximiza la función objetivo es la misma para cualquiera de los casos; en x=x* se obtiene el mínimo de la función o el máximo de la función negativa.
Fundamentos de Ingeniería Eléctrica Posgrado en Ingeniería Eléctrica del Instituto Tecnológico de La Laguna
U7 – Técnicas de Optimización Clásica
2
Adicionalmente a esta consideración, las siguientes operaciones sobre la función objetivo no modificarán la solución óptima de la variable encontrada: 1. Multiplicación o división de la función objetivo por una constante positiva 2. Suma o resta de una constante a la función objetivo Visualizar la siguiente figura:
Se puede decir que no existe un solo método para resolver todos los problemas de optimización de forma eficiente, sino que se han desarrollado una gran cantidad de métodos de optimización para resolver diferentes tipos de problemas. Existen técnicas de optimización que se les conoce como técnicas de programación matemática o determinísticas, técnicas estocásticas, técnicas estadísticas y técnicas modernas. La siguiente tabla muestra algunas de las técnicas de optimización. • Las técnicas determinísticas son muy útiles para encontrar el mínimo de
una función objetivo de varias variables bajo una serie de restricciones pre-establecidas siendo las restricciones y las funciones, lineales o no lineales. • Las técnicas estocásticas se pueden emplear para analizar problemas
descritos por un conjunto de variables aleatorias que tienen una función de distribución de probabilidad.
Fundamentos de Ingeniería Eléctrica Posgrado en Ingeniería Eléctrica del Instituto Tecnológico de La Laguna
U7 – Técnicas de Optimización Clásica
3
• Las técnicas estadísticas permiten analizar los problemas con datos
experimentales y la construcción de modelos empíricos para obtener la representación más adecuada de la situación física que se quiere optimizar. • Las técnicas modernas de optimización son algoritmos poderosos que
permiten resolver problemas tan complejos como el caso de movimiento de masas o tendencias, entre otras, que se adecuaron para ser aplicados a problemas de ingeniería.
Las aplicaciones de la optimización matemática pueden ser interminables, pero se enumeran solo algunas en el campo de la ingeniería eléctrica: • Maximización de generación eléctrica con minimización de costos por
insumos. • Planeación óptima y control de producción y sistemas • Diseño óptimo de equipo eléctrico, mecánico, etc. • Determinación de ruta crítica para restablecimiento por colapso de V. Fundamentos de Ingeniería Eléctrica Posgrado en Ingeniería Eléctrica del Instituto Tecnológico de La Laguna
U7 – Técnicas de Optimización Clásica
4
EL PROBLEMA GENERAL DE OPTI MI ZACIÓN El problema de optimización clásica se establece como:
Encontrar el vector de parámetros X = [ x1 x2 L x n ]T tal que minimice el valor de la función objetivo f (X ) , sujeto a cumplir las funciones de restricción dadas por restricciones de desigualdad g j (X ) ≤ 0 j = 1,2,K, m y/o restricciones de igualdad l j (X) ≤ 0 j = 1,2,K, p . Donde: X contiene aquellos parámetros que se están buscando y se le conoce como el vector de diseño; X puede estar formado por un solo parámetro y el problema de optimización se centrará sobre la búsqueda de ese parámetro o puede formarse por varios parámetros en donde la búsqueda será multiparamétrica. La función f (X) es la función objetivo y representa a la variable que quiere optimizarse, como puede ser la función del error al comparar tendencias o curvas, la función minimización de pérdidas, etc. La función o grupo de funciones g(X) es la función de restricciones de desigualdad que hace de la búsqueda de parámetros quede acotada por esta o estas funciones. La función o grupo de funciones l (X) es la función de restricciones de igualdad que también acota la búsqueda de parámetros.
Cuando el problema de optimización contiene al menos una función de restricción, entonces se le conoce como problema de optimización restringida. Si no se cuenta con funciones de restricción entonces se le conoce como problema de optimización no restringida.
El diseño de la función objetivo siempre deberá estar en función de lo que se quiere obtener, es decir, si se quiere saber el valor óptimo de un parámetro dada una serie de mediciones experimentales, entonces la función objetivo debe contener forzosamente al parámetro que se busca. Las funciones de restricción van en el mismo sentido, pero se trata de un acotamiento de búsqueda del parámetro a una serie de restricciones, como por ejemplo que el parámetro sea positivo pero menor que algún límite superior, etc. Fundamentos de Ingeniería Eléctrica Posgrado en Ingeniería Eléctrica del Instituto Tecnológico de La Laguna
U7 – Técnicas de Optimización Clásica
5
Otra clasificación importante del problema de optimización clásico se basa en la naturaleza de la expresión de la función objetivo y de sus restricciones. De acuerdo a esta clasificación, los problemas de optimización se pueden clasificar como problemas de optimización lineal, no-lineal, geométrica y cuadrática. Los métodos de optimización clásica se basan principalmente en la búsqueda de la solución más óptima de funciones objetivo continuas y diferenciables. En este sentido, estos métodos basados en cálculo diferencial presentarán limitaciones ante funciones objetivo que son discontinuas y/o no diferenciables. Sin embargo, la comprensión de estos métodos permite entender más fácilmente el funcionamiento de los métodos de optimización basados en técnicas estocásticas, estadísticas y modernas.
Fundamentos de Ingeniería Eléctrica Posgrado en Ingeniería Eléctrica del Instituto Tecnológico de La Laguna
U7 – Técnicas de Optimización Clásica
6
PRI NCIPI O DE OPTIM IZACIÓN El problema de optimización matemática fue abordado por Karl Friedrich Gauss y publicado en 1809 quién a partir de datos experimentales sobre la órbita de un asteroide, Gauss con su propuesta estimó o predijo con buena exactitud la órbita de este asteroide para volver a encontrarlo en al siguiente año. La idea básica del método de Gauss es tomar valores experimentales y compararlos contra una función propuesta para ajustarla a los valores experimentales, de tal forma que se busca minimizar el error entre ambos datos, es decir, minimizar el error o la diferencia entre los datos experimentales y los datos arrojados por la función propuesta. Entonces, en este problema se realiza la búsqueda de los parámetros de la función propuesta tal que el error resultante sea minimizado. A partir de esta concepción de búsqueda de parámetros, se origina el problema de optimización y la diferencia de los métodos clásicos giran en torno de esta búsqueda.
Enseguida se exponen dos ejemplos de estimación utilizando herramientas comunes como el promedio de un conjunto de datos y la solución de sistemas sobredeterminados con álgebra lineal.
Ejemplo 1: Se trata de la determinación del valor de una resistencia a partir de las mediciones de voltaje y corriente realizando 10 mediciones o muestras. a. Se aplica un voltaje constante y se mide corriente. Voltaje aplicado V=10 volts. Corriente medida tomando 10 muestras 1.9515
2.0247
1.9945
2.0432
1.9966
1.9919
2.0346
2.0025
1.9703
2.0172
So l u c i ó n 1 : p r o m e d i a n d o
Es común obtener el promedio de las mediciones de corriente y después usar ley de Ohm. Promedio de corriente medida I promedio = 2.0027 Amps Resistencia = V/Ipromedio = 10/2.0027 = 4.9933 Fundamentos de Ingeniería Eléctrica Posgrado en Ingeniería Eléctrica del Instituto Tecnológico de La Laguna
U7 – Técnicas de Optimización Clásica
7
So l u c i ó n 2 : co m o s i st e m a so b r e d e t e r m i n a d o
Otra forma que es más formal trata con el uso de algebra lineal para un sistema sobredeterminado, considerando que la ecuación de voltajes es: V = I*R se tiene lo siguiente V 1 = I 1 * R V 2 = I 2 * R V 3 = I 3 * R
matricialmente
M
V N = I N * R
⎡ V 1 ⎤ ⎡ I 1 ⎤ ⎢ V ⎥ ⎢ I ⎥ ⎢ 2⎥ ⎢ 2⎥ ⎢ V 3 ⎥ = ⎢ I 3 ⎥[ R] en forma compacta ⎢ ⎥ ⎢ ⎥ ⎢ M ⎥ ⎢M⎥ ⎢⎣V N ⎥⎦ ⎢⎣ I N ⎥⎦
v
= i R
Se despeja el vector del parámetro R como sigue: v = iR i T v = i TiR donde i T es la transpuesta del vector corriente i se despeja R: R = (i Ti)-1 i T v Se procede a calcular R: i Ti=40.1152
(i Ti)-1=0.0249
i Tv =200.2698
R=4.9924 Ω
Ejemplo 2: Se trata de determinar la ecuación de comportamiento de una serie de datos que se muestran en la gráfica de t vs f(t). Nótese que no se puede emplear la premediación de datos en este problema. Se emplea la solución de sistemas sobredeterminados.
Fundamentos de Ingeniería Eléctrica Posgrado en Ingeniería Eléctrica del Instituto Tecnológico de La Laguna
U7 – Técnicas de Optimización Clásica
8
Para emplear la solución de sistemas sobredeterminados se deben proponer funciones que se aproximen al comportamiento visto en la gráfica. Se proponen las siguientes funciones: 1- ecuación de la recta y(t) = m*t + b 2- ecuación cuadrática y(t) = a*t 2 + b*t + c 3- ecuación cúbica y(t) = a*t 3 + b*t2 + c*t + d 4- ecuación cuarta y(t) = a*t 4 + b*t3 + c*t2 + d*t + e El número de datos N es de 10,001 datos, por lo que se trabaja todo en un programa computacional. (Matlab)
A p r o x i m a ci ó n p o r e c . d e l a r e c t a y1 = t 1 * m + b y 2 = t 2 * m + b y 3 = t 3 * m + b
matricialmente
M
y N = t N * m + b
⎡ y1 ⎤ ⎡ t 1 ⎢ y ⎥ ⎢ t ⎢ 2⎥ ⎢ 2 ⎢ y 3 ⎥ = ⎢ t 3 ⎢ ⎥ ⎢ ⎢ M ⎥ ⎢M ⎢⎣ y N ⎥⎦ ⎢⎣t N
Se despeja el vector del parámetro Y =T*
1⎤
⎥ ⎥ ⎡m⎤ 1⎥ ⎢ ⎥ en forma compacta Y=T* ⎥⎣ b ⎦ 1⎥ 1⎥⎦ 1
como sigue:
T T *Y = T T*T* donde T T es la transpuesta de la matriz T
se despeja :
= (T T*T)-1 *T T*Y
Se procede a calcular : T
T
T
T
⎡333383 .335
50005⎤
⎣
10001 ⎦
*T = ⎢
50005
⎥
⎡5584533.4008⎤ *Y = ⎢ ⎥ ⎣ 750125 .0050 ⎦ ⎡
⎤ ⎥ ⎣− 34.996⎦
θ = ⎢
22
m=22.000 b=-34.996
Fundamentos de Ingeniería Eléctrica Posgrado en Ingeniería Eléctrica del Instituto Tecnológico de La Laguna
U7 – Técnicas de Optimización Clásica
9
A p r o x i m a ci ó n p o r e c. cu a d r á t i c a y(t)
= a*t2 + b*t + c
y1 = a * t 1 + b * t 1 + c 2
y 2 = a * t 2 + b * t 2 + c 2
matricialmente
y 3 = a * t 3 + b * t 3 + c 2
M
y N = a * t N + b * t N + c 2
⎡ y1 ⎤ ⎡ t 1 2 t 1 ⎢ y ⎥ ⎢ 2 t ⎢ 2 ⎥ ⎢ t 2 2 ⎢ y 3 ⎥ = ⎢ t 3 2 t 3 ⎢ ⎥ ⎢ ⎢ M ⎥ ⎢ M M ⎢⎣ y N ⎥⎦ ⎢t 2 t N ⎣ N
1⎤
⎥
1⎥ ⎡a ⎤
⎢ ⎥ ⎥⎢ ⎥ M ⎥ ⎢⎣ c ⎥⎦ 1⎥⎦ 1⎥ b
en forma compacta Y=T* Se despeja el vector del parámetro Y =T*
como sigue:
T T *Y = T T*T* donde T T es la transpuesta de la matriz T = (T T*T)-1 *T T*Y
se despeja :
Se procede a calcular : a=3.000
b=-8.000
c=14.999
A p r o x i m a ci ó n p o r e c. c ú b i ca y(t)
= a*t3 + b*t2 + c*t + d
y1 = a * t 1 + b * t 1 + c * t 1 + d 3
2
y 2 = a * t 2 + b * t 2 + c * t 2 + d 3
2
y 3 = a * t 3 + b * t 3 + c * t 3 + d 3
2
matricialmente
M
y N = a * t N + b * t N + c * t N + d 3
2
⎡ y1 ⎤ ⎡ t 13 t 1 2 t 1 ⎢ y ⎥ ⎢ 3 2 t ⎢ 2 ⎥ ⎢ t 2 t 2 2 ⎢ y3 ⎥ = ⎢ t 3 3 t 3 2 t 3 ⎢ ⎥ ⎢ ⎢ M ⎥ ⎢ M M M ⎢⎣ y N ⎥⎦ ⎢t N 3 t N 2 t N ⎣
1⎤
⎥⎡a ⎤ 1⎥ ⎢ ⎥ b 1⎥ ⎢ ⎥ ⎥⎢c ⎥ M⎥ ⎢
⎥ d ⎦ ⎣ 1⎥⎦
en forma compacta Y=T*
Se despeja el vector del parámetro Y =T*
como sigue:
T T *Y = T T*T* donde T T es la transpuesta de la matriz T
se despeja :
= (T T*T)-1 *T T*Y
Se procede a calcular : a=0.100
b=1.500
c=-2.000
d=10.000
Fundamentos de Ingeniería Eléctrica Posgrado en Ingeniería Eléctrica del Instituto Tecnológico de La Laguna
U7 – Técnicas de Optimización Clásica
10
A p r o x i m a ci ó n p o r e c . c u a r t a y(t)
= a*t4 + b*t3 + c*t2 + d*t + e
y1 = a * t 1 + b * t 1 + c * t 1 + d * t 1 + e 4
3
2
y 2 = a * t 2 + b * t 2 + c * t 2 + d * t 2 + e 4
3
2
y 3 = a * t 3 + b * t 3 + c * t 3 + d * t 3 + e 4
3
2
matricialmente
M
y N = a * t N + b * t N + c * t N + d * t N + e 4
3
2
⎡ y1 ⎤ ⎡ t 1 4 t 13 t 1 2 t 1 ⎢ y ⎥ ⎢ 4 3 2 t ⎢ 2 ⎥ ⎢ t 2 t 2 t 2 2 ⎢ y3 ⎥ = ⎢ t 3 4 t 3 3 t 3 2 t 3 ⎢ ⎥ ⎢ ⎢ M ⎥ ⎢ M M M M ⎢⎣ y N ⎥⎦ ⎢t 4 t 3 t 2 t N ⎣ N N N
1⎤ ⎡ a ⎤
⎥⎢ ⎥ ⎢ ⎥ 1⎥ ⎢ c ⎥ ⎥⎢ ⎥ M⎥ ⎢d ⎥ 1⎥⎦ ⎢⎣ e ⎥⎦ 1⎥ b
en forma compacta Y=T*
Se despeja el vector del parámetro Y =T*
como sigue:
T T *Y = T T*T* donde T T es la transpuesta de la matriz T
se despeja :
= (T T*T)-1 *T T*Y
Se procede a calcular : a=0
b=0.100
c=1.500
d=-2.000
e=10.000
Véase que en la ec. cuarta el término que multiplica a t 4 es cero, y queda idéntica a la ec. cúbica.
Fundamentos de Ingeniería Eléctrica Posgrado en Ingeniería Eléctrica del Instituto Tecnológico de La Laguna
U7 – Técnicas de Optimización Clásica
11
Una de las técnicas clásicas de optimización es la minimización del error cuadrático dado por la diferencia entre la función o datos reales o medidos y la función o datos estimados. Esta función debe ser continua y diferenciable para poder aplicarse porque utiliza como base el cálculo diferencial para encontrar el mínimo de una función.
Antes de entrar al problema de optimización se puntualiza lo siguiente: El problema de optimización es buscar la mejor solución a algo y matemáticamente se representa con la minimización de una función costo o función objetivo. Entonces, el problema de estimación puede presentar algunos cuestionamientos como: • ¿El parámetro encontrado es aquel que me minimiza la función objetivo
en forma global?, ¿O en forma local? • ¿Existirá algún otro parámetro que me resulte en una función costo
todavía menor? Estos cuestionamientos dan lugar a que las técnicas de optimización sean variadas y por ello sea un campo en constante desarrollo.
Fundamentos de Ingeniería Eléctrica Posgrado en Ingeniería Eléctrica del Instituto Tecnológico de La Laguna
U7 – Técnicas de Optimización Clásica
12
OPTIMI ZACIÓN DE UNA VARI ABLE Se dice que una función de una variable f( θ ) tiene un mínimo local o relativo en θ =θ * si f( θ* ) ≤ f( θ* ± Δθ *). Sería un máximo local si f( θ *) ≥ f( θ *± Δθ *). Se dice que una función de una variable f( θ ) tiene un mínimo global o absoluto ) ≤ f( θ ) para toda θ de cualquier valor. Sería un máximo global en θ =θ * si f( θ* si f( θ *) ≥ f( θ ) El criterio para la búsqueda del mínimo de una función de una variable es establecer un rango de búsqueda tal que θ * minimice f( θ ).
Ejemplo 3: Determinar los valores máximo y mínimo de la siguiente función: 5 4 3 f ( x) = 12 x − 45 x + 40 x + 5
Solución. Se aplica la primera derivada a f(x) y se iguala a cero para buscar sus raíces, las cuales indican máximos o mínimos de la función original f ′( x) = 60 x 4 − 180 x 3 + 120 x 2 = 0 , f ′( x ) = 0
para x = 0 x = 1
x=2
Con la segunda derivada se conoce si cada raíz presenta un máximo, mínimo o punto de inflexión:
Fundamentos de Ingeniería Eléctrica Posgrado en Ingeniería Eléctrica del Instituto Tecnológico de La Laguna
U7 – Técnicas de Optimización Clásica
13
f ′′( x ) = 240 x 3 − 540 x 2 + 240 x x = 0
f ′′(0 ) = 0
signo 0
punto de inflexión
x = 1
f ′′(1) = −60
signo (-)
máximo relativo
x = 2
f ′′(2 ) = 240
signo ( + )
mínimo relativo
Así como analíticamente se solucionó la búsqueda del máximo o mínimo de la función propuesta, algunas técnicas de optimización clásica emplea el cálculo diferencial para minimizar la función que representa el error. Es común que las técnicas de optimización se utilicen solamente con datos provenientes de mediciones. Siendo así, es necesario proponer una función de minimización a partir de los datos obtenidos, es decir, se propone una función parametrizada y teórica para que sus parámetros se ajusten al comportamiento de las mediciones.
Ejemplo 4: Considerar los datos del problema 1 medición de corrientes y voltaje en una resistencia desconocida. Encontrar el valor del parámetro de la función teórica dada por la ley de Ohm la cual se propone para minimizar el error entre “datos medidos” y respuesta de la función teórica. La función de error es una función cuadrática formada por la diferencia cuadrática entre medición y respuesta. Fundamentos de Ingeniería Eléctrica Posgrado en Ingeniería Eléctrica del Instituto Tecnológico de La Laguna
U7 – Técnicas de Optimización Clásica
14
Se utiliza el método de Newton para búsqueda del mínimo de una función. Esta búsqueda se hace con la siguiente aproximación: θ n +1 = θ n −
f ′(θ n ) f ′′(θ n )
Dado que se requiere de la primera y segunda derivada de la función de error, en este caso que se cuenta con mediciones es necesario calcular las derivadas por aproximaciones o diferencias finitas centrales. f ′(θ n ) =
f (θ n + Δθ ) − f (θ n − Δθ )
2 ⋅ Δθ
La segunda derivada por diferencias finitas centrales se calcula f ′′(θ n ) =
f (θ n + 2Δθ ) + f (θ n − 2Δθ ) − 2 f (θ n )
4Δθ 2
Pero una buena aproximación se tiene con f ′′(θ n ) =
f (θ n + Δθ ) + f (θ n − Δθ ) − 2 f (θ n )
Δθ 2
Con este último cálculo de doble derivada de la función se aprovechan los cálculos de las funciones del gradiente o primera derivada. El método de Newton requiere de valores de arranque en los parámetros para calcular derivadas y parámetros El cálculo iterativo será programado en Matlab Fundamentos de Ingeniería Eléctrica Posgrado en Ingeniería Eléctrica del Instituto Tecnológico de La Laguna
U7 – Técnicas de Optimización Clásica
15
EXPLICACIÓN DE PLANTEAMIENTO: Antes de entrar en el problema matemático, se debe plantear el problema: Para encontrar el valor de la resistencia dada la corriente y el voltaje se usa la ley de Ohm, R = V/I. Entonces, el problema se plantea de la siguiente manera: i)
Al sistema se le aplica una señal de voltaje como entrada y la respuesta es la corriente, entonces se propone una ecuación a partir de la ley de Ohm para calcular la corriente dado un voltaje de entrada conocido y un valor de resistencia aproximado. De esta manera se trataran de ajustar la corriente medida y la corriente simulada con la función propuesta. a. Ecuación propuesta para calcular corrientes: Corriente estimada = Voltaje medido / Resistencia desconocida, esto es Iestimada=Vmedido /Rdesconocida
ii)
La comparación o diferencia entre corrientes medida y estimada debe originar la función objetivo, que es la función a minimizar. De esta manera se propone minimizar el error cuadrático para obtener siempre diferencias positivas y por otro lado emplear la técnica de búsqueda de raíces de Newton. Esta técnica emplea la definición de máximos y mínimos de una función cuadrática, así como el cálculo del gradiente para tener la dirección de búsqueda. a.
F cos to( R ) =
1 2
( I medida − I estimada ( R ))2 =
1 2
2
err
2 ⎞ 1 ∂ ∂ ⎛ 1 ∂ ⎛ V ⎛ ⎞ 2 ⎞ (F cos to( R )) = ⎜ ( I medida − I estimada ( R )) ⎟ = ⎜⎜ ⎜ I medida − ⎟ ⎟⎟ = 0 ∂ R ∂ R ⎝ 2 R ⎠ ⎠ ⎠ ∂ R ⎝ 2 ⎝
b.
V
( I medida R − V ) 2 * R 3 0 = I medida R − V ⇒ búsqueda 0=
∂ ⎧∂ ⎫ ∂ { I medida R − V } = I medida ⇒ (+ )∴ Mínimo ⎨ (F cos to( R ))⎬ = ∂ R ⎩ ∂ R ∂ R ⎭
c. Como se trata de un sistema discreto con un número N de datos se emplea la sumatoria para calcular la función de costo: V (k ) medida ⎞ i. F cos to( R ) = ∑k =1 ⎛ ⎜ I (k ) medida − ⎟ R 2 ⎝ ⎠
1
2
N
Fundamentos de Ingeniería Eléctrica Posgrado en Ingeniería Eléctrica del Instituto Tecnológico de La Laguna
U7 – Técnicas de Optimización Clásica
ii.
16
∂ ⎧ F cos to( R + Δ R ) − F cos to( R − Δ R )⎫ {F cos to( R )} = Δlim ⎨ ⎬ R →0 ∂ R 2Δ R ⎩ ⎭ ∂ ⎧ F ′ cos to( R + Δ R ) − F ′ cos to( R − Δ R )⎫ {F ′ cos to( R )} = Δlim H = F ′′ cos to( R ) = ⎨ ⎬ R →0 ∂ R 2Δ R ⎩ ⎭ G = F ′ cos to( R ) =
El cálculo del parámetro R se hace con el método de Newton: 1 Rk +1 = Rk − H k − Gk = Rk − δ Rk
d. Cálculos numéricos en MATLAB: i. Se propone un valor inicial de resistencia: R=0.1. ii. Se realiza un proceso iterativo hasta que el valor de R converja, seleccionando un criterio de error. 1. Calcular Fcosto 2. Calcular gradiente G (1er derivada) 3. Calcular hessiano H (2da derivada) 4. Calcular incremento δR = H-1G 5. Calcular nuevo valor de R k+1 6. Calcular criterio de convergencia 7. Si no cumple, se repiten pasos 1 a 7.
Fundamentos de Ingeniería Eléctrica Posgrado en Ingeniería Eléctrica del Instituto Tecnológico de La Laguna
U7 – Técnicas de Optimización Clásica
Fundamentos de Ingeniería Eléctrica Posgrado en Ingeniería Eléctrica del Instituto Tecnológico de La Laguna
17
U7 – Técnicas de Optimización Clásica
18
OPTIMI ZACIÓN MULTIVARI ABLE La optimización clásica multivariable trata con funciones objetivo con más de una variable. Se trata de que las n variables de interés minimicen la función de minimización. Este tipo de optimización clásica tiene el mismo principio que la univariable; hace uso de la teoría del cálculo para la búsqueda del mínimo de una función. En esta categoría existen varios algoritmos entre los cuales están, Newton, Gauss-Newton, Steepest Descent, Powell, Levenberg-Marquardt, etc. La diferencia entre estos algoritmos está en el cálculo de la segunda derivada, la cual se hace complicada. El cálculo de la primera derivada de la función costo se le conoce como gradiente y se realiza por cada una de las variables que se desean minimizar.
El cálculo de la segunda derivada de la función costo se realiza con respecto de un par de variables, o puede verse como la derivada con respecto de todas las variables de la derivada de una función de la siguiente forma:
Lo siguiente se cumple para la matriz Hessiana, haciéndola una matriz simétrica y generalmente definida positiva:
Fundamentos de Ingeniería Eléctrica Posgrado en Ingeniería Eléctrica del Instituto Tecnológico de La Laguna
U7 – Técnicas de Optimización Clásica
19
Ejemplo 5: Considerar los datos generados por una función desconocida y encontrar los parámetros de la función teórica propuesta para minimizar el error entre “datos medidos” y respuesta de la función teórica. La función de error es una función cuadrática formada por la diferencia cuadrática entre medición y respuesta. PROPUESTA: Se generan “datos medidos” con una función desconocida para simular algún proceso en Mathcad. La siguiente gráfica son los datos medidos: Rango de x es: (-0.5 a 2.5) con incrementos de 0.001 Rango de f(x) es: (1.5 a 13) Los datos se envían a Matlab empleando un archivo de texto con datos de x,f(x). A estos les llamaremos Xmedida, Ymedida
SOLUCIÓN Dicho comportamiento se visualiza como una recta perturbada por oscilaciones. Se propone ajustar los datos con la función teórica de la recta, esta es y = mx+b. A la respuesta de esta función le llamaremos Yestimada. El valor de x de esta función teórica proviene de la Xmedida con el fin de reproducir la Ymedida con la respuesta de la función teórica. Fundamentos de Ingeniería Eléctrica Posgrado en Ingeniería Eléctrica del Instituto Tecnológico de La Laguna
U7 – Técnicas de Optimización Clásica
20
Se propone la función de minimización, haciendo que el error cuadrático entre datos medidos y estimados sea mínimo, esto es: F cos to(θ ) =
1
N
∑ (Y 2
medida _ k
− Y estimada _ k ) =
k =1
Donde
2
1
N
∑ (Y 2
medida _ k
− (m * Xmedida + b ))2
k =1
⎡ m⎤ θ = ⎢ ⎥ ⎣b⎦
Enseguida se programan dos algoritmos en Matlab; uno considera solo la dirección del gradiente para actualizar los parámetros de búsqueda y el otro considera al gradiente y la hessiana forzada con elementos fuera de la diagonal igual a cero. Para ambos casos aplica lo siguiente: Parámetros iniciales: m=0, b=0
Incremento de parámetro: Δθ=0.01
Criterio de convergencia: err<0.001% El ajuste de los parámetros a la curva de datos medida se muestra en la siguiente gráfica.
Se revisará solamente la rapidez de convergencia en ambos métodos. Fundamentos de Ingeniería Eléctrica Posgrado en Ingeniería Eléctrica del Instituto Tecnológico de La Laguna
U7 – Técnicas de Optimización Clásica
21
2 Método 1. θ n+1 = θ n − f ′(θ n )(Δθ )
Método 2: θ n+1 = θ n −
f ′(θ n ) f ′′(θ n )
−1
= θ n − H (θ n ) G(θ n ) con 0 fuera de diagonal de H
Fundamentos de Ingeniería Eléctrica Posgrado en Ingeniería Eléctrica del Instituto Tecnológico de La Laguna
U7 – Técnicas de Optimización Clásica
22
OPTIMIZACIÓN CON MULTIPLICADORES DE LAGRANGE USANDO RESTRICCION ES DE I GUALDAD El método de multiplicadores de Lagrange es una técnica de optimización restringida para buscar el máximo o mínimo de una función con n variables de búsqueda. Esto es: Minimizar (maximizar) la función univariable o multivariable min( f (θ)) Sujeto a las restricciones de igualdad dadas por
g k (θ) = 0
para k =1,2,… m
El método de Lagrange introduce una nueva variable λ por cada función de restricción g existente en el problema; en total se obtendrán m multiplicadores de Lagrange, λ k. A partir de los multiplicadores se desprende la función lagrangiana definida por: L (θ 1 ,θ 2 ,K,θ n , λ 1 , λ 2 ,K, λ m ) = f (θ ) + λ 1 g1 (θ ) + λ 2 g 2 (θ) + L + λ m g m (θ) L (θ, λ ) = f (θ ) +
m
∑ λ g k
k
(θ)
k =1
La función lagrangiana es la nueva función objetivo o función de minimización, la cual es una función no restringida de orden más elevado que la función objetivo original; orden m+n. Si * es un conjunto de parámetros o variables que minimizan la función objetivo original, junto con sus restricciones, (f ( *)=min(f )), entonces existirá un multiplicador tal que ( *, ) sea un punto estacionario de la función lagrangiana, donde la derivada parcial de L( ( *, ) )=0. Esta es una condición necesaria. Entonces, para encontrar el mínimo del lagrangiano y por lo tanto la solución óptima del problema original, se determinan las condiciones necesarias para el caso: ∂g (θ ) ∂ L(θ, λ ) ∂ f (θ ) m = + ∑ λ k k = 0 ∂θ j ∂θ j k =1 ∂θ j ∂ L(θ, λ ) = g i (θ ) = 0 ∂λ i
j = 1,2,K, n i = 1,2,K, m
Estas dos últimas ecuaciones representan las m+n ecuaciones en términos de las m+n incógnitas y . Fundamentos de Ingeniería Eléctrica Posgrado en Ingeniería Eléctrica del Instituto Tecnológico de La Laguna
U7 – Técnicas de Optimización Clásica
23
Ejemplo 6: Minimizar la siguiente función f(x) sujeta a la restricción g(x)
(
min f (x ) = x12 + 4 x 22
)
g (x ) = x1 + 2 x 2 − 6 = 0 m
Paso 1: se forma la función lagrangiana L(θ, λ ) = f (θ ) + ∑ λ k g k (θ ) k =1
L( x1 , x 2 , λ ) = x12 + 4 x 22 + λ ( x1 + 2 x 2 − 6 )
Paso 2: se establecen las condiciones necesarias de estacionalidad: ∂g (θ ) ∂ L(θ, λ ) ∂ f (θ ) m = + ∑ λ k k =0 ∂θ j ∂θ j ∂θ j k =1 ∂ L(θ, λ ) = g i (θ ) = 0 ∂λ i
j = 1,2, K , n i = 1,2, K , n
∂ L( x1 , x 2 , λ ) ∂ ( x12 + 4 x22 ) ∂ ( x + 2 x 2 − 6) = + λ 1 = 2 x1 + λ = 0 ∂ x1 ∂ x1 ∂ x1 ∂ L( x1 , x 2 , λ ) ∂ ( x12 + 4 x22 ) ∂ ( x + 2 x 2 − 6) = + λ 1 = 8 x 2 + 2λ = 0 ∂ x 2 ∂ x2 ∂ x 2 ∂ L( x1 , x 2 , λ ) = x1 + 2 x 2 − 6 = 0 ∂λ
Paso 3: resolver para las variables desconocidas y así obtener los parámetros óptimos que minimizan la función sujeta a restricciones. En este caso se forma un sistema lineal de 3 ecs con 3 incógnitas. ⎡ 2 0 1 ⎤ ⎡ x1 ⎤ ⎡ 0 ⎤ ⎡ x1 *⎤ ⎡ 3 ⎤ ⎢0 8 2⎥ ⋅ ⎢ x ⎥ = ⎢ 0 ⎥ ⇒ ⎢ x *⎥ = ⎢1.5 ⎥ ⎢ ⎥ ⎢ 2⎥ ⎢ ⎥ ⎢ 2 ⎥ ⎢ ⎥ ⎢⎣1 2 0⎥⎦ ⎢⎣ λ ⎥⎦ ⎢⎣ − 6⎥⎦ ⎢⎣ λ * ⎥⎦ ⎢⎣− 6⎥⎦
La función f (x ) = x12 + 4 x22 sujeta a la restricción de igualdad g (x ) = x1 + 2 x2 − 6 = 0 es mínima en los valores x* = ( x1 , x 2 ) = (3 1.5) y la restricción de igualdad se cumple. Se nota que el mínimo de la función f (x ) = x12 + 4 x22 sin restricción se da en x1=x2=0, por lo que la restricción acota la superficie de factibilidad.
Fundamentos de Ingeniería Eléctrica Posgrado en Ingeniería Eléctrica del Instituto Tecnológico de La Laguna
U7 – Técnicas de Optimización Clásica
24
Ejemplo 7: Minimizar la siguiente función f(x) sujeta a las restricciones de igualdad g(x) min ( f (x ) = x12 + 2 x 22 + x32 ) g1 (x ) = x12 + 3 x1 x 2 + x 22 − 1 = 0 g 2 (x ) = x 2 + x3 − 4 = 0
m
Paso 1: se forma la función lagrangiana L(θ, λ ) = f (θ ) + ∑ λ k g k (θ ) k =1
(
)
2 2 2 2 2 L( x1 , x 2 , λ ) = x1 + 2 x 2 + x3 + λ 1 x1 + 3 x1 x2 + x 2 − 1 + λ 2 ( x 2 + x3 − 4)
Paso 2: se establecen las condiciones necesarias de estacionalidad: ∂( x 2 + x3 − 4) ∂ x12 + 3 x1 x 2 + x 22 − 1 ∂ L(x, λ ) ∂ x12 + 2 x 22 + x32 = + λ 1 + λ 2 = 2 x1 + (2 x1 + 3 x 2 )λ 1 = 0 ∂ x1 ∂ x1 ∂ x1 ∂ x1 ∂( x 2 + x3 − 4) ∂ ( x12 + 3 x1 x 2 + x 22 − 1) ∂ L(x, λ ) ∂( x12 + 2 x 22 + x32 ) = + λ 1 + λ 2 = 4 x2 + (3 x1 + 2 x 2 )λ 1 + λ 2 = 0 ∂ x2 ∂ x 2 ∂ x 2 ∂ x 2 ∂( x 2 + x3 − 4) ∂ ( x12 + 3 x1 x 2 + x 22 − 1) ∂ L(x, λ ) ∂( x12 + 2 x 22 + x32 ) = + λ 1 + λ 2 = 2 x3 + λ 2 = 0 ∂ x3 ∂ x3 ∂ x3 ∂ x3 ∂ L(x, λ ) = x12 + 3 x1 x 2 + x 22 − 1 = 0 ∂λ 1 ∂ L(x, λ ) = x 2 + x3 − 4 = 0 ∂λ 2
Paso 3: resolver para las variables desconocidas y así obtener los parámetros óptimos que minimizan la función sujeta a restricciones. Se resuelve un sistema no-lineal. x1 = −0.1844 x 2 = 1.2977 x3 = 2.7023
λ 1 = 0.1047
λ 2 = −5.4046
Fundamentos de Ingeniería Eléctrica Posgrado en Ingeniería Eléctrica del Instituto Tecnológico de La Laguna
U7 – Técnicas de Optimización Clásica
25
OPTIMIZACIÓN CON MULTIPLICADORES DE LAGRANGE USANDO RESTRICCION ES DE DESIGUALDA D La optimización con restricciones de desigualdad se puede tratar con multiplicadores de Lagrange utilizando variables auxiliares para convertir a restricciones de igualdad. El problema de optimización restringida por desigualdades se plantea de la siguiente forma: sea una función a minimizar de n variables Minimizar (maximizar) la función univariable o multivariable min( f (θ)) Sujeto a las restricciones de desigualdad dadas por m
g k (θ ) ≤ 0
para k=1,2,…
Las restricciones de desigualdad se transforman a restricciones de igualdad adicionando una variable auxiliar no-negativa y k 2 de la siguiente forma: g k (θ) + y k 2 = 0
para k=1,2,… m
Donde las variables auxiliares son desconocidas.
Entonces, ahora el problema de optimización restringida es: min( f (θ)) G(θ, Ρ ) = g k (θ ) + ρ k 2 = 0
Donde el vector de variables auxiliares es
k = 1,2,K, m Ρ
= [ ρ 1 ρ 2
L ρ m
]T
Ahora se plantea la formación del lagrangiano similar al problema de restricción de igualdad L (θ, Ρ, λ ) = f (θ ) +
m
∑ λ G (θ, Ρ) k
k
k =1
De la misma manera se plantea la obtención de la condición estacionaria (derivadas parciales = 0) para encontrar los valores óptimos que minimizan la función del problema de optimización restringida Fundamentos de Ingeniería Eléctrica Posgrado en Ingeniería Eléctrica del Instituto Tecnológico de La Laguna
U7 – Técnicas de Optimización Clásica
26
∂g (θ) ∂ L(θ, Ρ, λ ) ∂ f (θ) m = + ∑ λ k k = 0 ∂θ j ∂θ j k =1 ∂θ j
j = 1,2,K, n
∂ L(θ, Ρ, λ ) = Gi (θ, Ρ ) = g i (θ) + ρ i2 = 0 ∂λ i ∂ L(θ, Ρ, λ ) = 2λ i ρ i = 0 ∂ ρ i
i = 1,2,K, m i = 1,2,K, m
El último término solamente se cumple cuando λ i =0 o ρ i= 0, por lo cual se deben considerar los dos casos para resolver el problema de optimización.
Ejemplo 8: Encontrar los parámetros (x,y) que minimizan de la siguiente función de costo f ( x, y ) = 2 x − 3 y − 2 x 2
2
Sujeta a la siguiente restricción g ( x, y ) = x + y − 1 ≤ 0 2
2
Paso 1: Para aplicar multiplicadores de Lagrange se adiciona una variable auxiliar a la restricción G ( x, y, ρ ) = x + y − 1 + ρ = 0 2
2
2
m
Paso 2: Se forma el lagrangiano L(θ, Ρ, λ ) = f (θ) + ∑ λ k Gk (θ, Ρ ) k =1
(
L(θ, Ρ, λ ) = 2 x − 3 y − 2 x + λ x + y − 1 + ρ 2
2
2
2
2
)
Paso 3: se establecen las condiciones estacionarias ∂ L(θ, Ρ, λ ) ∂ (2 x 2 − 3 y 2 − 2 x ) ∂ ( x 2 = + λ ∂ x ∂ x ∂ L(θ, Ρ, λ ) ∂ (2 x 2 − 3 y 2 − 2 x ) ∂ ( x 2 = + λ ∂ y ∂ y ∂ L(θ, Ρ, λ ) = x 2 + y 2 − 1 + ρ 2 = 0 ∂λ ∂ L(θ, Ρ, λ ) = 2λρ = 0 ∂ ρ
+ y 2 − 1) = 4 x − 2 + 2 xλ = 0 ∂ x + y 2 − 1) = −6 y + 2 yλ = 0 ∂ y
Fundamentos de Ingeniería Eléctrica Posgrado en Ingeniería Eléctrica del Instituto Tecnológico de La Laguna
U7 – Técnicas de Optimización Clásica
27
Paso 4: se establecen las condiciones para la solución del sistema de ecuaciones dado en el paso 3, haciendo caso 1 ρ =0, caso 2 λ =0
Caso 1: ρ =0 (conocida como solución restringida) 0 = 4 x − 2 + 2 xλ 0 = −6 y + 2 yλ
2 = 4 x + 2 xλ
0 = x 2 + y 2 − 1
0 = −6 y + 2 yλ 1 = x 2 + y 2
Soluciones x *
y *
λ
f ( x*, y *)
0.2
0.96
3
− 3.2
−1 −3
0
1
0
−1
0
Valores que minimizan la función en este caso
4
Caso 2: λ =0 (conocida como solución no restringida) 0 = 4 x − 2 0 = −6 y 0 = x 2 + y 2 − 1 + ρ 2
Soluciones x* = 0.5 y* = 0
ρ = 1.25 f ( x*, y *) = −0.5
La solución al problema de optimización se obtiene en el caso 1, resultando en una función costo menor que cualquiera de las evaluadas.
Fundamentos de Ingeniería Eléctrica Posgrado en Ingeniería Eléctrica del Instituto Tecnológico de La Laguna