学习笔记----层次分析法
层次分析法(MATLAB实现)
- 定义
- 例题
- 步骤
- 细节补充
- 应用实例
定义
层次分析法是指将一个复杂的多目标决策问题作为一个系统,将目标分解为多个目标或准则,进而分解为多指标(或准则、约束)的若干层次,通过定性指标模糊量化方法算出层次单排序(权数)和总排序,以作为目标(多指标)、多方案优化决策的系统方法。
通常用于解决数学建模中的评价类问题。
例题
小明想利用寒假时间外出旅游。在查阅了网上的攻略后,他初步选择了杭州、北戴河和桂林三地作为目标景点。
请你确定评价指标,形成评价体系来帮助小明选择最合适的旅游地点。
步骤
确定评价指标
我们需要考虑什么指标可以作为评价我们旅游地点的理想与否,这个过程可以通过上网搜索相关文献确定或者小组成员的头脑风暴。
经过思考后,小明将景色、费用、住宿、饮食和交通作为此次评价的指标。
如图所示,“旅游”作为我们的目标层,“景色、费用、住宿、饮食和交通”作为我们的决策层,“北戴河、杭州和桂林”则作为我们的方案层。#mermaid-svg-028tRDbHw2t9dax3 .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-028tRDbHw2t9dax3 .label text{fill:#333}#mermaid-svg-028tRDbHw2t9dax3 .node rect,#mermaid-svg-028tRDbHw2t9dax3 .node circle,#mermaid-svg-028tRDbHw2t9dax3 .node ellipse,#mermaid-svg-028tRDbHw2t9dax3 .node polygon,#mermaid-svg-028tRDbHw2t9dax3 .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-028tRDbHw2t9dax3 .node .label{text-align:center;fill:#333}#mermaid-svg-028tRDbHw2t9dax3 .node.clickable{cursor:pointer}#mermaid-svg-028tRDbHw2t9dax3 .arrowheadPath{fill:#333}#mermaid-svg-028tRDbHw2t9dax3 .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-028tRDbHw2t9dax3 .flowchart-link{stroke:#333;fill:none}#mermaid-svg-028tRDbHw2t9dax3 .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-028tRDbHw2t9dax3 .edgeLabel rect{opacity:0.9}#mermaid-svg-028tRDbHw2t9dax3 .edgeLabel span{color:#333}#mermaid-svg-028tRDbHw2t9dax3 .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-028tRDbHw2t9dax3 .cluster text{fill:#333}#mermaid-svg-028tRDbHw2t9dax3 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-028tRDbHw2t9dax3 .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-028tRDbHw2t9dax3 text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-028tRDbHw2t9dax3 .actor-line{stroke:grey}#mermaid-svg-028tRDbHw2t9dax3 .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-028tRDbHw2t9dax3 .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-028tRDbHw2t9dax3 #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-028tRDbHw2t9dax3 .sequenceNumber{fill:#fff}#mermaid-svg-028tRDbHw2t9dax3 #sequencenumber{fill:#333}#mermaid-svg-028tRDbHw2t9dax3 #crosshead path{fill:#333;stroke:#333}#mermaid-svg-028tRDbHw2t9dax3 .messageText{fill:#333;stroke:#333}#mermaid-svg-028tRDbHw2t9dax3 .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-028tRDbHw2t9dax3 .labelText,#mermaid-svg-028tRDbHw2t9dax3 .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-028tRDbHw2t9dax3 .loopText,#mermaid-svg-028tRDbHw2t9dax3 .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-028tRDbHw2t9dax3 .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-028tRDbHw2t9dax3 .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-028tRDbHw2t9dax3 .noteText,#mermaid-svg-028tRDbHw2t9dax3 .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-028tRDbHw2t9dax3 .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-028tRDbHw2t9dax3 .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-028tRDbHw2t9dax3 .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-028tRDbHw2t9dax3 .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-028tRDbHw2t9dax3 .section{stroke:none;opacity:0.2}#mermaid-svg-028tRDbHw2t9dax3 .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-028tRDbHw2t9dax3 .section2{fill:#fff400}#mermaid-svg-028tRDbHw2t9dax3 .section1,#mermaid-svg-028tRDbHw2t9dax3 .section3{fill:#fff;opacity:0.2}#mermaid-svg-028tRDbHw2t9dax3 .sectionTitle0{fill:#333}#mermaid-svg-028tRDbHw2t9dax3 .sectionTitle1{fill:#333}#mermaid-svg-028tRDbHw2t9dax3 .sectionTitle2{fill:#333}#mermaid-svg-028tRDbHw2t9dax3 .sectionTitle3{fill:#333}#mermaid-svg-028tRDbHw2t9dax3 .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-028tRDbHw2t9dax3 .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-028tRDbHw2t9dax3 .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-028tRDbHw2t9dax3 .grid path{stroke-width:0}#mermaid-svg-028tRDbHw2t9dax3 .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-028tRDbHw2t9dax3 .task{stroke-width:2}#mermaid-svg-028tRDbHw2t9dax3 .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-028tRDbHw2t9dax3 .taskText:not([font-size]){font-size:11px}#mermaid-svg-028tRDbHw2t9dax3 .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-028tRDbHw2t9dax3 .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-028tRDbHw2t9dax3 .task.clickable{cursor:pointer}#mermaid-svg-028tRDbHw2t9dax3 .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-028tRDbHw2t9dax3 .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-028tRDbHw2t9dax3 .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-028tRDbHw2t9dax3 .taskText0,#mermaid-svg-028tRDbHw2t9dax3 .taskText1,#mermaid-svg-028tRDbHw2t9dax3 .taskText2,#mermaid-svg-028tRDbHw2t9dax3 .taskText3{fill:#fff}#mermaid-svg-028tRDbHw2t9dax3 .task0,#mermaid-svg-028tRDbHw2t9dax3 .task1,#mermaid-svg-028tRDbHw2t9dax3 .task2,#mermaid-svg-028tRDbHw2t9dax3 .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-028tRDbHw2t9dax3 .taskTextOutside0,#mermaid-svg-028tRDbHw2t9dax3 .taskTextOutside2{fill:#000}#mermaid-svg-028tRDbHw2t9dax3 .taskTextOutside1,#mermaid-svg-028tRDbHw2t9dax3 .taskTextOutside3{fill:#000}#mermaid-svg-028tRDbHw2t9dax3 .active0,#mermaid-svg-028tRDbHw2t9dax3 .active1,#mermaid-svg-028tRDbHw2t9dax3 .active2,#mermaid-svg-028tRDbHw2t9dax3 .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-028tRDbHw2t9dax3 .activeText0,#mermaid-svg-028tRDbHw2t9dax3 .activeText1,#mermaid-svg-028tRDbHw2t9dax3 .activeText2,#mermaid-svg-028tRDbHw2t9dax3 .activeText3{fill:#000 !important}#mermaid-svg-028tRDbHw2t9dax3 .done0,#mermaid-svg-028tRDbHw2t9dax3 .done1,#mermaid-svg-028tRDbHw2t9dax3 .done2,#mermaid-svg-028tRDbHw2t9dax3 .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-028tRDbHw2t9dax3 .doneText0,#mermaid-svg-028tRDbHw2t9dax3 .doneText1,#mermaid-svg-028tRDbHw2t9dax3 .doneText2,#mermaid-svg-028tRDbHw2t9dax3 .doneText3{fill:#000 !important}#mermaid-svg-028tRDbHw2t9dax3 .crit0,#mermaid-svg-028tRDbHw2t9dax3 .crit1,#mermaid-svg-028tRDbHw2t9dax3 .crit2,#mermaid-svg-028tRDbHw2t9dax3 .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-028tRDbHw2t9dax3 .activeCrit0,#mermaid-svg-028tRDbHw2t9dax3 .activeCrit1,#mermaid-svg-028tRDbHw2t9dax3 .activeCrit2,#mermaid-svg-028tRDbHw2t9dax3 .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-028tRDbHw2t9dax3 .doneCrit0,#mermaid-svg-028tRDbHw2t9dax3 .doneCrit1,#mermaid-svg-028tRDbHw2t9dax3 .doneCrit2,#mermaid-svg-028tRDbHw2t9dax3 .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-028tRDbHw2t9dax3 .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-028tRDbHw2t9dax3 .milestoneText{font-style:italic}#mermaid-svg-028tRDbHw2t9dax3 .doneCritText0,#mermaid-svg-028tRDbHw2t9dax3 .doneCritText1,#mermaid-svg-028tRDbHw2t9dax3 .doneCritText2,#mermaid-svg-028tRDbHw2t9dax3 .doneCritText3{fill:#000 !important}#mermaid-svg-028tRDbHw2t9dax3 .activeCritText0,#mermaid-svg-028tRDbHw2t9dax3 .activeCritText1,#mermaid-svg-028tRDbHw2t9dax3 .activeCritText2,#mermaid-svg-028tRDbHw2t9dax3 .activeCritText3{fill:#000 !important}#mermaid-svg-028tRDbHw2t9dax3 .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-028tRDbHw2t9dax3 g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-028tRDbHw2t9dax3 g.classGroup text .title{font-weight:bolder}#mermaid-svg-028tRDbHw2t9dax3 g.clickable{cursor:pointer}#mermaid-svg-028tRDbHw2t9dax3 g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-028tRDbHw2t9dax3 g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-028tRDbHw2t9dax3 .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-028tRDbHw2t9dax3 .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-028tRDbHw2t9dax3 .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-028tRDbHw2t9dax3 .dashed-line{stroke-dasharray:3}#mermaid-svg-028tRDbHw2t9dax3 #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-028tRDbHw2t9dax3 #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-028tRDbHw2t9dax3 #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-028tRDbHw2t9dax3 #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-028tRDbHw2t9dax3 #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-028tRDbHw2t9dax3 #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-028tRDbHw2t9dax3 #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-028tRDbHw2t9dax3 #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-028tRDbHw2t9dax3 .commit-id,#mermaid-svg-028tRDbHw2t9dax3 .commit-msg,#mermaid-svg-028tRDbHw2t9dax3 .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-028tRDbHw2t9dax3 .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-028tRDbHw2t9dax3 .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-028tRDbHw2t9dax3 g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-028tRDbHw2t9dax3 g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-028tRDbHw2t9dax3 g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-028tRDbHw2t9dax3 g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-028tRDbHw2t9dax3 g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-028tRDbHw2t9dax3 g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-028tRDbHw2t9dax3 .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-028tRDbHw2t9dax3 .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-028tRDbHw2t9dax3 .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-028tRDbHw2t9dax3 .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-028tRDbHw2t9dax3 .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-028tRDbHw2t9dax3 .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-028tRDbHw2t9dax3 .edgeLabel text{fill:#333}#mermaid-svg-028tRDbHw2t9dax3 .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-028tRDbHw2t9dax3 .node circle.state-start{fill:black;stroke:black}#mermaid-svg-028tRDbHw2t9dax3 .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-028tRDbHw2t9dax3 #statediagram-barbEnd{fill:#9370db}#mermaid-svg-028tRDbHw2t9dax3 .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-028tRDbHw2t9dax3 .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-028tRDbHw2t9dax3 .statediagram-state .divider{stroke:#9370db}#mermaid-svg-028tRDbHw2t9dax3 .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-028tRDbHw2t9dax3 .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-028tRDbHw2t9dax3 .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-028tRDbHw2t9dax3 .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-028tRDbHw2t9dax3 .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-028tRDbHw2t9dax3 .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-028tRDbHw2t9dax3 .note-edge{stroke-dasharray:5}#mermaid-svg-028tRDbHw2t9dax3 .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-028tRDbHw2t9dax3 .error-icon{fill:#522}#mermaid-svg-028tRDbHw2t9dax3 .error-text{fill:#522;stroke:#522}#mermaid-svg-028tRDbHw2t9dax3 .edge-thickness-normal{stroke-width:2px}#mermaid-svg-028tRDbHw2t9dax3 .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-028tRDbHw2t9dax3 .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-028tRDbHw2t9dax3 .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-028tRDbHw2t9dax3 .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-028tRDbHw2t9dax3 .marker{fill:#333}#mermaid-svg-028tRDbHw2t9dax3 .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;} #mermaid-svg-028tRDbHw2t9dax3 {color: rgba(0, 0, 0, 0.75);font: ;}旅游景色北戴河杭州桂林费用住宿饮食交通构造判断矩阵
指标权重 | 杭州 | 北戴河 | 桂林 | |
---|---|---|---|---|
景色 | ||||
费用 | ||||
住宿 | ||||
饮食 | ||||
交通 |
将此表格填充完整,所得的数据就是我们想要的判断矩阵,如何填写步骤如下:
1.两两比较确定矩阵数值
自主打分完成后,我们可以得到一个 3 ∗ 3 3*3 3∗3的矩阵,记为A,对应元素为 a i j a_{ij} aij,因为 a i j a_{ij} aij > 1 且 >1且 >1且 a i j a_{ij} aij ∗ * ∗ a j i a_{ji} aji = = = 1 1 1,所以该矩阵也叫作正互反矩阵。
例如得到如下表格:
景色 | 杭州 | 北戴河 | 桂林 |
---|---|---|---|
杭州 | 1 | 2 | 1 |
北戴河 | 1/2 | 1 | 2 |
桂林 | 1 | 1/2 | 1 |
我们不难发现,据表所示杭州的风景比北戴河好,和桂林一样好,但是北戴河又比桂林景色好,所以显然这里出现了矛盾。
再对比下面两张表格,
景色 | 杭州 | 北戴河 | 桂林 |
---|---|---|---|
杭州 | 1 | 2 | 4 |
北戴河 | 1/2 | 1 | 2 |
桂林 | 1/4 | 1/2 | 1 |
景色 | 杭州 | 北戴河 | 桂林 |
---|---|---|---|
杭州 | 1 | 2 | 5 |
北戴河 | 1/2 | 1 | 2 |
桂林 | 1/5 | 1/2 | 1 |
很显然,第一张表格数据在逻辑上是完全一致的,于是根据第一张表格所得到的矩阵我们称为一致矩阵,其特点是各行(各列)之间呈倍数关系。但在实际操作中,我们很难做到完全一致(如第二张表格所示),于是我们在计算权重之前,还需要对不一致的矩阵进行一致性检验。
一致性检验
n阶正互反矩阵A为一致矩阵时当且仅当最大特征值 λ m a x \lambda_{max} λmax = n {=n} =n,其余特征值1均为0;且当正互反矩阵A非一致时,一定满足 λ m a x \lambda_{max} λmax > n {>n} >n。判断矩阵越不一致,最大特征值与n相差就越大。
1.计算一致性指标CI
C I = λ m a x − n n − 1 CI=\frac{\lambda_{max}-n}{n-1} CI=n−1λmax−n
2.查找对应的平均随机一致性指标RI
3.计算一致性比例
C R = C I R I CR=\frac{CI}{RI} CR=RICI 如果 C R < 0.1 CR<0.1 CR<0.1,则可认为判断矩阵的一致性可以接受;否则需要对判断矩阵进行修正。计算权重
一致矩阵计算权重:任意选择一列计算,用上图一致矩阵作例可得,
ω 1 = 1 1 + 0.5 + 0.25 , ω 2 = 0.5 1 + 0.5 + 0.25 , ω 3 = 0.25 1 + 0.5 + 0.25 \omega_1=\frac{1}{1+0.5+0.25}, \omega_2=\frac{0.5}{1+0.5+0.25}, \omega_3=\frac{0.25}{1+0.5+0.25} ω1=1+0.5+0.251,ω2=1+0.5+0.250.5,ω3=1+0.5+0.250.25
1.算术平均法
(1)将判断矩阵按照列进行归一化(每个元素除以其所在列的和)
(2)将归一化的各列按行求和
(3)将相加后得到的向量中每个元素除以n可得权重
由于三列数据并不成比例,所以以归一化后的三个值的平均值作为该地对于景色所占的权重,即若判断矩阵A为
A = [ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a n 1 a n 2 ⋯ a n n ] A=\begin{bmatrix} a_{11}&a_{12}&\cdots&a_{1n}\\ a_{21}&a_{22}&\cdots&a_{2n}\\\vdots&\vdots&\ddots&\vdots\\a_{n1}&a_{n2}&\cdots&a_{nn}\end{bmatrix} A=⎣⎢⎢⎢⎡a11a21⋮an1a12a22⋮an2⋯⋯⋱⋯a1na2n⋮ann⎦⎥⎥⎥⎤
则计算权重公式为,
ω i = 1 n ∑ j = 1 n a i j ∑ k = 1 n a k j , ( i = 1 , 2 , . . . , n ) \omega_i=\frac{1}{n}\sum_{j=1}^{n} \frac{a_{ij}}{\sum_{k=1}^{n}a_{kj}} ,(i=1,2,...,n) ωi=n1j=1∑n∑k=1nakjaij,(i=1,2,...,n)
2.几何平均法
(1)按行相乘得到一个新的列向量
(2)将新的响亮的每个分量开n次方根
(3)对该列向量进行归一化即可得到权重向量
即若判断矩阵A为
A = [ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a n 1 a n 2 ⋯ a n n ] A=\begin{bmatrix} a_{11}&a_{12}&\cdots&a_{1n}\\ a_{21}&a_{22}&\cdots&a_{2n}\\\vdots&\vdots&\ddots&\vdots\\a_{n1}&a_{n2}&\cdots&a_{nn}\end{bmatrix} A=⎣⎢⎢⎢⎡a11a21⋮an1a12a22⋮an2⋯⋯⋱⋯a1na2n⋮ann⎦⎥⎥⎥⎤
则计算权重公式为,
ω i = ( ∏ j = 1 n a i j ) 1 n ∑ k = 1 n ( ∏ j = 1 n a k j ) 1 n , ( i = 1 , 2 , . . . , n ) \omega_i=\frac{(\displaystyle\prod_{j=1}^{n} a_{ij})^\frac{1}{n}}{\displaystyle\sum_{k=1}^{n}(\displaystyle\prod_{j=1}^{n} a_{kj})^\frac{1}{n}},(i=1,2,...,n) ωi=k=1∑n(j=1∏nakj)n1(j=1∏naij)n1,(i=1,2,...,n)
3.特征值法
(1)计算矩阵A的最大特征值以及其所对应的特征向量
(2)对求出的特征向量进行归一化,即可得我们想要的权重
算术平均法 | 几何平均法 | 特征值法 | |
---|---|---|---|
杭州 | 0.5949 | 0.5954 | 0.5954 |
北戴河 | 0.2766 | 0.2764 | 0.2764 |
桂林 | 0.1285 | 0.1283 | 0.1283 |
比较三种方法所得权重发现,三种方法所得结果差距很小,但是在数模比赛中可以三种方法都使用后再求均值得到最终权重,以增强可靠性严谨性。
最终,可将所得数据填入表如下图所示,
指标权重 | 杭州 | 北戴河 | 桂林 | |
---|---|---|---|---|
景色 | 0.5954 | 0.2764 | 0.1283 | |
费用 | ||||
住宿 | ||||
饮食 | ||||
交通 |
重复上述步骤可将该表格的二三四列填充完整,第一列数据的判断矩阵由下表构造,
景色 | 费用 | 住宿 | 饮食 | 交通 | |
---|---|---|---|---|---|
景色 | |||||
费用 | |||||
住宿 | |||||
饮食 | |||||
交通 |
- 计算方案得分
完成数据计算后表格如下所示,
指标权重 | 杭州 | 北戴河 | 桂林 | |
---|---|---|---|---|
景色 | 0.2636 | 0.5954 | 0.2764 | 0.1283 |
费用 | 0.4758 | 0.0819 | 0.2764 | 0.1283 |
住宿 | 0.0538 | 0.4286 | 0.2764 | 0.6817 |
饮食 | 0.0981 | 0.6337 | 0.1919 | 0.1429 |
交通 | 0.1087 | 0.1667 | 0.1667 | 0.6667 |
计算杭州最终得分为两三两列数据对应相乘,
= 0.2636 ∗ 0.5954 + 0.4758 ∗ 0.0819 + 0.0538 ∗ 0.4286 + 0.0981 ∗ 0.6337 + 0.1087 ∗ 0.1667 = 0.299 =0.2636*0.5954+0.4758*0.0819+0.0538*0.4286+0.0981*0.6337+0.1087*0.1667=0.299 =0.2636∗0.5954+0.4758∗0.0819+0.0538∗0.4286+0.0981∗0.6337+0.1087∗0.1667=0.299
依次计算出北戴河和桂林的得分分别为0.245和0.455,最终小明选择桂林作为他的旅游地。
细节补充
1、一致矩阵不需要做一致性检验。
2、如果 C R > 0.1 CR>0.1 CR>0.1如何修正?
因为一致矩阵的特点是各行\各列数据成比例,所以…懂吧?
3、层次分析法也有局限性,比如说:评价的决策层越多,即n越大,判断矩阵和一致矩阵差异可能会很大;判断矩阵由自己填入,主观性很大。
4、小技巧:在Excel中,F4可以锁定单元格,为计算带来便利。
应用实例
该篇为学习完清风老师B站层次分析法课程后所记。
特征值为虚数时,应比较其模长 ↩︎
学习笔记----层次分析法相关推荐
- 数学建模学习笔记——层次分析法(评价类,专家打分一般不用)
层次分析法 (1)评价类问题--打分解决 问法--确认评价指标.形成评价体系 亿图图示
- 数模学习笔记-层次分析法(AHP)
作用:解决评价类问题(即哪种方案最好,哪个人的表现最好.....) 解决评价类问题:首先要想到以下三个问题: ① 我们评价的目标是什么? ② 我们为了达到这个目标有哪几种可选的方案? ③ 评价的准则或 ...
- 数学建模模型学习(1)--层次分析法
前面我已经写了两篇博客,是关于matlab基础的,如果没有matlab基础,对于后面这些文章的代码来计算会比较吃力. (一)matlab常用基本语法和函数总结 (二)用matlab求得矩阵的最大特征值 ...
- 数学建模算法总结——04层次分析法
一.层次分析法的应用 题目分类: 评价类(评价.分类.排序) 特征: 合理地将定性与定量的决策结合起来,按照思维.心理的规律把决策过程层次化.数量化. 层次分析法的三大典型应用 (1)用于最佳方案的选 ...
- AHP层次分析法(Analytic Hierarchy Process)——个人学习笔记
目录 一.相关知识与例子 二.代码实现 一.相关知识与例子 层次分析法是数学建模过程中最基础的模型之一,主要应用于评价问题.层次分析法是对一些较为复杂.较为模糊的问题作出决策的简易方法,其适用于那些难 ...
- 层次分析法(AHP)的初步理解(清风建模学习笔记)
层次分析法简介及适用题型: 是建模比赛中最基础的模型之一,其主要用于解决评价类问题(例如:哪种方法最好,哪位运动员参赛,哪位员工表现优秀): 一.模型介绍 一般分为三层,最上面为目标层 ...
- [清风数学建模]层次分析法(AHP)笔记及代码实现
本文章是学习清风老师数学建模视频后所做的笔记,其中一些图片及代码实现来源于清风老师的B站视频: [强烈推荐]清风:数学建模算法.编程和写作培训的视频课程以及Matlab等软件教学_哔哩哔哩_bilib ...
- 【数学建模】清风视频笔记1、层次分析法
层次分析法 主要用于解决评价类问题. 例子: 小明最关心大学里的四个方面(学习氛围-0.4,就业前景-0.3,男女比例-0.2,校园景色-0.1)括号里面的数值表示小明认为的重要性程度(权重,其和为1 ...
- 【数学建模学习】matlab实现评价模型——层次分析法(AHP)
目录 1概述 2算法实现流程 3实例 4matlab实现层次分析法 5计算结果 1概述 层次分析法,简称AHP,是评价模型中的一种算法,指将与决策总是有关的元素分解成目标.准则.方案等层次,在此基础之 ...
最新文章
- 微积分学习笔记四:空间向量基础
- Linux常用测试命令
- 如果刘华强是个码农...
- Vue creatElement
- python自动登录校园网 密码_python实现校园网自动登录的示例讲解
- activity中fragment 返回键不退出_优雅地处理加载中(loading),重试(retry)和无数据(empty)等...
- (学)新版动态表单研发,阶段成果----1
- 计算机英语翻译的典故,中国成语典故英语翻译大全
- 量子计算机算象棋,量子计算机,只需要几个量子,就足以解决国际象棋中n皇后问题!...
- python socket tcp远控_Python3实现ICMP远控后门(中)之“嗅探”黑科技
- java中无法推断类型参数_Java 10中的本地类型推断,或者如果它像鸭子一样嘎嘎叫...
- kl散度的理解_以曲率的视角理解自然梯度优化
- Centos7安装Postgresql 13 详细步骤(远程连接)
- c# webservice的简单示例
- JavaScript强化教程——数组的基本处理函数
- IDEA 使用generator逆向工程生成pojo,mapper
- 博格和他的先锋集团创业史(3): 共同基金的先驱者
- i2c驱动之调用ioctl函数进行读写at24c08
- Redis入门到精通(2021版本)视频教程
- 教你唱千千阙歌,粤语版的
热门文章
- 文件操作之特殊文件操作
- linux版的百度云怎么样,有些人用Linux版百度网盘不限速,有些则速度很慢
- airsim:体验在虚幻世界中“自由飞行”
- Vue响应式原理(defineProperty)
- 网站变灰,6行代码,通通变灰
- EMC电磁兼容测试服务包括
- 云计算发展前景好不好 学了后能胜任哪些岗位
- 马尔可夫决策模型(转)
- linux ibus 快捷键,Ubuntu下ibus-sunpinyin的安装及翻页快捷键设置
- python三级考什么_什么是计算机三级考试?计算机三级考什么?