Asignación de recursos a múltiples equipos de desarrollo usando técnicas de optimización

  • -

Asignación de recursos a múltiples equipos de desarrollo usando técnicas de optimización

2023

Descargar propuesta de investigación completa (PDF)

Profesores: Dr. Abel García Nájera y Dr. Humberto Cervantes Maceda

Resumen: Uno de los problemas complejos que enfrentan las organizaciones dedicadas al desarrollo de software es la asignación de recursos humanos a los proyectos. Típicamente, en una empresa de desarrollo en un momento dado se están ejecutando múltiples proyectos de desarrollo, cada uno en etapas distintas de avance. Al mismo tiempo, los equipos de preventa están buscando nuevas oportunidades de desarrollo de proyectos. Cuando un nuevo proyecto es aceptado, surge un problema de asignación de recursos. Los recursos para el nuevo proyecto pueden obtenerse a partir de:

● Personas que actualmente participan en proyectos que terminan antes de que el nuevo proyecto inicia
● Personas de reserva que están “en la banca”
● Nuevas contrataciones

Dados los altos costos de los sueldos de desarrolladores, tener gente “en la banca” no es deseable. Por otro lado, la contratación de nuevas personas es un reto, pues primero hay que encontrar los recursos y después entrenarlos. Por lo tanto lo ideal es poder conformar los equipos de nuevos proyectos a partir de gente que ya forma parte de la organización.

Objetivo general:

Definir e implementar en una herramienta un modelo de asignación de recursos y una técnica de optimización que permita asignar recursos a múltiples equipos de desarrollo.

Objetivos específicos:

  • Identificar propuestas en la literatura enfocadas en la resolución del problema de asignación de recursos a equipos múltiples mediante técnicas de optimización
  • Proponer un modelo que facilite la asignación de recursos a múltiples equipos considerando diversas restricciones y una técnica de optimización que permita encontrar propuestas de asignación de recursos
  • Desarrollar un prototipo de herramienta que implemente dicha técnica
  • Evaluar la efectividad de la herramienta

  • -

Propuesta de un mecanismo para despliegue del sistema ALEPH usando contenedores e infrestructura como código

2023

Descargar propuesta de investigación completa (PDF)

Profesores: Dr. Ricardo Marcelín Jiménez y Dr. Humberto Cervantes Maceda

Resumen: En la UAM-I se ha desarrollado un sistema de almacenamiento masivo llamado ALEPH. Dicho sistema es un sistema de cómputo distribuido sobre el que se realizan operaciones de tratamiento de información (incluyendo operaciones tales como cifrado, compresión, generación de redundancia) que tienen como objetivo procesar un archivo que debe almacenarse (y posteriormente recuperarse), para garantizar su seguridad y alta disponibilidad.

Actualmente, el despliegue de ALEPH se realiza de forma manual, lo cual es una tarea complicada y propensa a errores. Esto es un problema pues existen oportunidades de llevar ALEPH a distintos entornos de operación, dentro y fuera de la universidad, pero la falta de mecanismos modernos de despliegue del sistema complican su implantación y, además, limitan la posibilidad del equipo de desarrollo de adoptar métodos modernos de desarrollo como DevOps.

Objetivo general:

El objetivo de este proyecto es investigar, desarrollar y aplicar mecanismos que faciliten el despliegue de ALEPH y el soporte de actividades asociadas con la metodología de desarrollo DevOps.

Objetivos específicos:

  • Investigar la manera de empaquetar los distintos elementos del sistema en contenedores y de soportar la ejecución del sistema una vez empaquetado
  • Investigar la manera de describir la topología de implantación de Aleph para poder desplegarla usando mecanismos de “infraestructura como código”

  • -

Reconocimiento de matrículas vehiculares de la UAMI utilizando redes neuronales convolucionales

2023

Descargar propuesta de investigación completa (PDF)

Profesores: Dr. Benjamin Moreno Montiel y Dr. René MacKinney Romero

Resumen: El reconocimiento de matrículas de vehículos ha sido investigado en todo el mundo. Normalmente, estos trabajos consideran cuatro fases: 1) obtención de la imagen del vehículo, 2) ubicación de placas dentro de la imagen, 3) extracción de caracteres y 4) clasificación o reconocimiento de caracteres.

