示例#1
0
    def typeParameters():
        r"""Get dictionary with functions for checking values of parameters.

		Returns:
			Dict[str, Callable]:
				* F (Callable[[Union[int, float]], bool]): TODO
				* CR (Callable[[float], bool]): TODO
		"""
        d = BatAlgorithm.typeParameters()
        d['F'] = lambda x: isinstance(x, (int, float)) and x > 0
        d['CR'] = lambda x: isinstance(x, float) and 0 <= x <= 1
        return d
示例#2
0
 def test_parameter_type(self):
     d = BatAlgorithm.typeParameters()
     self.assertTrue(d['Qmax'](10))
     self.assertTrue(d['Qmin'](10))
     self.assertTrue(d['r'](10))
     self.assertFalse(d['r'](-10))
     self.assertFalse(d['r'](0))
     self.assertFalse(d['A'](0))
     self.assertFalse(d['A'](-19))
     self.assertTrue(d['NP'](10))
     self.assertFalse(d['NP'](-10))
     self.assertFalse(d['NP'](0))
     self.assertTrue(d['A'](10))
     self.assertFalse(d['Qmin'](None))
     self.assertFalse(d['Qmax'](None))
示例#3
0
    def typeParameters():
        r"""Get dictionary with functions for checking values of parameters.

		Returns:
			Dict[str, Callable]:
				* F (Callable[[Union[int, float]], bool]): Scaling factor.
				* CR (Callable[[float], bool]): Crossover probability.

		See Also:
			* :func:`NiaPy.algorithms.basic.BatAlgorithm.typeParameters`
		"""
        d = BatAlgorithm.typeParameters()
        d.update({
            'F': lambda x: isinstance(x, (int, float)) and x > 0,
            'CR': lambda x: isinstance(x, float) and 0 <= x <= 1
        })
        return d
示例#4
0
 def typeParameters():
     d = BatAlgorithm.typeParameters()
     d['F'] = lambda x: isinstance(x, (int, float)) and x > 0
     d['CR'] = lambda x: isinstance(x, float) and 0 <= x <= 1
     return d