Está en la página 1de 4

Unidad 1.

Heurı́sticas de optimización
Tarea 2. Funciones multiobjetivo Periodo 2023-V
Depto. de Electrónica

Heurı́sticas para la optimización de diferentes


funciones de prueba multiobjetivo
Marı́a Fernanda Moreno-López
Profesor: Dr. Luis Gerardo de la Fraga

Resumen—Este trabajo se presenta la utilización de los no dominadas. Estas soluciones son aquellas que no pueden
algoritmos NSGA-II, MOEA/D y NSGA-III de la biblioteca ser superadas en todos los objetivos por ninguna otra solución
PyMOO para la optimización multiobjetivo de las funciones en el problema de optimización. El conjunto de soluciones
Zitzler–Deb–Thiele N. 1 y N.2, ası́ como la función de Viennet.
Se definen las funciones objetivo junto con sus respectivas no dominadas ofrece diversas opciones que permiten explorar
restricciones, si las hay. Las funciones Zitzler–Deb–Thiele N. el espacio de soluciones y seleccionar la mejor opción según
1 y N.2 se caracterizan por su naturaleza no convexa y la las preferencias y restricciones individuales. El análisis y la
presencia de frentes de Pareto no triviales. Por otro lado, las visualización del frente de Pareto son herramientas que ayudan
funciones de Viennet presentan caracterı́sticas no lineales y la a los tomadores de decisiones a explorar y seleccionar las so-
existencia de óptimos locales. Se utilizan las heurı́sticas NSGA-II,
MOEA/D y NSGA-III de PyMOO para optimizar estas funciones luciones preferidas, promoviendo un enfoque más equilibrado
multiobjetivo. Estas se seleccionan debido a su capacidad para y completo en la optimización de problemas multiobjetivo.
descubrir y mantener un conjunto de soluciones de Pareto no
dominadas en el espacio de objetivos. Se realiza un análisis
comparativo de los resultados obtenidos por NSGA-II, MOEA/D
y NSGA-III en términos del frente de Pareto aproximado y la
diversidad de soluciones. Se examinan los resultados y se discuten
las ventajas y limitaciones de cada algoritmo en el contexto de las
funciones objetivo consideradas. Este estudio demuestra la efec-
tividad de los algoritmos NSGA-II y MOEA/D de PyMOO para
abordar problemas de optimización multiobjetivo. Se muestra su
capacidad para optimizar las funciones Zitzler–Deb–Thiele N. 1
y N.2, ası́ como las funciones de Viennet, y se resalta su utilidad
en la búsqueda de soluciones de Pareto óptimas y diversas para
problemas de optimización multiobjetivo complejos.

I. I NTRODUCCI ÓN
La optimización desempeña un papel fundamental en nu-
merosos ámbitos cientı́ficos, como la ingenierı́a, el análisis de Figura 1: Concepto de optimización de Pareto. [2]
datos y el aprendizaje profundo. Estos campos están experi-
mentando un crecimiento acelerado y sus principios se aplican En un entorno de optimización multiobjetivo, los algoritmos
en diversos contextos, como la extracción de información de evolutivos se destacan por utilizar una población de soluciones
conjuntos de datos masivos o el ajuste de modelos predictivos candidatas y combinar soluciones existentes para generar
precisos. Cuando se trabaja con algoritmos que deben manejar nuevas soluciones. Esto permite encontrar varios miembros del
volúmenes significativos de datos, es crucial contar con una conjunto óptimo de Pareto en una sola ejecución, en contraste
implementación eficiente en un lenguaje de programación con los procesos estocásticos convencionales que requieren
adecuado. Pymoo es una biblioteca de Python ampliamente ejecuciones separadas. Sin embargo, el desafı́o principal radica
utilizada para resolver problemas de optimización multiobjeti- en minimizar la distancia entre las soluciones generadas y el
vo [1]. En este estudio, se emplearon los métodos NSGA- conjunto de Pareto, ası́ como maximizar la diversidad del con-
II, MOEA/D y NSGA-III disponibles en dicha biblioteca junto de Pareto desarrollado. Para lograr esta diversificación,
para optimizar funciones multiobjetivo. Un aspecto crucial es necesario prestar especial atención al proceso de selección
en la optimización multiobjetivo es identificar el conjunto de y evitar la pérdida de soluciones no dominadas [2].
soluciones óptimas de Pareto. El frente de Pareto se define En resumen, aunque existen diferentes enfoques para abor-
como un conjunto de soluciones en el que no es posible dar problemas de optimización multiobjetivo, gran parte de
mejorar en al menos un objetivo sin empeorar en otro. Este la investigación se centra en la aproximación del conjunto
enfoque es especialmente útil cuando se enfrentan problemas de Pareto, que consiste en encontrar soluciones óptimas no
con múltiples objetivos que no pueden ser optimizados de dominadas. Este enfoque requiere un proceso de toma de
manera independiente. Al buscar el frente de Pareto en un decisiones para seleccionar la solución óptima y considerar
problema multiobjetivo, se busca un conjunto de soluciones la compensación entre los diferentes objetivos en situaciones
Unidad 1. Heurı́sticas de optimización
Tarea 2. Funciones multiobjetivo Periodo 2023-V
Depto. de Electrónica

