Un Algoritmo GRASP para resolver el problema de la programación de tareas dependientes en máquinas diferentes (task scheduling)

Descripción del Articulo

La planificación de las operaciones involucradas en un proyecto de desarrollo de software ha sido un problema a superar, desde el auge del uso de metodologías que guían dicho proceso. Tanto la eficiencia como la sofisticación de los algoritmos que buscan resolver los estos ordenamientos, han ido evo...

Descripción completa

Detalles Bibliográficos
Autor: Tupia Anticona, Manuel Francisco
Formato: tesis de maestría
Fecha de Publicación:2005
Institución:Universidad Nacional Mayor de San Marcos
Repositorio:UNMSM-Tesis
Lenguaje:español
OAI Identifier:oai:cybertesis.unmsm.edu.pe:20.500.12672/3241
Enlace del recurso:https://hdl.handle.net/20.500.12672/3241
Nivel de acceso:acceso abierto
Materia:Inteligencia artificial distribuida
Algoritmos en computadoras
Programación para computadoras
https://purl.org/pe-repo/ocde/ford#2.02.04
Descripción
Sumario:La planificación de las operaciones involucradas en un proyecto de desarrollo de software ha sido un problema a superar, desde el auge del uso de metodologías que guían dicho proceso. Tanto la eficiencia como la sofisticación de los algoritmos que buscan resolver los estos ordenamientos, han ido evolucionando durante la segunda mitad del siglo XX. Al mencionado problema de ordenar tareas con dependencias se le conoce en la algorítmica como programación de tareas o task scheduling y es definido de la siguiente forma: dado un conjunto de tareas a ser programadas en determinado grupo de máquinas (o recursos hombre-máquina como podrían ser programadores, analistas, etc.), encontrar un orden adecuado de ejecución. Es un problema de complejidad NP-difícil por lo que se justifica el uso de métodos heurísticos para obtener soluciones aproximadas. El presente trabajo de tesis presenta una meta heurística GRASP para resolver la variante en donde las tareas son dependientes y los organismos ejecutores son diferentes entre sí: con esto se podrían planificar las tareas de las etapas iniciales de un proceso particular de desarrollo de software. En la tesis, se incide en la metodología RUP, y en particular en sus disciplinas de modelamiento de negocios (business modeling) y captación de requerimientos (requirement). Se han desarrollado tanto un algoritmo voraz como una meta heurística GRASP con dos parámetros de relajación, planteamiento novedoso pues hasta el momento no se había intentado resolver el problema de esta forma. Igualmente se muestra un modelo matemático para la variante específica del problema a tratar. Para demostrar la corrección de los algoritmos, se desarrolló un prototipo que los implementa obteniéndose como resultado que el algoritmo GRASP mejora casi en un 6% los resultados del algoritmo voraz, para instancias de hasta 12500 variables involucradas. Palabras clave: Programación de tareas, algoritmos GRASP, Desarrollo de Software, planificación de recursos en proyectos de desarrollo software, RUP.
Nota importante:
La información contenida en este registro es de entera responsabilidad de la institución que gestiona el repositorio institucional donde esta contenido este documento o set de datos. El CONCYTEC no se hace responsable por los contenidos (publicaciones y/o datos) accesibles a través del Repositorio Nacional Digital de Ciencia, Tecnología e Innovación de Acceso Abierto (ALICIA).