En la mayoría de los algoritmos que se encuentran en la literatura, se supone que la placa no tiene patrones de textura, el fondo suele ser blanco y los caracteres negros, lo que permite un mejor reconocimiento de caracteres. Sin embargo, en el caso de las placas mexicanas no es así. Por un lado, tienen patrones de textura de fondo y, por otro lado, cada Gobierno del Estado puede diseñar su propio patrón de textura de fondo; esto genera más de 32 placas diferentes, y este número aumenta con los cambios en la administración del gobierno. Estas estructuras en las placas vehiculares de México hacen que los algoritmos tradicionales no funcionen correctamente, principalmente en la fase de extracción de caracteres.

Objetivo general:

Diseñar un sistema basado en visión artificial para el reconocimiento de matrículas vehiculares de la UAMI, extrayendo características de color de baja intensidad y de forma mediante el uso de redes neuronales convolucionales.

Objetivos específicos:

  • Revisión del estado del arte sobre el reconocimiento automático de matrículas vehiculares.
  • Desarrollar un algoritmo para la segmentación y extracción de caracteres (con base en sus características de color)
  • Diseñar una red neuronal convolucional para el reconocimiento de caracteres (caracterización del carácter y desarrollo del clasificador)
  • Realizar pruebas para validación de la propuesta para obtener las tasas de aprendizaje del sistema propuesto

  • -

Predicción de sismos en México mediante el uso de un ensamble de redes neuronales

2023

Descargar propuesta de investigación completa (PDF)

Profesores: Dr. Benjamin Moreno Montiel y Dr. René MacKinney Romero

Resumen: <<Los sismos no se pueden predecir>>. Siempre hemos escuchado esta frase cuando hablamos de sismos, y de cierta manera la frase tiene mucha razón, ya que no existe ninguna metodología que permita realizar esta tarea con un grado de confiabilidad realmente aceptable. Y puede que nunca sea posible predecir el momento exacto en que ocurrirá un terremoto dañino, porque cuando se ha acumulado suficiente tensión, una falla puede volverse inherentemente inestable, y cualquier pequeño terremoto de fondo puede o no continuar evolucionando hasta convertirse en un gran terremoto.

Sin embargo, en la actualidad muchos investigadores a nivel mundial han propuesto modelos de predicción que sean capaces de ofrecer un panorama sobre el cómo, donde y cuando se podrá presentar un sismo con características detallas que protejan los más importante que tiene el ser humano, la vida.

Objetivo general:

Diseñar un modelo de predicción de sismos en México utilizando un ensamble de redes neuronales, con base al repositorio de los últimos 20 años.

Objetivos específicos:

  • Revisión del estado del arte sobre modelos de predicción de temblores a nivel mundial
  • Revisión del estado del arte sobre algoritmos basados en ensambles de tipo mezcla de redes neuronales
  • Crear la base de datos para la predicción de sismos en México, estableciendo el área específica, la ventana de tiempo específico, el rango de magnitud y la probabilidad específica de ocurrencia
  • Diseñar y programar un ensamble de mezcla de redes neuronales que representará el motor de funcionamiento de este proyecto de investigación
  • Realizar pruebas para validación de la propuesta para obtener las tasas de aprendizaje del sistema propuesto

  • -

Exploración de redes léxicas automáticas para determinar el deterioro de la memoria semántica y de trabajo presentes en adultos mayores de México

2023

Descargar propuesta de investigación completa (PDF)

Profesores: Dr. Benjamin Moreno Montiel y Dr. Ricardo Marcelín Jiménez

Resumen: En Lingüística Computacional existen dos tipos de memorias, la semántica y la de trabajo. La memoria semántica se construye a partir de las redes léxicas, las cuales pueden ser estudiadas mediante técnicas de asociación libre de palabras y la relación que existe entre una palabra estimulo y su respuesta. Durante el envejecimiento típico estas redes se conservan ante la aparición de déficits cognitivos, además se tiene registrado que más de un 60% de las redes léxicas típicas se encuentran tanto en adultos mayores como en adultos jóvenes.

