Rounding Data Dp

Advanced Algorithm - Bin Packing Problem

從前兩講關於分配 (在一堆物品中,決定哪些是要拿的一群,哪些不拿) 的最佳化問題中,我們延伸出新的問題,Bin Packing Problem。不同於在 Knapsack Problem 中,我們只有一個箱子(可以想成你聘了一個工人搬一個箱子);在Bin Packing 問題中,要取走所有寶物(所有寶物的重量都小於 1 單位),而你需要聘請一些工人來搬,但今天每個工人都只帶了一個負重為 1 單位的箱子,該如何分配這些寶物(雖說是寶物,但其實我們不care價值惹),使得需帶的箱子(聘請的工人)為最少?

簡單的 formulation 如下:

Advanced Algorithm - Knapsack Problem

背包問題為一個典型的最佳化問題,想像你來到了一個寶庫,裡頭有一些寶物,都有各自的價值和重量,但你只帶了一個背包(而且負重還有限制),要怎麼取寶物才能在背得走的前提下,帶走價值總和儘可能高的寶物們呢?

這裡我們考慮最基本的 0/1 - Knapsack Problem 。簡單的 formulation 如下: