Implementation of the new easy approach to fuzzy multi-criteria decision aid in the field of management

Decision-making is one of the most important management functions and a critical task for managers. The tools that support decision makers in making decisions are Multi-criteria Decision Making/Aid/Analysis (MCDM/MCDA) methods. Since most decisions are made under conditions of uncertainty, the fuzzy MCDM/MCDA methods are particularly important as they allow capturing the uncertainty and imprecision of the information used in making decisions. This method is the Fuzzy Preference Ranking Organization Method for Enrichment Evaluation (Fuzzy PROMETHEE), and its extension in the form of New Easy Approach to Fuzzy PROMETHEE (NEAT F-PROMETHEE). However, the unavailability of software using the NEAT F-PROMETHEE method significantly reduces its ease of use and may discourage potential users and researchers considering using it in their studies. Therefore, to facilitate the use of this MCDA method, the article presents the implementation of NEAT F-PROMETHEE in the MATLAB environment. Moreover, the verification of the developed implementation and its application in the management decision-making problem is presented, together with the analysis of the operation of the mapping correction function used in NEAT F-PROMETHEE. The results obtained with NEAT F-PROMETHEE were compared with the results of the Fuzzy PROMETHEE method which did not apply correction. The analysis shows that the correction applied in NEAT F-PROMETHEE allows obtaining results with a smaller error than the non-corrected implementations of PROMETHEE Fuzzy. Therefore, a more accurate solution of the decision problem is obtained.• improving the process of mapping fuzzy numbers in the Fuzzy PROMETHEE method• implementing a correction mechanism while mapping trapezoidal fuzzy numbers


Method details
Decision-making is inseparable from management [4] , and some researchers even claim that it is the most important function of management [5] and the most important task of managers [6] . In turn, most of the nontrivial management decision-making problems are of a multi-criteria nature, and Multi-criteria Decision Making/Aid/Analysis (MCDM/MCDA) methods in the fuzzy or crisp forms are used to solve them. Fuzzy methods, unlike crisp methods, allow to capturing uncertainty and imprecision [7] , usually occurring in management decisions [6] . Therefore, fuzzy methods are widely used in management [8] . One of the MCDA methods often used in management problems [9] is the Preference Ranking Organization Method for Enrichment Evaluation (PROMETHEE) [2] , and its fuzzy or stochastic developments [10 , 11] . This is due to the ease of use and universality of the PROMETHEE method, transparency of its calculation procedure and high usefulness of the fuzzy versions of PROMETHEE in decision-making problems characterized by uncertainty [10 , 12 , 13] . The method which is a fuzzy development of PROMETHEE is New Easy Approach to Fuzzy PROMETHEE (NEAT F-PROMETHEE). This method, based on trapezoidal fuzzy numbers, has similar transparency and ease of use as the sharp PROMETHEE method. Moreover, it meets the methodological assumptions of the original PROMETHEE method, and thus gives the possibility to apply preference functions according to crisp PROMETHEE, as well as retaining appropriate scales for preference degrees and outranking flows. NEAT F-PROMETHEE uses six different preference functions, allows the use of linguistic, crisp and fuzzy values, in their natural scales, and gives the possibility of obtaining partial and total order of alternatives, thus offering great versatility. Finally, by applying the correction in the preference functions, it reduces the approximation errors that arise in other fuzzy PROMETHEE implementations when mapping fuzzy deviation to the form of a unicriterion preference degree. As a result, the NEAT F-PROMETHEE method is widely used in solving management decision problems [1 , 10 , 14 , 15] . On the other hand, the unavailability of software using the NEAT F-PROMETHEE method significantly reduces its ease of use and discourages potential users and researchers considering using NEAT F-PROMETHEE in their studies. Therefore, an important practical issue is the implementation of the NEAT F-PROMETHEE method in the programming language commonly used by researchers.
This article presents theoretical basis, technical details and MATLAB implementation of the NEAT F-PROMETHEE method. In the following part of the article there is a description of calculation procedures used in the method together with relevant mathematical equations and codes implementing these procedures in the MATLAB environment. The article ends with both the validation of the method based on the application of the developed MATLAB implementation in order to solve the decision problem and the analysis of obtained results.

