码迷,mamicode.com
首页 > 其他好文 > 详细

背包问题

时间:2017-08-20 14:05:37      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:研究   for   smi   一个   商业   layout   背包   adc   cbe   

背包问题(Knapsack problem)是一种组合优化的NP完全问题。问题可以描述为:给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最高。问题的名称来源于如何选择最合适的物品放置于给定背包中。相似问题经常出现在商业、组合数学,计算复杂性理论、密码学和应用数学等领域中。也可以将背包问题描述为决定性问题,即在总重量不超过W的前提下,总价值是否能达到V?它是在1978年由Merkel和Hellman提出的。
背包问题已经研究了一个多世纪,早期的作品可追溯到1897年[1]数学家托比亚斯·丹齐格(Tobias Dantzig,1884-1956)的早期作品[2] ,并指的是包装你最有价值或有用的物品而不会超载你的行李的常见问题。

 

定义:

我们有n种物品,物品j的重量为wj,价格为pj。
我们假定所有物品的重量和价格都是非负的。背包所能承受的最大重量为W。
如果限定每种物品只能选择0个或1个,则问题称为0-1背包问题[9] 。
可以用公式表示为:

最大化
 技术分享
受限于 
技术分享
如果限定物品j最多只能选择bj个,则问题称为有界背包问题。
可以用公式表示为:
最大化
 技术分享
受限于
 技术分享
如果不限定每种物品的数量,则问题称为无界背包问题。
各类复杂的背包问题总可以变换为简单的0-1背包问题进行求解

背包问题

标签:研究   for   smi   一个   商业   layout   背包   adc   cbe   

原文地址:http://www.cnblogs.com/0x000/p/7399764.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!