Exemple #1
0
    def setParameters(self,
                      NP=25,
                      C1=2.0,
                      C2=2.0,
                      w=0.7,
                      vMin=-4,
                      vMax=4,
                      InitPopFunc=defaultNumPyInit,
                      binary=False,
                      **ukwargs):
        r"""Set Particle Swarm Algorithm main parameters.

		Args:
			NP (Optional[int]): Population size
			C1 (Optional[float]): Cognitive component
			C2 (Optional[float]): Social component
			w (Optional[float]): Inertial weight
			vMin (Optional[float]): Mininal velocity
			vMax (Optional[float]): Maximal velocity
			InitPopFunc (Optional(func)): Init functions as in Algorithm Base Class
			binary (Optional(bool)): If True, V is rounded and casted to int
			**ukwargs: Additional arguments

		See Also:
			* :func:`NiaPy.algorithms.Algorithm.setParameters`
		"""
        Algorithm.setParameters(self, NP=NP, **ukwargs)
        self.C1, self.C2, self.w, self.vMin, self.vMax = C1, C2, w, vMin, vMax
        self.binary = binary
        if ukwargs: logger.info('Unused arguments: %s' % (ukwargs))
Exemple #2
0
    def setParameters(self,
                      NP=25,
                      SI_init=3,
                      SI_final=10,
                      SV_init=3,
                      SV_final=13,
                      min_w=0.3,
                      w_scale=0.7,
                      **ukwargs):
        r"""Set core arguments of FishSchoolSearch algorithm.

		Arguments:
			NP (Optional[int]): Number of fishes in school.
			SI_init (Optional[int]): Length of initial individual step.
			SI_final (Optional[int]): Length of final individual step.
			SV_init (Optional[int]): Length of initial volatile step.
			SV_final (Optional[int]): Length of final volatile step.
			min_w (Optional[float]): Minimum weight of a fish.
			w_scale (Optional[float]): Maximum weight of a fish.

		See Also:
			* :func:`NiaPy.algorithms.Algorithm.setParameters`
		"""
        Algorithm.setParameters(self, NP=NP)
        self.step_individual_init = SI_init
        self.step_individual_final = SI_final
        self.step_volitive_init = SV_init
        self.step_volitive_final = SV_final
        self.min_w = min_w
        self.w_scale = w_scale
Exemple #3
0
    def setParameters(self,
                      N=25,
                      phi=10,
                      Fa=0.5,
                      Fb=0.5,
                      Fd=0.3,
                      k=25,
                      P_Cr=0.5,
                      P_F=0.36,
                      SexualCrossover=SexualCrossoverSimple,
                      Brooding=BroodingSimple,
                      Distance=euclidean,
                      **ukwargs):
        r"""Set the parameters of the algorithm.

		Arguments:
			N (int): population size for population initialization.
			phi (int): TODO.
			Fa (float): TODO.
			Fb (float): Value $\in [0, 1]$ for Brooding size.
			Fd (float): Value $\in [0, 1]$ for Depredation.
			k (int): Trys for larvae setting.
			SexualCrossover (Callable[[numpy.ndarray, float, Task, mtrand.RandomState, Dict[str, Any]], Tuple[numpy.ndarray, numpy.ndarray[float]]]): Crossover function.
			P_Cr (float): Crossover rate $\in [0, 1]$.
			Brooding (Callable[[numpy.ndarray, float, Task, mtrand.RandomState, Dict[str, Any]], Tuple[numpy.ndarray, numpy.ndarray[float]]]): Brooding function.
			P_F (float): Crossover rate $\in [0, 1]$.
			Distance (Callable[[numpy.ndarray, numpy.ndarray], float]): Funciton for calculating distance between corals.

		See Also:
			* :func:`NiaPy.algorithms.Algorithm.setParameters`
		"""
        Algorithm.setParameters(self, **ukwargs)
        self.phi, self.Fa, self.Fb, self.Fd, self.k, self.P_Cr, self.P_F = phi, Fa, Fb, Fd, k, P_Cr, P_F
        self.SexualCrossover, self.Brooding, self.Distance = SexualCrossover, Brooding, Distance
        if ukwargs: logger.info('Unused arguments: %s' % (ukwargs))
