import matplotlib.pyplot as plt import numpy from metaheuristic import simulated_annealing from temperature import temperatures from camera_placing import board_utils, problem, quality_functions if __name__ == "__main__": board = board_utils.BoardUtils.get_board_from_file('board') p = problem.Problem(board, 60, 8, 1000, quality_functions.LinearQuality(1, 1)) t_speeds = [] qualities = [] for t_speed in numpy.arange(0.0, 0.7, 0.1): t = temperatures.GeometricTemperature(t_speed, 900) alg = simulated_annealing.SimulatedAnnealing(p, t, 1000) res = alg.get_result() t_speeds.append(t_speed) qualities.append(p.energy(res)) print t_speed plt.plot(t_speeds, qualities, 'ro') plt.title("quality of result / cooling speed") plt.show()
import matplotlib.pyplot as plt from metaheuristic import simulated_annealing from temperature import temperatures from camera_placing import board_utils, problem, quality_functions if __name__ == "__main__": board = board_utils.BoardUtils.get_board_from_file('board') qualities = [] ranges = [] for rangeVal in range(2, 20, 2): p = problem.Problem(board, 60, rangeVal, 30, quality_functions.LinearQuality(8, 1)) t = temperatures.GeometricTemperature(0, 900) alg = simulated_annealing.SimulatedAnnealing(p, t, 1000) res = alg.get_result() qualities.append(p.energy(res)) ranges.append(rangeVal) print rangeVal plt.plot(ranges, qualities, 'ro') plt.title("quality of result / camera vision range") plt.show()
import matplotlib.pyplot as plt from metaheuristic import simulated_annealing from temperature import temperatures from camera_placing import board_utils, problem, quality_functions if __name__ == "__main__": board = board_utils.BoardUtils.get_board_from_file('board') input_data = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] qualities = [] for inputVal in input_data: values = [] p = problem.Problem(board, 60, 8, 40, quality_functions.LinearQuality(inputVal, 1)) t = temperatures.GeometricTemperature(0, 900) for i in range(0, 3): alg = simulated_annealing.SimulatedAnnealing(p, t, 1000) res = alg.get_result() values.append(p.get_not_covered_points(res)) print inputVal qualities.append((values[0] + values[1] + values[2])/3.0) plt.plot(input_data, qualities, 'ro') plt.title("not covered points / quality function parameters ratio(number of cameras/number of uncovered points)") plt.show()
"--angle", action="store", type="int", default=60, help="Camera angle of vision") parser.add_option("-r", "--range", action="store", type="int", default=8, help="Camera range of vision") parser.add_option("-t", "--iterations", action="store", type="int", default=2000, help="Number of algorithm iterations to the end") parser.add_option("-m", "--maxCam", action="store", type="int", default=1000, help="Maximum number of cameras in the room") (options, args) = parser.parse_args() board = board_utils.BoardUtils.get_board_from_file(options.filename) p = problem.Problem(board, options.angle, options.range, options.maxCam, quality_functions.LinearQuality(1, 1)) t = temperatures.GeometricTemperature(0.99, 500) alg = simulated_annealing.SimulatedAnnealing(p, t, options.iterations) board_utils.BoardUtils.show_board_representation(board, alg.get_result())
import matplotlib.pyplot as plt from metaheuristic import simulated_annealing from temperature import temperatures from camera_placing import board_utils, problem, quality_functions if __name__ == "__main__": board = board_utils.BoardUtils.get_board_from_file('board') qualities = [] angles = [] for angle in range(10, 360, 50): p = problem.Problem(board, angle, 8, 30, quality_functions.LinearQuality(8, 1)) t = temperatures.GeometricTemperature(0, 900) alg = simulated_annealing.SimulatedAnnealing(p, t, 1000) res = alg.get_result() qualities.append(p.energy(res)) angles.append(angle) print angle plt.plot(angles, qualities, 'ro') plt.title("quality of result / camera vision angle") plt.show()