分支限界法


一、分支限界法的基本思想

  在擴展結點處,先生成其所有的兒子結點(分支),然后再從當前的活結點表中選擇下一個擴展結點。為了有效地選擇下一擴展結點,加速搜索的進程,在每一活結點處,計算一個函數值(限界),並根據函數值,從當前活結點表中選擇一個最有利的結點作為擴展結點,使搜索朝着解空間上有最優解的分支推進,以使盡快找出一個最優解。

  (1)活結點:如果已生成一個結點而它的所有兒子結點還沒有全部生成,則這個結點叫做活結點。

  (2)擴展結點:當前正在生成其兒子結點的活結點叫擴展結點(正擴展的結點)。

  (3)死結點:不再進一步擴展或者其兒子結點已全部生成的結點就是死結點。

  (4)解空間:對於問題的一個實例,解向量滿足顯式約束條件的所有多元組,構成了該實例的一個解空間。

  (5)廣度優先的問題狀態生成法:在一個擴展結點變成死結點之前,它一直是擴展結點。

二、回溯法和分支限界法的比較

  分支限界法與回溯法的不同:

  (1)求解目標:回溯法的求解目標是找出解空間樹中滿足約束條件的所有解,而分支限界法的求解目標則是找出滿足約束條件的一個解,或是在滿足約束條件的解中找出在某種意義下的最優解。 

  (2)搜索方式的不同:回溯法以深度優先的方式搜索解空間樹,而分支限界法則以廣度優先或以最小耗費優先的方式搜索解空間樹。

圖1.1 回溯法和分支限界法的比較


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM