Пример #1
0
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()


Пример #2
0
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()
Пример #3
0
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()
Пример #4
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())
Пример #5
0
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()