[转帖]古代后勤粮食输运的数学模型 转自龙空 http://www.lkong.net/forum.php?mod=viewthread&tid=141456&extra=%26page%3d1&page=1 ———————————————————— 这回,俺摇身一变,当一位爱好军史的青年数学家,研究一下粮食的战略/战场输运的数学模型 古代粮食运输的简化模式,是如何最有效将a地的f(0)单位的粮食输送到距离t日程的b地,或者,反过来,若b地需要f(t)的粮食,那么如何配置a~b间的粮食输送能力,从而以最少的消耗达到运送目的 说明下,a~b之间距离用日程来标记,而不用里程来衡量,是因为人肉的运输队不是火车,是按天吃饭,不是按行进里程吃饭. 古代摸索出最有效的运作模式是: 在起点a~b之间设立n个粮食中转站,每站粮食储量记为f(1),f(2),f(3),..,f(n)..., f(n),其中f(1)是起点a站发出粮食数,而f(n)是终点b接受粮食数. 每个粮食中转站n都配备一支运输队,规模大小刚好足够将本站粮食f(n)运输到下一站,然后及时返回. 这样,粮食一站接一站,像接力搬砖一样,向目标地输送,只不过中途不断损耗. 由于运输队往返路程的嚼用要从f(n)扣除,结果送达n+1站的粮食是打了折扣后的f(n+1). 那么,n和n+1两个粮站之间的折扣是多少呢? 运输队单位负荷量是α,要运输的粮食是f(n),那么运输队规模得要f(n)/α才能扛起那么多粮食,而粮站间平均日程是总日程t除以总站数n为t/n, 因此每扛运一次粮食,运输队往返一次的日程是2t/n. 这个运输队完成f(n)从n到n+1的一次搬运,这个运输周期里 运输队的耗用= 运输队规模f(n)/α * 单位日消耗β * 日程2t/n, 即有: f(n)-f(n+1)= (β/α*2t/n) * f(n) 如果粮站足够密集,那么上面离散的式子化为连续模型的常微分方程: f'(t)=(-2β/α) * f(t) 解为:f(t)=f(0)*exp(-2β/α*t) 其中,f(t)是运抵距离t日程时粮食剩余, f(0)是出发时发送的粮食总数. 日程t的单位是天, 食量β的单位是kg/天, 负荷能力α的单位是kg. 指数函数exp()的底是自然对数e=2.718... 数学上,这个运输问题对应一个变分问题,它的最优解正是上面的指数函数.应用时的离散形式的则是上面的上面的那个分段运输法. 我们看到,即使采用最优调度,粮食运抵量也是随日程t指数衰减的过程, 那个衰减系数β/α通俗地说,就是饭量和负重能力之比 ,吃的越少,扛的越多,运输成本越低.如果有不吃草又能跑的马儿,那折耗就素零鸟. 换个角度看,前线的军粮成本,随着对粮食原产地的距离增加而指数上升. 一个农业帝国,如果战区和它的农业产粮区距离增加的话,指数上升的军粮要求很快就会让它无力维持足够的军力,这就意味着帝国遇到了扩张极壁. 想要"虽远必诛"的话,那支单程的远征军,就不要指望由国内维持后勤补给,铁定要掠夺当地. 如果困顿坚城,兵锋受挫,又或者遭遇坚壁清野的话,本国也救不了你,99%是挂定了. 另外,每每在小说里看到脑壳坏死的将领,在占领区发放粮食收拢民心,真是太有爱了 . 一个合格的远征军将领,为保证安全,掠夺再多的补给也不会知足,更不会有爱的. ———————————————————— 似乎是沈括《梦溪笔谈》那段的数学化 [此贴子已经被作者于2011-12-26 10:57:25编辑过] |