• No se han encontrado resultados

Si un MOEA utiliza un operador que favorece a los “mejores” de una población permitiéndoles sobrevivir a la siguiente generación, se dice que estamos ante un algoritmo elitista. En caso contrario, el MOEA es no elitista. En esta sección nos concentraremos en los MOEAs no elitistas más populares en la literatura, mientras que en la Sección 5.2.3 se abordarán los MOEAs elitistas.

En las próximas sub-secciones se describirán los métodos que de acuerdo a nuestro criterio constituyen los más utilizados en la literatura. Existen además otras técnicas, que no se describen aquí por razones de espacio, entre las que se destacan las denominadas: “estrategia de evolución con archivo Pareto (PAES)”, “algoritmo genético con selección

basada en particiones Pareto (PESA)”, “algoritmo genético desordenado multi-objetivo (MOMGA)”, “micro-algoritmo genético multi-objetivo (Micro-GA)”, “algoritmo evolutivo multi-objetivo elistista con participación co-evolutiva (ERMOCS)”. Para consultar la descripción de estos métodos, el lector puede recurrir a Deb (2001) o Coello Coello y Veldhuizen (2006).

5.2.2.1

Algoritmo de ordenamiento de Pareto

En 1989, Goldberg introduce la asignación de fitness basada en la no dominación para resolver los problemas teniendo en cuenta el algoritmo VEGA de Schaffer. La población es ordenada en base a la no dominación a través de la obtención de frentes de Pareto óptimos. Se identifican y marcan todos los individuos no dominados, asignando l a la primera posición. Estos son ignorados y se identifica el siguiente conjunto de no dominados asignándoles la posición 2 y así sucesivamente hasta agotar la población. Golberg además sugiere el uso de alguna técnica de formación de especies o nichos para mantener la diversidad genética. Es importante puntualizar que una desventaja de este algoritmo es que no existen procedimientos eficientes para comprobar la no dominación de soluciones factibles; como consecuencia la eficiencia disminuye cuando aumenta el tamaño de la población o el número de objetivos. Sin embargo, esta técnica es útil para cubrir el frente de Pareto en una sola ejecución.

5.2.2.2

Algoritmo genético con múltiples objetivos (MOGA)

Fonseca y Fleming (1993) propusieron un algoritmo genético con múltiples objetivos en el cual el rango de un cierto individuo corresponde al número de individuos en la población actual que lo dominan. Un rango se puede definir como:

( )

1

( )

donde p(x) es el número de individuos de la población que dominan a x. Todos los individuos no dominados tienen rango 1; los dominados son penalizados de acuerdo a la densidad de la población de la región correspondiente.

El inconveniente más importante del MOGA es la alta presión selectiva que surge en el uso de esta técnica. Para evitar esto, Fonseca y Flemming introdujeron un método de formación de nichos para distribuir la población por todo el frente de Pareto óptimo. La función de sharing se define con la ecuación (5.4) en la cual el exponente esα =1. La distancia djk entre individuos se calcula como la distancia euclidiana normalizada en el espacio de las funciones objetivo:

( )

( )

2 1 n i k i j jk max min i i i f x f x d f f = ⎛ − ⎞ ⎜ ⎟ = − ⎝ ⎠

(5.9) siendo min i f y max i

f los valores mínimo y máximo respectivamente para la función objetivo i- ésima. El contador de nicho se define sólo entre individuos del igual rango:

( )

( )

( )

1 j j jk k niche x sharing d μ = =

(5.10)

donde μ

( )

j es el número de individuos cuyo rango es igual a xj.

5.2.2.3

Algoritmo evolutivo con fuerzas de Pareto (SPEA)

El algoritmo evolutivo con fuerzas de Pareto (Strength Pareto Evolutionary Algorithm, SPEA) fue introducido por Zitzler y Thiele en 1999; básicamente, el método utiliza un archivo externo para contener soluciones no dominadas encontradas previamente (conjunto externo). En cada generación los individuos no dominados son copiados en el archivo. Para cada individuo en el conjunto externo se calcula un valor de fuerza (strength); este es similar al rango de MOGA y es proporcional al número de soluciones que dominan una solución. En SPEA, el fitness de cada miembro actual de la población es calculado según el strength de todas las soluciones no dominadas que lo dominan. La dominancia de Pareto es utilizada para asegurar que las soluciones están debidamente distribuidas en la frontera de Pareto.

Existe una versión revisada de SPEA llamada SPEA2 (Zitzler et al., 2002) que posee tres diferencias fundamentales con SPEA:

1. Incorpora una asignación para la función de fitness que toma en cuenta para cada individuo el número de individuos que lo dominan y el número de individuos a los que domina.

2. Utiliza una estimación de la densidad de las vecindades para guiar la búsqueda más efectivamente.

3. Utiliza un método de truncado para el archivo contenedor que garantiza la

preservación de las soluciones límite.

5.2.2.4

Algoritmo genético de ordenamiento no dominado (NSGA)

Fueron Srinivas y Deb (1994) quienes implementaron la idea de Goldberg con algunas variaciones en su algoritmo genético de ordenamiento no dominado (Non-Dominated Sorting Genetic Algorithm, NSGA). Este algoritmo se basa en tener múltiples niveles de clasificación de los individuos a partir de los frentes no dominados.

Antes de realizar la selección se ordena la población en base a la no dominación: todos los individuos no dominados se clasifican en una categoría con un valor de fitness ficticio proporcional al tamaño de la población. De esta manera, todos los individuos poseen la misma probabilidad de reproducirse. Con el objeto de mantener la diversidad, se calcula la función de sharing para estos individuos a partir del valor de fitness ficticio. Se pasa luego al siguiente nivel de individuos no dominados hasta que todos los individuos de la población son clasificados. Se utiliza una selección proporcional estocástica y una función de sharing para mantener la dispersión entre los individuos de cada frente no dominado. La distancia de sharing entre dos individuos se calcula como la distancia euclideana djk normalizada en el espacio de decisión:

2 1 k j n i i jk max min i i i x x d x x = ⎛ − ⎞ = − ⎝ ⎠

(5.11)

donde n es el tamaño de la población, max i

x y min i

x son los valores máximos y mínimos para el parámetro de decisión i-ésimo. La función de sharing se calcula con α =2 teniendo en cuenta sólo los individuos que pertenecen al mismo frente de Pareto.