Machine learning 使用什么机器学习方法来优化行李装载?

Machine learning 使用什么机器学习方法来优化行李装载?,machine-learning,Machine Learning,我有一个优化问题,我正在考虑使用机器学习方法来解决它 目标是找到飞机上的最佳行李装载量。行李有大小、重量和其他一些限制放置位置的属性。 有一些严格的规定(例如,某些种类的行李需要放在行李部门前面,一些不能放在另一个附近,重的应该放在底部等),最后必须满足一些条件-重量应该均匀分布,所有行李都需要放在里面 还有一些未记录的(“常识”)规则,由负责装载行李的人执行。 可以根据现有的例子得出这些结论 我在考虑根据这些例子训练神经网络。 我查看了,但找不到可以为我的域修改的示例。 另外,我不确定这是否是

我有一个优化问题,我正在考虑使用机器学习方法来解决它

目标是找到飞机上的最佳行李装载量。行李有大小、重量和其他一些限制放置位置的属性。 有一些严格的规定(例如,某些种类的行李需要放在行李部门前面,一些不能放在另一个附近,重的应该放在底部等),最后必须满足一些条件-重量应该均匀分布,所有行李都需要放在里面

还有一些未记录的(“常识”)规则,由负责装载行李的人执行。 可以根据现有的例子得出这些结论

我在考虑根据这些例子训练神经网络。 我查看了,但找不到可以为我的域修改的示例。 另外,我不确定这是否是解决这类问题的正确方法

这里有一个简化的例子。 假设一件行李由3个属性描述:

  • 重量
  • 刚度
  • 类型
样本数据:

B1 (20kg, soft, normal)
B2 (20kg, hard, normal)
B3 (40kg, hard, normal)
B4 (50kg, hard, normal)
B5 (20kg, soft, special)
行李部有6个插槽(S1-S6,S1-前部,S6-后部)。 示例规则:

  • 最重的负载应尽可能靠近部门中间
  • 特别的应该在后面
  • 常识规则(未记录)-软行李不应放在硬行李之间
正确的输出之一是:

S1->B1 (normal but soft, so it's not between B2 and B4) 
S2->B2 (normal) 
S3->B4 (heavy - in the middle), 
S4->B3 (heavy - in the middle), 
S5->B5 (special - at the back)
以NN所需的规范化形式表示输出是很棘手的。 我想知道NN是否是解决这个问题的好方法。 也许应该使用其他方法(例如强化学习)


什么机器学习方法可以用来找到最佳行李装载量?

我不确定这个问题是否适合机器学习。您应该发布一些示例数据和所需的输出。这似乎是一个搜索问题。神经网络用于一些搜索问题,例如在alpha go3维装箱算法中,而不是机器学习中,您可以尝试类似“模拟退火”的方法,这种方法也相对容易编码。您所需要的只是一个计算排列质量(规则权重)的函数和执行洗牌的代码。@Ian Mercer此类解决方案的性能可能不够。这架飞机搭载了数百名乘客(大多数乘客至少携带一个行李),因此组合的数量是巨大的。@nico模拟退火并没有检查所有的组合。大多数情况下,它会朝着局部最小值移动,有时(频率降低)会使值增加。这些“跳跃”增加了以全球最小值结束的机会。与其他算法不同,您可以决定要运行多长时间,以增加达到全局最小值的机会。对于这种算法来说,100个行李是一个小数目。