Esempio n. 1
0
def main():
    net = readFile("date2.txt")
    # print(net['mat'])
    dim = net['nrCities']

    problParams = {'dim': dim}
    gaParams = {'dimPop': 100, 'nrGen': 200}
    ga = GA(net['mat'], problParams, gaParams)
    ga.initPopulation()
    ga.evaluateFitness()

    maxFitness = -1
    bestRepres = []
    filename = "hardE_out.txt"
    f = open(filename, "w")

    for gen in range(gaParams['nrGen']):
        bestChrom = ga.bestChromosome()
        bestSolution = ga.bestChromosome().repres
        bestSolutionFitness = ga.bestChromosome().fitness

        if bestSolutionFitness > maxFitness:
            maxFitness = bestSolutionFitness
            bestRepres = bestSolution
        f.write("best chromosome in generation " + str(gen) + " is " +
                str(bestSolution) + " with distance = " +
                str(ga.getDistance(bestChrom)) + " with fitness = " +
                str(bestSolutionFitness) + "\n")
        # ga.oneGeneration()
        ga.oneGenerationElitism()

    bestChromo = ga.bestChromosome()
    repres = bestChromo.repres
    repres.append(bestChromo.repres[0])
    # for i in range(len(repres)):
    #  repres[i] += 1

    f.write("best solution over all: " + str(repres) + " with distance = " +
            str(ga.getDistance(bestChromo)) + " and fitness = " +
            str(bestChromo.fitness) + "\n")
    f.close()