Exemplo n.º 1
0
def get_optimization_results(
        t,
        population,
        factorial_cost,
        scalar_fitness,
        skill_factor,
        pairs=None,
        tasks=None):
    K = len(set(skill_factor))
    N = len(population) // 2
    results = []
    for k in range(K):
        result = OptimizeResult()
        x, fun = get_best_individual(
            population, factorial_cost, scalar_fitness, skill_factor, k)
        result.x = x
        result.fun = fun
        result.nit = t
        result.nfev = (t + 1) * N
        if pairs is not None:
            result.pair = pairs[k, :]
        else:
            result.pair = None
        if tasks is not None:
            result.ucb_value = tasks[k].ucb_solver.value
        else:
            result.ucb_value = None
        results.append(result)
    return results
Exemplo n.º 2
0
 def get_results(self, t):
     K = self.K
     N = self.args.pop_size
     results = []
     for k in range(K):
         result = OptimizeResult()
         x, fun = self.stos[k].population[0], self.stos[k].fitness[0]
         result.x = x
         result.fun = fun
         result.nit = t
         result.nfev = (t + 1) * N
         result.pair = self.stos[k].pair
         result.ucb_value = self.stos[k].ucb.value
         results.append(result)
     return results