del mundo real. requerir estimaciones de densidad. Es importante destacar que


la versión original de MOEA/D asumió que la optimización de
II. H EUR ÍSTICAS DE OPTIMIZACI ÓN MULTIOBJETIVO estos subproblemas puede generar un conjunto bien distribuido
de soluciones óptimas de Pareto si se eligen adecuadamente los
II-A. NSGA-II
vectores de peso correspondientes. Esta suposición es válida
NSGA-II utiliza el concepto de dominancia no dominada cuando todos los objetivos tienen escalas similares y la forma
para evaluar y clasificar las soluciones en función de múltiples del frente óptimo de Pareto es relativamente sencilla. Sin
objetivos. El algoritmo opera mediante la generación de una embargo, también se han realizado esfuerzos para mejorar
población inicial de soluciones candidatas y la aplicación la diversidad en MOEA/D. Algunas estrategias comunes para
de operadores genéticos, como la selección, el cruce y la lograr esto incluyen la normalización objetiva y el ajuste de
mutación, para evolucionar y mejorar estas soluciones a lo los vectores de peso.
largo de las generaciones. El algoritmo realiza un proceso
Una diferencia notable entre MOEA/D y NSGA-III es que
de selección basado en torneos binarios entre las soluciones,
este último ordena todas las soluciones según la dominancia
donde se comparan sus frentes de dominancia y las distancias
de Pareto y luego descompone las soluciones en capas dentro
de hacinamiento. De esta manera, NSGA-II puede mantener
del mismo nivel [4].
una población diversa de soluciones no dominadas en el frente
de Pareto y evitar la convergencia prematura hacia un único
óptimo [1]–[3].
NSGA-II es una opción popular para resolver problemas III. F UNCIONES DE PRUEBA MULTIOBJETIVO
multiobjetivo en diversas disciplinas, incluyendo ingenierı́a,
planificación, economı́a y ciencias de la computación. A continuación se presentan las funciones de prueba junto
con los resultados obtenidos por los algoritmos de optimiza-
II-B. NSGA-III ción antes mencionados.
NSGA-III se fundamenta en el concepto de dominancia no
dominada para evaluar y clasificar las soluciones en función de
múltiples objetivos. Al igual que NSGA-II, sigue un enfoque III-A. Función de Zitzler–Deb–Thiele N. 1 [5]
de generación de una población inicial de soluciones candida-
tas y la aplicación de operadores genéticos, como selección, 
f1 (x) = x1
cruce y mutación, para evolucionar y mejorar estas soluciones 


 f2 (x) = g(x)h(f1 (x), g(x))
a lo largo de las generaciones. Aunque el marco básico es 

 9 P30
similar al de NSGA-II, NSGA-III presenta modificaciones sig- Minimizar = g(x) = 1 + xi (1)
29 i=2 s
nificativas en la selección de apareamiento y supervivencia. En 


 f1 (x)
NSGA-III, los progenitores utilizados para la recombinación  h(f1 (x), g(x)) = 1 −


g(x)
se seleccionan aleatoriamente. Se emplea un enfoque basado
en el concepto de referencia de puntos para guiar la evolución
de las soluciones hacia diferentes regiones del frente de Pareto. Para 0 ≤ xi ≤ 1 y 1 ≤ i ≤ 30.
Estos puntos de referencia se distribuyen uniformemente a
lo largo del frente de Pareto y contribuyen a mantener una
población diversa de soluciones no dominadas. NSGA-III
ha demostrado ser un método efectivo en la optimización
multiobjetivo, especialmente para problemas complejos. Ha
sido ampliamente utilizado en diversas aplicaciones en áreas
como ingenierı́a, ciencias de la computación, economı́a y
planificación. Su enfoque en la diversidad y la distribución (a) MOEA/D (b) NSGA-II (c) NSGA-III
equilibrada de soluciones en el frente de Pareto lo convierten
Figura 2: Frentes de Pareto para el sistema (1).
en una opción popular para abordar problemas multiobjetivo
de manera eficiente y efectiva. [4]

II-C. MOEA/D
En los algoritmos evolutivos multiobjetivo basados en Pa-
reto, a menudo se controla la diversidad de la población
calculando los valores de densidad para cada miembro de
la población. Un ejemplo conocido de estas estrategias de
densidad es la distancia de hacinamiento utilizada en NSGA-II. (a) MOEA/D (b) NSGA-II (c) NSGA-III
Por otro lado, MOEA/D mantiene la diversidad de la población
optimizando múltiples subproblemas de un solo objetivo sin Figura 3: Espacios de diseño para el sistema (1).
Unidad 1. Heurı́sticas de optimización
Tarea 2. Funciones multiobjetivo Periodo 2023-V
Depto. de Electrónica