Esto no pasa con la memoria de trabajo, ya que al envejecer esta sufre una lentificación de las habilidades lingüísticas. Esta memoria es considerada una memoria de corto plazo y en un estado normal permite desarrollar tareas cognitivas complejas como la comprensión del lenguaje, la lectura, las habilidades matemáticas, el aprendizaje o el razonamiento. El envejecimiento típico se relaciona con un desfase entre la producción y la comprensión lingüística, algo que ha sido detectado en la memoria de trabajo, ya que las asociaciones léxicas dependen de un criterio sintáctico y semántico.

Objetivo general:

Diseñar un modelo de evaluación de redes léxicas automáticas para determinar el deterioro de la memoria semántica y de trabajo presentes en adultos mayores de México.

Objetivos específicos:

  • Revisión del estado del arte sobre métodos para la evaluación de redes léxicas y sus métricas aplicadas sobre las gráficas obtenidas a partir de la formación de estas
  • Incorporar la noción de representación vectorial de palabras y el factor de similitud SimLex, para automatizar la creación de las redes léxicas en base a las NAP´s
  • Establecer un esquema de clasificación sobre las redes léxicas automáticas para determinar cuando una persona puede o no presentar deterioro en su memoria semántica y de trabajo
  • Realizar pruebas para validación de la propuesta para obtener las tasas de aprendizaje del sistema propuesto

  • -

Identificación de usuarios en Internet utilizando técnicas de aprendizaje maquinal

2023

Descargar propuesta de investigación completa (PDF)

Profesores: Dr. Miguel López Guerrero y Dr. Óscar Arana Hernández

Resumen: El proceso para acceder a los múltiples recursos disponibles por Internet consiste simplemente en escribir la dirección URL deseada en la barra de navegación y seguir unos cuantos hipervínculos hasta llegar al lugar deseado. Sin embargo, las direcciones que el usuario introduce no son las mismas que requieren los protocolos de encaminamiento para identificar una computadora en Internet y comunicarse con ella. Por esta razón, desde los primeros años de operación de Internet, se decidió utilizar un servicio de conversión de direcciones URL a direcciones numéricas. Dicha traducción de nombres de dominio es un servicio que se proporciona a través de servidores DNS (Domain Name System). Por lo tanto, la utilización del servicio DNS es una característica inherente de la navegación por Internet.

Objetivo general:

Generar una evaluación de desempeño de varios algoritmos de aprendizaje maquinal aplicados a la identificación de los usuarios en Internet.

Objetivos específicos:

  • Familiarizarse con los trabajos de investigación existentes para identificar usuarios de Internet usando diferentes algoritmos de aprendizaje maquinal
  • Generar una evaluación de desempeño de una selección de algoritmos de aprendizaje maquinal en algún software computacional
  • Comunicar adecuadamente los resultados de la investigación

  • -

Nuevos estudios para la estimación automática de esfuerzo en el desarrollo de software a partir de historias de usuario

2023

Descargar propuesta de investigación completa (PDF)

Profesores: Dr. Humberto Cervantes Maceda y Dr. Eduardo Vázquez Santacruz

Resumen: La estimación de esfuerzo es importante para planificar eficientemente el uso de recursos en un proyecto de Tecnologías de la Información. En las fases de planeación de un proyecto, durante la elaboración de los artefactos y la pila de producto, el equipo involucrado realiza una estimación inicial aproximada de tiempo y costo. Para mejorar la precisión de la estimación de esfuerzo en desarrollo de software existen varias técnicas de estimación: function points, object points, use case points, story points, etc. Los puntos de historia de usuario son la base de marcos de trabajo ágil que actualmente están tomando fuerza en el desarrollo de software. Una de las principales lagunas de conocimiento se encuentra en la aplicación de técnicas de aprendizaje automático en estimación de esfuerzo en desarrollo de software ágil.

Objetivo general:

Estudiar diversas técnicas de aprendizaje automático para construir un mecanismo capaz de realizar estimaciones de esfuerzo de un proyecto de desarrollo de software a partir de los puntos de historia de usuario.

