軟件學院03級數(shù)據(jù)結(jié)構(gòu)課程設計總體設計_第1頁
軟件學院03級數(shù)據(jù)結(jié)構(gòu)課程設計總體設計_第2頁
軟件學院03級數(shù)據(jù)結(jié)構(gòu)課程設計總體設計_第3頁
全文預覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、1 / 3個人資料整理,僅供個人學習使用軟件學院03級數(shù)據(jù)結(jié)構(gòu)課程設計總體設計 所選項目:救護車調(diào)度模擬系統(tǒng) 問題描述:用Java語言設計實現(xiàn)一個用事件驅(qū)動的 “救護車調(diào)度 ”離散模型,模擬120急救中心響 應每個病人的呼救信號統(tǒng)一調(diào)度救護車運行的情況。我們對問題作適當簡化,假設:某城市共有m個可能的呼救點(居民小區(qū)、工廠、學校、公司、機關、單位等),分布著n所醫(yī)院(包含在m個點中),有k輛救護車分派在各醫(yī)院待 命,出現(xiàn)呼救病人時, 由急救中心統(tǒng)一指派救護車接送至最近的醫(yī)院救治。 救護車完成一次 接送任務后即消毒, 并回原處繼續(xù)待命。 假定呼救者與急救中心、 急救中心與救護車之間的 通訊暢通無

2、阻,也不考慮道路交通堵塞的影響??梢杂胢個頂點的無向網(wǎng)來表示該城市的各地點和道路。時間可以分鐘為單位,路段長可表示為救護車行駛化費的分鐘數(shù)。矚慫潤厲釤瘞睞櫪廡賴賃軔朧。這里設m=10,n=3,k=2。并且令消毒時間為2分鐘實現(xiàn)功能:完成用事件驅(qū)動的救護車調(diào)度離散模型, 模擬120急救響應每個病人呼救信號統(tǒng)一調(diào)度救護 車運行情況。用最短的時間把病人送往醫(yī)院。聞創(chuàng)溝燴鐺險愛氌譴凈禍測樅。某些狀態(tài)參數(shù)的表示: 包括:1.病人的狀態(tài)struct patient_nodeint patient_status;/*標志位,分為已響應1和待響應0兩個狀態(tài)*/int call_point;/*呼叫地點*/in

3、t first_hospital;/直屬醫(yī)院time call_time;/呼叫時間time anwswer_time;/發(fā)車時間time back_time;/車輛返回時間int hospital_number;/發(fā)車醫(yī)院int car_number;/車輛編碼;2.救護車的狀態(tài)struct car_nodeint car_status;/0表示待命,1表示工作int under_hospital;/所屬醫(yī)院編號time start_time;/發(fā)車時間time finish_time;/預計返回時間int aim_point;/前往地點int aim_hospital;/送往醫(yī)院int w

4、ork_time;/本車的工作總時間int person_number;/本車的接送總?cè)藬?shù)icar_number;/車牌號int needed_staff;/待接任務數(shù)car7;struct hospital_node2 / 3個人資料整理,僅供個人學習使用int available_car_number;/可用的車輛數(shù)int accepted_number;/累計接收的病人數(shù)int own_car2;/所轄車的編號hospital4;Struct patient_queue/事件隊列Int patient30;取值范圍為4-13Int p_front;Int p_rear;Struct in

5、terval_time/時間隊列int time30;/每兩次呼叫的間隔時間int i_front;/隊首指針struct wait_queue/發(fā)車隊列(本隊列實質(zhì)為游標實現(xiàn),輸出按發(fā)車時間由早到晚的順序出 隊殘騖樓諍錈瀨濟溆塹籟婭騍東。Struct patient_node w_patient;/病人信息,結(jié)構(gòu)體變量Int w_next;/游標值,表示下一個出隊的隊列編號w_queue30;Struct back_queueStruct patient_node b_patient;/病人信息,結(jié)構(gòu)體變量Int b_next;b_queue306設計思路: 設立一個無向網(wǎng),該無向網(wǎng)中有10

6、個呼叫點,3所醫(yī)院,以鄰接矩陣的形式實現(xiàn)其存儲, 存放在二維數(shù)組A1414中。為方便起見,把表示醫(yī)院的3個點設為1、2、3。此二維數(shù) 組存儲的數(shù)據(jù)為兩點間的時間權(quán)值(單位:分鐘) 。(如A45=5表示點4到點5需要5分 種的車程)。權(quán)值為1則表示兩點不鄰接。如(A 3 6 = 1表示點3與點6之間不鄰 接)。釅錒極額閉鎮(zhèn)檜豬訣錐顧葒鈀。用求單源最短路徑的算法算出代表醫(yī)院的點1 ,2,3到各個呼叫點(1,2,3,4,-,12,13)之間的最短時間,依此算出從各醫(yī)院到各點的完成一項救護任務的時間。彈貿(mào)攝爾霽斃攬磚鹵廡詒爾膚。將此數(shù)據(jù)放到二維數(shù)組shortest_time414中。 完成此項后,將每個結(jié)點的所屬醫(yī)院的信息存入到一維數(shù)組 將各個醫(yī)院、車輛、事件及時間的信息初始化。 創(chuàng)建等待隊列。顯示醫(yī)院信息表醫(yī)院編號可用車輛數(shù)累計接收病 人數(shù)本表共有3條信息,實時顯示)Direct14中。3 / 3個人資料整理,僅供個人學習使用(本表信息數(shù)不定,最多為30。實時追加顯示) 急救中心信息表已接送病人數(shù) 病人平均接送時間平均派車延遲時間當事件隊列不為空時,按照時間隊列所存儲的時間間隔依次出隊。處理過程:車輛編號

溫馨提示

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

評論

0/150

提交評論