Show simple item record

dc.contributor.authorMankowski, Michal
dc.contributor.authorMoshkov, Mikhail
dc.date.accessioned2020-09-27T08:02:20Z
dc.date.available2020-09-27T08:02:20Z
dc.date.issued2020-08-17
dc.date.submitted2019-02-28
dc.identifier.citationMankowski, M., & Moshkov, M. (2020). Extensions of dynamic programming for multi-stage combinatorial optimization. Theoretical Computer Science. doi:10.1016/j.tcs.2020.08.009
dc.identifier.issn0304-3975
dc.identifier.doi10.1016/j.tcs.2020.08.009
dc.identifier.urihttp://hdl.handle.net/10754/665309
dc.description.abstractWe propose a dynamic programming framework for an exact multi-stage (lexicographic) combinatorial optimization. Unlike conventional algorithms of dynamic programming that return one optimal solution, two dynamic programming algorithms proposed in this paper are coping with the whole set of optimal solutions or with its essential part. We describe the set of elements for optimization by a labeled directed acyclic graph, which in some sense, is similar to the structure of subproblems of the considered problem. For a given cost function (objective), the first algorithm constructs a subgraph of this graph that describes the whole set of optimal elements or its essential part. This algorithm can be used for multi-stage optimization of elements relative to a sequence of cost functions. The second algorithm counts elements before the optimization and after each optimization step. The considered labeled directed acyclic graph is a kind of circuit. This circuit builds the set of elements for optimization from one-element sets attached to input nodes. It uses the operation of union of sets attached to unifying nodes and functional operations attached to functional nodes. The algorithms for optimization and counting elements are defined for an arbitrary circuit without repetitions in which each element is generated exactly one time. For a considered problem with a known conventional dynamic programming solution algorithm, usually, it is easy to construct a corresponding circuit without repetitions. Once the circuit and cost functions are defined, our framework provides the correctness proofs and detailed time complexity analysis for the proposed algorithms. To make this approach more intuitive, we consider an illustrative example related to the maximum subarray problem. We tested our approach on the following nine combinatorial optimization problems: matrix chain multiplication, global sequence alignment, optimal paths in directed graphs, binary search trees, optimal bitonic tour, segmented least squares, convex polygon triangulation, one-dimensional clustering, and line breaking (text justification). We consider the last three problems in detail: construct a circuit without repetitions, describe at least two cost functions, evaluate a number of operations and time required by the algorithms, discuss an example, and consider the results of computer experiments with randomly generated instances of the problem.
dc.description.sponsorshipResearch reported in this publication was supported by King Abdullah University of Science and Technology (KAUST). The authors wish to express their thanks to Hassan Alsibyani for his collaboration in preparation illustrative example related to the maximum subarray problem. The authors are greatly indebted to the anonymous reviewers for useful comments and suggestions.
dc.publisherElsevier BV
dc.relation.urlhttps://linkinghub.elsevier.com/retrieve/pii/S0304397520304618
dc.rightsNOTICE: this is the author’s version of a work that was accepted for publication in Theoretical Computer Science. Changes resulting from the publishing process, such as peer review, editing, corrections, structural formatting, and other quality control mechanisms may not be reflected in this document. Changes may have been made to this work since it was submitted for publication. A definitive version was subsequently published in Theoretical Computer Science, [, , (2020-08-17)] DOI: 10.1016/j.tcs.2020.08.009 . © 2020. This manuscript version is made available under the CC-BY-NC-ND 4.0 license http://creativecommons.org/licenses/by-nc-nd/4.0/
dc.titleExtensions of dynamic programming for multi-stage combinatorial optimization
dc.typeArticle
dc.contributor.departmentApplied Mathematics and Computational Science Program
dc.contributor.departmentComputer Science Program
dc.contributor.departmentComputer, Electrical and Mathematical Sciences and Engineering (CEMSE) Division
dc.contributor.departmentExtensions of Dynamic Programming, Machine Learning and Discrete Optimization Research Group
dc.identifier.journalTheoretical Computer Science
dc.rights.embargodate2022-08-17
dc.eprint.versionPost-print
kaust.personMankowski, Michal
kaust.personMoshkov, Mikhail
dc.date.accepted2020-08-12
dc.identifier.eid2-s2.0-85090973104
refterms.dateFOA2020-09-27T09:40:32Z
dc.date.published-online2020-08-17
dc.date.published-print2020-12


Files in this item

Thumbnail
Name:
Michal_M_St_2.pdf
Size:
2.346Mb
Format:
PDF
Description:
Accepted manuscript
Embargo End Date:
2022-08-17

This item appears in the following Collection(s)

Show simple item record