千文網(wǎng)小編為你整理了多篇相關(guān)的《數(shù)學(xué)建模實踐報告(大全)》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在千文網(wǎng)還可以找到更多《數(shù)學(xué)建模實踐報告(大全)》。
第一篇:數(shù)學(xué)建模實踐報告
數(shù)學(xué)建模實踐報告
隨著人們自身素質(zhì)提升,報告的使用成為日常生活的常態(tài),我們在寫報告的時候要注意語言要準(zhǔn)確、簡潔。相信許多人會覺得報告很難寫吧,以下是小編收集整理的數(shù)學(xué)建模實踐報告,歡迎大家分享。
又是一個酷熱難耐的暑假,濟(jì)南以它獨特的天氣特點招待了我們這些因為參賽而留在老校住宿的同學(xué)們,幾次零星的小雨絲毫撼不動炎熱的主題。蓊蓊郁郁的師大老校園里大批學(xué)子,他們忙碌著,早出晚歸;他們埋頭苦干著,廢寢忘食;他們做著自己的事情,緊張有序他們默默等待著一場未知的洗禮。他們,就是參加暑假數(shù)學(xué)建模輔導(dǎo)的同學(xué)。
我很榮幸地成為了這支隊伍中的一員,而且成為隊長,本組成員都是讓我佩服的兩位很優(yōu)秀的同學(xué),讓我對這次建模的勝利充滿信心,宋希良,和王成龍,這兩位我的員工,讓我感覺很踏實,本來平淡無奇的暑假,因為參加了數(shù)學(xué)建模而變得豐富多彩。
先說說數(shù)學(xué)建模吧。數(shù)學(xué)建模是運用數(shù)學(xué)思想、方法和知識解決實際問題的過程,已經(jīng)成為不同層次數(shù)學(xué)教育重要和基本的內(nèi)容。數(shù)學(xué)建模是數(shù)學(xué)學(xué)習(xí)的一種新的方式,它為學(xué)生提供了自主學(xué)習(xí)的空間,有助于學(xué)生體驗數(shù)學(xué)在解決實際問題中的價值和作用,體驗數(shù)學(xué)與日常生活和其他學(xué)科的聯(lián)系,體驗綜合運用知識和方法解決實際問題的過程,增強(qiáng)應(yīng)用意識;有助于激發(fā)學(xué)生學(xué)習(xí)數(shù)學(xué)的興趣,發(fā)展學(xué)生的創(chuàng)新意識和實踐能力。數(shù)學(xué)建模與數(shù)學(xué)實驗開創(chuàng)了大學(xué)生把數(shù)學(xué)理論和專業(yè)知識有機(jī)結(jié)合的新途徑,是培養(yǎng)學(xué)生分析問題、解決問題和使用計算機(jī)進(jìn)行科學(xué)計算的有效方法,是培養(yǎng)學(xué)生創(chuàng)新能力和實踐能力的有效手段。
中國科學(xué)院王梓坤院士在《今日數(shù)學(xué)及其應(yīng)用》一文中指出精確定量思維是對21世紀(jì)科技人員的素質(zhì)要求。所謂定量思維就是人們從實際問題中提煉數(shù)學(xué)問題,抽象化為數(shù)學(xué)模型,用數(shù)學(xué)計算此模型的解或近似解,然后回到現(xiàn)實中進(jìn)行檢驗,必要時修改模型使之更切合實際,最后編制解決問題的軟件包,以便得到更廣泛的'方便的應(yīng)用。這一精辟的論述闡明了在解決工程實際問題中數(shù)學(xué)建模與數(shù)學(xué)實驗是相互依賴、相輔相成、互不可分的。數(shù)學(xué)建模與數(shù)學(xué)實驗是以數(shù)學(xué)知識為基礎(chǔ),以各個領(lǐng)域的實際問題為載體,以計算機(jī)為手段,以數(shù)學(xué)軟件為工具,培養(yǎng)學(xué)生深入理解數(shù)學(xué)建模的思想與方法,熟悉常用的科學(xué)計算軟件,如,mathematica、matlab,并在此基礎(chǔ)上,根據(jù)所要解決的數(shù)學(xué)問題進(jìn)行程序設(shè)計,培養(yǎng)學(xué)生運用所學(xué)知識建立數(shù)學(xué)模型,使用計算機(jī)解決實際問題的能力,以及綜合應(yīng)用能力和創(chuàng)新能力。
建模前的準(zhǔn)備。首先,要完善自己。只有解決了自身的問題,才能克服其他的問題。如果連自己都沒把握好,那么,做任何事都會漏洞百出。要完善自己,首先要明確態(tài)度,記得中國前任國足教練米盧說過:態(tài)度決定一切。明確自己為什么要參加數(shù)學(xué)建模競賽,參加的目的是什么,是抱著學(xué)習(xí)的態(tài)度參加呢還是其他呢?只有態(tài)度明確了,才能在這個前提下,進(jìn)行全身心的投入競賽。
其次,要有熱情,要有認(rèn)真,嚴(yán)謹(jǐn)?shù)目茖W(xué)精神。熱情是動力的源泉,如果沒有燃料,汽車將不能開動,火箭將不能騰空,飛船將不能遨游;同樣,如果人缺少熱情,他就會缺少前進(jìn)的動力,不能在競爭中騰空而起,引人注目,亦不能在求知與快樂的海洋中遨游。沒有熱情,能打動誰?沒有熱情,能走多遠(yuǎn)?參加數(shù)學(xué)建模競賽也是一樣,熱情是必需的,如果抱著試一試的態(tài)度,是不會有什么結(jié)果的。在練習(xí)過程中我們也有苦惱的時候,但是我們的熱情卻始終沒有減少,我們經(jīng)常激烈的爭辯,為一個問題搞的晚上睡不著覺,然而當(dāng)靈感到來,解法豁然開朗時,我們都會激動萬分。當(dāng)我們遇到我們不會的問題,需要用到新的知識時,我們會毫不猶豫的去學(xué)習(xí)這些知識,熱情使我們不懼任何困難。
第二篇:數(shù)學(xué)建模實訓(xùn)報告
目錄
實訓(xùn)項目一
線性規(guī)劃問題及l(fā)ingo軟件求解……………………………1 實訓(xùn)項目二
lingo中集合的應(yīng)用 ………………………………………….7 實訓(xùn)項目三
lingo中派生集合的應(yīng)用 ……………………………………9 實訓(xùn)項目四
微分方程的數(shù)值解法一………………………………………13 實訓(xùn)項目五
微分方程的數(shù)值解法二……………………………………..15 實訓(xùn)項目六
數(shù)據(jù)點的插值與擬合………………………………………….17 綜合實訓(xùn)作品
…………………………………………………………….18 每次實訓(xùn)課必須帶上此本子,以便教師檢查預(yù)習(xí)情況和記錄實驗原始數(shù)據(jù)。實驗時必須遵守實驗規(guī)則。用正確的理論指導(dǎo)實踐袁必須人人親自動手實驗,但反對盲目亂動,更不能無故損壞儀器設(shè)備。這是一份重要的不可多得的自我學(xué)習(xí)資料袁它將記錄著你在大學(xué)生涯中的學(xué)習(xí)和學(xué)習(xí)成果。請你保留下來,若干年后再翻閱仍將感到十分新鮮,記憶猶新。它將推動你在人生奮斗的道路上永往直前!
項目一:線性規(guī)劃問題及l(fā)ingo軟件求解
一、實訓(xùn)課程名稱
數(shù)學(xué)建模實訓(xùn)
二、實訓(xùn)項目名稱
線性規(guī)劃問題及l(fā)ingo軟件求解
三、實驗?zāi)康暮鸵?了解線性規(guī)劃的基本知識,熟悉應(yīng)用LINGO解決線性規(guī)劃問題的一般方法
四:實驗內(nèi)容和原理 內(nèi)容一:
某醫(yī)院負(fù)責(zé)人每日至少需要下列數(shù)量的護(hù)士 班次 時間 最少護(hù)士數(shù) 1 6:00-10:00 60 2 10:00-14:00 70 3 14:00-18:00 60 4 18:00-22:00 50 5 22:00-02:00 20 6 02:00-06:00 30 每班的護(hù)士在值班的開始時向病房報道,連續(xù)工作8個小時,醫(yī)院領(lǐng)導(dǎo)為滿足每班所需要的護(hù)士數(shù),最少需要多少護(hù)士。內(nèi)容二:
內(nèi)容三
五:主要儀器及耗材
計算機(jī)與Windows2000/XP系統(tǒng);LINGO軟件 六:操作辦法與實訓(xùn)步驟 內(nèi)容一:
考慮班次的時間安排,是從6時開始第一班,而第一班最少需要護(hù)士數(shù)為60,故x1>=60,又每班護(hù)士連續(xù)工作八個小時,以此類推,可以看出每個班次的護(hù)士可以為下一個班次工作四小時,據(jù)此可以建立如下線性規(guī)劃模型: 程序編程過程:
min=x1+x2+x3+x4+x5+x6;x1>=60;x1+x2>=70;x2+x3>=60;x3+x4>=50;x4+x5>=20;x5+x6>=30;編程結(jié)果:
Global optimal solution found.Objective value:
150.0000
Infeasibilities:
0.000000
Total solver iterations:
Variable
Value
Reduced Cost
X1
60.00000
0.000000
X2
10.00000
0.000000
X3
50.00000
0.000000
X4
0.000000
1.000000
X5
30.00000
0.000000
X6
0.000000
0.000000
Row
Slack or Surplus
Dual Price
150.0000
-1.000000
0.000000
-1.000000
0.000000
0.000000
0.000000
-1.000000
0.000000
0.000000
10.00000
0.000000
0.000000
-1.000000 內(nèi)容二:
(1)max=6*x1+4*x2;2*x1+3*x2
所以,生產(chǎn)產(chǎn)品A1、A2分別為20、20件時,可使利潤最大,最大為200元。(2)
所以,當(dāng)產(chǎn)品A1的利潤在(2.6666667,8)時,不影響產(chǎn)品的生產(chǎn)數(shù)量。(3)
所以,當(dāng)裝配工序的工時在(60,180)時,不改變產(chǎn)品種類,只需調(diào)整數(shù)量。(4)加放產(chǎn)品A3,建立新的線性規(guī)劃問題 max=6*x1+4*x2+5*x3;2*x1+3*x2+4*x3
內(nèi)容三:
(1)設(shè)生產(chǎn)I 產(chǎn)品為x1,生產(chǎn) II為x2, 生產(chǎn) III 產(chǎn)品為x3,則有:
max=3*x1+2*x2+2.9*x3;
8*x1+2*x2+10*x3
10*x1+5*x2+8*x3
2*x1+13*x2+10*x3
@gin(x1);
@gin(x2);
@gin(x3);
所以,當(dāng)月僅生產(chǎn)產(chǎn)品Ⅰ、Ⅱ、Ⅲ數(shù)量分別為24、24、5時工廠的利益最大,最大利潤為134.5千元。
(2)max=3*x1+2*x2+2.9*x3-18;8*x1+2*x2+10*x3
借用其他工廠的設(shè)備B 60臺時時,可生產(chǎn)產(chǎn)品Ⅰ數(shù)量
31、產(chǎn)品Ⅱ數(shù)量26,此時每月最大利潤為127千元,比不借用設(shè)備時的利潤少7.5千元。所以借用B設(shè)備不合算。(3)如果投入兩種新產(chǎn)品,設(shè)每月生產(chǎn)的數(shù)量分別為x4、x5,則: max=3*x1+2*x2+2.9*x3+2.1*x4+1.87*x5;8*x1+2*x2+10*x3+12*x4+4*x5
投產(chǎn)產(chǎn)品IV、V后,該工廠生產(chǎn)產(chǎn)品I、II、III、IV、V數(shù)量分別為26、19、1、1、8時,每月最大利潤為135.96千元,比不投產(chǎn)該產(chǎn)品時多增加利潤1.46千元。故投產(chǎn)產(chǎn)品IV、I在經(jīng)濟(jì)上合算。
(4)max=4.5*x1+2*x2+2.9*x3;9*x1+2*x2+10*x3
改進(jìn)后,要使得每月利潤最大,則需生產(chǎn)產(chǎn)品I、II、III數(shù)量分別為22、24、2,最大利潤為152.8千元。所以改進(jìn)結(jié)構(gòu)對原計劃有影響。使得利潤比為改進(jìn)之前多18.3千元。七:項目分析
線性規(guī)劃模型只是忽略一些外在因素所建立的模型,理論比較簡單,但涉及的方面不全,所以要運用到實際中還需要多方面的考慮。項目二: lingo中集合的應(yīng)用
一、實訓(xùn)課程名稱
數(shù)學(xué)建模實訓(xùn)
二、實訓(xùn)項目名稱
lingo中集合的應(yīng)用
三、實驗?zāi)康暮鸵?/p>
熟悉應(yīng)用LINGO解決規(guī)模較大線性規(guī)劃問題的一般方法,熟悉集合的應(yīng)用
四:實驗內(nèi)容和原理
采用lingo中的集合語言,編程求解下列兩個問題 內(nèi)容一:某醫(yī)院負(fù)責(zé)人每日至少需要下列數(shù)量的護(hù)士 班次 時間 最少護(hù)士數(shù) 1 6:00-8:00 60 2 8:00-10:00 50 3 10:00-12:00 70 4 12:00-14:00 40 5 14:00-16:00 60 6 16:00-18:00 40 7 18:00-20:00 50 8 20:00-22:00 30 9 22:00-00:00 20 10 00:00-02:00 30 11 02:00-04:00 30 12 04:00-06:00 30 每班的護(hù)士在值班的開始時向病房報道,連續(xù)工作6個小時,醫(yī)院領(lǐng)導(dǎo)為滿足每班所需要的護(hù)士數(shù),最少需要多少護(hù)士。
內(nèi)容二:某個百貨商場對售貨人員(周200元)的需求經(jīng)統(tǒng)計如下表, 星期 1 2 3 4 5 6 7 人數(shù) 16 15 12 14 16 18 19 為了保證銷售人員充分休息,銷每周工作5天,休息2天。問要使工資開支最省至少需要多少售貨員?且給出一個銷售人員工作時間安排表。五:主要儀器及耗材
計算機(jī)與Windows2000/XP系統(tǒng);LINGO軟件 六:操作辦法與實訓(xùn)步驟 內(nèi)容一: model: sets: class/c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12/:required,hire;endsets data: required=60 50 70 40 60 40 50 30 20 30 30 30;enddata min=@sum(class(i):hire(i));@for(class(j):
@sum(class(i)|i#le#3:hire(@wrap(j-i+1,12)))>=required(j));end
所以最少需要180名護(hù)士。內(nèi)容二: model: sets: days/z1,z2,z3,z4,z5,z6,z7/:required,hire;endsets data: required=16 15 12 14 16 18 19;enddata min=200*@sum(days(i):hire(i));@for(days(j):
@sum(days(i)|i#le#5:hire(@wrap(j-i+1,7)))>=required(j));end
所以要使工資開支最省至少需要22名售貨員,工資開資最省為4400元。項目三: lingo中派生集合的應(yīng)用
一、實訓(xùn)課程名稱
數(shù)學(xué)建模實訓(xùn)
二、實訓(xùn)項目名稱
lingo中派生集合的應(yīng)用
三、實驗?zāi)康暮鸵?/p>
熟悉應(yīng)用LINGO解決規(guī)模較大線性規(guī)劃問題的一般方法,熟悉派生集合、稀疏集合的應(yīng)用 四:實驗內(nèi)容和原理
采用lingo中的集合語言,編程求解下列兩個問題 內(nèi)容一:
內(nèi)容二:
計算6個產(chǎn)地8個銷地的最小費用運輸問題。產(chǎn)銷單位運價如下表。單
位
銷地 運 價 產(chǎn)地 B1 B2 B3 B4 B5 B6 B7 B8 產(chǎn)量 A1 6 2 6 7 4 2 5 9 60 A2 A3 A4 A5 A6 4 5 7 2 5 9 2 6 3 5 5 1 7 9 2 3 9 3 5 2 8 7 9 7 8 5 4 2 2 1 8 3 7 6 4 2 3 1 5 3 55 51 43 41 52 銷量 35 37 22 32 41 32 43 38
五:主要儀器及耗材
計算機(jī)與Windows2000/XP系統(tǒng);LINGO軟件 六:操作辦法與實訓(xùn)步驟 內(nèi)容一: 程序: model: SETS: CITIES/1,2,3,4,5,6,7,8,9,10/:L;ROADS(CITIES,CITIES)/ 1,2 1,3 2,4 2,5 2,6 3,4 3,5 3,6 4,7 4,8 5,7 5,8 5,9 6,8 6,9 7,10 8,10 9,10/:D;ENDSETS DATA: D= 6 5 6 9 7 5 11 1 8 7 5 4 10 7 9;L=0,,,,,;ENDDATA @FOR(CITIES(i)|i#GT#1: L(i)=@MIN(ROADS(j,i):L(j)+D(j,i)););END 結(jié)果:
所以,從城市1到城市10的最短路徑長度為17,具體路徑為:1—2—4—8—10
內(nèi)容二: 程序: model: sets: gongying/1..6/:chandi;xuqiu/1..8/:xiaodi;link(gongying,xuqiu):yunjia,c;endsets data: chandi=60 55 51 43 41 52;xiaodi=35 37 22 32 41 32 43 38;yunjia= 6 2 6 7 4 2 5 9 4 9 5 3 8 5 8 2 5 2 1 9 7 4 3 3 7 6 7 3 9 2 7 1 2 3 9 5 7 2 6 5 5 5 2 2 8 1 4 3;enddata min=@sum(link(i,j):c*yunjia);@for(gongying(i):@sum(xuqiu(j):c(i,j))
Global optimal solution found.Objective value:
664.0000
Infeasibilities:
0.000000
Total solver iterations:
所以最小費用為664.項目四:微分方程的數(shù)值解法一
一、實訓(xùn)課程名稱
數(shù)學(xué)建模實訓(xùn)
二、實訓(xùn)項目名稱
微分方程求解
三、實驗?zāi)康暮鸵?/p>
1、學(xué)會用Matlab求簡單微分方程的解析解.2、學(xué)會用Matlab求微分方程的數(shù)值解 四:實驗內(nèi)容和原理
1、求方程 的通解。
2、求微分方程組,在初始條件 下的特解。
3、求方程,分別用ode45,ode15s求解,并畫出函數(shù)圖形。五:主要儀器及耗材
計算機(jī)與Windows2000/XP系統(tǒng);MATLAB軟件 六:操作辦法與實訓(xùn)步驟
1、>> dsolve('(x^2-1)*Dy+2*x*y-sin(x)=0')ans = 1/2*(sin(x)+2*exp(-2*x/(x^2-1)*t)*C1*x)/x
2、>> [x,y]=dsolve('Dx+x+y=0','Dy+x-y=0','x(0)=1,y(0)=0','t');>> x=simple(x)x =(-1/4*2^(1/2)+1/2)*exp(2^(1/2)*t)+(1/4*2^(1/2)+1/2)*exp(-2^(1/2)*t)>> y=simple(y)y =-1/4*2^(1/2)*(exp(2^(1/2)*t)-exp(-2^(1/2)*t))
3、M_文件:
function dx=l(t,x)dx=zeros(2,1);dx(1)=x(1)-0.1*x(1)*x(2)+0.01*t;dx(2)=-x(2)+0.4*x(1)*x(2)+0.04*t;程序(ode45):
>> [t,x]=ode45('l',[0,100],[30 20]);>> plot(t,x(:,1),'-',t,x(:,2),'*')
程序(ode15s): >> [t,x]=ode15s('l',[0,100],[30 20]);>> plot(t,x(:,1),'-',t,x(:,2),'*')
項目五:微分方程的數(shù)值解法二
一、實訓(xùn)課程名稱
數(shù)學(xué)建模實訓(xùn)
二、實訓(xùn)項目名稱
微分方程求解
三、實驗?zāi)康暮鸵?/p>
熟悉并掌握用matlab解微分方程的解析解和數(shù)值解 四:實驗內(nèi)容和原理
一個慢跑者在平面上沿圓以恒定的速率v=1跑步,設(shè)圓方程為:
x=10+20cost,y=20+20sint.突然有一只狗攻擊他.這只狗從原點出發(fā),以恒定速率w跑向慢跑者,狗的運動方向始終指向慢跑者.分別求出w=20,w=5時狗的運動軌跡.五:主要儀器及耗材 計算機(jī)、matlab軟件 六:操作辦法與實訓(xùn)步驟 當(dāng)w=20 建立M文件h,M文件如下 function dy=h(t,y)
dy=zeros(2,1);dy(1)=20*(10+20*cos(t)-y(1))/sqrt((10+20*cos(t)-y(1))^2+(20+20*sin(t)-y(2))^2);dy(2)=20*(20+20*sin(t)-y(2))/sqrt((10+20*cos(t)-y(1))^2+(20+20*sin(t)-y(2))^2);程序如下: 取t0=0,tf=10 [t,y]=ode45('h',[0 10],[0 0]);>> t=0:0.1:2*pi;>> X=10+20*cos(t);>> Y=20+20*sin(t);>> plot(X,Y,'-')>> hold on plot(y(:,1),y(:,2),'*')
當(dāng)W=5 建立M文件l,M文件如下 function dy=l(t,y)
dy=zeros(2,1);
dy(1)=5*(10+20*cos(t)-y(1))/sqrt((10+20*cos(t)-y(1))^2+(20+20*sin(t)-y(2))^2);
dy(2)=5*(20+20*sin(t)-y(2))/sqrt((10+20*cos(t)-y(1))^2+(20+20*sin(t)-y(2))^2);程序如下: 取t0=0,tf=10 [t,y]=ode45('l',[0 10],[0 0]);>> t=0:0.1:2*pi;>> X=10+20*cos(t);>> Y=20+20*sin(t);>> plot(X,Y,'-')>> hold on plot(y(:,1),y(:,2),'*')
項目六:數(shù)據(jù)點的插值與擬合
一、實訓(xùn)課程名稱
數(shù)學(xué)建模實訓(xùn)
二、實訓(xùn)項目名稱
數(shù)據(jù)點的插值與擬合
三、實驗?zāi)康暮鸵?/p>
了解插值、最小二乘擬合的基本原理,掌握用MATLAB計算一維插值和兩種二維插值的方法,掌握用MATLAB作最小二乘多項式擬合和曲線擬合的方法 四:實驗內(nèi)容和原理
附件1列出了采樣點的位置、海拔高度及其所屬功能區(qū)等信息,現(xiàn)要求你們通過數(shù)學(xué)建模來完成以下任務(wù):
(1)給出8種主要重金屬元素在該城區(qū)的空間分布,并分析該城區(qū)內(nèi)不同區(qū)域重金屬的污染程度。
五:主要儀器及耗材
計算機(jī)與Windows2000/XP系統(tǒng);MATLAB軟件 六:操作辦法與實訓(xùn)步驟 在matlab中輸入:
x=[];y=[];z=[];cx=0:100:28654;cy=5000:100:18449;cz=griddata(x,y,z,cx,cy','cubic');meshz(cx,cy,cz),rotate3d xlabel('X'),ylabel('Y'),zlabel('Z')figure(2),contour(cx,cy,cz,15,'r');
綜合實訓(xùn)作品
基于枚舉法和曲線積分法公路選址問題的求解 摘要 城區(qū)公路選址是一項利民工程,為將該工程做好,建設(shè)部門在設(shè)計時應(yīng)最大限度減少造價,從而節(jié)約成本,達(dá)到費用最省。為此目的,本文利用函數(shù)化思想建立模型求解并給出了五種不同要求下的最優(yōu)方案。
由題目所給數(shù)據(jù)(圖1)可知,直線AB右上方單位區(qū)域中的單位建設(shè)費用小于AB左下的單位建設(shè)費用,且數(shù)據(jù)矩陣關(guān)于其次對角線對稱。因而轉(zhuǎn)彎點(無論一個或兩個)均應(yīng)位于AB右上區(qū)域。
問題1要求至多1個轉(zhuǎn)彎點且在網(wǎng)格點上,可分0個和1個轉(zhuǎn)彎點兩種情況。對于0個轉(zhuǎn)彎點,即直線AB,通過幾何方法得出建設(shè)費用為14.9907百萬元。對于1個轉(zhuǎn)彎點在網(wǎng)格點上的問題,我們利用函數(shù)化思想建立函數(shù)關(guān)系模型,運用枚舉法和權(quán)重法,并利用
編程直接輸出最小費用。比較可知,恰有一個轉(zhuǎn)彎點時較無轉(zhuǎn)彎點為優(yōu)。其方案是選擇坐標(biāo)為(5,6)或(6,5)的點,建設(shè)費用最小為14.707百萬元。
對于問題3,要求轉(zhuǎn)彎點在網(wǎng)格線上,即至少有一個坐標(biāo)為整數(shù),分一個轉(zhuǎn)彎點和兩個轉(zhuǎn)彎點兩種情況。因為整數(shù)最優(yōu)點是最接近理想最優(yōu)點的整數(shù)點,我們可以先算出只有兩個轉(zhuǎn)彎點時且轉(zhuǎn)彎點在網(wǎng)格點的費用,計算得出最優(yōu)轉(zhuǎn)彎點為(4,7)和(7,4)時,建設(shè)費用最小,為14.6241百萬元。在此基礎(chǔ)上將循環(huán)語句中的步長1修改為0.01,運行結(jié)果說明,一個轉(zhuǎn)彎點的最優(yōu)選擇是(6,4.57),費用為14.6989百萬元;兩個轉(zhuǎn)彎點的最優(yōu)選擇是(3.62,7)和(7,3.62),費用為14.6201百萬元。因而選擇兩個轉(zhuǎn)彎點更優(yōu)。
對于問題4,坐標(biāo)點可以為區(qū)間[0,9]中的任意實數(shù)值,我們在問題三解法的基礎(chǔ)上對最優(yōu)點的兩個坐標(biāo)均用步長 0.01循環(huán),得出最優(yōu)轉(zhuǎn)彎點為(3.58,7.32)和(7.32,3.58),此時最小費用為14.54百萬元??梢娸^問題3的答案更優(yōu)。
對于問題5,每個點的單位建設(shè)費用都不同,且單位建設(shè)費用是連續(xù)函數(shù)。我們用曲線積分方法建立總費用模型,求出變下限積分函數(shù)的最小值,得出最優(yōu)點為(5.30,5.30),最優(yōu)建設(shè)費用為14.707百萬元,與問題1相同。
最后,我們針對問題的實際情況,對論文的優(yōu)缺點做了評價,提出了幾個改進(jìn)方向,以便用于指導(dǎo)實際應(yīng)用。
關(guān)鍵詞:
函數(shù)化建模
編程
枚舉法
最優(yōu)方案
曲線積分法
一、問題重述
某區(qū)政府計劃在下列區(qū)域(見圖1)修建一條從A(0,9)到B(9,0)的直線型公路,由于涉及路面拆遷等因素,各地段建設(shè)費用有所不同,圖1中的數(shù)字代表該區(qū)域公路單位建設(shè)費用(單位:百萬元)。未標(biāo)數(shù)字的任何地方單位建設(shè)費用均為1。圖1的每個網(wǎng)格長與寬都是1個單位。每個網(wǎng)格的邊界上建設(shè)費用按該地區(qū)最小單位費用計算。
請你按建設(shè)部門的如下具體要求,從建設(shè)費用最省的角度,給出最優(yōu)的方案。(1)公路至多只能有1個轉(zhuǎn)彎點,且轉(zhuǎn)彎點只能建在圖1所示的網(wǎng)格點上。(3)公路至多只能有2個轉(zhuǎn)彎點,且轉(zhuǎn)彎點只能建在圖1所示的網(wǎng)格線上。(4)公路至多只能有2個轉(zhuǎn)彎點,轉(zhuǎn)彎點可以建在圖1所示區(qū)域的任何位置。(5)如果各區(qū)域的單位建設(shè)費用為(百萬元),公路至多只能有1個轉(zhuǎn)彎點,轉(zhuǎn)彎點可以建在圖1所示區(qū)域的任何位置。
圖1
二、問題分析 針對問題一:需要求出當(dāng)公路至多只能有1個轉(zhuǎn)彎點且轉(zhuǎn)彎點只能建在圖1所示的網(wǎng)格點上時所需的費用最省的目標(biāo)值。首先,我們計算出沒有轉(zhuǎn)彎點時花費為14.9907百萬元。對于有一個轉(zhuǎn)彎點的,我們利用函數(shù)化建模思想將W與、的關(guān)系用數(shù)學(xué)方程式表達(dá)出來,接著利用
編程將函數(shù)關(guān)系式進(jìn)行運算,使用枚舉法得出所有可能的轉(zhuǎn)彎點的值,最后通過查找語句找出所得數(shù)據(jù)中的最小值,在與沒有轉(zhuǎn)彎點的花費比較,較小的即為可用的最優(yōu)方案。針對問題三:需要求出當(dāng)公路至多只能有2個轉(zhuǎn)彎點且轉(zhuǎn)彎點只能建在圖1所示的網(wǎng)格線上時所需的費用最省的目標(biāo)值,坐標(biāo)點至少有一個為小數(shù),在只有兩個轉(zhuǎn)彎點時且轉(zhuǎn)彎點在網(wǎng)格點的基礎(chǔ)上設(shè)定x或y其一必為小數(shù),即步長改為0.01,和只有兩個轉(zhuǎn)彎點時且轉(zhuǎn)彎點在網(wǎng)格點類似。針對問題四:需要求出當(dāng)公路至多只能有2個轉(zhuǎn)彎點但轉(zhuǎn)彎點可以建在圖1所示區(qū)域的任何位置時所需的費用最省的目標(biāo)值。此時,坐標(biāo)點為0-9之間的任意實數(shù),有兩種情況:一種為有一個轉(zhuǎn)彎點,另一種為有兩個轉(zhuǎn)彎點。在問題一與只有兩個轉(zhuǎn)彎點時且轉(zhuǎn)彎點在網(wǎng)格點的基礎(chǔ)上,針對第一種情況,只需將第一問的程序中的步長改為0.01;針對第二種情況,只需將只有兩個轉(zhuǎn)彎點時且轉(zhuǎn)彎點在網(wǎng)格點程序中的步長改為0.01,通過比較兩種情況下的值,可得出最優(yōu)方案。
針對問題五:如果各區(qū)域的單位建設(shè)費用為(百萬元),公路至多只能有1個轉(zhuǎn)彎點,轉(zhuǎn)彎點可以建在圖1所示區(qū)域的任何位置。因為每個點的單位建設(shè)費用不同,但又是連續(xù)變化的,故我們可以利用微積分法思想,假設(shè)在極小的一段路程內(nèi)建設(shè)費用是相同的,由此建立一個積分方程,通過 編碼找出花費最小值,從而得出最優(yōu)方案。
三、模型的假設(shè)
1、區(qū)域內(nèi)所有位置的路面狀況均相同
2、不考慮軟件計算帶來的極小誤差
3、不考慮轉(zhuǎn)彎點的設(shè)置對公路建設(shè)費用的影響
4、在區(qū)域內(nèi)設(shè)置轉(zhuǎn)彎點不受地形條件的限制
四、符號說明
(1):單轉(zhuǎn)彎點的坐標(biāo);
(2):雙轉(zhuǎn)彎點中靠近A點的坐標(biāo);(3):雙轉(zhuǎn)彎點中靠近B點的坐標(biāo);(4):總建設(shè)費用;
(5):單位區(qū)域的公路長度;(6):第 條路段單位建設(shè)費用;
(7):第 條路段費用;(8):第 條路段與網(wǎng)格線交點的橫坐標(biāo)矩陣;(9):第 條路段與網(wǎng)格線交點的縱坐標(biāo)矩陣;
五、模型的建立與求解
5.1 至多只能有1個轉(zhuǎn)彎點且轉(zhuǎn)彎點只能建在網(wǎng)格點上。5.1.1建立模型
(1)沒有轉(zhuǎn)彎點時: W=(百萬元)
(2)有一個轉(zhuǎn)彎點時:
利用函數(shù)化思想,建立 與、的函數(shù)關(guān)系: 第1步:在網(wǎng)格點上任取一點(圖1),根據(jù)直線兩點式方程:,可得直線 的方程為
圖1
第2步:由直線方程可求得AP與x=i(i=0、1、2……)和y=j(j=yp……
8、9)的 所有交點,并按x從小到大的排序,(,)(i=1,2,3,4……)
?。ǎ┖停?,)則可以根據(jù)它們的中點得到這兩點的路段需要的加權(quán)權(quán)重,即:
因此對于 有,累加可得AP段公路的費用。PB段公路的費用同理可得。故此總費用的表達(dá)式為:
5.1.2 軟件求解
根據(jù)枚舉法,利用Matlab軟件求解(程序見chengxuyi),流程圖如圖2:
圖2 求解 的流程圖
從 程序運行結(jié)果可以看出,使得W最小的點的坐標(biāo)為(5,6)和(6,5),此時,=14.707百萬元。
因為14.707
圖3 5.2下面計算只有兩個轉(zhuǎn)彎點且轉(zhuǎn)彎點在網(wǎng)格時的情況 5.2.1判斷公路的大致走向 5.2.1.1 公路在直線AB的上方
以直線AB為對稱軸,上方區(qū)域的單位建設(shè)費用要低于其下方對應(yīng)區(qū)域的單位建設(shè)費用。如圖4所示,若有某段公路在直線AB的下方,則以直線AB為對稱軸,得到與
其對稱的公路。兩公路長度相等,但下方價格明顯高與上方,故公路應(yīng)在直線AB的上方。
圖4 5.2.1.2 公路呈向下趨勢
若公路趨勢如圖5所示,路段 向上,水平或豎直,則連接 ,則易得公路 的建設(shè)費用低于A-P1-P2段的建設(shè)費用
圖5
所以,我們得到公路的大致走向,如圖6所示:
圖6 5.2.2 建立模型 第一步:根據(jù)兩點的位置關(guān)系,在網(wǎng)格點上任取兩點,如圖7。根據(jù)直線兩點式方程:,得到直線A , , 的方程: A :(y–9)m =(mn)(an)(xb)(9a)
圖7
第二步:根據(jù)直線方程可求得直線A 與x=i(i=0、1、2……)和y=j(j=yp……
8、9)的所有交點,并按x從小到大的排序,即:(,)(i=1,2,3,4……)
取(,)和(,)則可以根據(jù)它們的中點得到這兩點的路段需要的加權(quán)權(quán)重,即:
第3步:對于 有,累加得到A 段公路的費用,同理得到 , 段公路的費用。故整條公路的總費用表達(dá)式為:
5.2.2 軟件求解
5.2.2.1當(dāng)有兩個轉(zhuǎn)彎點時
編寫Matlab編程,利用枚舉法,得到所有可能得到的兩個轉(zhuǎn)彎點的情況時所需要的總建設(shè)費用W,程序見chengxuer,分析流程圖如圖8:
圖8 求兩個轉(zhuǎn)彎點在網(wǎng)格點上時的流程圖
經(jīng)過分析,得出使得W最小的兩點坐標(biāo)為(4,7)和(7,4),此時,=14.6241百萬元。所以,將兩轉(zhuǎn)彎點分別設(shè)在坐標(biāo)為(4,7)和(7,4)的網(wǎng)格點上時,能使建設(shè)費用最省,即為最優(yōu)的方案。如圖9:
圖9 兩轉(zhuǎn)彎點在網(wǎng)格點上時的最優(yōu)方案
5.3至多只能有2個轉(zhuǎn)彎點且轉(zhuǎn)彎點只能建網(wǎng)格線上。5.3.1 建立模型
5.3.1.1 有兩個轉(zhuǎn)彎點
在第二問的基礎(chǔ)上,我們可推出公路的大致走向,如圖10
圖10 公路的大致走向 第 1 步:根據(jù)兩點的位置關(guān)系,在網(wǎng)格點上任取兩點,得到直線A , , 的方程: A :(y–9)m =(mn)(an)(xb)(9a)
第 2 步:在坐標(biāo)滿足條件的情況下,如果n為整數(shù)根據(jù)直線方程可求得直線A 與x=i(i=0、1、2……)和y=j(j=yp……
8、9)的所有交點,并按x從小到大的排序,即:(,)(i=1,2,3,4……)
?。?,)和(,)則可以根據(jù)它們的中點得到這兩點的路段需要的加權(quán)權(quán)重,即:
若n為小數(shù),則取n的整數(shù)部分再加1,重復(fù)上述步驟; 如果m為整數(shù),同樣方法得到(,),若m為小數(shù),則取m的整數(shù)部分,然后計算得到(,)。
第3步:對于 有,累加得到A 段公路的費用,同理得到 , 段公路的費用。故整條公路的總費用表達(dá)式為:
5.3.1.2 有一個轉(zhuǎn)彎點
與設(shè)立兩個轉(zhuǎn)彎點相比,只需在網(wǎng)格線上任取一個點P,思想和方法都與之相同 5.3.2 軟件求解
5.3.2.1 有兩個轉(zhuǎn)彎點
以只有兩個轉(zhuǎn)彎點且轉(zhuǎn)彎點在網(wǎng)格點上的程序為基礎(chǔ),將循環(huán)中的步長設(shè)為0.01,在m或n為整數(shù)且a或b為整數(shù)的條件下,尋找最優(yōu)解。程序見chengxusan,流程圖以A 為例顯示了取整與求取線段與網(wǎng)格線交點的過程,其他步驟同上。如圖11。
圖11 兩個轉(zhuǎn)彎點下的部分流程圖 5.3.2.2設(shè)一個轉(zhuǎn)彎點
編程思路與設(shè)兩個轉(zhuǎn)彎點的情況相同,程序見chengxusi。5.3.3 結(jié)果
設(shè)一個轉(zhuǎn)彎點時,使W最小的轉(zhuǎn)彎點坐標(biāo)為(6,4.57),=14.6989; 設(shè)兩個轉(zhuǎn)彎點時,使W最小的轉(zhuǎn)彎點坐標(biāo)為(3.62,7)和(7,3.62),=14.63。所以最優(yōu)方案為:設(shè)立兩個轉(zhuǎn)彎點,其坐標(biāo)分別是(3.62,7)和(7,3.62)5.4至多只能有2個轉(zhuǎn)彎點但轉(zhuǎn)彎點可以建在所示區(qū)域的任何位置。
該問中,轉(zhuǎn)彎點坐標(biāo)都為實數(shù),在問題二的基礎(chǔ)上只需要改變x,y的步長,比較步長0.1和0.01,分析結(jié)果為步長是0.01時所花費用最省,即兩個轉(zhuǎn)彎點的坐標(biāo)為(3.58,7.32),(7.32,3.58)時,建設(shè)費用為14.54百萬元。5.5 單位建設(shè)費用連續(xù)變化 5.5.1縮小轉(zhuǎn)彎點所在區(qū)間
以AB所在直線為x軸,AB的中垂線為y軸建立平面直角坐標(biāo)系。以點A、B焦點,任意畫一橢圓,如圖12:
圖12 兩圓的半徑差為dr,當(dāng)dr足夠小時,我們可將②區(qū)域內(nèi)的單位造價視為均勻的,設(shè)三個區(qū)域內(nèi)的造價分別為,由條可知,是P沿橢圓逆時針轉(zhuǎn)過某一微小弧度所對應(yīng)位置, C,D分別是 B與圓②相交的兩個點,分別計算路線A-P-B和路線A--B所對應(yīng)的總造價:
+
+ +)+
+ B)= P+PB)=
同理可證得:
以此類推可知將轉(zhuǎn)彎點設(shè)在y軸上可使建設(shè)費用最省。在如圖13所示的坐標(biāo)系下,轉(zhuǎn)彎點在直線y =x上
圖13 轉(zhuǎn)彎點的位置 5.5.2 建立模型 第一步:在線段上取極小的一段dS,此時,其建設(shè)費用可看作是均勻的,設(shè)此時
t =
(1)
第二步:對線段上的任意一點(x , y),設(shè)其參數(shù)方程為:
且令x = x(z)=z;第三步:
因為x = x(z)=z,所以
是公路所在直線的斜率,用k 表示,所以;
(2)
第四步:根據(jù)直線兩點式方程:,得到直線AP、PB的直線方程: AP:
PB:
由于點P在直線y = x上,所以:
AP:
(3)
PB:
(4)第五步:對x積分,得到W的表達(dá)式:
(5)將(1)-(4)代入(5)得:
(6)
所以,該問題轉(zhuǎn)化求函數(shù)式(6)的最小值問題
以直線AB為對稱軸,上方區(qū)域的單位建設(shè)費用要低于其下方對應(yīng)區(qū)域的單位建設(shè)費用。所以,轉(zhuǎn)彎點應(yīng)選在直線y=x上且位于直線AB的上方,即m>4,可縮短程序運行的時間。利用Matlab軟件編程,以0.01為步長,解出W在區(qū)間[4,8.99]上的最小值。程序見chengxuwu。5.2.3.2結(jié)果
當(dāng)m=5.30時,W最小,Wmin=14.707百萬元。
所以,將轉(zhuǎn)彎點設(shè)在(5.30,5.30)處,可使建設(shè)費用最少,為最優(yōu)方案。
六、模型的推廣與改進(jìn)方向
1、枚舉法只適用于個體數(shù)量較少的情況下
2、根據(jù)題目要求,分析出合適區(qū)域,在不影響最優(yōu)方案的選擇情況下適當(dāng)縮短步長,以減少程序中不必要的循環(huán)計算進(jìn)而縮短運算時間。
七、模型的優(yōu)缺點
1、模型的優(yōu)點
由于模型運用了枚舉法,從而使得建立出該模型后比較直觀,易于理解且算法的正確性比較容易證明。
2、模型的缺點
當(dāng)數(shù)據(jù)量龐大時,程序運行時間稍長,對計算機(jī)的性能要求過高。參考文獻(xiàn)
[1]謝軍占,呂常影.亞當(dāng)?斯密的公路經(jīng)濟(jì)理論[J].長安大學(xué)學(xué)報(社會科學(xué)版).第8卷 第3期.2006年9月
[2]徐秀華.Matlab軟件在數(shù)學(xué)建模中的應(yīng)用[J].科技與生活.2010年第13期 [3] 趙修坤
微積分第三版
國防工業(yè)出版社
2012 年8月