def get_objective_function(sol): if obj_fcn == 'shekel': return shekel(sol, A, C)[0] elif obj_fcn == 'schwefel': return -benchmarks.schwefel(sol)[0] elif obj_fcn == 'griewank': return -benchmarks.griewank(sol)[0] elif obj_fcn == 'rastrigin': return -benchmarks.rastrigin(sol)[0] elif obj_fcn == 'ackley': return -benchmarks.ackley(sol)[0] elif obj_fcn == 'rosenbrock': return -benchmarks.rosenbrock(sol)[0] elif obj_fcn == 'schaffer': return -benchmarks.schaffer(sol)[0] else: print "wrong function name" sys.exit(-1)
def rosenbrock_arg0(sol): return benchmarks.rosenbrock(sol)[0]
def rosenbrock_on_cube(u: [float]) -> float: # https://deap.readthedocs.io/en/master/api/benchmarks.html#deap.benchmarks.rosenbrock u_squished = [200 * (ui**1.1 - 0.5) for ui in u] return 1 + 0.1 * benchmarks.rosenbrock(u_squished)[0] / 0.008949
def optimFunc2(individual): f3 = benchmarks.rosenbrock(individual) f1, f2 = benchmarks.fonseca(individual) out = (f1, f2) + f3 return out
def rosenbrock_arg0(sol): return np.nan if w_obstacles and sol[2] == 1 else benchmarks.rosenbrock(sol[:2])[0]
def evaluate(self, x): return rosenbrock(x)[0]
def fitnessFunc(part): code = 0 if is_valid(part) else 1 return benchmarks.rosenbrock(part), array([code]), array([0]), array([1.0]) ## cost always 1