回溯與分支限界

2022-07-20 08:42:11 字數 1157 閱讀 7150

代價函式

—當前取得的價值+後面可以取得的最大價值

—如果這個價值比之前得到的路徑的價值的最大值都小的話,那麼這個分支不再需要繼續延伸

分支策略

—分支較少的結點先展開

—預計可以得到較多解的結點先展開

對稱性—比如n皇后問題,可以又中線縱軸分成等價的兩部分的搜尋空間

—裝箱問題中,可以以箱子的角度來回溯,也可以按貨物的角度來回溯

—先選擇物品(從小到大或者從大到小),然後順序選擇乙個箱子(對稱性剪枝)

—先選擇箱子,盡量把乙個箱子裝滿

問題:具體要實施對稱性的時候,應該怎麼嚴密的考慮,並且**如何實現——搜尋範圍?

monte carlo方法具體內容再看一下

分支限界

—裝載問題:兩艘船,有多個貨櫃,問能否有一種方案把所有貨櫃都裝在船上

—界限函式:盡可能將第一艘船裝滿

—當前選擇裝入第一艘船的貨櫃和後面所有的貨物都裝繼續裝入第一艘船

—當前選擇的貨櫃的總和不能超過第一艘船的容量

—上面第一條的結果,如果比當前找到的方案的最大值小的話,不需要繼續分支下去

—這個題目剪枝的啟示是:

—假設後面全部選擇,看能不能超過現在的最優解,不需要排序,以為後面的內容都被加進來了

—條件性界限:不能超過船的容量

—使用lcbb來選擇下乙個擴充套件結點  

—最大優先佇列分支限界法

—多階段圖搜尋問題

—界限函式的設定

—這裡是乙個最小化問題

—不知道後面路徑的確切的最小值,那麼直接設定每一步為1(正整數權值最小)

—搜尋深度也選擇最小的可能,比如這裡只需要再往下找一層即可

—使用lcbb:最小優先佇列分支限界法

—費用矩陣法

—選擇某個元素,那麼這行這列刪去

—在這個元素選取的情況下,如果需要阻止反向邊不存在,那麼反向結點設定成無窮

—化簡費用矩陣:

—看刪去的行和列中,有沒有刪去別的0,它所在的行和列可能出現可以化簡的情況

—不選某個元素,這個節點變為無窮,並且化簡費用矩陣

—如果變為無窮的節點本來是0的話,可能它所在的行和列出現了可以化簡的情況

回溯法與分支限界演算法

1 概念 回溯演算法實際上乙個類似列舉的搜尋嘗試過程,主要是在搜尋嘗試過程中尋找問題的解,當發現已不滿足求解條件時,就 回溯 返回,嘗試別的路徑。回溯法是一種選優搜尋法,按選優條件向前搜尋,以達到目標。但當探索到某一步時,發現原先選擇並不優或達不到目標,就退回一步重新選擇,這種走不通就退回再走的技術...

回溯演算法與分支限界法

確定了解空間的組織結構以後,回溯法從開始結點 根結點 出發,以深度優先方式搜尋整個解空間。這個開始結點為活結點,同時也成為當前結點的擴充套件結點。在當前的擴充套件結點處,搜尋向縱深方向移至乙個新結點。這個結點就成為新的活結點,並成為當前擴充套件結點。如果在當前的擴充套件結點處不能向縱深方向移動,則當...

回溯法與分支限界法 裝載問題

分支限界法和回溯法都屬於搜尋演算法,但是他們的搜尋策略是不同的。分支限界法 廣度優先搜尋 bfs 剪枝函式,回溯法 深度優先搜尋 dfs 剪枝函式 回溯法 找出滿足約束條件的所有解 分枝限界法 找出滿足約束條件的乙個解或特定意義下的最優解 裝載問題 有兩艘船,載重量分別是c1 c2,n個貨櫃,重量是...