You are on page 1of 29

Rev. Int. Mt. Num. Clc. Dis. Ing.

e
a
Vol. 20, 2, 139-167 (2004)

Revista Internacional de
Mtodos Numricos para
e
e
Clculo y Diseo en Ingenier
a
n
a

Un nuevo algoritmo evolutivo para la optimizacin


o
de una o varias funciones objetivo sujetas a
restricciones
Salvador Botello, Arturo Hernndez y Giovanni Lizrraga
a
a
Centro de Investigacin en Matemticas
o
a
36000 Apdo. Postal 402
Guanajuato, Gto., Mxico
e
Tel.: 52-473-732-71-55; Fax: 52-473-732-57-49
e-mail: botello@cimat.mx, artha@cimat.mx, giovanni@cimat.mx

Carlos Coello
CINVESTAV-IPN, D.I.E. Secc. Computacin
o
Av. IPN 2580
07300 San Pedro Zacatenco, Mxico D.F., Mxico
e
e
Tel.: 52-555-061 38-00; Fax: 52-555-061 37 57
e-mail: ccoello@cs.cinvestav.mx

Resumen
Se presenta un nuevo algoritmo para considerar restricciones en funciones que tienen uno o varios objetivos
a optimizar utilizando Algoritmos Evolutivas. El algoritmo aqu propuesto utiliza como base el algoritmo

de PAES para controlar la diversidad de individuos en el frente de Pareto empleando una malla, la cual
cambia dinmicamente el tama o de sus celdas y dimensiones del espacio guindose por las restricciones.
a
n
a
Se propone un nuevo modelo que permite que la poblacin evolucione hasta alcanzar las regiones factibles
o
y se acerque al punto optimo en caso de funciones con slo un objetivo, o bien que tenga una muy buena

o
dispersin en la regin factible en el caso de funciones multiobjetivo. Varios ejemplos han sido utilizados
o
o
para mostrar el potencial de ISPAES, y se presentan aplicaciones en la optimizacin de estructuras sujetas
o
a cargas axiales.
ISPAES: A NEW EVOLUTIVE ALGORITHM FOR THE OPTIMIZATION OF THE ONE OR
MANY OBJECTIVE FUNCTIONS WITH CONTRAINS

Summary
We introduce a new evolutionary algorithm with constraint handling for single and multiple objective optimization. The proposed algorithm uses a grid to keep population diversity in a similar way PAES does
it, but here the grid is adaptable, this is, its size changes accordingly to the constraints and adapts to the
search space once the population reaches the feasible region. This adaptable mechanism has proven very
powerful for approaching the true Pareto front, either in problems with one objective or many objectives
with constraints. Several truss optimization problems subject to axial loads are solved to show the potential
and robustness of the algorithm.