Exemple #4
0
    def setParameters(self,
                      n=25,
                      l0=5,
                      nt=5,
                      rho=0.4,
                      gamma=0.6,
                      beta=0.08,
                      s=0.03,
                      Distance=euclidean,
                      **ukwargs):
        r"""Set the arguments of an algorithm.

        Arguments:
            n (Optional[int]): Number of glowworms in population.
            l0 (Optional[float]): Initial luciferin quantity for each glowworm.
            nt (Optional[float]): --
            rs (Optional]float]): Maximum sensing range.
            rho (Optional[float]): Luciferin decay constant.
            gamma (Optional[float]): Luciferin enhancement constant.
            beta (Optional[float]): --
            s (Optional[float]): --
            Distance (Optional[Callable[[numpy.ndarray, numpy.ndarray], float]]]): Measure distance between two individuals.
        """
        if "NP" in ukwargs:
            n = ukwargs["NP"]
        Algorithm.setParameters(self, **ukwargs)
        self.n, self.l0, self.nt, self.rho, self.gamma, self.beta, self.s, self.Distance = n, l0, nt, rho, gamma, beta, s, Distance
        if ukwargs: logger.info('Unused arguments: %s' % (ukwargs))
Exemple #5
0
    def setParameters(self,
                      NP=30,
                      MR=0.1,
                      C1=2.05,
                      SMP=3,
                      SPC=True,
                      CDC=0.85,
                      SRD=0.2,
                      vMax=1.9,
                      **ukwargs):
        r"""Set the algorithm parameters.

        Arguments:
            NP (int): Number of individuals in population.
            MR (float): Mixture ratio.
            C1 (float): Constant in tracing mode.
            SMP (int): Seeking memory pool.
            SPC (bool): Self-position considering.
            CDC (float): Decides how many dimensions will be varied.
            SRD (float): Seeking range of the selected dimension.
            vMax (float): Maximal velocity.

            See Also:
                * :func:`NiaPy.algorithms.Algorithm.setParameters`
        """
        Algorithm.setParameters(self, NP=NP, **ukwargs)
        self.MR, self.C1, self.SMP, self.SPC, self.CDC, self.SRD, self.vMax = MR, C1, SMP, SPC, CDC, SRD, vMax
Exemple #6
0
	def setParameters(self, NP=25, Ts=5, Mr=0.25, Cr=0.25, Selection=TournamentSelection, Crossover=UniformCrossover, Mutation=UniformMutation, **ukwargs):
		r"""Set the parameters of the algorithm.

		Arguments:
			NP (Optional[int]): Population size.
			Ts (Optional[int]): Tournament selection.
			Mr (Optional[int]): Mutation rate.
			Cr (Optional[float]): Crossover rate.
			Selection (Optional[Callable[[numpy.ndarray[Individual], int, int, Individual, mtrand.RandomState], Individual]]): Selection operator.
			Crossover (Optional[Callable[[numpy.ndarray[Individual], int, float, mtrand.RandomState], Individual]]): Crossover operator.
			Mutation (Optional[Callable[[numpy.ndarray[Individual], int, float, Task, mtrand.RandomState], Individual]]): Mutation operator.

		See Also:
			* :func:`NiaPy.algorithms.Algorithm.setParameters`
			* Selection:
				* :func:`NiaPy.algorithms.basic.TournamentSelection`
				* :func:`NiaPy.algorithms.basic.RouletteSelection`
			* Crossover:
				* :func:`NiaPy.algorithms.basic.UniformCrossover`
				* :func:`NiaPy.algorithms.basic.TwoPointCrossover`
				* :func:`NiaPy.algorithms.basic.MultiPointCrossover`
				* :func:`NiaPy.algorithms.basic.CrossoverUros`
			* Mutations:
				* :func:`NiaPy.algorithms.basic.UniformMutation`
				* :func:`NiaPy.algorithms.basic.CreepMutation`
				* :func:`NiaPy.algorithms.basic.MutationUros`
		"""
		Algorithm.setParameters(self, NP=NP, itype=ukwargs.pop('itype', Individual), InitPopFunc=ukwargs.pop('InitPopFunc', defaultIndividualInit), **ukwargs)
		self.Ts, self.Mr, self.Cr = Ts, Mr, Cr
		self.Selection, self.Crossover, self.Mutation = Selection, Crossover, Mutation