Input data
The NEAT F-PROMETHEE method is a discrete MCDA method that addresses the problem of ranking m of fuzzy decision alternatives belonging to the set ˜ A = { a 1 , a 2 , . . . , a m } using n criteria, belonging to the set C = { c 1 , c 2 , . . . , c n } . It is based on trapezoidal fuzzy numbers (TFNs) in the form of F N = , for which the membership function is described by the formula (1) : In turn, Fig. 1 shows the structure of the file alternatives.xlsx , from which the values of alternatives are loaded into the performance matrix.
The structure of the performance matrix E is described by the formula (2) : where e i, j = c j ( a i ) , e i, j = ( e i, j 1 , e i, j 2 , e i, j 3 , e i, j 4 ) = ( c j ( a i 1 ) , c j ( a i 2 ) , c j ( a i 3 ) , c j ( a i 4 ) ) , therefore e i, j represents the performance level of an alternative a i according to a criterion c j . In addition to the values of the alternatives and the weights of the criteria, preference directions are defined at the beginning (for the 'profit' criteria, the maximum is preferred and for the 'cost' criteria the minimum is preferred), as well as preference functions and thresholds related to the preference functions (indifference ( q ), preference ( p ), Gaussian ( s )) for individual criteria are also defined. As a result, a complete model of the decision maker's preferences and, more broadly, a model of the decision-making problem is constructed. For the model developed in this way, in subsequent stages, calculations of the NEAT F-PROMETHEE method are performed, alternatives are ranked and results are displayed. The script code, including the indicated actions, is presented below.

