def setParameters(self, NoLsTests=1, NoLs=2, NoEnabled=2, BONUS1=10, BONUS2=2, LSs=(MTS_LS1, MTS_LS2, MTS_LS3), **ukwargs): r"""Set the algorithm parameters. Arguments: SR (numpy.ndarray): Search range. See Also: :func:`NiaPy.algorithms.basic.de.DifferentialEvolution.setParameters` """ DifferentialEvolution.setParameters(self, itype=ukwargs.pop('itype', MtsIndividual), **ukwargs) self.LSs, self.NoLsTests, self.NoLs, self.NoEnabled = LSs, NoLsTests, NoLs, NoEnabled self.BONUS1, self.BONUS2 = BONUS1, BONUS2
def setParameters(self, NoGradingRuns=1, NoLs=2, NoEnabled=2, **ukwargs): r"""Set the algorithm parameters. **Arguments:** SR {real} -- Normalized search range """ DifferentialEvolution.setParameters(self, **ukwargs) self.LSs, self.NoGradingRuns, self.NoLs, self.NoEnabled = [ MTS_LS1, MTS_LS2, MTS_LS3 ], NoGradingRuns, NoLs, NoEnabled if ukwargs: logger.info('Unused arguments: %s' % (ukwargs))
def setParameters(self, F_l=0.0, F_u=1.0, Tao1=0.4, Tao2=0.2, **ukwargs): r"""Set the parameters of an algorithm. Arguments: F_l (Optional[float]): Scaling factor lower limit. F_u (Optional[float]): Scaling factor upper limit. Tao1 (Optional[float]): Change rate for F parameter update. Tao2 (Optional[float]): Change rate for CR parameter update. See Also: * :func:`NiaPy.algorithms.basic.DifferentialEvolution.setParameters` """ DifferentialEvolution.setParameters(self, itype=ukwargs.pop('itype', SolutionjDE), **ukwargs) self.F_l, self.F_u, self.Tao1, self.Tao2 = F_l, F_u, Tao1, Tao2
def typeParameters(): d = DifferentialEvolution.typeParameters() d['F_l'] = lambda x: isinstance(x, (float, int)) and x > 0 d['F_u'] = lambda x: isinstance(x, (float, int)) and x > 0 d['Tao1'] = lambda x: isinstance(x, (float, int)) and 0 <= x <= 1 d['Tao2'] = lambda x: isinstance(x, (float, int)) and 0 <= x <= 1 return d
def setParameters(self, F_l=0.0, F_u=2.0, Tao1=0.4, Tao2=0.6, **ukwargs): r"""Set the parameters of an algorithm. **Arguments:** F_l {decimal} -- scaling factor lower limit F_u {decimal} -- scaling factor upper limit Tao1 {decimal} -- change rate for F parameter update Tao2 {decimal} -- change rate for CR parameter update """ DifferentialEvolution.setParameters(self, **ukwargs) self.F_l, self.F_u, self.Tao1, self.Tao2 = F_l, F_u, Tao1, Tao2 if ukwargs: logger.info('Unused arguments: %s' % (ukwargs))
def getParameters(self): r"""TODO. Returns: Dict[str, Any]: TODO. """ d = DifferentialEvolution.getParameters(self) d.update({ 'F_l': self.F_l, 'F_u': self.F_u, 'Tao1': self.Tao1, 'Tao2': self.Tao2 }) return d
def typeParameters(): r"""Get dictionary with functions for checking values of parameters. Returns: Dict[str, Callable]: * NoLsTests (Callable[[int], bool]): TODO * NoLs (Callable[[int], bool]): TODO * NoEnabled (Callable[[int], bool]): TODO See Also: :func:`NiaPy.algorithms.basic.de.DifferentialEvolution.typeParameters` """ d = DifferentialEvolution.typeParameters() d.update({ 'NoLsTests': lambda x: isinstance(x, int) and x >= 0, 'NoLs': lambda x: isinstance(x, int) and x >= 0, 'NoEnabled': lambda x: isinstance(x, int) and x > 0 }) return d
def typeParameters(): r"""Get dictionary with functions for checking values of parameters. Returns: Dict[str, Callable]: * F_l (Callable[[Union[float, int]], bool]) * F_u (Callable[[Union[float, int]], bool]) * Tao1 (Callable[[Union[float, int]], bool]) * Tao2 (Callable[[Union[float, int]], bool]) See Also: * :func:`NiaPy.algorithms.basic.DifferentialEvolution.typeParameters` """ d = DifferentialEvolution.typeParameters() d['F_l'] = lambda x: isinstance(x, (float, int)) and x > 0 d['F_u'] = lambda x: isinstance(x, (float, int)) and x > 0 d['Tao1'] = lambda x: isinstance(x, (float, int)) and 0 <= x <= 1 d['Tao2'] = lambda x: isinstance(x, (float, int)) and 0 <= x <= 1 return d
def getParameters(self): d = DifferentialEvolution.getParameters(self) # TODO add paramters values return d
def setParameters(self, **kwargs): DifferentialEvolution.setParameters(self, **kwargs)
def getParameters(self): d = DifferentialEvolution.getParameters(self) # TODO add parameter values to dictionary return d
def typeParameters(): return DifferentialEvolution.typeParameters()