Exemple #7
0
class AlgorithBaseTestCase(TestCase):
    def setUp(self):
        self.a = Algorithm()

    def test_randint(self):
        o = self.a.randint(Nmax=20, Nmin=10, D=[10, 10])
        self.assertEqual(o.shape, (10, 10))
        o = self.a.randint(Nmax=20, Nmin=10, D=(10, 5))
        self.assertEqual(o.shape, (10, 5))
        o = self.a.randint(Nmax=20, Nmin=10, D=10)
        self.assertEqual(o.shape, (10, ))

    def test_setParameters(self):
        self.a.setParameters(t=None, a=20)
        self.assertRaises(AttributeError,
                          lambda: self.assertEqual(self.a.a, None))

    def test_randn(self):
        a = self.a.randn([1, 2])
        self.assertEqual(a.shape, (1, 2))
        a = self.a.randn(1)
        self.assertEqual(len(a), 1)
        a = self.a.randn(2)
        self.assertEqual(len(a), 2)
        a = self.a.randn()
        self.assertIsInstance(a, float)
Exemple #8
0
	def setParameters(self, NP=50, N_max=0.01, V_f=0.02, D_max=0.002, C_t=0.93, W_n=0.42, W_f=0.38, d_s=2.63, nn=5, Cr=0.2, Mu=0.05, epsilon=1e-31, **ukwargs):
		r"""Set the arguments of an algorithm.

		Arguments:
			NP (Optional[int]): Number of krill herds in population.
			N_max (Optional[float]): Maximum induced speed.
			V_f (Optional[float]): Foraging speed.
			D_max (Optional[float]): Maximum diffusion speed.
			C_t (Optional[float]): Constant $\in [0, 2]$.
			W_n (Optional[Union[int, float, numpy.ndarray]]): Intera weights of the motion induced from neighbors :math:`\in [0, 1]`.
			W_f (Optional[Union[int, float, numpy.ndarray]]): Intera weights of the motion induced from foraging :math:`\in [0, 1]`.
			d_s (Optional[float]): Maximum euclidean distance for neighbors.
			nn (Optional[int]): Maximum neighbors for neighbors effect.
			Cr (Optional[float]): Crossover probability.
			Mu (Optional[float]): Mutation probability.
			epsilon (Optional[float]): Small numbers for division.

		See Also:
			* :func:`NiaPy.algorithms.algorithm.Algorithm.setParameters`
		"""

		Algorithm.setParameters(self, **ukwargs)
		self.NP = NP
		self.N_max, self.V_f, self.D_max, self.C_t, self.W_n, self.W_f, self.d_s, self.nn, self._Cr, self._Mu, self.epsilon = N_max, V_f, D_max, C_t, W_n, W_f, d_s, nn, Cr, Mu, epsilon
		if ukwargs: logger.info('Unused arguments: %s' % (ukwargs))
Exemple #9
0
    def setParameters(self,
                      NP=50,
                      F=1,
                      CR=0.8,
                      CrossMutt=CrossRand1,
                      **ukwargs):
        r"""Set the algorithm parameters.

		Arguments:
			NP (Optional[int]): Population size.
			F (Optional[float]): Scaling factor.
			CR (Optional[float]): Crossover rate.
			CrossMutt (Optional[Callable[[numpy.ndarray, int, numpy.ndarray, float, float, mtrand.RandomState, list], numpy.ndarray]]): Crossover and mutation strategy.
			ukwargs (Dict[str, Any]): Additional arguments.

		See Also:
			* :func:`NiaPy.algorithms.Algorithm.setParameters`
		"""
        Algorithm.setParameters(self,
                                NP=NP,
                                InitPopFunc=ukwargs.pop(
                                    'InitPopFunc', defaultIndividualInit),
                                itype=ukwargs.pop('itype', Individual),
                                **ukwargs)
        self.F, self.CR, self.CrossMutt = F, CR, CrossMutt
        if ukwargs: logger.info('Unused arguments: %s' % (ukwargs))
