Está en la página 1de 22

Optimizacin de la unin mediante ajuste a presin en un amortiguador MacPherson

3 Optimizacin no lineal 1
3. Optimizacin no lineal.

3.1. Introduccin.

En este captulo se presentan algunos mtodos bsicos para la optimizacin de problemas
que son no lineales por la naturaleza de la funcin objetivo, de las restricciones o de las dos
simultneamente. En primer lugar se muestran algunos algoritmos bsicos de optimizacin de
problemas sin restricciones. La optimizacin de problemas que no estn sujetos a restricciones se
pueden realizar empleando derivadas primeras, segundas o sin emplear derivadas. En este
captulo se muestra un algoritmo de optimizacin de orden cero, es decir, que no requiere el
empleo de derivadas. Este algoritmo es el mtodo de la Seccin urea. Tambin se desarrolla el
algoritmo de primer orden ms conocido que es el mtodo del gradiente. Por ltimo para obtener
mejores resultados en trminos de convergencia se muestra un algoritmo de segundo orden, que
es el mtodo de Davidon-Fletcher-Powell.
La optimizacin de problemas no lineales sujetos a restricciones se realiza mediante la
penalizacin de la funcin objetivo. Este proceso permite aplicar las tcnicas de optimizacin de
problemas sin restricciones a problemas con restricciones mediante el uso de una funcin
objetivo nueva que contiene informacin de las restricciones. El proceso de penalizacin consiste
en una nueva funcin objetivo que contiene a la original y a un trmino que cuando las
restricciones estn prximas a no cumplirse incrementa el valor de la funcin objetivo, en un
problema de minimizacin. Es decir se penaliza en la funcin objetivo el hecho de no cumplirse
las restricciones.
En este captulo se muestran algunos tipos de penalizacin de las restricciones haciendo
aplicables los algoritmos de optimizacin a problemas con restricciones. En todos los
procedimientos que se presentan se hace necesaria una bsqueda monodimensional para obtener
el ptimo en un determinado intervalo de las variables de diseo y que se aplica en el proceso
una vez que se conoce la direccin en la que la funcin objetivo mejora. Para ello se ha
empleado el mtodo de bsqueda por la Seccin urea.
Una vez que se muestran las tcnicas de optimizacin de funciones sin restricciones y las
tcnicas de penalizacin se explica la implementacin realizada de estos mtodos. La
implementacin se ha realizado en un programa de Elementos Finitos y en el lenguaje de
programacin FORTRAN.
Optimizacin de la unin mediante ajuste a presin en un amortiguador MacPherson

3 Optimizacin no lineal 2
Se ha implementado los algoritmos de optimizacin pese a que el programa de elementos
finitos que se va a emplear cuanta con un mdulo de optimizacin. Esto se debe a que el manual
del mdulo de optimizacin presenta una serie de incongruencias que desaconsejan el empleo del
mismo. En primer lugar se presenta un mtodo de orden 0 que realiza una aproximacin de la
funcin objetivo penalizada, esta superficie se define por una expresin cuadrtica y no requiere
la evaluacin de derivadas. Las funciones de penalizacin que se muestran en dicho caso se dice
que son todas del tipo interior extendida mientras que la expresin que se muestra no se
corresponde a este tipo, sino a las de penalizacin interior, que presentan problemas de
convergencia, adems esta definicin se realiza en funcin de unos parmetros sin especificar,
por lo que no se tiene control de la ejecucin del problema. El parmetro que se emplea en la
penalizacin de la funcin objetivo no est definido el valor que toma en el inicio de la
ejecucin, adems se indica que este parmetro se incrementa entre iteraciones, mientras que la
penalizacin interior extendida requiere la reduccin del parmetro para aproximar los lmites de
la regin factible. La definicin del parmetro de transicin que se realiza no es acorde con la
funcin de penalizacin empleada. Por ltimo la actualizacin de las variables de diseo entre
iteraciones queda en funcin de un parmetro cuyo origen no se especifica. El mtodo de primer
orden que se muestra en el manual del mdulo de optimizacin indica que se emplea
penalizacin exterior a las variables de diseo, pero no muestra las funciones que se emplean, el
parmetro de penalizacin que se emplea en la funcin objetivo no est definido y adems no se
define el parmetro de transicin de la penalizacin interior extendida, la forma de las funciones
de penalizacin interior extendida que se emplean quedan en funcin de una serie de parmetros
sin especificar, lo cual no permite controlar la ejecucin del algoritmo de optimizacin. Por
ltimo al implementarse un mtodo de segundo orden se consigue una mejora sustancial en la
convergencia de problemas con una regin factible muy amplia o con restricciones y funcin
objetivo muy no lineal, aunque la aplicacin realizada no cumple estos requisitos su
implementacin permite la optimizacin de un gran nmero de problemas en los que no se
conozca la forma de las restricciones o de la funcin objetivo.
En todo el captulo se ha empleado la nomenclatura que se muestra a continuacin.
Variables de diseo x, Funcin Objetivo f(x), valor de la variable de diseo en la iteracin
k-sima x
k
, direccin de bsqueda en la iteracin k-sima d
k
,
Optimizacin de la unin mediante ajuste a presin en un amortiguador MacPherson

