Asistente para la aplicación de algoritmos genéticos en la resolución de problemas de optimización

El proyecto consiste en la realización de una herramienta que sirva como asistente para la aplicación de algoritmos genéticos a un determinado problema de una manera visual y con la necesidad mínima de programación. El tema surge debido a que la implementación de estos algoritmos resulta ser hast...

Full description

Saved in:
Bibliographic Details
Main Author: Moreno Muñoz, Diana Patricia
Other Authors: González Campos, Saúl
Format: Trabajo recepcional licenciatura
Language:spa
Published: Universidad Autónoma de Ciudad Juárez 2017
Subjects:
Online Access:http://hdl.handle.net/20.500.11961/2983
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:El proyecto consiste en la realización de una herramienta que sirva como asistente para la aplicación de algoritmos genéticos a un determinado problema de una manera visual y con la necesidad mínima de programación. El tema surge debido a que la implementación de estos algoritmos resulta ser hasta cierto punto estandarizada, ya que hay una parte considerable en la lógica del algoritmo que no cambia, independientemente del problema al que se quiera aplicar. Actualmente existen frameworks públicos, comerciales y como resultado de trabajos de investigación que simplifican su aplicación, sin embargo, en cualquiera de ellos aún se debe estudiar la estructura interna de los mismos para programarlos. Considerando lo anterior, un asistente como el que se propone, le brindará al usuario la posibilidad de definir los componentes cruciales del algoritmo genético de una manera visual sin necesidad de programar las partes genéricas del método. Para la realización de este proyecto fue necesario conocer la estructura del algoritmo y su funcionamiento, así como los lenguajes de programación y las herramientas existentes que ayudaron a su desarrollo. Una vez conocida la teoría necesaria y seleccionadas las herramientas a utilizar, se procedió a desarrollar el sistema diseñando una interfaz amigable con el usuario, validando las configuraciones que ingresa para que no haya errores en su funcionamiento e implementando el algoritmo utilizando la librería JGAP, la cual tiene implementados algunos métodos genéricos del algoritmo. Finalmente, se puso a prueba el sistema desarrollado resolviendo problemas cuya solución ya fuera conocida para comparar los resultados, probar que funciona correctamente y determinando el éxito del proyecto.