如何在Python中创建优化的3D体积包装函数?
我接到一个任务,要为一个网上商店系统创建一个运输模块。可能这个任务有点复杂,但我真的想做一个能够找到最优打包方式的模块。因为我都是通过实践学习编程的,所以在这个领域我还没有什么经验——但我会努力的!总之,我可以简单描述一下实际的问题。
当用户在网上商店购买东西时,他们的购物车里可能会有不同尺寸和重量的产品。所以我想把这些产品的列表传给一个函数,让它来决定这些产品应该如何打包成包裹。
- 包裹的最大长度:100
- 包裹的最大宽度:50
- 包裹的最大高度:50
- 包裹的最大重量:20
每个产品也都有重量、长度、宽度和高度。
因为包裹和产品基本上都是盒子,所以我猜这会比较复杂,因为有很多种方式可以把产品放进包裹里。我的目标不是做出完美的打包功能,但我希望能比单纯地把产品放进包裹直到达到限制要好一些。
现在,我并不指望你们为我完成这个任务,但我想问三个问题。
- 哪里可以找到好的在线资源来教我所需的基础知识?
- 有没有一些适合使用的原生Python工具?
- 我需要注意哪些事项,有哪些陷阱等?
正如我所说,我并不打算让这个功能完美和100%优化,但我希望能做到接近这个目标。我不想让用户觉得运费比实际要高很多。
4 个回答
6
这就是你常见的 背包问题。你可以在 Rosetta Code 找到很多不同编程语言的解决方案。