RT info:eu-repo/semantics/bachelorThesis T1 Prodef-Algorithm: Interfaz para el modelado de meta-heurísticas A1 Castillo De La Rosa, Daniel Del A2 Grado en Ingeniería Informática K1 Optimización combinatoria K1 Metaheurísticas K1 Modelado de algoritmos AB Si bien en la actualidad existe una gran cantidad de investigación respecto a algoritmos de optimización bioinspirados, estos todavía no gozan de un uso extendido fuera del mundoacadémico. Su complejidad intrínseca y la dificultad para implementarlos y adaptarlos al problema en cuestión dificultan su uso. Prodef es una herramienta que trata de cambiar eso, permitiendo al usuario definir un problema con una interfaz gráfica basada en bloques desarrollada mediante la librería Blockly. Cada problema está compuesto porcuatro elementos: una serie de parámetros, las variables que conforman una solución, los objetivos y las restricciones que existen para que una solución sea factible. Una vez se ha definido el problema se puede obtener una solución. Para ello se transforma la definición basada en bloques en una basada en ProdefLang, un lenguaje de dominio específico que ayuda en la especificación de objetivos y restricciones. Finalmente, un componente llamado resolutor es capaz de recibir esta definición y computar una solución para el problema. Actualmente, existen dos resolutores cada uno basado en un framework distinto: JMetal y METCO. Sin embargo, en un principio Prodef no permitía al usuario influir en la ejecución más allá de decidir con qué resolutor resolver el problema.En este trabajo se han implementado los cambios necesarios para que Prodef permitaal usuario definir sus propios algoritmos de forma sencilla. Para añadir esta característicaha sido necesario hacer cambios a lo largo de toda la estructura de Prodef. En primer lugar, se ha añadido la capacidad de definir y guardar algoritmos desde la interfaz gráfica.También ha sido necesario crear un nuevo resolutor. Este resolutor es fundamentalmente distinto a aquellos que ya existían, ya que permite especificar qué algoritmo se quiere usar para resolver el problema en cuestión. Asimismo, para implementar este nuevo resolutor, ha sido necesario desarrollar un nuevo compilador de ProdefLang (el lenguajede dominio específico que usa Prodef) para Rust, ya que este es el lenguaje que se ha elegido para la implementación del nuevo resolutor. Para permitir el modelado de algoritmos, este nuevo resolutor hace uso de una abstracción basada en componentesque se ha diseñado durante este trabajo. Asimismo, se han creado varios componentes para ilustrar el funcionamiento del sistema. Una característica de gran relevancia de este diseño es que los algoritmos que se definen son independientes de cualquier problema.Esto permite aplicar el mismo algoritmo a distintos problemas, si bien es necesario elegir ciertos parámetros y componentes específicos que sí son dependientes del problema.Estos cambios permiten a Prodef erigirse como una herramienta única. Los usuarios que no necesiten definir sus propios algoritmos podrán usar algoritmos predefinidos e, incluso, comparar distintos algoritmos para encontrar los de mayor rendimiento para su problema. Sin embargo, aquellos usuarios que quieran tener un mayor control sobre la ejecución pueden definir los suyos propios. Además, esto también permite a usuariosque quieran aprender sobre metaheurísticas una plataforma para dar sus primeros pasos.Estas ventajas son de interés para cualquier futuro usuario de la herramienta. Por tanto, este Trabajo de Fin de Grado acerca Prodef a su objetivo de facilitar a empresas e individuos el modelado y la resolución de problemas de optimización combinatoria, sintener que conocer los detalles de implementación de los mismos. YR 2022 FD 2022 LK http://riull.ull.es/xmlui/handle/915/28703 UL http://riull.ull.es/xmlui/handle/915/28703 LA es DS Repositorio institucional de la Universidad de La Laguna RD 30-abr-2024