def Funcao(self, dimensao, execucao):

        sc = movingpeaks.SCENARIO_2
        sc["npeaks"] = 30
        sc["period"] = 5000  #500, 1000, 2500, 5000, 10000
        sc["height_severity"] = 7
        sc["width_severity"] = 1
        sc["move_severity"] = 1  #1,2,3,5
        sc["lambda_"] = 0
        sc["max_coord"] = 100
        sc["min_coord"] = 0
        sc["max_height"] = 70
        sc["min_height"] = 30
        sc["max_width"] = 12
        sc["min_width"] = 1

        rnd = random.Random()
        rnd.seed(execucao)
        mp = movingpeaks.MovingPeaks(dim=self.numero_dimensoes,
                                     random=rnd,
                                     **sc)
        fitness = mp.__call__(dimensao)
        melhor = mp.globalMaximum()
        resultado = fitness[0] - melhor[0]
        return np.abs(resultado)
Beispiel #2
0
import operator
import random

import numpy

from deap import base
from deap.benchmarks import movingpeaks
from deap import creator
from deap import tools

scenario = movingpeaks.SCENARIO_2

NDIM = 5
BOUNDS = [scenario["min_coord"], scenario["max_coord"]]

mpb = movingpeaks.MovingPeaks(dim=NDIM, **scenario)


def brown_ind(iclass, best, sigma):
    return iclass(random.gauss(x, sigma) for x in best)


creator.create("FitnessMax", base.Fitness, weights=(1.0, ))
creator.create("Individual",
               array.array,
               typecode='d',
               fitness=creator.FitnessMax)

toolbox = base.Toolbox()
toolbox.register("attr_float", random.uniform, BOUNDS[0], BOUNDS[1])
toolbox.register("individual", tools.initRepeat, creator.Individual,
Beispiel #3
0
    import numpy as np
except:
    exit()

import random

rnd = random.Random()
rnd.seed(128)

from deap.benchmarks import movingpeaks

sc = movingpeaks.SCENARIO_1
sc["uniform_height"] = 0
sc["uniform_width"] = 0

mp = movingpeaks.MovingPeaks(dim=2, random=rnd, **sc)

fig = plt.figure()
ax = Axes3D(fig)
X = np.arange(0, 100, 1.0)
Y = np.arange(0, 100, 1.0)
X, Y = np.meshgrid(X, Y)
Z = np.fromiter([mp(x)[0] for x in zip(X.flat, Y.flat)],
                dtype=np.float,
                count=X.shape[0] * X.shape[1]).reshape(X.shape)

ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.jet, linewidth=0.2)

plt.xlabel("x")
plt.ylabel("y")