def run_indep(): candidate = copy.copy(startcandidate) global neval_count neval_count = 0 def func(params): l = eval_candidate(params) global neval_count neval_count = neval_count + 1 return -l print 'optgrid' candidate = opt_grid(startcandidate, func, [(-20, 20)] * nvar, ftol=1, disp=0, compute_errors=False) l = -func(candidate) print 'Best after %d evaluations' % neval_count, print_candidate(candidate, l, {}) evaluate_best(candidate, l)
def eval_candidate(candidate): l = like(candidate) if numpy.isnan(l): return -1e300 return l from jbopt.independent import opt_grid def func(par): params = [par[0]] * nvar print 'flat func:', par, '-'*20, l = eval_candidate(params) print 'likelihood', ' '*30, l return -l val = opt_grid([0.5], func, [(-20, 20)], ftol=1, disp=0, compute_errors=False) l = -func(val) startcandidate = [float(val) for _ in range(nvar)] seeds = [startcandidate] json.dump([{'candidate': startcandidate, 'fitness':l}], open('test_ga_values.json', 'w'), indent=4) @inspyred.ec.utilities.memoize @inspyred.ec.evaluators.evaluator def fitness(candidate, args): l = eval_candidate(candidate) #print_candidate(candidate, l, args) return l