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()


Beispiel #2
0
                      "--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())