Source code for pyec.config

from numpy import *
import copy
   

[docs]class Config(object): def __get__(self, key): if not self.__dict__.has_key(key): return None return self.__dict__[key] def __set__(self, key, val): self.__dict__[key] = val
[docs] def encode(self, x): return x
[docs]class ConfigBuilder(object): def __init__(self, algcls): self.cfg = Config() self.cfg.stopAt = 1e300 self.cfg.scale = 0.5 self.cfg.center = 0.5 self.cfg.recording = False self.cfg.bounded = True self.cfg.segment = 'test' self.cfg.activeField = 'point' self.cfg.binaryPartition = False self.cfg.topologize = False self.cfg.subpopulations = False self.cfg.layered = False self.cfg.varInit = None self.cfg.sort = True self.dimension = 5 self.cfg.fitness = "" self.algcls = algcls
[docs] def postConfigure(self,cfg): pass
[docs] def configure(self, generations, populationSize, dimension=1, function=None): cfg = copy.copy(self.cfg) cfg.generations = generations cfg.populationSize = populationSize cfg.dim = dimension self.dimension = dimension if function: cfg.function = function self.postConfigure(cfg) return self.algcls(cfg)