Depoları minimum hareketle doldurmak NP-zor mu?


33

Vardır kutuları ve topları türü. inci bin Etiketlerin sahip için , o tipi topları beklenen numarası .nmiai,j1jmj

J tipi bj topları ile başlar . Tipi Her top j ağırlığı vardır w_j ve bidonları içine öyle ki bin topları koymak istiyorum ben kilo vardır c_i . Önceki durumun tutabileceği şekilde topların dağılımı uygulanabilir bir çözüm olarak adlandırılır.jjwjici

xi,j bin i içindeki j tipi toplarla yapılabilir bir çözüm düşünün , sonra maliyet \ sum_ {i = 1} ^ n \ sum_ {j = 1} ^ m | a_ {i, j} -x_ {i, j} | . Uygun maliyetli bir asgari çözüm bulmak istiyoruz.ii=1nj=1m|ai,jxi,j|

{wj} ilgili herhangi bir kısıtlama yoksa, bu sorun açıkça NP- zorudur . Alt küme toplamı sorunu, uygulanabilir bir çözümün varlığına indirgenir.

Bununla birlikte, wj her j için wj+1 böldüğü koşulunu eklersek , alt küme toplamı azaltma artık çalışmaz, bu nedenle ortaya çıkan sorunun NP zor olup olmadığı açık değildir. Uygulanabilir bir çözümün varlığının kontrol edilmesi sadece O (n \, m) zaman alır (sorunun sonuna eklenir), ancak bu bize asgari maliyetli uygulanabilir çözümü sağlamaz.jO(nm)

Problem eşdeğer bir tamsayı program formülasyonuna sahiptir. Verilen 1 \ leq i \ leq n için , 1 \ leq j \ leq m : \ begin {align *} \ text {Küçült:} & \ sum_ {i = 1} ^ n \ sum_ {j = 1} ^ m | a_ {i, j} -x_ {i, j} | \\ \ text {konu:} & \ sum_ {j = 1} ^ m x_ {i, j} w_j = c_i \ text {hepsi için} 1 \ leq i \ leq n \\ & \ sum_ {i = 1 } ^ n x_ {i, j} \ leq b_j \ text {hepsi için} 1 \ leq j \ leq m \\ & x_ {i, j} \ geq 0 \ text {hepsi için} 1 \ leq i \ leq n , 1 \ leq j \ leq m \\ \ end {align *}ai,j,ci,bj,wj1in,1jm

Minimize:i=1nj=1m|ai,jxi,j|subject to:j=1mxi,jwj=ci for all 1ini=1nxi,jbj for all 1jmxi,j0 for all 1in,1jm

Benim sorum

wj , tüm j için wj+1böldüğünde yukarıdaki tamsayı programı NP-zor mu?j

O(nm) zamanında uygun bir çözüm olup olmadığına karar veren bir algoritma :

Tanımlama ve . Let zaman remainer olduğu bölünür .wm+1=wm(maxjcj+1)dj=wj+1/wja%bab

  1. bölünemeyen bir varsa , "uygun çözüm yok" . (Değişmez bölme her zaman şu döngüde muhafaza edilecektir)ciw1ciwj
  2. için den için :j1m

    1. ki=1n(ci/wj)%dj . (asgari ağırlık topları gerekli)wj
    2. Eğer , "uygun çözüm yok" .bj<k
    3. cici((ci/wj)%dj) herkes için . (gerekli minimum ağırlık )iwj
    4. bj+1(bjk)/dj . (daha küçük bilyeleri daha büyük bilye halinde toplayın)
  3. "uygun bir çözüm var" iadesi.

ve değerinin sn olduğu özel durum için bir polinom zaman çözümün=1wj2

O takdirde bilinmektedir ve tüm yetkilerini olan , daha sonra bu özel durum polinom zamanda çözülebilir. n=1wj2

Minimize:j=1m|ajxj|subject to:j=1mwjxj=c0xjbj for all 1jm

Solüsyon tarafından ima edildi Yuzhou Gu ve yazma yukarı bulunabilir burada .

Yanıtlar:


0

Bazı arka plan. Yukarıdaki sorun kısıtlamalarla sırt çantası sorunudur. Kısıtlamalı veya kısıtsız en etkili sırt çantası problem çözümü psödopolinom zamanında hala NP-Hard olarak çözülebilir. Bazı varyasyonlar için bkz. Https://en.wikipedia.org/wiki/Knapsack_problem#Definition . Bu varyasyondaki ilk kısıtlama, sırt çantasına (kutulara) yerleştirilecek öğelerin (bilyelerin) değeri önemli değil. Bu durumda sorun, eşyaları sırt çantasına koymak için geçen süre ile sınırlıdır. Asıl sorun, en değerli öğelerin mümkün olan en kısa sürede yerleştirilmesini gerektirir. Bu sürümle ilgili başka bir kısıtlama, ağırlıkların ve diğer tüm argümanların tamsayı olmasıdır. Ve ilgi konusu kısıtlama ağırlıkları olmasıdırwjTüm j için i bölün . Not: Kesirli sırt çantası problemi polinom sürede çözülebilir, ancak asıl soruna en pratik çözümleri sunmaz. Bu problem eşit olarak bölünen tamsayıları kullanır (rasyonel çözümler yoktur). Belki de bkz . Sırt çantası probleminin nesi var? .wj+1j

