综合新闻

[战疫进行时]致敬最美背影!

我与老师不相见已一周有余了,最想念的是他们在黑板上板书的背影,而不是在摄像头前模糊的笑脸。那天上午,校门封了,水果也卖完了,正是祸不单行的日子。我从教超排到餐厅,打算抢购物资。到教超见着货架,看见满地狼藉的东西,又想起快递送得很慢了,不禁簌簌地流下眼泪。

老师给我们打气:“事已至此,不必难过,好在天无绝人之路!”回宿舍翻出多余的被子,老师住在学院,又凑了几床床垫。这些日子,老师们非常辛苦,一半为了床位缺少,一半为了保障我们的学习生活。

20220316_210511_956.jpg

20220316_205637_316.jpg

到饭点时,叫上舍友吃饭,被老师阻止了一次;现在开始便须一个人去食堂,打整个宿舍的饭回来。老师因为疫情,叫我戴好口罩,和别人隔着一米距离去。他再三叮嘱我,甚是仔细。但他终于不放心,怕病毒不讲理;然后他颠颇踌躇了一会。其实疫情现在已两年,病毒已挫败过两三次,是没有什么要紧的了。他踌躇了一会,终于决定还是自己送饭来。我再三回劝他不必来,他只说,“不要紧,你们去不好!”

图3.png

图4.jpg

20220316_205730_499.jpg

我们进了宿舍,拿了盒饭。我吃饭,他忙着送下一栋。盒饭太多了,得多搬很多趟才能送完。他便又忙着去食堂抢存货。我那时真是聪明过分,总觉他身体不大强壮,非自己来搬不可,但他终于送完了一餐;就自己吃着冷饭。

他抽空给我发送了一份PDF,让我算算以什么顺序送餐最快:

一个老师拥有一辆车,车里最多能装下C份饭,而他需要给N个楼栋送餐,每栋楼对于饭量的需求为D(i)  (i=1,2,⋯,N),楼与楼之间的距离为d(i,j) (i,j=1,2,…,N)。餐厅处于一个固定的位置 (0号宿舍楼),与每栋楼的距离为d(0,i) (i=1,2,…,N)。每个寝室的需求只能一次性满足。

假设该老师从餐厅出发,将指定数量的饭装到后备箱后,再开往若干个寝室进行分发。完成送餐后,返回餐厅。由于汽车的容量限制,他不可能一趟把所有饭送到。假设他某天中午总共需要送n趟,每一趟都会经过sl (l=1,2,…,n)个寝室,则他中午的路径可以这么表示:

公式1.png

其中,xi,j表示:该老师在第趟i运送途中,经历的第j个寝室楼的编号(i=1,2,…,n,j=1,2,…,si)。

注意,由于车的后备箱不能无限制的装饭,因此我们还需要考虑容量约束:

公式2.png

为了让同学们尽快吃上热乎的饭菜,我们需要在满足所有楼栋需求的前提下,最小化该老师所经过的路程之和。我们引入0-1变量yki,j作为决策变量,表示该老师的第i趟送餐的第j个楼栋是否为k号寝室楼。该问题就被转化为了如下的优化问题:

公式3.png

我将他列出来的式子写在草稿纸上。他嘱我解的时候小心,中间要巧算,不要暴力求解。又嘱托我在宿舍里好好戴上口罩。我心里暗笑他的迂;我只消硬解,巧算只是不必!而且宿舍这样狭小的地方,难道还需要戴口罩吗?唉,我现在想想,那时真是太聪明了!

日久,我感叹,“没有水果牙龈都出血了。”老师往四周看了看说,“我买几个橘子去。你就在此地,不要走动。”

20220316_205909_578.jpg

我看到那边食堂前有大堆橘子等着发放。去到那边食堂,须穿过宿舍区,须走小路又行大路。老师开着大巴车,开过去自然要费事些。我本来要把解到一半的式子给他看的,他不看,只好让他去。

我看见他戴着白口罩,穿着白色隔离服,透明隔离面罩,顶着烈日走到大巴车边,慢慢探身上去,尚不大难。可是他穿着全套防护服,要驾驶重型机械,就不容易了。他用左手攀着方向盘,右手握着变速杆;他车里的身子向左微倾,显出努力的样子。这时我看见他的背影,我的泪很快地流下来了。

图7.jpg

我赶紧拭干了泪,怕他看见,也怕别人看见。我再向外看时,他已抱了朱红的橘子往回走了。到楼下时,他先蹲下身,将橘子慢慢放下,生怕磕坏一个。我赶紧穿好防护服,问他怎么这么快。他对着我摆摆手,将一份PDF发到我的邮箱里。于是锤锤酸疼的大腿,心里很轻松似的。过一会儿说,“我走了,你回去快吃东西!”我望着他走出去。他走了几步,回过头看见我,说,“别硬解了,是节约法。”

等他的背影混入来来往往的送着饭的老师中里,再找不着了,我便回去打开文件,我的眼泪又来了。

假设餐厅在 (0, 0) 位置,该老师今天中午需要送10个楼栋的午餐,各个楼栋的分布如下:

图8.png

每个楼栋的需求是 [300, 500] 之间的随机数,如图例所示。该老师的车最多能容900份饭,我们如何对老师进行路径规划,使得所有同学能以最快速度吃到饭呢?

最“原始”的方法,当然是让老师每栋楼都单独跑一趟,但这样费时费力,也米有将车辆的运载量得到充分的利用。该方法的总距离为:95.03

图9.png

一个很直觉的想法就是,把某两个甚至某三个楼栋进行合并,让老师在一趟运输中能同时满足多个楼栋的需求。

我们采用贪心的策略,即每次将路程结余最大,且满足运输量约束的两条路线进行合并。

第一轮迭代,9号楼栋与10号楼栋合并,带来的结余最大,因此将其合并:

图10.png

第二次迭代,第7号楼栋与第8号楼栋合并带来的路程结余最大,因此将其合并:

图11.png

经过5次合并,已经无法再合并了。最终的送餐路径如下,总路程减小至90.39。

图12.png

如此,只通过简单的合并,就可以大大缩短老师们送餐的距离,也可以让辛苦奔忙的老师们节约一些时间来调整和休息。

近几天来,老师一直都是东奔西走,校内的情况也是越来越好。他少年外出求学,读万卷书,有了很高学历。果然他现在送饭也这样科学!他精通数学,自然工于规划。身在机动,自然要追求更有效率;大小琐事通通被他安排妥当。老师的压力渐渐大了。但最近几天不见,他依然不提自己有多累,只是惦记着我,惦记着我的同学。在解封越来越近时,他送来了更多口罩和洗手液。我看着他忙碌的背影,在晶莹的泪光中,仿佛又看见他写完满面板书后潇洒转身的样子。或许老师的每一个背影,都在教我们更多的东西罢!

图13.png

图14.png

图15.png

图16.png

图17.jpg

图18.jpg

图19.png

图20.jpg

图21.jpg

图22.jpg

图23.jpg

图24.jpg

图25.jpg

20220316_210238_606.jpg

赵思航 刘昊灵 王淏辰 蒋天昊
上海交通大学机械与动力工程学院师生
机械与动力工程学院