基本的に、すべての頂点をカバーしてソースに戻るグラフ内の最短パスが必要です。最短経路である限り、任意の頂点の繰り返しは問題ありません。
私のアルゴリズムはソースから始まります。ダイクストラ アルゴリズムを実行して、最短パスを見つけます。次に、最小の重み付けされた未到達の頂点を選択し、選択した頂点をソースとしてダイクストラを再度実行し、すべての頂点が完了するまでそれを続けます。次に、最後の頂点から再び dijkstra を使用して、元のソースに戻る最短パスを見つけます。
試してみましたが、失敗したようで、理由がわかりません。