Você está na página 1de 57

Fundamentos de optimización multiobjetivo

Introducción MPC
(1/57)

Índice
Motivación. Conceptos básicos.

Técnicas clásicas MOP.


• Descripción.
• Optimización no lineal: SQP y GA.

Técnicas multiobjetivo evolutivas.


• Introducción
• -MOGA

Sistemas de ayuda a la decisión.


• Inclusión de preferencias.
• Visualización de frentes de Pareto.

Aplicación en ingenierı́a de sistemas.


Motivación
(2/57)

Motivación
En multitud de situaciones reales en las que se debe tomar una decisión
aparecen varios criterios de selección y suelen entrar en conflicto.

Ejemplo: Para elegir en la compra de un reproductor de MP3 uno pue-


de plantearse los siguientes criterios para decidir: Precio, prestaciones y
diseño.

Con estos criterios el objetivo serı́a elegir el dispositivo con menor precio,
mayores prestaciones y mejor diseño.

MP3 Precio Prestaciones Diseño


(0,10) (0,10)
A 30 3 5 ← Mejor selección en precio
B 90 9 3 ← Mejor selección en prestaciones
C 70 5 8 ← Mejor selección en diseño
D 60 6 4
E 100 2 2
Motivación
(3/57)

La opción E claramente es peor que las demás.


¿Pero cual es la ’mejor’ (óptimo)? ....

Se observa que no existe una solución que sea mejor en todos los aspectos.
A, B y C son óptimas según uno de los criterios. Se podrı́a considerar
que la solución a un problema multiobjetivo es un conjunto de soluciones.
Obviamente A, B y C formarı́an parte de ese conjunto.

¿Qué ocurre con D? ...


Ni A ni B ni C son mejores que D en todos los criterios. Es mejor que B
y C en el precio, es mejor que A y C en prestaciones, es mejor que B en
el diseño.
Parece pues que D también deberı́a estar en ese conjunto de soluciones
al problema multiobjetivo.

Pero quien tiene que tomar la decisión debe elegir una única solución.
¿Qué hacer con ese conjunto de soluciones del problema multiobjetivo?
Motivación
(4/57)

¿A, B, C, o D? ...

Para elegir una única solución del conjunto de soluciones se deben incor-
porar algún tipo de preferencia.

Esta situación o tipo de problema se puede presentar en muchas areas de


la ingenierı́a y en particular en la ingenierı́a de sistemas (diseño, modelado,
identificación y control de procesos).
Motivación
(5/57)

Aplicación a problemas de identificación

Se trata de identificar los parámetros de un modelo, en el caso más general


puede ser no lineal, multivariable y con incertidumbres.

Una identificación adecuada suele pasar por la optimización de varios


criterios: minimizar el error en cada variables de salida (para problemas
multivariable), establecer distintos criterios de calidad de la identificación,
etc.
Motivación
(6/57)

Ejemplo: Identificación paramétricas de un modelo no lineal que describe


el clima en el interior de un invernadero (temperatura y humedad).
Motivación
(7/57)

El modelo no lineal tiene 9 parámetros desconocidos que afectan signifi-


cativamente a la dinámica del clima.

A partir de los ensayos experimentales se puede establecer un problema


de optimización multiobjetivo para la obtención de dichos parámetros:

- Minimizar el error medio en temperatura.


- Minimizar el error medio en humedad.
- Minimizar el error máximo en temperatura.
- Minimizar el error máximo en humedad.

En este caso se establecen 4 criterios y la optimización multiobjetivo


darı́a como resultado un conjunto de posibles modelos cada uno con sus
ventajas en los distintos criterios.
Motivación
(8/57)

Aplicación al diseño de controladores

En general, si se dispone de una estructura de un controlador y de un


modelo del proceso (no lineal, multivariable, con incertidumbres, etc.).
El ajuste de los parámetros del controlador se puede plantear como un
problema multiobjetivo

Ejemplo: Si se dispone de un modelo de un proceso en el que alguno de


los parámetros puede tomar distintos valores. Se puede plantear el ajuste
del controlador como un problema de optimización multiobjetivo:

- Minimizar la sobre oscilación para el peor caso.


- Minimizar el tiempo de establecimiento para el peor caso.
- Minimizar el error en régimen estacionario.
Conceptos básicos
(9/57)

Conceptos básicos