Objetivos específicos:

  • Estudiar el Estado del Arte
  • Diseñar e implementar estrategias basadas en aprendizaje automático para generar estimaciones de esfuerzo
  • Evaluar y comunicar los resultados

  • -

Diseño de funciones de estimación para sistemas RFID aumentados

2023

Descargar propuesta de investigación completa (PDF)

Profesores: Dr. Víctor Manuel Ramos Ramos y Dr. Leonardo Daniel Sánchez Martínez

Resumen: Uno de los diversos procesos realizados por todo sistema RFID es la estimación de la cardinalidad de un conjunto de etiquetas. Dicho proceso utiliza funciones denominadas como funciones de estimación. Una función de estimación es una función que permite aproximar la cardinalidad de un conjunto de objetos presentes en una zona de interés. Es de suma utilidad para todo sistema RFID, pues es la base o pre-fase de otros procesos como el de identificación. Es importante resaltar que la exactitud de la función de estimación es fundamental para las distintas aplicaciones que utilizan este proceso. Entre mejor sea la función, mejor desempeño podrá tener la aplicación.

Objetivo general:

Diseñar al menos una función de estimación para sistemas RFID aumentados para mejorar los procesos que dependen total o parcialmente de ellas.

Objetivos específicos:

  • Identificar las diferencias entre los sistemas RFID tradicionales y aumentados
  • Analizar y comparar las funciones de estimación existentes
  • Diseñar una función de estimación para un sistema RFID aumentado
  • Evaluar la función de estimación diseñada y compararla con las existentes

  • -

Detección de objetos perdidos en sistemas RFID aumentados

2023

Descargar propuesta de investigación completa (PDF)

Profesores: Dr. Víctor Manuel Ramos Ramos y Dr. Leonardo Daniel Sánchez Martínez

Resumen: Una de las aplicaciones más comunes para la tecnología RFID es la detección de objetos perdidos. Esta actividad consiste en determinar si un objeto ha abandonado el área de interés por un error, o bien, si alguien no autorizado lo ha movido de lugar. Para ello, es necesario un protocolo de detección de objetos, el cual permite determinar la presencia de objetos en un área de interés. Este tipo de protocolos se utiliza principalmente en aplicaciones de seguridad y logística. Entonces, se espera que la ejecución de este tipo de protocolos sea lo más rápida y eficiente posible, ya que la mayoría de ellos se ejecutan frecuentemente durante largos períodos de tiempo.

Objetivo general:

Diseñar al menos un protocolo de detección de objetos para los sistemas RFID aumentados.

Objetivos específicos:

  • Identificar las diferencias entre los sistemas RFID tradicionales y aumentados
  • Estudiar los protocolos de detección de objetos para sistemas RFID
  • Diseñar un protocolo de detección de objetos para un sistema RFID aumentado
  • Evaluar el protocolo de detección de objetos y compararlo con los existentes

  • -

Estudios en programación automática como elemento fundamental de la ingeniería de software automatizada

2023

Descargar propuesta de investigación completa (PDF)

Profesores: Dr. Humberto Cervantes Maceda y Dr. Eduardo Vázquez Santacruz

Resumen: El área de conocimiento referente a la programación automática tiene como objetivo que el propio software escriba los programas que necesita la sociedad atendiendo los requerimientos e indicaciones de ellas. Esta área del conocimiento se está desarrollando hoy en día en diversos lugares de nuestro planeta con el fin de hacer más cómoda y eficiente la actividad cotidiana de los humanos en general a través de la automatización de la generación de programas computacionales.

Objetivo general:

Estudiar diversas técnicas y estrategias para diseñar y construir programas computacionales que codifiquen a su vez otros programas computacionales que finalmente generen entidades ejecutables.

Objetivos específicos:

  • Estudiar el Estado del Arte
  • Diseñar e implementar estrategias basadas en aprendizaje automático e inteligencia artificial en general para diseñar y construir programas computacionales que codifiquen a su vez otros programas computacionales que finalmente generen entidades ejecutables
  • Evaluar y comunicar los resultados