Improving the average time for solving subset-sum problem instances : algorithm variations and performance analysis
Autor(a) principal: | |
---|---|
Data de Publicação: | 2013 |
Tipo de documento: | Dissertação |
Idioma: | eng |
Título da fonte: | Biblioteca Digital de Teses e Dissertações do ITA |
Texto Completo: | http://www.bd.bibl.ita.br/tde_busca/arquivo.php?codArquivo=2878 |
Resumo: | The Subset-sum Problem (SSP) consists of finding a subset of a set of integers whose sum is as close as possible to a target amount, without exceeding it. The problem is NP-complete, but there are dynamic programming-based algorithms which can solve many instances in reasonable time. Most of these algorithms attempt to minimize the time taken to find the solution for "hard" problem instances, but have sub-optimal performance when dealing with "easy" instances, either containing few items or with multiple equivalent solutions of which just one needs to be found. In this work, we analyze the characteristics of several well-known approaches, including standard dynamic-programming Bellman recursion, Horowitz-Sahni decomposition and core algorithms, and suggest variations which improve their average-case performance for easy instances, without harming their worst-case performance significantly. One variation improves the performance of the YS87 single state - multiple stages algorithm for sparse instances. Another minimizes the amount of work required by decomposition-based approaches before a solution is found, allowing the computation to be aborted earlier for dense instances with many exact solutions; this is achieved by using the programming concept of generators in order to compute partial solutions only when they are needed. We also examine the characteristics of several SSP test instance types which are commonly used to compare algorithm performances, analyzing how the distribution of partial solutions varies according to the type and size of the instances. The times taken by several algorithm implementations to solve each of the SSP instance types are measured and compared, and the variations in their behavior when dealing with each one are explained based on the instances'; characteristics. |
id |
ITA_564d4f3dc543bd52cc9e95a7263784da |
---|---|
oai_identifier_str |
oai:agregador.ibict.br.BDTD_ITA:oai:ita.br:2878 |
network_acronym_str |
ITA |
network_name_str |
Biblioteca Digital de Teses e Dissertações do ITA |
spelling |
Improving the average time for solving subset-sum problem instances : algorithm variations and performance analysisProblema da soma de subconjuntosAlgoritmosTeoria dos conjuntosPesquisa operacionalMatemática computacionalComputaçãoThe Subset-sum Problem (SSP) consists of finding a subset of a set of integers whose sum is as close as possible to a target amount, without exceeding it. The problem is NP-complete, but there are dynamic programming-based algorithms which can solve many instances in reasonable time. Most of these algorithms attempt to minimize the time taken to find the solution for "hard" problem instances, but have sub-optimal performance when dealing with "easy" instances, either containing few items or with multiple equivalent solutions of which just one needs to be found. In this work, we analyze the characteristics of several well-known approaches, including standard dynamic-programming Bellman recursion, Horowitz-Sahni decomposition and core algorithms, and suggest variations which improve their average-case performance for easy instances, without harming their worst-case performance significantly. One variation improves the performance of the YS87 single state - multiple stages algorithm for sparse instances. Another minimizes the amount of work required by decomposition-based approaches before a solution is found, allowing the computation to be aborted earlier for dense instances with many exact solutions; this is achieved by using the programming concept of generators in order to compute partial solutions only when they are needed. We also examine the characteristics of several SSP test instance types which are commonly used to compare algorithm performances, analyzing how the distribution of partial solutions varies according to the type and size of the instances. The times taken by several algorithm implementations to solve each of the SSP instance types are measured and compared, and the variations in their behavior when dealing with each one are explained based on the instances'; characteristics.Instituto Tecnológico de AeronáuticaNei Yoshihiro SomaDavi Tassinari de Figueiredo2013-11-14info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesishttp://www.bd.bibl.ita.br/tde_busca/arquivo.php?codArquivo=2878reponame:Biblioteca Digital de Teses e Dissertações do ITAinstname:Instituto Tecnológico de Aeronáuticainstacron:ITAenginfo:eu-repo/semantics/openAccessapplication/pdf2019-02-02T14:04:59Zoai:agregador.ibict.br.BDTD_ITA:oai:ita.br:2878http://oai.bdtd.ibict.br/requestopendoar:null2020-05-28 19:40:15.981Biblioteca Digital de Teses e Dissertações do ITA - Instituto Tecnológico de Aeronáuticatrue |
dc.title.none.fl_str_mv |
Improving the average time for solving subset-sum problem instances : algorithm variations and performance analysis |
title |
Improving the average time for solving subset-sum problem instances : algorithm variations and performance analysis |
spellingShingle |
Improving the average time for solving subset-sum problem instances : algorithm variations and performance analysis Davi Tassinari de Figueiredo Problema da soma de subconjuntos Algoritmos Teoria dos conjuntos Pesquisa operacional Matemática computacional Computação |
title_short |
Improving the average time for solving subset-sum problem instances : algorithm variations and performance analysis |
title_full |
Improving the average time for solving subset-sum problem instances : algorithm variations and performance analysis |
title_fullStr |
Improving the average time for solving subset-sum problem instances : algorithm variations and performance analysis |
title_full_unstemmed |
Improving the average time for solving subset-sum problem instances : algorithm variations and performance analysis |
title_sort |
Improving the average time for solving subset-sum problem instances : algorithm variations and performance analysis |
author |
Davi Tassinari de Figueiredo |
author_facet |
Davi Tassinari de Figueiredo |
author_role |
author |
dc.contributor.none.fl_str_mv |
Nei Yoshihiro Soma |
dc.contributor.author.fl_str_mv |
Davi Tassinari de Figueiredo |
dc.subject.por.fl_str_mv |
Problema da soma de subconjuntos Algoritmos Teoria dos conjuntos Pesquisa operacional Matemática computacional Computação |
topic |
Problema da soma de subconjuntos Algoritmos Teoria dos conjuntos Pesquisa operacional Matemática computacional Computação |
dc.description.none.fl_txt_mv |
The Subset-sum Problem (SSP) consists of finding a subset of a set of integers whose sum is as close as possible to a target amount, without exceeding it. The problem is NP-complete, but there are dynamic programming-based algorithms which can solve many instances in reasonable time. Most of these algorithms attempt to minimize the time taken to find the solution for "hard" problem instances, but have sub-optimal performance when dealing with "easy" instances, either containing few items or with multiple equivalent solutions of which just one needs to be found. In this work, we analyze the characteristics of several well-known approaches, including standard dynamic-programming Bellman recursion, Horowitz-Sahni decomposition and core algorithms, and suggest variations which improve their average-case performance for easy instances, without harming their worst-case performance significantly. One variation improves the performance of the YS87 single state - multiple stages algorithm for sparse instances. Another minimizes the amount of work required by decomposition-based approaches before a solution is found, allowing the computation to be aborted earlier for dense instances with many exact solutions; this is achieved by using the programming concept of generators in order to compute partial solutions only when they are needed. We also examine the characteristics of several SSP test instance types which are commonly used to compare algorithm performances, analyzing how the distribution of partial solutions varies according to the type and size of the instances. The times taken by several algorithm implementations to solve each of the SSP instance types are measured and compared, and the variations in their behavior when dealing with each one are explained based on the instances'; characteristics. |
description |
The Subset-sum Problem (SSP) consists of finding a subset of a set of integers whose sum is as close as possible to a target amount, without exceeding it. The problem is NP-complete, but there are dynamic programming-based algorithms which can solve many instances in reasonable time. Most of these algorithms attempt to minimize the time taken to find the solution for "hard" problem instances, but have sub-optimal performance when dealing with "easy" instances, either containing few items or with multiple equivalent solutions of which just one needs to be found. In this work, we analyze the characteristics of several well-known approaches, including standard dynamic-programming Bellman recursion, Horowitz-Sahni decomposition and core algorithms, and suggest variations which improve their average-case performance for easy instances, without harming their worst-case performance significantly. One variation improves the performance of the YS87 single state - multiple stages algorithm for sparse instances. Another minimizes the amount of work required by decomposition-based approaches before a solution is found, allowing the computation to be aborted earlier for dense instances with many exact solutions; this is achieved by using the programming concept of generators in order to compute partial solutions only when they are needed. We also examine the characteristics of several SSP test instance types which are commonly used to compare algorithm performances, analyzing how the distribution of partial solutions varies according to the type and size of the instances. The times taken by several algorithm implementations to solve each of the SSP instance types are measured and compared, and the variations in their behavior when dealing with each one are explained based on the instances'; characteristics. |
publishDate |
2013 |
dc.date.none.fl_str_mv |
2013-11-14 |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/publishedVersion info:eu-repo/semantics/masterThesis |
status_str |
publishedVersion |
format |
masterThesis |
dc.identifier.uri.fl_str_mv |
http://www.bd.bibl.ita.br/tde_busca/arquivo.php?codArquivo=2878 |
url |
http://www.bd.bibl.ita.br/tde_busca/arquivo.php?codArquivo=2878 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.publisher.none.fl_str_mv |
Instituto Tecnológico de Aeronáutica |
publisher.none.fl_str_mv |
Instituto Tecnológico de Aeronáutica |
dc.source.none.fl_str_mv |
reponame:Biblioteca Digital de Teses e Dissertações do ITA instname:Instituto Tecnológico de Aeronáutica instacron:ITA |
reponame_str |
Biblioteca Digital de Teses e Dissertações do ITA |
collection |
Biblioteca Digital de Teses e Dissertações do ITA |
instname_str |
Instituto Tecnológico de Aeronáutica |
instacron_str |
ITA |
institution |
ITA |
repository.name.fl_str_mv |
Biblioteca Digital de Teses e Dissertações do ITA - Instituto Tecnológico de Aeronáutica |
repository.mail.fl_str_mv |
|
subject_por_txtF_mv |
Problema da soma de subconjuntos Algoritmos Teoria dos conjuntos Pesquisa operacional Matemática computacional Computação |
_version_ |
1706809292024184832 |