Definición 1
Problema multiobjetivo (MOP):
En general, un MOP minimiza* un vector de funciones objetivo (criterios)

J(θ) = [J1(θ), . . . , Js(θ)] ∈ Rs,


respecto de un vector variable de decisión θ ∈ D ⊆ RL.

mı́n J(θ).
θ∈D

La solución al MOP no es única, la minimización de una de las funciones


Ji(θ) no supone que las demás sean mı́nimas. Existe un conflicto entre
las distintas funciones.

* Por simplicidad, todas las funciones Ji (θ) son convertidas a la forma de minimización
teniendo en cuenta que máx(Ji(θ)) = − mı́n(−Ji(θ)).
Conceptos básicos
(10/57)

Ejemplo: Espacio de variables D ∈ R3, espacio de funciones R2.


Conceptos básicos
(11/57)

Definición 2
Dominancia (dominancia de Pareto):
Dado dos vectores θ 1, θ 2 en el espacio de soluciones, cuyos vectores en
el espacio de las funciones de objetivo son J(θ 1) y J(θ 2) respectivamente,
se dirá que θ 1 domina a θ 2 (denotado como θ 1  θ 2) si y sólo si J(θ 1) es
parcialmente menor que J(θ 2).

∀i ∈ A := [1, . . . , s], Ji(θ 1) ≤ Ji(θ 2) ∧ ∃i ∈ A : Ji(θ 1) < Ji(θ 2).

Definición 3
Óptimo de Pareto:
Una solución θ ∗ es óptima de Pareto respecto de D, si y sólo si

@ θ ∈ D : θ  θ ∗.
Conceptos básicos
(12/57)

Definición 4
Conjunto de óptimos de Pareto:
Dado un MOP, se define el conjunto de óptimos de Pareto como:

ΘP := {θ ∈ D| @ θ 0 ∈ D : θ 0  θ}.

Definición 5
Frente de Pareto:
Para un MOP, cuyo conjunto de óptimos de Pareto es ΘP , se define el
frente de Pareto J(ΘP ) como:

J(ΘP ) := {J(θ)| θ ∈ ΘP }.

Se considera que la solución a un MOP es ΘP y J(ΘP ). En la mayorı́a de


los casos obtener esta solución es inabordable por tratarse de conjuntos
infinitos de puntos.
Por tanto, en la práctica la solución de un MOP pasa por obtener unos
subconjuntos Θ∗P ⊂ ΘP y J(Θ∗P ) que caractericen adecuadamente J(ΘP ).
Conceptos básicos
(13/57)

Definir punto ideal, punto nadir, punto utópico.


Conceptos básicos
(15/57)

Definición 6
Decision Maker:
Es el elemento (persona, grupo, programa, etc.) que tiene una buena per-
cepción del problema (experiencia) y que puede expresar unas preferencias
para conseguir una solución final del MOP.

Por lo tanto, para resolver un MOP es necesario distinguir entre dos


tipos de problemas, un problema de optimización (búsqueda del conjunto
de óptimos de Pareto) y otro de determinación de la solución definitiva
(Decision making).
Conceptos básicos
(16/57)

Dependiendo de como la fase de optimización y la de decisión se combi-


nen, es posible clasificar las diferentes técnicas de resolución de MOP de
la siguiente manera:

A priori. Se toma la decisión de como seleccionar la solución antes


que se realiza la búsqueda (decisión ⇒ búsqueda).

A posteriori. Se realiza la búsqueda y, a continuación, se toma la


decisión para seleccionar la solución (búsqueda ⇒ decisión).

Progresivas. La búsqueda y toma de decisiones se realiza de forma


interactiva (búsqueda ⇐⇒ decisión).
Técnicas clásicas MOP
(17/57)

Técnicas clásicas MOP

En las técnicas clásicas se caracterizan por: convertir el MOP en un


problema de un solo objetivo y localizar un punto del frente de
Pareto en cada ejecución.

Métodos más significativos:

1. Combinación lineal de pesos

2. Método de restricciones

3. Basados en métricas

4. Alcance de objetivos
Técnicas clásicas MOP
(18/57)

1. Combinación lineal de pesos

El problema MOP se convierte


en:
s
X
mı́n wiJi(θ)
θ∈D i=1
Técnicas clásicas MOP
(19/57)

2. Método de restricciones

Se transforma un MOP con s


objetivos:

mı́n[J1(θ), J2(θ), . . . , Js(θ)],


