自分のTSP問題に対して自分のコスト関数をプログラムしたいと思います。時間とともに実際の座標を最適化したいので、mlroseのものは使いたくありません。
まず、次のようなcoords_Listを作成しました:[(49.321,8.213)、[50.321,9.124] ...)
次に、推測配列を受け入れて浮動小数点数を返す独自の適応度関数を作成しました。
fitnessF = mlrose.CustomFitness(coords_list)
ここで、mlRoseを設定します。
problem_fit = mlrose.TSPOpt(length = len(coords_list),fitness_fn =fitnessF, maximize=False)
best_state, best_fitness = mlrose.genetic_alg(problem_fit, random_state = 2)
これは次を返します:
Exception: fitness_fn must have problem type 'tsp'.
次に、次のようなコードを設定します。
fitnessF = mlrose.TravellingSales(check_fitness)
今それは戻ります:
object of type 'function' has no len()
前もって感謝します
追伸:ノートブックをメールで共有する準備もできています
問題がどこにあるのか理解できました。カスタム適応度関数を定義する必要があるのは正しいですが、TSPの場合は、問題の種類を追加する必要があります。
FitnessF = mlrose.CustomFitness(coords_list、 "tsp")
今それは動作します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加