C# 3D箱子装载技术,用于物流运输。

8

我正在尝试为我的电子商务网站实现产品运输优化。

我没有使用电子商务插件,只用了asp.net mvc 5。

我向FeDex API询问购物车中所有商品的运费。因此,如果用户在购物车中有3个物品,它将像3个包裹一样计算。我需要一种方法来计算包裹的尺寸,并在超过某个尺寸时将其分成更多的包裹。

我在c ++和php中找到了示例(这里这里),但我不懂这些语言...

如果您可以帮助我找到C#示例或帮助我将此php转换为C#,以便我可以了解它们的工作原理...

谢谢!

编辑:

我已经找到了我需要的东西,但是它是用C编写的...我需要为它制作一个dll,然后在我的应用程序中使用它。https://github.com/wknechtel/3d-bin-pack


2
“如何在C#中解决3D装箱问题”太过宽泛,“有哪些.NET库可以帮我完成这个任务”则不属于本题。恐怕您需要再搜索一下网络资源。 - CodeCaster
2个回答

7

我最近完成了一个C#版本的同样的三维装箱算法:

https://github.com/davidmchapman/3DContainerPacking

我基于这两个GitHub项目编写了代码:

3d-bin-pack by wknechtel (C)
3dbinpackingjs by Kerem Demirer (JavaScript)

我还根据需要参考了Erhan Baltacıoğlu的硕士论文PDF。该项目包括一组700个参考测试,验证算法输出与论文附录E中显示的结果相匹配。


1
我正在尝试完成与海报相同的任务,并已将您的库实现到我的项目中。它运行良好,但似乎没有办法调整超过单个容器的多个项目?相反,它将其放入未打包列表中...而且它不区分最佳容器。 - Anthony Griggs

3

我将wknechtel/3d-bin-pack的C代码转换为了JavaScript。很容易移植到C#中。

https://github.com/keremdemirer/3dbinpackingjs

你可以从index.html文件中运行示例计算并查看生成的报告。pack1.js文件包含应用程序和算法。我不确定算法是如何工作的,但对于包装计算结果是令人满意的。

实现是否与给定PDF中解释的算法相同? - DarkMakukudo
我不确定。这是wknechtel/3d-bin-pack的现成JavaScript端口。 - Kerem Demirer
1
顺便说一下,我尝试运行js和c版本,它们的输出不同。祝好! - DarkMakukudo
我找到了代码基于的研究论文。Github上的PDF文件是2000年的研究论文,而代码实现是2001年新研究的结果。请查看链接http://passthrough.fw-notify.net/download/029291/http://www.dtic.mil/dtic/tr/fulltext/u2/a391201.pdf。 - DarkMakukudo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接