θ∈D
en un SOP con s − 1 restriccio-
nes:

mı́n Jk (θ)
θ∈D
s.a. Ji(θ) ≤ i i ∈ [1, 2, . . . , s], i 6= k.
Técnicas clásicas MOP
(20/57)

3. Basados en métricas

Este procedimiento plantea el


MOP como la minimización de
una función que mide la distan-
cia de la solución a un determi-
nado punto Ju ∈ Rs:

mı́n ||Ju − J(θ)||p


θ∈D
Técnicas clásicas MOP
(21/57)

4. Alcance de objetivos

Se establece un objetivo Ju ∈
Rs y un vector de pesos ω que
pondera grado de alcen del ob-
jetivo. Con estos datos se esta-
blece un nuevo problema SOP:

mı́n α

s.t. : Jiu + αωi ≥ Ji(θ) ; θ ∈ D


Optimizadores NL básicos
(22/57)

Optimizadores no lineales básicos

Replanteado el problema como uno de un solo objetivo, en la mayorı́a de


los casos se resuelve con técnicas de optimización no lineal.
Si la función a minimizar es convexa y las restricciones forman un conjunto
convexo una buena opción es un algoritmo SQP (Sequencial Quadratic
Programming).
En el caso en que la función o las restricciones no sean convexas se debe
optar por una técnica de optimización global, una buena opción son los
Algoritmos Genéticos (GA).
Optimizadores NL básicos
(23/57)

Programación cuadrática secuencial -


Sequencial Quadratic Programming (SQP)

Bajo esta denominación se encuentran un conjunto de técnicas que re-


suelven el problema de minimización no lineal aproximándolo en cada
iteración a un problema de programación cuadrática (QP).

El problema inicial:
mı́n {f
n (x) : x ∈ X} o
n
X = x : x ∈ R , gi(x) = 0, i = 1..m1, hj (x) ≤ 0, j = 1..m2
Se resuelve mediante una fórmula iterativa, la forma más común es:

xk+1 = xk + αk dk

Para obtener la dirección de mejora dk , se hace una aproximación


cuadrática de la función y lineal de las restricciones en el punto xk
Optimizadores NL básicos
(24/57)

convirtiéndose en cada iteración k en un problema QP:


1
n o
T T
mı́n fk (d) = ∇f (xk )d + 2 dHd : d ∈ D
n
 
 d: d∈R
 

D = ∇gi(xk )dT + gi(xk ) = 0, i = 1..m1
∇hj (xk )dT + hj (xk ) ≤ 0, j = 1..m2

 

Donde H es el Hesiano del Lagrangiano.

El valor de H se obtiene recursivamente como en los métodos Quasi-


Newton.

El valor de la longitud del paso, αk , se obtiene de una minimización


unidimensional, de forma similar al método de Newton modificado.

Existen otras alternativas bajo la denominación de SQP que incorporan


la técnica de punto interior, en cualquier caso se basan en realizar aproxi-
maciones cuadráticas de la función y lineal de las restricciones (problema
QP) en cada iteración.
Optimizadores NL básicos
(25/57)

Algoritmos genéticos (GA)

Técnica de optimización basada en una


analogı́a con los fenómenos que se dan
en la evolución de las especies.

Individuo ⇔ Posible solución

Entorno ⇔ Función objetivo


 
Una población evoluciona para adap-
tarse al entorno.
 

m
' $
Un conjunto de posibles soluciones
cambia en cada iteración para encon-
trar soluciones mejores.
& %
Optimizadores NL básicos
(26/57)

- Existen multitud de implementaciones


que se diferencias básicamente por la
codificación del cromosoma y los ope-
radores genéticos.
- Un individuo viene representado
por un cromosoma. La codificación es
la forma en que se estructura ese cro-
mosoma.
- Dos individuos iguales tienen el mismo
cromosoma.
- Los operadores genéticos alteran el
cromosoma para obtener nuevos indi-
viduos.
Optimizadores NL básicos
(27/57)

Codificación

Los tipos de codificación más comunes son: binaria y real.

Ejemplo: Si se quiere codificar puntos de un espacio de 4 dimensiones


u = [u1, u2, u3, u4] ∈ R4.
Optimizadores NL básicos
(28/57)

Selección

Se seleccionan los individuos que van a formar parte de la siguiente ge-


neración (es el operador de reproducción).
Optimizadores NL básicos
(29/57)

