- 相關(guān)推薦
計(jì)算機(jī)模擬在數(shù)學(xué)建模中的應(yīng)用
計(jì)算機(jī)模擬是按時(shí)間來劃分的,因?yàn)橛?jì)算機(jī)模擬實(shí)質(zhì)上是系統(tǒng)隨時(shí)間變化而變化的動(dòng)態(tài)寫照,以下是小編搜集整理的一篇探究計(jì)算機(jī)模擬在數(shù)學(xué)建模應(yīng)用的論文范文,供大家閱讀參考。
【摘要】本文主要闡述了如何利用計(jì)算機(jī)模擬來解決數(shù)學(xué)建模中的實(shí)際問題.首先,提出問題,根據(jù)問題的具體模式對(duì)其進(jìn)行分析整理.其次,對(duì)上述問題進(jìn)行數(shù)學(xué)建模.然后,利用計(jì)算機(jī)進(jìn)行模擬,主要分為隨機(jī)模擬(蒙特―卡洛方法)、離散系統(tǒng)模擬和連續(xù)系統(tǒng)模擬三種類型.最后對(duì)結(jié)果進(jìn)行分析,說明計(jì)算機(jī)模擬方法在數(shù)學(xué)建模中的有效性.
【關(guān)鍵詞】計(jì)算機(jī)模擬;數(shù)學(xué)建模;隨機(jī)模擬;離散系統(tǒng)
一、引言
模型(Model)和模型建構(gòu)(Modeling)不僅僅是科學(xué)理論體系中的重要內(nèi)容,也是我們認(rèn)識(shí)世界的重要工具和方法.計(jì)算機(jī)技術(shù)的飛速發(fā)展給許多學(xué)科帶來了巨大的影響,計(jì)算機(jī)使問題的求解變得更加簡(jiǎn)單方便,同時(shí),也使解決問題的領(lǐng)域變得更加寬泛.計(jì)算機(jī)適合解決不確定、規(guī)模大且難以解析化的數(shù)學(xué)模型.例如,對(duì)于一些帶隨機(jī)因素的復(fù)雜系統(tǒng)的問題,建模之前常需要做一些簡(jiǎn)化假設(shè),這可能導(dǎo)致與實(shí)際情況相距甚遠(yuǎn),解答無法應(yīng)用.此時(shí),利用計(jì)算機(jī)進(jìn)行模擬幾乎成為了唯一的選擇.在歷屆全國(guó)和國(guó)際大學(xué)生數(shù)學(xué)建模比賽(MCM/ICM)中,計(jì)算機(jī)模擬常用于去求解、檢驗(yàn),是建模過程中非常重要的一種方法[1].
一般地,計(jì)算機(jī)模擬在以下幾種情況中能有效解決問題:
(1)難以在實(shí)際環(huán)境中進(jìn)行實(shí)驗(yàn)和觀察,只能用計(jì)算機(jī)模擬,比如太空飛行的研究;
(2)需要在短時(shí)間內(nèi)觀察到系統(tǒng)發(fā)展的全過程,用來估計(jì)某些參數(shù)對(duì)系統(tǒng)變化的影響;
(3)需要對(duì)系統(tǒng)進(jìn)行長(zhǎng)時(shí)間觀察、運(yùn)行比較,從大量方案中尋求最優(yōu)方案;
(4)難以用解析式表示的系統(tǒng);
(5)雖然有解析式,但是分析、計(jì)算過程過于復(fù)雜,只能借助計(jì)算機(jī)模擬來提供簡(jiǎn)單可行的方法.
在通常情況下,計(jì)算機(jī)模擬是按時(shí)間來劃分的,因?yàn)橛?jì)算機(jī)模擬實(shí)質(zhì)上是系統(tǒng)隨時(shí)間變化而變化的動(dòng)態(tài)寫照.目前,計(jì)算機(jī)模擬大致可以分為隨機(jī)模擬(蒙特―卡洛方法)、離散系統(tǒng)模擬和連續(xù)系統(tǒng)模擬三類.其中,蒙特―卡洛(MontoCarlo)方法是典型的靜態(tài)模擬;離散系統(tǒng)模擬和連續(xù)系統(tǒng)模擬是屬于動(dòng)態(tài)模擬.下面將就具體問題討論這三種數(shù)學(xué)建模競(jìng)賽中經(jīng)常用到的模擬方法.
二、問題的定義與分類
數(shù)學(xué)建模的第一步,就是提出問題,對(duì)具體問題進(jìn)行分析、整理與歸類.
1.問題的定義
問題是指不能直接利用已有知識(shí)處理,但是可以間接用已有知識(shí)處理的情境[2].
2.問題的分類
根據(jù)計(jì)算機(jī)模擬的種類,問題主要可以分為以下三種模式:非線性規(guī)劃問題、離散系統(tǒng)問題和連續(xù)系統(tǒng)問題三種類型.下面舉例說明一下這三種不同類型的問題.
(1)非線性規(guī)劃(nonlinearprogramming)問題
非線性規(guī)劃是具有非線性約束條件或目標(biāo)函數(shù)的數(shù)學(xué)規(guī)劃,研究一個(gè)n元實(shí)函數(shù)在一組等式或不等式的約束條件下的極值問題,且目標(biāo)函數(shù)和約束條件至少有一個(gè)是未知量的非線性函數(shù).
例1非線性規(guī)劃問題
minf(x)x∈En.s.t.gi(x)≥0i=1,2,…,m.aj≤xj≤bjj=1,2,…,n.
(2)離散系統(tǒng)(discretesystem)問題
離散系統(tǒng)是指系統(tǒng)狀態(tài)只在有限的時(shí)間點(diǎn)或可數(shù)的時(shí)間點(diǎn)上有隨機(jī)事件發(fā)生的系統(tǒng).
例如排隊(duì)系統(tǒng),顯然,狀態(tài)量的變化只是在離散的隨機(jī)事件點(diǎn)上完成.假設(shè)離散系統(tǒng)狀態(tài)的變化是在一個(gè)時(shí)間點(diǎn)上瞬間完成的.
例2離散系統(tǒng)問題:庫存問題
在銷售部門、工廠等領(lǐng)域中都存在庫存問題,庫存太多造成浪費(fèi)以及資金積壓,庫存太少不能滿足需求也會(huì)造成損失.部門的工作人員需決定何時(shí)進(jìn)貨,進(jìn)多少,使得所花費(fèi)的平均費(fèi)用最少,而收益最大,這就是庫存問題.
某企業(yè)當(dāng)天生產(chǎn)的產(chǎn)品必須售出,否則就會(huì)變質(zhì).該產(chǎn)品單位成本為2.5元,單位產(chǎn)品售價(jià)為5元.企業(yè)為避免存貨過多而造成損失,擬從以下2種庫存方案中選出一個(gè)較優(yōu)的方案:
方案甲:按前1天的銷售量作為當(dāng)天的庫存量;
方案乙:按前2天的平均銷售量作為當(dāng)天的庫存量.
(3)連續(xù)系統(tǒng)(continuoussystem)問題
連續(xù)系統(tǒng)是指時(shí)間和各個(gè)組成部分的變量都具有連續(xù)變化形式的系統(tǒng).例如自動(dòng)控制系統(tǒng),只有當(dāng)受控過程和控制方式同時(shí)為連續(xù)時(shí)的系統(tǒng)才稱為連續(xù)控制系統(tǒng).
例3連續(xù)系統(tǒng)問題:追逐問題
追逐問題如圖,正方形ABCD的四個(gè)頂點(diǎn)各有一人.在某一時(shí)刻,四人同時(shí)出發(fā)以勻速v=1m/s按順時(shí)針方向追逐下一人,如果他們始終保持對(duì)準(zhǔn)目標(biāo),則最終按螺旋狀曲線交匯于中心點(diǎn)O.試求出這種情況下每個(gè)人的行進(jìn)軌跡.
三、模型的建立與計(jì)算機(jī)模擬
1.隨機(jī)模擬(蒙特―卡洛方法)
(1)蒙特―卡洛(MontoCarlo)方法簡(jiǎn)介
蒙特―卡洛(MontoCarlo)方法(或稱隨機(jī)模擬法),是計(jì)算機(jī)模擬的基礎(chǔ),源于1977年法國(guó)科學(xué)家蒲豐提出的一種計(jì)算圓周率π的方法―隨機(jī)投針法,即著名的蒲豐投針問題[3].蒙特―卡洛方法的基本思想,是建立一個(gè)概率模型,使所求問題的解正好是該模型的參數(shù)或其他有關(guān)的特征量.然后,通過模擬多次隨機(jī)抽樣實(shí)驗(yàn),統(tǒng)計(jì)出某事件發(fā)生的百分比.只要實(shí)驗(yàn)次數(shù)n很大,該百分比便近似于事件發(fā)生的概率.蒙特―卡洛方法屬于試驗(yàn)數(shù)學(xué)的一個(gè)分支.
(2)模型建立
例1中,對(duì)于非線性規(guī)劃問題
minf(x),x∈En.
s.t.gi(x)≥0(i=1,2,…,m).
aj≤xj≤bj(j=1,2,…,n).
用蒙特―卡洛方法求解的基本思想是,在估計(jì)的區(qū)域{(x1,x2,……,xn)|xj∈[aj,bj],j=1,2,……,n}. 內(nèi)隨機(jī)取若干個(gè)試驗(yàn)點(diǎn),然后從試驗(yàn)點(diǎn)中找出可行點(diǎn),再從可行點(diǎn)中選擇最小點(diǎn).
假設(shè)試驗(yàn)點(diǎn)的第j個(gè)分量xj服從[aj,bj]內(nèi)的均勻分布.
符號(hào)假設(shè)
P:試驗(yàn)點(diǎn)總數(shù);maxP:最大試驗(yàn)點(diǎn)總數(shù);
K:可行點(diǎn)總數(shù);maxK:最大可行點(diǎn)數(shù);
X:迭代產(chǎn)生的最優(yōu)點(diǎn);
Q:迭代產(chǎn)生的最小值f(X),其初始值為計(jì)算機(jī)所能表示的最大數(shù).
2.離散系統(tǒng)模擬
離散系統(tǒng)模擬是指對(duì)離散系統(tǒng),即系統(tǒng)狀態(tài)只在有限的時(shí)間點(diǎn)或可數(shù)的時(shí)間點(diǎn)上有隨機(jī)事件發(fā)生的系統(tǒng)進(jìn)行模擬.例如排隊(duì)系統(tǒng).本文例2中討論某企業(yè)生產(chǎn)的庫存系統(tǒng)的計(jì)算機(jī)模擬方法,這是排隊(duì)系統(tǒng)的一個(gè)典型例子.下面對(duì)例2中的問題進(jìn)行分析模擬:
(1)模型建立
假定市場(chǎng)對(duì)該產(chǎn)品的每天需求量是一個(gè)隨機(jī)變量,并且從以往的統(tǒng)計(jì)分析得知它服從正態(tài)分布:N(135,22.4).
計(jì)算機(jī)模擬的思路如下:
一、獲得市場(chǎng)對(duì)該產(chǎn)品需求量的數(shù)據(jù);
二、計(jì)算出按照2種不同方案,經(jīng)T天后企業(yè)所得的利潤(rùn)值;
三、比較大小,并從中選出一個(gè)更優(yōu)的方案.
引入下列記號(hào):
D:每天需求量;
Q1:方案甲當(dāng)天的庫存量;
Q2:方案甲當(dāng)天的庫存量;
S1:方案甲前1天的銷售量;
S21:方案乙前1天的銷售量;
S22:方案乙前2天的銷售量;
S3:方案甲當(dāng)天實(shí)際銷售量;
S4:方案乙當(dāng)天實(shí)際銷售量;
L1:方案甲當(dāng)天的利潤(rùn);
L2:方案乙當(dāng)天的利潤(rùn);
TL1:方案甲累計(jì)總利潤(rùn);
TL2:方案甲累計(jì)總利潤(rùn);
T:預(yù)定模擬天數(shù).
(2)模型的求解
利用Matlab編程來實(shí)現(xiàn)這一過程,這需要建立如下的M-文件:
function[TL1,TL2]=kucun(T,S1,S21,S22)
TL1=0;TL2=0;k=1;
whilek Q1=S1;Q2=(S21+S22)/2;
D=normrnd(135,22.4);
ifD S3=Q1;
else
S3=D;
end
ifD S4=Q2;
else
S4=D;
end
L1=5*S3-2.5*Q1;L2=5*S4-2.5*Q2;
TL1=TL1+L1;TL2=TL2+L2;
k=k+1;
end
S1=S3;S22=S21;S21=S4;
給出一個(gè)初值,反復(fù)運(yùn)行上述程序,通過比較最后可得出每一個(gè)方案的優(yōu)劣.計(jì)算機(jī)模擬在排隊(duì)系統(tǒng)中其他方面如加工制造系統(tǒng)、訂票系統(tǒng)、計(jì)算機(jī)系統(tǒng)、交通控制系統(tǒng)等,都有廣泛的應(yīng)用.
3.連續(xù)系統(tǒng)模擬
對(duì)連續(xù)系統(tǒng)的模擬,實(shí)際上是將連續(xù)狀態(tài)變量在時(shí)間上進(jìn)行離散化處理,并由此模擬系統(tǒng)的運(yùn)行狀態(tài).下面對(duì)例3中的問題進(jìn)行分析模擬:
(1)模型建立
a.建平面直角坐標(biāo)系A(chǔ)(x1,y1),B(x2,y2),C(x3,y3),D(x4,y4).
b.取時(shí)間間隔為Δt,計(jì)算每一點(diǎn)在各個(gè)時(shí)刻的坐標(biāo).
設(shè)某點(diǎn)在t時(shí)刻的坐標(biāo)為(xi,yi),則在t+Δt時(shí)刻的坐標(biāo)為(xi+vΔtcosα,yi+vΔtsinα),
其中cosα=xi+1-xid,sinα=yi+1-yid,
d=(xi+1-xi)2+(yi+1-yi)2.
c.取足夠小的ε,當(dāng)d<ε時(shí)結(jié)束算法.
d.連接每一個(gè)點(diǎn)在各個(gè)時(shí)刻的位置,即得所求運(yùn)動(dòng)軌跡(如圖2).
(2)模型的求解
利用Matlab編程來實(shí)現(xiàn)這一過程,這需要建立如下的M-文件:
v=1;dt=0.05;x=[001010];x=[010100];fori=1:4plot(x(i),y(i),'.'),holdonendd=20;while(d>0.1)x(5)=x(1);y(5)=y(1);fori=1:4d=sqrt((x(i+1)-x(i))^2+(y(i+1)-y(i))^2);x(i)=x(i)+v*dt*(x(i+1)-x(i))/d;y(i)=y(i)+v*dt*(y(i+1)-y(i))/d;plot(x(i),y(i),'.'),holdonendend
四、結(jié)果分析
對(duì)以上各個(gè)例子中的結(jié)果進(jìn)行分析,發(fā)現(xiàn)計(jì)算機(jī)模擬的結(jié)果能更加真實(shí)的表現(xiàn)系統(tǒng)實(shí)際的動(dòng)態(tài)變換過程.事實(shí)上,還有很多實(shí)際問題都可以用計(jì)算機(jī)模擬來解決,如背包問題、安排比賽選手的比賽日程、三國(guó)時(shí)期的“華容道”問題等等都可以用計(jì)算機(jī)模擬來解決.
總之,使用計(jì)算機(jī)模擬來進(jìn)行數(shù)學(xué)建模,可以使求解更加快捷、方便和精確,另外,也使得解決問題的領(lǐng)域擴(kuò)大,從離散、連續(xù)確定性領(lǐng)域延伸到隨機(jī)的非確定性領(lǐng)域,計(jì)算機(jī)模擬正是處理此類問題的重要方法.
【參考文獻(xiàn)】
[1]謝國(guó)瑞,郝志峰,汪國(guó)祥.概率論與數(shù)理統(tǒng)計(jì)[M].北京:高等教育出版社,2012.
[2]王沫然.Matlab7.0與科學(xué)計(jì)算[M].北京:電子工業(yè)出版社,2011.
[3]趙靜,但琦,嚴(yán)尚安,等.數(shù)學(xué)建模與數(shù)學(xué)實(shí)驗(yàn)[M].北京:高等教育出版社,2010
【計(jì)算機(jī)模擬在數(shù)學(xué)建模中的應(yīng)用】相關(guān)文章:
建模思想在初中數(shù)學(xué)教學(xué)中的應(yīng)用08-02
論數(shù)學(xué)建模在經(jīng)濟(jì)學(xué)中的應(yīng)用10-16
曲線擬合在數(shù)學(xué)建模中的應(yīng)用07-06
應(yīng)用數(shù)學(xué)及其數(shù)學(xué)建模思想05-06
論文:淺析應(yīng)用數(shù)學(xué)建模思想04-16
數(shù)學(xué)建模思想的應(yīng)用與方法分析09-07
淺談經(jīng)濟(jì)問題中的數(shù)學(xué)建模應(yīng)用10-13
CODARTS建模方法在嵌入式軟件開發(fā)中的應(yīng)用09-15
數(shù)學(xué)建模論文07-06