Exemplo n.º 1
0
    while total_round > 0:

        # for round_index in range (total_round):

        if round_index == 0:
            goal_index = 91
            # goal_index = 110
            goal_selection_flag = priority_list[goal_index]
            print(goal_selection_flag)
            search_round = 100
            if total_round < search_round:
                search_round = total_round

            # total_round = total_round - search_round

            Configuration = CarBehindAndInFrontConfigure(
                goal_index, population, target_dir, round_index, search_round)
            vars_file_name = Configuration.file_dir_var
            results_file_name = Configuration.file_dir_eval
            searched_violation_pattern.append(goal_index)
        else:
            # goal_index = 91
            goal_index = 110
            goal_selection_flag = priority_list[goal_index]
            print(goal_selection_flag)
            search_round = 100
            if total_round < search_round:
                search_round = total_round

            # total_round = total_round - search_round

            Configuration = CarBehindAndInFrontConfigure(
Exemplo n.º 2
0
    full_path = desktop_path + str(time.strftime("%Y_%m_%d_")) + str(
        Configuration.algorithm) + '_iteration.txt'  # 也可以创建一个.doc的word文档
    file = open(full_path, 'w')
    return full_path


data_folder = os.getcwd() + '/Overtake_Datalog_50_1000_' + str(
    time.strftime("%Y_%m_%d_%H"))
if not os.path.exists(data_folder):
    os.mkdir(data_folder)

if __name__ == '__main__':

    target_dir = data_folder

    Configuration = CarBehindAndInFrontConfigure(target_dir)
    Goal_num = Configuration.goal_num
    """===============================实例化问题对象============================"""
    problem = CarBehindAndInFrontProblem(Goal_num, Configuration)
    """=================================算法参数设置============================"""
    max_evaluations = Configuration.maxIterations

    algorithm = NSGAIII(
        population_evaluator=MultiprocessEvaluator(Configuration.ProcessNum),
        # population_evaluator=SequentialEvaluator(),
        problem=problem,
        population_size=Configuration.population,
        reference_directions=UniformReferenceDirectionFactory(
            Configuration.goal_num, n_points=Configuration.population - 1),
        # offspring_population_size = Configuration.population,
        mutation=PolynomialMutation(probability=1.0 /
Exemplo n.º 3
0
        while total_round > 0:

            ## caculate goal_index
            if round_index == 0:
                goal_selection_flag = numpy.ones(7)
                # goal_selection_flag = [0, 0, 0, 0, 0, 1, 0]
                searched_violation_pattern.append(goal_selection_flag)

                search_round = search_round_list[int(sum(goal_selection_flag))]
                # search_round = 50
                if total_round < search_round:
                    search_round = total_round
                # total_round = total_round - search_round

                Configuration = CarBehindAndInFrontConfigure(goal_selection_flag, population, search_round, round_index, target_dir)
                vars_file_name = Configuration.file_dir_var
                results_file_name = Configuration.file_dir_eval

            else:
                # print(round_index, sum(pattern_count))
                fileList = os.listdir(results_file_name)
                fileList.sort()

                for i in range(population * search_round):
                    textname = results_file_name + '/' + fileList[i]
                    # print(textname)
                    result = numpy.loadtxt(textname)
                    evaluation.append(result)
                    goal_flag = numpy.zeros((7), dtype=int)
                    for j in range(7):
Exemplo n.º 4
0
# config = Value('Configure', config)
# bestpop = Value('BestPop', bestpop)

if __name__ == '__main__':

    goal_selection_index = random.sample(range(0, 128), 20)
    total_round = len(goal_selection_index)
    population = 20
    search_round = 50
    numpy.savetxt('goal_selection_index.txt', goal_selection_index,
                  fmt="%d")  # 保存为整数

    # round_idx = 0
    for round_idx in range(total_round):

        Configuration = CarBehindAndInFrontConfigure(
            goal_selection_index[round_idx], population, search_round)
        Goal_num = Configuration.goal_num
        """===============================实例化问题对象============================"""
        problem = CarBehindAndInFront(Goal_num, Configuration)
        """=================================算法参数设置============================"""
        max_evaluations = population * search_round
        # print(max_evaluations)

        if Configuration.algorithm == "NSGA_II":
            algorithm = NSGAII(
                population_evaluator=MultiprocessEvaluator(
                    Configuration.ProcessNum),
                # population_evaluator=SequentialEvaluator(),
                problem=problem,
                population_size=Configuration.population,
                offspring_population_size=Configuration.population,