AHP层次分析法java实现
层次分析法(AHP)
美国运筹学家A.L.Saaty于本世纪70年代提出的层次分析法(Analytical Hierar-chy Process,简称AHP方法),是一种定性与定量相结合的决策分析方法。它是一种将决策者对复杂系统的决策思维过程模型化、数量化的过程。
具体的方法介绍在这个ppt上有详细的解释。
PPT:http://files.cnblogs.com/files/mansiisnam/AHP%28%E5%B1%82%E6%AC%A1%E5%88%86%E6%9E%90%E6%B3%95%29%E5%9F%BA%E7%A1%80%E6%95%99%E7%A8%8B.ppt
本例的影响因素有6个,属单层分析。
特征编码为0,1,2,3,4,5。代码:
package crawlerTest; public class Ahq_test {/*** *@author LJ*2016-3-30*/public static void main(String[] args) {// TODO Auto-generated method stubDouble[][] 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; //最大特征跟Rfor(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]);}}}}
运行结果:
转载于:https://www.cnblogs.com/mansiisnam/p/5336677.html
AHP层次分析法java实现相关推荐
- 用AHP层次分析法挑选最佳结婚对象
为了使文章读起来比较有趣,假设屏幕前的你现在中了彩票头奖,奖金5亿RMB.于是你彻底解放不用再写代码啦,天天开辆法拉利到处玩,来给你介绍对象的媒人踏破家门.经过初赛.复赛.泳装.晚装.才艺展示之后,仍 ...
- 【AHP层次分析法python部分实现】
提示:仅用到AHP层次分析法的部分功能因此只完成了python的部分实现 目录 前言 一.AHP是什么? 层次分析法的特点: 层次分析法的原理: 二.使用步骤 参考视频 前言 提示:这里可以添加本文要 ...
- MATLAB AHP AHP层次分析法code 自写代码 完美运行。 权重设计
MATLAB AHP AHP层次分析法code 自写代码 完美运行. 权重设计 ID:5150612144581085YouthOG
- AHP层次分析法(Analytic Hierarchy Process)——个人学习笔记
目录 一.相关知识与例子 二.代码实现 一.相关知识与例子 层次分析法是数学建模过程中最基础的模型之一,主要应用于评价问题.层次分析法是对一些较为复杂.较为模糊的问题作出决策的简易方法,其适用于那些难 ...
- AHP层次分析法在水利中的实践技术应用
原文:AHP层次分析法在水利中的实践技术应用 内容简述: 1.认识 AHP,掌握 AHP 的基本原理,优缺点及建模的步骤.以手算案例的方式,熟 悉层次分析法的计算过程,为后期学习软件夯实理论基础. 2 ...
- AHP层次分析法分析流程
AHP层次分析法分析流程: 一.案例背景 当前有一项研究,想要构建公司绩效评价指标体系,将一级指标分为4个,分别是:服务质量.管理水平.运行成本.安全生产,现在想要确定4个指标的权重. AHP层次分析 ...
- 数学建模之AHP层次分析法
一.定义 层次分析法,简称AHP,是指将与决策总是有关的元素分解成目标.准则.方案等层次,在此基础之上进行定性和定量分析的决策方法.该方法是美国运筹学家匹茨堡大学教授萨蒂于20世纪70年代初,在为美国 ...
- Matlab基于SEIRD模型,NSIR预测模型,AHP层次分析法新冠肺炎预测与评估分析
全文链接:http://tecdat.cn/?p=32175 分析师:Jiahui Zhao 新型冠状病毒肺炎COVID-19 给中国乃至全世界都带来了深重的灾难,对世界经济也造成了不可逆的影响(点击 ...
- AHP层次分析法matlab实现
AHP层次分析法的步骤和matlab实现方法 AHP (Analytic Hierarchy Process)层次分析法是美国运筹学家T. L. Saaty教授于二十世纪70年代提出的一种实用的多方案 ...
最新文章
- VLC 关键模块结构分析
- 又见yx — 说说IT公司的团队头儿
- Matlab R2016a中如何完美运行“mex-setup”
- IE提示console未定义问题解决
- python 归一化 标准化
- c语言图片合并 代码,帮个忙,合并代码
- 聊聊spring cloud gateway的SecureHeadersGatewayFilter
- JS 正则表达式(数字、正则)
- 数学--数论--HDU1222 狼和兔子(最大公约数)
- python内置函数返回序列中最大元素_Python之路(第八篇)Python内置函数、zip()、max()、min()...
- NET Core微服务之路:让我们对上一个Demo通讯进行修改,完成RPC通讯
- mac版crt8.0.2打开无响应怎么办_Mac电脑程序无响应怎么办?教你强制退出无响应程序...
- 空间服务器有问题是系统问题吗,服务器空间租用两个主要问题要留意
- Zygo读取保存dat文件(光学领域知道Zygo的一定要看)
- ORB-SLAM2双目开源框架 (1)
- 剥丝抽茧|阿里面试题解读:MQ消费端遇到瓶颈该怎么办?
- tplink虚拟服务器 tcp,关于TP-Link路由器端口映射详解
- 中岛美嘉 ,经我也想过一了百
- MySQL基础篇 | 连接查询、子查询(嵌套)
- codeforces 616F Expensive Strings
热门文章
- node -v 不是内部或外部命令 也不是可运行的程序 或批处理文件。
- 守护进程(Daemon process)
- 侯捷c++系统工程师:全方位提升技能素养 侯捷C++视频全系列合集
- 联想服务器做完raid找不到硬盘,如何配置磁盘阵列(RAID)
- EDMA 和QDMA
- 最优控制的四种目标函数(二次型最优控制算法等)
- c语言计算2的n次方代码,计算2的N次方........有什么错吗?
- 数学分析教程史济怀练习9.3
- 【第24天】MYSQL进阶-查询优化- performance_schema系列实战一:利用等待事件排查MySQL性能问题(SQL 小虚竹)
- 利用HttpWebRequest和HttpWebResponse获取Cookie并实现模拟登录