Zaman belki "olmalıdır ana soru bu sorunu hala NP Sert olduğu karşılık gelen bir polinom tarafından sınırsız olduğu i o sınırlanmış olduğunda sorunu (P) daha az karmaşık olduğu gibi, bunu söylemek nedeni problemi nedeni? w j sınırlandığında P'de ve w j'nin mutlaka w j + 1'i bölmemesi durumunda NP-Sert olarak gösterilebilir.wjiwjwjwj+1eşit şekilde (ağırlıklar basitçe rastgeledir), tüm kısıtlamalar bu sorunun karmaşıklığını bu iki koşulla sınırlandırır. Bu koşullar (1. madde-değer kısıtlaması olmayan rastgele ağırlık sırt çantası problemi ve 2.-madde-değer kısıtlaması olmayan bölünebilir ağırlık sırt çantası problemi) ağırlıkların özniteliklerinin kendileri rastgele olabileceğinden, karmaşıklığı azaltma açısından birbirlerini ihmal ederler ( özellikle sınırsız olduğunda), dolayısıyla üstel zaman hesaplamaları uygular (bu, aşağıdaki örnekte gösterilecektir). Ek olarak, bölme w j + 1 , w j her katlanarak büyüklüğü artar jwjwj+1wjj. Bu durum, bunun yerine, rastgele ağırlıklı ürün kullanılarak ait (ki birim ağırlığı her 100 ya da 50 ya da 10 uyarınca birim ağırlıkları ile sınırlandırılabilir toplar), restriksiyon yerine basamak sayısına bağlıdır zamanı karmaşıklığı neden , aynı üstel olan deneme bölümü olarak.wj

Yani evet, yukarıda tamsayı programı bile NP-zor kalır böler w j + 1 herkes için j . wjwj+1j Ve bu kolayca gözlenir.

Örnek 1: izin ve a , p , iki yetkileri. Sabit iki nedeniyle, tüm sorun, örneğinizin gösterdiği gibi, ikinci dereceden bir sürede çözüldü. Ağırlıklar rastgele değildir ve bu nedenle hesaplama etkin bir şekilde çözülür.n=1wp

Örnek 2: izin olarak tanımlanabilir w j * p , p karşılık gelen asal sayıdır j , öyle ki p = 2 , J = 1 : p = 3 , J = 2 , p = 5 , J = 3 , s = 7 , j = 4 , . . . , P , Jwj+1wjppjp=2,j=1:p=3,j=2,p=5,j=3,p=7,j=4,...,P,J. Bu şekilde, uygulanabilir böler w j + 1 için tüm j . Her olsun w j kadar tüm asal ürünüdür j . Birim ağırlıkları değerleri gibi artırır: 1 , 2 , 6 , 30 , 210 , 2310 , 30030 , . . . . Bir sınır olduğu için ( p j ~ j l o g ( j )wjwj+1jwjj1,2,6,30,210,2310,30030,...pjjlog(j)(asal sayı teoremi aracılığıyla), bölümlerin tümü asal olduğundan, karmaşıklığı NP-Intermediate olarak alırız.

wj+1wjRpRpjwjwj+1j101,2657,7,3169,210100

wjben. Zaman karmaşıklığı üstel, NP-Hard. Bazı bakış açıları için tüm ağırlıkları toplayın, bakıp sığmadıklarına bakın. Ancak ağırlıkları, çalışıp çalışmadığını görmek için her bir alt kümeyi denemekten daha bölünebilir hale getirerek daha hızlı çözmenin bir çözümü yoktur. Birkaç düzine toptan sonra, hala trilyonlarca alt küme veya trilyonlarca basamak alanına giriyorsunuz.


1
But prime factorization is considered not to be NP-hard. It is considered to be NP-indermediate.
rus9384

2
I don't see a reduction here. What is the actual reduction? Taking input of prime factorization, and somehow output the factorization using solution of the integer program.
Chao Xu

2
Would do you mean by "the above integer program is NP-hard"? An individual program cannot be NP-hard.
Yuval Filmus

1
In fact prime factorization is in NPcoNP. So, it is NP-hard if NP=coNP.
rus9384

2
Unfortunately, the additional edits did not clear it up. An actual reduction would be helpful.
Chao Xu
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.