Por favor, use este identificador para citar o enlazar este ítem: https://hdl.handle.net/20.500.12008/48522
MetadatoEtiquetaValorIdioma
dc.contributor.advisor Tutor Iturriaga, Santiago-
dc.contributor.advisor Tutor González, Laura-
dc.contributor.author Autor Costela Rodio, Luis Sergio-
dc.contributor.filiacion Filiación Costela Rodio Luis Sergio, Universidad de la República (Uruguay). Facultad de Ingeniería.-
dc.date.accessioned Fecha ingreso 2025-02-24T17:20:59Z-
dc.date.available Fecha disponible 2025-02-24T17:20:59Z-
dc.date.issued Año de publicación 2024-
dc.description.abstract Resumen En el campo de los problemas de optimización, existen diversas técnicas para hallar o aproximar soluciones. En este contexto, los algoritmos evolutivos son métodos computacionales inspirados en la evolución natural que definen una serie de pasos para buscar soluciones, las cuales no necesariamente son exactas. Los algoritmos evolutivos paralelos constituyen un caso particular, en el que se utiliza la ejecución simultánea para acelerar la búsqueda en el espacio de soluciones. Por otro lado, la arquitectura de microservicios aporta una serie de beneficios tanto al software como al proceso de desarrollo, abarcando todo su ciclo de vida. Esta arquitectura es considerada uno de los pilares fundamentales del modelo cloud native. El enfoque cloud native busca que las aplicaciones estén diseñadas para ser escalables, resilientes y manejables en condiciones cambiantes y entornos dinámicos, explotando las ventajas de la computación en la nube. Si bien existen diversas herramientas que permiten implementar algoritmos evolutivos paralelos, a nuestro leal saber y entender, ninguna de ellas se adhiere plenamente al enfoque cloud native. Esto representa una oportunidad para explorar nuevas soluciones que aprovechen las ventajas de esta perspectiva. En este contexto, este proyecto propone una plataforma con una arquitectura de microservicios para la ejecución de algoritmos evolutivos paralelos, siguiendo los principios fundamentales del modelo cloud native. En primer lugar, se realiza una revisión de la literatura académica relacionada con las temáticas tratadas, estableciendo una base de conocimientos para tomar decisiones adecuadas al plan de este proyecto. También se consultan sitios web de profesionales con experiencia en el campo, así como la documentación oficial de productos con trayectoria en el área, como jMetal, ParadisEO y HeuristicLab. Simultáneamente, se estudian diversos trabajos relacionados con investigaciones alineadas con la propuesta de este proyecto. Posteriormente, se realiza el análisis y diseño de la plataforma, evaluando la aplicabilidad de la arquitectura de microservicios en sistemas diseñados para ejecutar algoritmos evolutivos. Este proceso se centra en analizar la viabilidad de la arquitectura propuesta, estableciendo requisitos no funcionales verificables. Finalmente, se implementa un prototipo de la propuesta utilizando lenguajes y herramientas de código abierto y de uso libre, garantizando un producto de iguales características. Siempre que es posible, se opta por instalar productos especializados, siguiendo un enfoque orientado a la reutilización. Como tecnología de orquestación, se elige Kubernetes, estándar de facto en la industria, reconocido por su capacidad para automatizar el despliegue, escalado y administración de aplicaciones basadas en contenedores. Además, al utilizar Kubernetes, se obtiene una solución integrada a la nube, que permite tanto un enfoque DevOps como un desarrollo cloud native. Para validar su efectividad y rendimiento, se llevan a cabo pruebas utilizando problemas conocidos en el campo de la optimización. Estos experimentos permiten identificar los beneficios y limitaciones de esta arquitectura, destacando los problemas más adecuados para este entorno y aquellos donde resulta menos favorable frente a otras soluciones. Los resultados obtenidos son satisfactorios y confirman que esta arquitectura es viable para construir este tipo de sistemas, identificando escenarios de uso interesantes.es
dc.format.extent Extensión 119 p.es
dc.format.mimetype Formato application/pdfes
dc.identifier.citation Citación Costela Rodio, L. Plataforma para algoritmos evolutivos paralelos con una arquitectura basada en microservicios [en línea] Tesis de grado. Montevideo: Udelar. FI. INCO, 2024.es
dc.identifier.uri URI https://hdl.handle.net/20.500.12008/48522-
dc.language.iso Idioma eses
dc.publisher Editorial Udelar. FI.es
dc.rights Derechos Las obras depositadas en el Repositorio se rigen por la Ordenanza de los Derechos de la Propiedad Intelectual de la Universidad de la República.(Res. Nº 91 de C.D.C. de 8/III/1994 – D.O. 7/IV/1994) y por la Ordenanza del Repositorio Abierto de la Universidad de la República (Res. Nº 16 de C.D.C. de 07/10/2014)es
dc.rights.licence Licencia Licencia Creative Commons Atribución - No Comercial - Sin Derivadas (CC - By-NC-ND 4.0)es
dc.subject Palabras clave Algoritmos evolutivoses
dc.subject Palabras clave Arquitectura de microservicioses
dc.subject Palabras clave Patrones de diseñoes
dc.subject Palabras clave Código abiertoes
dc.subject Palabras clave Computación distribuida y paralelaes
dc.subject Palabras clave DevOpses
dc.subject Palabras clave Cloud nativees
dc.title Título Plataforma para algoritmos evolutivos paralelos con una arquitectura basada en microservicios.es
dc.type Tipo de documento Tesis de gradoes
thesis.degree.grantor Facultad o Servicio que otorga el Título Universidad de la República (Uruguay). Facultad de Ingeniería.es
thesis.degree.name Título Obtenido Ingeniero en Computación.es

Colecciones:

FicherosDescripciónTamañoFormato
Cos24.pdf Tesis de grado 8.74 MB Adobe PDF