0
我具有以下數據:揹包分支定界
item weight value value/weight
1 5 40 8
2 2 10 5
3 6 30 5
4 1 12 12
5 2 18 9
容量是10 如何使用計算上限節點0繼續? 我計算上限爲節點0如下:
ub = v + [W-w] * [v/w]
ub = 0 + [10] * [8] = 80
或者我需要在降低其價值/重量的順序爲12,9,8,5,5對項目進行排序?然後計算上限? 或者我正確地做,沒有排序,計算上限並繼續下一個項目?
在沒有排序的方法中,我不會獲得節點0的最大上限,我認爲是這樣。
ub = 0 + [10] * [12] = 120 // if sorted
感謝您的幫助。
我假設這是你想解決的0-1揹包?你如何計算你的上限? (有很多限制性啓發式 - 有些會導致性能改進,如果物品被分類,其他則不會) –
是的,這是一個0-1揹包。我選擇一個項目或者我不選擇。我正在計算的上限取決於我將要接下來挑選什麼物品,以及如果將剩餘的容量與袋子中的容量相乘,我將獲得多少價值。我計算出,在初始檢查時,排序的項目列表會給我一個很大的上限,然後我可以根據這些上限繼續處理其他項目。謝謝btw。 –