Ejemplo n.º 1
0
def selNSGA2(problem, population, selectees, configurations):
    k = configurations["Universal"]["Population_Size"]
    # Evaluate any new guys
    for individual in population + selectees:
        if not individual.valid:
            individual.evaluate()

    # Format a population Data structure usable by DEAP's package
    dIndividuals = deap_format(problem, population + selectees)

    # Combine
    from Algorithms.DEAP.tools.emo import deap_selNSGA2
    dIndividuals = deap_selNSGA2(dIndividuals, k)

    # Copy from DEAP structure to JMOO structure
    population = []
    for i, dIndividual in enumerate(dIndividuals):
        cells = []
        for j in range(len(dIndividual)):
            cells.append(dIndividual[j])
        population.append(
            jmoo_individual(problem, cells,
                            [f for f in dIndividual.fitness.values]))

    return population, k
Ejemplo n.º 2
0
def selNSGA2(problem, population, selectees, configurations):
    k = configurations["Universal"]["Population_Size"]
    # Evaluate any new guys
    for individual in population + selectees:
        if not individual.valid:
            individual.evaluate()

    # Format a population Data structure usable by DEAP's package
    dIndividuals = deap_format(problem, population + selectees)

    # Combine
    from Algorithms.DEAP.tools.emo import deap_selNSGA2
    dIndividuals = deap_selNSGA2(dIndividuals, k)

    # Copy from DEAP structure to JMOO structure
    population = []
    for i, dIndividual in enumerate(dIndividuals):
        cells = []
        for j in range(len(dIndividual)):
            cells.append(dIndividual[j])
        population.append(jmoo_individual(problem, cells, [f for f in dIndividual.fitness.values]))

    return population, k
Ejemplo n.º 3
0
def get_non_dominated_solutions(problem, population, configurations):
    # NOTE: This might look wierd but this would return all the non dominated solutions
    k = configurations["Universal"]["Population_Size"]
    # Evaluate any new guys
    for individual in population:
        if not individual.valid:
            individual.evaluate()

    # Format a population Data structure usable by DEAP's package
    dIndividuals = deap_format(problem, population)

    # Combine
    from Algorithms.DEAP.tools.emo import deap_selNSGA2
    dIndividuals = deap_selNSGA2(dIndividuals, k)

    # Copy from DEAP structure to JMOO structure
    population = []
    for i, dIndividual in enumerate(dIndividuals):
        cells = []
        for j in range(len(dIndividual)):
            cells.append(dIndividual[j])
        population.append(jmoo_individual(problem, cells, [f for f in dIndividual.fitness.values]))

    return population