Return to search

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

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. / Operation’s planning for Software Development has been a complicated by-solve problem experienced since the golden age of the use methodologies whose rule those process. In which it is used, as well as in the efficiency and sophistication of the algorithms that try to solve the problems that appear in a software project, since its origin in the middle of the 20th century. The previously mentioned problem is known within algorithmic as task scheduling and it is defined as follows: given a group of tasks (operations) to be scheduled within a group of machines (or human resources, or human-machine resources), find an appropriate execution order. It is a NP-difficult complexity problem, so it justifies the usage of heuristic methods to obtain approximate solutions. This thesis presents a GRASP heuristic goal to solve the variant in which tasks are dependent and executing entities are different one from the other: now it could be possible the planning of the operation s from the inception’s RUP phase. We are remarking in particular, two disciplines of RUP methodology: business modeling and requirement. Both a greedy algorithm and a GRASP heuristic goal with two relaxation parameters have been developed. Innovative proposition because until now nobody has tried to solve the problem this way. Likewise a mathematical model for the specific variant of the problem to be considered is shown. To show efficiency of the GRASP algorithm, we developed a prototype program that executes and compares the results obtained by greedy and GRASP algorithms. The GRASP algorithm improves by 6% the results of the greedy algorithm, for instances with up to 12500 variables involved. Finally we measured the quality of these results with those of the mathematical model which would obtain the exact solution for smaller instances, taking advantage of software that solves linear programming problems: the GRASP algorithm got close to the exact result within a range of 95 to 99%, and even equaled it in some tests. Keywords: Task scheduling, GRASP algorithm, Software development, resource planning in software projects, RUP.

Identiferoai:union.ndltd.org:Cybertesis/sdx:www.cybertesis.edu.pe:80:sisbib/documents/sisbib.2005.tupia_am-principal
Date January 2005
CreatorsTupia Anticona,Manuel Francisco
ContributorsSánchez,David Mauricio
PublisherUniversidad Nacional Mayor de San Marcos. Programa Cybertesis PERÚ
Source SetsUniversidad Nacional Mayor de San Marcos - SISBIB PERU
LanguageSpanish
Detected LanguageSpanish
Formattext/xml
RightsTupia Anticona,Manuel Francisco, tupia.mf@pucp.edu.pe

Page generated in 0.0016 seconds