Compare commits
2 Commits
bf7ca7f520
...
da234aae96
Author | SHA1 | Date |
---|---|---|
coolneng | da234aae96 | |
coolneng | b3211ff682 |
|
@ -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):
|
||||||
|
|
Loading…
Reference in New Issue