Exemple #10
0
    def setParameters(self,
                      NP=43,
                      alpha=(1, 0.83),
                      gamma=(1.17, 0.56),
                      theta=(0.932, 0.832),
                      d=euclidean,
                      dn=euclidean,
                      nl=1,
                      F=1.2,
                      CR=0.25,
                      Combination=Elitism,
                      **ukwargs):
        r"""Set the parameters for the algorith.

		Arguments:
			alpha (Optional[List[float]]): Factor for fickleness index function :math:`\in [0, 1]`.
			gamma (Optional[List[float]]): Factor for external irregularity index function :math:`\in [0, \infty)`.
			theta (Optional[List[float]]): Factor for internal irregularity index function :math:`\in [0, \infty)`.
			d (Optional[Callable[[float, float], float]]): function that takes two arguments that are function values and calcs the distance between them.
			dn (Optional[Callable[[numpy.ndarray, numpy.ndarray], float]]): function that takes two arguments that are points in function landscape and calcs the distance between them.
			nl (Optional[float]): Normalized range for neighborhood search :math:`\in (0, 1]`.
			F (Optional[float]): Mutation parameter.
			CR (Optional[float]): Crossover parameter :math:`\in [0, 1]`.
			Combination (Optional[Callable[numpy.ndarray, numpy.ndarray, numpy.ndarray, numpy.ndarray, float, float, float, float, float, float, Task, mtrand.RandomState]]): Function for combining individuals to get new position/individual.

		See Also:
			* :func:`NiaPy.algorithms.Algorithm.setParameters`
			* Combination methods:
				* :func:`NiaPy.algorithms.other.Elitism'
				* :func:`NiaPy.algorithms.other.Crossover`
				* :func:`NiaPy.algorithms.other.Sequential`
		"""
        Algorithm.setParameters(self, NP=NP, **ukwargs)
        self.alpha, self.gamma, self.theta, self.d, self.dn, self.nl, self.F, self.CR, self.Combination = alpha, gamma, theta, d, dn, nl, F, CR, Combination
Exemple #11
0
    def setParameters(self,
                      NP=25,
                      C1=2.0,
                      C2=2.0,
                      w=0.7,
                      vMin=-1.5,
                      vMax=1.5,
                      Repair=repair.reflect,
                      **ukwargs):
        r"""Set Particle Swarm Algorithm main parameters.

		Args:
			NP (int): Population size
			C1 (float): Cognitive component.
			C2 (float): Social component.
			w (Union[float, numpy.ndarray]): Inertial weight.
			vMin (Union[float, numpy.ndarray]): Minimal velocity.
			vMax (Union[float, numpy.ndarray]): Maximal velocity.
			Repair (Callable[[np.ndarray, np.ndarray, np.ndarray, dict], np.ndarray]): Repair method for velocity.
			**ukwargs: Additional arguments

		See Also:
			* :func:`NiaPy.algorithms.Algorithm.setParameters`
		"""
        Algorithm.setParameters(self, NP=NP, **ukwargs)
        self.C1, self.C2, self.w, self.vMin, self.vMax, self.Repair = C1, C2, w, vMin, vMax, Repair
