def get_input_data(input_dir): file_names = ( 'alternatives.xml', 'method_parameters.xml', 'outranking.xml', ) trees = get_trees(input_dir, file_names) alternatives = px.getAlternativesID(trees['alternatives']) alternatives.sort() outranking = get_intersection_distillation(trees['outranking'], alternatives) if outranking == None: outranking = px.getAlternativesComparisons(trees['outranking'], alternatives) eliminate_cycles_method = px.getParameterByName(trees['method_parameters'], 'eliminate_cycles_method') if eliminate_cycles_method not in ['aggregate', 'cut_weakest']: raise RuntimeError("Invalid/missing method for cycle elimination.") cut_threshold = px.getParameterByName(trees['method_parameters'], 'cut_threshold') check_cut_threshold(cut_threshold) ret = { 'alternatives': alternatives, 'cut_threshold': cut_threshold, 'eliminate_cycles_method': eliminate_cycles_method, 'outranking': outranking, } return ret
def get_input_data(input_dir): file_names = ( 'alternatives.xml', 'categories.xml', 'categoriesProfiles.xml', 'credibility.xml', 'method_parameters.xml', ) trees = get_trees(input_dir, file_names) alternatives = px.getAlternativesID(trees['alternatives']) categories = px.getCategoriesID(trees['categories']) categories_rank = px.getCategoriesRank(trees['categories'], categories) categories_profiles = get_categories_profiles_central(trees['categoriesProfiles']) credibility = getAlternativesComparisons(trees['credibility'], alternatives, categories_profiles) cut_threshold = px.getParameterByName(trees['method_parameters'], 'cut_threshold') check_cut_threshold(cut_threshold) ret = { 'alternatives': alternatives, 'categories_rank': categories_rank, 'categories_profiles': categories_profiles, 'credibility': credibility, 'cut_threshold': cut_threshold, } return ret
def get_input_data(input_dir): file_names = ( 'alternatives.xml', 'concordance.xml', 'method_parameters.xml', 'discordance_binary.xml', ) trees = get_trees(input_dir, file_names) alternatives = px.getAlternativesID(trees['alternatives']) # we can also get alternatives from 'concordance.xml', therefore 'alternatives.xml' # can be optional - like here: # alternatives = list(set([i.text for i in trees['concordance'].findall(".//alternativeID")])) concordance = px.getAlternativesComparisons(trees['concordance'], alternatives) discordance_binary = px.getAlternativesComparisons(trees['discordance_binary'], alternatives) cut_threshold = px.getParameterByName(trees['method_parameters'], 'cut_threshold') check_cut_threshold(cut_threshold) ret = { 'alternatives': alternatives, 'concordance': concordance, 'cut_threshold': cut_threshold, 'discordance_binary': discordance_binary, } return ret
def get_input_data(input_dir): file_names = ( 'alternatives.xml', 'categoriesProfiles.xml', 'credibility.xml', 'method_parameters.xml', ) trees = get_trees(input_dir, file_names) alternatives = px.getAlternativesID(trees['alternatives']) cp_tree = trees['categoriesProfiles'] categories = list( set(cp_tree.xpath('//categoriesProfiles//limits//categoryID/text()'))) categories_profiles = px.getCategoriesProfiles(trees['categoriesProfiles'], categories) profiles_names = [ p for p in cp_tree.xpath('//categoriesProfiles//alternativeID/text()') ] credibility = getAlternativesComparisons(trees['credibility'], alternatives, profiles_names) cut_threshold = px.getParameterByName(trees['method_parameters'], 'cut_threshold') check_cut_threshold(cut_threshold) ret = { 'alternatives': alternatives, 'categories_profiles': categories_profiles, 'credibility': credibility, 'cut_threshold': cut_threshold, } return ret
def get_input_data(input_dir): file_names = ( 'alternatives.xml', 'concordance.xml', 'method_parameters.xml', 'discordance_binary.xml', ) trees = get_trees(input_dir, file_names) alternatives = px.getAlternativesID(trees['alternatives']) # we can also get alternatives from 'concordance.xml', therefore 'alternatives.xml' # can be optional - like here: # alternatives = list(set([i.text for i in trees['concordance'].findall(".//alternativeID")])) concordance = px.getAlternativesComparisons(trees['concordance'], alternatives) discordance_binary = px.getAlternativesComparisons( trees['discordance_binary'], alternatives) cut_threshold = px.getParameterByName(trees['method_parameters'], 'cut_threshold') check_cut_threshold(cut_threshold) ret = { 'alternatives': alternatives, 'concordance': concordance, 'cut_threshold': cut_threshold, 'discordance_binary': discordance_binary, } return ret