3 Optimizacin no lineal 3
3.2. Bsqueda monodimensional.

En los mtodos de optimizacin monodimensional se debe tener definido un intervalo de
la variable independiente en el que la funcin presente un mnimo, si el problema es de
minimizacin, adems la funcin debe tener carcter unimodal en el intervalo de la variable
independiente en el que se quiere obtener el mnimo.
El algoritmo ptimo respecto al nmero de evaluaciones de la funcin, conocido el
intervalo de incertidumbre y el de definicin de la funcin es el algoritmo de Fibonacci. Sin
embargo este algoritmo tiene la desventaja de que el nmero de evaluaciones debe ser conocido
antes de comenzar el proceso iterativo. Este problema se solventa empleando el mtodo de la
Seccin urea que se describe a continuacin.
Dado un intervalo de incertidumbre [a
n
, b
n
] en el que se quiere minimizar una funcin, el
mtodo de la seccin urea establece una relacin constante entre dos intervalos consecutivos en
los que se quiere minimizar la funcin. La funcin objetivo se evala entonces en dos puntos x
1
n

y x
2
n
que cumplen la relacin:
? ?
?
?
?
?
?
n n
n n
n n
n n
a b
x b
a b
a x
1 2
(3.2.1)
Al evaluarse la funcin en x
1
n
y x
2
n
se pueden dar dos casos:
i. f (x
1
n
) < f(x
2
n
) y el nuevo intervalo de incertidumbre ser [a
n
, x
2
n
] y los nuevos puntos
en los que evaluar la funcin seran x
2
n+1
= x
1
n
y x
1
n+1
se obtiene de la expresin
(3.2.1), quedando:
? ?
?
?
?
?
?
? ?
? ?
n n
n n
n n
n n
a x
a x
a b
a x
2
1
1 1
1 1
2
(3.2.2)
ii. f (x
1
n
) > f(x
2
n
) y el nuevo intervalo de incertidumbre ser [x
1
n
, b
n
], luego la funcin se
evaluar en los puntos x
1
n+1
= x
2
n
y el nuevo x
2
n+1
vendr dado por la expresin:
? ?
?
?
?
?
?
? ?
? ?
n n
n n
n n
n n
x b
x b
a b
x b
1
2
1 1
1
1
1
(3.2.3)
De las expresiones anteriores se obtiene 618 . 0
2
5 1
?
? ?
? ? .
Este nmero se denomina nmero ureo, de ah el nombre de este algoritmo.
El proceso anterior se sigue hasta que el intervalo es menor que una cierta tolerancia o
bien la funcin objetivo vara lo suficientemente poco dentro de una tolerancia fijada
previamente. Al llegar a este punto se obtiene la posicin del mnimo asumiendo que la funcin
Optimizacin de la unin mediante ajuste a presin en un amortiguador MacPherson

