背影
上海交通大学 梁珈玮2023-05-06
本推送发布于校园封闭管理刚开始时,以改编朱自清《背影》的形式记述了机动学院师生的抗疫生活,同时穿插科普了路径优化的方法。
作者名称:梁珈玮
学校名称:上海交通大学
作品简介:本推送发布于校园封闭管理刚开始时,以改编朱自清《背影》的形式记述了机动学院师生的抗疫生活,同时穿插科普了路径优化的方法。
指导教师:任子文


背影

我与老师不相见已一周有余了,最想念的是他们在黑板上板书的背影,而不是在摄像头前模糊的笑脸。那天上午,校门封闭式管理,水果也卖完了,正是一筹莫展,不知如何是好之际。

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

aa.jpg

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

aaa.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)个寝室,则他中午的路径可以这么表示:

4.png

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

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

5.png

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

6.png

 

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

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

7.jpg

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

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

8.jpg

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


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

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

a.png

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

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

b.png

一个很直觉的想法就是,把某两个甚至某三个楼栋进行合并,让老师在一趟运输中能同时满足多个楼栋的需求。我们采用贪心的策略,即每次将路程结余最大,且满足运输量约束的两条路线进行合并。

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

c.png

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

d.png

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

e.png

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


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



[责任编辑:张振香]
我要评论(网友评论仅供其表达个人看法,并不表明本站同意其观点或证实其描述)
全部评论 0
展开全部评论
本推送发布于校园封闭管理刚开始时,以改编朱自清《背影》的形式记述了机动学院师生的抗疫生活,同时穿插科普了路径优化的方法。