2017年阿里巴巴就有一篇用深度强化学习求解3维装箱问题的论文。深度学习和强化学习的兴起让我们会思考一个大一点的命题:单纯的采用基于Search的传统数学优化方法可能有着局限性,基于深度学习和强化学习的Learning to Search方法是否能帮助我们更好的寻找最优解呢?
一. 深度学习和强化学习求解组合优化问题思路简介
回顾神经网络发展历史,早在1982年就有采用Hopfield神经网络来求解TSP问题(旅行商问题)。Hopfield神经网络是一种递归神经网络,从输出到输入均有反馈连接,每一个神经元跟所有其他神经元相互连接,又称为全互联网络。对Hopfield神经网络的研究更是引领了八十年代人工智能研究的复兴。
最近2-3年来在人工智能顶级会议NIPS, ICML 上都已经有不少相关的论文了,感兴趣可以多去关注,我们这里先从宏观上说一下深度学习和强化学习如何帮助求解组合优化问题。
1. 组合优化的序列决策可以由深度学习或强化学习来替代
组合优化问题大多数情况下都是涉及到决策顺序,即序列的决策问题,例如对于TSP问题就是决定以什么顺序访问每一个城市,例如对于Job shop问题(加工车间调度问题)就是决定以什么顺序在机器上加工工件。而深度神经网络里边的递归神经网络恰好可以完成从一个序列到另一个序列的映射问题,因此可以借用递归神经网络来直接求解组合优化问题完全是一种可行的方案。另外一套方案就是采用强化学习,强化学习天生就是做序列决策用的,那么组合优化问题里边的序列决策问题完全也可以用强化学习来直接求解,其难点是怎么定义state, reward。
2. 求解组合优化的经典算法可以由强化学习帮助指导算法策略
分支定界算法是一种最常见的求解整数规划问题的方法。关于分支定界算法可以参考这篇:【学界】混合整数规划/离散优化的精确算法--分支定界法