装箱算法 求大佬给个思路

XXXXn帅气 2019-04-11 05:20:34
需求如下:
给定长,宽,高矩形箱子。给定需要装箱产品 以及产品的长,宽,高。
暂不考虑产品可承受重量以及产品是否只能正放,
求:尽可能多的将产品摆放到箱子中,并得出摆放顺序以及坐标

现有思路如下,还请各位大佬指点。

将产品按照体积大小倒序排列,循环放入,每个产品有六种摆放方式,第一次摆放后余下体积为三个小箱子,然后根据六种摆放方式在第一次摆放箱子上的小箱子循环以上算法,直到找不到箱子可以放,取放产品堆放体积最大的一种方式,期间记录余下箱子。开始二次循环,这次在余下箱子中找体积最接近的,循环以上方法。

个人思路还望大佬指点
大佬有更好的思路 也不妨说出来 分享一下
...全文
374 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
XXXXn帅气 2019-04-16
  • 打赏
  • 举报
回复
引用 7 楼 qq_30270773 的回复:
[quote=引用 6 楼 weixin_41985389的回复:]第一次发帖 刚开始没搞懂怎么结贴 好像没有给你们分 对不起各位大佬

你试试方案4吧,目前最接近你的现有思路,实现简单,计算速度快[/quote]
好的 谢谢指点 我会试一下
  • 打赏
  • 举报
回复
引用 6 楼 weixin_41985389的回复:
第一次发帖 刚开始没搞懂怎么结贴 好像没有给你们分 对不起各位大佬
你试试方案4吧,目前最接近你的现有思路,实现简单,计算速度快
XXXXn帅气 2019-04-15
  • 打赏
  • 举报
回复
第一次发帖 刚开始没搞懂怎么结贴 好像没有给你们分 对不起各位大佬
  • 打赏
  • 举报
回复
这个是三维装箱问题,按照你给定的算法,当箱子有几十个的时候,已经没法在有限时间内给出结果了。这个算法行业内有四种方案。一:使用穴度法,认为箱子和剩余空间中有一定的关系,计算穴度,边度等参数,决定下一个箱子的摆放位置,缺点为穴度和边度计算方法复杂。二:每放一个新箱子以后,都会把原空间重新划分成若干新空间,选定一小块新空间再放下一个新的,这个算法的缺点是,不断划分空间后,需要把划分的空间重新组合,组合种类多,有部分空间会丢失。三:将规格尺寸相同的箱子打包成一个新的箱子,可以减少计算量。缺点是打包成大的新箱子方案种类多,打包成什么样子效果好,需要枚举的种类也不少。四:将若干箱子摆成一个竖条,所有箱子就可以摆成多个竖条,竖条投影到底面以后就只剩下矩形了,简化成二维装箱问题,缺点是打成竖条以后,会有空间浪费。我用过第四种方法,标准算例装载率大约80%,时间消耗大约3分钟。
XXXXn帅气 2019-04-12
  • 打赏
  • 举报
回复
感谢各位大佬的回复,我会在研究下
threenewbee 2019-04-11
  • 打赏
  • 举报
回复
https://blog.csdn.net/lcw_2015/article/details/53056042
  • 打赏
  • 举报
回复
你可以参考 A* 算法快速找到一种规划。
XXXXn帅气 2019-04-11
  • 打赏
  • 举报
回复
第二次循环在余下箱子中找体积大于这个产品且体积最小的,发帖没描述清楚

13,190

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 分析与设计
社区管理员
  • 分析与设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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