def go(self): ''' ''' print 'Go go go' jobs = [] for i in range(5, 100, 10): jobs.append( make_job(self.base_job, {'name': '{}'.format(i), 'population': i, 'generations': 250, 'mutate': ('insert_mut', {'indpb': 0.05}), })) jobs.append( make_job(self.base_job, {'name': '{}m'.format(i), 'population': i, 'generations': 250, 'mutate': ('meta_insert', {'indpb': 0.05}), })) self.compare(jobs) print 'Done'
def go(self): ''' ''' print 'Go go go' jobs = [] for pop in (100,): jobs.append( make_job(self.base_job, {'name': '{}m'.format(pop), 'population': pop, # 'generations': 1000, 'mutate': ('meta_insert', {'indpb': 0.05}), 'mate': 'cxSCX_meta', })) jobs.append( make_job(self.base_job, {'name': '{}'.format(pop), 'population': pop, # 'generations': 1000, 'mutate': ('insert_mut', {'indpb': 0.05}), 'mate': 'cxSCX', })) self.compare(jobs) print 'Done'
def go(self): ''' ''' print 'Go go go' jobs = [] for i in range(5, 100, 10): jobs.append( make_job( self.base_job, { 'name': '{}'.format(i), 'population': i, 'generations': 250, 'mutate': ('insert_mut', { 'indpb': 0.05 }), })) jobs.append( make_job( self.base_job, { 'name': '{}m'.format(i), 'population': i, 'generations': 250, 'mutate': ('meta_insert', { 'indpb': 0.05 }), })) self.compare(jobs) print 'Done'
def go(self): self.t0 = time.time() jobs = [make_job(self.base_job, {}), make_job(self.base_job, {}), make_job(self.base_job, {}), ] self.launch(jobs, self.on_result) print 'DONE'
def go(self): self.t0 = time.time() jobs = [ make_job(self.base_job, {}), make_job(self.base_job, {}), make_job(self.base_job, {}), ] self.launch(jobs, self.on_result) print 'DONE'
def go(self): ''' ''' print 'Go go go' jobs = [] for pop in (100, ): jobs.append( make_job( self.base_job, { 'name': '{}m'.format(pop), 'population': pop, # 'generations': 1000, 'mutate': ('meta_insert', { 'indpb': 0.05 }), 'mate': 'cxSCX_meta', })) jobs.append( make_job( self.base_job, { 'name': '{}'.format(pop), 'population': pop, # 'generations': 1000, 'mutate': ('insert_mut', { 'indpb': 0.05 }), 'mate': 'cxSCX', })) self.compare(jobs) print 'Done'
def go(self): ''' Launches the super uber optimizer. Generates a range of values for a parameter, selects the best result and goes to the next parameter. ''' print 'Go go go !' # 2. Create dictionnaries for range print 'Optimizing population' jobs = [] for pop in range(1, 1000, 20): job = make_job(self.base_job, {'name': 'pop-{}'.format(pop), 'population': pop, 'generations': 10000 / pop, }) jobs.append(job) best_job = self.tournament(jobs) print 'Optimizing cxpb' jobs = [] for cxpb in xrange(1, 100, 5): job = make_job(best_job, {'name': '{}-{}'.format(best_job['operators']['name'], cxpb / 100.), 'cxpb': cxpb / 100., }) jobs.append(job) best_job = self.tournament(jobs) print 'Optimizing indpb' jobs = [] for mut in range(1, 100, 5): job = make_job(best_job, {'name': '{}-{}'.format(job['name'], mut / 100.), 'mutate': (job['mutate'][0], {'indpb': mut / 100.}), }) jobs.append(job) best_job = self.tournament(jobs) print 'Optimizing mutpb' jobs = [] for mutpb in xrange(1, 100, 5): job = make_job(best_job, {'name': '{}-{}'.format(job['name'], mutpb / 100.), 'mutpb': mutpb / 100., }) jobs.append(job) best_job = self.tournament(jobs) print 'Optimizing crossover operator' crossovers = ['cxPMX', 'cxSCX', 'cxERX', 'cxOX', 'cxHeuristic'] jobs = [] for cx_operator in crossovers: job = make_job(best_job, {'name': '{}-{}'.format(job['name'], cx_operator), 'mate': cx_operator, }) if cx_operator == 'cxHeuristic': job['evaluate'] = 'eval_adjacent' job['mutate'] = ('mutshuf_adj', {'indpb': best_job['mutate'][1]}) job['indices'] = 'adj_creator' else: job['evaluate'] = 'eval_simple' job['mutate'] = ('mutshuf', {'indpb': best_job['mutate'][1]}) job['indices'] = 'path_creator' jobs.append(job) best_job = self.tournament(jobs) print 'Optimizing mutation operator' jobs = [] if best_job['mate'] == 'cxHeuristic': mutations = ['mutshuf_adj', 'invert_mut_adj', 'insert_mut_adj', 'simple_inv_adj'] else: mutations = ['mutshuf', 'invert_mut', 'insert_mut', 'simple_inv'] for mut_operator in mutations: job = make_job(best_job, {'name': '{}-{}'.format(job['name'], mut_operator), 'mutate': (mut_operator, {'indpb': best_job['mutate'][1]}), }) jobs.append(job) best_job = self.tournament(jobs) print 'runned' raw_input()