dc.contributor.author Mankowski, Michal dc.contributor.author Moshkov, Mikhail dc.date.accessioned 2020-09-27T08:02:20Z dc.date.available 2020-09-27T08:02:20Z dc.date.issued 2020-08-17 dc.date.submitted 2019-02-28 dc.identifier.citation Mankowski, 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.issn 0304-3975 dc.identifier.doi 10.1016/j.tcs.2020.08.009 dc.identifier.uri http://hdl.handle.net/10754/665309 dc.description.abstract We 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.sponsorship Research 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.publisher Elsevier BV dc.relation.url https://linkinghub.elsevier.com/retrieve/pii/S0304397520304618 dc.rights NOTICE: 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.title Extensions of dynamic programming for multi-stage combinatorial optimization dc.type Article dc.contributor.department Applied Mathematics and Computational Science Program dc.contributor.department Computer Science Program dc.contributor.department Computer, Electrical and Mathematical Sciences and Engineering (CEMSE) Division dc.contributor.department Extensions of Dynamic Programming, Machine Learning and Discrete Optimization Research Group dc.identifier.journal Theoretical Computer Science dc.rights.embargodate 2022-08-17 dc.eprint.version Post-print kaust.person Mankowski, Michal kaust.person Moshkov, Mikhail dc.date.accepted 2020-08-12 dc.identifier.eid 2-s2.0-85090973104 refterms.dateFOA 2020-09-27T09:40:32Z dc.date.published-online 2020-08-17 dc.date.published-print 2020-12
﻿

### Files in this item

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