杜 輝 楊云峰 曾昭英 趙提財
(1.東北石油大學(xué)數(shù)學(xué)與統(tǒng)計學(xué)院,黑龍江 大慶163000;2.東北石油大學(xué)研究生院,黑龍江 大慶 163000)
在科技高速發(fā)展的今天,高精尖人才的培養(yǎng)是其強有力的后盾。而研究生階段就是培養(yǎng)高精尖技術(shù)型人才的重要階段。創(chuàng)新能力的培養(yǎng)是研究生階段培養(yǎng)的重要能力之一。數(shù)學(xué)建模課程就是培養(yǎng)研究生創(chuàng)新實踐能力的重要課程。只有理論是不夠的,很多理論都是在實踐的基礎(chǔ)上得以應(yīng)用和延伸,所以研究生數(shù)學(xué)建模實驗就變得非常重要了。
既然是實驗,就離不開計算機編程。計算機編程就離不開數(shù)學(xué)軟件。在東北石油大學(xué)研究生數(shù)學(xué)建模實驗中,主要應(yīng)用的數(shù)學(xué)軟件有Matlab、Lingo、R等軟件,這些軟件的學(xué)習(xí)與使用將理論與實際緊密的聯(lián)系在了一起。本文將舉例一些東北石油大學(xué)研究生數(shù)學(xué)建模實驗實例,并應(yīng)用相應(yīng)的數(shù)學(xué)軟件進行求解。
例1 一年生植物春季發(fā)芽,夏季開花,秋季產(chǎn)種,有一部分種子可以活過冬天,其中的一部分能在第二年春季發(fā)芽,然后開花、產(chǎn)種,剩下的種子雖然未發(fā)芽,但如果又能活過第二年冬天,則其中的一部分還能在第三年春季發(fā)芽,然后開花、產(chǎn)種,如此繼續(xù),一年生植物只能活一年,假設(shè)種子最多能活過兩個冬天,建立數(shù)學(xué)模型研究該植物的數(shù)量變化規(guī)律,以及它能一直繁殖下去的條件。
xk——該一年生植物在第k年的數(shù)量;
c——每棵植物秋季產(chǎn)種的平均數(shù),c>0;
a1——一歲的種子能在春季發(fā)芽的比例,0<a1<1;
a2——兩歲的種子能在春季發(fā)芽的比例,0<a2<1;
b0——零歲的種子能活過冬天的比例,0<b0<1;
b1——一歲的種子能活過冬天的比例,0<b1<1;
b——種子能活過一個冬天的比例,0<b<1;
假設(shè) a1>a2;b0=b1=b;a1,a2,b,c 均為常數(shù)。
根據(jù)模型假設(shè),列式得
x1=a1bcx0(1)
xk=a1bcxk-1+a2b(1-a1)bcxk-2,k=2,3… (2)
令 p=a1bc (3)
q=a2(1-a1)b2c (4)
(1)和(2)可以改寫為
x1=px0(5)
xk=pxk-1+qxk-2,k=2,3… (6)
由二階常系數(shù)線性齊次差分方程解法可得(3.6)的解為
通過分析可知一年生植物能一直繁殖下去的充分必要條件是
Matlab程序:
a1=0.5;a2=0.25;c=10;
bs=2/(sqrt(a1.*c).^2+4.*a2.*(1-a1).*c)+a1.*c);
b=bs+bs.*[.01,0,-.01]
p=a1.*c.*b;q=a2.*(1-a1).*c.*b.^2;
x=[100,100,100];x(2,:)=p.*x(1,:);n=20;
for k=2:n;
x(k+1,:)=p.*x(k,:)+q.*x(k-1,:);
disp(‘在b>b*,b=b*,b<b*三種情況下一年生植物數(shù)量的演變’);
disp(‘年 b>b*b=b*b<b*’);
disp[(0:n)’,round(x)];
命令窗口顯示的計算結(jié)果為
bs=0.19089 b=0.1928 0.19089 0.18898
結(jié)果分析:(1)當(dāng)b>b*時,一年生植物數(shù)量將無限增長;
(2)當(dāng)b=b*時,一年生植物數(shù)量將趨于穩(wěn)定值;
(3)當(dāng)b<b*時,一年生植物將瀕于滅絕。
把(3)、(4)代入(8)得
則一年生植物能一直繁殖下去的充分必要條件是
b*≤b<1
取 a1=0.5,a2=0.25,c=10,由(10)計算臨界值 b*,然后取 x0=100,分別在b>b*,b=b*和b<b*三種不同情況下用循環(huán)語句計算一年生植物的數(shù)量在20年內(nèi)的演變過程。
例2假定某電池廠宣稱該廠生產(chǎn)的某種型號電池壽命的中位數(shù)為140A.h.為了檢驗該廠生產(chǎn)的電池是否符合其規(guī)定的標(biāo)準(zhǔn),現(xiàn)從新近生產(chǎn)的一批電池中抽取20個隨機樣本,并對這20個電池的壽命進行了測試,其結(jié)果如下(單位:A.h):
試用Wilcoxon符號秩檢驗分析該廠生產(chǎn)的電池是否符合其標(biāo)準(zhǔn)。
R程序:
>X<-scan()
1:137.0 140.0 138.3 139.0 144.3 139.1 141.7 137.3 133.5 138.2
11:141.1 139.2 136.5 136.5 135.6 138.0 140.9 140.6 136.3 134.1
21:
Read 20 items
>Wilcox.test(X,mu=140,alternative= ”less”,exact=FALSE,correct=FALSE,conf.int=TRUE)
Wilcoxon signed rank test
data:X
V=34,p-value=0.00703
Alternative hypothesis:true mu is less than 140
95 percent confidence interval:
-Inf 139.2000
Sample estimates:
(pseudo)median
138.2000
結(jié)果分析:這里 V=34 是 Wilcoxon 統(tǒng)計量,P 值 0.007034<0.05,拒絕原假設(shè),即中位數(shù)達不到140A.h.
例3 分配甲、乙、丙、丁、戊去完成A,B,C,D,E五項任務(wù),每人完成一項,每項任務(wù)只能由一個人去完成,五個人分別完成各項任務(wù)所需時間如下表所示,試作出任務(wù)分配使總時間最少。
表1
Lingo程序如下:
MODEL:
SETS:
WORKER/W1.W5/;
JOB/J1.J5/;
LINKS(WORKER,JOB):C,X;
ENDSETS
DATA:
C=
表2
ENDDATA
MIN=@SUM(LINKS:C*X);
@for(WORKER(I):@SUM(JOB(J):X(I,J))=1);
@for(JOB(J):@SUM(WORKER(I):X(I,J))=1);
@for(LINKS:@BIN(X));
END
求解得到五個變量x11,x25,x33,x42,x54等于1,其他變量等于0,代表甲完成任務(wù)A,乙完成任務(wù)E,以此類推。目標(biāo)函數(shù)值為30。
本文列舉了將Matlab、R、Lingo應(yīng)用于數(shù)學(xué)建模中的實例。數(shù)學(xué)建模實驗不僅讓學(xué)生們學(xué)到了很多課上學(xué)不到的東西,擴展了自身的理論知識,提高了計算機編程水平,同時也使得理論與應(yīng)用緊密的結(jié)合在一起,理論得以實現(xiàn)。如何選擇合適的教學(xué)模式,選擇合適的實驗題目將是今后研究的一個方向。
[1]章紹輝,編.數(shù)學(xué)建模[M].北京:科學(xué)出版社,2010.
[2]薛毅,陳立萍,編.R 統(tǒng)計建模與 R 軟件[M].北京:清華大學(xué)出版社,2014.
[3]袁新生,邵大宏,郁時煉,編.LINGO 和 EXCEL在數(shù)學(xué)建模中的應(yīng)用[M].北京:科學(xué)出版社,2007.