Calculations of NEAT F-PROMETHEE
Calculations for the NEAT F-PROMETHEE method are performed in several steps. First, the performance matrix E is transformed in such a way that the direction of preferences for each criterion is maximum.  In the subsequent steps, fuzzy deviations are calculated and mapped to the form of unicriterion preference degrees and the defuzzification and normalisation of weights, preference aggregation and calculation of fuzzy outranking flows and defuzzification of calculated outranking flows take place. The code of the main NEAT F-PROMETHEE function is presented below.
The calculation of fuzzy deviations is carried out for each pair of alternatives for each criterion. It shall be carried out according to the formula (5) : Then, the fuzzy deviations obtained are mapped using the appropriate preference function. In the classic crisp PROMETHEE method, six preference functions are used, shown in Fig. 2 .
The mapping of crisp numbers consists in calculating the value of the preference function ) . The comparison of the mapping of crisp numbers and TFNs is shown in Fig. 3 .
In the case of crisp numbers, used in the classic PROMETHEE method, the preference functions allow precise mapping of the deviation value d k to the form of the unicriterion preference degree P k ( d k ) . But in the case of TFNs, used in many fuzzy versions of PROMETHEE, approximation errors can occur during mapping. Therefore, the NEAT F-PROMETHEE method extends the mapping process with a function to correct mapping errors. The preference functions together with the correction functions used in NEAT F-PROMETHEE are shown in the formulae 6 -(17) . Usual criterion (6) : Correction for usual criterion (7) : U-shaped criterion (8) : Correction for U-shaped criterion (9) : V-shaped criterion (10) : Correction for V-shaped criterion (11) : Level criterion (12) : Correction for level criterion (13) : V-shaped criterion with indifference area (14) : Correction for V-shaped criterion with indifference area (15) : Gaussian criterion (16) : Correction for Gaussian criterion (17) : Fig. 4 shows an example of an approximation error that occurs during the TFN mapping, the correct mapping result and the operation of the correction mechanism used in the NEAT F-PROMETHEE method.  (14), the mapping result will be a to the membership function defined for a TFN [16 , 17] , the fuzzy number values at the indicated points 1 , 1 , 0 ) . In the case of precision mapping, since none of the preference functions used is an injection (so the preference function can take the same values for two different values on the x -axis), the mapping function described by the formula (18) [18 , 19] should be used to determine the value of the fuzzy number in points (0,0.125,0.75,1).
Based on the formula (18) and the maximum values d k in points q k and p k , which, based on the formula (1) , . Therefore, TNF mapping generates a relatively large approximation error. That is why, in the NEAT F-PROMETHEE method, a shape correction of the obtained TFN was introduced to make it as close as possible to the result of precise mapping. The code of the MATLAB function, which calculates fuzzy deviation and the values of the correction preference function, is shown below.
A separate MATLAB function contains a procedure to check if a correction is required. From the formulae 6 -(17) , it can be seen that the conditions of correction for all preference functions are similar and can be recorded as the formula (19) : However, the t and u variables allow distinguishing indifference, weak preference and strict preference relationships. Depending on the preference function used, t and u take different values: • for the usual criterion: t = 0 , u = 0 , • for the U-shaped criterion: t = q k , u = q k , • for the V-shaped criterion: t = 0 , u = p k , • for the level criterion and V-shaped criterion with indifference area: t = q k , u = p k , • for the Gaussian criterion: t = 0 , u = ∞ .
In the case of u = ∞ for the Gaussian criterion, it should be clarified that this value is due to the property of the Gaussian preference function, which asymptotically tends to 1, and therefore does not allow obtaining strict preference [20] . In the case of u = ∞ there is an obvious contradiction because for a correction to occur, the value d k 4 would have to be greater than infinity. Therefore, this correction function is not used for the Gaussian criterion. The code of the MATLAB function for checking the conditions of correction is as follows.
After the mapping and correction process, the weights of the criteria w f j = ( w f 1 , w f 2 , w f 3 , w f 4 ) are defuzzified and normalised. As a result, a new vector of weights of criteria W = { w 1 , w 2 , . . . , w n } is obtained. These actions are necessary to keep the scale [ −1,1] for the obtained solution, as it is done in the classic crisp PROMETHEE method. The defuzzification is performed using the Centroid method, described by the formula (20) : The Centroid method, unlike the Bisector method, does not allow defuzzying crisp numbers (where w j 1 = w j 2 = w j 3 = w j 4 ), so for such numbers a simple assignment w j = w j 1 should be used instead of the formula (20) . The purpose of the normalisation is to bring the sum of all weights to 1 ( n j=1 w j = 1 ) and to define proportionally the weights of each criterion. It is performed according to the formula (21) : The defuzzification and normalisation has been implemented in the appropriate MATLAB function.
In the next step, preferences are aggregated between the different pairs of decision alternatives and fuzzy outranking flows are calculated for each alternative. The aggregation of preferences is done according to the formula (22) : After the aggregation of preferences, fuzzy outranking flows are calculated 23 -(25) : The given operations have been implemented as a function in MATLAB environment.
The obtained values of fuzzy outranking flows are then defuzzified using the Centroid method 26 -(28) , similar to the fuzzy weights: Similarly to the defuzzification of weights of criteria, if the outranking flows are crisp numbers (e.g. φ + ( a i ) 1 4 ), one should use a simple assignment (e.g. φ + ( a i ) = φ + ( a i ) 1 ). The MATLAB code responsible for defuzzification of outranking flows is shown below.

