This is a completely free tool.
It is hard to get rid of all bugs, and I cannot make guarantee for the functionality of the tool. If you find any bug when using it, please contact with me. I promise that most of the problems (expect those caused only by your computer) could be solved in time.
3. 本工具基于Matlab 2015a GUI开发，因此，你的电脑中可能需要安装Matlab Runtime 2015a，具体请看此页。
This tool is developed based on Matlab 2015a GUI, thus you might need to install Matlab Runtime 2015a in advance. You can refer to this page.
功能介绍 Introduction of Functionality
FAHP is a easy-to-use tool for fuzzy analytical hierarchy process, which is a extension of general AHP. It is used for determining the weights of multiple criteria through pairwise comparison. You can conveniently define a hierarchical structure of multiple criteria, input / import pairwise comparison matrix, implement FAHP or general AHP, acquire and save the results.
AHP might be the most famous method for determining weights of multi-criteria. Recently I knew a more advanced method named FANP, i.e. fuzzy analytic network process. FANP differs with AHP in two aspects, the one is ANP instead of AHP, or saying a network structure instead of a hierarchical structure; the other is ‘F’, representing ‘fuzzy’. Currently we have already got some nice tools: yaahp for general AHP, and SD (super decision) for ANP & general AHP. So I just focus on writing a simple tool for the ‘fuzzy’ parts.
In pair comparison of general AHP, when we believe A is ‘moderately important’ than B, we can use a figure, saying ‘5’ to express the relative importance. That actually means the weight of A is 5 times of the weight of B. However, in FAHP, so-called ‘moderately important’ is a fuzzy conception. Can you explain how important is ‘moderately important’? Five times important might be most typical case, while how about 4 or 6 times important? Four times important is not so small to be judged as just ‘slightly important’, and 6 times is also not so great to be judged as ‘very important’. As a matter of fact, in many cases we are not able to accurately tell that figure. Consequently, it’s better to use a fuzzy interval rather than a fixed number.
In this tool, you could set the result of a comparison to a ‘triangular fuzzy scale’, which is defined by three values, namely lowest possible value, most promising value, largest possible value. For instance, if the relative importance (R.I.) of A compared to B is (4,5,6), then A is more important than B, most likely 5 times important, but other values are also possible. A should be at least 4 times important than B, while at most 6 times important. When a possible R.I. is in the range of 4-6, the further it leaves from 5, the lower its possibility; and beyond the range of 4-6, the possibility of any R.I. is zero. This definition gives us a triangular membership function of fuzzy set.
In this way, you could set fuzzy scales for all pairwise comparisons and then run FAHP. I have to say that although FAHP is more correct theoretically, it is still based on one’s subject judgement. What’s more, it seems that FAHP can not provide any new result that a general AHP could not generate.
视频示例 Demo Video
Following is a example of land use suitability in urban planning illustrating how to use FAHP.
It seems that there exist different algorithms to solve FAHP. This tool will suggest a set of weights summing to one, and calculate the ratios of each two weights, i.e. relative importance (R. I.), then the degree of membership of this R. I. belonging to the fuzzy interval could be generated by triangular membership function. The higher the better.
例如，只有A、B两个准则，A与B相比，相对重要性的模糊区间是（2,3,4）。那么，若A的权重为0.75，B的权重为0.25，二者之比正好为3，完美符合上述区间中最有可能的取值，隶属度为1。若A的权重为0.7，B的权重为0.3，则二者之比为2.333，虽不是最有可能的取值，但毕竟在2~4的区间内，可算得此时的隶属度为：(2.333-2)/(3-2) = 0.333。
Considering a case with only two criteria A and B. A is more important than B with the R. I. falling into fuzzy interval (2,3,4). Therefore, if the weight of A is 0.75 and B 0.25, then the ratio of 0.75 to 0.25 is exactly 3, just the same with the most promising value of the fuzzy scale, so the degree of membership is 1 (perfect); on the other hand, if the weight of A is 0.7 and B 0.3, then the ratio of 0.7 to 0.3 is 2.333, not exactly 3 but still between 2 to 4, now the degree of membership is (2.333-2)/(3-2) = 0.333.
When we have more than 2 criteria, we get multiple fuzzy scales of pairwise comparisons. The minimum degree of membership of all comparisons would be regarded as the consistency index of the whole model. Consequently, the finally object is to find a set of weights summing to 1, which maximize the minimum degree of membership.
Such a problem could be converted to a nonlinear program with constrains, which could be solved by fmincon in Matlab.