Exemple #12
0
    def setParameters(self,
                      NP=50,
                      omega=0.25,
                      mu=0.5,
                      alpha=0.5,
                      S_init=10,
                      E_init=10,
                      T_min=-10,
                      T_max=10,
                      **ukwargs):
        r"""Set the arguments of an algorithm.

		Arguments:
			NP (Optional[int]): Population size :math:`\in [1, \infty)`.
			T_min (Optional[float]): Minimum temperature, must be true :math:`$T_{min} < T_{max}`.
			T_max (Optional[float]): Maximum temperature, must be true :math:`T_{min} < T_{max}`.
			omega (Optional[float]): Burden factor :math:`\in [0, 1]`.
			mu (Optional[float]): Dying rate :math:`\in [0, 1]`.
			S_init (Optional[float]): Initial supply :math:`\in (0, \infty)`.
			E_init (Optional[float]): Initial endurance :math:`\in (0, \infty)`.

		See Also:
			* :func:`NiaPy.algorithms.Algorithm.setParameters`
		"""
        Algorithm.setParameters(self,
                                NP=NP,
                                itype=Camel,
                                InitPopFunc=ukwargs.pop(
                                    'InitPopFunc', self.initPop),
                                **ukwargs)
        self.omega, self.mu, self.alpha, self.S_init, self.E_init, self.T_min, self.T_max = omega, mu, alpha, S_init, E_init, T_min, T_max
Exemple #13
0
    def setParameters(self,
                      NP=None,
                      alpha=0.1,
                      gamma=0.3,
                      rho=-0.2,
                      sigma=-0.2,
                      **ukwargs):
        r"""Set the arguments of an algorithm.

		Arguments:
			NP (Optional[int]): Number of individuals.
			alpha (Optional[float]): Reflection coefficient parameter
			gamma (Optional[float]): Expansion coefficient parameter
			rho (Optional[float]): Contraction coefficient parameter
			sigma (Optional[float]): Shrink coefficient parameter

		See Also:
			* :func:`NiaPy.algorithms.Algorithm.setParameters`
		"""
        Algorithm.setParameters(self,
                                NP=NP,
                                InitPopFunc=ukwargs.pop(
                                    'InitPopFunc', self.initPop),
                                **ukwargs)
        self.alpha, self.gamma, self.rho, self.sigma = alpha, gamma, rho, sigma
Exemple #14
0
    def setParameters(self,
                      NP=10,
                      lt=3,
                      al=10,
                      lsc=1,
                      gsc=1,
                      tr=0.3,
                      **ukwargs):
        r"""Set the parameters of the algorithm.

        Args:
            NP (Optional[int]): Population size.
            lt (Optional[int]): Life time parameter.
            al (Optional[int]): Area limit parameter.
            lsc (Optional[int]): Local seeding changes parameter.
            gsc (Optional[int]): Global seeding changes parameter.
            tr (Optional[float]): Transfer rate parameter.
            ukwargs (Dict[str, Any]): Additional arguments.

        See Also:
            * :func:`NiaPy.algorithms.Algorithm.setParameters`
        """
        Algorithm.setParameters(self, NP=NP)
        self.lt, self.al, self.lsc, self.gsc, self.tr = lt, al, lsc, gsc, tr
        if ukwargs: logger.info('Unused arguments: %s' % (ukwargs))
Exemple #15
0
    def setParameters(self,
                      NP=25,
                      C1=2.0,
                      C2=2.0,
                      w=0.7,
                      vMin=-4,
                      vMax=4,
                      **ukwargs):
        r"""Set Particle Swarm Algorithm main parameters.

		Args:
			NP (Optional[int]): Population size
			C1 (Optional[float]): Cognitive component
			C2 (Optional[float]): Social component
			w (Optional[float]): Inertial weight
			vMin (Optional[float]): Mininal velocity
			vMax (Optional[float]): Maximal velocity
			**ukwargs: Additional arguments

		See Also:
			* :func:`NiaPy.algorithms.Algorithm.setParameters`
		"""
        Algorithm.setParameters(self, NP=NP, **ukwargs)
        self.C1, self.C2, self.w, self.vMin, self.vMax = C1, C2, w, vMin, vMax
        if ukwargs: logger.info('Unused arguments: %s' % (ukwargs))
