第十四讲简单的统筹规化问题最优化概念反映了人类实践活动中十分普遍的现象,即要在尽可能节省人力、物力和时间的前提下,努力争取获得在允许范围内的最佳效益.因此,最优化问题成为现代应用数学的一个重要研究对象,它在生产、科学研究以及日常生活中都有广泛的应用.作为数学爱好者,接触一些简单的实际问题,了解一些优化的思想是十分有益的.例1妈妈让小明给客人烧水沏茶.洗开水壶要用1分钟,烧开水要用15分钟.洗茶壶要用1分钟,洗茶杯要用1分钟,拿茶叶要用2分钟.小明估算了一下,完成这些工作要20分钟.为了使客人早点喝上茶,按你认为最合理的安排,多少分钟就能沏茶了?分析本题取自华罗庚教授1965年发表的《统筹方法平话》.烧水沏茶的情况是:开水要烧,开水壶要洗,茶壶茶杯要洗,茶叶要取.怎样安排工作程序最省时间呢?办法甲:洗好开水壶,灌上凉水,放在火上,在等待水开的时候,洗茶杯,拿茶叶,等水开了,沏茶喝.办法乙:先做好一切准备工作,洗开水壶,洗壶杯,拿茶叶,灌水烧水,坐等水开了沏茶喝.办法丙:洗开水壶,灌上凉水,放在火上坐待水开,开了之后急急忙忙找茶叶,洗壶杯,沏茶喝.谁都能一眼看出第一种办法好,因为后两种办法都“窝了工”.开水壶不洗,不能烧开水,固为洗开水壶是烧开水的先决条件,没开水、没茶叶、不洗壶杯,我们不能沏茶,因而这些又是沏茶的先决条件.它们的相互关系可以用下图的箭头图来显示.箭杆上的数字表示完成这一工作所需的时间,例如→表示从把水放在炉上到水开的时间是15分钟.从图上可以一眼看出,办法甲总共要16分钟,而办法乙、丙需20分钟.洗壶杯、拿茶叶没有什么先后关系,而且是由同一个人来做,因此可以将上图合并成下图.解先洗开水壶用1分钟,接着烧开水用15分钟,在等待水开的过程中,同时洗壶杯、拿茶叶,水开了就沏茶,总共用了16分钟.又因为烧开水的15分钟不能减少,烧水前必须用1分钟洗开水壶,所以用16分钟是最少的.说明:本题涉及到的统筹方法,是生产、建设、工程和企业管理中合理安排工作的一种科学方法,它对于进行合理调度、加快工作进展,提高工作效率,保证工作质量是十分有效的.例2用一只平底锅煎饼,每次能同时放两个饼.如果煎1个饼需要2分钟(假定正、反面各需1分钟),问煎1993个饼至少需要几分钟?分析由于1993数目较大,直接入手不容易.我们不妨先从较小的数目来进行探索规律.如果只煎1个饼,显然需要2分钟;如果煎2个饼,仍然需要2分钟;如果煎3个饼,初学者看来认为至少需要4分钟:因为先煎2个饼要2分钟;再单独煎第3个饼,又需要2分,所以一共需要4分钟.但是,这不是最佳方案.最优方法应该是:首先煎第1号、第2号饼的正面用1分钟;其次煎第1号饼的反面及第3号饼的正面又用1分钟;最后煎第2号、第3号饼的反面再用1分钟;这样总共只用3分钟就煎好了3个饼.解:如果煎1993个饼,最优方案应该是:煎第1、2、3号饼用“分析”中的方法只需要3分钟;煎后面1990个饼时,每两个饼需要2分钟,分1990÷2=995(次)煎完,共需要2×995=1990(分钟);这样总共需要3+1990=1993(分钟).说明:通过本例可以看出,掌握优化的思想,合理统筹安排操作程序,就能够节省时间,提高效率.例35个人各拿一个水桶在自来水龙头前等候打水,他们打水所需的时间分别是1分钟、2分钟、3分钟、4分钟和5分钟.如果只有一个水龙头,试问怎样适当安排他们的打水顺序,才能使每个人排队和打水时间的总和最小?并求出最小值.分析5个人排队一共有5×4×3×2×1=120种顺序,把所有情形的时间总和都计算出来,就太繁琐了.凭直觉,应该把打水时间少的人排在前面所费的总时间会省些.考虑用“逐步调整”法来严格求解.解:首先证明要使所费总时间最省,应该把打水时间需1分钟的人排在第一位置.假如第一位置的人打水时间要a分钟(其中2≤a≤5),而打水需1分钟的人排在第b位(其中2≤b≤5).我们将这两个人位置交换,其他三人位置不变动.这样调整以后第b位后面的人每人排队打水所费的时间与调整前相同,并且前b个人每人打水所费时间也未受影响,但是第二位至第b位的人排队等候的时间都减少了(a-1)分钟,这说明调整后五个人排队和打水时间的总和减少了.换言之,把打水需1分钟的人排在第一位置所费总时间最省.其次,根据同样道理,再将打水需2分钟的人调整到第二位置;将打水需3、4、5分钟的人逐次调整到第三、四、五位.所以将五人按照打水所需时间由少到多的顺序排队,所费时间最省.这样得出5人排队和打水时间总和的最小值是1×5+2×4+3×3+4×2+5×1=35(分钟).说明:本题涉及到排序不等式,有兴趣的读者可参阅高年级的数学奥林匹克教材.排队提水的问题,在其他一些场合也是会遇到的.例如,有一台机床要加工n个工件,每个工件需要的加工时间不一样,问应该按照什么次序加工,才能使总的等待时间最短.例4有157吨货物要从甲地运往乙地,大卡车的载重量是5吨,小卡车的载重量是2吨,大卡车与小卡车每车次的耗油量分别是10公升与5公升.问如何选派车辆才能使运输耗油量最少?这时共需用油多少公升?解:依题意,大卡车每吨耗油量为10÷5=2(公升);小卡车每吨耗油量为5÷2=2.5(公升).为了节省汽油应尽量选派大卡车运货,又由于157=5×31+2,因此,最优调运方案是:选派31车次大卡车及1车次小卡车即可将货物全部运完,且这时耗油量最少,只需用油10×31+5×1=315(公升)说明:本题是1960年上海市数学竞赛试题.上述解法是最朴素的优化思想——选派每吨耗油量较少的卡车.下面用代数的知识来解题:设选派大卡车a车次,小卡车b车次,依题意:5a+2b=157,即10a=314-4b.于是总耗油量为:W=10a+5b=314=4b+5b=314+b.显然,当b越小时,W也越小.又由5a+2b=157易知,b最小值是1,故W的最小值是314+1=315(公升).若取b=0,则需派32车次大卡车,耗油量则需320公升.例5有十个村,坐落在从县城出发的一条公路上(如下页图,距离单位是公里),要安装水管,从县城送自来水供给各村,可以用粗细两种水管.粗管足够供应所有各村用水,细管只能供一个村用水.粗管每公里要用8000元,细管每公里要用2000元.把粗管和细管适当搭配、互相连接,可以降低工程的总费用.按你认为最节约的办法,费用应是多少?分析由题意可知,粗管每公里的费用恰好是细管每公里费用的4倍.因此,如果在同一段路上要安装4根以上的细管,就应该用一根粗管来代替,便可降低工程的总费用.解:假设从县城到每个村子都各接一根细管(如上图),那么在BA1、BA2、BA3、BA4、BA5、BA6之间各有10、9、8、7、6、5根细管,应该把B与A6之间都换装粗管,工程的总费用将最低,这时的总费用是:a=8000×(30+5+2+4+2+3)+2000×(2×4+2×3+2×2+5)=414000(元).说明:容易验证,从县城B起铺设粗管到A6或A7或者A6A7之间任何一个地点都是最节约的办法,总费用仍是414000元.下面详细论证其他安装方案的总费用都大于a.当粗管从县城B铺设到超过A7向A8移动一段路程d(0<d≤2)公里时,粗管费用增加8000d(元),而细管费用仅减少2000d×3=6000d(元).这时总费用比a多2000d(元).当粗管从县城B铺设到超过A8向A9移动一段路程d(0<d≤2)公里时,粗管费用增加8000×(2+d)=16000+8000d(元),而细管增费用仅减少2000×(2×3+2d)=12000+4000d(元).这时总费用比a多4000+4000d(元).当粗管从县城B铺设到超过A9向A10移动一段路程d(0<d≤5)公里时,粗管费用增加8000×(2+2+d)=32000+8000d(元).而细管费用仅减少2000×(2×3+2×2+d)=20000+2000d(元).这时总费用比a多12000+6000d(元).综上所述,从县城B铺设粗管到超过A7点以东的任何地点的安装总费用都大于a.类似地,可以验证从县城铺设粗管到A6点以西的任何地点的总费用也都大于a.例6有1993名少先队员分散在一条公路上值勤宣传交通法规,问完成任务后应该在公路的什么地点集合,可以使他们从各自的宣传岗位沿公路走到集合地点的路程总和最小?分析由于1993数目较大,不易解决.我们先从人数较小的情况入手.当只有2个人时,设2人宣传岗位分别为A1和A2(如上图),显然集合地点选在A1点或A2点或者A1A2之间的任何一个地点都可以.因为由A1、A2出发的人走过的路程总和都等于A1A2.当有3个人时,则集合地点应该选在A2点(如右图).因为若集合地点选在A1A2之间的B点,那时3个人所走的路程总和是A1B+A2B+A3B=(A1B+A3B)+A2B=A1A3+A2B;若集合地点选在A2A3之间的C点,那时3个人所走的路程总和是:A1C+A2C+A3C=(A1C+A3C)+A2C=A1A3+A2C;而集合地点选在A2点时,3个人所走路程总和仅是A1A3.当然A1A3比A1A3+A2B及A1A3+A2C都小.当有4个人时,由于集合地点无论选在A1A4之间的任何位置,对A1、A4岗位上的人来说,这2人走的路程和都是A1A4(如下图).因此,集合地点的选取只影响A2、A3岗位上的人所走的路程,这就是说,问题转化为“2个人站在A2和A3岗位的情形”.根据上面已讨论的结论可知,集合地点应选在A2或A3或者A2A3之间任何地点.当有5个人时,类似地可把问题转化为“3个人站在A2、A3、A4岗位的情形”(如下图)根据已讨论的结论可知,集合地点应选在A3点.依此递推下去,我们就得到一个规律:当有偶数(2n)个人时,集合地点应选在中间一段AnAn+1之间的任何地点(包括An和An+1点);当有奇数(2n+1)个人时,集合地点应选在正中间岗位An+1点.本题有1993=2×996+1(奇数)个人,因此集合地点应选在从某一端数起第997个岗位处.说明:本题的解题思路值得掌握,那就是先从简单的较少的人数入手,通过逐步递推,探索一般规律,从而解决某些数字较大的问题.习题十四1.妈妈杀好鱼后,让小明帮助烧鱼.他洗鱼、切鱼、切姜片葱花、洗锅煎烧,各道工序共花了17分钟(如下图),请你设计一个顺序,使花费的时间最少.2.用一只平底锅煎饼,每次能同时放两个饼.如果煎一个饼需要4分钟(假定正、反面各需2分钟),问煎m个饼至少需要几分钟?3.小明、小华、小强同时去卫生室找张大夫治病.小明打针要5分钟.小华换纱布要3分钟,小强点眼药水要1分钟.问张大夫如何安排治病次序,才能使他们耽误上课的时间总和最少?并求出这个时间.4.赵师傅要加工某项工程急需的5个零件,如果加工零件A、B、C、D、E所需时间分别是5分钟、3分钟、4分钟、7分钟、6分钟.问应该按照什么次序加工,使工程各部件组装所耽误的时间总和最少?这个时间是多少?5.某水池可以用甲、乙两个水管注水,单放甲管需12小时注满,单放乙管需24小时注满.若要求10小时注满水池,并且甲、乙两管合放的时间尽可能地少,则甲、乙两管合放最少需要多少小时?6.山区有一个工厂.它的十个车间分散在一条环行的铁道上.四列货车在铁道上转圈,货车到了某一车间,就要有装卸工装上或卸下货物.当然,装卸工可以固定在车间等车(各车间所需装卸工人数如图所示);也可以坐在货车到各车间去;也可以一部分装卸工固定在车间,另一部分坐车.问怎样安排才能使装卸工的总人数最少?最少需多少名工人?