一个特殊的背包问题,问了很多大神都无解

houyafan 2017-08-11 11:20:30
假设:
1.背包承受的重量是100
2.有一些箱子,已经用胶带封装好,里面存在一些商品。这些箱子中的所有商品重量已知,例如:【40,15,8】、【10,50,10】...
3.背包只有重量限制吗,没有空间限制
4.箱子的重量肯定不会超过100
要求:
1.将这些箱子装入很多背包中,要求背包的数量最少
2.必要时可以将箱子拆开,但是要求拆的箱子最少
...全文
605 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
houyafan 2017-09-05
  • 打赏
  • 举报
回复
引用 7 楼 q54244125 的回复:
怎么啦?有什么问题么?
houyafan 2017-08-18
  • 打赏
  • 举报
回复
第四步:如果m>M则目前的方法是最优的,如果m>执行下一步 第五步:按照 平均商品重量排名 将排名第一的箱子拆开,里面的商品和其余箱子,重新按照贪心算法求解。求得新的m 然后重复第四步。
houyafan 2017-08-18
  • 打赏
  • 举报
回复
我现在已经做出了一个基于贪心的算法: 第一步:将所有箱子拆开,利用贪心算法,求得最少使用多少背包可以将这些东西装走,求得最少的背包数为M。 第二步:求每个箱子的平均商品重量,然后由小到大做一个rank,平均最小的排名第一 第三步:将所有箱子重新封装好,利用贪心算法,求最少使用多少背包装走,求得最少的背包数是m。
houyafan 2017-08-16
  • 打赏
  • 举报
回复
引用 3 楼 zys59 的回复:
如果作为一个背包问题,这道题的限制条件一定是不够的,因为背包问题是单一条件的极值求解。因为,只要从要求开始分析就会发现,如果想满足要求,那么,条件二中的“有一些箱子”,应该为一个定值。所以,这个确实是一个动态规划问题,而且,是个线性规划问题。
你说的对,这不是一个传统意义上的背包问题。传统背包问题中,背包数量一定是固定的。那么下面的问题就是,如何利用动态规划算法。如何找到迭代策略。
三仙半 2017-08-15
  • 打赏
  • 举报
回复
如果作为一个背包问题,这道题的限制条件一定是不够的,因为背包问题是单一条件的极值求解。因为,只要从要求开始分析就会发现,如果想满足要求,那么,条件二中的“有一些箱子”,应该为一个定值。所以,这个确实是一个动态规划问题,而且,是个线性规划问题。
houyafan 2017-08-11
  • 打赏
  • 举报
回复
顶一下,大家集思广益 啊
houyafan 2017-08-11
  • 打赏
  • 举报
回复
有大神有思路么? 这个用动态规划可以吗?

33,006

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