landscapes = settings.landscapes for nVal in settings.nList: for kVal in settings.kList: if kVal <= nVal: if kVal == nVal: realK = kVal-1 else: realK = kVal for [search, distance, cum] in runConfigs: params = sim.SimInput(nVal, realK) params.setSearchMethod(search) params.setMutateDistance(distance) params.setCumulativeDistance(cum) params.generateAdjMatrix() utils.logInitialConditions(logger, params, landscapes) simulation = model.NK(params) key = int(round(time.time() * 1000)) output = simulation.runSimulation(key, landscapes) utils.logResults(logger, params, output, landscapes) nextRow = [] nextRow.append(params.nValue()) nextRow.append(params.kValue()) nextRow.append(output.meanFitness()) nextRow.append(params.searchMethodString()) nextRow.append(params.mutateDistance()) nextRow.append(params.cumulativeDistance()) nextRow.append(output.landscapes())
for [search, distance, cum, nBar] in runConfigs: if (params[configIndex] == None): params[configIndex] = sim.SimInput(nVal, realK) params[configIndex].setSearchMethod(search) params[configIndex].setMutateDistance(distance) params[configIndex].setCumulativeDistance(cum) params[configIndex].setNBar(nBar) params[configIndex].setAdjMatrix(iterationAdjMatrix) if (savedFitnessDict != None and savedNodeConfig != None): params[configIndex].setStartConfig(savedNodeConfig, savedFitnessDict) else: params[configIndex].clearStartConfig() # Do you need to initialise the startConfig? utils.logInitialConditions(logger, params[configIndex], landscapes) simulation = model.NK(params[configIndex]) """ Save the nodeConfig for use in following iteration """ savedNodeConfig = simulation.nodeConfig() # header = ["Fields", "Key", "N", "K", "A", "SearchMethod", "Distance", "CumulativeDistance"] # header += ["Landscape", "NumberOfLandscapes", "AttemptedFlips", "AcceptedFlips", "WasFlipAccepted"] # header += ["CurrentConfiguration", "CurrentSystemFitness", "ConsideredConfiguration"] # for i in range(0, nVal): # header.append("w" + str(i)) # header.append("ConsideredSystemFitness") key = int(round(time.time() * 1000)) # transactionCSVFile = open("log/" + str(iteration) + str(configIndex) + ".csv", 'w') # transWriter = csv.writer(transactionCSVFile)