Skip to content

Instantly share code, notes, and snippets.

@NicolleLouis
NicolleLouis / intermutationKnapsack.py
Created November 27, 2017 17:21
Intermutation Knapsack
def mutate_one_individual(individual, mutationRate):
for geneIndex in range(len(individual)):
if (100 * random.random() < mutationRate):
individual[geneIndex] = not individual[geneIndex]
return individual
def mutate_population(population, mutationRate):
for individual in population:
individual = mutate_one_individual(individual, mutationRate)
@NicolleLouis
NicolleLouis / intramutationKnapsack.py
Created November 27, 2017 17:25
Intramutation Knapsack
def mutate_one_individual(individual):
i = int(len(individual) * random.random())
individual[i] = not individual[i]
return individual
def mutate_population(population, mutationRate):
for i in population:
if (100 * random.random() < mutationRate):
i = mutate_one_individual(i)
return (population)
@NicolleLouis
NicolleLouis / graphKnapsack.py
Last active November 27, 2017 17:49
Print graphe
def evolve_several_generation_with_limited_time(item_set, size_of_population, number_of_child, time_limit,
mutationRate):
temps_init = time.time()
value0 = 0
result = []
population = generate_first_population(item_set, size_of_population)
value0 = max(value0, value(get_best_individual_in_population(population), item_set))
result.append(value0)
while (time.time() - temps_init < time_limit):
population_sorted = sort_population_by_fitness(population, item_set)
@NicolleLouis
NicolleLouis / import.py
Created November 27, 2017 17:51
import knapsack
import random
import operator
import time
import matplotlib.pyplot as plt
import functools