沒(méi)人比我更懂租船,如果有,那一定是看完本文的你



很榮幸,網(wǎng)上有數(shù)學(xué)老師邀請(qǐng)我解答一個(gè)問(wèn)題——
春游時(shí),全班38人要坐船游玩,每只大船可以坐10個(gè)人,租金為90元;每只小船可以坐4人,租金為40元,那么應(yīng)該租幾只大船幾只小船才能使總花費(fèi)最少?網(wǎng)上某老師提問(wèn)
【序】
既然是老師提問(wèn),就不能只講這一道題怎么做,而是深入講一講這一類(lèi)題怎么做,或是這一種數(shù)學(xué)模型有何特征,有何通用解決方案.
以下是我的嘗試,雖然有些標(biāo)題黨嫌疑,但仍希望能讓大家對(duì)這類(lèi)租船問(wèn)題有一種全新的認(rèn)識(shí).
【思路】
本題是多個(gè)約束條件下對(duì)大船數(shù)x與小船數(shù)y在自然數(shù)范圍內(nèi)尋求最優(yōu)方案[1]的應(yīng)用題;
本題在小學(xué)階段我們更多采用枚舉法[2]嘗試;
枚舉前應(yīng)先確定枚舉類(lèi)型[3]和枚舉方向[4];
確定枚舉類(lèi)型的依據(jù)是船的理論人均花費(fèi)[5],理論人均花費(fèi)較少者為枚舉對(duì)象;
為了讓總花費(fèi)最少,要盡可能多用理論人均花費(fèi)少的船只,所以枚舉方向應(yīng)是從多到少;
如果理論人均花費(fèi)少的那類(lèi)船全都坐滿[6],就已經(jīng)達(dá)到總花費(fèi)最優(yōu);
如果最后一艘船沒(méi)有坐滿,且最后一艘船的實(shí)際人均花費(fèi)[7]大于另一類(lèi)船的理論人均花費(fèi)時(shí),應(yīng)當(dāng)繼續(xù)枚舉,不斷減少理論人均花費(fèi)少的船只數(shù)量,并相應(yīng)增加另一類(lèi)船只數(shù)量;
直到首次出現(xiàn)兩類(lèi)船的每一艘都坐滿[8],代入此時(shí)的x、y即可求出最少總花費(fèi).
【步驟】

【講解】
大船租金90元,大船可坐10人,大船理論人均花費(fèi):90÷10=9(元/人),括號(hào)內(nèi)單位這樣寫(xiě)是為了提醒同學(xué)們這個(gè)9元是“人均”;小船租金40元,小船可坐4人,小船理論人均花費(fèi):40÷4=10(元/人);由于大船的人均9元/人小于小船的人均10元/人,所以我們應(yīng)該盡量使用大船;
38人除以10人等于3整艘大船余8人,所以最多租4艘大船,此時(shí)總花費(fèi):90×4=360(元);
但最多可坐10人的第4艘大船只坐了8人,該艘大船的實(shí)際人均花費(fèi)為:90÷8=11.25(元/人),這個(gè)人均11.25元已經(jīng)大于了小船的理論人均10元,說(shuō)明如果把這8人放在若干小船上并坐滿,是比租一艘大船更劃算的;
而如果租3艘大船,剩余8人租小船:8÷4=2(艘),總花費(fèi):90×3+40×2=350(元);
4艘大船的總花費(fèi)360元大于3艘大船2艘小船的總花費(fèi)350元,所以第二種方案更優(yōu);
若繼續(xù)枚舉2艘大船、1艘大船、0艘大船,均不能找到更優(yōu)方案[9][10],因此確定“3艘大船2艘小船”為最優(yōu)方案.
【總結(jié)】
這類(lèi)題目的本質(zhì)是在多種約束條件下解非負(fù)整數(shù)不定方程mx+ny=A,(m、n、A均為已知數(shù));
一定要事先計(jì)算x和y的理論人均從而確定枚舉x還是枚舉y(不妨設(shè)x為枚舉對(duì)象);
若x最大等于x0時(shí)已經(jīng)有(x0,y0)滿足不定方程,則(x0,y0)已是最優(yōu)解;
若上一條不滿足,則繼續(xù)從大到小枚舉x,直到第一次出現(xiàn)(x1,y1)滿足不定方程,此時(shí)(x1,y1)是最優(yōu)解[11].
參考
^其實(shí)就是中學(xué)的線性規(guī)劃:設(shè)大船x只小船y只,滿足:①x,y為整數(shù)②0≤x≤4③0≤y≤10④10x+4y≥38,使目標(biāo)函數(shù):90x+40y最小.
^枚舉法多適用于整數(shù)不定方程,如2x+y=10,我們對(duì)x按從小到大的順序依次枚舉有以下非負(fù)整數(shù)解(x,y):(1,8)(2,6)(3,4)(4,2)(5,0).
^對(duì)大船數(shù)x枚舉還是對(duì)小船數(shù)y枚舉
^從多到少枚舉還是從少到多枚舉
^租整艘船的花費(fèi)除以最多可坐人數(shù).
^假如全班40人,租大船90元坐10人,租小船40元坐4人,因?yàn)榇蟠司?元小于小船人均10元,所以選大船,又因?yàn)?0人÷10人/艘=4艘,所以租4艘大船,并且每艘船都滿員.
^租整艘船的花費(fèi)除以船上實(shí)際人數(shù).
^根據(jù)經(jīng)驗(yàn),題目至少有一種兩類(lèi)船都坐滿的方案
^設(shè)大船數(shù)為x,小船數(shù)為y,非負(fù)整數(shù)解(x,y)滿足10x+4y=38時(shí)一定比滿足10x+4y>38更優(yōu),因?yàn)槔碚撊司欢ㄐ∮趯?shí)際人均.
^若非負(fù)整數(shù)解(x1,y1)與(x2,y2)都滿足不定方程10x+4y=38,且x1>x2,則(x1,y1)更優(yōu),因?yàn)榇蟠碚撊司∮谛〈碚撊司?,這也是為什么我們要從多到少去枚舉大船數(shù)x,這樣做保證了最少的枚舉次數(shù).
^再次強(qiáng)調(diào),由于是對(duì)x從大到小枚舉,枚舉到的x1一定比枚舉到后面的某個(gè)x2大