def createRandom(): error = True while error == True: error = False # probeer random kaart te bouwen tot het lukt combinatie = Combination(aantalhuizen, aantalwater) random.shuffle(combinatie.houses) for i in range(len(combinatie.houses)): if combinatie.placeRandom(combinatie.houses[i], i) != True: error = True if error == False: combinatie.evalueer() temp = combinatie.evaluatie hoogstewaarde = temp[1] best = combinatie best.evalueer() plt.draw() plt.savefig('graph.png', dpi=300, bbox_inches='tight') return combinatie
graphcolour = 'r' plt.figure(1) plt.xlabel('Iteraties') plt.ylabel('Waarde in Euro\'s') plt.suptitle("Hoogste huidige waarde: " + str(hoogstewaarde) + " Huidige iteratie: " + str(iteratie), fontsize=13) filename = 'output/' + str(sys.argv[3]) + "/" + str(sys.argv[1]) + str(sys.argv[2]) graphtitle = str(sys.argv[2]) + " " + str(sys.argv[1]) if sys.argv[2] == "randsample": plt.title('Amstelhaege Random Sampling') while True: error = False update = False combinatie = Combination(aantalhuizen, aantalwater) for i in range(len(combinatie.houses)): if combinatie.placeRandom(combinatie.houses[i], i) != True: error = True if error == False: combinatie.evalueer() temp = combinatie.evaluatie if temp[criterium] > hoogstewaarde: hoogstewaarde = temp[criterium] best = combinatie best.evalueer() mapMaken(best.houses, filename, graphtitle, iteratie, hoogstewaarde) update = True index = int(combinatie.evaluatie[criterium] / waardeperbakje) if error != True: bakjes[index] += 1 uitkomsten.append(hoogstewaarde) iteraties.append(iteratie)