c Universitat Polit`cnica de Catalunya (Espa a).


e
n

ISSN: 02131315 Recibido: Agosto 2003 Aceptado: Nov. 2003

140

S. Botello, A. Hernndez, G. Lizrraga y C. Coello


a
a

INTRODUCCION
Existen problemas en los que se desea optimizar, ya se una o varias funciones objetivo
en donde las variables a encontrar, o las propias funciones a optimizar deben satisfacer
ciertas restricciones. Los algoritmos evolutivos (AE) proporcionan un mecanismo eciente
para encontrar la solucin optima en problemas en los que se tiene delimitada la regin
o
o
factible por medio de restricciones. Dichas restricciones pueden ser igualdades o desigualdades y, a su vez estas ser lineales o no. Se ha desarrollado bastante trabajo de investigacin
o
en los ultimos a os para perfeccionar los mecanismos que permiten incorporar las restric
n
ciones dentro de las funciones de mrito que se utilizan para optimizar en los AE3,6 . Una
e
aproximacin, que com nmente se ha utilizado para incorporar las restricciones utilizando
o
u
optimizacin evolutiva es mediante la aplicacin de funciones de penalizacin. Consiste en
o
o
o
castigar la funcin de mrito cuando alguna de las restricciones ha sido violada, de tal suerte
o
e
que cuando se tiene una solucin factible, sta se vea favorecida cuando se compara con
o
e
alguna que viole una o varias restricciones. Un grave inconveniente para la utilizacin de
o
funciones de penalizacin es poder determinar los parmetros de castigo, los cuales en geneo
a
ral van a depender del tipo de problema a resolver5,4 . Recientemente algunos investigadores
han propuesto utilizar conceptos de optimizacin multiobjetivo para incluir las restricciones
o
o
como objetivos en los AE4 . En este trabajo se presenta una nueva aproximacin basada
en estrategias evolutivas y que originalmente fue propuesta para la optimizacin de mulo
tiobjetivos: Pareto Archived Evolution Strategy (PAES)7 . En nuestra propuesta pueden
considerarse las restricciones en la optimizacin de funciones que tienen un solo objetivo o
o
tambin determinar la mejor solucin compromiso en funciones multiobjetivo. En la seccin
e
o
o
a continuacin se presenta la denicin matemtica del tipo de problemas que tratamos de
o
o
a
resolver; en la seccin siguiente se hace una breve descripcin sobre los antecedentes a este
o
o
trabajo; posteriormente se describe con todo detalle el algoritmo ISPAES propuesto en este
art
culo; luego se presentan los resultados que se obtuvieron al utilizar este algoritmo en la
optimizacin de funciones de uno y varios objetivos sujetas a restricciones, y, en la seccin
o
o
nal presentamos las conclusiones.

DEFINICION DEL PROBLEMA


Estamos interesados en optimizar el problema general no lineal en el que se desea
Encontrar x que optimiza f (x)

(1)

g (x) 0, i = 1, . . . , n

(2)

hj (x) = 0, j = 1, . . . , p

(3)

sujeto a

o
donde f es el vector de k funciones objetivo f = [f1 (x), . . . , fk (x)], x el vector solucin
u
x = [x1 , x2 , . . . , xr ]T que tiene r variables; n el n mero de restricciones de desigualdad; y
p el n mero de restricciones de igualdad (en ambos casos pueden ser condiciones lineales o
u
no lineales).
Si se denomina con F la regin factible y con S el espacio donde deber realizarse la
o
a
b squeda de la solucin, debe ser claro que F S.
u
o

Un nuevo algoritmo evolutivo para la optimizacin de una o varias funciones objetivo sujetas a restricciones
o

141

ANTECEDENTES
Diversos modelos se han propuesto en los ultimos a os para tratar de resolver el pro
n
blema de optimizacin con restricciones. Algunos proponen el uso de tcnicas basadas
o
e
en poblaciones2 , otros se sirven el uso de la dominancia de Pareto como mecanismo de
o
e
seleccin1 y otros hacen uso de la jerarquizacin de Pareto8 . Dichas tcnicas han sido
o
utilizadas con xito para determinar la regin factible, pero no son muy efectivas para
e
o
encontrar el optimo global de un problema. En este trabajo se propone un algoritmo general

que nos permite determinar la regin factible y, dependiendo del n mero de funciones
o
u
objetivo, poder estimar con facilidad el entorno del punto optimo cuando se trata de un

solo objetivo o bien el frente de Pareto optimo cuando tenemos dos o ms objetivos.

a
Dado que nuestro algoritmo est basado en utilizar conceptos de optimizacin multia
o
objetivo, se presenta a continuacin una breve discusin sobre los ms relevantes trabajos
o
o
a
realizados en esta rea. La idea principal que empleamos para incluir las restricciones en la
a
optimizacin multiobjetivo, es redenir el problema de optimizacin global f(x) como un
o
o
problema de optimizacin multiobjetivo que tiene k + m objetivos, donde m es el n mero
o
u
total de restricciones (m = n + p) y k es el n mero de funciones objetivo del problema oriu
ginal. Entonces podemos aplicar cualquier tcnica de optimizacin multiobjetivo al nuevo
e
o
vector v = (f (x), f1 (x), . . . , fk+m (x)), donde f1 (x), . . . , fk (x) son las funciones objetivo del

problema original y fk+1 (x), . . . , fk+m (x) son nuevas funciones objetivo que representan las
restricciones del problema. Una solucin x ideal de este problema ser que fi (x)=0 para
o
a
k + 1 i k + m (satisfacer las restricciones) y que f (x) f (y) para todo y factible
(asumiendo minimizacin).
o
En general, puede considerarse que son tres los mecanismos utilizados en las tcnicas
e
de optimizacin multiobjetivo que incorporan restricciones:
o
1. uso del criterio de dominancia de Pareto para hacer la seleccin;
o
2. uso de la jerarquizacin de Pareto9 para asignar mejor aptitud entre individuos doo
minados o bien asignar una mayor aptitud a los individuos que son no dominados;
3. bartir la poblacin en subpoblaciones que son evaluadas con respecto a la funcin objeo
o

tivo o con respecto a cada una de las restricciones del problema. Este es el mecanismo
de seleccin adoptado en el Vector Evaluated Genetic Algorithm (VEGA)10 .
o
A continuacin se presenta una breve descripcin de las diferentes aproximaciones que
o
o
se han propuesto en la literatura y que adoptan alguna o una combinacin de las tres
o
principales ideas anteriormente indicadas.
VEGA
u
Parmee y Purchase20 propusieron el uso de VEGA10 para guiar la b squeda de algoritmos evolutivos a la regin factible en el dise o de una turbina de gas en un muy complicado
o
n
espacio de restricciones. Esta aproximacin realmente no utiliza dominancia de Pareto para
o
explorar el espacio de b squeda, requiere ser iniciado en la regin factible y su mxima foru
o
a
taleza es utilizar operadores especiales que no permiten perder la zona factible, por lo que
esta propuesta es muy espec
ca para cierto tipo de problemas.
COMOGA
o
Surry y Radclie20 usaron una combinacin del Vector Evaluated Genetic Algorithm
o
(VEGA)10 y jerarquizacin de Pareto para incluir las restricciones en el algoritmo denominado COMOGA (Constrained Optimization by Multi-Objective Genetic Algorithms).

142

S. Botello, A. Hernndez, G. Lizrraga y C. Coello


a
a

En esta tcnica, los individuos son jerarquizados dependiendo de la suma de restricciones


e
violadas (o sea, el n mero de individuos dominados por la funcin objetivo). El proceso de
u
o
seleccin es realizado no slo por la jerarquizacin, sino que tambin considera la aptitud
o
o
o
e
de cada solucin. COMOGA usa un Algoritmo Gentico no generacional y un conjunto de
o
e
parmetros extra denidos por el usuario. Una desventaja de este algoritmo es que es muy
a
sensible a los valores de los parmetros, lo que lo hace poco atractivo.
a
MOGA
o
Coello1 propuso, el uso de la dominancia de Pareto en la seleccin para considerar
las resticciones en AE. Esta es una aplicacin del proceso de jerarquizacin de Pareto
o
o
propuesta por Fonseca y Fleming21 (llamada Multi-Objective Genetic Algorithm o MOGA)
para incluir restricciones. En esta propuesta los mejores individuos son jerarquizados sobre
los peores. Basndose en dicha jerarquizacin, el valor de aptitud es asignado para cada
a
o
individuo. Esta tcnica incluye un mecanismo de autoadaptacin que es controlado por un
e
o
parmetro que usualmente debe ser determinado en forma emp
a
rica.
NPGA
o
Coello y Mezura4 implementaron una versin del Niched-Pareto Genetic Algorithm
o
(NPGA)16 para incluir las restricciones en problemas de optimizacin de un objetivo sujetos a restricciones. El NPGA es una tcnica de optimizacin multiobjetivo en la que
e
o
los individuos son seleccionados por torneo, basndose en la dominancia de Pareto. Este
a
mtodo tiene la ventaja de que no realiza comparaciones de cada individuo con los otros
e
(como es tradicional en los mtodos de jerarquizacin de Pareto); usa solamente una parte
e
o
de la poblacin para estimar la dominancia de Pareto, lo que reduce sustancialmente el
o
tiempo de cmputo para obtener un buen resultado.
o
Grupos de pareto y bsqueda en l
u
nea
Grupos de Pareto y b squeda en L
u
nea (Pareto Set and Line Search), desarrollado
o
por Camponogara y Talukdar24 , en donde se propone una transformacin del problema de
optimizacin global en un problema de dos objetivos: el primero que contiene las funciones
o
objetivo originales y el segundo, las restricciones, teniendo como nuevo objetivo
n

max(0, gi (x))

(x) =

(4)

i=1

La ecuacin (4) trata de minimizar la suma total de las restricciones violadas de una
o
determinada solucin. En cada generacin del proceso son generados diversos grupos de
o
o
Pareto. Un operador que sustituye al cruce utiliza dos grupos de Pareto Si y Sj , donde
i < j, y dos soluciones xi Si y xj Sj , donde xi domina a xj . Con esos dos puntos, una
b squeda direccional es denida usando
u

d=

(xi xj )
|xi xj |

(5)

La b squeda en l
u
nea comienza proyectando d sobre uno de los ejes de las variables
de decisin para encontrar una nueva solucin x que domine a las anteriores xi y xj .
o
o

Un nuevo algoritmo evolutivo para la optimizacin de una o varias funciones objetivo sujetas a restricciones
o

143

En intervalos predenidos, la peor mitad de la poblacin es reemplazada con una nueva


o
solucin aleatoria para impedir una convergencia prematura. Esto indica que este modelo
o
tiene algunos problemas para mantener la diversidad. Adems, el uso de una b squeda en
a
u
l
nea con los algoritmos genticos aumenta el coste computacional.
e
Min-Max
Una propuesta similar a la formulacin Min-Max usada en la optimizacin multiobjetivo27
o
o
combinada con seleccin de torneo, fue propuesta por Jimnez y Verdegay28 . Ellos propoo
e
nen cuatro funciones de prueba y sus resultados son muy cercanos al optimo. Un problema

de esta aproximacin es que el proceso evolutivo est concentrado primero en satisfacer las
o
a
restricciones, y en la regin factible la b squeda es esencialmente aleatoria13 .
o
u
Dominancia de Pareto y preseleccin
o
Jimnez et al.29 proponen un algoritmo basado en la dominancia de Pareto, dentro de
e
la tcnica de preseleccin para resolver diversos problemas de optimizacin (multiobjetivo,
e
o
o
satisfaccin de restricciones y problemas de programacin). Se redene el problema como
o
o
un problema multiobjetivo sin restricciones y se les da prioridad a los objetivos del problema
original. Soluciones factibles con un buen valor de la funcin objetivo tendrn prioridad
o
a
sobre los otros. Utilizan una codicacin en n meros reales y un algoritmo gentico no
o
u
e
generacional con dos tipos de operadores de cruce (uniforme y aritmtica) y dos operadores
e
de mutacin (uniforme y no uniforme).
o
Jerarquizacin de Pareto y conocimiento del dominio
o
o
Ray et al.25 proponen el uso de jerarquizacin de Pareto y conocimiento del dominio
(Pareto Ranking and Domain Knowledge) para operar en tres espacios: el espacio factible,
el de las restricciones y una combinacin de los dos espacios. En esta aproximacin se
o
o
mantiene una b squeda sobre el espacio en el que son violadas las restricciones y de esta
u
forma se permite hacer una mejor exploracin. Para mantener la diversidad se utiliza un
o
mecanismo basado en nichos, utilizando distancias euclidianas. Con esta propuesta pueden
resolverse problemas de uno o varios objetivos sujetos a restricciones. La principal ventaja
de esta aproximacin es que requiere un bajo n mero de evaluaciones de la funcin objetivo
o
u
o
(entre un 2 % y un 10 % del n mero de evaluaciones requeridas por el mapa homomorfo de
u
e
a
Koziel y Michalewicz 22 , que es una de las mejores tcnicas conocidas hoy en d para optimizar considerando restricciones). Esta tcnica tiene algunos problemas para determinar
e
el ptimo global, pero produce muy buenas aproximaciones a un bajo coste computacional.
o
La principal desventaja de esta aproximacin es que requiere una implementacin cono
o
siderablemente ms compleja que cualquiera de las otras tcnicas anteriormente descritas
a
e
.
Jerarquizacin de Pareto y optimizacin robusta
o
o
o
a
Ray26 realiza una extensin a su trabajo previo para incluir restriciones25 basndose
en la jerarquizacin de Pareto y conceptos de optimizacin robusta (Pareto Ranking and
o
o
Robust Optimization). Una solucin optima es robusta si no es sensible a variaciones de
o
los parmetros. Esta aproximacin considera restricciones y determina la regin factible
a
o
o
de forma robusta en problemas en los que puede haber variaciones de los parmetros en el
a
tiempo.

144

S. Botello, A. Hernndez, G. Lizrraga y C. Coello


a
a

ALGORITMO IS-PAES
El algoritmo IS-PAES es una extensin del Pareto Archived Evolution Strategy (PAES)
o
propuesto por Knowles y Corne17,7 para optimizacin multiobjetivo. La principal ventaja
o
de PAES es que utiliza una malla adaptable en un espacio coordenado denido por las
funciones objetivo. Dicha malla es la encargada de mantener la diversidad en el algoritmo.
La malla es creada biseccionando cierto n mero de veces b, el espacio de funciones de
u
dimensin k + m (n mero de funciones objetivo ms restricciones).
o
u
a
Algoritmo principal IS-PAES
maxsize: mximo tamao del archivo
a
n
c: padre actual t X (Espacio de las variables de decisin)
o
h: hijo de c X, ah : Individuo en el archivo que
domina h
ad : individuo en el archivo dominado por h
current: nmero actual de individuos en el archivo
u
cnew: nmero de individuos generados actualmente
u
actual = 1; cnew=0;
c = Nuevo Individuo();
agregar(c);
While cnew MaxNew do
h = mutar(c); cnew+=1;
if (c h) then label A
else if (h c) then
{remover(c); agregar(h); c=h; }
else if ( ah le | ah h) then label A
else if ( ad le | h ad } then{
agregar( h ); ad { remover(ad ); actual-=1 }
else test(h,c,le)
label A
if (cnew % g==0) then {c = generar individuo en
la regin con menor densidad de poblacin}
o
o
if (cnew % r==0) then CortarEspacio(le)
End While
Tabla I. Algoritmo principal IS-PAES

Una de las fuertes desventajas del PAES es que para problemas peque os el n mero
n
u
sica pueden ser muy
de celdas es muy grande (2b(k+m) ) y los requerimientos de memoria f
importantes. Por ejemplo, para un problema con 10 funciones objetivo (que puede incluir
restricciones) y 5 bisecciones del espacio se requiere una malla con 250 celdas. En esta propuesta, el primer cambio que se hace al algoritmo PAES original es invertir la descripcin
o
de la malla, es decir, almacenar solamente los datos de la celda donde est localizada cada
a
solucin. De esta forma se reduce sustancialmente el espacio de memoria que se requiere
o
para resolver un problema con bastantes funciones objetivo. El algoritmo principal de
ISPAES se muestra en la Tabla I, en donde a b indica dominancia de b sobre a. En el
algoritmo que estamos proponiendo reducimos en el tiempo el espacio de b squeda, lo cual
u
fue utilizado por otros investigadores11 , pero esto no ha sido anteriormente utilizado en
computacin evolutiva y mucho menos en optimizacin multiobjetivo con restricciones. La
o
o
idea principal en este caso es reducir el espacio de b squeda sobre la base de factibilidad
u
y aptitud de las funciones objetivo. La reduccin del espacio se hace de tal forma que,
o
despus de varias exploraciones en el espacio actual se seleccionan los mejores elementos
e

Un nuevo algoritmo evolutivo para la optimizacin de una o varias funciones objetivo sujetas a restricciones
o

145

del archivo y con ellos se reduce el espacio de b squeda. Es importante resaltar que debe
u
tenerse cuidado al realizar los cortes, pues pueden dejarse fuera algunas zonas factibles del
espacio. Eventualmente, al realizarse esta operacin de forma repetitiva podemos encontrar
o
el entorno de la solucin para el caso de funciones de un objetivo con restricciones, o bien
o
el frente de Pareto para funciones multiobjetivo con restricciones.
La funcin test(h,c,le) determina si un individuo puede ser agregado al archivo o es
o
desechado. Nosotros estamos introduciendo la siguiente notacin x1 x2 , que indica que x1
o
est localizado en una regin menos poblada de la malla que x2 . El seudocdigo de est
a
o
o
a
funcin est descrito en la Tabla II.
o
a
Pseudocdigo test(h,c,le)
o
if (actual < maxsize) then
agregar(h);
if (h c) then c=h
else if ( ap le | h ap ) then
remover(ap ); agregar(h)
if (h c) then c = h;
Tabla II. Seudocdigo test
o

IS-PAES manipula la poblacin como parte de una relacin entre celdas de una malla,
o
o
mientras que PAES manipula una celda de malla que contiene la relacin entre la poblacin.
o
o
Es decir, PAES mantiene una lista de individuos en cualquier celda de la malla, pero el
IS-PAES determina para cualquier individuo su posicin en la malla, de tal forma que slo
o
o
se requiere una lista donde se determinen las areas ms pobladas y se necesitan solamente

a
maxsize elementos de memoria externa para poder generar una lista ordenada por densidad
de poblacin. En el algoritmo PAES este procedimiento necesita vericar en cada celda de
o
la malla si existen individuos y despus hacer una lista ordenada. La ventaja que se logra al
e
hacer esta relacin invertida (Inverted es la I en el nombre IS-PAES) es muy clara cuando
o
optimizamos un n mero elevado de funciones objetivo o bien cuando se utilizan mallas nas
u
(con muchas celdas).
Cortando el espacio objetivo
CortarEspacio(le) es una funcin muy importante de IS-PAES dado que es la que
o
reduce el espacio de b squeda. El seudocdigo de CortarEspacio(le) se presenta en la
u
o
Tabla III.
Seudocdigo CortarEspacio(le)
o
xpob : vector que contiene el valor
ms pequeo de cualquier xi X
a
n
xpob : vector que contine el valor
ms grande de cualquier xi X
a
selecciona(le);
obtiene MinMax( le, xpob , xpob );
recorta( xpob , xpob );
if(l == 1)ajustaParmetros(le);
a
* caso: una funcin objetivo *
o
Tabla III. Seudocdigo CortarEspacio
o

146

S. Botello, A. Hernndez, G. Lizrraga y C. Coello


a
a

La funcin tamao(le) regresa una lista de los elementos que corresponden a los mejores
o
n
individuos encontrados en el archivo le. El tama o de la lista es del 15 % de maxsize. Los
n
individuos pueden estar localizados en la regin factible, en la no factible o en una mezcla
o
de ambas; la lista de individuos generada descarta del archivo le los peores elementos para
cada restriccin i, seg n el orden descrito en el arreglo restriccinvlida. Se advierte que
o
u
o a
la funcin seleccin(le) no escoge directamente los mejores individuos, sino que retira del
o
o
archivo los individuos que ms violan cada restriccin.
a
o
Seudocdigo selecciona(le)
o
l: nmero de funciones objetivo
u
m: nmero de restricciones
u
mr: nmero de restricciones violadas
u
i:
ndice de restriccin
o
maxsize: tamao mximo de archivo
n
a
listsize: if(l == 1) then 15 % de maxsize
else 50 % de maxsize
valorrestriccin(x,i): valor de la
o
restriccin i
o
mrle(le,mr): calcula mr
Peor(le,i): peor individuo del archivo para restriccin i
o
restriccinvlida={1,2,3,...,m};
o a
i=Primerode(restriccinvlida);
o a
if (l > 1){
mrle(le,mr);
if(mr <listsize)listsize=mr;
}
While (tamao(le) > listsize and
n
tamao(restriccinvlida) > 0) {
n
o a
x=peor(le,i)
if (x viola restriccin i)
o
le=borra(le,x)
else restriccinvlida=
o a
borra
ndice(restriccinvlida,i)
o a
if (tamao(restriccinvlida) > 0)
n
o a
i=siguienteen(restriccinvlida)
o a
}
if (l == 1){
if (tamao(le)== listsize) list=le
n
else{
le=sort(le)
list=copea(le,listsize) *Toma los mejores elementos de listsize *
}
}
Tabla IV. Seudocdigo selecciona
o

Los individuos que forman el archivo son, por orden jerrquico: 1) solamente los mejores
a
individuos factibles o 2) una combinacin de los individuos factibles y los mejores no factibles
o
o 3) los mejores individuos no factibles. Es de esperar que al nalizar el algoritmo la lista
est formada por individuos factibles. El algoritmo de seleccin se muestra en la Tabla IV.
e
o

Un nuevo algoritmo evolutivo para la optimizacin de una o varias funciones objetivo sujetas a restricciones
o

147

La funcin restriccinvlida genera una lista ordenada de los


o
o a
ndices de las restricciones. Esta lista puede denirse en orden determinado y jo para todo el anlisis, o bien
a
recalcularse en forma aleatoria y reorganizarse despus de cierto n mero de generaciones.
e
u
Seg n las pruebas que realicemos no es importante el orden en que se realiza este listado,
u
por lo que pueden denirse en forma esttica desde el principio del algoritmo. La funcin
a
o
obtieneMinMax(le) encuentra los valores extremos de las variables de decisin de todos
o
los individuos que se encuentran en el archivo le. De esta forma se determinan los vectores
xpob y xpob .
Seudocdigo recorta
o
n: tamao del vector decisin;
n
o
xi : actual frontera superior en la iesima variable de decisin
o
xi : actual frontera inferior en la iesima variable de decisin
o
xpob,i : frontera superior de iesima variable de decisin
o
en la poblacin i : i { 1, . . . , n }
o
xpob,i : frontera inferior de iesima variable de decisin
o
en la poblacin i : i { 1, . . . , n }
o
partei = 0.05 (xpob,i xpob,i )
ancho pobi = xpob,i xpob,i ; anchot = xt xt
i
i
i
anchot ancho pob

i
i
deltaM ini =
2
deltai = max(partei , deltaMini );
xt+1 = xpob,i + deltai ; xt+1 = xpob,i deltai ;
i
i
if (xt+1 > xoriginal,i ) then
i
xt+1 = xt+1 xoriginal,i ;
i
i
xt+1 = xoriginal,i ;
i
t+1
if (xi < xoriginal,i ) then {
t+1
t+1
xi + = xoriginal,i xi ;
t+1
xi = xoriginal,i ;}
if (xt+1 > xoriginal,i ) then xt+1 = xoriginal,i ;
i

Tabla V. Seudocdigo recorta


o

La funcin recorta (xpob , xpob ) determina el potencial espacio factible alrededor de las
o
mejores soluciones encontradas en el hipervolumen denido por los vectores xpob y xpob
(Tabla V). La ventaja que se logra al hacer el corte (Shrink es la S en el nombre
IS-PAES) es reducir el espacio de las variables de decisin, lo que permite determinar el
o
entorno de la solucin en el caso de funciones de un objetivo o las fronteras de regiones
o
vlidas en funciones con varios objetivos, ambas sujetas a restricciones.
a
a
El valor de es el porcentaje por el cual los valores de la frontera para cada xi X ser
reducida, tal que el resultado del hipervolumen H sea una fraccin de su valor previo.
o
En IS-PAES todas las variables objetivo son reducidas en el mismo porcentaje . El valor
de puede ser deducido en funcin de como se describe a continuacin
o
o
Ht+1 Ht
n

(xt+1 xt+1 ) =
i
i
i=1

(6)

(xt xt )
i
i
i=1

148

S. Botello, A. Hernndez, G. Lizrraga y C. Coello


a
a

Cada xi es reducida en el mismo porcentaje ; tendremos por tanto


n

(xt
i

xt )
i

i=1

(xt xt )
i
i

i=1
n

(xt xt ) =
i
i

n
i=1

(xt xt )
i
i=1
i

n =
1

= n
En cada corte, el intervalo de b squeda de cada variable de decisin xi es reducido
u
o
como se muestra a continuacin (el algoritmo completo se presenta en la Tabla V)
o
anchonew anchoold
En nuestras pruebas, = 0, 90 ha trabajado bien en todos los casos. El valor de
controla la velocidad de corte, por lo que la convergencia adecuada de este algoritmo
depende de este parmetro. En todas las pruebas que realizamos probamos los valores en
a
el rango [85 %, 95 %] y no se percibi un cambio en el funcionamiento del algoritmo39 .
o
Por supuesto que un valor de cercano al 100 % reduce la velocidad de convergencia del
algoritmo.
El ultimo paso de la funcin CortarEspacio() es la llamada a la funcin que reinicia las

o
o
variables de mutacin ajustaparmetros(le). La idea de este paso es reiniciar la variable
o
a
de control utilizando

(7)
i = (xi xi )/ n i (1, . . . , n)
Esta expresin es tambin utilizada durante la generacin de la poblacin inicial. En
o
e
o
o
este caso, las fronteras inferior y superior toman los valores iniciales del espacio de b squeda
u
indicados en el problema. La variacin de la probabilidad de mutacin sigue el comporo
o
tamiento exponencial descrito por Bck12 .
a
Elitismo
Una forma particular de elitismo es implementada en el IS-PAES para impedir la
prdida del mejor individuo en cada generacin. El mejor individuo podr perderse cuane
o
a
do se utiliza el algoritmo normal, donde se puede eliminar el individuo de la zona ms
a
densamente poblada. Para evitarlo proponemos que el mejor individuo no puede ser eliminado, y si es necesario, se debe eliminar alg n vecino cercano cuando coincida que el
u
mejor se encuentra en la celda ms poblada y slo ser reemplazado si la aptitud del nuevo
a
o
a
individuo es mejor.
Optimizacin de variables discretas
o
El algoritmo IS-PAES ha sido implementado para resolver problemas con variables con
representacin tanto real como entera. Ahora discutiremos los ajustes que hay que hacer en
o
el algoritmo para incluir espacios de b squeda enteros. El operador de mutacin depende
u
o
de la variable de control i y afecta a las variables objetivo xi . El valor inicial de la variable

Un nuevo algoritmo evolutivo para la optimizacin de una o varias funciones objetivo sujetas a restricciones
o

149

i es calculado antes (ver ec. (7)), pero deber tomarse el valor entero ms cercano y nunca
a
a
deber ser menor que 1. En cualquier generacin i es actualizado como sigue
a
o

If (random() < 0, 45) then |i | = |i | + ; else|i | = |i |


If (random() < 0, 5) then i = |i |; else i = |i |
El valor de es un parmetro denido por el usuario y representa el valor de cambio
a
o
u
aplicado a i . La funcin random() genera un n mero real entre [0, 1]. El valor de 0, 45
favorece el decremento de la variable i al hacerse varias llamadas en el proceso iterativo.
El valor inicial de las variables es un n mero entero aleatorio (de una distribucin
u
o
uniforme) en el rango vlido del espacio de b squeda. La mutacin se realiza de la forma
a
u
o
siguiente:
xt+1 = xt + sign(i ) rand(|i|)
i
i
La funcin rand(|i|) genera un n mero entero en [0, i ]. La funcin sign() transforma
o
u
o
los n meros negativos y positivos a {1, 1}.
u
La ultima modicacin en el algoritmo se realiza en la funcin CortaEspacio() donde

o
o
la reduccin del espacio deber ser un n mero entero de valor . Es decir, el espacio de
o
a
u
b squeda se reduce como xi = xi , y xi = xi +, pero garantizando que el nuevo intervalo
u
debe ser menor que los valores actualmente utilizados para encerrar la poblacin, tal que
o

If (xi ) < xpob,i then xi = xpob,i ; else xi = xi


y
If (xi + ) > xpob,i then xi = xpob,i ; else xi = xi +
son las expresiones para recortar el espacio de b squeda en .
u
EXPERIMENTOS
En todos los ejemplos en esta seccin utilizamos los siguientes parmetros: el tama o del
o
a
n
archivo es 100; todos los miembros del archivo pueden participar en la siguiente generacin;
o
el corte se realiza cada dos generaciones si es necesario y solamente se reduce el 10 % del
hipervol men en cada corte, reduciendo al 50 % el tama o de elementos en el archivo; se
u
n
utilizaron 500 generaciones en cada problema. El parmetro de mutacin en todos los casos
a
o
fue = 1 y la no fue reinicia en cada corte.
Ejemplo 1
Ejemplo de optimizacin con dos objetivos. La armadura de la Figura 1 tiene que
o
soportar una carga de 100 kN. El objetivo es minimizar el volumen de material (dise ar
n
para el m
nimo coste de fabricacin) y reducir al mximo los valores de los esfuerzos en
o
a

150

S. Botello, A. Hernndez, G. Lizrraga y C. Coello


a
a

cada barra. Este problema fue propuesto por Deb14 como un problema de optimizacin con
o
dos objetivos y con tres variables libres x1 , x2 y

Minimizar f1 (x) = x1 (16 + y 2 ) + x2


Minimizar f2 (x) = max(AC , BC )

(1 + y 2 )

sujeto a max(AC , BC ) 105 ; 1 y 3

Los esfuerzos son calculados por la forma cerrada siguiente

AC =

20

(16 + y 2 )
;
yx1

BC =

80 (1 + y 2 )
yx2

Figura 1. Armadura de dos barras para optimizacin con dos objetivos y restrico
ciones en esfuerzo mximo permisible
a

En la Figura 2 puede verse el real frente de Pareto (calculado por enumeracin de las
o
funciones objetivo, vericando las restricciones) y el resultado del algoritmo presentado en
este trabajo. La solucin tiene una dispersin que var entre (0,004 m3 , 100 000 kPa) y
o
o
a
(0,051387 m3 , 8432,740427 kPa). El IS-PAES tiene una forma suave en todo el rango de
solucin y est sobre el frente de Pareto verdadero. Presentamos tambin los resultados
o
a
e
de NSGAII15 , NSGA18 y Palli et al.19 .

Un nuevo algoritmo evolutivo para la optimizacin de una o varias funciones objetivo sujetas a restricciones
o

Figura 2. Resultados del Ejemplo 1: a) NSGAII, NSGA, Palli et al.; b) resultados


del ISPAES y el frente de Pareto real en l
nea slida
o

151

152

S. Botello, A. Hernndez, G. Lizrraga y C. Coello


a
a

Ejemplo 2
Se desea optimizar la estructura de 10 barras mostrada en la Figura 3. El objetivo es
encontrar la seccin transversal de cada una de las barras que forman la estructura, sujeta
o
a restricciones de esfuerzo permisible y desplazamiento, minimizando el peso total de la
misma. El peso de la armadura est dado por
a
10

F (x) =

Aj Lj

(8)

j=1

donde x es una solucin candidato; Aj el rea de la seccin transversal de la barra j;


o
a
o
Lj la longitud de la barra j; y el peso volumtrico del material. El desplazamiento
e
mximo permitido para cada nodo (horizontal y vertical) es de 5,08 cm. Se tienen 10
a
restricciones de esfuerzo y 8 de desplazamiento en total. Los valores m
nimo y mximo
a
para determinar el area de cada barra son 0,5062 cm2 y 999,0 cm2 , respectivamente. Los

datos restantes para determinar el material de cada barra son: mdulo de Young E =
o
a
7,3105 kg/cm3 ; esfuerzo mximo permisible 1742, 11 i 1742, 11 kg/cm2 ; y peso
espec
co = 7, 4239 103 kg/cm3 . Las cargas verticales aplicadas en los nodos 2 y 4 de
la estructura tienen un valor de 45454, 0 kg.

Figura 3. Estructura de 10 barras

Solucin con un solo objetivo. En la Tabla VI se muestran los valores para m


o
nimo
peso de este problema para diferentes algoritmos y los valores de las areas de las secciones

transversales de las 10 barras aplicando cada algoritmo. En la Tabla VII se presentan los
resultados de 30 ejecuciones del IS-PAES, iniciadas aleatoriamente y un anlisis estad
a
stico
de las mismas. Como puede verse, la desviacin estndar es bastante peque a, lo que indica
o
a
n
que el algoritmo llega casi siempre al mismo sitio sin importar su iniciacin.
o

Un nuevo algoritmo evolutivo para la optimizacin de una o varias funciones objetivo sujetas a restricciones
o

Elemento
1
2
3
4
5
6
7
8
9
10
V (cm3 )
Peso (kg)

I-PAES
190,53
0,6466
146,33
95,07
0,6452
3,0166
47,677
129,826
133,282
0,6452
801624,5
5951

GSSA30
205,17
0,6452
134,20
90,973
0,6452
0,6452
55,487
127,75
133,56
0,6452
805777
6186

VGA31
206,46
0,6452
151,62
103,23
0,6452
0,6452
54,84
129,04
132,27
0,6452
833258
6186

153

ISA32
269,48
79,810
178,45
152,90
70,390
10,260
147,87
14,710
156,06
87,740
1313131
9750

Tabla VI. Resultados de m


nimo peso para el Ejemplo 2

Ejemplo 2 (peso
Mejor
Peor
Media
Desviacin estndar
o
a
Mediana
Soluciones factibles

en kg)
5951
6036,83057
6032,30511
15,3775575
6034,79443
30

Tabla VII. Resultados estad


sticos para el Ejemplo 2

En la Figura 4 puede verse el comportamiento del algoritmo al minimizar el peso de la


estructura para una ejecucin aleatoria. Puede verse que antes de las 30 000 evaluaciones de
o
la funcin objetivo (en este caso minimizar el peso), se mantiene constante y en el entorno
o
del valor optimo. Este n mero de evaluaciones es bastante competitivo con los de otras

u
estrategias evolutivas y muestra el comportamiento del algoritmo para optimizar este tipo
de estructuras.

Figura 4. Grca para mostrar la convergencia del ISPAES en la optimizacin de


a
o
un objetivo (estructura de 10 barras)

154

S. Botello, A. Hernndez, G. Lizrraga y C. Coello


a
a

Solucin para la optimizacin con dos objetivos. Para la misma estructura del
o
o
Ejemplo 2 obtuvimos la mejor solucin compromiso para dos funciones objetivo: minimizar
o
el desplazamiento total del nodo 2 (el extremo derecho inferior de la estructura) como
primer objetivo y minimizar el peso de la estructura como segundo. El frente de Pareto
que resulta de esta optimizacin puede verse en la Figura 5. En el eje horizontal est el
o
a
peso (kg) de la estructura y en el vertical el desplazamiento (cm) del nodo 2 de la misma.
El 81 % del total de individuos estn en la regin factible y sobre el frente de Pareto.
a
o

Figura 5. Frente de Pareto para la estructura de 10 barras. En el eje horizontal


est el peso (kg) y en el eje vertical el desplazamiento del nodo 2 (cm)
a

Ejemplo 3
El siguiente ejemplo es la optimizacin de la estructura de 25 Barras en tres dimensiones
o
que se presenta en la Figura 6. Este problema fue originalmente propuesto por Rajeev y
o
Krishamoorthy23 y consiste en encontrar la seccin transversal de cada miembro de la
armadura de tal forma que se minimice el peso de la estructura, sujeta a las restricciones
de desplazamiento de los nodos y mximos esfuerzos permisibles en cada barra.
a
Las condiciones de carga se muestran en la Tabla VIII, las coordenadas de los nodos
estn disponibles en la Tabla IX y el n mero de grupos de elementos se muestra en la
a
u
Tabla X. Los datos utilizados son mdulo de elasticidad E = 7, 3 105 kg/cm3 , peso
o
a
volumtrico = 7, 4239 103 kg/cm3 , mximo esfuerzo permisible 2787, 38 i
e
2787, 38 kg/cm2 ; y mximo desplazamiento permisible 0, 889 u 0, 889 cm. Este
a
problema tiene 8 variables de dise o, 25 restriccciones en esfuerzo y 18 restricciones en
n
desplazamiento. El peso de la estructura est dado por
a
25

Aj Lj

F (x) =

(9)

j=1

donde x es la probable solucin; Aj la seccin transversal del miembro j-sismo; y Lj la


o
o
e
longitud del j-simo elemento.
e

Un nuevo algoritmo evolutivo para la optimizacin de una o varias funciones objetivo sujetas a restricciones
o

Figura 6. Estructura tridimensional de 25 barras del Ejemplo 3

Nodo
1
2
3
4

Fx (kg)
4540
0
227
272,4

Fy (kg)
-4540
-4540
0
0

Fz (kg)
-4540
-4540
0
0

Tabla VIII. Fuerzas aplicadas en la estructura del Ejemplo 3

Nodo
1
2
3
4
5
6
7
8
9
10

X (cm)
-95,25
95,25
-95,25
95,25
95,25
-95,25
-254,0
254,0
254,0
-254,0

Y (cm)
0
0
95,25
95,25
-95,25
-95,25
254,0
254,0
-254,0
-254,0

Z (cm)
508,0
508,0
254,0
254,0
254,0
254,0
0
0
0
0

Tabla IX. Coordendas de los nodos de la estructura del Ejemplo 3

155

156

S. Botello, A. Hernndez, G. Lizrraga y C. Coello


a
a

N mero de grupo
u
1
2
3
4
5
6
7
8

Barra
1-2
1-4, 2-3, 1-5, 2-6
2-5, 2-4, 1-3, 1-6
3-6, 4-5
3-4, 5-6
3-10, 6-7, 4-9, 5-8
3-8, 4-7, 6-9, 5-10
3-7, 4-8, 5-9, 6-10

Tabla X. Conectividades de los elementos por grupos para el Ejemplo 3

Solucin para un slo objetivo. En la Tabla XI se muestran los valores para m


o
o
nimo
peso de este problema para diferentes algoritmos y los valores de las areas de las secciones

transversales, resultado de la aplicacin de cada algoritmo. En la Tabla XII se presentan los


o
resultados de 30 ejecuciones del IS-PAES que fueron iniciadas aleatoriamente y un anlisis
a
estad
stico de las mismas. Como puede verse, la desviacin estndar es peque a, lo que
o
a
n
indica que el algoritmo llega casi siempre al mismo sitio sin importar su iniciacin. En la
o
Figura 7 se muestra el comportamiento del algoritmo en una ejecucin al azar. Puede verse
o
que en las primeras iteraciones el algoritmo hace una b squeda exhaustiva y los pesos que
u
obtiene son muy altos. Alrededor de las 10 000 evaluaciones de la funcin objetivo empieza
o
a converger montonamente y aproximadamente 30 000 evaluaciones de la funcin objetivo
o
o
est en el orden de magnitud ptimo.
a
o

Variables
x 1 (plg2 )
x2 (plg2 )
x3 (plg2 )
2
x 4 (plg )
x5 (plg2 )
x6 (plg2 )
x7 (plg2 )
x8 (plg2 )
V (plg3 )

Resultados comparativos del Ejemplo 3


IS-PAES Coello40 Chao41 CONMIN42
0,1030
0,1303
0,0100
0,1660
0,1013
0,1201
2,0415
2,0170
3,5594
3,4834
3,0011
3,0260
0,1045
0,1102
0,0100
0,0870
1,9140
1,6583
0,0100
0,0970
0,7775
0,8373
0,6836
0,6750
0,1379
0,1172
1,6248
1,6360
3,9864
4,0900
2,6716
2,6690
4675,4
4700,9
5450,3
5484,7

NEWSUMT42
0,0100
1,9850
2,9960
0,0100
0,0100
0,6840
1,6670
2,6620
5451,7

Tabla XI. Resultados de m


nimo peso para el Ejemplo 3

Ejemplo 3 (peso
Mejor
Peor
Media
Desviacin estndar
o
a
Mediana
Soluciones factibles

en kg)
568,8
583,573181
583,080742
2,69720152
583,573181
30

Tabla XII. Resultados estad


sticos para Ejemplo 2

Un nuevo algoritmo evolutivo para la optimizacin de una o varias funciones objetivo sujetas a restricciones
o

157

Figura 7. Grco para mostrar la convergencia del ISPAES en la optimizacin de


a
o
la estructura 3D con 25 barras y un objetivo

Solucin para dos objetivos. Se obtuvo la mejor solucin compromiso para dos
o
o
funciones objetivo: minimizar el desplazamiento total del nodo 1 (uno de los extremos
superiores de la estructura) como primer objetivo y el peso de la estructura como segundo.
El frente de Pareto que resulta de esta optimizacin puede verse en la Figura 8, donde en el
o
eje horizontal se graca el peso (kg) y en el eje vertical el desplazamiento del nodo 1 (cm).
El 100 % del total de individuos estn en la regin factible y sobre el frente de Pareto.
a
o

Figura 8. Frente de Pareto para la estructura de 25 barras. En el eje horizontal


est el peso (kg) y en el eje vertical el desplazamiento total del nodo 1
a
(cm)

158

S. Botello, A. Hernndez, G. Lizrraga y C. Coello


a
a

Ejemplo 4
El siguiente problema de optimizacin es minimizar el peso de una armadura plana de 49
o
barras, que por facilidad se considera simtrica (25 diferentes tipos de elementos), propuesta
e

o
por Galante43 , la cual se muestra en la Figura 9. La idea es encontrar el area de la seccin
transversal de cada miembro de la armadura, de tal forma que se minimice el peso total de la
misma, sujeto a condiciones de restriccin en los esfuerzos y en los desplazamientos mximos
o
a
en la estructura. El peso de la armadura est dado por F (x) = 49 Aj Lj , donde Aj es
a
j=1
el rea de la seccin transversal del j-simo miembro, Lj la longitud correspondiente de la
a
o
e
barra y el peso volumtrico del material.
e

Figura 9. Problema de optimizacin de una armadura plana de 49 barras


o

Usamos el catlogo de Altos Hornos de Mxico, S.A., AHMSA44 , con 65 posibles seca
e
ciones transversales que pueden utilizarse en el dise o. Otros datos relevantes son mdulo
n
o
a
de Young = 2, 1 106 kg/cm3 ; mximo esfuerzo permisible 3500 i 3500 kg/cm2 ;
= 7, 4250 103 ; y una carga horizontal de 4994, 00 kg aplicada en los nodos 3, 5, 7, 9,
12, 14, 16, 19, 21, 23, 25 y 27, tal como se muestra en la Figura 9. Resolvemos el problema
para tres casos con un solo objetivo
1. Caso 1. Solamente restricciones en esfuerzo: esfuerzo mximo permisible de
a
-3500 i 3500 kg/cm2 . En este caso se tiene un total de 49 restricciones y una
funcin objetivo.
o
2. Caso 2. Restricciones en esfuerzo y desplazamiento: esfuerzo mximo pera
a
misible -3500 i 3500 kg/cm2 y un desplazamiento mximo por nodo de 10 cm.
En este caso tenemos 72 restricciones y una funcin objetivo.
o

Un nuevo algoritmo evolutivo para la optimizacin de una o varias funciones objetivo sujetas a restricciones
o

Algoritmo
IS-PAES
SA30
GA5030
GSSA5030
GSSA530

159

Peso promedio (kg)


610
627
649
619
625

Tabla XIII. Resultado promedio de optimizacin de armadura de 49 barras, Caso 1


o

Algoritmo
IS-PAES
SA30
GA5030
GSSA5030
GSSA530

Peso promedio (kg)


725
737
817
748
769

Tabla XIV. Resultado promedio de optimizacin de armadura de 49 barras, Caso 2


o

3. Caso 3. Problema del mundo real: el dise o considera fuerzas de traccin y de


n
o
compresin en el dise o de cada barra, as como el peso propio de la estructura. El
o
n

esfuerzo mximo permisible es de -3500 i 3500 kg/cm2 , y el desplazamiento


a
mximo por nodo de 10 cm. Un total de 72 restricciones y una funcin objetivo.
a
o
Algoritmo
IS-PAES
SA30
GA5030
GSSA5030
GSSA530

Peso promedio (kg)


2603
2724
2784
2570
2716

Tabla XV. Resultado promedio de optimizacin de armadura de 49 barras, Caso 3


o

El promedio de 30 ejecuciones del IS-PAES es mostrado en las Tablas XIII, XIV y XV.
e
Comparamos IS-PAES con resultados obtenidos por Botello et al.30 usando otras tcnicas
heur
sticas con funcin de penalizacin SA: Simulated Annealing, GA50: Genetic Algorithm
o
o
con una poblacion de 50, y GSSA: General Stochastic Search Algorithm con poblaciones de
50 y 5. Puede verse claramente que en todos los casos el IS-PAES produce un menor peso
en promedio.
Solucin para dos objetivos. Para probar el algoritmo en el caso de multiobjetivo
o
con restricciones presentamos en la Figura 10 el frente de Pareto que se obtuvo al optimizar
la estructura anterior considerando en el dise o fuerzas de traccin y de compresin en cada
n
o
o
barra, as como el peso propio de la estructura (Caso 3). El esfuerzo mximo permisible es

a
a
de -3500 i 3500 kg/cm2 y el desplazamiento mximo de cualquier nodo de 2, 2 cm. En
este caso, las dos funciones objetivo a minimizar son el peso de la estructura y el mximo
a
desplazamiento horizontal en el nodo superior.

160

S. Botello, A. Hernndez, G. Lizrraga y C. Coello


a
a

Figura 10. Frente de Pareto para la estructura plana de 49 barras. En el eje


horizontal est la funcin de peso de la estructura y en el vertical est
a
o
a
el desplazamiento de la esquina superior derecha de la armadura

Figura 11. Estructura tridimensional de 72 barras

Un nuevo algoritmo evolutivo para la optimizacin de una o varias funciones objetivo sujetas a restricciones
o

161

Ejemplo 5
Dise o de una estructura tridimensional de 72 barras sujeta a dos diferentes casos de
n
carga y dieciseis variables de dise o independientes (Figura 11). Todos los nodos de la
n
estructura tienen una restriccin a desplazamiento de 0, 635 cm en direcciones x e y.
o
Todas las barras tienen un esfuerzo mximo permisible de 1759, 25 (a )i 1759, 25
a
kg/cm2 , i = 1, 2 . . . 72. El valor m
nimo de la seccin transversal es de 0, 254 cm2 Ai , i =
o
1, 2 . . . 72. Las propiedades de los materiales son mdulo de elasticidad 7, 031 106 kg/cm2 ,
o
y peso volumtrico de 2, 77 103 kg/cm3 . El primer caso de carga consiste en colocar una
e
carga puntual en el nodo 1, con 2270 kg en direccin del eje x, 2270 kg en direccin del eje
o
o
y y 2270 kg en direccin del eje z. El segundo caso de carga consiste en aplicar cuatro
o
cargas puntuales en los nodos 1, 2, 3 y 4 con un valor de 2270 kg en direccin del eje z.
o
N mero de grupo
u
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

Barras
A1 -A4
A5 -A12
A13 -A16
A17 -A18
A19 -A22
A23 -A30
A31 -A34
A35 -A36
A37 -A40
A41 -A48
A49 -A52
A53 -A54
A55 -A58
A59 -A66
A67 -A70
A71 -A72

Tabla XVI. Conectividades de los elementos por grupos para el Ejemplo 5

El dise o en este caso debe contemplar las condiciones ms desfavorables en esfuerzo y


n
a
desplazamiento para ambos casos de carga. Este problema es de un solo objetivo.
Los resultados de este problema pueden verse en la Tabla XVII, donde se comparan con
resultados de otros autores y en la Tabla XVIII, donde se hace un anlisis estad
a
stico de 30
ejecuciones del IS-PAES.
Algoritmo
IS-PAES
Venkayya33
Gellatly34
Renwei35
Schmit36
Xichengy 37
GAOS38

Pesos m
nimos (kg)
172,02
173,06
179,77
172,36
176,44
172,90
173,94

Tabla XVII. Resultados de m


nimo peso para el Ejemplo 5

162

S. Botello, A. Hernndez, G. Lizrraga y C. Coello


a
a

Ejemplo 5 (peso en kg)


Mejor
172,02
Peor
172,09
Media
172,05
Desviacion estndar 0,015
a
Mediana
172,04
Soluciones factibles
30
Tabla XVIII. Resultados estad
sticos para el Ejemplo 5

Tambin se realiz la optimizacin utilizando el catlogo de secciones de acero Altos


e
o
o
a
44
Hornos de Mxico, S.A., AHMSA , con 65 diferentes secciones transversales, las cuales
e
pueden ser indistintamente seleccionadas para realizar la optimizacin con las mismas
o
propiedades materiales descritas anteriormente. En el Caso 1 se consider solamente como
o
restriccin el esfuerzo permisible, por lo que se redujo el peso de la estructura al no cono
siderar la restriccin en desplazamiento. En el Caso 2 se consider, adems, la restriccin
o
o
a
o
en desplazamiento; en este caso el peso es mayor que en el problema original, pues ahora
estamos trabajando con un catlogo.
a
Ejemplo 5 (peso en kg) Caso 1
Mejor
92,3295
Peor
92,3295
Media
92,3295
Desviacin estndar
o
a
0,0
Mediana
92,3295
Soluciones factibles
30
Tabla XIX. Resultados promedio de optimizacin de armadura 3D de 25 barras,
o
Caso 1

Ejemplo 5 (peso en kg) Caso 2


Mejor
192,7194
Peor
193,4353
Media
192,9098
Desviacin estndar
o
a
0,3060
Mediana
192,7194
Soluciones factibles
30
Tabla XX. Resultados promedio de optimizacin de armadura 3D de 25 barras,
o
Caso 2

Ejemplo 5 (peso en kg) Caso 3


Mejor
630,400
Peor
640,3640
Media
633,2354
Desviacin estndar
o
a
2,7371
Mediana
632,9665
Soluciones factibles
30
Tabla XXI. Resultados promedio de optimizacin de armadura 3D de 25 barras,
o
Caso 3

Un nuevo algoritmo evolutivo para la optimizacin de una o varias funciones objetivo sujetas a restricciones
o

163

Para el Caso 3 se consider el dise o, adicionalmente a las restricciones en esfuerzo


o
n
y desplazamiento permisible, considerando efectos de pandeo local en elementos sujetos a
fuerza de compresin seg n criterios del AHMSA, por lo que los pesos son mucho mayores
o
u
que en el problema original.
Ejemplo 6
Dise o del domo de acero de la Figura 12 utilizando el catlogo mexicano de AHMSA44 .
n
a
La armadura tiene siete variables independientes, como puede verse. Todos los nodos tienen
una restriccin a desplazamiento de 2 cm en la direccion del eje z. Las propiedades
o
de los materiales son mdulo de elasticidad 2, 1 106 kg/cm2 , y esfuerzo permisible de
o
2750 i 2750 kg/cm2 .

Figura 12. Optimizacin del domo de acero


o

164

S. Botello, A. Hernndez, G. Lizrraga y C. Coello


a
a

Las cargas son puntuales aplicadas en direccin del eje z con diferentes magnitudes: en
o
el nodo 1, con 500 kg, en los nodos 17, 23, 29, 35 con 40 kg, en los nodos 16, 18, 22, 24,
28, 30, 34, 36 con 120 kg. Todos los otros nodos 200 kg. En el primer caso, solamente
se han considerado restricciones en esfuerzo y desplazamiento. En el segundo, adems
a
de las restricciones en esfuerzo y desplazamiento, se tomaron en cuenta para el dise o de
n
los elementos estructurales el pandeo local provocado por las fuerzas de compresin y se
o
incluy el peso propio de la estructura (este caso corresponde a un dise o real). En las
o
n
Tablas XXII y XXIII presentamos los resultados promedios de 30 ejecuciones del IS-PAES
para optimizar con un solo objetivo, o sea, minimizar el peso de la estructura.
Ejemplo 6 (peso en kg) Caso 1
Mejor
703,57
Peor
703,57
Media
703,57
Desviacin estndar
o
a
0,0
Mediana
703,57
Soluciones factibles
30
Tabla XXII. Resultados promedio de optimizacin del domo de acero, Caso 1
o

Ejemplo 6 (peso en kg) Caso 2


Mejor
13642,33
Peor
13651,93
Media
13644,56
Desviacin estndar
o
a
4,1304
Mediana
13642,33
Soluciones factibles
30
Tabla XXIII. Resultados promedio de optimizacin del domo de acero, Caso 2
o

Figura 13. Frente de pareto para el domo de acero. Peso en kg y desplazamiento


en cm

Un nuevo algoritmo evolutivo para la optimizacin de una o varias funciones objetivo sujetas a restricciones
o

165

Solucin para dos objetivos. En el caso de multiobjetivo con restricciones, preseno


tamos en la Figura 13 el frente de Pareto que se obtuvo al optimizar el Caso 2. En este
caso, las dos funciones objetivo a minimizar son el mximo desplazamiento vertical del nodo
a
central del domo y el peso de la estructura.
CONCLUSIONES
Proponemos un nuevo algoritmo de optimizacin multiobjetivo, donde el mtodo de
o
e
seleccin utiliza el concepto de dominancia de Pareto y se incluyen de forma natural las
o
restricciones. IS-PAES determina automticamente la regin donde se localiza el ptimo,
a
o
o
descartando de la b squeda las regiones no factibles al ir evolucionando el algoritmo entre
u
generaciones. El algoritmo aqu propuesto es ms robusto que el original algoritmo PAES

a
cuando se trabaja con un n mero elevado de funciones objetivo, como se muestra en la
u
referencia 39. En este algoritmo se tiene un ahorro sustancial en el espacio de memoria que
utiliza para almacenar la malla, y la eciencia computacional al operar es mejor que en el
original PAES. La forma de manipular las restricciones reduce drsticamente la complejidad
a
del clculo de la dominancia de Pareto. Los experimentos demuestran una buena dispersin
a
o
del frente de Pareto.
AGRADECIMIENTOS
El primer y segundo autor agradecen el apoyo del proyecto CONACyT No. P40721-Y,
el segundo autor agradece el apoyo del proyecto CONCyTEG No. 03-02-K118-037 y el
ultimo autor agradece el apoyo del proyecto CONACyT No. 34201-A.

REFERENCIAS
1 C.A. Coello Coello, Constraint-handling using an evolutionary multiobjective optimization
technique, Civil Engineering and Environmental Systems, Vol. 17, pp. 319346, (2000).
2 C.A. Coello Coello, Treating constraints as objectives for single-objective evolutionary optimization, Engineering Optimization, Vol. 32, No 3, pp. 275308, (2000).
3 C.A. Coello Coello, D.A. van Veldhuizen y G.B. Lamont, Evolutionary algorithms for solving
multi-objective problems, Kluwer Academic Publishers, New York, (2002).
4 C.A. Coello Coello y E. Mezura-Montes, Handing constrains in genetic algorithms using
dominance-based tournaments, In Proceedings of the Fifth International Conference on Adaptive Computing Design and Manufacture (ACDM 2002), Vol. 5, I.C. Parnee (ed.), University of
Exeter, Devon, UK, abril 2002, Springer-Verlag, pp. 273284, (2002).
5 A.E. Smith y D.W. Coit, Constraint handiling techniques-penalty funtions, In Handbook of
Evolutionary Computation, Cap. C 5.2, T. Back, D.B. Fogel y Z. Michalewicz (ed.), Oxford
University Press and Istitute of Physics Publishing, (1997).
6 Z. Michalewicz y M. Schoenauer, Evolutionary algorithms for constrained parameter optimization problems, Evolutionary Computation, Vol. 4, No 1, pp. 132 (1996).
7 J.D. Knowles y D.W. Corne. Approximating the nondominated front using the pareto archived
evolution strategy, Evolutionary Computation, Vol. 8, No 2, pp. 149172, (2000).
8 P.D. Surry y N.J. Radclie, The COMOGA method: constrained optimization by multiobjective genetic algorithms, Control and Cybernetics, Vol. 26, No 3, pp. 391412, (1997).
9 D. Goldberg, Genetic algorithms in search, optimization and machine learning, AddisonWesley Publishing Company, Reading, MA, (1989).

166

S. Botello, A. Hernndez, G. Lizrraga y C. Coello


a
a

10 J.D. Shaer, Multiple objective optimization with vector evaluated genetic algorithm, In Genetic algorithms and their applications: proceedings of the rst international conference on genetic algorithms, pp. 93100, (1985).
11 F.Y. Cheng y X.S. Li, Generalized center method for multiobjective engineering optimization,
Engineering Optimization, Vol. 31, pp. 641661, (1999).
12 T. Bck. Evolutionary algorithms in theory and practice, Oxford University Press, New York,
a
(1996).
13 P.D. Surry, N.J. Radclie, I.D. Boyd, P.D. Surry, N.J. Radclie e I.D. Boyd, A Multi-objective
approach to constrained optimization of gas supply networks: the COMOGA method, In Evolutionary Computing, AISB Workshop, Selected Papers, Lecture Notes in Computer Science,
T.C. Fogarty (ed.), Sheeld, UK, Springer-Verlag, pp. 166180, (1995).
14 E. Zitzler, K. Deb y L. Thiele, Comparison of multiobjective evolutionary algorithms: empirical
results, Evolutionary Computation, Vol. 8, No 2, pp. 173195, (2000).
15 K. Deb, A. Pratap, S. Agarwal y T. Meyarivan, A fast and elitist multi-objective genetic
algorithm-NSGA-II, KanGAL Report Number 2000001 , Indian Institute of Technology, Kanpur, India, (2000).
16 J. Horn, N. Nafpliotis y D.E. Goldberg, A niched Pareto genetic algorithm for multiobjective
optimization, In Proceedings of the First IEEE Conference on Evolutionary Computation,
IEEE World Congress on Computational Intelligence, Vol. 1, Piscataway, New Jersey, IEEE
Service Center, pp. 8287, (1994).
17 J.D. Knowles y D.W. Corne, The Pareto archived evolution strategy: a new baseline algorithm
for multiobjective optimization, In 1999 Congress on Evolutionary Computation, Washington
D.C., IEEE Service Center, pp. 98105, (1999).
18 N. Srinivas y K. Deb, Multiobjective function optimization using nondominated sorting genetic
algorithms, Evolutionary Computation, Vol. 2, No 3, pp. 221248, (1995).
19 N. Palli, S. Azaram, P. McCluskey y R. Sundararajan, An interactive multistage e-inequality
constraint method for multiple objectives decision making, ASME Journal of Mechanical Design, Vol. 120, No 4, pp. 678686, (1999).
20 I.C. Parmee y G. Purchase. The development of a directed genetic search technique for heavily
constrained desig spaces, In Adaptative computing in egineering design and control-94 , I.C.
Parmee (ed.), Plymouth, UK, University of Plymouth, pp. 97102, (1994).
21 C.M. Fonseca y P.J. Fleming, Genetic algorithms for multiobjective optimization: formulation,
discussion and generalization, In Proceedings of the Fifth International Conference on Genetic
Algorithms, S. Forrest (ed.), San Mateo, California, University of Illinois at Urbana-Champaign,
Morgan Kauman Publishers, pp. 416423, (1993).
22 S. Koziel y Z. Michalewicz, Evolutionary algorithms, hommrphous mappings and constrained
parameter optimization, Evolutionary Computation, Vol. 7, No 1, pp. 1944, (1999).
23 S. Rajeev y C.S. Krishamoorthy, Genetic algorithms-based methodologies for design optimization of trusses, Journal of Structural Engineering, Vol. 123, No 3, pp. 350358, (1997).
24 E. Camponogara y S.N. Talukdar, A genetic algorithm for constrained and multiobjective optimization, In 3rd Nordic Workshop on Genetic Algorithms and Their Applications (3NWGA),
J.T. Alander (ed.), Vaasa, Finland, University of Vaasa, pp. 4962, (1997).
25 R. Tapabrata, T. Kang, y S.K. Chye, An evolutionary algorithm for constrained optimization,
In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO2000), D.
Whitley et al. (eds.), San Francisco, California, Morgan Kaufmann, pp. 771777, (2000).
26 R. Tapabrata y K.M. Liew, A swarm metaphor for multiobjective design optimization, Engineering Optimization, Vol. 34, No 2, pp. 141153, (2002).

Un nuevo algoritmo evolutivo para la optimizacin de una o varias funciones objetivo sujetas a restricciones
o

167

27 V. Chankong y Y.Y. Haimes, Multiobjective decision making: theory and methodology, In


Systems Science and Engineering, A.P. Sage (ed.), North Holland, (1983).
28 F. Jimnez, J.L. Verdegay y A.F. Gmez-Skarmeta, Evolutionary techiniques for constrained
e
o
multiobjective optimization problems, InProceedings of the 1999 GECCO Conference. Workshop programs, A.S. Wu (ed.), pp. 115116, (1999).
29 F. Jimnez, A.F. Gmez-Skarmeta y G. Snchez, How evolutionary multi-objective optimizae
o
a
tion can be used for goals and priorities based optimization, In Primer Congreso Espa ol de
n
Algoritmos Evolutivos y Bioinspirados (AEB02), E. Alba et al. (eds.), Mrida, Espaa, Univere
n
sidad de Extremadura, (2002).
30 S. Botello, J.L. Marroqu E. Oate y J. van Horebeek, Solving structural optimization probn,
n
lems with genetic algorithms and simulated annealing, International Journal for Numerical
Methods in Engineering, Vol. 45, pp. 10691084, (1999).
31 S. Rajeev y C.S. Krishamoorthy, Genetic algorithmsbased methodologies for design optimization of trusses, Journal of Structural Engineering, Vol. 123, No 3, pp. 350358, (1997).
32 D.H. Acckley, An empirical study of bit vector function optimization, In Genetic algorithms
and simulated annealing, D. Lawrence (ed.), Norgan Kaufmann Publishers, Los Altos Calif., pp.
170271.
33 V.B. Venkayya, Design of optimun structures, Computers & Structures, Vol. 1, pp. 265309,
(1971).
34 R.A. Gellatly y L. Berke, Optimal structural design, AFFDL-TR-70-165, (1971).
35 X. Renwei y L. Peng, Structural optimization based on second orden approximations of functions and dual theory, Computer Methods in Applied Mechanics and Engineering, Vol. 65, pp.
1014, (1987).
36 L.A. Schmit y B. Farshi, Some approximation concepts for structural synthesis, AIAA J., Vol.
12, pp. 2313, (1974).
37 W. Xicheng y M. Guixu, A parallel iterative algorithm for structural optimization, Computer
Methods in Applied Mechanics and Engineering, Vol. 96, pp. 2532, (1992).
38 F. Erbatur, O. Hasancebi, I. Tutuncu y H. Kilic, Optimal design of planar and space structures
with genetic algorithms, Computer & Structures, Vol. 75, pp. 209224, (2000).
39 A. Hernndez, S. Botello, G. Lizrraga y C. Coello, IS-PAES: a single and multiple-objective
a
a
optimization method, Technical Report I-02-19-CC, Centro de Investigaciones en Matemticas,
a
(2002).
40 C. Coello, Constraint-handling using an evolutionary multiobjective optimization technique,
Civil Engineering Systems, Gordon and Breach Science Publishers, Vol. 17, pp. 319346, (2000).
41 N.H. Chao, S.J.Fenves y A.W. Westerberg, Application of reduced quadratic programing technique to structural optimal design, In New Directions in Optimum Structural Design, E. Atrek,
R.H. Gallagher, K.M. Radsdell y O.C. Zienkiewicz (eds.), Jhon Wiley, New York, (1984).
42 L.A. Schmit y H. Mira, A new structural analysis/synthesis capability-ACCESS 1, AIAA
Journal, Vol. 15, No 5, pp. 661671, (1976).
43 M. Galante, Un algoritmo gentico simple para la optimizacin de estructuras planas articue
o
ladas, Rev. Internacional de Mtodos Numricos para Clculo y Dise o en Ingenier Vol. 9,
e
e
a
n
ia,
No 2, pp. 179199, (1993).
44 Altos Hornos de Mxico, S.A., Base de datos para el manual de la industria siderrgica para
e
u
la construccin en acero, AHMSA, (1991).
o

You might also like