Exemple #16
0
    def setParameters(self,
                      M=40,
                      NoLsTests=5,
                      NoLs=5,
                      NoLsBest=5,
                      NoEnabled=17,
                      BONUS1=10,
                      BONUS2=1,
                      LSs=(MTS_LS1v1, MTS_LS2, MTS_LS3v1),
                      **ukwargs):
        r"""Set the arguments of the algorithm.

		Arguments:
			M (int): Number of individuals in population.
			NoLsTests (int): Number of test runs on local search algorithms.
			NoLs (int): Number of local search algorithm runs.
			NoLsBest (int): Number of locals search algorithm runs on best solution.
			NoEnabled (int): Number of best solution for testing.
			BONUS1 (int): Bonus for improving global best solution.
			BONUS2 (int): Bonus for improving self.
			LSs (Iterable[Callable[[numpy.ndarray, float, numpy.ndarray, float, bool, numpy.ndarray, Task, Dict[str, Any]], Tuple[numpy.ndarray, float, numpy.ndarray, float, bool, int, numpy.ndarray]]]): Local searches to use.

		See Also:
			* :func:`NiaPy.algorithms.Algorithm.setParameters`
		"""
        Algorithm.setParameters(self, NP=M)
        self.NoLsTests, self.NoLs, self.NoLsBest, self.NoEnabled, self.BONUS1, self.BONUS2 = NoLsTests, NoLs, NoLsBest, NoEnabled, BONUS1, BONUS2
        self.LSs = LSs
        if ukwargs: logger.info('Unused arguments: %s' % (ukwargs))
Exemple #17
0
    def setParameters(self, epsilon=1e-20, **ukwargs):
        r"""Set core parameters of CovarianceMatrixAdaptionEvolutionStrategy algorithm.

		Args:
			epsilon (float): Small number.
			**ukwargs (Dict[str, Any]): Additional arguments.
		"""
        Algorithm.setParameters(self, **ukwargs)
        self.epsilon = epsilon
Exemple #18
0
    def setParameters(self, delta=0.5, Neighborhood=Neighborhood, **ukwargs):
        r"""Set the algorithm parameters/arguments.

		Args:
			* delta (Optional[float]): Change for searching in neighborhood.
			* Neighborhood (Optional[Callable[numpy.ndarray, float, Task], Tuple[numpy.ndarray, float]]]): Function for getting neighbours.
		"""
        Algorithm.setParameters(self, NP=1, **ukwargs)
        self.delta, self.Neighborhood = delta, Neighborhood
Exemple #19
0
    def setParameters(self):
        r"""Set the algorithm parameters/arguments.

		Arguments:
		See Also
			* :func:`NiaPy.algorithms.Algorithm.setParameters`
		"""

        Algorithm.setParameters(self, NP=1)
Exemple #20
0
    def setParameters(self, NP=25, **ukwargs):
        r"""Set the algorithm parameters.

		Arguments:
			NP (int): Number of individuals in population

		See Also:
			* :func:`NiaPy.algorithms.algorithm.Algorithm.setParameters`
		"""
        Algorithm.setParameters(self, NP=NP, **ukwargs)
Exemple #21
0
    def setParameters(self, **ukwargs):
        r"""Set the algorithm parameters/arguments.

		Arguments:
		See Also
			* :func:`NiaPy.algorithms.Algorithm.setParameters`
		"""

        ukwargs.pop('NP', None)
        Algorithm.setParameters(self, NP=1)
Exemple #22
0
    def setParameters(self, n=10, C_a=1.5, C_r=0.5, **ukwargs):
        r"""Set the arguments of an algorithm.

        Arguments:
            n (int): Number of sparks :math:`\in [1, \infty)`.
            C_a (float): Amplification coefficient :math:`\in [1, \infty)`.
            C_r (float): Reduction coefficient :math:`\in (0, 1)`.
        """
        Algorithm.setParameters(self, **ukwargs)
        self.n, self.C_a, self.C_r = n, C_a, C_r
        if ukwargs: logger.info('Unused arguments: %s' % (ukwargs))
Exemple #23
0
	def setParameters(self, **ukwargs):
		r"""Set the parameters of the algorithm.

		Args:
			A (Optional[float]): Loudness.
			r (Optional[float]): Pulse rate.
		See Also:
			* :func:`NiaPy.algorithms.Algorithm.setParameters`
		"""
		Algorithm.setParameters(self, NP=80, **ukwargs)
		self.A, self.r = 0.9, 0.1
