Beispiel #1
0
class Citizen(object):

    BOUNDS = parm.get_bounds()
    P_SIZE = 4

    def __init__(self, params=None):
        self.parameters = params.copy() if params \
            else [rand_bound(*self.BOUNDS[i]) for i in range(self.P_SIZE)]
        self.error = np.inf

    def get_values(self):
        return self.parameters

    def get_value(self, pos):
        return self.parameters[pos]

    def set_value(self, param, value=None):
        if value:
            if value < self.BOUNDS[param][0]:
                value = self.BOUNDS[param][0]
            if value > self.BOUNDS[param][1]:
                value = self.BOUNDS[param][1]
            self.parameters[param] = value
        else:
            self.parameters[param] = rand_bound(*self.BOUNDS[param])

    def get_error(self):
        return self.error

    def set_error(self, error):
        self.error = error
Beispiel #2
0
 def __init__(self, max_gen, init_fac, s_factor, l_factor, iter_mult,
              max_no_impr):
     super().__init__()
     self.max_gen = max_gen
     self.init_fac = init_fac
     self.s_factor = s_factor
     self.l_factor = l_factor
     self.iter_mult = iter_mult
     self.max_no_impr = max_no_impr
     self.bounds = parm.get_bounds()