Partition Problem

In this thesis we will focus on different algorithms for solving the Partition Problem. First, we will explain what the Partition Problem is and why it has been causing so many difficulties even in its simplest form. Then we will focus on different methods and algorithms for solving this problem tha...

Full description

Bibliographic Details
Main Author: BATAKLIEV, EMIL
Other Authors: Robič, Borut
Format: Bachelor Thesis
Language:English
Published: 2020
Subjects:
Online Access:https://repozitorij.uni-lj.si/IzpisGradiva.php?id=119213
https://repozitorij.uni-lj.si/Dokument.php?id=133910&dn=
https://plus.si.cobiss.net/opac7/bib/27794179?lang=sl
Description
Summary:In this thesis we will focus on different algorithms for solving the Partition Problem. First, we will explain what the Partition Problem is and why it has been causing so many difficulties even in its simplest form. Then we will focus on different methods and algorithms for solving this problem that were published in the last few decades. We will explain their underlying ideas, positive and negative properties, asymptotic time complexities, and their actual speed. We will also present an algorithm that is based on our own ideas. All the algorithms will be experimentally evaluated on a set of problem instances. The goal of this work is not to find the best algorithm for the problem of partitioning, but rather to explain various algorithms for solving it, emphasize their positive and negative sides, thus allowing the user to pick the most appropriate algorithm for the scenario/problem instance at hand. V delu se bomo osredotočili na razne algoritme za rešavanje Problema Razdelitve. Najprej bomo pojasili, kaj je problem razdelitve in zakaj je v preteklosti povzročil - celo v svoji najenostavnejši različici - toliko preglavic. Nato se bomo posvetili raznim metodam in algoritmom za rešavanje tega problema, ki so bili objavljeni v zadnjem desetletju. Razložili bomo njihove zamisli, prednosti in slabosti, njihove asimptotične časovne zahtevnosti in dejanske hitrosti. Predstavili bomo tudi algoritem, ki smo ga zasnovali sami. Vse algoritme bomo eksperimentalno ovrednotili, na množici primerov problema. Cilj našega dela ni poiskati najboljši algoritem za problem razdelitve, pač pa razložiti delovanje takšnih algoritmov, izpostaviti njihove prednosti in slabosti, in tako omogočiti uporabniku, da izbere tistega, ki je za rešitev njegove situacije/primera problema, najprimernejši.