具有许多可除条件的子集和问题


28

S为一组自然数。我们认为S可分偏序下,即s1s2s1s2。让

α(S)=max{|V|VS,V反链}

如果考虑数字的多重集在的子集和问题S,那么与有关的问题的复杂性又能怎么说呢α(S)?很容易看出α(S)=1,那么问题就很容易。注意,当α(S)=1时,即使是较难的背包问题也很容易。


解决M. Hartmann和T.Olmstead(1993)的顺序背包问题


1
Instead of "relation", I suggest using the terms "partial order". Also, on minimal thought, the Frobenius coin problem might be relevant (of course, not sure, though)
Aryabhata

Answers:


2

This problem can be solved in polynomial time using linear programming, and this is actually true for any partial order (S,). By the way, we can prove by induction that for any finite partial order set (S,), there exists a finite set SN and a bijection f:SS, such that for all s1,s2S,s1s2f(s1)|f(s2).

Let C be the set formed by the chains in S. Remind that C is a chain iff for all v,v in C, vv or vv

xvvSyCC(P)

MaxvSxvsubject tovCxv1,CCxv{0,1},vS

and its dual (D) :

MinCCyCsubject toC:vCyC1,vSyC{0,1},CC

Then the problem of finding the minimum cover of an ordered set by chains is the dual of our problem. Dilworth's theorem states that

There exists an antichain A, and a partition of the order into a family P of chains, such that the number of chains in the partition equals the cardinality of A

which means that the optimal solution of these two problems match : Opt(P)=Opt(D)

Let (P) (resp. (D)) be the relaxation of (P) (resp. (D)) i.e. the same linear program where all constraints xv{0,1} (resp. yC{0,1}) are replaced by xv[0,1] (resp. yC[0,1]). Let Opt(P) and Opt(D) be their optimal solutions. Since {0,1}[0,1] we have :

Opt(P)Opt(P) and Opt(D)Opt(D)
and weak duality theorem establishes that Opt(P)Opt(D) then by putting everything together we have :
Opt(P)=Opt(P)=Opt(D)=Opt(D)

Then, using Ellipsoid method, we can compute Opt(P) ( =Opt(P)) in polynomial time. There are an exponential number of constraints but there exists a polynomial time separation oracle. Indeed given a solution X, we can enumerate all couples s1,s2X and check if s1s2 or s2s1, and therefore decide in polynomial time whether X is feasible or otherwise the constraint associated to the chain {v1,v2} is violated.


Ellispoid method works whatever the number of constraints, if we have (1) a polynomial number of variables and (2) a separation oracle which given any solution x decides in polynomial time whether x is feasible or find a constraints violated by x. I recommend reading [www-math.mit.edu/~goemans/18433S09/ellipsoid.pdf], wikipedia is not very clear on this point
Mathieu Mari

Thanks for explaining why the exponential number of constraints is not a problem, and the relevance of duality. Very nice!
D.W.
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.