(a) MOEA/D (b) NSGA-II (c) NSGA-III

Figura 4: Solución a partir de los pseudo-pesos para el sistema


(1).
(a) MOEA/D (b) NSGA-II

Figura 8: Solución a partir de los pseudo-pesos para el sistema


(2).

(a) MOEA/D (b) NSGA-II (c) NSGA-III

Figura 5: Solución a partir de la métrica ASF para el sistema


(1).

III-B. Función de Zitzler–Deb–Thiele N. 2 [5]


(a) MOEA/D (b) NSGA-II
f1 (x) = x1

 Figura 9: Solución a partir de la métrica ASF para el sistema
f2 (x) = g(x)h(f1 (x), g(x))


(2).


 9 P30
Minimizar = g(x) = 1 + i=2 xi (2)

 29  2

 f1 (x) III-C. Función de Viennet [6]
 h(f1 (x), g(x)) = 1 −

g(x)
f1 (x, y) = 0.5(x2 + y 2 ) + sen(x2 + y 2 )


Para 0 ≤ xi ≤ 1 y 1 ≤ i ≤ 30. (3x − 2y + 4)2 (x − y + 1)2



Minimizar = f 2 (x, y) = + + 15
8 27
 1
− 1.1exp(−(x2 + y 2 ))

 f3 (x, y) =

x2 + y 2 + 1
(3)
Para −3 ≤ x, y ≤ 3.

(a) MOEA/D (b) NSGA-II

Figura 6: Frentes de Pareto para el sistema (2).

(a) MOEA/D (b) NSGA-II


Figura 10: Frente de Pareto obtenido con NSGA-II para el
Figura 7: Espacios de diseño para el sistema (2). sistema (3)
Unidad 1. Heurı́sticas de optimización
Tarea 2. Funciones multiobjetivo Periodo 2023-V
Depto. de Electrónica

IV. T OMA DE DECISIONES


Después de haber obtenido el conjunto de soluciones no
dominadas, cabe preguntarse como concretar unas pocas o
incluso una sola solución. Este proceso de toma de decisiones
para problemas de objetivos múltiples también se conoce como
toma de decisiones de criterios múltiples (MCDM) y Pymoo
ofrece algunas herramientas rudimentarias para encontrar una
solución adecuada. Una forma de tomar decisiones es usar
funciones de descomposición. Requieren la definición de pesos
que reflejen los deseos del usuario. Para un problema con dos
objetivos, puede suponerse que el primer objetivo es un poco
menos importante que el segundo objetivo o viceversa. La Fun-
ción de escalarización aumentada (ASF) es una métrica muy
conocida en la literatura de optimización multiobjetivo. Como
se supone que ASF debe minimizarse, elegimos los valores
mı́nimos de ASF calculados a partir de todas las soluciones.
Otra forma sencilla de elegir una solución de un conjunto de
soluciones en el contexto de la optimización multiobjetivo es el
enfoque del vector de pseudopeso. Respectivamente, el pseudo
peso wi para la i-ésima función objetivo se puede calcular
mediante:

(fimax − fi (x)) / fimax − fimin
wi = PM (4)
max − f (x)) / (f max − f min )
m=1 (fm m m m

Esta ecuación calcula la distancia normalizada a la peor


solución con respecto a cada objetivo i. Para los frentes
de Pareto no convexos, el pseudopeso no corresponde al
resultado de una optimización utilizando la suma ponderada.
Sin embargo, para frentes de Pareto convexos, los pseudopesos
indican la ubicación en el espacio objetivo [1].

R EFERENCIAS
[1] J. Blank and K. Deb, “pymoo: Multi-objective Optimization in Python,”
IEEE Access, vol. 8, pp. 89497–89509, jan 2020.
[2] Ajith Abraham, Lakhmi Jain, and Robert Goldberg, Evolutionary Multi-
objective Optimization: Theoretical Advances and Applications. 2005.
[3] K. Deb, A. Pratap, S. Agarwal, and T. Meyarivan, “A fast and elitist
multiobjective genetic algorithm: NSGA-II,” IEEE Transactions on Evo-
lutionary Computation, vol. 6, no. 2, pp. 182–197, 2002.
[4] J. Blank, K. Deb, and P. C. Roy, Evolutionary Multi-Criterion Optimiza-
tion 2019. No. May, 2019.
[5] K. Deb, L. Thiele, M. Laumanns, and E. Zitzler, “Scalable multi-
objective optimization test problems,” Proceedings of the 2002 Congress
on Evolutionary Computation, CEC 2002, vol. 1, no. i, pp. 825–830,
2002.
[6] R. Viennet, C. Fonteix, and I. Marc, “Multicriteria optimization using a
genetic algorithm for determining a Pareto set,” International Journal of
Systems Science, vol. 27, no. 2, pp. 255–260, 1996.

También podría gustarte