Por favor, use este identificador para citar o enlazar este ítem: https://hdl.handle.net/20.500.12104/104799
Registro completo de metadatos
Campo DCValorLengua/Idioma
dc.contributor.authorMaciel Castillo, Oscar Eduardo
dc.date.accessioned2024-09-18T16:49:47Z-
dc.date.available2024-09-18T16:49:47Z-
dc.date.issued2022-08-22
dc.identifier.urihttps://wdg.biblio.udg.mx
dc.identifier.urihttps://hdl.handle.net/20.500.12104/104799-
dc.description.abstractEn el proceso de generación de pruebas los investigadores realizamos un programa base que nos permita correr un experimento, se hace tan específico que si se quiere correr otro similar se tienen que realizar algunos cambios o incluso hacer uno totalmente nuevo. En este trabajo propongo la herramienta de investigación para estandarizar algoritmos metaheurísticos “SMART”, es una aplicación nueva y eficiente realizada en MATLAB, tiene la habilidad de automatizar las pruebas, asistir al buen diseño de algoritmos y funciones mediante código reutilizable. Algunas de las características más importantes de dicha herramienta son: Una interfaz gráfica, programación orientada a objetos para permitir la herencia de un algoritmo y función base, búsqueda simplificada de algoritmos y funciones, un validador para comprobar la adaptación adecuada y comparación con presuntas réplicas, ejecución de pruebas paralelas, un sistema de guardado automático, encapsulamiento para evitar la alteración de resultados y la recreación de éstos mediante el uso de un estado de semilla para inicializar números aleatorios. En la actualidad no existe ninguna herramienta que permita la ejecución de pruebas estandarizadas para metaheurísticos, se encuentran códigos que un investigador realiza para sus experimentos, pero no permiten su reutilización. También existen programas que cuentan con un entorno de interfaz gráfica, pero son hechos para algoritmos específicos y suelen tener un objetivo didáctico por lo que muestran funciones simples. También se cuenta con la aplicación para la automatización programas (PAPA), predecesor de éste, utilizado para la generación de varios experimentos los cuales ya se encuentran en artículos científicos, pero resulta complicado de usar, y no cuenta con la estandarización ni el encapsulamiento antes mencionados. Pruebas demuestran que las características del SMART fueron aplicadas correctamente, SMART se encontrará disponible en línea en el repositorio: https://github.com/oscarmacielc
dc.description.tableofcontentsINTRODUCCIÓN ----------------------------------------------------------------------------------------- 5 1 MARCO TEÓRICO ------------------------------------------------------------------------------------- 7 2 ALGORITMOS METAHEURÍSTICOS ------------------------------------------------------------15 2.1 Definición y concepto ----------------------------------------------------------------------16 2.2 Clasificación ---------------------------------------------------------------------------------18 2.2.a Evolutivos --------------------------------------------------------------------------18 2.2.b Enjambre --------------------------------------------------------------------------20 2.2.c Físicos ------------------------------------------------------------------------------21 2.2.d Inspirados en humanos ----------------------------------------------------------23 2.2.e Taxonomías ------------------------------------------------------------------------25 2.3 Estructura general -------------------------------------------------------------------------26 2.3.a Inicialización ----------------------------------------------------------------------26 2.3.b Búsqueda --------------------------------------------------------------------------28 2.3.c Selección ---------------------------------------------------------------------------30 2.3.d Criterio de paro ------------------------------------------------------------------30 2.3.d Exploración y explotación ------------------------------------------------------31 2.3.e Aleatoriedad -----------------------------------------------------------------------32 2.3.f Funciones de prueba -------------------------------------------------------------33 3 PROBLEMAS DEL ENTORNO DE PRUEBAS --------------------------------------------------34 3.1 Especializado --------------------------------------------------------------------------------35 3.1.a Reutilización ----------------------------------------------------------------------35 3.1.b Versionado ------------------------------------------------------------------------37 3.2 Problemas con algoritmos ----------------------------------------------------------------39 3.2.a Código -----------------------------------------------------------------------------40 3.2.b Accesos de función ---------------------------------------------------------------43 3.2.c Estructura y funcionalidad ------------------------------------------------------45 3.3 Problemas con funciones -----------------------------------------------------------------47 3.3.a Código -----------------------------------------------------------------------------47 3.3.b Entradas y salidas ----------------------------------------------------------------48 3.3.c Restricciones --------------------------------------------------------------------- 49 4 ESTANDARIZACIÓN --------------------------------------------------------------------------------51 4.1 Mismo Código -------------------------------------------------------------------------------53 4.2 Accesos de función -------------------------------------------------------------------------58 4.2.a Accesos dentro de condicional -------------------------------------------------58 4.2.b Accesos dentro de ciclos --------------------------------------------------------59 4.2.c Accesos dentro de funciones ----------------------------------------------------60 4.2.d Inicialización ----------------------------------------------------------------------61 4.2.e Iteraciones y criterio de paro ---------------------------------------------------64 4.3 Resultados reproducibles -----------------------------------------------------------------67 4.3.a Semilla aleatoria -----------------------------------------------------------------67 4.3.b Conservando la aleatoriedad ---------------------------------------------------70 4.4 Facilidad de enseñanza --------------------------------------------------------------------72 Entendimiento básico -------------------------------------------------------------------72 Modificación en algoritmos -----------------------------------------------------------74 Resolución de problemas---------------------------------------------------------------75 4.5 Trabajo colaborativo ----------------------------------------------------------------------78 5 DISEÑO DEL SOFTWARE --------------------------------------------------------------------------80 5.1 Generalidad del software -----------------------------------------------------------------82 5.1.a Sistema -----------------------------------------------------------------------------82 5.1.b Lenguaje y paradigma de programación -------------------------------------84 5.1.c Elementos utilizados -------------------------------------------------------------86 5.2 Diseño de ventanas -------------------------------------------------------------------------88 5.2.a Principal ---------------------------------------------------------------------------88 5.2.b Cargar o crear experimento ----------------------------------------------------91 5.2.c Verificación de algoritmo -------------------------------------------------------92 5.2.d Selección de algoritmos ---------------------------------------------------------94 5.2.e Selección de funciones -----------------------------------------------------------96 5.2.f Progreso de experimento --------------------------------------------------------98 5.2.g Edición de resultados ---------------------------------------------------------- 100 5.3 Ejecución de experimento y código relevante -------------------------------------- 102 5.3.a Crear experimento ------------------------------------------------------------- 102 5.3.b Elegir algoritmos --------------------------------------------------------------- 105 5.3.c Elegir funciones ----------------------------------------------------------------- 109 5.3.d Parámetros y desarrollo del experimento ---------------------------------- 110 5.3.e Resultados ----------------------------------------------------------------------- 113 5.4 Gráficos y representación -------------------------------------------------------------- 114 5.5.a Convergencia ------------------------------------------------------------------- 114 5.5.b Caja ------------------------------------------------------------------------------ 116 5.5.c Radar ----------------------------------------------------------------------------- 117 CONCLUSIONES -------------------------------------------------------------------------------------- 119 REFERENCIAS ----------------------------------------------------------------------------------------- 121
dc.formatapplication/PDF
dc.language.isospa
dc.publisherBiblioteca Digital wdg.biblio
dc.publisherUniversidad de Guadalajara
dc.rights.urihttps://www.riudg.udg.mx/info/politicas.jsp
dc.titleAPLICACIÓN PARA ESTANDARIZAR ALGORITMOS METAHEURÍSTICOS, AUTOMATIZACIÓN DE PRUEBAS Y ASISTENCIA PARA EL DISEÑO DE ALGORITMOS O FUNCIONES
dc.typeTesis de Doctorado
dc.rights.holderUniversidad de Guadalajara
dc.rights.holderMaciel Castillo, Oscar Eduardo
dc.coverageGUADALAJARA, JALISCO
dc.type.conacytdoctoralThesis
dc.degree.nameDOCTORADO EN CIENCIAS DE LA ELECTRONICA Y LA COMPUTACION CON ORIENTACIONES
dc.degree.departmentCUCEI
dc.degree.grantorUniversidad de Guadalajara
dc.rights.accessopenAccess
dc.degree.creatorDOCTOR EN CIENCIAS DE LA ELECTRONICA Y LA COMPUTACION CON ORIENTACIONES
dc.contributor.directorCuevas Jiménez, Erik Valdemar
dc.contributor.codirectorZaldívar Navarro, Daniel
Aparece en las colecciones:CUCEI

Ficheros en este ítem:
Fichero TamañoFormato 
DCUCEI10194FT.pdf3.86 MBAdobe PDFVisualizar/Abrir


Los ítems de RIUdeG están protegidos por copyright, con todos los derechos reservados, a menos que se indique lo contrario.