).with_fitness_value(1), ) population2 = ( stk.MoleculeRecord( topology_graph=get_topology_graph(7), ).with_fitness_value(100), stk.MoleculeRecord( topology_graph=get_topology_graph(8), ).with_fitness_value(1), ) @pytest.fixture( params=( CaseData( selector=stk.AboveAverage(), population=population1, selected=( stk.Batch( records=(population1[0], ), fitness_values={population1[0]: 10}, key_maker=stk.Inchi(), ), stk.Batch( records=(population1[0], ), fitness_values={population1[0]: 10}, key_maker=stk.Inchi(), ), stk.Batch( records=(population1[1], ), fitness_values={population1[1]: 9},
# Create the initial population. population_size = 25 population = stk.EAPopulation.init_random( building_blocks=[amines, aldehydes], topology_graphs=[stk.cage.FourPlusSix()], size=population_size, random_seed=random_seed, use_cache=True, ) # ##################################################################### # Selector for selecting the next generation. # ##################################################################### generation_selector = stk.Sequence( stk.AboveAverage(duplicate_mols=False), stk.RemoveMolecules( remover=stk.AboveAverage(duplicate_mols=False), selector=stk.Roulette( duplicate_mols=False, random_seed=random_seed, ), ), num_batches=population_size, ) # ##################################################################### # Selector for selecting parents. # ##################################################################### crossover_selector = stk.StochasticUniversalSampling(
size=25, use_cache=True) # ##################################################################### # Selector for selecting the next generation. # ##################################################################### generation_selector = stk.SelectorSequence( stk.Fittest(num_batches=3, duplicates=False), stk.Roulette(num_batches=22, duplicates=False)) # ##################################################################### # Selector for selecting parents. # ##################################################################### crossover_selector = stk.AboveAverage(num_batches=5, batch_size=2) # ##################################################################### # Selector for selecting molecules for mutation. # ##################################################################### mutation_selector = stk.SelectorFunnel( stk.AboveAverage(num_batches=10, duplicates=False), stk.Roulette(num_batches=5)) # ##################################################################### # Crosser. # ##################################################################### crosser = stk.Jumble(num_offspring_building_blocks=3)