Optimización de Enjambre de Partículas Paralela Usando Apache Beam
Autores: Liu, Jie; Zhu, Tao; Zhang, Yang; Liu, Zhenyu
Idioma: Inglés
Editor: MDPI
Año: 2022
Acceso abierto
Artículo científico
2022
Optimización de Enjambre de Partículas Paralela Usando Apache Beam
Categoría
Gestión y administración
Subcategoría
Gestión de la tecnología y la inovación
Palabras clave
Problemas de optimización
Optimización por enjambre de partículas
Paralelización
Apache Beam
MapReduce
Funciones de referencia
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 1
Citaciones: Sin citaciones
La mayoría de los problemas de investigación complejos se pueden formular como problemas de optimización. El algoritmo de Optimización por Enjambre de Partículas (PSO) es muy efectivo para resolver problemas de optimización debido a su robustez, simplicidad y capacidades de búsqueda global. Dado que el costo computacional de estos problemas suele ser alto, ha sido necesario desarrollar algoritmos de optimización con paralelización. Con la llegada de la tecnología de big data, tales problemas pueden ser resueltos mediante computación paralela distribuida. En trabajos relacionados anteriores, se ha utilizado MapReduce (un modelo de programación que implementa un enfoque paralelo distribuido para procesar y producir grandes conjuntos de datos en un clúster) para paralelizar el algoritmo PSO, pero las lecturas y escrituras frecuentes de archivos hacen que el tiempo de ejecución de MRPSO sea muy largo. Proponemos la optimización por enjambre de partículas de Apache Beam (BPSO), que utiliza el modelo de programación paralela de Apache Beam. En el experimento, comparamos BPSO y PSO basado en MapReduce (MRPSO) en cuatro funciones de referencia al cambiar el número de partículas y optimizar las dimensiones del problema. Los resultados experimentales muestran que, a medida que aumenta el número de partículas, MRPSO se mantiene en gran medida constante cuando el número de partículas es pequeño (<1000), mientras que el tiempo requerido para la ejecución del algoritmo aumenta rápidamente cuando el número de partículas supera cierta cantidad (>1000), mientras que BPSO crece lentamente y tiende a ofrecer mejores resultados que MRPSO. A medida que aumenta la dimensionalidad del problema de optimización, BPSO puede tardar la mitad del tiempo que MRPSO y obtener mejores resultados que este. MRPSO requiere más tiempo de ejecución que BPSO, a medida que varía la complejidad del problema, pero tanto MRPSO como BPSO no son muy sensibles a la complejidad del problema. Todo el código del programa y los datos de entrada están subidos a GitHub.
Descripción
La mayoría de los problemas de investigación complejos se pueden formular como problemas de optimización. El algoritmo de Optimización por Enjambre de Partículas (PSO) es muy efectivo para resolver problemas de optimización debido a su robustez, simplicidad y capacidades de búsqueda global. Dado que el costo computacional de estos problemas suele ser alto, ha sido necesario desarrollar algoritmos de optimización con paralelización. Con la llegada de la tecnología de big data, tales problemas pueden ser resueltos mediante computación paralela distribuida. En trabajos relacionados anteriores, se ha utilizado MapReduce (un modelo de programación que implementa un enfoque paralelo distribuido para procesar y producir grandes conjuntos de datos en un clúster) para paralelizar el algoritmo PSO, pero las lecturas y escrituras frecuentes de archivos hacen que el tiempo de ejecución de MRPSO sea muy largo. Proponemos la optimización por enjambre de partículas de Apache Beam (BPSO), que utiliza el modelo de programación paralela de Apache Beam. En el experimento, comparamos BPSO y PSO basado en MapReduce (MRPSO) en cuatro funciones de referencia al cambiar el número de partículas y optimizar las dimensiones del problema. Los resultados experimentales muestran que, a medida que aumenta el número de partículas, MRPSO se mantiene en gran medida constante cuando el número de partículas es pequeño (<1000), mientras que el tiempo requerido para la ejecución del algoritmo aumenta rápidamente cuando el número de partículas supera cierta cantidad (>1000), mientras que BPSO crece lentamente y tiende a ofrecer mejores resultados que MRPSO. A medida que aumenta la dimensionalidad del problema de optimización, BPSO puede tardar la mitad del tiempo que MRPSO y obtener mejores resultados que este. MRPSO requiere más tiempo de ejecución que BPSO, a medida que varía la complejidad del problema, pero tanto MRPSO como BPSO no son muy sensibles a la complejidad del problema. Todo el código del programa y los datos de entrada están subidos a GitHub.