branch-and-bound

    1熱度

    2回答

    CLRS似乎沒有涵蓋bactracking/branch-and-bound。我在網上嘗試了幾個資源,但我得到了這些背後的理念,我無法編寫代碼,比如說揹包問題。所以,我想要一些可能會遇到的問題,並用這三種方法解決問題,並至少給出僞代碼。 或者任何您認爲有用的資源。

    6熱度

    1回答

    我正在研究我的論文工作的分支定界和最佳優先搜索,但在網絡上發現了很多關於這兩個概念的矛盾。首先,我認爲分支和綁定只修剪結束到高成本解決方案的分支(使用啓發式),並且不要優先搜索(在修剪後對樹的其餘部分執行簡單的DFS或BFS)。然而,後來我發現許多資源說BB排名狀態,並考慮優先級較高的節點(優先搜索)。如果是這樣,BB和最佳優先搜索之間的區別究竟是什麼?

    1熱度

    1回答

    我們有1,000,000個客戶。對於它們中的每出售商品的成本可以表示爲價格A或B.價格 價A < <價格B. 價A及價B不是線性到彼此。在某些情況下,B是2倍昂貴,有些則是100倍。上的所有客戶的 成本是 分鐘((總和(A)/數(A)),100)*計數(A) 有效地,所有的客戶的平均成本上A將四捨五入爲100,如果是小於100 上有B. 沒有這樣的限制,我想花的錢最少在他們的貨物。 我如何最大化

    7熱度

    4回答

    我正在嘗試使用分支和邊界來實現這個揹包問題的C++實現。有這個網站上的Java版本在這裏:Implementing branch and bound for knapsack 我試圖讓我的C++版本打印出90,它應該,但它沒有這樣做,相反,它是打印出5 不任何人都知道問題出在哪裏以及有什麼問題? #include <queue> #include <iostream> using namesp

    1熱度

    1回答

    我已經閱讀過多本書(包括Wolsey),在實現分支定界算法時,不需要存儲整棵樹,只需要一個活動節點列表(葉節點,據我所知)。 事情是,我無法理解如何在分支之後制定新的界限,如果我沒有每個祖先的界限。 一些澄清,將不勝感激。

    -4熱度

    1回答

    Comparing multiple price options for many customers algorithmically的重述幾乎沒有那麼多。 我們有1,000,000位顧客。 爲他們每個人的出售商品的成本可以被表達爲價格A或B.價格 價A < <價格B. 價A及價B不是線性到彼此。在某些情況下,B是2倍昂貴,有些則是100倍。上的所有客戶的 成本 min((sum(A)/count

    1熱度

    2回答

    所以我認爲我在正確的軌道上使用分支和綁定方法來解決我的啓發式問題 解決方案,但是,我在我的「最少」函數中出現了分段錯誤,但是我仍然很難將這個算法考慮在內。任何幫助解決這個問題將不勝感激。基本上對功能的要求(因爲我的主要功能看起來很有趣)是程序最多需要150個城市,如果讀取時間不到60秒,我會得到獎勵積分(這意味着我沒有失敗),輸入文件將顯示(例如): c 1 c 2 a 1 2 300 其中'c'

    0熱度

    1回答

    我具有以下數據: item weight value value/weight 1 5 40 8 2 2 10 5 3 6 30 5 4 1 12 12 5 2 18 9 容量是10 如何使用計算上限節點0繼續? 我計算上限爲節點0如下: ub = v + [W-w] * [v/w] ub = 0 + [10] * [8] = 80 或者我需要在降

    0熱度

    2回答

    我只是想知道TSP的所有算法是否會給出相同的最佳路線?我認爲這將是這種情況,但實施分支和綁定和A *和他們都給同一輸入的結果非常不同,我只是想知道這是否正常?

    3熱度

    1回答

    我正在做一個涉及動態規劃和分支&約束的揹包優化問題。我注意到當問題的容量和項目變大時,爲動態編程算法填充2D表格將呈指數級變慢。在某些時候,我會假設我想根據問題的大小切換算法(因爲講座提供了兩種類型的優化)? 我試過在什麼點(什麼大小)谷歌應該從動態編程切換到分支&約束,但我不能得到我想要的結果。 或者,有沒有另一種方法來看待揹包問題,我可以將動態編程和分支綁定爲一個算法,而不是切換算法,這取決於