层次分析法一般多用于难以定量分析的问题中,常常面对的是受众多因素影响的而又缺乏定量数据的系统。但是目前常用于数据挖掘领域中计算各因素的权值,然后再进一步与其他数据相结合进行排序。
这里给出一种使用JAVA实现层次分析法的代码。
public class AHPComputeWeight {
/**
* @param args
*/
public static void main(String[] args) {
/** a为N*N矩阵 */
double[][] a = new double[][] { { 1 ,1.8, 2.2, 1 },
{ 0.6, 1, 3, 1.7 },
{ 0.4 ,0.3, 1 ,0.5 }, { 1 ,0.5, 2, 1 }
};
int N = a[0].length;
double[] weight = new double[N];
AHPComputeWeight instance = AHPComputeWeight.getInstance();
instance.weight(a, weight, N);
System.out.println(Arrays.toString(weight));
}
// 单例
private static final AHPComputeWeight acw = new AHPComputeWeight();