Cruce

Se ’mezclan’ los cromosomas de dos individuos para obtener nuevos in-


dividuos. La probabilidad Pc establece la tasa de individuos de se cruzan.
Optimizadores NL básicos
(30/57)

Mutación

Aleatoriamente alguno o algunos de los genes de un cromosoma cambia.


La probabilidad Pm establece la tasa de individuos que sufren mutación.
Optimizadores NL básicos
(31/57)

Ejemplos de evolución

Observar, con los programas de matlab preparados, la evolución de un


algoritmo genético para un función de test (función de Schwefel)

1000

500

−500

−1000 500
−500

0
0

500 −500
Optimizadores NL básicos
(32/57)

Manejo de restricciones en un GA

Las restricciones que delimitan el espacio de búsqueda se incorporan di-


rectamente en la codificación (los individuos generados cumplen con esas
restricciones).

El resto de restricciones requieren un tratamiento adicional. Existe técni-


cas desarrollas para manejar restricciones en un GA, de las que se van a
mencionar dos: Funciones de penalización y Superioridad de puntos
factibles.
Optimizadores NL básicos
(33/57)

Funciones de penalización

Se transforma el problema de optimización con restricciones, en un pro-


blema de optimización sin restricciones incorporando un término adicional
a la función objetivo que, dependa del conjunto de restricciones que son
violadas.

De manera que:
m
J 0(θ) = J(θ) +
X
ciGi(θ)
i=1
J 0(θ) es la nueva función objetivo y ci los coeficientes (positivos) de pena-
lización de las restricciones. Gi son funciones dependientes de las propias
restricciones, generalmente su relación será la siguiente:

Gi(θ) = max[0, gi(θ)]


El principal problema de esta técnica reside en la determinación de los
coeficientes de penalización ci.
Optimizadores NL básicos
(34/57)

Superioridad de puntos factibles

En este enfoque cualquier solución factible siempre será mejor que otra
que no sea factible. Bajo esta premisa, una posibilidad es convertir el
problema con restricciones en:

