Check if the random candidate is a duplicate
This commit is contained in:
parent
da234aae96
commit
33a9cf323a
|
@ -75,12 +75,14 @@ def local_search(n, m, data):
|
|||
def get_random_solution(previous, data):
|
||||
solution = previous.copy()
|
||||
worst_index = previous["distance"].astype(float).idxmin()
|
||||
worst_element = previous["distance"].loc[worst_index]
|
||||
random_candidate = data.loc[randint(low=0, high=len(data.index))]
|
||||
while (
|
||||
solution.loc[worst_index, "distance"] <= previous.loc[worst_index, "distance"]
|
||||
):
|
||||
solution.loc[worst_index] = random_candidate
|
||||
return solution
|
||||
while solution["distance"].loc[worst_index] <= worst_element:
|
||||
if random_candidate["distance"] not in solution["distance"].values:
|
||||
solution.loc[worst_index] = random_candidate
|
||||
else:
|
||||
return solution, True
|
||||
return solution, False
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue