Esempio n. 1
0
def test_qap(n = 5, i = 0):
    total_ind = 10
    total_generations = 100
    max_pareto_size = 20
    op = GeneticOperators()
    instancias = parse_qap()
    flux_mats = instancias[i][:-1]
    dist_mat = instancias[i][-1]
    num_loc = len(flux_mats[0]) #nro de localidades
    objs = []
    for cost_mat in flux_mats:
        objs.append(QAPObjectiveFunction(dist_mat, cost_mat))
    spea = SPEA(len(objs), op, max_pareto_size)
    pareto_set = ParetoSet(None)
    for i in xrange(n):
        pop = []
        for i in xrange(total_ind):
            sol = range(num_loc)
            random.shuffle(sol)
            pop.append(GaSolution(sol, objs))
        spea.run(pop, total_generations)
        pareto_set.update(pop)
    pareto_front = ParetoFront(pareto_set)
    pareto_front.draw()
    return pareto_set
Esempio n. 2
0
def test_tsp(n = 5, i = 0):
    total_ind = 10
    total_generations = 100
    max_pareto_size = 20
    op = GeneticOperators()
    instancias = parse_tsp()
    cost_mats = instancias[i]
    objs = []
    for cost_mat in cost_mats:
        objs.append(TSPObjectiveFunction(cost_mat))
    num_cities = len(objs[0].mat)
    spea = SPEA(len(objs), op, max_pareto_size)
    pareto_set = ParetoSet(None)
    for i in xrange(n):
        pop = []
        for i in xrange(total_ind):
            sol = range(num_cities)
            random.shuffle(sol)
            pop.append(GaSolution(sol, objs))        
        spea.run(pop, 100)
        pareto_set.update(pop)
    pareto_front = ParetoFront(pareto_set)
    pareto_front.draw()
    return pareto_set