DEXiPy: Basic Concepts ====================== .. _deximodels: DEXi Models ----------- DEXi models are hierarchical qualitative rule-based multi-criteria decision models developed according to the method DEX (`Decision EXpert `_), using the program `DEXi `_ or `DEXiWin `_. In general, a DEXi model consists of a hierarchy of qualitative (symbolic linguistic, discrete) variables, called *attributes*. Each attribute represents some observable property (such as `Price` or `Performance`) of decision alternatives under study. An attribute can take values from a set of words, such as {"low", "medium", "high"} or {"unacc", "acc", "good", "exc"}. Value sets are usually small (up to five elements) and preferentially ordered from "bad" to "good" values. The *hierarchy* of attributes represents a decomposition of a decision problem into sub-problems, so that higher-level attributes depend on lower-level ones. Consequently, terminal nodes represent inputs, and non-terminal attributes represent outputs of the model. Among these, the most important are one or more root attributes, which represent the final evaluation(s) of the alternatives. The *evaluation* of decision alternatives takes place as a hierarchical aggregation of values from model inputs to outputs. Evaluation is governed by *decision rules*, defined for each non-terminal attribute by the creator of the model (usually referred to as a "decision maker"). Terminological remarks ---------------------- DEX DEX (Decision EXpert) refers to thew general multi-attribute decision modeling method, characterized by using qualitative attribute hierarchies and decision tables. For further information, see (Trdin, Bohanec, 2018) and (Bohanec, 2022). DEXi DEXi ("DEX for instruction") refers to DEXi software. DEXi implements a subset of DEX, for instance, it is restricted to set-based evaluation methods. DEXi supports the creation and editing of :ref:`deximodels`, which are saved on ``.dxi`` files and subsequently read by DEXiPy for processing in Python. For further information on DEXi, see `https://kt.ijs.si/MarkoBohanec/dexi.html `_ and (Bohanec, 2020). DEXiWin A new backward-compatible implementation of DEXi, aimed at gradually replacing it in the future. DEXiWin does support using value distributions with decision alternatives and their evaluations. For further information on DEXiWin and related software, see `https://dex.ijs.si/dexisuite/dexisuite.html `_. DEXiPy DEXiPy is this package. It is capable of reading and processing DEXi/DEXiWin models. DEXiPy Functionality -------------------- Models developed using the DEXi software are stored in XML-formatted `.dxi` files. In order to use DEXi models in Python, DEXiPy supports the following tasks: 1. Reading DEXi models from `.dxi` files, using :py:func:`dexipy.dexi.read_dexi`. 2. Defining data (both input and output) about considered decision alternatives, using :py:func:`dexipy.dexi.alternative`. 3. Evaluating decision alternatives, using :py:func:`dexipy.dexi.evaluate`. 4. Analyzing alternatives, using :py:func:`dexipy.dexi.selective_explanation`, :py:func:`dexipy.dexi.plus_minus` and :py:func:`dexipy.dexi.compare_alternatives`. 5. Drawing charts: :py:func:`dexipy.charts.plotalt1`, :py:func:`dexipy.charts.plotalt2`, :py:func:`dexipy.charts.plotalt_parallel` and :py:func:`dexipy.charts.plotalt_radar`. By default, evaluation is based on sets, which is a standard evaluation procedure of DEXi. DEXiPy extends this by supporting: * evaluations using probabilistic and fuzzy value distributions; * "pruned" evaluation, when the evaluation starts from selected non-terminal attribute(s) upwards. Limitations ----------- DEXiPy has been designed to facilitate *using* DEXi models in Python, produced externally by the DEXi/DEXiWin software. DEXiPy does not provide any explicit means for creating and/or editing DEXi models. References ---------- 1. *Decision EXpert*. Wikipedia, `https://en.wikipedia.org/wiki/Decision_EXpert `_. 2. Trdin, N., Bohanec, M.: Extending the multi-criteria decision making method DEX with numeric attributes, value distributions and relational models. *Central European Journal of Operations Research*, 1-24, 2018. `https://doi.org/10.1007/s10100-017-0468-9 `_. 3. Bohanec, M.: DEX (Decision EXpert): A Qualitative Hierarchical Multi-criteria Method. In: Kulkarni, A.J. (ed.): Multiple Criteria Decision Making: Techniques, Analysis and Applications. Singapore: Springer, 39-78, 2022. `https://doi.org/10.1007/978-981-16-7414-3_3 `_. 4. *DEXi: A Program for Multi-Attribute Decision Making*. `https://kt.ijs.si/MarkoBohanec/dexi.html `_. 5. Bohanec, M.: *DEXi: Program for Multi-Attribute Decision Making, User's Manual, Version 5.04*. IJS Report DP-13100, Jožef Stefan Institute, Ljubljana, 2020. `https://kt.ijs.si/MarkoBohanec/pub/DEXiManual504.pdf `_. 6. Bohanec, M.: *DEXiWin: DEX Decision Modeling Software, User's Manual, Version 1.2*. IJS Report DP-14747, Jožef Stefan Institute, Ljubljana, 2024. `https://kt.ijs.si/MarkoBohanec/pub/2024_DP14747_DEXiWin.pdf `_. 7. *DEX Software*. `https://dex.ijs.si `_.