Exemple #24
0
    def setParameters(self, NP=40, levy=0.01, **ukwargs):
        r"""Set the parameters of the algorithm.

		Args:
			levy (Optional[float]): Levy factor.

		See Also:
			* :func:`NiaPy.algorithms.Algorithm.setParameters`
		"""
        Algorithm.setParameters(self, NP=NP, **ukwargs)
        self.levy = levy
Exemple #25
0
    def setParameters(self, delta=0.5, Neighborhood=Neighborhood, **ukwargs):
        r"""Set the algorithm parameters/arguments.

		Args:
			* delta (float): TODO
			* Neighborhood (Callable[numpy.ndarray, float, Task], Tuple[numpy.ndarray, float]]): Function for getting neighbours.
		"""

        Algorithm.setParameters(self, **ukwargs)
        self.delta, self.Neighborhood = delta, Neighborhood
        if ukwargs: logger.info('Unused arguments: %s' % (ukwargs))
Exemple #26
0
    def setParameters(self, n=10, C_a=1.5, C_r=0.5, **ukwargs):
        r"""Set the arguments of an algorithm.

		Arguments:
			n (int): Number of sparks :math:`\in [1, \infty)`.
			C_a (float): Amplification coefficient :math:`\in [1, \infty)`.
			C_r (float): Reduction coefficient :math:`\in (0, 1)`.
		"""
        ukwargs.pop('NP', None)
        Algorithm.setParameters(self, NP=1, **ukwargs)
        self.n, self.C_a, self.C_r = n, C_a, C_r
Exemple #27
0
    def setParameters(self, NP=40, G_0=2.467, epsilon=1e-17, **ukwargs):
        r"""Set the algorithm parameters.

		Arguments:
			G_0 (float): Starting gravitational constant.
			epsilon (float): TODO.

		See Also:
			* :func:`NiaPy.algorithms.algorithm.Algorithm.setParameters`
		"""
        Algorithm.setParameters(self, NP=NP, **ukwargs)
        self.G_0, self.epsilon = G_0, epsilon
Exemple #28
0
	def setParameters(self, NP=10, Limit=100, **ukwargs):
		r"""Set the parameters of Artificial Bee Colony Algorithm.

		Parameters:
			Limit (Optional[Union[float, numpy.ndarray[float]]]): Limt
			**ukwargs (Dict[str, Any]): Additional arguments

		See Also:
			* :func:`NiaPy.algorithms.Algorithm.setParameters`
		"""
		Algorithm.setParameters(self, NP=NP, InitPopFunc=defaultIndividualInit, itype=SolutionABC, **ukwargs)
		self.FoodNumber, self.Limit = int(self.NP / 2), Limit
Exemple #29
0
    def setParameters(self, NP=10, Limit=100, **ukwargs):
        r"""Set the parameters of Artificial Bee Colony Algorithm.

		Parameters:
			Limit (Optional[Union[float, numpy.ndarray[float]]]): Limt
			**ukwargs (Dict[str, Any]): Additional arguments

		See Also:
			* :func:`NiaPy.algorithms.Algorithm.setParameters`
		"""
        Algorithm.setParameters(self, NP=NP, itype=SolutionABC, **ukwargs)
        self.FoodNumber, self.Limit = int(self.NP / 2), Limit
        if ukwargs: logger.info('Unused arguments: %s' % (ukwargs))
Exemple #30
0
	def setParameters(self, NP=40, A=0.5, r=0.5, Qmin=0.0, Qmax=2.0, **ukwargs):
		r"""Set the parameters of the algorithm.

		Args:
			A (Optional[float]): Loudness.
			r (Optional[float]): Pulse rate.
			Qmin (Optional[float]): Minimum frequency.
			Qmax (Optional[float]): Maximum frequency.

		See Also:
			* :func:`NiaPy.algorithms.Algorithm.setParameters`
		"""
		Algorithm.setParameters(self, NP=NP, **ukwargs)
		self.A, self.r, self.Qmin, self.Qmax = A, r, Qmin, Qmax