【数学建模】层次分析法AHP(评价与决策)
生活随笔
收集整理的這篇文章主要介紹了
【数学建模】层次分析法AHP(评价与决策)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 一、算法介紹
- 二、適用問題
- 三、算法總結
- 1. 步驟
- 2. 如何構建層次結構模型
- 3. 如何構建成對比較矩陣
- 4. 如何進行一致性檢驗
- 四、應用場景舉例(旅游問題)
- 1. 建模
- 2. 構造成對比較矩陣
- 3. 執行代碼獲得權重
- 4. 計算決策層對總目標的權值
- 5. 根據權重進行決策
- 五、MATLAB代碼
- 六、實際案例
- 七、論文案例片段(待完善)
層次分析法主要針對數學建模問題中的一些小的子問題進行求解,如果想直接使用請跳轉至——四、五
視頻回顧
一、算法介紹
? 根據問題的性質和要達到的總目標,將問題分解為不同的組成因素,并按照因素間的相互關聯影響以及隸屬關系將因素按不同層次聚集組合,形成一個多層次的分析結構模型,從而最終使問題歸結為最低層(供決策的方案、措施等)相對于最高層(總目標)的相對重要權值的確定或相對優劣次序的排定。
二、適用問題
- 面臨多種方案時需要一定的標準選擇某一種方案:
- 例如:
三、算法總結
1. 步驟
2. 如何構建層次結構模型
? 將決策的目標、考慮的因素(決策準則)和決策對象按它們之間的相互關系分為最高層、中間層和最低層,繪出層次結構圖。
? 最高層:決策的目的、要解決的問題。
? 最低層:決策時的備選方案。
? 中間層:考慮的因素、決策的準則。
- 例如:
3. 如何構建成對比較矩陣
? 成對比較矩陣是表示本層所有因素針對上一層某一個因素的相對重要性的比較。成對比較矩陣矩陣的元素aij用Santy的1一9標度(一致矩陣法)方法給出。
- 標度表:
- 例如:
4. 如何進行一致性檢驗
四、應用場景舉例(旅游問題)
1. 建模
構建模型
2. 構造成對比較矩陣
查閱相關知識,咨詢相關領域專家意見得到成對比較矩陣
3. 執行代碼獲得權重
4. 計算決策層對總目標的權值
5. 根據權重進行決策
五、MATLAB代碼
disp('請輸入判斷矩陣A(n階)'); A=input('A='); [n,n]=size(A); x=ones(n,100); y=ones(n,100); m=zeros(1,100); m(1)=max(x(:,1)); y(:,1)=x(:,1); x(:,2)=A*y(:,1); m(2)=max(x(:,2)); y(:,2)=x(:,2)/m(2); p=0.0001;i=2;k=abs(m(2)-m(1)); while k>pi=i+1;x(:,i)=A*y(:,i-1);m(i)=max(x(:,i));y(:,i)=x(:,i)/m(i);k=abs(m(i)-m(i-1)); end a=sum(y(:,i)); w=y(:,i)/a; t=m(i); disp(w);%以下是一致性檢驗 CI=(t-n)/(n-1);RI=[0 0 0.52 0.89 1.12 1.26 1.36 1.41 1.46 1.49 1.52 1.54 1.56 1.58 1.59]; CR=CI/RI(n); if CR<0.10disp('此矩陣的一致性可以接受!');disp('CI=');disp(CI);disp('CR=');disp(CR); end六、實際案例
A1=[1, 1/2, 4, 3, 3;2, 1, 7, 5, 5;1/4, 1/7, 1, 1/2, 1/3;1/3, 1/5, 2, 1, 1;1/3, 1/5, 3, 1, 1;]B1=[1,2,5; 1/2,1,2; 1/5,1/2,1;]B2=[1,1/3,1/8; 3,1,1/3; 8,3,1;]B3=[1,1,3; 1,1,3; 1/3,1/3,1;]B4=[1,3,4; 1/3,1,1; 1/4,1,1;]B5=[1,1,1/4;1,1,1/4;4,4,1;]七、論文案例片段(待完善)
總結
以上是生活随笔為你收集整理的【数学建模】层次分析法AHP(评价与决策)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Python】学习笔记总结(第二阶段(
- 下一篇: 【数学建模】多属性决策模型(评价与决策)