巡回セールスマン問題の解決策を見つけるために、Google のortools.constraint_solverを使用しています。ここに見られるように。1 セットのポイントでプログラムを実行すると、すべてが期待どおりに機能します。
これが機能するようになったので、すべてのセットをループし、各セットで制約ソルバーを呼び出すことにより、複数のポイント セットの TSP を解決しようとしています。
特定の問題のサイズに応じてgflag を再定義する以下のコードがありますtsp_size
(すべてのセットが同じサイズであるとは限りません)。
gflags.DEFINE_integer('tsp_size', len(points), 'Size of Traveling Salesman Problem instance.')
繰り返しますが、指定されているセットが 1 つだけの場合は機能しますが、2 番目のセットに対して実行すると、次のエラーが発生します。gflags.DuplicateFlagError: The flag 'tsp_size' is defined twice.
複数のグラフがあることを考慮して、プログラムの同じ実行内で制約ソルバーの個別のインスタンスを作成するにはどうすればよいですか?