深度学习结合树搜索求解集装箱预翻箱问题

简介: 深度学习结合树搜索求解集装箱预翻箱问题

论文阅读笔记,个人理解,如有错误请指正,感激不尽!该文分类到Machine learning alongside optimization algorithms。

01 container pre-marshalling problem (CPMP)

对集装箱进行预翻箱整理,使得集装箱的堆放顺序符合取箱顺序,以尽量减少取箱装船过程中的翻箱次数。如下图所示,出箱顺序为1234……6,灰色的集装箱2、4、5挡住了先要出来的集装箱1、3,因此需要不断移动灰色的集装箱到别处去,直到不挡住别的箱子。这样1可以顺利先出,而后是2,接着是3……目标是最小化移动集装箱的次数。

640.png

02 tree search中的DNN

树搜索大家不会陌生,深度优先、广度优先、分支定界等都属于树搜索策略。将Deep learning集成进tree search中,用于求解CPMP。利用深度神经网络(classification DNN)在分支选择上进行预测,给出分支的“好坏”,随后按照分支的“好坏”(好的分支得到最优解的可能性更大)继续搜索。同时,利用深度神经网络(regression DNN)对分支节点的lower bound进行预测,剪掉不必要的分支。

下图解释了搜索过程中的分支选择决策,以c节点为例,通过将c节点表示的问题和解信息输入到DNN中,经过隐藏层,在输出层通过一个softmax函数给出三个child节点e、f、g的概率(搜索该分支最终得到最优解的概率)。

640.png

通过DNN预测该节点的lower bound也是类似的,只不过该网络的输出只有一个数值,即当前节点的得到完整solution的cost(有可能overestimate或者underestimate)。

下图展示了预测分支(classification DNN)的具体网络形态。该神经网络依赖于算例的size,假如训练的算例size为n,那么只能预测size为n以及小于n的算例(通过设置虚拟点)。每一个集装箱位都是一个节点,从而构成了DNN的输入层。在输入层之后通过weight sharing,给每一个tier分配一个权重,。这样就给每一个container分配了权重,比如第3层的container,对应的权重就是。最终输出层输出每一个movement的概率,比如表示的将stack 2上的container移动到stack 3上。

640.png

关于模型训练,样本通过精确算法求解获得,无法精确获得的,则是通过启发式算法获得近似解。

03 搜索策略

将上面的DNN应用到tree search中,搜索策略有好几种,作者实现了三种结合DNN的树搜索策略:Depth first search、Limited discrepancy search和Weighted beam search。前两个的框架如下:

微信图片_20220423182548.pngDNN在这些搜索框架中起到的作用主要有:

  • 预测各个分支得到最优解的概率,令框架优先搜索概率高的支路。
  • 预测节点的lower bound,从而进行必要的剪枝。不过预测lower bound是搜索树深度为k的倍数才会执行一次,因为全部执行需要消耗大量的时间。

04 实验结果

通过和目前最好的启发式算法(BRKGA)进行对比,通过数据集G1训练的模型为DLTS-G1,通过数据集G123训练的模型为DLTS-G123。Gap(%)表示和最优解的对比。从下表可以看出,虽然BRKGA有着更快的求解速度,时间大概是DLTS的一半,但是得到的Gap却是DLTS的3到23倍不等。

640.png

05 参考文献

[1] Hottung A ,  Tanaka S ,  Tierney K . Deep Learning Assisted Heuristic Tree Search for the Container Pre-marshalling Problem[J]. Computers & Operations Research, 2019.

相关文章
|
4月前
|
机器学习/深度学习 算法 文件存储
使用Python实现深度学习模型:神经架构搜索与自动机器学习
【7月更文挑战第5天】 使用Python实现深度学习模型:神经架构搜索与自动机器学习
76 2
|
机器学习/深度学习 人工智能
做时间序列预测有必要用深度学习吗?事实证明,梯度提升回归树媲美甚至超越多个DNN模型
做时间序列预测有必要用深度学习吗?事实证明,梯度提升回归树媲美甚至超越多个DNN模型
248 0
|
机器学习/深度学习 弹性计算 算法
飞天计划——基于深度学习的诗词对联搜索与生成初探
通过飞天计划支持的ECS云服务器,我们搭建了诗词的搜索功能,并进一步实现了藏头诗诗、宋词词牌名的先验生成。
飞天计划——基于深度学习的诗词对联搜索与生成初探
|
机器学习/深度学习 索引 数据挖掘
Searching with Deep Learning 深度学习的搜索应用
对于 Elasticsearch 来说,也有一些插件(https://github.com/muhleder/elasticsearch-vector-scoring)提供了相似度计算功能,但是它们的速度并不怎么样,因为它们只计算了向量相似度而没有做过滤。
1495 0
|
机器学习/深度学习 TensorFlow 算法框架/工具
深度学习超参数搜索实用指南
在本文中,我们将讨论为深度学习模型搜索最佳超参数集合的动机和策略,并演示如何在FloydHub上来完成任务。学习本文之后,这将会在深度学习工作中为你自动化寻找最佳配置的过程。
2290 0
|
机器学习/深度学习 PyTorch TensorFlow
|
机器学习/深度学习 存储 搜索推荐
深度学习如何应用在广告、推荐及搜索业务?阿里妈妈实践案例解读
靖世:非常高兴与大家进行“深度学习演进之路”的交流,阿里妈妈是阿里巴巴集团下的大数据营销平台,是负责阿里巴巴变现的一个事业部。我研究的方向是机器学习、计算机视觉、推荐系统和计算广告。我在清华大学读的本科和博士,专业是计算机视觉,毕业之后加入阿里巴巴广告技术部,后来组成阿里妈妈事业部,这个事业部负责阿里所有的广告变现产品。
5356 0
|
机器学习/深度学习 新零售 算法
春风十里,不如淘宝遇见你——浸润深度学习的淘宝智能搜索
阿里高级算法专家刘士琛在2017云栖大会·北京峰会中做了题为《海量数据场景下的淘宝搜索智能——算法及实践》的分享,就淘宝搜索的特点,大数据、机器学习技术在淘宝搜索应用的历程,最新的技术以及取得的成果等方面的内容做了深入的分析。
3918 0
|
机器学习/深度学习 算法 数据库