20.6基于RFID的最小开箱问题

标签:
回忆录教育情感杂谈 |
2012年,周金宏给我打来电话,说是有个电讯企业有一个很有意思的开箱优化问题需要解决,问我有没有兴趣。对于这类问题我总是非常积极,于是我欣然表示愿意试试。周金宏是我较早毕业的博士生,据他说他是老十一,即我的第十一个博士弟子。这时他已在上海某软件公司当供应链管理的首席专家,某企业则是他们的主要客户。这事就这么说定了。过了几天,周金宏组织了一个远程电话会议,参加人有我,周金宏,企业的邓工,好像还有一个企业的技术人员。邓工详细的向我讲述了他们遇到的问题,希望我能提供解决方案。对于我来说,这时候研究经费多的很,根本不在乎有多少经费支持,虽然我知道这个企业很有钱。我当时想的就是有来源于实际的问题,从而让我们的理论研究能落到实处,不要总被别人诟病。
企业的问题是这样的,他们接到很多国际的移动通信网络的订单,于是便按预估的基站需求,把需要的设备和备件混合装箱运到需求国家。但是往往订单有较大变动,这时需要开部分货箱取出设备和备件,按准确的客户需求进行再装箱。企业的问题是,如果多个基站的需求已知,每个箱子的设备和备件数已知,怎样能开最少的数量的箱子来准确的满足客户的需求。这个问题我们将其称为“最小开箱问题”(Minimum Unpacking Problem)。
这个问题其实不难解,我弄清问题后不到一个星期就建立了一个0-1线性规划的求解模型。然后我用CPLEX软件求解,很快就获得了自编的算例的计算结果。但是由于解不了大型的复杂的问题,对于我的64位机上的CPLEX,3种备件100个箱子20个订单的小例子,CPLEX就会发生内存不够(Out of Memory)的问题,从而导致计算失败。经典方法不好使,却正是我们使用看家本领的好地方,于是我又祭出了我最拿手的遗传算法。我设计了一个二维编码(Two-Dimensional Encoding Scheme)的染色体编码方法,并开发了一个基于这个编码的遗传算法,有了这个算法规模大的多的问题也能计算,通过随机产生的例子仿真计算证明了算法的有效性。但是对于企业的实际例子我这遗传算法还是无能为力,因为实际例子中设备和备件的种类,货箱数量和订单数都远远超过我的算法的能力。于是我又开发了一个启发式算法,能够很好的解决企业的实际问题,当然不能保证解的最优性。
按说做到这一步就算完了,可以写文章了。这时我查了很多有关装箱优化的文献,发现现有的装箱方法有两种,要么是单品种装箱法,要么是多品种定比混合装箱法。我提出用RFID技术记录箱中各个品种的数量,就可以多品种随机混合装箱,我将其称为“变比混合装箱(Mixed Packing with Variable Ratio)”法。一旦每个箱子上都附上RFID标签,就可以知道每个箱子中混装的各个品种的数量,然后用我的算法就可以方便的进行个订单的货箱分配,并开最少的箱子以精确的满足各个订单的需求。通过大量的随机产生的不同规模的算例的仿真,证明变比混合装箱法要比单品装箱法和定比装箱法大大减少在订单重分配中的开箱数量。得到这个结果后我很兴奋,感觉这是一个的颠覆性的重大成果,它将利用RFID的技术优势和我的算法一起改变当前产品装箱的传统模式。
我觉得要玩就玩把大的,就以改变装箱法的“颠覆性成果”为主题写了一篇论文,先是中文的,投到《系统工程理论与实践》,结果被拒了。审稿人说,制造业中不存在混合装箱的情况, 我的研究不切合实际。我真想叫那个企业的人来抽他的耳光,明明是来源于实际问题居然被说不切合实际。英文稿先投到我们信息学院办的CCDC会议上,自然是被接受了。但是这个会议只在自动控制界有影响,在管理科学领域并不知名,所以我的这项工作完全没有引起什么反应。这时已经到了2013年末,我非常的忙,几乎没有时间来做这种“闲散”项目。因为我此时网上拍卖的重点项目要结题,RFID的面上项目又开始了,加上社会活动又多,真的是没有时间做自己喜欢的研究。所以这事就放下了。
记得是2014年,老管回国来约我到北京王书宁那里大家聚一聚。我欣然前往,记得那天我们聊得非常愉快。期间我自然说起了我做的最小开箱问题的研究,老管觉得非常有意思,让我把问题用书面方式详细描述给他,他回去好好研究研究。王书宁则说,如果必须用0-1线性规划求解就不算问题解决了。而他坚持所有0-1整数规划都可以通过转化为实数的线性规划来解决。他给了我两本他翻译的凸优化的书,大砖头似的死沉死沉。我把他的书背回了家就阅读他介绍的相关章节,于是想通过设中间变量把0-1规划变成线性规划,忙活了好几天始终不得其法。我把我文字和数学符号准确描述的问题发给他们俩,结果如石沉大海,估计他俩谁也没做出什么,或者干脆就没做。
这事到后来,我就想别玩大的了,装箱法这个领域不是我的领域,我不熟,还是做我的“最小开箱问题”吧。我又做了点理论研究,可以找出最小开箱数的下确界,那么遗传算法只要达到下确界就算找到最优解,这样理论上就完美了。但是计算仿真的结果显示大多数情况下都达不到这个下确界,也就是说这个下确界标准太高了,不易实现。也就是说,这个下确界没有意义。这样的结果显然也不能满足实际的需要。问题做到这一步应该继续深入做下去,但这时我身体却出了问题,2014年夏天,我查出得了淋巴瘤,需要反复住院治疗。于是这件事就放到一边了,至今也没有再捡起来。这实在是一个不小的遗憾。