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)
예제 #2
0
 def evaluate(self, x):
     return schaffer(x)[0]
예제 #3
0
def schaffer_arg0(sol):
    return benchmarks.schaffer(sol)[0]
예제 #4
0
def shaffer_on_cube(u: [float]) -> float:
    # https://deap.readthedocs.io/en/master/api/benchmarks.html#deap.benchmarks.schaffer
    u_squished = [200 * (ui**1.1 - 0.5) for ui in u]
    return 0.01 * benchmarks.schaffer(u_squished)[0] / (0.1042133 * 0.71809)
예제 #5
0
def fitnessFunc(part):
    code = 0 if is_valid(part) else 1
    return benchmarks.schaffer(part), code, array([0.0])
예제 #6
0
def schaffer_arg0(sol):
    return benchmarks.schaffer(sol)[0]