Exemplo n.º 1
0
Arquivo: pso.py Projeto: NiaOrg/NiaPy
    def init(self, task):
        r"""Initialize dynamic arguments of Particle Swarm Optimization algorithm.

        Args:
            task (Task): Optimization task.

        Returns:
            Dict[str, numpy.ndarray]:
                * vMin: Minimal velocity.
                * vMax: Maximal velocity.
                * V: Initial velocity of particle.
                * flag: Refresh gap counter.

        """
        return {
            'min_velocity':
            full_array(self.min_velocity, task.dimension),
            'max_velocity':
            full_array(self.max_velocity, task.dimension),
            'v':
            np.full([self.population_size, task.dimension], 0.0),
            'flag':
            np.full(self.population_size, 0),
            'pc':
            np.asarray([
                .05 + .45 * (np.exp(10 * (i - 1) /
                                    (self.population_size - 1)) - 1) /
                (np.exp(10) - 1) for i in range(self.population_size)
            ])
        }
Exemplo n.º 2
0
Arquivo: kh.py Projeto: zStupan/NiaPy
    def init_weights(self, task):
        r"""Initialize weights.

        Args:
            task (Task): Optimization task.

        Returns:
            Tuple[numpy.ndarray, numpy.ndarray]:
                1. Weights for neighborhood.
                2. Weights for foraging.

        """
        return full_array(self.W_n,
                          task.dimension), full_array(self.W_f, task.dimension)
Exemplo n.º 3
0
    def init(self, _task):
        r"""Initialize dynamic parameters of algorithm.

        Args:
            _task (Task): Optimization task.

        Returns:
            Tuple[numpy.ndarray, numpy.ndarray, numpy.ndarray]
                1. Array of `self.alpha` propagated values
                2. Array of `self.gamma` propagated values
                3. Array of `self.theta` propagated values

        """
        return full_array(self.alpha, self.population_size), full_array(
            self.gamma,
            self.population_size), full_array(self.theta, self.population_size)
Exemplo n.º 4
0
Arquivo: pso.py Projeto: NiaOrg/NiaPy
    def init(self, task):
        r"""Initialize dynamic arguments of Particle Swarm Optimization algorithm.

        Args:
            task (Task): Optimization task.

        Returns:
            Dict[str, Union[float, numpy.ndarray]]:
                * w (numpy.ndarray): Inertial weight.
                * min_velocity (numpy.ndarray): Minimal velocity.
                * max_velocity (numpy.ndarray): Maximal velocity.
                * v (numpy.ndarray): Initial velocity of particle.

        """
        return {
            'w': full_array(self.w, task.dimension),
            'min_velocity': full_array(self.min_velocity, task.dimension),
            'max_velocity': full_array(self.max_velocity, task.dimension),
            'v': np.zeros((self.population_size, task.dimension))
        }
Exemplo n.º 5
0
 def test_a_float_array3(self):
     a = [25.25 + i for i in range(10)]
     arr = full_array(np.asarray(a), 9)
     a.remove(34.25)
     self.assertTrue(np.array_equal(arr, np.asarray(a)))
Exemplo n.º 6
0
 def test_a_int_list3(self):
     a = [25 + i for i in range(10)]
     arr = full_array(a, 9)
     a.remove(34)
     self.assertTrue(np.array_equal(arr, np.asarray(a)))
Exemplo n.º 7
0
 def test_a_int_array2(self):
     a = [25 + i for i in range(10)]
     arr = full_array(np.asarray(a), 13)
     a.extend([25 + i for i in range(3)])
     self.assertTrue(np.array_equal(arr, np.asarray(a)))
Exemplo n.º 8
0
 def test_a_float_array1(self):
     a = [25.25 + i for i in range(10)]
     arr = full_array(np.asarray(a), 15)
     a.extend([25.25 + i for i in range(5)])
     self.assertTrue(np.array_equal(arr, np.asarray(a)))
Exemplo n.º 9
0
 def test_a_int_array(self):
     a = np.asarray([25] * 10)
     arr = full_array(a, 10)
     self.assertTrue(np.array_equal(arr, np.full(10, 25)))
Exemplo n.º 10
0
 def test_a_float_list(self):
     a = [25.25] * 10
     arr = full_array(a, 10)
     self.assertTrue(np.array_equal(arr, np.full(10, 25.25)))
Exemplo n.º 11
0
 def test_a_int(self):
     arr = full_array(25, 10)
     self.assertTrue(np.array_equal(arr, np.full(10, 25)))
Exemplo n.º 12
0
 def setUp(self):
     self.D = 10
     self.Upper, self.Lower = full_array(10,
                                         self.D), full_array(-10, self.D)
     self.met = repair.limit
Exemplo n.º 13
0
def generate_individual(dim, upper, lower):
    upp, low = full_array(upper, dim), full_array(lower, dim)
    return default_rng().uniform(low, upp, dim)