私はN個のノードを持つ(理論上の)ネットワークを持っており、それぞれが独自の固定位置を持っています。各ノードはサイクルごとに1つのメッセージを送信します。このメッセージは、直接または他のノードを介してルートに到達する必要があります。
ノードAからノードBにメッセージを送信するためのエネルギーコストは、それらの間の距離の2乗です。
課題は、これらのノードをツリー形式でリンクして、最もエネルギー効率の高いネットワークを作成する方法です。
たとえば、これらのノードをリンクする2つの可能な方法がありますが、左側の方がエネルギー効率が高くなっています。
私は問題を解決するために遺伝的アルゴリズムに取り組んでいますが、誰かが他のアイデアを持っているか、または関連するオープンソースコードを知っているかどうか疑問に思いました。
編集:私が言及するのを忘れたネットワークの別の側面は、各ノードがバッテリー駆動であるということです。したがって、同じノードを介してルーティングされるメッセージが多すぎると、そのノードのバッテリーが使い果たされ、ネットワークに障害が発生します。ネットワークのエネルギー効率は、ノードのバッテリーがなくなる前に、各ノードからルートに正常に送信できるメッセージの数によって測定されます。
編集#2:質問の元のテキストが欠落していることをお詫びします。そのため、以前の回答のいくつかは私が探しているものではありませんが、MSTアルゴリズムに精通していなかったので、それらについて教えてくれてありがとう。
物事をより明確にすることを期待して、これを追加させてください:
内部ノードを含め、すべてのノードがサイクルごとに1つのメッセージを送信します。内部ノードは、受信したメッセージを中継する役割も果たします。これは、彼らが彼ら自身の追加のメッセージを送っていた場合、彼らのバッテリーの負担を増します。目的は、ノードのバッテリーがなくなる前に達成されるサイクルの量を最大化することです。