算法設(shè)計(jì)與分析 課件 8.4-分支限界 - 典型應(yīng)用 - 旅行售貨員問題_第1頁
算法設(shè)計(jì)與分析 課件 8.4-分支限界 - 典型應(yīng)用 - 旅行售貨員問題_第2頁
算法設(shè)計(jì)與分析 課件 8.4-分支限界 - 典型應(yīng)用 - 旅行售貨員問題_第3頁
算法設(shè)計(jì)與分析 課件 8.4-分支限界 - 典型應(yīng)用 - 旅行售貨員問題_第4頁
算法設(shè)計(jì)與分析 課件 8.4-分支限界 - 典型應(yīng)用 - 旅行售貨員問題_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

算法設(shè)計(jì)與分析分支限界—旅行售貨員問題信息工程大學(xué)國(guó)家級(jí)實(shí)驗(yàn)教學(xué)示范中心計(jì)算機(jī)學(xué)科組規(guī)劃教材算法設(shè)計(jì)與分析Python案例詳解微課視頻版問題描述:某售貨員要到若干城市去推銷商品,已知各城市之間的路程(或旅費(fèi))。他要選定一條從駐地出發(fā),經(jīng)過每個(gè)城市一遍,最后回到駐地的路線,使得總的路程(或總旅費(fèi))最小。問題抽象:設(shè)G=(V,E)是一個(gè)帶權(quán)圖。圖中各邊的權(quán)值為正數(shù)。圖中一條周游路線是包括V中每個(gè)頂點(diǎn)在內(nèi)的一條回路。周游路線的費(fèi)用是這條回路上所有邊的權(quán)值之和。旅行售貨員問題就是要在圖G中找出費(fèi)用最小的回路。1243302010654實(shí)例分析:

優(yōu)先隊(duì)列:

小根堆,用于表示活結(jié)點(diǎn)優(yōu)先隊(duì)列

優(yōu)先級(jí)=下界lcostlcost=cc+頂點(diǎn)的最小費(fèi)用出邊和(未來最小的花費(fèi))12433020106544+5+5+4=180,0,18B4I2,26,9BCDEC21,30,14bestc:bestx:∞C3D1,6,14DCE41,4,141243302010645EDCEDCJ2J2,14,10DJCK3K2,24,10DJKCHH22,11,925DJKCHJKCIHJKICHJKIC4N3,25,0NJNKICH為n-2層結(jié)點(diǎn)18=4+5+5+414=5+5+4擴(kuò)展結(jié)點(diǎn)活結(jié)點(diǎn)優(yōu)先隊(duì)列最優(yōu)解樹中結(jié)點(diǎn)的信息:結(jié)點(diǎn)深度,已花費(fèi)代價(jià),未來花費(fèi)代價(jià)的下界NICJNKIC0,0,18B4I2,26,9C21,30,14bestc:bestx:3D1,6,14E41,4,142J2,14,103K2,24,10H22,11,9251,3,2,4H4N3,25,0NJ3P3,25,0PNICN為葉子,結(jié)束擴(kuò)展結(jié)點(diǎn)活結(jié)點(diǎn)優(yōu)先隊(duì)列最優(yōu)解1243302010645樹中結(jié)點(diǎn)的信息:結(jié)點(diǎn)深度,已花費(fèi)代價(jià),未來花費(fèi)代價(jià)的下界輸入:圖結(jié)點(diǎn)數(shù)n,圖鄰接矩陣a[][]輸出:最優(yōu)值bestc,最優(yōu)解v[]1BBTSP(){2若圖中存在沒有出邊的結(jié)點(diǎn),則退出;3計(jì)算各頂點(diǎn)最小出邊和MinSum;4定義最優(yōu)值bestc=∞;5創(chuàng)建根結(jié)點(diǎn)E,令其s=0,cc=0,lcost=cc+MinSum,6x={1,2,…,n};7while(E不是葉結(jié)點(diǎn)){//遇到葉子時(shí)結(jié)束8

if(E是葉子的父結(jié)點(diǎn)){//E的層次為n-29c=E->cc+a[E->x[n-2]][E->x[n-1]]+10a[E->x[n-1]][1];11if(c<bestc){12bestc=c;改造E為擴(kuò)展的葉結(jié)點(diǎn),13E->s++,E->cc=bestc;E入隊(duì);14}15else釋放E;16}17else{//擴(kuò)展E的兒子結(jié)點(diǎn)18

for(i=E->s+1;i<=n-1;i++){19cc=E->cc+a[E->x[E->s]][E->x[i]];20lcost=cc+E->lcost-MinOut[E->x[E->s]];21if(lcost<bestc){22申請(qǐng)結(jié)點(diǎn)N;把E中x復(fù)制到N;23N->s=E->s+1;交換N->x[N->s]與N->x[i];

24N->cc=cc;N->lcost=lcost;25N入隊(duì);}26}27釋放E;28}29從隊(duì)列取下一個(gè)擴(kuò)展結(jié)點(diǎn)E;30if(E不存在)break;31}32if(bestc==∞)return∞;//無回路33從E中復(fù)制x到解v中;34釋放E及優(yōu)先隊(duì)列中剩余結(jié)點(diǎn);35returnbestc;}測(cè)試填空題:針對(duì)上述

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論