Ejemplo n.º 1
0
    def test_GSO_with_report_in_file_and_saving_intermediary_files(self):
        objective_function = J5()
        self.gso_parameters.initial_vision_range = 3.0
        self.gso_parameters.max_vision_range = 3.0
        bounding_box = BoundingBox(
            [Boundary(-2.0 * pi, 2.0 * pi),
             Boundary(-2.0 * pi, 2.0 * pi)])
        number_of_glowworms = 5
        random_number_generator = MTGenerator(324324)
        builder = GSOBuilder()
        gso = builder.create_from_file(
            number_of_glowworms, random_number_generator, self.gso_parameters,
            objective_function, bounding_box,
            self.golden_data_path + 'initial_positions_redux.txt')

        gso.run(5,
                saving_path=self.test_path,
                save_intermediary=True,
                save_all_intermediary=True)

        for i in range(5):
            assert os.path.exists(self.test_path + 'gso_%d.out' % (i + 1))

        gso.report(self.test_path + 'report.out')
        lines = open(self.test_path + 'report.out').readlines()
        assert 14 == len(lines)
Ejemplo n.º 2
0
    def test_GSO_with_report(self):
        objective_function = J5()
        self.gso_parameters.initial_vision_range = 3.0
        self.gso_parameters.max_vision_range = 3.0
        bounding_box = BoundingBox(
            [Boundary(-2.0 * pi, 2.0 * pi),
             Boundary(-2.0 * pi, 2.0 * pi)])
        number_of_glowworms = 5
        random_number_generator = MTGenerator(324324)
        builder = GSOBuilder()
        gso = builder.create(number_of_glowworms, random_number_generator,
                             self.gso_parameters, objective_function,
                             bounding_box)

        gso.run(5)

        report = gso.report()
        assert 14 == len(report.split(os.linesep))
        assert str(gso) == report
Ejemplo n.º 3
0
    def test_GSO_with_J5(self):
        objective_function = J5()
        self.gso_parameters.initial_vision_range = 3.0
        self.gso_parameters.max_vision_range = 3.0
        bounding_box = BoundingBox(
            [Boundary(-2.0 * pi, 2.0 * pi),
             Boundary(-2.0 * pi, 2.0 * pi)])
        number_of_glowworms = 100
        random_number_generator = MTGenerator(324324)
        builder = GSOBuilder()
        gso = builder.create(number_of_glowworms, random_number_generator,
                             self.gso_parameters, objective_function,
                             bounding_box)

        gso.run(70)

        # Save last step
        gso.swarm.save(70, self.test_path, 'gso_j5_70.out')

        assert filecmp.cmp(self.test_path + 'gso_j5_70.out',
                           self.golden_data_path + 'gso_j5_70.out')
Ejemplo n.º 4
0
 def test_compute_J1_matrix(self):
     j5 = J5()
     for i in range(15):
         for j in range(15):
             assert_equals(self.expected_values[i][j], j5(Coordinates([-6.24+j*0.89143, -6.24+i*0.89143])))