class BitStrGeneratorTests(unittest.TestCase): def setUp(self): self.config = { "max_population": 10, "bitstring_generation": { "genome_length": 10 }, "codons": [ "0000", "0001", "0010", "0011", "0100", "0101", "0110", "0111", "1000", "1001", "1011", "1111" ] } self.generator = BitStringGenerator(self.config) def test_generate_random_codon(self): codon = self.generator.generate_random_codon() self.assertTrue(len(codon) > 0) self.assertTrue(codon in self.config["codons"]) def test_generate_random_bitstr(self): bitstr = self.generator.generate_random_bitstr() self.assertTrue(len(bitstr.genome) > 0) self.assertEquals(bitstr.length, 10) self.assertEquals(bitstr.score, None) def test_init(self): population = self.generator.init() self.assertEquals(len(population.individuals), 10)
}, "mutation": { "method": ["POINT_MUTATION"], "probability": 0.2 } } generator = BitStringGenerator(config) # genetic operators selection = Selection(config) crossover = BitStringCrossover(config) mutation = BitStringMutation(config) # run GA population = generator.init() details = play.play_details( population=population, evaluate=evaluate, functions=None, selection=selection, crossover=crossover, mutation=mutation, print_func=print_func, stop_func=stop_func, config=config, ) start_time = time.time() play.play(details) end_time = time.time()
"mutation": { "method": ["POINT_MUTATION"], "probability": 0.2 } } generator = BitStringGenerator(config) # genetic operators selection = Selection(config) crossover = BitStringCrossover(config) mutation = BitStringMutation(config) # run GA population = generator.init() details = play.play_details( population=population, evaluate=evaluate, functions=None, selection=selection, crossover=crossover, mutation=mutation, print_func=print_func, stop_func=stop_func, config=config, ) start_time = time.time() play.play(details) end_time = time.time()