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_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
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')
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])))