3 Optimizacin no lineal 4
objetivo en el ltimo intervalo de incertidumbre se puede aproximar por una funcin cuadrtica
cuyo mnimo se puede obtener analticamente y su posicin tambin.
La funcin cuadrtica que aproxima a la funcin objetivo en el intervalo final vendr
dada por la expresin.
C x B x A x f ? ? ? ) (
2
(3.2.4)
Realizando la derivada respecto a la variable independiente x se obtiene la posicin del
mnimo en el punto en que esta derivada se anula, cuya expresin general es la que sigue.

A
B
x
2
? ? (3.2.5)
En el intervalo final se tendr evaluada la funcin objetivo en tres puntos, por lo que la
obtencin de los coeficientes del ajuste cuadrtico es inmediato con la expresin siguiente en
funcin de a
n+1
, b
n+1
, x
2
n+1
.

? ?
? ?
? ?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
? ?
? ?
? ?
) (
) (
) (

1
1
1
1
2
1
1
1
1
2
2
1
2
1
2
1
1
2
1
n
n
n
n n
n n
n n
x f
b f
a f
x x
b b
a a
C
B
A
(3.2.6)
Introduciendo estos coeficientes en (3.2.5) se obtiene la posicin del mnimo.
3.3. Optimizacin sin restricciones.

En muchos problemas ingenieriles se debe encontrar el ptimo de una funcin
multivariable a la que no se le han impuesto restricciones. Los mtodos que se emplean para
resolver estos problemas se basan en dos formas bsicas de abordarlos. Los mtodos indirectos
se basan en buscar el ptimo a travs de unas ecuaciones derivadas de la condicin de gradiente
nulo. En la prctica estos mtodos dan lugar a ecuaciones implcitas en el vector de variables de
diseo x. Estas ecuaciones son fuertemente no lineales por lo que resultan muy difciles de
resolver. Los mtodos directos actan directamente sobre la funcin a optimizar.
Los mtodos directos aplicados a la optimizacin de funciones de varias variables
independientes son iterativos. En el inicio de la iteracin k-sima se denotar por x
k
al valor
estimado del ptimo. La iteracin k-sima consiste en el clculo de un vector de bsqueda d
k
con
el que se pueda obtener un nuevo estimado x
k+1
segn una relacin del tipo:
x
k+1
= x
k
+ a
k
d
k
(3.3.1)
Una vez conocido d
k
, el valor a
k
se obtiene mediante bsqueda lineal con el algoritmo de
la seccin urea que se ha comentado previamente. Imponiendo
Optimizacin de la unin mediante ajuste a presin en un amortiguador MacPherson

3 Optimizacin no lineal 5
MIN. a
k
f(x
k
+ a
k
d
k
) con ? ?
2 1
,
k k k
? ? ? ? (3.3.2)
donde a
k1
y a
k2
son valores que hacen que x
k+1
cumpla las restricciones correspondientes.
Los distintos mtodos que existen se basan en la eleccin de la direccin de bsqueda. Se
supondr, a partir de ahora, que la funcin a optimizar va a minimizarse, sin perdida de
generalidad ya que para maximizar slo hay que minimizar la funcin objetivo cambiada de
signo. Los distintos mtodos que se emplean se clasifican en funcin de la informacin necesaria
para la bsqueda del mnimo. Los mtodos que emplean derivadas primeras de la funcin, tal
como el mtodo del gradiente, se denominan de primer orden. Los mtodos que requieren las
derivadas segundas de la funcin se conocen con el nombre de mtodos de segundo orden.
3.3.1. Mtodos de Primer Orden.

Estos mtodos que emplean la informacin correspondiente al gradiente requieren que
ste sea conocido, bien de forma analtica o mediante diferencias finitas. La eficiencia de estos
mtodos es pobre en el caso de funciones con derivadas primeras discontinuas.
El mejor conocido de los mtodos de primer orden es el del gradiente o de Cauchy.
Resulta un punto de partida para otros mtodos ms sofisticados. Es un mtodo lento y su
empleo est limitado a consideraciones acadmicas.
El mtodo del gradiente procede realizando una bsqueda lineal a lo largo de la direccin
dada por:
) (
) (
x f
x f
d
?
?
? ? (3.3.3)
El algoritmo procede de la siguiente manera:
i. Partir de un estimado inicial x
k
.
ii. Si ? ? ? ) (
k
x f , el proceso ha terminado siendo x
k
el ptimo buscado, e es un valor lo
suficientemente pequeo para poder suponer que el gradiente es nulo; En caso
contrario ir a iii.
iii. Definir la nueva direccin de bsqueda.
) (
) (
k
k
k
x f
x f
d
?
?
? ? .
iv. Realizar una minimizacin por bsqueda lineal en f( x
k
+a
k
d
k
) con a
k
= 0.
v. Definir un nuevo estimado x
k+1
= x
k
+ a
k
d
k
.
vi. Repetir el proceso.
Optimizacin de la unin mediante ajuste a presin en un amortiguador MacPherson

3 Optimizacin no lineal 6
3.3.2. Mtodos de Segundo Orden.

Estos mtodos hacen uso de las derivadas primeras y segundas de la funcin a optimizar.
Entre ellos el mtodo de Newton es el prototipo de mtodos de esta familia. El mtodo de
Newton se basa en aproximar la funcin a optimizar en un entorno del mnimo por una funcin
cuadrtica, que es la que se minimiza exactamente. En esta aproximacin cuadrtica se emplea la
matriz hessiana que es una matriz simtrica formada con ) ( ) (
2 k k
x f x H ? ? . En un problema de
minimizacin es necesario que la matriz H(x
k
) sea definida positiva, en el caso en que la matriz
hessiana no sea definida positiva o sea singular no se puede obtener el ptimo con este mtodo.
Para solventar este problema se emplean los mtodos de Newton modificados, que sustituyen la
matriz hessiana no definida positiva por otra matriz prxima a la hessiana pero definida positiva.
En la prctica la matriz hessiana o bien no se puede calcular o es muy difcil y costosa de
calcular. Por lo que un procedimiento prctico es partir de un estimado prximo a H
-1
(x
k
) e irlo
actualizando secuencialmente en cada iteracin. Los algoritmos de mtrica variable son aquellos
en los que la direccin de bsqueda viene definida como:
) (
k k
k
x f S d ? ? ? (3.3.4)
donde S
k
es una matriz definida positiva que aproxima a H
-1
(x
k
).
Con estos algoritmos se evita la evaluacin de las segundas derivadas, exigidas en el
mtodo de Newton. De todas formas a la matriz S
k
se le exige que refleje, en cierta medida,
propiedades del hessiano de la funcin para conseguir una convergencia rpida del problema. La
matriz aproximada a la inversa del hessiano se emplea para definir la direccin de bsqueda de
tal manera que cerca del ptimo se comporte como la inversa del hessiano. Dados dos estimados
x
k
y x
k+1
el hessiano se puede aproximar por:
k k
k k
k
x x
x f x f
x H
?
? ? ?
?
?
?
?
1
1
1
) ( ) (
) ( (3.3.5)
haciendo ) ( ) (
1 k k k
x f x f q ? ? ? ?
?
y
k k k
x x p ? ?
?1
la expresin anterior resulta:
k k k
p x H q ) (
1 ?
? (3.3.6)
Si se supone que el hessiano puede considerarse constante en n sucesivos pasos del
algoritmo se podr hacer:
k k
p H q ? n k ,..., 2 , 1 ? ? (3.3.7)
y queda determinado H para que se cumplan las ecuaciones anteriores.
Optimizacin de la unin mediante ajuste a presin en un amortiguador MacPherson

3 Optimizacin no lineal 7
Para un problema en vas de resolucin, si el nmero de pasos resueltos es k < n, la matriz
H
-1
no podr ser construida totalmente y el sistema de ecuaciones

i i i
p q S ?
?

1
1= i < n (3.3.8)
admite infinitas soluciones de la matriz S. Dependiendo de cmo se defina S se tendr uno u otro
mtodo. A continuacin se describe uno de ellos.
Mtodo de Davidon-Fletcher-Powell en este mtodo la matriz aproximada a la inversa del
hessiano se actualiza sumndole dos matrices de rango unidad, por lo que este mtodo es
conocido como mtodo de correccin de rango dos. Partiendo de la expresin (3.3.8) y
suponiendo la matriz S
k+1
de la forma:
k k k
A S S ? ?
?1
(3.3.9)
Sustituyendo esta ltima expresin en la anterior se obtiene:
k k k k k
q S p q A ? ? (3.3.10)
cuya solucin es de la forma:
k kT
kT k k
k kT
kT k
k
q z
z q S
q y
y p
A

? ? (3.3.11)
donde y
kT
, z
kT
son vectores arbitrarios no ortogonales a q
k
.
Como H
-1
es simtrica se eligen los vectores y
kT
y z
kT
de manera tal que A
k
sea tambin
simtrica, sindolo simultneamente S
k+1
. La forma ms simple de asegurarlo es haciendo y
k
= p
k

y z
k
= q
k
. Finalmente la frmula de Davidon-Fletcher-Powell ser:
k
k k kT
k kT k k
k kT
kT k
k
S
q S q
S q q S
q p
p p
S ? ? ?
?

1
(3.3.12)
El algoritmo basado en este mtodo consta de los siguientes pasos:
i. Definicin de una matriz inicial S
0
definida positiva y de un estimado inicial x
0
.
ii. Obtencin de la direccin de bsqueda d
k
= S
k
g
k
, donde ) (
k k
x f g ? ? .
iii. Minimizacin de f (x
k
+ ad
k
) con respecto a a = 0 para obtener el nuevo estimado x
k+1

y as ) (
1 1 ? ?
? ?
k k
x f g .
iv. Definicin de
k k k k k
g g x f x f q ? ? ? ? ? ?
? ? 1 1
) ( ) ( ,
k k k
x x p ? ?
?1
y
k
k k kT
k kT k k
k kT
kT k
k
S
q S q
S q q S
q p
p p
S ? ? ?
?

1
(3.3.13)
Optimizacin de la unin mediante ajuste a presin en un amortiguador MacPherson

3 Optimizacin no lineal 8
3.4. Optimizacin con restricciones.

A continuacin se van a presentar una serie de algoritmos que permiten resolver
problemas de optimizacin no lineales sujetos a restricciones que tampoco tienen por qu ser
lineales. En este caso el problema de optimizacin quedara formulado de la siguiente manera:
Minimizar: f (x) (3.4.1)
Sujeto a: g
j
(x) = 0 j = 1, m (3.4.2)
h
k
(x) = 0 k = 1,l (3.4.3)
Junto a estas restricciones estn tambin las de las variables de diseo x
i
que se
encuentran restringidas a un intervalo de validez.
El procedimiento general es minimizar la funcin objetivo como una funcin sin
restricciones pero penalizando las violaciones de las restricciones. Como estos mtodos pueden
dar lugar a problemas mal condicionados, la penalizacin se impone inicialmente de forma
moderada y se va incrementando segn se avanza en la optimizacin. Ello requiere la
optimizacin de varios problemas penalizados para obtener el ptimo de la funcin objetivo que
respeta las restricciones. Estos mtodos se conocen por sus siglas en ingls SUMT (sequential
unconstrained minimization techniques). La pseudo- funcin objetivo que se emplea en estos
mtodos son de la forma:
) ( ) ( ) , ( x P x f x
p p
? ? ? ? ? (3.4.4)
donde f (x) es la funcin objetivo original y P (x) es la funcin de penalizacin y cuya forma
depende del SUMT que se emplee. El escalar ?
p
es un factor multiplicativo que determina el
valor de la penalizacin y que permanece constante para cada optimizacin de la pseudo-funcin
objetivo. El subndice p denota el nmero de la minimizacin de la funcin penalizada. El factor
multiplicativo ? se modifica de una minimizacin a otra, aumentando o disminuyendo segn el
tipo de penalizacin.
A continuacin se muestran tres tcnicas de penalizacin. La primera de ellas es la ms
sencilla de implementar y se conoce como penalizacin exterior puesto que slo penaliza la
funcin objetivo cuando no se cumplen las restricciones. El segundo mtodo, llamado
penalizacin interior, penaliza en mayor medida la funcin objetivo cuanto ms se aproximan las
variables de diseo a no cumplir las restricciones, de manera que si el estimado inicial se
encuentra en la regin factible, el proceso de minimizacin impide que el estimado salga del
espacio disponible. Cada uno de los mtodos anteriores tiene sus ventajas e inconvenientes, las
ventajas de ambos mtodos se incorporan en un tercer mtodo llamado penalizacin interior
extendida. Un conocimiento adecuado de estas tcnicas y de las dificultades que presenta la
Optimizacin de la unin mediante ajuste a presin en un amortiguador MacPherson

3 Optimizacin no lineal 9
optimizacin de problemas no lineales sujetos a restricciones permite comprender la importancia
de una formulacin adecuada del problema.
En cada forma de penalizacin se mostrar un ejemplo de la funcin de penalizacin, este
ejemplo se obtiene de la siguiente restriccin:
5 5
10 5 10 3 ? ? N (3.4.5)
esta restriccin se transforma para que quede como dos restricciones del tipo estndar, adems se
escalan para que no dependan de las dimensiones empleadas, la forma final de estas restricciones
es la que sigue:
0
10 3
10 3
5
5
?
? N
(3.4.6)
0
10 5
10 5
5
5
?
? N
(3.4.7)
3.4.1. Penalizacin exterior.

En este caso la funcin de penalizacin se obtiene de:
? ? ? ? ? ?
? ?
? ?
? ?
l
k
k
m
j
j
x h x g x P
1
2
1
2
) ( ) ( , 0 max ) ( (3.4.8)
En la expresin anterior se puede ver que no se impone penalizacin si todas las
restricciones se cumplen (g
j
(x) = 0, h
k
(x) = 0), pero si alguna de ellas no se cumple se penaliza
con el cuadrado de la restriccin. Se hace as para conseguir una pendiente nula en la frontera de
la regin factible, asegurando una pendiente continua de la pseudo- funcin objetivo. A pesar de
ello la segunda derivada no es continua en la frontera por lo que puede dar lugar a problemas
numricos si se emplean mtodos de segundo orden.
Considerando ahora el factor multiplicativo ?
p
, se observa que un valor pequeo tiene
como resultado una minimizacin sencilla de la funcin objetivo penalizada pero se permite una
mayor violacin de las restricciones. Por otro lado si se emplea un valor grande se asegurar una
solucin dentro de la regin factible pero es ms difcil de obtener debido a un peor
condicionamiento del problema. El proceder habitual ser entonces comenzar con un valor de ?
p

pequeo, optimizar la funcin objetivo penalizada, incrementar el valor de la penalizacin,
actualizar la funcin objetivo penalizada y obtener un nuevo valor del ptimo partiendo del
punto obtenido en la iteracin anterior. Se contina con el proceso anterior hasta que se alcanza
un valor del ptimo satisfactorio.
Para el ejemplo comentado anteriormente la forma de la funcin objetivo penalizada sera
como se muestra en la ilustracin siguiente:
Optimizacin de la unin mediante ajuste a presin en un amortiguador MacPherson

3 Optimizacin no lineal 10

Ilustracin 3-1. Penalizacin exterior, se muestra una vista general de las restricciones, de cada funcin de
penalizacin y de la funcin de penalizacin total.
Se muestra de manera detallada a continuacin la zona en la que se encuentran las
funciones de penalizacin.

Ilustracin 3-2. Funciones de penalizacin en la penalizacin exterior.
Optimizacin de la unin mediante ajuste a presin en un amortiguador MacPherson

3 Optimizacin no lineal 11
Se puede observar como slo se penalizan las restricciones en la zona externa de la regin
factible.
3.4.2. Penalizacin interior.

Con este mtodo se obtiene una serie de soluciones factibles pero a expensas de una
funcin de penalizacin ms compleja. La diferencia radica en la forma de penalizar las
restricciones de desigualdad y en que el parmetro de penalizacin se disminuye en vez de
aumentarlo durante el proceso de optimizacin.
La funcin de penalizacin ms comn en el caso de penalizacin interior es:
?
?
?
?
m
j j
x g
x P
1
) (
1
) ( (3.4.9)
De esta forma la pseudo-funcin objetivo incluyendo las restricciones de igualdad quedara:
? ?
? ?
? ?
?
?
? ?
l
k
k p
m
j j
p p p
x h
x g
x f x
1
2
1
) (
) (
1
' ) ( ) ' , , ( ? ? ? ? ? (3.4.10)
El ltimo trmino de (3.4.10) es idntico al de (3.4.8) y corresponde a la penalizacin exterior
anterior ya que h
k
(x) debe aproximarse a cero todo lo posible. Por ello ?
p
tiene la misma
evolucin creciente de antes.
Se requiere que la funcin g
j
(x) sea negativa para que la solucin sea factible, con lo que
el segundo trmino de (3.4.10) ser positivo segn se aproxima g
j
(x) a cero la penalizacin
tiende a infinito. El parmetro de penalizacin ?
p
se emplea para distinguirlo del parmetro de
penalizacin en la penalizacin exterior. Este parmetro ?
p
empieza teniendo un valor alto y se
disminuye cada vez que se obtiene un nuevo valor de las variables de diseo en el ptimo,
comenzando la siguiente optimizacin con el valor anterior de las variables de diseo.
En el ejemplo comentado anteriormente la forma de las funciones de penalizacin y de
las restricciones son las siguientes.
Optimizacin de la unin mediante ajuste a presin en un amortiguador MacPherson

3 Optimizacin no lineal 12

Ilustracin 3-3. Penalizacin interior, se muestra una vista general de las restricciones, de cada funcin de
penalizacin y de la funcin de penalizacin total.
Se mostrar a continuacin una representacin ms detallada de las funciones de
penalizacin.

Ilustracin 3-4. Detalle de la penalizacin interior, se pueden observar los problemas de continuidad que se
presentan en el lmite de la regin factibl e.
Optimizacin de la unin mediante ajuste a presin en un amortiguador MacPherson

3 Optimizacin no lineal 13
3.4.3. Penalizacin interior extendida.

En este mtodo se intenta aprovechar las ventajas de los dos mtodos anteriores a la hora
de penalizar las restricciones de desigualdad. Para las penalizaciones de igualdad se emplea la
penalizacin exterior por lo que se omitir en la formulacin que sigue por brevedad.
En este mtodo la funcin de penalizacin toma la forma:
?
?
?
m
j
j
x g x P
1
) (
~
) ( (3.4.11)
donde:
) (
1
) (
~
x g
x g
j
j
?
? si g
j
(x) = e (3.4.12)
2
) ( 2
) (
~
?
? x g
x g
j
j
?
? ? si g
j
(x) > e (3.4.13)
El parmetro e es un nmero negativo pequeo que marca la transicin entre la
penalizacin interior dada por (3.4.12) y la interior extendida dada por (3.4.13). Para obtener una
secuencia de diseos factibles es necesario elegir e de manera que la pseudo- funcin objetivo
tenga una pendiente positiva en la frontera de la regin factible. Haftka y Starnes (referencia
[14]) recomiendan un valor de e dado por:
? ?
a
p
C ' ? ? ? ? con 1/3 = a = 1/2 (3.4.14)
donde C es una constante. Inicialmente se toma e dentro del rango -0.3 = e = -0.1. Tambin se
selecciona el valor de ?
p
de manera que los trminos de la penalizacin interior y exterior tengan
inicialmente el mismo valor. As se obtiene el valor de C que se debe emplear en la penalizacin.
Con esta definicin de la penalizacin se consigue que el ptimo permanezca en el interior de la
regin factible.
La forma de las funciones de penalizacin y de las restricciones en el ejemplo mostrado
anteriormente se muestran a continuacin para varios valores del parmetro e.
Optimizacin de la unin mediante ajuste a presin en un amortiguador MacPherson

3 Optimizacin no lineal 14

(a) (b)
Ilustracin 3-5. Penalizacin interior extendida, se muestran las restricciones, las funciones de penalizacin y
de la funcin de penalizacin total. Se muestran dos valores distintos de e, en (a) un valor inicial recomendado
de -0.106 y en (b) un valor actualizado de -0.0106. Se puede observar como se desplaza el mnimo de la
funcin de penalizacin total.
3.5. Implementacin de los algoritmos de optimizacin.

Se han implementado dos algoritmos de optimizacin para su aplicacin en un programa
de elementos finitos, ANSYS

. Este programa cuenta con un lenguaje de programacin propio


denominado APDL, siglas de Ansys Parametric Design Language. Los algoritmos de
optimizacin implementados en APDL son paramtricos por lo que su validez es general dentro
de la aplicabilidad de cada uno de los algoritmos en concreto. Adems se han implementado los
algoritmos de optimizacin en FORTRAN para su comprobacin en una serie de problemas
mecnicos con solucin conocida, de manera que permite estudiar la validez de los resultados
proporcionados por los algoritmos implementados en APDL.
3.5.1. Algoritmo de Primer Orden.

El algoritmo de primer orden implementado es el mtodo del gradiente, el cual es el
mtodo bsico de optimizacin no lineal. Este mtodo es de aplicacin general aunque cuenta
con una convergencia lenta, por lo que su uso est restringido a problemas sencillos y
aplicaciones acadmicas. La implementacin en APDL de este algoritmo requiere la
estructuracin del programa en una serie de funciones que dirigen el flujo del programa y ayudan
a la resolucin del problema mecnico estudiado con el mtodo de los elementos finitos.
En primer lugar es necesario definir el problema mecnico a resolver mediante el MEF y
las variables de ste que se desean optimizar, llamadas variables de diseo. Dicho problema
mecnico se deber modelar de forma paramtrica, permitiendo la variacin de las variables de
Optimizacin de la unin mediante ajuste a presin en un amortiguador MacPherson

3 Optimizacin no lineal 15
diseo. Se deben extraer las variables que conformarn la funcin objetivo a minimizar y las
restricciones a que est sujeta la solucin y que sern posteriormente penalizadas. Una vez
obtenidas estas variables se forma la funcin objetivo penalizada con el parmetro de
penalizacin considerado, se optimiza la funcin objetivo penalizada y se comprueba la
convergencia variando el parmetro de penalizacin. A continuacin se muestra el diagrama de
flujo del algoritmo implementado.

Ilustracin 3-6. Diagrama de flujo del proceso general de optimizacin. En el archivo .inp se encuentra el
problema mecnico a optimizar.
Una vez obtenidas las variables que conforman la funcin objetivo y las restricciones se
forma la funcin objetivo penalizada mediante el mtodo de penalizacin interior extendida que
se coment en el apartado anterior. El diagrama de flujo que representa este proceso es el
siguiente:
Optimizacin de la unin mediante ajuste a presin en un amortiguador MacPherson

3 Optimizacin no lineal 16

(a) (b)
Ilustracin 3-7. Proceso de creacin de la funcin objetivo penalizada (a) y penalizacin de una
restriccin genrica (b).
Una vez obtenida la funcin objetivo penalizada se realiza la minimizacin propiamente
dicha. Con el mtodo del gradiente se obtiene la direccin de mxima disminucin de la funcin
objetivo. El clculo del gradiente se realiza de forma aproximada mediante diferencias finitas.
Para ello se parte de un valor inicial de las variables de diseo y con pequeos incrementos de
cada una de las variables de diseo por separado se evala la funcin objetivo. Esto requiere la
resolucin de un problema mecnico distinto en cada caso. Una vez obtenido el gradiente es
necesario calcular el valor mximo que pueden alcanzar las variables de diseo en esa direccin,
puesto que debe estar definido un rango de validez de las variables de diseo. En la direccin
dada por el gradiente y con el lmite obtenido se realiza una minimizacin monodimensional
mediante el mtodo de la Seccin urea. Este proceso general se realiza de la manera que sigue:
Optimizacin de la unin mediante ajuste a presin en un amortiguador MacPherson

3 Optimizacin no lineal 17

Ilustracin 3-8. Diagrama de flujo del proceso de minimizacin de la funcin objetivo penalizada mediante el
mtodo del gradiente.
Optimizacin de la unin mediante ajuste a presin en un amortiguador MacPherson

3 Optimizacin no lineal 18

Ilustracin 3-9. Obtencin del valor lmite de las variables de diseo en la direccin dada por el gradiente.
Optimizacin de la unin mediante ajuste a presin en un amortiguador MacPherson

3 Optimizacin no lineal 19
El proceso de minimizacin monodimensional mediante el mtodo de la Seccin urea
se realiza con la evaluacin de la funcin objetivo en una serie de puntos dados en la direccin
del gradiente. Se compara el valor de la funcin objetivo penalizada en estos puntos y se reduce
el intervalo en el que se encuentra el mnimo de la funcin objetivo penalizada. Una vez que se
obtiene un intervalo lo suficientemente estrecho o una variacin de la funcin objetivo lo
suficientemente pequea, entre distintas evaluaciones de la funcin, se finaliza el proceso de
reduccin del intervalo y se obtiene el mnimo mediante la aproximacin con una funcin
cuadrtica con la expresiones (3.2.4) a (3.2.6). Este proceso se presenta de forma esquemtica en
la ilustracin que sigue.
Optimizacin de la unin mediante ajuste a presin en un amortiguador MacPherson

3 Optimizacin no lineal 20

Ilustracin 3-10. Proceso de bsqueda monodimensional mediante el algoritmo de la Seccin urea.
Una vez finalizada cada iteracin de optimizacin se actualiza el punto inicial de las
variables de diseo con el ptimo de la iteracin anterior. El proceso global de optimizacin
finaliza si se dan alguna de las dos situaciones siguientes, que el ptimo obtenido se encuentre
prximo al punto de partida o que el gradiente sea nulo en el ptimo.
Optimizacin de la unin mediante ajuste a presin en un amortiguador MacPherson

3 Optimizacin no lineal 21
3.5.2. Algoritmo de Segundo Orden.

El mtodo del gradiente presentado anteriormente requiere un gran nmero de iteraciones
hasta llegar al ptimo. Como cada iteracin requiere una serie de evaluaciones del problema
mecnico a optimizar se hace necesaria la implementacin de un algoritmo que proporcione una
convergencia ms rpida, reducindose as el tiempo de ejecucin.
El algoritmo de segundo orden que se ha implementado es el algoritmo de Davidon-
Fletcher-Powell. Este algoritmo proporciona una direccin de bsqueda ms eficiente pero
requiere un mayor uso de memoria puesto que es necesario almacenar el gradiente calculado en
la iteracin anterior para calcular la matriz que aproxima a la inversa de la hessiana.
El proceso general de optimizacin mediante este algoritmo es anlogo al seguido en el
mtodo del gradiente, con la diferencia del clculo de la direccin de bsqueda. La nueva
direccin de bsqueda se obtiene con la actualizacin de la matriz que aproxima la inversa de la
hessiana. Esta actualizacin se realiza mediante la definicin de una serie de vectores en los que
se almacena el gradiente de iteraciones anteriores.
En el proceso de optimizacin se parte de un punto inicial y de una estimacin de la
matriz inversa de la hessiana que debe ser definida positiva, por lo que una matriz con escalares
positivos en la diagonal es un estimado aceptable. En el punto inicial se calcula el gradiente de la
funcin objetivo penalizada mediante diferencias finitas y se obtiene la direccin de bsqueda
con la expresin.
) (
0 0
0
x f S d ? ? ? (3.5.1)
donde d
0
es la direccin de bsqueda inicial, S
0
es la estimacin inicial de la matriz que aproxima
la inversa de la hessiana y x
0
es el vector inicial de las variables de diseo.
Una vez obtenida la direccin de bsqueda se debe obtener el valor mximo que pueden
alcanzar las variables de diseo en sa direccin y realizar la minimizacin monodimensional
mediante el mtodo de la Seccin urea tal y como se realiza en el mtodo del gradiente. Una
vez obtenido el punto en el que se alcanza el mnimo se realiza una comprobacin de
convergencia. Si no se ha llegado al ptimo se calcula en el nuevo punto el gradiente mediante
diferencias finitas y se actualiza la matriz que aproxima a la inversa de la hessiana. El diagrama
de flujo del proceso descrito se muestra a continuacin.
Optimizacin de la unin mediante ajuste a presin en un amortiguador MacPherson

3 Optimizacin no lineal 22





























Ilustracin 3-11. Diagrama de flujo del mtodo de Davidon-Fletcher-Powell para la optimizacin
multidimensional
Este mtodo de segundo orden, al proporcionar una convergencia ms rpida, permite un
menor nmero de simulaciones del problema mecnico a optimizar, por lo que el tiempo de
ejecucin es menor que el necesario en el algoritmo de primer orden. Esto ocurre a costa de un
mayor requerimiento de memoria, el cual no es significativo hasta valores muy grandes del
nmero de variables de diseo.
El tiempo de ejecucin est condicionado principalmente por la resolucin mediante el
MEF del problema mecnico, ya que la evaluacin de las restricciones y de la funcin objetivo
se realiza a travs de estos resultados. Por ello es primordial obtener un algoritmo de ejecucin
de rpida convergencia, que permita un menor nmero de evaluaciones, es decir, de
simulaciones del problema mecnico en Elementos Finitos.
x
0

S
0

) (
0 0
x f g ? ?

INICIO
Minimizacin en a.
f (x
k
+ adk)
Nuevo est imado.
x
k+1

Convergencia?
S
NO
FIN
dk = S
k
g
k
) (
1 1 ? ?
? ?
k k
x f g

k k k k k
g g x f x f q ? ? ? ? ? ?
? ? 1 1
) ( ) (

k
k k kT
k kT k k
k kT
kT k
k
S
q S q
S q q S
q p
p p
S ? ? ?
?

1

k k+1

También podría gustarte