數(shù)學(xué)模型實(shí)驗(yàn)商人過(guò)河_第1頁(yè)
數(shù)學(xué)模型實(shí)驗(yàn)商人過(guò)河_第2頁(yè)
數(shù)學(xué)模型實(shí)驗(yàn)商人過(guò)河_第3頁(yè)
數(shù)學(xué)模型實(shí)驗(yàn)商人過(guò)河_第4頁(yè)
數(shù)學(xué)模型實(shí)驗(yàn)商人過(guò)河_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、數(shù)學(xué)模型實(shí)驗(yàn)實(shí)驗(yàn)報(bào)告姓名:王佳蕾學(xué)院:數(shù)學(xué)與信息科學(xué)學(xué)院地點(diǎn):主樓402學(xué)號(hào):20151001055專(zhuān)業(yè):數(shù)學(xué)類(lèi)時(shí)間:2017年4 月 16日一、 實(shí)驗(yàn)名稱(chēng):商人和仆人安全渡河問(wèn)題的matlab實(shí)現(xiàn)二、 實(shí)驗(yàn)?zāi)康模?.熟悉matlab基礎(chǔ)知識(shí),初步了解matlab程序設(shè)計(jì);2.研究多步?jīng)Q策過(guò)程的程序設(shè)計(jì)方法;3.(允許)狀態(tài)集合、(允許)決策集合以及狀態(tài)轉(zhuǎn)移公式的matlab表示;三、 實(shí)驗(yàn)任務(wù): 只有一艘船,三個(gè)商人三個(gè)仆人過(guò)河,每一次船僅且能坐1-2個(gè)人,而且任何一邊河岸上仆人比商人多的時(shí)候,仆人會(huì)殺人越貨。怎么在保證商人安全的情況下,六個(gè)人都到河對(duì)岸去,建模并matlab實(shí)現(xiàn)。要求:代碼

2、運(yùn)行流暢,結(jié)果正確,為關(guān)鍵語(yǔ)句加詳細(xì)注釋。四、 實(shí)驗(yàn)步驟:1.模型構(gòu)成2.求決策3.設(shè)計(jì)程序4.得出結(jié)論(最佳解決方案)推薦精選五、 實(shí)驗(yàn)內(nèi)容:(一)構(gòu)造模型并求決策 設(shè)第k次渡河前此岸的商人數(shù)為xk,隨從數(shù)為yk,k=1,2,.,xk,yk=0,1,2,3.將二維向量sk=(xk,yk)定義為狀態(tài),安全渡河條件下的狀態(tài)集合稱(chēng)為允許狀態(tài)集合,記作S,S 對(duì)此岸和彼岸都是安全的。S=(x,y)|x=0,y=0,1,2,3;x=3,y=0,1,2,3;x=y=1,2 設(shè)第k次渡船上的商人數(shù)為uk,隨從數(shù)vk,將二維變量dk=(uk,vk)定義為決策,允許決策集合記為D,由小船的容量可知,D=(u,

3、v)|1<=u+v<=2,u,v=0,1,2 k為奇數(shù)時(shí),船從此岸駛向彼岸,k為偶數(shù)時(shí),船從彼岸駛向此岸,狀態(tài)sk隨決策變量dk的變化規(guī)律為sk+1=sk+(-1)k*dk(狀態(tài)轉(zhuǎn)移律)這樣制定安全渡河方案歸結(jié)為如下的多步?jīng)Q策模型: 求決策dkD(k=1,2,.,n),使?fàn)顟B(tài)skS,按照轉(zhuǎn)移律,由初始狀態(tài)s1=(3,3)經(jīng)有限步n到達(dá)狀態(tài)sn+1=(0,0)。function jueche=guohe %程序開(kāi)始需要輸入商人和仆人數(shù); n=input('輸入商人數(shù)目:'); nn=input('輸入仆人數(shù)目:'); nnn=input('輸入

4、船的最大容量:'); if nn>n n=input('輸入商人數(shù)目:'); nn=input('輸入仆人數(shù)目:'); nnn=input('輸入船的最大容量:');a end %決策生成 jc=1; %決策向量放在矩陣d中,jc為插入新元素的行標(biāo)初始為1; for i=0:nnn for j=0:nnn if(i+j<=nnn)&(i+j>0) %滿足條D=(u,v)|1<=u+v<=nnn,u,v=0,1,2 d(jc,1:3)=i,j,1;%生成一個(gè)決策向量立刻擴(kuò)充為三維; d(jc+1,1:3

5、)=-i,-j,-1; %同時(shí)生成他的負(fù)向量; jc=jc+2; %由于生成兩個(gè)決策向量,則jc要向下移動(dòng)兩個(gè); end end (二)程序設(shè)計(jì)推薦精選 j=0; end %狀態(tài)數(shù)組生成 kx=1; %狀態(tài)向量放在A矩陣中,生成方法同矩陣生成; for i=n:-1:0 for j=nn:-1:0 if(i>=j)&(n-i)>=(nn-j)|(i=0)|(i=n) %可以存在的狀態(tài)的約束條件 A(kx,1:3)=i,j,1; %生成狀態(tài)數(shù)組集合D A(kx+1,1:3)=i,j,0; kx=kx+2; end end j=nn;end %將狀態(tài)向量生成抽象矩陣k=(1/2

6、)*size(A,1);CX=zeros(2*k,2*k);a=size(d,1);for i=1:2*kfor j=1:ac=A(i,:)+d(j,:);x=find(A(:,1)=c(1)&(A(:,2)=c(2)&(A(:,3)=c(3);v(i,x)=1; %x為空不會(huì)改變v值endend %dijstra算法x=1;y=size(A,1);m=size(v,1);T=zeros(m,1);T=T.-1;lmd=T;P=T;S=zeros(m,1);S(x)=1;P(x)=0;lmd(x)=0;k=x;while(1)a=find(S=0);aa=find(S=1);i

7、f size(aa,1)=mbreak;endfor j=1:size(a,1) pp=a(j,1);推薦精選 if v(k,pp)=0 if T(pp)>(P(k)+v(k,pp) T(pp)=(P(k)+v(k,pp);lmd(pp)=k; end endendmi=min(T(a);if mi=inf; break;elsed=find(T=mi);d=d(1);P(d)=mi;T(d)=inf;k=d;S(d)=1;endendif lmd(y)=infjueche='cannotreach'return;endjueche(1)=y;g=2;h=y;while(1)if h=xbreak;endjueche(g)=lmd(h);g=g+1;h=lmd(h);endjueche=A(jueche,:);jueche(:,3)=;(三)運(yùn)行結(jié)果輸入商人數(shù)目:3輸入仆人數(shù)目:3輸入船的最大容量:2 推薦精選ans = 0 0 1 1 0 1 0 3 0 2 2 2 1 1 3 1 3 0 3 2 3 1 3 3、六、 結(jié)論體會(huì): 安全渡河問(wèn)題可以看成一個(gè)多步?jīng)Q策過(guò)程。每一步,即船由此岸駛向彼岸或從彼岸駛回此岸,都要對(duì)船上的人員(商人隨從各幾人)作出決策,在保證安全的前提下(兩岸的商人數(shù)都不比隨從數(shù)少),在有限步內(nèi)使人員全部

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論