research

Dynamic programming based algorithms for set multicover and multiset multicover problems

Abstract

Given a universe N containing n elements and a collection of multisets or sets over N, the multiset multicover (MSMC) problem or the set multicover (SMC) problem is to cover all elements at least a number of times as specified in their coverage requirements with the minimum number of multisets or sets. In this paper, we give various exact algorithms for these two problems with or without constraints on the number of times a multiset or set may be chosen. First, we show that the MSMC without multiplicity constraints problem can be solved in O* ((b + 1)n | F |) time and polynomial space, where b is the maximum coverage requirement and | F | denotes the total number of given multisets over N. (The O* notation suppresses a factor polynomial in n.) To our knowledge, this is the first known exact algorithm for the MSMC without multiplicity constraints problem. Second, by combining dynamic programming and the inclusion-exclusion principle, we can exactly solve the SMC without multiplicity constraints problem in O ((b + 2)n) time. Compared with two recent results, in [Q.-S. Hua, Y. Wang, D. Yu, F.C.M. Lau, Set multi-covering via inclusion-exclusion, Theoretical Computer Science, 410 (38-40) (2009) 3882-3892] and [J. Nederlof, Inclusion exclusion for hard problems, Master Thesis, Utrecht University, The Netherlands, 2008], respectively, ours is the fastest exact algorithm for the SMC without multiplicity constraints problem. Finally, by directly using dynamic programming, we give the first known exact algorithm for the MSMC or the SMC with multiplicity constraints problem in O ((b + 1)n | F |) time and O* ((b + 1)n) space. This algorithm can also be easily adapted as a constructive algorithm for the MSMC without multiplicity constraints problem. © 2010 Elsevier B.V. All rights reserved.postprin

    Similar works