algorithm - 如何解决机器学习挑战?

标签 algorithm math programming-languages machine-learning

例如,有一个容器,体积为“V”。容器需要装满各种类型的盒子,其中每种类型都有唯一的尺寸(体积),例如让我们说

盒子类型 A - 体积为 K B 型盒子 - 体积为 L

现在的问题是需要找出可以装入容器的两种类型盒子的最大数量(两种盒子的组合)

为简化起见,假设“W”和“R”是数量,那么我们得到 (K * W) + (L * R) = V

以及纸箱(盒子)在容器中应该如何堆叠。

例如,容器中的第一行(按行我的意思是当盒子按 x 坐标放置时)盒子应该包含 4 堆(从容器底部开始)“盒子类型 A”和最上面的两个堆叠(靠近容器的顶部天花板)带有“B 型盒子”(堆叠我的意思是当盒子彼此叠放时 [z 坐标明智])。此后在前一个是完整的,直到整个容器都满了。

问题是在容器中布置这些箱子的最佳方式是什么,以利用容器中的所有(或大部分)空间,并装入尽可能多的箱子,这些箱子可以是 1 或更多(一个容器中最多约 5 种类型的盒子)。

该程序应该简单地输入箱子、容器的类型和详细信息,瞧,您将获得完整的详分割析。

问题是我没有接触过机器学习或解决这类问题的领域。如果我能得到关于使用什么算法、从哪里开始学习解决这个问题、解决这个问题的最佳方法是什么、使用任何有用的机器学习库等方面的建议,我将不胜感激。

最佳答案

这个问题是线性优化的一个变体,称为整数线性优化 link at wikipedia .众所周知,这个问题通常是 NP-hard 问题,因此大多数解决方案都是迭代的。进一步讨论参见文章中的引用资料

编辑:我建议查看 LPSOLVE它已经提供了一个 lgpl 求解器库

关于algorithm - 如何解决机器学习挑战?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3457158/

相关文章:

.net - 我有 4 个整数。我如何找到最大/最小的?

c# - 如何将 'hermite' 曲线转换为贝塞尔曲线?

php - 如何根据另一种颜色计算出某种颜色?

groovy - 格鲁维怎么了?

javascript - 在 Jison 中制作数组

algorithm - DAG 中两个节点之间的路径数

algorithm - 查找列表中具有 "little"额外空间的 k 个非重复元素

c# - Tic Tac Toe 的 Minimax 算法

algorithm - 在网格中找到最少覆盖 1 的矩形

iphone - 在没有许可证的 iPhone 模拟器上测试