Linguistic scales for relative importance
In many complex decision-making problems, the decision information provided by the decision makers is often imprecise or uncertain due to time limit, lack of data, or the decision makers’ limited attention and information processing capabilities. Decision-making in a fuzzy environment means a decision process in which the goals and/or the constraints, but not necessarily the system under control, are fuzzy in nature. This means that the goals and/or the constraints constitute classes of alternatives whose boundaries are not sharply defined. Fuzzy set, whose basic component is a membership function (Zadeh, 1965), was introduced in the following several decades. Fuzzy set theory has been applied successfully in the decision-making field.
Matlab is a suitable tool for solving fuzzy decision-making problems. This chapter is focusing on how to solve a specific class of fuzzy decision-making problem, that is, Fuzzy Analytical Network Process (FANP) by Matlab. Project selection is chosen as an example to illustrate the proposed method. The reason is that project selection is a complex decision-making process. It involves a search from the environment of opportunities, the generation of project options, and the evaluation of multiple attributes, both qualitative and quantitative, by different stakeholders.
There are various mathematic techniques for selecting an optimal project. Mathematical programming models can be used to accomplish this decision. For example, the R&D project selection can be presented based on linear, non-linear, dynamic, goal, and stochastic mathematical programming (Wang & Hwang, 2007). Based on the idea of moments approximation method via linear programming, Fang et al. (2008) proposed a scenario generation approach for the mixed single-stage Research and Development (R&D) projects and multi-stage securities portfolio selection problem, etc.
Also, project selection has been presented in regard with multiple objectives. For instance, Gabriel et al. (2006) developed a multiobjective, integer-constrained optimization model with competing objectives for project selection, and the subjective rank is determined via the Analytic Hierarchy Process (AHP). Ghorbani & Rabbani (2009) proposed a multi-objective algorithm for project selection. Two objective functions have been considered to maximize total expected benefit of selected projects and minimize the summation of the absolute variation of allotted resource between each successive time periods. Gutjahr et al. (2010) presented a multi-objective optimization model for project portfolio selection taking employee competencies and their evolution into account, and so on.
Fuzzy sets theory is utilized to cover the vagueness inherent in the nature of project selection problem as well. For example, Huang et al. (2008) presented a fuzzy analytic hierarchy process method and utilize crisp judgment matrix to evaluate subjective expert judgments. Bhattacharyya et al. (2011) developed a fuzzy multi-objective programming approach to facilitate decision making in the selection of R&D projects. Ebrahimnejad et al. (2011) considered a two-phase decision making approach, combining a modified version of the Analytic Network Process (ANP) method and an improved compromise ranking method under uncertainty. Chang & Lee (2012) proposed a Data Envelopment Analysis (DEA), knapsack formulation and fuzzy set theory integrated model to deal with the project selection, etc.
Some researchers tried the project selection problem in other ways. Dey (2006) proposed a decision support system, which analyses projects with respect to market, technicalities, and social and environmental impact in an integrated framework using analytic hierarchy process. Liesiö et al. (2007) developed the Robust Portfolio Modeling methodology which extends Preference Programming methods into portfolio problems, where a subset of project proposals are funded in view of multiple evaluation criteria. Smith-Perera et al. (2010) proposed an approach to prioritize project portfolio in an efficient and reliable way based on analytic network process method and the information obtained from the experts during the decision-making process. Shakhsi-Niaei et al. (2011) presented a procedure which used the PROMETHEE method linked to a Monte Carlo simulation in order to consider and possibly make lower all kinds of uncertainties of project selection problem in an acceptable complexity level, and so on.
As mentioned above, AHP or ANP was widely used during the process of selecting or evaluating an optimal project (Gabriel et al., 2006; Dey, 2006; Smith-Perera et al., 2010; Ebrahimnejad et al., 2011), and these literatures (Cheng & Li, 2005; Amiri, 2010; Aragonés-Beltrán et al., 2010; Jung & Seo, 2010; etc) are also about project selection based on AHP/ANP. In addition, AHP/ANP was proverbially used in other decision-making fields as well (Kahraman et al., 2006; Lee et al., 2009; Arunraj & Maiti, 2010; Huang et al., 2011; etc.). The main reason is that AHP/ANP can deal with qualitative and quantitative information at the same time, and ANP can take into account the interaction and feedback relationships between criteria and/or indices. However, due to the vagueness and uncertainty on the judgments of decision-makers, the crisp pairwise comparison in the conventional AHP/ANP seems insufficient and imprecise to capture the right judgments of decision-makers.
In this study, a fuzzy logic is introduced for the pairwise comparison of ANP to make up the deficiency of the conventional AHP/ANP, referred to as FANP. The objective of this chapter is to present a FANP-based approach for the construction project selection problem using triangular fuzzy numbers. According to the fuzzy preference programming (FPP) method, local weights of fuzzy pairwise comparison matrices can be achieved. Then an unweighted and weighted supermatrix based on its network structure can be formed. For FANP, the key steps are to calculate the local weights and the limit supermatrix. Both of them can be solved by Matlab. A case will be given by the proposed method, and Matlab codes will be provided as well.
2. What’s FANP?
The ANP, introduced by Saaty, is a generalization of the AHP (Saaty, 1996). ANP is the first mathematical theory that makes it possible to deal with all kinds of dependences and feedbacks by replacing hierarchies with networks (Saaty, 1996). ANP allows for complex inter-relationships among decision dimensions and attributes. The ANP feedback approach replaces hierarchies with networks in which the relationships between dimensions are not easily represented as higher or lower, dominant or subordinate, direct or indirect. For instance, not only does the importance of the criteria determine the importance of the attributes, as in a hierarchy, but also the importance of the attributes may have impact on the importance of the criteria. A hierarchical structure with a linear top-to-bottom form is not suitable for a complex system.
As we know, AHP/ANP has been proposed as a suitable multi-criteria decision analysis tool for project selection and evaluation. However, the conventional AHP/ANP-based decision model seems to be ineffective in dealing with the inherent fuzziness or uncertainty in judgment during the pairwise comparison process. Although the use of the discrete scale of 1-9 to represent the verbal judgment in pairwise comparisons has the advantage of simplicity, it does not take into account the uncertainty associated with the mapping of one’s perception or judgment to a number. In real-life decision-making situations, the decision makers or stakeholders could be uncertain about their own level of preference, due to incomplete information or knowledge, complexity and uncertainty within the decision environment. Such situations will occur when selecting and evaluating an optimal project. Therefore, it’s better to make project selection and assessment under fuzzy conditions. This chapter will focus on FANP in fuzzy decision-making based on triangular fuzzy numbers. Actually, some researchers have focused on decision-making based on FANP (Promentilla et al., 2008 ; Ayağ & Özdemir, 2009 ; Boran & Goztepe, 2010; Dağdeviren & Yüksel, 2010; Pires et al., 2011 ; Ju et al., 2012 ; etc. ).
2.1. Triangular fuzzy number
A fuzzy set is a class of objects with a continuum of grades of membership. Such a set is characterized by a membership function, which assigns to each object a grade of membership ranging between zero and one.
A triangular fuzzy number (TFN)
2.2. Fuzzy preference programming method
A number of methods have been developed to handle fuzzy comparison matrices. For instance, Van Laarhoven & Pedrycz (1983) suggested a fuzzy logarithmic least squares method to obtain the fuzzy weights from a triangular fuzzy comparison matrix. Buckley (1985) utilized the geometric mean method to calculate fuzzy weights. Chang (1996) proposed an extent analysis method, which derives crisp weights for fuzzy comparison matrices. Xu (2000) brought forward a fuzzy least squares priority method (LSM). Csutora & Buckley (2001) came up with a Lambda-Max method, which is the direct fuzzification of the well-known
FPP method, as a reasonable and effective means, is adopted in this study. This method can acquire the consistency ratios of fuzzy pairwise comparison matrices without additional study, and the local weights can be easily solved by Matlab software. The stages of Mikhailov’s fuzzy prioritization approach are given as follows (Mikhailov, 2003).
Consider a prioritization problem with
where the symboldenotes the statement “fuzzy less or equal to”.
Each crisp priority vector
The membership function (3) is linearly increasing over the interval (-∞,
The solution to the prioritization problem by the FPP method is based on two main assumptions. The first one requires the existence of non-empty fuzzy feasible area
If the fuzzy judgements are very inconsistent, then
The second assumption of the FPP method specifies a selection rule, which determines a priority vector, having the highest degree of membership in the aggregated membership function (5). It can easily be proved that
The maximum prioritization problem (6) can be represented in the following way:
The optimal solution to the non-linear problem above (
3. Proposed project selection and evaluation framework
This study proposes an analytic approach based on the fuzzy ANP to assist in project selection and evaluation. We first identify the selection and evaluation criteria. Then we present the evaluation model in the following subsections.
3.1. Criteria of project selection
Some researchers investigated which factors have an effect on project selection. For example, Mohanty (1992) pointed out that a potential project should have four important features: minimum investment, low complex of technology, short period and high returns. Lin & Chen (2004) suggested that the contractors should consider the essence of bidding, competition, the value of tendering opportunities, resources, and corporate reputation. Kumar (2006) pointed out that project selection belongs to the strategic level for any organizations, and today it is seriously influenced by environmental and social factors. Wang et al. (2009) suggested that during project selection, the evaluation index system can be divided into two parts: the bid/non-bid and which project to bid, then make a comprehensive evaluation, etc.
With the interaction and feedback relationships between dimensions and/or attribute-enablers being considered, a four-level evaluation index system is presented, as shown in Fig. 2. The first level is the objective, which is to find out an optimal project; the second level is the dimensions including project profitability, project risk, project owners and project bidding competition; the third level is attribute-enablers, 15 indicators included; and the lowest level is the alternatives.
Generally, if project profitability (S1) has an effect on project bidding competition (S4), then a line with arrow from S4 to S1 is added. If the sub-criteria of project risk (S2) has interaction with itself, then S2 is inner dependent, and an arc with arrow is added to S2.
3.2. FANP-based approach
The fuzzy ANP-based approach is presented step-by-step as follows:
During the process of project selection and evaluation, experts tend to specify their preferences in the form of natural language expressions. The fuzzy linguistic variable, whose value represents the range from natural to artificial language, is a variable that reflects different aspects of human language. When the values or meanings of a linguistic factor are being reflected, the resulting variable must also reflect appropriate modes of change for that linguistic factor. Moreover, variables describing a human word or sentence can be divided into numerous linguistic criteria, such as equally important, moderately important, important, very important or absolutely important. For the purposes of the present study, a 9-point scale is presented for the relative importance of pairwise comparison, as shown in Table 1.
|Linguistic scale for importance||Triangular fuzzy scale||Triangular fuzzy reciprocal scale|
|Equally important(EI)||(1, 1, 1)||(1, 1, 1)|
|Intermediate1(IM1)||(1, 2, 3)||(1/3, 1/2, 1)|
|Moderately important(MI)||(2, 3, 4)||(1/4, 1/3, 1/2)|
|Intermediate2(IM2)||(3, 4, 5)||(1/5, 1/4, 1/3)|
|Important(I)||(4, 5, 6)||(1/6, 1/5, 1/4)|
|Intermediate3(IM3)||(5, 6, 7)||(1/7, 1/6, 1/5)|
|Very important(VI)||(6, 7, 8)||(1/8, 1/7, 1/6)|
|Intermediate4(IM4)||(7, 8, 9)||(1/9, 1/8, 1/7)|
|Absolutely important(AI)||(9, 9, 9)||(1/9, 1/9, 1/9)|
4. How to use Matlab during the process of decision-making with FANP?
Two key steps in the process of FANP will be solved by Matlab. One is acquiring local weights of fuzzy pairwise comparison matrices (step 3); the other is obtaining the limit supermatrix (step 6). Both of them are associated with matrix calculation. Matlab is selected for its excellent performance on matrix operation and data processing.
4.1. Acquiring local weights of fuzzy pairwise comparison matrices
As mentioned before, the local weights of fuzzy pairwise comparison matrices are acheived by FPP method. That is, the local weights will be obtained by solving the non-linear problem above.
As criteria and sub-criteria have different numbers, there are different orders of fuzzy pairwise comparison matrices, such as matices of order (2×2), (3×3), …, (
4.1.1. Function definition
To acquire the local weights of fuzzy comparison matrices, some functions need to be defined. A procedure can be saved as the format - “.m“ file in Matlab. The name of which can be used directly when you need to call it.
To obtain the local weights, a main program file is developed, named as “networkmain.m“. The local weights can be easily acquired by inputting “networkmain“ in the command window. As there are different forms of comparison matrices, we need to change slightly the main program file for matrices of different orders.
Matlab contains a lot of functions to solve linear and non-linear problems. For instance, non-linear problems can be solved by function “fmincon“, which is also the key function of the file “networkmain.m“. The full expression of the function is “fmincon (fun,
“Fun“ is the objective function of a non-linear problem. A variable in the objective function is marked as
“Aeq and beq“ are both the coefficients of linear equality constraint Aeq*
“VLB and VUB“ are the upper and lower bounds of the variables. According to the FPP method and FANP, all the local weights have a lower bound of zero, and the lower bound of consistency index is negative infinity. Since all the upper bounds are subject to the constraints, they can be replaced with empty arrays. In matlab, the postive and negative infinity symbols are named as inf and –inf respectively.
“nonlcon“ is the non-linear constraints, including non-linear inequality constaint
To solve the non-linear problem (8), the following main program file “networkmain.m“ is developed.
Aeq=[1 1 … 1 0];
VLB = [0; 0;…; 0; -inf];
VUB = [ ];
OPT = optimset('LargeScale', 'off');
The LargeScale option specifies a preference for which algorithm to use. It is only a preference because certain conditions must be met to use the large-scale algorithm. For this function “fmincon“, we choose the medium-scale algorithm. LargeScale use the medium-scale algorithm when set to 'off'. Two files, “networkf.m“ and “networknonlcon.m“, are called in the procedure above. They are defined for objective function and non-linear constraints independently.
The program of “networkf.m“ is developed as follows:
where the value of function
According to the FPP method, every triangular fuzzy number (
As we know, a triangular fuzzy comparison matrix is symmetric. Therefore, for the following matrix, we only need to consider the constraints above the diagonal.
For instance, for a 3-by-3 fuzzy comparison matrix, only three elments need to be taken into account, which is, (
The programs for (4×4), (5×5), …, (
4.1.2. Local weights of a fuzzy pairwise comparison matrix of order 3
First, the initial parameter of the main function “networkmain“ needs to be set for this (3×3) matrix, which has three local weights, named as
Aeq=[1 1 1 0];
VLB = [0; 0; 0; -inf];
VUB = [ ];
OPT = optimset('LargeScale', 'off');
As it mentioned before, the opposite number of consistency index in the function “network“ is taken. The corresponding objective function file “networkf.m“ is as follows:
Since the triangular fuzzy comparison matrix is symmetric, only three constraints above the diagonal need to be considered, that is (1/6, 1/5, 1/4), (1/4, 1/3, 1/2) and (2, 3, 4). The “networknonlcon3.m“ file for this matrix is as follows:
In Fig. 3,
The final step, is to run “networkmain“ in the command window to acquire the local weights. The local weights
4.1.3. Local weights of a fuzzy pairwise comparison matrix of order 4
The calculation process for a matrix of order 4 is similar to that of a matrix of order 3. A matrix of order 4 has four local weights, named as
Aeq=[1 1 1 1 0];
VLB = [0; 0; 0; 0; -inf];
VUB = [ ];
OPT = optimset('LargeScale', 'off');
The corresponding objective function file for this matrix is as follows:
Six constraints for this fuzzy pairwise comparison matrix need to be calculated, that is, (3/2, 2, 5/2), (1, 3/2, 2), (5/2, 3, 7/2), (2/3, 1, 2), (3/2, 2, 5/2) and (2, 5/2, 3). The “networknonlcon4.m“ file for this matrix of order 4 is as follows:
Finally, “networkmain“ is run in the command panel to obtain the local weights. The optimal solutions are
4.1.4. Local weights of a fuzzy pairwise comparison matrix of order n
Then, Aeq = [1 1 … 1 0], beq = .
The lower bounds of the local weights are zero, and the lower bound of consistency index is negative infinity. There is no specific upper bound. Then we have
VLB = [0; 0;…; 0; -inf]; VUB = [ ].
The initial values of the variables can be arbitrary in the range of feasible region. If different initial values lead to different results, it means the nonlinear problem has multiple optimal solutions. Then, we have
The corresponding objective function file networkf.m is as follows:
For the non-linear constraints, only those elements above the diagonal need to be considered. That is, these triangular fuzzy numbers (
Finally, we run “networkmain“ in the command panel to obtain the local weights. If the consistency index is positive, the fuzzy comparison matrix has a good consistency and the results are acceptable. Otherwise, we need to modify the fuzzy pairwise comparison matrix until it is satisfied with consistency requirement.
4.2. Obtaining limit supermatrix
A limit supermatrix is a weighted supermatrix in a stable state. The weighted supermatrix may be convergent or not. If it is convergent, the limit supermatrix can be achieved. Unfortunately, it is usually not convergent, and then a periodic result is obtained. Under this condition, the limit supermatrix will be achieved only after the periodicity of the supermatrix is determined.
4.2.1. The program for acquiring stable limit supermatrix
To obtain a limit supermatrix, four functions named as “fanp_limitedsupermatrix.m“, “fanp_multiMatrix.m“, “fanp_circulantCheck.m“ and “fanp_equal.m“ are developed. The first file is the main program by which limit supermatrix can be solved; supermatrix multiplication is implemented by the second file; the third file is used to determine whether a supermatrix is stable or periodic; and the last one is used to test whether a supermatrix after iterations is the same as it was before or not. The second and third files will be called in the main procedure, and the last one will be used in the third program. File “fanp_limitedsupermatrix.m“ is given as follows:
where the “weighted supermatrix“ can be arbitrary, which is derived from an unweighted supermatrix. It needs to use a semicolon to separate each row of the supermatrix. “newMatrix“ is the new matrix after an iteration. The variable “time“ is to keep count of iterations. Variable “matrixRecord“ is a three-dimensional variable used to record the output of each iteration.
After each iteration, “matrixRecord“ is called to check whether the “newMatrix“ is stable or periodic. Whenever the “newMatrix“ reaches a stable or periodic state, the program terminates. Otherwise, the program will keep on iterating. Finally, the total number of iterations will be displayed.
The program for a matrix or supermatrix multiplication is as follows:
where the parameters “array1“ and “array2“ are the results of current iteration, and the return value “array3“ records the result of a new iteration.
The following function “fanp_circulantCheck“ is for determining whether the new supermatrix is stable or periodic. Function “fanp_equal“ will be called in this procedure.
function [circulantFlag,rLength,limitedMatrix,cycles] = fanp_circulantCheck(matrixRecord, newMatrix);
In the program above, “matrixRecord“ and “newMatrix“ are the input parameters, and “circulantFlag“ is the output and the sign of a cycle. If the supermatrix has a cycle, “1“ is returned. The limit supermatrix, cycles and iterative times of the cycle starting will be displayed.
Comparisons will be made between the iterative output and the existing results one by one. If any two of them are equal, then the cycle of the supermatrix occurs. In this case, the final limit supermatrix is acquired by dividing the summation of all the supermatrices in the cycle by the value of period. For a supermatrix without a cycle, we can assume that its period is one. Therefore, whatever the results of the comparison, we can use the procedure above to obtain the ultimate limit supermatrix.
The following function “fanp_equal“ is used to test whether the new supermatrix is the same as the former one or not.
where elements of “array1“ and “array2“ will be compared one by one. If they are equal, return 1; otherwise, return 0.
4.2.2. Acquiring the limit supermatrix from a supermatrix without a cycle
As mentioned before, the weighted supermatrix can be specified in the function “fanp_limitedsupermatrix“. The result obtained by running it in the command window, as shown in Fig. 5.
According to the result, the limit supermatrix is
where “cycles“ is 1 means the limit supermatrix is not periodic, and “cycle start times“ is 90 means the cycle appears at the ninetieth iteration. The total number of iterations is 91. The limit supermatrix is obtained at the end of ninetieth iteration though the program was implemented one more time. The local weights are (0.0439, 0.2193, 0.4211, 0.3158) for this supermatrix.
4.2.3. Acquiring the limit supermatrix from a supermatrix with a cycle
Specify the weighted supermatrix in the function “fanp_limitedsupermatrix“ and run the program in the command window, the result is shown in Fig. 6. Where “cycles“ is 2 means the limit supermatrix is periodic, and the period is 2. “cycle start times“ is 72 means the cycle appears since the 72nd iteration, and the limit supermatrix is obtained at the end of the 73rd iteration. According to the FPP method, the local weights are (0.1372, 0.1064, 0.1091, 0.1231, 0.0655, 0.0588, 0.0729, 0.0327, 0.0292, 0.0478, 0.0276, 0.0132, 0.0578, 0.0586, 0.0601). This example is actually the weighted supermatrix of the following case in section 5, and the result is the limit supermatrix of the case.
5. Case study
Supposing that a company has the opportunity to select an optimal project from a number of alternatives. Through pre-test, three projects, named as D1, D2 and D3, need further evaluation. A cross-functional project team consists of various departments working to select the best project. Firstly the selection criteria are identified. Then according to the FANP method, the optimal alternative is derived. The decision-making process of choosing an optimal project based on FANP is as follows:
Expert opinions will be converted into the corresponding triangular fuzzy numbers, as shown in Table 3.
|optimal project||S1||S2||S3||S4||Local weights|
|S1||(1, 1, 1)||(1/5, 1/4, 1/3)||(1/4, 1/3, 1/2)||(1/3, 1/2, 1)||0.0989|
|S2||(3, 4, 5)||(1, 1, 1)||(1, 2, 3)||(1, 2, 3)||0.4240|
|S3||(2, 3, 4)||(1/3, 1/2, 1)||(1, 1, 1)||(1/3, 1/2, 1)||0.2544|
|S4||(1, 2, 3)||(1/3, 1/2, 1)||(1, 2, 3)||(1, 1, 1)||0.2226|
As mentioned before, the non-linear programming can be solved by Matlab. The optimal solutions are
Taking the interaction and feedback relationships between criteria and/or indicators into account, an evaluation index system for selecting a construction project is proposed. With the uncertain and inaccurate information during the evaluation process being considered, an evaluation and selection model based on fuzzy analytic network process method is presented. The weights of the indices, including the weights of the criterion level indicators, the weights of independent sub-indices and the weights of dependent sub-indices are determined by the fuzzy preference programming method. Meanwhile, an unweighted supermatrix based on its network structure is built for interactional indicators, and the convergent limit supermatrix is calculated after randomizing the unweighted supermatrix. Accordingly, the comprehensive weight of each index and the final score of each alternative can be calculated. Then we can choose the optimal alternative. A numerical example is given by the proposed method as well.
Two key steps in the process of decision-making with FANP are solved by Matlab. One is acquiring local weights of the fuzzy pairwise comparison matrices; the other is obtaining the limit supermatrix. Matlab is selected for its excellent performance on data processing and matrix operation. Compared with the existing research results, the proposed method fully takes into consideration the interaction and feedback relationships between the dimensions and/or attributes, and it uses triangular fuzzy numbers to represent the preference opinions of experts. It helps to make a more accurate and scientific decision.
|The score of alternative D||0.31||0.33||0.36|
The author is very grateful to the editor, Dr. Vasilios Katsikis for his valuable suggestions, and Robert Ulbrich who gives constructive comments and suggestions on English grammar, which have been very helpful in improving the book. This work was supported by “the Fundamental Research Funds for Chinese Central Universities (No. FRF-BR-11-009A)“.