层次分析法java_AHP层次分析法java实现
packagecrawlerTest;public classAhq_test {/***
*@authorLJ
*2016-3-30*/
public static voidmain(String[] args) {//TODO Auto-generated method stub
Double[][] matrix=new Double[6][6];for(int i=0;i<6;i++){
matrix[i][i]=1.0;
}//数组0,1 位置存放的是影响因素0相对于影响因素1的重要程度 。//0.25代表 影响因素0的重要程度为影响因素1的重要程度的4分之1。
matrix[0][1]=0.25;
matrix[0][2]=0.5;
matrix[0][3]=1.0;
matrix[0][4]=1.0;
matrix[0][5]=0.5;
matrix[1][2]=0.5;
matrix[1][3]=1.0;
matrix[1][4]=2.0;
matrix[1][5]=1.0;
matrix[2][3]=1.0;
matrix[2][4]=0.5;
matrix[2][5]=0.5;
matrix[3][4]=2.0;
matrix[3][5]=1.0;
matrix[4][5]=0.5;//根据输入值填写矩阵剩余项
for(int i=5;i>=0;i--){for(int j=5;j>=0;j--){
matrix[i][j]=1/matrix[j][i];
}
}
Double[] column=new Double[6];for(int j=0;j<6;j++){for(int i=0;i<6;i++){if(column[j]!=null){
column[j]=column[j]+matrix[i][j];
}else{
column[j]=matrix[i][j];
}
}
}//矩阵归一化
Double[][] matrixColumn= new Double[6][6];for(int j=0;j<6;j++){for(int i=0;i<6;i++){
matrixColumn[i][j]=matrix[i][j]/column[j];
}
}//获得行数组
Double[] line=new Double[6];for(int i=0;i<6;i++){for(int j=0;j<6;j++){if(line[i]!=null){
line[i]=line[i]+matrixColumn[i][j];
}else{
line[i]=matrixColumn[i][j];
}
}
}//行归一化获得特征向量
Double[] w=new Double[6];
Double sum=0.0;for(int i=0;i<6;i++){
sum=sum+line[i];
}for(int i=0;i<6;i++){
w[i]=line[i]/sum; //特征向量
}
Double[] bw=new Double[6];for(int i=0;i<6;i++){for(int j=0;j<6;j++){if(bw[i]!=null){
bw[i]=bw[i]+matrix[i][j]*w[j];
}else{
bw[i]=matrix[i][j]*w[j];
}
}
}
Double sumR=0.0; //最大特征跟R
for(int i=0;i<6;i++){
sumR=sumR+bw[i]/(6*w[i]);
}
Double ci=(sumR-6)/(6-1); //矩阵一致性指标
System.out.println("计算出的矩阵一致性指标"+ci+"\n");
Double cr=ci/1.24; //随机一致性比率 1.24为6阶矩阵的平均一致性指标
if(cr>=0.1){
System.out.println("权重设置不合理");
}else{//输出特征向量
for(int i=0;i<6;i++){
System.out.println("特征"+i+"的权重:"+w[i]);
}
}
}
}
层次分析法java_AHP层次分析法java实现相关推荐
- 层次分析法java_层次分析法java实现
做毕设时因为恐惧层次分析法的计算量,所以通过程序实现了. 层次分析法计算过程的程序化实现代码 package e_5_28; /* * author 曾绍涛 * time 2009-5-29 * fu ...
- 怎样计算权重?——层次分析法、熵值法:工具+数据+案例+代码
1权重系数的计算 计算权重是一种常见的分析方法,在实际研究中,需要结合数据的特征情况进行选择,比如数据之间的波动性是一种信息量,那么可考虑使用CRITIC权重法或信息量权重法:也或者专家打分数据,那么 ...
- 基于层次分析法与熵权法的主客观组合赋权模型(原创:小青龙)
基于层次分析法与熵权法的主客观组合赋权模型 组合赋权大家可以尝试进行改变,一个主观一个客观.(原创:小青龙) 简介 权重是用来衡量总体中各单位标志值在总体中作用大小的数值, 用来描述单因子在因子集 ...
- 综合评价分析法:熵权法matlab实现+层次分析法matlab实现
综合评价分析法:熵权法matlab实现+层次分析法matlab实现 层次分析法matlab实现 clc;clear%层次分析法matlab实现A=[1 1/9 1/2 1/4 1/6 9 1 6 5 ...
- ahp层次分析法_层次分析法在历史街区研究中的应用简析
摘要 AHP (Analytic Hierarchy Process)层次分析法通常被运用于解决多目标.多标准.多要素.多层次的非结构化的复杂决策性问题,特别是战略决策性问题,在建筑.规划.风景园林等 ...
- 【论文速递】基于改进层次分析法与熵权法的目标选择模型
[论文原文]:基于改进层次分析法与熵权法的目标选择模型 作者信息: 张指辉,张毅,李健宁 获取地址:https://kns.cnki.net/kcms2/article/abstract?v=3uoq ...
- java 象限分析_四象限分析法
四象限分析法,也叫矩阵分析法,是指将事物(如产品.服务等)的两个重要属性(指标)作为分析的依据,进行分类关联分析,找出解决问题的一种分析方法. 以属性A为横轴,属性B为纵轴,组成一个坐标系,在两坐标轴 ...
- python灰色关联度分析_灰色关联分析法 python
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 本文2290字,预计阅读需10分钟: 关联分析(association anal ...
- 不重不漏的分析方法:MECE分析法
MECE分析法 麦肯锡的巴巴拉·明托(Barbara Minto)顾问在金字塔原理中提到的一个重要原则就是MECE,那么满足MECE的分析方法就是MECE分析法,全称 Mutually Exclusi ...
- 杜邦分析法、漏斗分析法和矩阵关联分析法
数据分析工作涉及到很多的分析方法,比如说杜邦分析法.漏斗分析法以及矩阵关联分析法,这些方法都是能够帮助我们更好地进行数据分析工作.在这篇文章中我们就给大家介绍一下关于杜邦分析法.漏斗分析法和矩阵关联分 ...
最新文章
- sap 导出系统所有的单位_物流单条码识别系统
- JAVA.NET.SOCKETEXCEPTION: TOO MANY OPEN FILES
- linux怎么复制手册,程序员的Linux上手手册(2) - 基础文件操作命令
- apache poi_将HTML转换为Apache POI的RichTextString
- C++ 网络开发工具
- hadoop2.8配置_Hadoop2.8.2安装与配置(单机)
- 中国民企老板要牢记的四句话
- qt和python关系_Python与Qt - AlphaJay的个人空间 - OSCHINA - 中文开源技术交流社区
- linux查找、搜索字符或文件
- 前端界面根据条件动态显示图片
- 机器学习笔记——感知机理解(自行取用,并不一定适合每个人)
- 文本关键词提取算法总结
- VISSIM二次开发(Python)大作业总结1
- TimesTen In-Memory Database
- 南京:全面启用商品房买卖电子合同
- I/O——Spring cache abstraction
- 蓝凌OA系统任意文件读取
- Easy_RL 01:强化学习基础
- SQL-查询最后一条数据
- Simscape物理网络建模的基本原理