ELECTRE Tri-B MCDA : an object oriented multi-criteria decision analysis tool in Python
Souleymane Daniel, Christian Ghiaus · HAL (Le Centre pour la Communication Scientifique Directe) · 2023
Authors: Souleymane Daniel and Christian Ghiaus Département Génie Energétique et Environnement, INSA Lyon, Bâtiment Sadi Carnot 7 Rue de la Physique, CEDEX, 69621 Villeurbanne, France, 17/03/2022 ELECTRE_Tri_B is an over-ranking multi criteria decision analysis procedure allowing the ranking of a number of scenarios related to an issue into categories in order to assist in decision-making. The code proposed here is based on the ELECTRE Tri-B multi-criteria analysis procedure and aims to classify potential scenarios into a hierarchical set of categories. The particularity of this code is that it can be used to classify any scenario related to a decision problem as long as the input data is correctly provided. 1. Licence Code is released under MIT Lincence. Docs are released under a Creative Commons Attribution 4.0 International License. 2. Quick explanations In order to use a ELECTRE Tri-B multi-criteria analysis procedure to select the best scenario among others, several steps must first be carried out: Identification of issues and objectives Definition of possible alternatives to achieve all or part of the objectives Definition of the criteria by which the analysis will be done Weighting of the different criteria Evaluation of the different alternatives regarding the different criteria Definition of thresholds and boundary reference scenarios. Once these steps have been completed it is then possible to use the ELECTRE Tri-B multi-criteria analysis method to determine the best scenario among those identified. 3. Installation In order to use the ELECTRE Tri-B code, a Python interpreter is required (see Python_interpreter). To execute the code it is also necessary to install several packages : numpy (NumPy module) csv (CSV File Reading and Writing) math (Mathematical functions) 4. How to use it Typical workflow: Go through all the steps defined above to define the composition of the multi-criteria analysis and build the performance matrix. Store all the data of the problem in the different .csv files according to the structure defined in Tutorial_CSV_files_format. Indicate the correct name of the csv files to be imported for the analysis in the code ELECTRE_Tri_B_main. Choose an initial lambda cutting threshold for the simulation. Execute the code. Interpreting the ranking results. Note: The correct execution of the code depends on the structuring of the csv data files were the information must be stored in a particular order. Another way to use the code would be to enter directly the input data in the code respecting the input data format. 5. Contents 5.1 Tutorials Tutorial_ELECTRE_Tri_B: Tutorial explaining how the calculation code ELECTRE_Tri_B.py is built. Tutorial_ELECTRE_Tri_B_main: Tutorial explaining the structure and functionalities of the executable code ELECTRE_Tri_B_main.py. Tutorial_CSV_files_format: Tutorial explaining what format the different csv files must have in order to be interpreted by the executable. Note: The tutorials documents are used to explain the logic behind the calculation codes and how to use them. 5.2 Examples 5.2.1 Description Tutorial_building_retrofit_scenarios: Document describing the origin and composition of the data for the example of multi-criteria decision support for the energy retrofit scenarios of a collective housing building. Note: The description documents are used to explain how the examples are constructed and what they are made of. 5.2.2 CSV files 1.Weights.csv: csv file containing the different data related to the criteria and their weightings for the analysis of the energy renovation scenarios in the case of a collective housing building. 2.Actions_performances.csv: csv file containing the different data related to the scenarios and their performances. 3.Boundaries_actions_performances.csv: csv file containing the different data related to the boundary reference scenarios and their performances. 4.Thresholds.csv: csv file containing the different data related to the indifference, preference and veto thresholds.