Exemple #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)
    def test_GSOBuilder_using_FromFileInitializer(self):
        builder = GSOBuilder()
        gso = builder.create_from_file(
            self.number_of_glowworms, self.random_number_generator,
            self.gso_parameters, self.objective_function, self.bounding_box,
            self.golden_data_path / 'initial_positions.txt')
        population_lines = str(gso.swarm).split(os.linesep)
        expected_lines = open(self.golden_data_path /
                              'initial_population_from_file.txt').readlines()

        assert len(expected_lines) == len(population_lines)
        for line1, line2 in zip(expected_lines, population_lines):
            assert line1.rstrip() == line2.rstrip()
 def test_GSOBuilder_using_FromFileInitializer(self):
     builder = GSOBuilder()
     gso = builder.create_from_file(self.number_of_glowworms, 
                                       self.random_number_generator, 
                                       self.gso_parameters, 
                                       self.objective_function, 
                                       self.bounding_box, 
                                       self.golden_data_path+'initial_positions.txt')
     population_lines =  str(gso.swarm).split(os.linesep)
     expected_lines = open(self.golden_data_path+'initial_population_from_file.txt').readlines()
     
     assert len(expected_lines) == len(population_lines)
     for line1, line2 in zip(expected_lines, population_lines):
         assert line1.rstrip() == line2.rstrip()
Exemple #4
0
    def test_GSO_with_J1_initializing_from_file(self):
        objective_function = J1()
        bounding_box = BoundingBox([Boundary(-3.0, 3.0), Boundary(-3.0, 3.0)])
        number_of_glowworms = 50
        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.txt')

        gso.run(200)

        # Function peak coordinates
        peak_coordinates = [[1.28, 0.0], [0.0, 1.58], [-0.46, -0.63]]

        # Check with auxiliar function the position of the glowworms
        assert self.found_peaks(peak_coordinates, 2, gso.swarm.glowworms, 2)
Exemple #5
0
 def test_GSO_with_J1_initializing_from_file(self):
     objective_function = J1()
     bounding_box = BoundingBox([Boundary(-3.0, 3.0), Boundary(-3.0, 3.0)])
     number_of_glowworms = 50
     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.txt')
     
     gso.run(200)
     
     # Function peak coordinates
     peak_coordinates = [[1.28, 0.0], [0.0, 1.58], [-0.46, -0.63]]
     
     # Check with auxiliar function the position of the glowworms
     assert self.found_peaks(peak_coordinates, 2, gso.swarm.glowworms, 2)
Exemple #6
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)