我有一個具有N個節點的(理論)網絡,每個節點都有自己的固定位置。每個節點每個週期發送一條消息,需要直接或通過其他節點到達根節點。計算最節能的ad-hoc網絡的算法
從節點A發送消息到節點B的能量消耗是它們之間的距離,平方。
面臨的挑戰是如何將這些節點以樹形格式連接起來,以生產最節能的網絡。
E.g.這裏有兩種可能的方式來鏈接這些節點,其中左邊節點更節能。
我正在研究遺傳算法來解決這個問題,但我想知道是否有人有任何其他想法,或者知道任何相關的開源代碼。
編輯:我忘記提及的網絡的另一個方面是,每個節點都由電池供電。因此,如果我們有太多的消息通過同一個節點路由,那麼該節點的電池將耗盡,導致網絡出現故障。網絡的能源效率是衡量在每個節點電池耗盡之前,從每個節點到根的成功傳輸數量。
編輯#2:對於問題原文中的遺漏,我感到抱歉。因爲它,你以前的一些答案不是我正在尋找的,但我不熟悉MST算法,所以謝謝你告訴我他們。
在做事情更清晰,讓我補充這樣的希望:
所有節點發送自己的一個消息每個週期,包括內部節點。內部節點還負責中繼他們收到的任何消息。這增加了他們電池的負擔,如果他們發送了他們自己的額外信息。目標是在任何節點的電池耗盡之前使所獲得的週期數量最大化。
您的圖表要麼混淆地排列或錯誤標記。右邊的節點似乎是(1,2),而不是(0,2)。 – Svante 2010-03-04 12:37:28
這個問題還不清楚。我們是否將邊權重的總和最小化?或所有路徑長度的總和? (即使中間節點也可以發送自己的消息...)。還是我們最小化任何兩個節點之間的路徑總和? – 2010-03-04 15:45:15
這個問題可以從更清晰的定義中受益 - 後期編輯也沒有幫助,因爲大多數答案都提到了第一個(也是更重要的)問題。我的解決方案計算最小能量成本(邊緣權重),因爲每個頂點可以佔用一定數量的電池(邊緣)。 – Larry 2010-03-04 16:54:57