Bu problem, doğrusal programlama kullanılarak polinom zamanında çözülebilir ve bu herhangi bir kısmi düzen için de geçerlidir . Bu arada, herhangi bir sonlu kısmi sipariş seti için sonlu bir küme ve bir . hepsi için .( S , ≤ ) S ' ⊆ K f : S → G ' in 1 , s 2 ∈ S , s 1 ≤ s 2 ⇔ f ( s 1 ) | f ( s 2 )(S,≤)(S,≤)S′⊆Nf:S→S′s1,s2∈S,s1≤s2⇔f(s1)|f(s2)
Let zincirler oluşturduğu set olmak . tüm in , veya için bir zincir iff olduğunu hatırlatın S CCSC C v ≤ v ′ v ′ ≤ vv,v′Cv≤v′v′≤v
Şimdi her için bir boolean değişkeni ve her zinciri için bir boolean değişkeni oluşturun . için aşağıdaki doğrusal programı yazabiliriz :
xvv∈SyCC(P)
Max∑v∈Sxvsubject to∑v∈Cxv≤1,∀C∈Cxv∈{0,1},v∈S
ve onun ikili :(D)
Min∑C∈CyCsubject to∑C:v∈CyC≥1,∀v∈SyC∈{0,1},C∈C
O zaman, zincirleme bir emir setinin minimum kapağını bulma problemi, problemimizin iki katıdır. Dilworth teoremi devletler bu
Bir antichain A vardır ve bölümdeki zincirlerin sayısı A'nın kardinalitesine eşit olacak şekilde düzenin zincir ailesinin P'sine bölünmesi vardır.
bu, bu iki problemin optimal çözümünün eşleştiği anlamına gelir:Opt(P)=Opt(D)
Let ( solunum. ) gevşemesi olarak ( resp. ) , yani , aynı doğrusal program tüm kısıtlar ( solunum. ) ile değiştirilir ( Resp. ). ve optimal çözümleri olmasını sağlayın . beri elimizde:
ve zayıf dualite teoremi, kurar.(P∗) (D∗)(P) (D)xv∈{0,1} yC∈{0,1}xv∈[0,1] yC∈[0,1]Opt(P∗)Opt(D∗){0,1}⊆[0,1]
Opt(P)≤Opt(P∗) and Opt(D∗)≤Opt(D)
Opt(P∗)≤Opt(D∗)sonra her şeyi bir araya getirerek elimizde:
Opt(P)=Opt(P∗)=Opt(D∗)=Opt(D)
Daha sonra, Ellipsoid metodunu kullanarak , polinom süresinde ( ) 'i hesaplayabiliriz . Üstel bir dizi kısıtlama var ama polinom zaman ayırma kâhiri var. Nitekim bir çözüm verildiğinde , tüm çiftleri numaralandırabilir ve veya olup olmadığını kontrol edebilir ve bu nedenle polinom zamanında uygulanabilir olup olmadığını ya da zincirle ilişkili kısıtlamaları ihlal edildi.Opt(P∗)=Opt(P)Xs1,s2∈Xs1≤s2s2≤s1X{v1,v2}