Generating rankings and displaying the results of the method
On the basis of the defuzzified values φ net , a full NEAT F-PROMETHEE II (total order) ranking is generated, while the values φ + i φ − are the basis for constructing the rankings that are later used in the NEAT F-PROMETHEE I (partial order) ranking. The MATLAB function responsible for this assigns each alternative an appropriate rank in the full ranking and the rankings φ + i φ − . After three rankings have been constructed, they are presented to the decision maker using the showResults function together with the defuzzifieded values of outranking flows ( φ net , φ + , φ − ), which are the basis for building these rankings.
In addition to presenting the rankings in the form of numerical values, in the NEAT F-PROMETHEE implementation, the results are also presented in a graphic form. This is performed by plotResults and Table 3 The values of outranking flows and rankings of alternatives (NEAT F-PROMETHEE). in the rankings. The chart φ + shows how much a given alternative is outranking the others, while the chart φ − depicts how much a given alternative is outranked by the others. In turn, the graph φ net illustrates the total order of alternatives, in other words, it presents a solution to a decisionmaking problem using the NEAT F-PROMETHEE II method. It should be added that there may be two preference relationships in the total order of alternatives: (1) indifference between a i and a j ( a i I a j ) The plotPartialOrder function presents in a graphical form a partial order of alternatives, constructed on the basis of φ + and φ − rankings. There may be three preference relationships in the partial order of alternatives: (1) indifference between a i and a j ( a i I a j ) when ( φ + ( , where one of the inequalities is strict, (3) incomparability between a i over a j ( a i R a j ) when The partial order presents an order of alternatives using the indicated preference relationships. It should be noted that the graphic presentation of the partial order shows indifference and preference Table 4 The values of outranking flows and the rankings of alternatives obtained without mapping correction (Fuzzy PROMETHEE).  relations in the form of edges connecting the alternatives directly or indirectly, while incomparability is represented by the lack of direct or indirect connection.
In the developed implementation of the NEAT F-PROMETHEE method, apart from the proprietary functions, the distinguishable_colors [21] and line2arrow [22] functions were also used.

Method validation
The correctness of the implementation of the NEAT F-PROMETHEE method has been verified by solving the decision problem on the basis of selecting a "green" supplier of electronic items for a manufacturing company in order to reduce costs at the manufacturing stage of finished products. In the decision-making process, 4 suppliers ˜ a 2 , a 3 , a 4 } , have been considered, assessing them Table 1 shows the parameters of the different decision alternatives and Table 2 includes the preference model used, i.e. the weights of the criteria, preference directions, preference functions and thresholds.
The application of the NEAT F-PROMETHEE method presented in the article has made it possible to obtain a solution to the decision problem, presented in Table 3 and Figs. 5 and 6 .
Figs. 5 and 6 , generated using plotResults.m and plotPartialOrder.m functions, enable an analysis of the obtained solution. Fig. 5 shows the fuzzy and disinfected values of alternatives, as well as the order of alternatives, separately for φ + , φ − and φ net rankings. The ranking φ + allows us to conclude that the alternative, which is outranking all others the most, is a 3 . It should be noted that the support of fuzzy numbers indicates that a 3 can be outranked in the ranking φ + by an alternative a 2 , or even a 4 . In turn, according to the ranking φ − , the alternative most outranked by the others is a 4 , although the analysis of fuzzy numbers indicates the possibility that the other alternatives will be outranked by a 4 . Finally, when analysing the ranking φ net the solution to the decision problem is  the following total order of alternatives: a 3 a 2 a 1 a 4 . However, the total order of alternatives obtained is characterised by a relatively high degree of uncertainty, as evidenced by the wide range of kernels and support for the fuzzy numbers obtained. As regards Fig. 6 , which shows the partial order of the alternatives, it should be concluded that the dominant alternatives are a 3 and a 2 , which are preferred over a 1 and a 4 . This calculation example shows the usefulness of the fuzzy approach to interpret the degree of uncertainty of the solution obtained.  Apart from the verification of the correctness of the implementation of the NEAT F-PROMETHEE method in the MATLAB environment, the operation of the correction of mapping errors (see Formulae (6)- (19)) and the impact of the correction on the obtained solution were also verified. For this purpose, the presented decision problem was solved using fuzzy PROMETHEE without correction. The solution obtained in this way is shown in Table 4 and Figs. 7 and 8 .  d 2 ( a 1 , a 3 ) and d 2 ( a 3 , a 1 ) . a 1 ) and d 5 ( a 4 , a 2 ) . Fig. 11. Error and correction during the mapping of deviations d 4 ( a 2 , a 1 ) . Table 3 and Figs. 4 and 5 (solution with correction) with Table 4 and Figs. 6 and 7 (solution without correction) shows that, in the absence of correction, there was a change in the ranking φ net in positions 1-2 and 3-4. In addition, the partial order of alternatives, namely preference relationships a 3 a 1 , a 2 a 4 were converted into incomparability relationships a 1 R a 3 , a 2 R a 4 . In order to clearly determine which solution is correct, approximation errors resulting from the use of trapezoidal fuzzy numbers instead of accurate fuzzy mapping were examined. As a result of the study, it was found that in the decision problem under consideration, the approximation error occurs relatively often, because in 32 cases out of 72 mappings performed, i.e. in 44% of cases. On the other hand, the correction is made in 9 mappings, i.e. 12.5% of all cases and 28% of the mappings are affected by an error. The mappings for which the correction is made are shown in Figs. 9 -12 . In addition to the mapping analysis during which correction is applied, cumulative mapping errors were also examined, with and without correction. Mapping errors were calculated for each of the preference functions, by defuzzyfing fuzzy numbers obtained using precise mapping (29) and trapezoidal fuzzy numbers (30) obtained using non-corrected and corrected mapping. Then the errors for each criterion were summed up, separately for each preference function P , where P ∈ {usual criterion, V-shaped criterion, level criterion, V-shaped criterion with indifference area, Gaussian criterion} (31) (the U-shaped criterion function was not applied in the decision-making model under  d 3 ( a 2 , a 4 ) and d 3 ( a 4 , a 2 ) .

A comparison of
The error values obtained during mapping with and without correction are shown in Table 5 . The results presented in Table 5 clearly show that the solution obtained by applying the correction is less error prone. This is confirmed by the diagram of errors during mapping, shown in Fig. 13 . The analysis of Fig. 13 indicates that in the decision problem under consideration, if a correction is made, it reduces the mapping error in each case.
The presented analyses allow us to conclude that the decision problem solution obtained using the NEAT F-PROMETHEE method (with correction) has a smaller error than the solution obtained using Fuzzy PROMETHEE (without correction). Therefore, it can be concluded that the ranking of NEAT F-PROMETHEE II ( a 3 a 2 a 1 a 4 ) and the partial order shown in Fig. 6 is correct. Additionally, the presented calculation example shows that the correction made even when mapping a small number of deviations can significantly change the ranking of considered alternatives.

Conclusion
The article presents the methodological basis of the NEAT F-PROMETHEE method and the details of its implementation in MATLAB. Moreover, the calculation results of the NEAT F-PROMETHEE method were compared with the standard Fuzzy PROMETHEE method based on TFNs. This comparison was made using the management decision-making problem, which was solved using both multicriteria decision support methods. The results of the conducted research indicate that the NEAT F-PROMETHEE method allows to obtain more precise results, with a lower error resulting from the use of TFNs. Development of the NEAT F-PROMETHEE implementation in the MATLAB environment will increase the ease of use of this method. This will allow users to focus on better modelling of the decision problems under consideration, instead of worrying about the details related to the correct implementation of the method. As for further directions of research on the NEAT F-PROMETHEE method, in the context of sustainable management, it seems interesting to combine this method with the PROSA method [11 , 12] . This would allow uncertainty and imprecision to be taken into account in the decision-making problems of sustainable development, where the balance between economic, social and environmental factors is important. Yet another interesting research challenge is the development of GAIA (Geometrical Analysis for Interactive Assistance) [23] for NEAT F-PROMETHEE using TFNs. It would allow analysing the fuzzy decision problem from a descriptive perspective.

Declaration of Competing Interest
The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.