Exemple #1
0
def solve(files, variables, temperature, cooling, inner_loop, ratio):
    instances = 50
    duration_sum = 0
    weight_usage_ratio_sum = 0
    satisfied_ratio_sum = 0

    for file in files:
        sa = SimulatedAnnealing(temperature, cooling, inner_loop, ratio,
                                File(file))
        start_time = time.time()
        result = sa.evaluate()
        duration = time.time() - start_time
        print(result.value, result.satisfied_ratio, result.weight_usage_ratio,
              result.bit_array)
        duration_sum += duration
        weight_usage_ratio_sum += result.weight_usage_ratio
        satisfied_ratio_sum += result.satisfied_ratio
        # break

    # from seconds to milliseconds
    duration_avg = (duration_sum / instances) * 1000
    weight_usage_ratio_avg = (weight_usage_ratio_sum / instances)
    satisfied_ratio_avg = (satisfied_ratio_sum / instances)
    return duration_avg, weight_usage_ratio_avg, satisfied_ratio_avg