資源簡介
01背包問題屬于組合優化問題的一個例子,求解01背包問題的過程可以被視作在很多可行解當中求解一個最優解。01背包問題的一般描述如下:
給定n個物品和一個背包,物品i的重量為Wi,其價值為Vi,背包的容量為C。選擇合適的物品裝入背包,使得背包中裝入的物品的總價值最大。注意的一點是,背包內的物品的重量之和不能大于背包的容量C。在選擇裝入背包的物品時,對每種物品i只有兩種選擇:裝入背包或者不裝入背包,即只能將物品i裝入背包一次。稱此類問題為0/1背包問題。
01背包問題是NP問題,傳統的解決方法有動態規劃法、分支界限法、回溯法等等。傳統的方法不能有效地解決01背包問題。遺傳算法(Genetic Algorithms)則是一種適合于在大量的可行解中搜索最優(或次優)解的有效算法。
代碼片段和文件信息
- 上一篇:最小權頂點覆蓋問題
- 下一篇:ecc使用源代碼——真正好用的vs2010編譯過的
評論
共有 條評論