Пример #1
0
outputs = [dic['output'] for dic in houses]

wijk1 = SmartGrid(max_x, max_y)

for element in houses:
    wijk1.create_house(element['position'], element['output'])

# populate the batteries in the smart_grid
for element in batteries:
    wijk1.create_battery(element['position'], element['capacity'])

wijk1.add_house_dictionaries(houses)
wijk1.add_battery_dictionaries(batteries)

wijk1.prettify()

# solution_reader_new(wijk1, 'Results/best_hillclimber.json')

# wijk1.connect_from_new_structure(wijk1.house_dict_with_manhattan_distances)
heat_map(wijk1)
wijk1.cap_left()
print(wijk1.calc_cost())
print(wijk1.check_validity())

# wijk1.cap_left()
# print(wijk1.calc_cost())
# print(wijk1.check_validity())
#
# print("The remaining capacity of batteries are: {}".format(wijk1.bat_cap_left))
Пример #2
0
def main():
    colorama.init()


    house_path = 'Data/wijk1_huizen.csv'
    battery_path = 'Data/wijk1_batterijen.txt'

    houses, batteries = read_data(house_path, battery_path)


    # find ranges for the grid matrix
    max_x = max([dic['position'][0] for dic in houses] +
                [dic['position'][0] for dic in batteries]) + 1
    max_y = max([dic['position'][1] for dic in houses] +
                [dic['position'][1] for dic in batteries]) + 1

    # outputs = [dic['output'] for dic in houses]
    # print(outputs)

    # plt.hist(outputs)
    # plt.ylabel('count')
    # plt.xlabel('max output')
    # plt.show()

    # creates our very own smart_grid object! yay
    wijk1 = SmartGrid(max_x,max_y)

    # Populate the houses in the smart_grid, should I make this a method?
    for element in houses:
        wijk1.create_house(element['position'], element['output'])

    # populate the batteries in the smart_grid
    # for element in batteries:
    #     wijk1.create_battery(element['position'], element['capacity'])

    # adds dictionaries to the SmartGrid object
    wijk1.add_house_dictionaries(houses)
    # wijk1.add_battery_dictionaries(batteries)



    # pretty display
    # wijk1.prettify()
    print("The cost of this grid is: {}".format(wijk1.calc_cost()))

    # solution_reader(wijk1, 'Results/best_brabo_solution.csv')
    # wijk1.solve("simple_solve3")

    # wijk1.prettify()
    print("The cost of this grid is: {}".format(wijk1.calc_cost()))

    # wijk1.cap_left()
    # print("The remaining capacity of batteries are: {}".format(wijk1.bat_cap_left))

    # heat_map(wijk1)

    # wijk1.house_dict_with_manhattan_distances()
    # wijk1.disconnect(houses[1]["position"])

    # house_coordinatesx = [dic['position'][0] for dic in houses]
    # house_coordinatesy = [dic['position'][1] for dic in houses]
    #
    # plt.scatter(house_coordinatesx, house_coordinatesy)
    # plt.show()
    # wijk1.get_lower_bound()
    # print("Lower bound of grid is: {}".format(wijk1.lower_bound))

    bat_comp_path = "Results/battery_compositions.json"
    with open(bat_comp_path, "r") as f:
        parsed_data = json.load(f)
    battery_configuration = parsed_data["ALL_CONFIGURATIONS"][3]
    print(battery_configuration)

    battery_configuration, matrices_for_vis = battery_placer(wijk1, battery_configuration)
    print(battery_configuration)
    visuale_2d(matrices_for_vis[0], matrices_for_vis[1], matrices_for_vis[2], matrices_for_vis[3],)

    # print(x)
    # battery_path = 'Results/Battery_configurations/test.csv'
    battery_path = 'Results/Battery_configurations/BESTSCORE_SIGMA_relative.csv'
    # battery_path = 'Results/Battery_configurations/lucas_1137_nice_sigma10.csv'
    # battery_path = 'Results/Battery_configurations/leuknaampjes.csv'
    houses, batteries = read_data(house_path, battery_path)
    for element in batteries:
        wijk1.create_battery(element['position'], element['capacity'])

    wijk1.add_battery_dictionaries(batteries)
    wijk1.house_dict_with_manhattan_distances()
    # heat_map(wijk1)
    wijk1.prettify()
    print(len(wijk1.house_data))

    wijk1.get_lower_bound()
    print("Lower bound of grid is: {}".format(wijk1.lower_bound))