Remove deprecated code

This commit is contained in:
coolneng 2021-06-17 19:25:16 +02:00
parent ed41333e87
commit ac300129ce
Signed by: coolneng
GPG Key ID: 9893DA236405AF57
1 changed files with 3 additions and 36 deletions

View File

@ -1,5 +1,5 @@
from numpy import sum, append, arange, delete, where from numpy import sum, append, arange, delete, where
from numpy.random import randint, choice, shuffle, random from numpy.random import randint, choice, shuffle
from pandas import DataFrame from pandas import DataFrame
from math import ceil from math import ceil
@ -132,7 +132,8 @@ def mutate(population, n, probability=0.001):
genes = [] genes = []
for _ in range(ceil(expected_mutations)): for _ in range(ceil(expected_mutations)):
individuals.append(randint(n)) individuals.append(randint(n))
genes.append(population[individuals[-1]].sample().index) current_individual = individuals[-1]
genes.append(population[current_individual].sample().index)
for ind, gen in zip(individuals, genes): for ind, gen in zip(individuals, genes):
individual = population[ind] individual = population[ind]
individual["point"].iloc[gen] = select_new_gene(individual, n) individual["point"].iloc[gen] = select_new_gene(individual, n)
@ -146,39 +147,5 @@ def tournament_selection(solution):
return individuals.iloc[best_index] return individuals.iloc[best_index]
def replace_worst_element(previous, n, data):
solution = previous.copy()
worst_index = solution["distance"].astype(float).idxmin()
random_element = randint(n)
while element_in_dataframe(solution=solution, element=random_element):
random_element = randint(n)
solution["point"].loc[worst_index] = random_element
solution["distance"].loc[worst_index] = compute_distance(
element=solution["point"].loc[worst_index], solution=solution, data=data
)
return solution
def get_random_solution(previous, n, data):
solution = replace_worst_element(previous, n, data)
while solution["distance"].sum() <= previous["distance"].sum():
solution = replace_worst_element(previous=solution, n=n, data=data)
return solution
def explore_neighbourhood(element, n, data, max_iterations=100000):
neighbourhood = []
neighbourhood.append(element)
for _ in range(max_iterations):
previous_solution = neighbourhood[-1]
neighbour = get_random_solution(previous=previous_solution, n=n, data=data)
neighbourhood.append(neighbour)
return neighbour
def genetic_algorithm(n, m, data): def genetic_algorithm(n, m, data):
first_solution = generate_first_solution(n, m, data) first_solution = generate_first_solution(n, m, data)
best_solution = explore_neighbourhood(
element=first_solution, n=n, data=data, max_iterations=100
)
return best_solution