ありビンとボールの種類が。番目のビンラベル有するのためのは、型のボールの予想数である。N
タイプボールから始めます。タイプ各ボールの重量はであり、ビン重量がようにボールをビンに入れます。前の条件が保持されるようなボールの分布は、実行可能なソリューションと呼ばれます。b j
ビンタイプボールを使用した実行可能なソリューションを考えてみると、コストは。最小コストの実行可能なソリューションを見つけたい。x i 、j
{ w j }
我々は条件を追加する場合は、こと分裂のすべてのためのそれは結果の問題かどうかはっきりしないので、そのサブセットの合計の減少はもはや作品は、NP困難のまま。実行可能な解決策の存在を確認するには時間(質問の最後に添付しかかかりませんが、これは最小コストの実行可能な解決策を提供しません。w j
この問題には、同等の整数プログラム定式化があります。1 \ leq i \ leq n、1 \ leq j \ leq mのa i 、j、 c i、 b j、 w j
私の質問は、
w j
wj がすべてのjについてw j + 1wj+1 を 分割するとき、上記の整数プログラムはNP困難ですか?jj
O (nm )
定義w m + 1 = w m(max j c j + 1 )
- w_1で割り切れないc i
ci が存在する場合、「実行可能な解決策なし」を返します。(不変c_i分割w_jは、常に次のループで維持されます)w 1w1 c ici w jwj 以下のためのj
j から11 までmm :- k ← ∑ n i = 1(c i / w j)%d j
k←∑ni=1(ci/wj)%dj 。(最小重量w jwj のボールが必要) - b j < k
bj<k 場合、「実行可能なソリューションなし」を返します。 - c i ← c i − ((c i / w j)%d j)
ci←ci−((ci/wj)%dj) すべての。(重量必要なボールの最小数を削除します)私i ワットJwj - bj+1←⌊(bj−k)/dj⌋
bj+1←⌊(bj−k)/dj⌋ 。(小さなボールを大きなボールにグループ化)
- k ← ∑ n i = 1(c i / w j)%d j
- 「実行可能な解決策があります」を返します。
およびがのべき乗である特別な場合の多項式時間解n=1
場合ことが知られている及び全ての累乗である、この特別な場合は、多項式時間で解くことができます。
n=1