Improving the average time for solving subset-sum problem instances : algorithm variations and performance analysis

Detalhes bibliográficos
Autor(a) principal: Davi Tassinari de Figueiredo
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