Пример #1
0
                for j in range(priority_list.shape[0]):
                    if pattern_count[j] == 0:
                        violation_pattern_to_search.append(priority_list[j])
                # print(numpy.array(violation_pattern_to_search).shape[0])

                weight_dist, sorted_pattern_distance, sorted_pop, distance_ranking, dist_mean = Distance_Ranking(
                    priority_list, variables, evaluation,
                    target_value_threshold)
                weight_relation, sorted_pattern_relation, relation_ranking, reward = Relation_Ranking(
                    violation_pattern_to_search, searched_violation_pattern,
                    priority_list)
                weights = [1, 0, 1]
                # ratio = numpy.array(evaluation).shape[0] / (population * total_round)
                # weights = [ratio, 0, 1 - ratio]
                violation_pattern_ranking, overall_rank_list = Ensemble_Ranking(
                    distance_ranking, relation_ranking,
                    violation_pattern_to_search, weights)

                violation_pattern_ranking_removed = violation_pattern_ranking.copy(
                )
                for j in range(
                        numpy.array(violation_pattern_ranking).shape[0]):
                    for k in range(
                            numpy.array(searched_violation_pattern).shape[0]):
                        if (numpy.array(
                                violation_pattern_ranking[j]) == numpy.array(
                                    searched_violation_pattern[k])).all():
                            removed_item = violation_pattern_ranking[j]
                            for ll in range(
                                    numpy.array(
                                        violation_pattern_ranking_removed).
Пример #2
0
            fileList.sort()
            for i in range (population * search_round):
                textname = vars_file_name + '/' + fileList[i]
                pop = numpy.loadtxt(textname)
                variables.append(pop)

            violation_pattern_to_search = []
            for j in range (priority_list.shape[0]):
                if pattern_count[j] == 0:
                    violation_pattern_to_search.append(priority_list[j])
            # print(numpy.array(violation_pattern_to_search).shape[0])

            weight_dist, sorted_pattern_distance, sorted_pop = Distance_Ranking(violation_pattern_to_search, variables, evaluation)
            weight_relation, sorted_pattern_relation = Relation_Ranking (violation_pattern_to_search, searched_violation_pattern, priority_list)
            weights = [1, weight_dist, weight_relation]
            violation_pattern_ranking = Ensemble_Ranking(sorted_pattern_distance, sorted_pattern_relation, violation_pattern_to_search, weights)
            # violation_pattern_ranking = Ensemble_Ranking2(sorted_pattern_distance, violation_pattern_to_search)
            # violation_pattern_ranking = sorted_pattern_distance

            violation_pattern_ranking_removed = violation_pattern_ranking.copy()
            for j in range(numpy.array(violation_pattern_ranking).shape[0]):
                for k in range(numpy.array(searched_violation_pattern).shape[0]):
                    if (numpy.array(violation_pattern_ranking[j]) == numpy.array(searched_violation_pattern[k])).all():
                        removed_item = violation_pattern_ranking[j]
                        for ll in range(numpy.array(violation_pattern_ranking_removed).shape[0]):
                            if (numpy.array(violation_pattern_ranking_removed[ll]) == numpy.array(removed_item)).all():
                                del violation_pattern_ranking_removed[ll]
                                break
                        break
            if numpy.array(violation_pattern_ranking_removed).shape[0] == 0:
                goal_selection_flag = numpy.ones(7)