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...
Autor: | |
---|---|
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 |
id |
UNMS_7019efdeea9ac28e729453205ce583cd |
---|---|
oai_identifier_str |
oai:cybertesis.unmsm.edu.pe:20.500.12672/3241 |
network_acronym_str |
UNMS |
network_name_str |
UNMSM-Tesis |
repository_id_str |
410 |
dc.title.none.fl_str_mv |
Un Algoritmo GRASP para resolver el problema de la programación de tareas dependientes en máquinas diferentes (task scheduling) |
title |
Un Algoritmo GRASP para resolver el problema de la programación de tareas dependientes en máquinas diferentes (task scheduling) |
spellingShingle |
Un Algoritmo GRASP para resolver el problema de la programación de tareas dependientes en máquinas diferentes (task scheduling) Tupia Anticona, Manuel Francisco Inteligencia artificial distribuida Algoritmos en computadoras Programación para computadoras https://purl.org/pe-repo/ocde/ford#2.02.04 |
title_short |
Un Algoritmo GRASP para resolver el problema de la programación de tareas dependientes en máquinas diferentes (task scheduling) |
title_full |
Un Algoritmo GRASP para resolver el problema de la programación de tareas dependientes en máquinas diferentes (task scheduling) |
title_fullStr |
Un Algoritmo GRASP para resolver el problema de la programación de tareas dependientes en máquinas diferentes (task scheduling) |
title_full_unstemmed |
Un Algoritmo GRASP para resolver el problema de la programación de tareas dependientes en máquinas diferentes (task scheduling) |
title_sort |
Un Algoritmo GRASP para resolver el problema de la programación de tareas dependientes en máquinas diferentes (task scheduling) |
author |
Tupia Anticona, Manuel Francisco |
author_facet |
Tupia Anticona, Manuel Francisco |
author_role |
author |
dc.contributor.advisor.fl_str_mv |
Mauricio Sánchez, David Santos |
dc.contributor.author.fl_str_mv |
Tupia Anticona, Manuel Francisco |
dc.subject.none.fl_str_mv |
Inteligencia artificial distribuida Algoritmos en computadoras Programación para computadoras |
topic |
Inteligencia artificial distribuida Algoritmos en computadoras Programación para computadoras https://purl.org/pe-repo/ocde/ford#2.02.04 |
dc.subject.ocde.none.fl_str_mv |
https://purl.org/pe-repo/ocde/ford#2.02.04 |
description |
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. |
publishDate |
2005 |
dc.date.accessioned.none.fl_str_mv |
2013-10-03T21:46:42Z |
dc.date.available.none.fl_str_mv |
2013-10-03T21:46:42Z |
dc.date.issued.fl_str_mv |
2005 |
dc.type.none.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
dc.identifier.uri.none.fl_str_mv |
https://hdl.handle.net/20.500.12672/3241 |
url |
https://hdl.handle.net/20.500.12672/3241 |
dc.language.iso.none.fl_str_mv |
spa |
language |
spa |
dc.relation.ispartof.fl_str_mv |
SUNEDU |
dc.rights.none.fl_str_mv |
info:eu-repo/semantics/openAccess |
dc.rights.uri.none.fl_str_mv |
https://creativecommons.org/licenses/by-nc-sa/4.0/ |
eu_rights_str_mv |
openAccess |
rights_invalid_str_mv |
https://creativecommons.org/licenses/by-nc-sa/4.0/ |
dc.publisher.none.fl_str_mv |
Universidad Nacional Mayor de San Marcos |
dc.publisher.country.none.fl_str_mv |
PE |
publisher.none.fl_str_mv |
Universidad Nacional Mayor de San Marcos |
dc.source.none.fl_str_mv |
Universidad Nacional Mayor de San Marcos Repositorio de Tesis - UNMSM reponame:UNMSM-Tesis instname:Universidad Nacional Mayor de San Marcos instacron:UNMSM |
instname_str |
Universidad Nacional Mayor de San Marcos |
instacron_str |
UNMSM |
institution |
UNMSM |
reponame_str |
UNMSM-Tesis |
collection |
UNMSM-Tesis |
bitstream.url.fl_str_mv |
https://cybertesis.unmsm.edu.pe/bitstreams/37eb5a6e-abf7-4ec7-a824-d90bd37eaff1/download https://cybertesis.unmsm.edu.pe/bitstreams/c5540dbc-45a6-41ea-ac19-5b3830bd0752/download https://cybertesis.unmsm.edu.pe/bitstreams/d63fa9b5-36db-4262-b35b-9d5b9f496e5b/download https://cybertesis.unmsm.edu.pe/bitstreams/a740a9dd-4d94-43a3-9541-9fedb8bee6be/download |
bitstream.checksum.fl_str_mv |
3d8c9aec10d70dc462f648a56853ac87 cd48bcefa4b0bcf7796a43025df3e04c 58a3d6a6abf3ff535d3383b8858a3255 cfeb8befd533ffbeb0bb617080814d05 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 MD5 |
repository.name.fl_str_mv |
Cybertesis UNMSM |
repository.mail.fl_str_mv |
cybertesis@unmsm.edu.pe |
_version_ |
1845983035704475648 |
spelling |
Mauricio Sánchez, David SantosTupia Anticona, Manuel Francisco2013-10-03T21:46:42Z2013-10-03T21:46:42Z2005https://hdl.handle.net/20.500.12672/3241La 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.TesisspaUniversidad Nacional Mayor de San MarcosPEinfo:eu-repo/semantics/openAccesshttps://creativecommons.org/licenses/by-nc-sa/4.0/Universidad Nacional Mayor de San MarcosRepositorio de Tesis - UNMSMreponame:UNMSM-Tesisinstname:Universidad Nacional Mayor de San Marcosinstacron:UNMSMInteligencia artificial distribuidaAlgoritmos en computadorasProgramación para computadorashttps://purl.org/pe-repo/ocde/ford#2.02.04Un Algoritmo GRASP para resolver el problema de la programación de tareas dependientes en máquinas diferentes (task scheduling)info:eu-repo/semantics/masterThesisSUNEDUMagíster en Ingeniería de Sistemas con la mención en Ingeniería de SoftwareUniversidad Nacional Mayor de San Marcos. Facultad de Ingeniería de Sistemas e Informática. Unidad de PosgradoIngeniería de Sistemas con la mención en Ingeniería de Software06445495https://orcid.org/0000-0001-9262-626Xhttps://purl.org/pe-repo/renati/level#maestrohttps://purl.org/pe-repo/renati/type#tesisORIGINALTupia_am.pdfapplication/pdf4793628https://cybertesis.unmsm.edu.pe/bitstreams/37eb5a6e-abf7-4ec7-a824-d90bd37eaff1/download3d8c9aec10d70dc462f648a56853ac87MD51Tupia_am.epubTupia_am.epubapplication/epub4504907https://cybertesis.unmsm.edu.pe/bitstreams/c5540dbc-45a6-41ea-ac19-5b3830bd0752/downloadcd48bcefa4b0bcf7796a43025df3e04cMD52TEXTTupia_am.pdf.txtTupia_am.pdf.txtExtracted texttext/plain21131https://cybertesis.unmsm.edu.pe/bitstreams/d63fa9b5-36db-4262-b35b-9d5b9f496e5b/download58a3d6a6abf3ff535d3383b8858a3255MD55THUMBNAILTupia_am.pdf.jpgTupia_am.pdf.jpgGenerated Thumbnailimage/jpeg13781https://cybertesis.unmsm.edu.pe/bitstreams/a740a9dd-4d94-43a3-9541-9fedb8bee6be/downloadcfeb8befd533ffbeb0bb617080814d05MD5620.500.12672/3241oai:cybertesis.unmsm.edu.pe:20.500.12672/32412024-08-15 23:44:17.879https://creativecommons.org/licenses/by-nc-sa/4.0/info:eu-repo/semantics/openAccessopen.accesshttps://cybertesis.unmsm.edu.peCybertesis UNMSMcybertesis@unmsm.edu.pe |
score |
13.02468 |
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).
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).