Compare commits

...

2 Commits

1 changed files with 15 additions and 4 deletions

View File

@ -1,7 +1,7 @@
from preprocessing import parse_file from preprocessing import parse_file
from numpy.random import choice, randint, seed
from pandas import DataFrame, Series from pandas import DataFrame, Series
from sys import argv from sys import argv
from random import seed, randint
from time import time from time import time
@ -59,10 +59,10 @@ def greedy_algorithm(n, m, data):
return solutions return solutions
def get_pseudorandom_solution(n, data): def get_first_random_solution(m, data):
seed(42) seed(42)
solution = data.iloc[randint(a=0, b=n)] random_indexes = choice(len(data.index), size=m)
return Series(data={"point": solution["destination"], "distance": 0}) return data.iloc[random_indexes]
def local_search(n, m, data): def local_search(n, m, data):
@ -72,6 +72,17 @@ def local_search(n, m, data):
for _ in range(m): for _ in range(m):
pass pass
return solutions return solutions
def get_random_solution(previous, data):
solution = previous.copy()
worst_index = previous["distance"].astype(float).idxmin()
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
def execute_algorithm(choice, n, m, data): def execute_algorithm(choice, n, m, data):