(
J(θ), θ ∈ soluciones factibles
J 0(θ) = Pm
J(θmax) + i=1 Gi(θ), θ ∈ soluciones NO factibles

siendo θmax el individuo que presenta el mayor valor de la función objetivo


de todos los individuos factibles de la población. Si no existe ningún
individuo factible, se fija J(θmax) = 0.
Ejemplos
(35/57)

Ejercicios

- En Matlab probar la función fmincon (SQP) para obtener puntos del


frente de Pareto de los problemas mop1, mop2, etc. Utilizar las técni-
cas: combinación lineal de pesos, método de restricciones y basados en
métricas.

- En Matlab probar la función fgoalattain (Optimización SQP y método


de alcance de objetivos) para obtener puntos del frente de Pareto de los
problemas mop1, mop2, etc.

- En Matlab la función ga para obtener puntos del frente de Pareto de los


problemas mop1, mop2, etc. Utiliza la metodologı́a MO que te quieras.
Técnicas multiobjetivo evolutivas
(36/57)

Técnicas multiobjetivo evolutivas

Introducción

La principal motivación del uso de los Algoritmos Evolutivos Multiobjeti-


vos (MOEAs) es la posibilidad que éstos ofrecen de obtener, simultánea-
mente, un conjunto de soluciones óptimas de Pareto en una única ejecu-
ción del algoritmo.
Además los MOEAs son menos sensibles a la forma del frente de Pareto,
pudiendo obtener frentes no convexos y discontinuos.

Una clasificación de los MOEAs más representativos es:


- Métodos indirectos: no utilizan el concepto de dominancia.
- Métodos directos: si usan el concepto de dominancia.
Técnicas multiobjetivo evolutivas
(37/57)

Un algoritmo: -MOGA

Para conseguir una buena distribución se divide el espacio de las funciones


objetivo en cajas (box) de tamaño i i = 1 . . . s (s dimensión del espacio
de funciones objetivo.

Con esta distribución en cajas se define el concepto de box dominante


Técnicas multiobjetivo evolutivas
(38/57)

El algoritmo opera con tres poblaciones: P (t), G(t) y A(t).


- P (t) es la población principal, se encarga de explorar el espacio de
búsqueda.
- G(t) es una población auxiliar que se encarga de almacenar los nuevos
individuos en cada iteración.
- A(t) es la población donde se van almacenando las soluciones (puntos
que aproximan el frente de pareto).

El mecanismo de entrada y salida en la población A(t) se puede definir


de la siguiente forma:
Técnicas multiobjetivo evolutivas
(39/57)

Inclusión de θ en A(t): Dado un vector de soluciones θ y el archivo A(t),


θ será incluido en el archivo si y sólo si @θ ∗ ∈ A(t) tal que

box(θ∗) ≺ box(θ) (1)



(box(θ ∗) = box(θ)) ∧ (θ ∗ ≺ θ). (2)

Al mismo tiempo, si θ es incluido en el archivo serán eliminados de A(t)


todos las soluciones θ ∗ que hacen cierta la siguiente condición

box(θ) ≺ box(θ∗) (3)



(box(θ) = box(θ ∗)) ∧ (θ ≺ θ ∗). (4)
Técnicas multiobjetivo evolutivas
(40/57)

Con estas definiciones el pseudocódigo del algoritmo es:

1. t:=0
2. A(t):=∅
3. P(t):=ini random(D)
4. eval(P(t))
5. A(t):=guardar(P(t),A(t))
6. while t<t max do
7. G(t):=crear(P(t),A(t))
8. eval(G(t))
9. A(t+1):=guardar(G(t),A(t))
10. P(t+1):=actualizar(G(t),P(t))
11. t:=t+1
12. end while
Técnicas multiobjetivo evolutivas
(41/57)
Técnicas multiobjetivo evolutivas
(42/57)

Ejemplos de prestaciones obtenidas para los distintos problemas: mop1,


mop2, mop3, etc.
Sistemas de ayuda a la decisión
(43/57)

Sistemas de ayuda a la decisión

Un parte significativa de la resolución de un MOP consiste en decidir una


solución final de todas las que conforman el frente de Pareto.

Este proceso conocido como Decision Making normalmente para por el


establecimiento de unas preferencias por parte del experto Decision Maker
(DM).

En definitiva, la solución final se puede obtener de la clasificación de los


puntos del frente de Pareto atendiendo a las preferencias del DM.

Para conseguir una adecuada selección es importante disponer de herra-


mientas adecuadas de ayuda a la decisión, entre estas cabe destacar: la
posibilidad de inclusión de preferencias y unas técnicas de visualización
adecuadas para el análisis de frentes de Pareto.
Sistemas de ayuda a la decisión
(44/57)

Inclusión de preferencias

El objetivo es trasladar las preferencias del experto en una forma de


clasificación de los puntos del Frente.

Las preferencias deberı́an estar un formato práctico para el experto (direc-


tamente relacionado con las unidades fı́sicas del problema en cuestión).

Existen muchas alternativas y variadas alternativas que tratan de llevar a


cabo esta función.
Sistemas de ayuda a la decisión
(45/57)

Ejemplo: Identificación modelo no lineal del clima de un invernadero

objetivo Rango
Deseable (D) Tolerable (T) Indeseable (I)
J1(θ) = ||eT ||1 [0, 1]oC ]1, 3]o C ]3, ∞[oC
J2(θ) = ||eT ||∞ [0, 5]oC ]5, 8]o C ]8, ∞[oC
J3(θ) = ||eHR||1 [0, 5] % ]5, 15] % ]15, ∞[ %
J4(θ) = ||eHR||∞ [0, 12] % ]12, 25] % ]25, ∞] %

||eT ||1: Error medio en temperatura.


||eT ||∞: Error máximo en temperatura.
||eHR||1: Error medio en humedad relativa.
||eHR||∞: Error máximo en humedad relativa.
Sistemas de ayuda a la decisión
(46/57)

Con esta tabla de rangos se puede asignar a cada punto del frente de
Pareto el rango de preferencias al que pertenece.

θ1 → [D, D, D, I]
θ2 → [T, T, T, T ]
θ3 → [D, I, T, T ]

De nuevo el DM debe decidir como tratar esta información, el considerar


en el ejemplo θ1 mejor opción que θ2 es una cuestión subjetiva.
Si el DM decide que prefiere θ2 frente a θ1 porque el peor rango de θ2 es
mejor que el peor rango de θ1, dispone ya de un criterio para ordenar los
puntos del frente de Pareto y alcanzar una solución final.
Sistemas de ayuda a la decisión
(47/57)

Visualización de frentes de Pareto

Una herramienta básica de ayuda a la decisión es la representación gráfica


del frente de Pareto (y del conjunto de Pareto).

Con más de dos dimensiones la visualización de un frente de Pareto no


es de fácil interpretación. Se complica aún más si el frente de Pareto
está formado por muchos puntos.

Existen distintas alternativas: Scatter diagrams, Parallel coordinates, Star


diagrams, Level diagrams, etc.

Ejemplo Representación de 3 puntos de un frente de pareto de 3 dimen-


siones:

Ja = [1.1, 2.5, 3.2]


Jb = [5.1, 0.5, 4.1]
Jc = [2.8, 3.7, 1.5]
Sistemas de ayuda a la decisión
(48/57)

Scatter diagrams

6 6

4 4
J1
2 2

(J1 units)
0 0
0 2 4 0 2 4 6

4 4

3 3

2 J2 2

1 1
(J2 units)
0 0
0 2 4 6 0 2 4 6

5 5

4 4

3 3 J3

2 2
(J3 units)
1 1
0 2 4 6 0 2 4
Sistemas de ayuda a la decisión
(49/57)

Parallel coordinates

5.5

4.5

3.5

2.5

1.5

0.5
J1 J2 J3
Sistemas de ayuda a la decisión
(50/57)

Star diagrams

1
J2

0.8

0.6

0.4

0.2

0 J1

−0.2

−0.4

−0.6

−0.8

J3
−1
−1 −0.5 0 0.5 1 1.5
Sistemas de ayuda a la decisión
(51/57)

Level diagrams

1.4 1.4 1.4

1.2 1.2 1.2

1 1 1

0.8 0.8 0.8

0.6 0.6 0.6

0.4 0.4 0.4

0.2 0.2 0.2

0 0 0
2 3 4 5 1 2 3 2 3 4
J1 (J1 units) J2 (J2 units) J3 (J3 units)
Sistemas de ayuda a la decisión
(52/57)

Ejemplo con espacio objetivo con 3 dimensiones resuelto con -MOGA.


Se obtienen 775 puntos como aproximación al frente de Pareto.
10 10

J1 5 5

(J1 units)
0 0
0 1 2 0 0.2 0.4

2 2

1.5 1.5

1 J2 1

0.5 0.5
(J2 units)
0 0
0 5 10 0 0.2 0.4

0.5 0.5

0.4 0.4

0.3 0.3 J3

0.2 0.2
(J3 units)
0.1 0.1
0 5 10 0 1 2
Sistemas de ayuda a la decisión
(53/57)

Parallel coordinates

0
J1 J2 J3
Sistemas de ayuda a la decisión
(54/57)

Star diagrams

1
J2

0.8

0.6

0.4

0.2

0 J1

−0.2

−0.4

−0.6

−0.8

J3
−1
−1 −0.5 0 0.5 1 1.5
Sistemas de ayuda a la decisión
(55/57)

Level diagrams

1 1 1

0.8 0.8 0.8

0.6 0.6 0.6

0.4 0.4 0.4

0.2 0.2 0.2

0 0 0
2 4 6 8 0.5 1 1.5 0.15 0.2 0.25 0.3 0.35
J1 (J1 units) J2 (J2 units) J3 (J3 units)
Aplicaciones en ingenierı́a de sistemas
(56/57)

Aplicaciones a la ingenierı́a de sistemas

Ejemplo de identificación

Ejemplo de ajuste de controladores

Ejemplo de establecimiento de consignas en niveles superiores. Se


verá en nuevas vias de establecer consignas en controladores DMC.
Aplicaciones en ingenierı́a de sistemas
(57/57)

Bibliografı́a
- Miettinen, Kaisa M. (1998). Nonlinear multiobjective optimization.
Kluwer Academic Publisher
- Coello Cello, Carlos A.; Van Veldhuizen, David A. and Lamont,Gary
B. (2002). Evolutionary algorithms for solving multi-objective pro-
blems. Kluwer Academic Publisher.
- J.M. Herrero Durá (2006). Identificación robusta de sistemas no
lineales mediante algoritmos evolutivos. Tesis Doctoral - Universidad
Politécnica de Valencia.
- Coello Cello, Carlos A. and Lamont, Gary B. (2004) Applications of
multi-objective evolutionary algorithms. Advances in natural compu-
tation - vol. 1. World Scientific Putblishing.

Você também pode gostar